묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 8분 25초 쯤 말씀하신 실제할당하는 부분이 구현체를 의미한다 이런 표현이 무슨 말인지 모르겠습니다... 어떤 부분이 문제인지 조금 쉽게 설명해주실 수 있을까요? 감사합니다!
-
미해결스프링 핵심 원리 - 고급편
@Around 오류
@Around에서 리턴값을 바꾸면 ClassCastException이 발생합니다. Controller에 aop를 적용해서 target controller는 String을 반환하게 했고 advice에서는 ResponseEntity를 반환하게 설정했는데요... 다음과 같은 오류가 발생합니다.. 디버깅을 찍어봐도 이유를 모르겠습니다. 원인이 무엇인지 알려주시면 감사하겠습니다!!! org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: class org.springframework.http.ResponseEntity cannot be cast to class java.lang.String (org.springframework.http.ResponseEntity is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap') at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:199) at com.github.rere950303.apiutil.aspect.ResponseApiAspectTest.methodName(ResponseApiAspectTest.java:71) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: java.lang.ClassCastException: class org.springframework.http.ResponseEntity cannot be cast to class java.lang.String (org.springframework.http.ResponseEntity is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap') at com.github.rere950303.apiutil.aspect.ResponseApiAspectTest$TestController$$EnhancerBySpringCGLIB$$8953dbd8.test2(<generated>) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ... 78 more
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberRepository인터페이스 사용이유
안녕하세요~ 궁금한 부분이 있어서용.. 회원서비스테스트< 강의에서 MemberService클래스에서 MemberRepository memberRepository = new MemoryMemberRepository(); 이런식으로 사용하던데 MemoryMemberRepository memberRepository = new MemoryMemberRepository(); 이걸안하고 위의 방식으로 하는 이유가 먼지 궁금합니당..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 주문시 에러가 발생합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery 어떤 부분에서 문제가 생기는지 못찾아서 전체 파일 첨부합니다.. https://drive.google.com/drive/folders/1I0oUU741fn4nApLLQ-e_16pY0H-dywyz?usp=sharing
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
migrate 시 conflicting 에러가 나는 이유를 알고 싶습니다.
instagram 앱을 생성해서 models.py에 Tag, Post 모델을 만들고 makemigration까지 잘 진행됐습니다. 그리고 migrate instagram을 진행하는데 갑자기 accounts의 migration 파일들(0003_user_avatar, 0003_user_profile)과 충돌한다는 CommandError가 발생했습니다. showmigration 결과, accounts [X] 0001_initial [X] 0002_user_gender_user_phone_number [X] 0003_user_avatar [ ] 0003_user_profileadmin [X] 0001_initial [X] 0002_logentry_remove_auto_add [X] 0003_logentry_add_action_flag_choicesauth [X] 0001_initial [X] 0002_alter_permission_name_max_length [X] 0003_alter_user_email_max_length [X] 0004_alter_user_username_opts [X] 0005_alter_user_last_login_null [X] 0006_require_contenttypes_0002 [X] 0007_alter_validators_add_error_messages [X] 0008_alter_user_username_max_length [X] 0009_alter_user_last_name_max_length [X] 0010_alter_group_name_max_length [X] 0011_update_proxy_permissions [X] 0012_alter_user_first_name_max_lengthcontenttypes [X] 0001_initial [X] 0002_remove_content_type_nameinstagram [ ] 0001_initialsessions [X] 0001_initial accounts의 user_profile은 적용이 안돼 있는 것을 확인했는데 이걸 삭제하고 migrate instagram을 진행하면 될까요? (섣불리 지우기가 무섭네요..ㅎㅎ;;) P.S. 혹시 accounts앱의 적용되지 않은 migration문제가 맞다면, 전혀 다른 instagram앱에서 migrate를 진행해줬는데 왜 accounts 앱의 migrated되지 않은 migration 파일이 문제를 일으키는지 말씀해주실 수 있나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
헷갈려서 질문드려요
여러번 말씀하신내용인데 죄송하지만 setting/ 폴더가 핫리로딩까지 세팅된거라고 하셨는데.. 세팅연습하려면 setting/에서 하면된다고 하신걸로 들었는데 제가 이해한게맞나요? 그리고 핫리로딩까지 세팅 건너뛰고 시작하려면 alecture/ 에서 하면되는건가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
설치기본 환경설정에서 script가 없습니다.
atom에서 script를 설치하라고 하시는데 atom에서 script가 없어서 무엇을 설치해야되는지 잘모르겠습니다. 다른 packages를 설치해야한다면 뭘 설치해야할까요?
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
다음달에 부트캠프시작하는 코린이 입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 제가 다음달 부터 부트캠프를 시작합니다. 제가 원래는 독학으로 하려고 했는데 혼자서 하다가는 도저히 내년에 취업은 힘들거 같고 또 소수인원으로 하고 강사님이 상담때 제가 우려했던것들을 다 대답해주셔서 다음달에 하는 부트캠프를 신청하게됬습니다. 근데 제가 지금 우려되는게 지금 개발이 완전 처음인 상태로 수업을 들으면 2~30퍼센트밖에 못건질거 같아서 부트캠프를 수료해도 취업이 어려울거 같은 느낌이 듭니다 . 그래서 강사님은 학원수업을 들을때 그날 배운게 무엇인지 모를 때는 어떻게 하셨었나요? 그리고 가기전에 어떤 준비를 해놔야 그래도 따라가기는 할가요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
WSL 환경
WSL에서 Ubuntu 20.04.4 LTS을 설치중인데, 제가 라이젠 CPU를 사용하고 있습니다. 그럼 강의 실습하는데 문제가 있을까요?
-
미해결Arnold Renderer for Maya Basic
닫힌 공간과 조감도
조감도 처럼 외형만 렌더링을 하는 경우에도 닫힌 공간을 만들고 하시나요? 하신다면 완성까지 작업 파이프라인 설명도 부탁드릴게요 ^^
-
해결됨그림으로 쉽게 배우는 운영체제
레지스터 관련
안녕하세요. 강의 듣던 중 궁금한 점이 생겨 남기게 되었습니다. 운영체제 역사 - 베이스 레지스터 메모리 주소 - 경계 레지스터, 재배치 레지스터 1) 각 강의에서 언급되는 레지스터에 대해서 베이스 레지스터와 재배치 레지스터는 용어는 다르지만 같은 레지스터로 생각되는데 맞는 부분일까요? 2) 경계레지스터는 운영체제 영역의 침범을 막기 위한 레지스터라고 하셨는데 경계 레지스터는 위의 베이스, 재배치 레지스터와는 다른 레지스터고 운영체제의 첫 시작 물리 주소는 0x0이니까 마지막 끝에 존재하는 주소값이 담겨 있는 거라고 보면 될까요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.set, app.get
app.set()으로 포트를 설정하고 app.get()으로 설정한 포트번호를 가져오는것은 이해가 가는데 app.get('/',(req,res) => { }여기서 사용하는 get과 위의 get은 다른 메서드인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MemberRepository에 private 이유
MemberRepository에 private인 이유가 궁금합니다.
-
미해결예제로 배우는 스프링부트 입문
스프링 버전 관리 관련하여 문의드립니다.
안녕하세요. 선생님 궁금한게 있어 질문드립니다. pom.xml에서 관리되는 써드 파티 라이브러리의 경우 권장 버전을 알 수 있는 방법이 있을까요? 예를 들어 스프링3 버전에 스프링5 버전에서 사용하는 최신 log4j 라이브러리를 사용하면 문제가 있을 수 있는 것처럼 각 스프링 버전에 맞는 써드파티 라이브러리 버전을 알 수 있는 방법이 있는지 궁금합니다. maven repository 사이트에서도 전체 버전만 나와있고 스프링 버전에 따른 권장 버전은 따로 없는 것 같아서 궁금합니다. 감사합니다.
-
미해결배달앱 클론코딩 [with React Native]
app,ios 배포 질문이요
지금까지 했던 버전,코드푸시 자동업데이트 후 app store connext, console에는 수동으로 버전 업데이트 배포를 해주어야하나요??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
책에 페치 조인 대상에는 별칭을 줄수 없다. 라고 나와서 궁금증이 생겼어여
책 381쪽에 보면 페치 조인 대상에는 별칭을 줄 수 없다라고 나오고, 대신 하이버네이트같은 몇몇 구현체는 지원해 준다고 나와있더라구요 "select distinct o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", 위와 같은 JPQL에서 o.orderItems 과 페치조인하고 oi로 별칭을 주었는데, 이 별칭을 활용하여 join fetch oi.item i 처럼 또 페치조인을 하는데... JPA에서 공식 스펙은 아니지만 하이버네이트가 잘 지원해주는 것 맞나요? 최종 질문은 저렇게 페치조인 대상에 별칭주고 거기서 또 페치조인해서... 잘 써도 되는지 궁금합니다. JPA의 공식스펙이 아닌것 같은데 문제없이 동작하는지.. (위 같은 경우는 당연 일대일이나 다대일에서만 쓸것입니다)
-
미해결실전! 스프링 데이터 JPA
GeneratedValue 공유 및 left join 질문
안녕하세요! 유익한 강의 잘 보고 있습니다. Native Query 테스트하는 중에 궁금한 점이 있어서 질문드립니다. @GeneratedValue 는 다른 Entity 끼리 공유하는건가요? Team을 2개 생성하고 Member를 생성하는데 아래 테스트 코드에서 보면 Member의 GeneratedValue 값이 1이 아니라 3부터 시작합니다. NativeQuery에서 left join을 할 때 join 조건을 주고 싶은데 Team entity의 name은 어떻게 접근해야 할까요? @Query(value = "select m.member_id as id, m.name as name, t.name as teamName from member m left join team t ", nativeQuery = true, countQuery = "select count(*) from member") 이 쿼리를 쓰면 full join이 되서 12개의 row가 검색됩니다. on 조건이나 where 절에서 m.teamName = t.name 의 조건을 주고 싶으면 m.teamName 이라는 값을 어떻게 가져와야 하나요 ? createdDate, updatedDate를 BaseEntity로 분리하면 @ToString(of = "createdDate, updatedDate") 에서 사용할 수 없는건가요 ? public class Member extends BaseEntity { @Id@GeneratedValue @Column(name = "member_id") private Long id; private String name; private String sex; private Integer age; private String city; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; public Member(String name, String sex, Integer age, String city, Team team) { this.name = name; this.sex = sex; this.age = age; this.city = city; if(team != null) changeTeam(team); } // 양방향 연관관계 한번에 처리(연관관계 편의 메소드) public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); } } public class Team { @Id @GeneratedValue @Column(name = "team_id") private Long id; @NonNull private String name; @OneToMany(mappedBy = "team") List<Member> members = new ArrayList<>(); } @Test public void nativeQuery() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); teamRepository.save(teamA); teamRepository.save(teamB); memberRepository.save(new Member("1", "남자", 18, "서울", teamA)); memberRepository.save(new Member("2", "남자", 19, "경기", teamA)); memberRepository.save(new Member("3", "여자", 20, "부산", teamB)); memberRepository.save(new Member("4", "여자", 21, "울산", teamB)); memberRepository.save(new Member("5", "남자", 22, "포항", teamA)); memberRepository.save(new Member("6", "여자", 23, "전주", teamA)); Member selectedMember = memberRepository.findNativeQueryByName("2"); assertThat(selectedMember.getName()).isEqualTo("2"); Page<MemberProjection> page = memberRepository.findByProjection(PageRequest.of(0, 20)); List<MemberProjection> content = page.getContent(); System.out.println("==============================="); teamRepository.findAll().forEach(System.out::println); System.out.println("==============================="); memberRepository.findAll().forEach(System.out::println); System.out.println("==============================="); for(MemberProjection mp : content){ System.out.println("[ id = " + mp.getId() + ", name = " + mp.getName() + ", teamName = " + mp.getTeamName() + "]"); } }
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
let으로 구조분해할당을 했을 때 궁금한 점이 생겼습니다!
else if (input === '3') { // 도망 let { monster } = this; monster = null; this.updateMonsterStat(); this.changeScreen('game'); this.showMessage(`무사히 ${this.monster.name}에게서 도망쳤습니다!`); } 위와 같은 코드에서 this.updateMonsterStat()을 하면 텍스트를 지워주지 않는 것인지 궁금합니다! 배틀 부분에서 도망을 구현하고 있었습니다. 근데 습관적으로 구조분해할당을 const로 하고 monster를 null로 바꾸려고 하니 오류가 발생했습니다. 그래서 아무 생각 없이 let으로 구조분해할당을 했습니다. 그런데 여기서 monster = null을 한뒤 this.updateMonsterStat()을 했을 때 당연히 맨 아래 몬스터에 관련된 텍스트가 지워질 줄 알았는데, 지워지지 않았습니다. 그래서 monster.hp -= 10을 해봤더니 이거는 또 동작을 해서 혼란스럽습니다... 이 부분은 어떠한 문제가 있는 건가요??
-
미해결배달앱 클론코딩 [with React Native]
React Native iOS SSL 통신 오류 문의 드립니다.
sslTest() { var url = 'https://test.com/mainlist' return new Promise((resolve, reject) => fetchSSL(url, { method: "GET" , timeoutInterval: 3000, // milliseconds headers: { 'Accept': "application/json; charset=utf-8", "Access-Control-Allow-Origin": "*", "e_platform": "mobile", 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-store', 'Expires': '0' }, sslPinning: { certs: ['cert', 'cert2'] // your certificates name (without extension), for example cert1.cer, cert2.cer } }).then((response) => { response.json().then((data) => { if (response.status == 200){ resolve(data) console.log(data) } else { resolve(null) } }); }).catch((error) => { resolve(null) console.log(error) }) ); } React Native https 통신할 때 'react-native-ssl-pinning' 라이브러리를 활용합니다. 여기서 문제점은 안드로이드 환경에서는 https 통신이 정상적으로 이루어집니다. 다만, iOS에서는 인증서 위치가 올바르지 않아서인지, https 통신이 이루어지지 않습니다. iOS 환경에서는 https 인증서 파일 위치를 어디에 업로드해야 하는지 문의 드립니다. 부가적으로 자주 사용되는 iOS https 네트워크 라이브러리가 있으면 공유 부탁드립니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
enum Dir 질문입니다.
혹시 방향 순서 같은 건 일반적인 경우에 '위-왼-아래-오'를 사용하나요? 오른손 법칙이고 로직 내에도 오른쪽으로 도는 걸 먼저 하는 방식인데 enum의 순서은 왼쪽으로 도는 것 처럼 되어 있어서요