묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
DummyClient.PlayerInfoReq.Write()의 동작 원리 중 질문이 있습니다.
SendBufferHelper를 통해 Open만 해줬을 뿐인데 어떻게 s가 ThreadLocalStorage에 있는 SendBuffer의 _buffer 값에 접근을 할 수 있는지 궁금합니다. 다시 말해 s는 분명 구조체 타입이고, TryWriteBytes로 s에 패킷 데이터를 밀어 넣어준 다음에 SendBufferHelper.Close를 했는데, 어떻게 s의 정보가 ThreadLocalStorage에 있는 SendBuffer의 _buffer에도 남아 있는지 궁금합니다. 디버깅을 찍어보니깐 SendBuffer.Close()가 호출이 될 때, 새롭게 생성한 ArraySegment의 인자로 들어가는 _buffer 값이 s의 값이더라구요. 패킷의 데이터를 실제로 넣은 곳은 s인데 어떻게 ThreadLocalStorage에 있는 SendBuffer의 _buffer 값에도 영향을 주는 것인지.. ArraySegment가 class 타입이면 SendBufferHelper.Open으로 생성한 ArraySegment 를 참조해서 가능하겠거니 이해가 되겠는데 struct 타입이라 도저히 이해가 되지 않아요..ㅠ 어떤 마법과도 같은 일이 있었는지 알려주시면 감사하겠습니다 :D
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
이거는 왜 뜨는 건가요??ㅠㅠ
utocomplete-python traceback output: Traceback (most recent call last): File "C:\Users\user\.atom\packages\autocomplete-python\lib\completion.py", line 8, in <module> 찾아서 열어보면 line 8에 jedi를 찾을 수 없다라고 하던데요....
-
미해결
Through eBay Customer Service, fix the technical issue
Is there any sign in issues with eBay account? Not able to add more accounts to the eBay account? With eBay Customer Service, all the technical errors will be rectified immediately. The tech support team will handle every issue in no time. You can talk directly to the professionals for more help.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
반복문 초기값 조건식
타임리프에서 jstl의 foreach 처럼 시작값 끝값 설정은 할 수 없나요??
-
미해결
Immediately converse with Chime Customer Service executives:
If you are chime users and having issues in accessing your app then immediately initiate to converse with the Chime Customer Service executives. They are available round the clock to help their customers to listen to them and fix the unexpected situations they face, unfortunately. They implement the latest techniques to resolve the Chie tech issues and enable their customers to know more about the online payment app.
-
미해결게임 프로그래머 취업 전략 가이드
책 추천해주실 수 있나요?
전공서적 말고 책 추천해주실 수 있나요? 어떤 책이든 상관없어요.
-
미해결스프링 핵심 원리 - 기본편
롬복 설정 후 build.gradle 오류
강의에서 나온대로 build.gradle설정을 변경 후 reload all gradle projects 버튼을 누른 후 이런 오류 메시지가 뜨는데 어떻게 해결해야 하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@webServelte name 속성
안녕하세요~ 강의 너무 잘 듣고 있습니다. @WebServlet name 속성에 대해서 궁금한 점이 있습니다. 영한님이 하신 거를 보면 클래스명과 name을 일치 시키셨는데, 일치를 안 시켜도 동작하는데는 문제가 없었습니다. name이 말그대로 서블릿의 이름을 지어주는 건데, 이 name 속성도 특별한 역할이 있나요? 왜 이런 질문을 드리냐면, 이전의 스프링 기본 원리 강의에서 @Bean은 이름을 따로 지정해서 구분해줬던 거로 기억하고 있어서요~
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
톰캣 서버에서 두 프로젝트가 나타나지 않는 현상
MiniPrjoectJava, MiniPrjoectXML 둘다 설정해준 다음에 톰캣에서 Add Web Module로 등록하려니 뜨지가 않더군요. 톰캣 버전을 8.5 에서 9 버전껄로 바꾸니까 정상적으로 되더군요.
-
미해결Vue.js 제대로 배워볼래?(Vue.js 프로젝트 투입 일주일 전)
<router-view/>의 빨간 줄
<router-view/>의 빨간 줄 왜 생기는 건가요? 교육 영상에서도 나오던데.. 실행하는 대는 문제는 없습니다만 이유가 무엇인가요? 제거하는 방법은 없나요?
-
미해결스프링 시큐리티
서버 기동 후 루트 접근 시 `/` AccessDeniedException 질문입니다
예제에서는 DB 리소스 설정 이후에도루트접근이 가능해 보이는데, 저의경우는 접근이 불가능합니다 아래 이미지는 서버 기동 직후, 브라우저를 통해 루트 접근시차단이 되는 부분에 BreakPoint 를 잡아 캡쳐했습니다. 익명 사용자의 경우에 허용되어야 할 `/` 웹 루트 경로가Denied 되는 것은 어느 부분이 문제일까요.. DB 연동은 잘 처리가 되었으나 이부분에서 막힙니다.특별히 설정을 바꾼것이 없는데DB 연동 처리 이후, 계속 여기서 부터 막힙니다.어느 부분부터 살펴봐야 해결이 될까요..? 혹시 정상인가요?( 지난 강의 돌려보다가 문뜩 생각이 듭니다) 혹제 제가 놓친부분에 대해 조언을 구합니다.읽어주셔서 감사드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send 에 lock걸어 주는 것에 질문있습니다.
wsasend가 멀티쓰레드환경을 보장하지 않아 lock을 걸어준다고 하셨는데 어떤부분을 보장하지 않는 건가요? 버퍼문제라면 혹시 이번 수업의 코드는 임시로 event마다 독립적인 버퍼를 가지게 했으니 lock을 안걸어주어도 되나요? wsarecv 는 멀티쓰레드환경에서 문제가 발생하지 않나요?
-
미해결스프링 기반 REST API 개발
ACCOUNT POSTMAN 테스트시 질문입니다(ACCOUNTROLE관련)
회원가입을 POST로 처리하려고 하는데요. 예제외 동일하게 구현을 하였습니다. account 모델 @Enumerated(value = EnumType.STRING) @ElementCollection(fetch = FetchType.EAGER) private Set<AccountRole> roles; 위 부분의 사용법이나 어노테이션의 의미는 인지를 했습니다. 제가 궁금한건 User를 상속해서 구현한 객체 반환하지 않고, 일반 event 컨트롤러에서 insert를 한 것 처럼 테스트를 하고 싶습니다. 아래는 컨트롤러 소스구요 @PostMapping public ResponseEntity createAccount(@RequestBody @Valid AccountDto accountdto ,Errors errors) { Account account = modelMapper.map(accountdto, Account.class); Account newAccount = accountRepository.save(account); WebMvcLinkBuilder selfLinkBuilder = linkTo(AccountController.class).slash(newAccount.getId()); URI createdUri = selfLinkBuilder.toUri(); AccountResource eventResource = new AccountResource(account); eventResource.add(linkTo(AccountController.class).withRel("query-account")); eventResource.add(selfLinkBuilder.withRel("update-account")); eventResource.add(new Link("/docs/index.html#resources-account-create").withRel("profile")); return ResponseEntity.created(createdUri).body(eventResource); } localhost:8080/api/account/createAccount { "email" : "test@gmail.com" , "password" : "1234" , "roles" : "USER" } 위 주소로 post를 보내면 결과는 아래와 같이 나옵니다. { "timestamp": "2021-08-11T09:12:21.817+00:00", "status": 400, "error": "Bad Request", "trace": "org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`)\n at [Source: (PushbackInputStream); line: 4, column: 17] (through reference chain: com.ws.web.account.AccountDto[\"roles\"])\r\n\tat org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:389)\r\n\tat org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:342)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:185)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:160)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:133)\r\n\tat org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:170)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.base/java.lang.Thread.run(Thread.java:832)\r\nCaused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`)\n at [Source: (PushbackInputStream); line: 4, column: 17] (through reference chain: com.ws.web.account.AccountDto[\"roles\"])\r\n\tat com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)\r\n\tat com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1601)\r\n\tat com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1375)\r\n\tat com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1322)\r\n\tat com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:392)\r\n\tat com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromString(CollectionDeserializer.java:326)\r\n\tat com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250)\r\n\tat com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28)\r\n\tat com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)\r\n\tat com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:402)\r\n\tat com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:195)\r\n\tat com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)\r\n\tat com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4593)\r\n\tat com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3601)\r\n\tat org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:378)\r\n\t... 51 more\r\n", "message": "JSON parse error: Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`)\n at [Source: (PushbackInputStream); line: 4, column: 17] (through reference chain: com.ws.web.account.AccountDto[\"roles\"])", "path": "/api/account/createAccount" } 하지만 roles를 제거하고 테스트하면 { "email" : "test@gmail.com" , "password" : "1234" } { "id": 1, "email": "test@gmail.com", "password": "1234", "roles": null, "_links": { "self": { "href": "http://localhost:8080/api/account/1" }, "query-account": { "href": "http://localhost:8080/api/account" }, "update-account": { "href": "http://localhost:8080/api/account/1" }, "profile": { "href": "/docs/index.html#resources-account-create" } } } 정상적으로 출력이 됩니다 왜저러는 걸까요..? Cannot deserialize value of type `java.util.HashSet<com.ws.web.account.AccountRole>` from String value (token `JsonToken.VALUE_STRING`); 이 부분때문인 것 같은데 테스트시 어떻게 해야될 지 모르겠습니다. 도움주시면 감사드리겠습니다!
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
질문있습니다.
안녕하세요 강사님 질문1. channel 컴포넌트의 const isReachingEnd = isEmpty || (chatData && chatData[chatData.length - 1]?.length < 20) || false; 여기서 console.log('chatData?.[chatData.length - 1]?.length:', chatData?.[chatData.length - 1]?.length); 이렇게 콘솔로 찍어보면 chatData?.[chatData.length - 1]?.length 가 첫번째 배열객체 개수가 20개 두번째 배열객체의 갯수가 2개로 나옵니다. 즉 따로따로 나오고 둘을 합쳤다는 코드가 없어서 각각 20개를 넘지 않는데 어떻게 isReachingEnd가 20개를 넘어 true가 되는건지 궁금합니다! 직접실행해보면 true가 되지만 왜 그렇게 되는지 궁금합니다. 둘을 더해주는 코드가 없는데 말이죠.. 질문2. 개발자 콘솔 application에 있는 쿠키는 서버에서 쿠키를 만들어준게 표시된건가요 아니면 서버에서 프론트로 쿠키를 보내어 프론트 브라우저에 있는 쿠키를 나타낸것인지 궁금합니다! 질문 3. <Chats> <Switch> <Route path="/workspace/:workspace/channel/:channel" component={Channel} /> <Route path="/workspace/:workspace/dm/:id" component={DirectMessage} /> </Switch> </Chats> 이 코드에서는 channel 이나 DirecMessage컴포넌트에 해당 주소로 들어갔을 경우 저 컴포넌트로 이동시킨다는 의미로 이해했는데 제가 이해한게 맞는지 궁금합니다..
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
선생님 loc 질문있습니다!
빅데이터 분석가가 꿈인 학생입니다 선생님 강의 너무 쉽게 잘가르쳐 주셔서 항상 감사드립니다. 선생님 밑에서 loc["2018"]로 출력하면 왜 오류가 나나요?? 그리고 멀티인덱스가 ["연도", "지역명"] 이런식으로 여러 칼럼이 지정되어있는거도 멀티인덱스라고 하나요?? 저는 이때까지 멀티인덱스가 [["연도"]] 이런식으 된거만 멀티인덱스라고만 생각했거든요 ㅠ
-
미해결[React 1부] 만들고 비교하며 학습하는 React
이 부분 문법이 이해가 안갑니다.
<ul> ${Object.values(TabType) .map((tabType)=>({tabType, tabLabel: TabLabel[tabType]})) //이 부분 문법이 이해가 안갑니다.. .map(this._getTab) .join("") } </ul> tabLabel: TabLabel[tabType] 부분이 어떻게 동작하는지 ... 이해가 안갑니다 map과 join은 이해가 되는데 저부분은 무슨 문법일까요..??
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
얼굴 인식 정확도
교수님 안녕하세요! 얼굴 인식 하고있는데 이게 정확도가 너무 떨어져요ㅜㅜ 뭐가 문제가 있는건지 한 사람 정해서 30장 이상 인코딩 피클파일 만들었는데 다른 사람들까지도 none으로 인식하더라구요... 어떻게 해결하면 좋을지 조언 부탁드려요....!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일: 대상 테이블에 외래 키 단방향 관계를 JPA가 지원하지 않는 이유?
안녕하세요 강사님. 그림으로만 봐서는 일대다 단방향과 비슷한 것 같은데, 왜 일대일: 대상 테이블에 외래 키 단방향 은 JPA가 지원하지 않는지 이해가 잘 안됩니다😭 일대다 단방향 일대일: 대상 테이블에 외래 키 단방향
-
미해결인터랙티브 웹 개발 제대로 시작하기
setTimeout의 리턴
안녕하세요 setTimeout 함수가 0.5초 뒤에 실행되도록 설계되어있는데, setTimeout의 리턴값은 이에 상관없이 바로 리턴되는 건가요? 아니면 리턴도 0.5초 뒤에 되는 건가요?
-
미해결스프링 핵심 원리 - 기본편
자동 주입을 할 수 없습니다오류..
안녕하세요 수업을 열심히 듣고있는 학생입니다다름이 아니라 ComponentScan을 사용하여 빈등록을 하고 OderServiceImpl 에 @Autowired 자동주입 애노테이션을 붙혔을때 오류가 생깁니다 DiscountPolicy 유형의 disCountPolicy 빈이 등록되는 곳이 1. AppConfig.java 에서의 수동 빈등록2. RateDisCountPolicy.java 에서의 @Component 를 통한 빈 등록입니다.AutoAppConfig 에서는 excludeFilters를 잘 적용되어 있습니다 혹시 어떤 문제가 있어 오류가 나는 건지 의심가시는 부분이 있으시면 알려주시면 감사하겠습니다.