묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
https 적용(SSL/TLS 인증서 발급)과 비용에 관련한 질문입니다.
안녕하세요, AWS를 통한 SSL/TLS 인증서 발급에 대해 한 가지 의문이 들어서 질문 남깁니다.SSL/TLS 인증서는 CA(인증기관)을 통해 발급받을 수 있고,CA는 도메인과 소유자의 세부 정보를 확인하고 '이 웹사이트는 믿을 수 있음'이란 의미로 인증서를 발급해주는 기관이며,AWS는 CA 중 하나로서 도메인과 SSL/TLS 인증서를 판매할 수 있다고 이해했는데요,의문이 생기는 지점은 AWS가 이 SSL/TLS 인증서를 무료로 발급해준다는 점입니다.유/무료 인증서의 차이는 유료 인증서가 웹사이트에 대해 더 높은 신뢰를 보장하고, 보안 사고에 대해 보상금을 지급할 의무를 지는 반면 무료 인증서는 그런 제약이 없다는 것으로 알고 있는데,DNS 검증만 통과하면 AWS에서 인증서가 발급되고, 어떤 보안 사고에 대한 보장 같은 건 언급이 되어 있지 않으니... AWS에서 발급받은 인증서를 예를 들면 회사 홈페이지 도메인에 적용해도 되는 걸까요?무료라고 해도 그 AWS가 '신뢰할 수 없는' 것을 제공할 것 같지는...? 않아서 아리송합니다.강의 내용을 좀 벗어나는 것 같긴 하지만ㅠㅠ 여기저기 검색을 해봐도 적절한 답변을 찾을 수가 없어서요.항상 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 11:54초에 보면 HandlerAdapter에 의해서 handle 메소드가 실행되고, 우리가 앞서 정의했던 핸들러가 호출이되는데 여기서 핸들러 어댑터 안에 있는 ((HttpRequestHandler) handler).handleRequest(request,response); 이 부분은 우리가 메소드를 스프링 빈에 등록해서 생성된 것인가요? 아니면 우리가 메소드 이름을 일부러 맞춰준건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의교재126 int형 우선순위큐
while(pq.size()){ cout << pq.top() << " : " << pq2.top() << " : " << pq3.top() << '\n'; pq.pop(); pq2.pop(); pq3.pop(); } 이코드에서 궁금한것이 있는데요 pq.size()는 5이고 참이니깐 while문 안에있는 조건은 계속 돌아가서 무한루프가 되는게 아닌가요?그리고 코드마지막에 있는 pq.pop(); pq2.pop(); pq3.pop(); 는 왜 한번씩 더 써주는건가요? 위에 있는 코드로도 충분하지 않나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
enum
짧은 지식이지만 db에서 enum을 사용을 줄이라고 알고 있는데 엔티티에서 enum타입으로 필드를 구성해도 크게 영향이 없나요?? 프로젝트 중인데 엔티티의 상태코드 타입을 String으로 할지 eunm으로 할지 고민입니다.엔티티에서 언제 enum타입을 사용할지 String타입을 사용할지 기준이 무엇인지 여쭤봅니다. 감사합니다 ㅠㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
공주 구하기 문제 풀이 시간 복잡도 질문
안녕하세요 제가 푼 코드와 강의의 풀이가 차이가 있어서 질문 드립니다. 저는 아래와 같이 문제를 풀어 봤는데요. 강의와 제 풀이의 시간 복잡도가 어떻게 되는건지 궁금합니다. 제 풀이는 while문이 하나 있으니 O(n)으로 표시하면 되는 것일까요? 강의 풀이는 while문 안에 for문이 있는데 그럼 O(n^2) 인건가요? 아니면 K를 상수로 보고 O(n) 이라고 생각하면 되는 걸까요.. public int solution(int n, int k) { int answer = 0; Queue<Integer> queue = new LinkedList<>(); for (int i = 1; i <= n; i++) { queue.add(i); } int cnt = 1; while (queue.size() > 0) { if (cnt == k) { answer = queue.poll(); cnt = 1; } else { queue.add(queue.poll()); cnt++; } } return answer; } 두 코드 중 어떤 것이 더 효율적인 코드인지 궁금합니다. 실행 시간을 비교해서 더 짧게 나오는 것이 효율적인 코드라고 봐도 되는 걸까요?
-
미해결
빈 직접 등록 후 테스트 하는 방법
안녕하세요, 김영한 강사님의 스프링 입문 강의를 들으면서 같이 코딩하는 중인데 여쭈어 보고 싶은 것이 있습니다.빈을 직접 SpringConfig에 등록했고, Service나 Repository에서 @Service, @Repository 등등 어노테이션을 제거까지는 잘 따라했습니다. 강사님이 친절하게 알려주셨기 때문에 서버도 잘 돌아가고 있습니다. 문제는 전에 했던 MemberServiceTest에서 테스트를 돌릴 때 NullPoint 오류가 뜨고 있습니다. 훨씬 전에 했던 MemoryMemberRepositoryTest 클래스에선 아래처럼 등록했기에 오류가 없었습니다.MemoryMemberRepository memberRepository = new MemoryMemberRepository(); 만약 직접 빈을 등록 한 뒤 테스트를 돌려보려면 memberService나 memberRepository는 위처럼 new 로 생성해주어야 하나요??class MemberServiceTest { MemberService memberService; MemoryMemberRepository memberRepository; ... -> 테스트 코드 }
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
네이버 자동화 실습 관련 질의
Copy Selector를 이용하여 받는사람 구역의 Selector를 복사해서 가져왔으나 코드 실행 중 에러가 발생합니다. no such element라는 것으로 보아 Selector를 못받는거 같은데 어떻게 해야될까요?driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com") time.sleep(0.5)Traceback (most recent call last):File "c:\Excel\02. 데스크탑 자동화\2.네이버 로그인 자동화.py", line 44, in <module>driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com")^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 742, in find_elementreturn self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 348, in executeself.error_handler.check_response(response)File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_responseraise exception_class(message, screen, stacktrace)selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#recipient_input_element"}(Session info: chrome=120.0.6099.217); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exceptionStacktrace:GetHandleVerifier [0x00007FF675932142+3514994](No symbol) [0x00007FF675550CE2](No symbol) [0x00007FF6753F76AA](No symbol) [0x00007FF675441860](No symbol) [0x00007FF67544197C](No symbol) [0x00007FF675484EE7](No symbol) [0x00007FF67546602F](No symbol) [0x00007FF6754828F6](No symbol) [0x00007FF675465D93](No symbol) [0x00007FF675434BDC](No symbol) [0x00007FF675435C64]GetHandleVerifier [0x00007FF67595E16B+3695259]GetHandleVerifier [0x00007FF6759B6737+4057191]GetHandleVerifier [0x00007FF6759AE4E3+4023827]GetHandleVerifier [0x00007FF6756804F9+689705](No symbol) [0x00007FF67555C048](No symbol) [0x00007FF675558044](No symbol) [0x00007FF6755581C9](No symbol) [0x00007FF6755488C4]BaseThreadInitThunk [0x00007FFA3FB2257D+29]RtlUserThreadStart [0x00007FFA40FEAA58+40]
-
해결됨코딩테스트 [ ALL IN ONE ]
강의 교재 부탁드려요
안녕하세요. 강의 너무 잘 보고 있습니다.교재 공유 요청 했는데 확인 한번 부탁드리겠습니다~!구글폼에 접수한 메일에는 아무것도 안와있어서요.
-
해결됨실전! 스프링 데이터 JPA
글로벌 서비스의 경우 시간 데이터 저장 및 뷰 관련 질문
강의에서는 시간 데이터를 넣는 방법을 가르쳐주셨는데 글로벌 서비스에서는 시간 데이터를 어떻게 관리하는지 궁금합니다. 예를 들어, 블로그 플랫폼의 유저들이 미국과 한국에 위치할때, 같은 시간에 작성된 글이라도 위치에 따라 다른 시간 데이터를 표시하도록 해야할것 같습니다. 이때 게시글을 작성한 시간은 DB에서 UTC로 가지고 있는게 좋을까요? 만약 그렇다면 DB의 데이터를 로컬로 가져올때 실무에서는 백엔드에서 변환을 하는지 아니면 프론트까지 UTC를 가져와서 프론트에서 변환을 하는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
바둑이 승차 질문입니다!
package other.study; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import static java.lang.Integer.MIN_VALUE; import static java.lang.Math.max; import static java.lang.System.in; // todo: 해결 필요!! public class Main3 { static int[] ch = new int[100000000]; static int c, n, answer = MIN_VALUE; public static void main(String[] args) { Scanner kb = new Scanner(in); c = kb.nextInt(); n = kb.nextInt(); ch = new int[n]; int[] arr = new int[n + 1]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } // DFS(0, 0, arr); BFS(0, arr); System.out.println("answer = " + answer); } static void DFS(int L, int sum, int[] arr) { if (sum > c) return; if (L == n) { answer = max(answer, sum); } else { DFS(L + 1, sum + arr[L], arr); DFS(L + 1, sum, arr); } } static void BFS(int L, int[] arr) { Queue<Node> Q = new LinkedList<>(); Q.offer(new Node(0, arr[0])); while (!Q.isEmpty()) { int len = Q.size(); for (int i = 0; i < len; i++) { Node tmp = Q.poll(); if (tmp.weight > c) continue; if (L == n) { answer = max(answer, tmp.weight); } else { Q.offer(new Node(tmp.level + 1, tmp.weight + arr[tmp.level + 1])); Q.offer(new Node(tmp.level + 1, tmp.weight)); } } System.out.println(); L++; } } static class Node { private int level, weight; public Node(int level, int weight) { this.level = level; this.weight = weight; } } }안녕하세요 선생님!명품 강의 정말 잘 듣고 있어요! 바둑이 승차를 BFS로도 풀어봤는데, 문제되는 부분이 있을까해서 질문 드립니다! 늦었지만 새해 복 많이 받으세요!
-
미해결대세는 쿠버네티스 (초급~중급편)
vegrant up 중간 멈춤
지금 에러 로그가 없어서 자세한 설명은 불가한데 설치중간 k8s-worker1 ....... cri compelte 였나 여기서 몇시간 멈춰있더라구요 오늘 저녁에 다시 해보고 멈춘 부분에 자세한 로그 올리겠습니다.
-
미해결게임 엔진을 지탱하는 게임 수학
1 라디안의 값에 오차가 있습니다
검색이나 직접 계산을 했을 때 1 라디안이 약 57.2958이 나오는데, 강의문서에 첨부된 값이 52.2958로 되어있습니다. 수정이 필요해 보입니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
내장 톰캣 관련 질문입니다
안녕하세요 강사님 강의 잘 보고 있습니다.내장 톰캣 관련하여 사소한 궁금증이 생겼는데 이리저리 찾아봐도 원하는 답을 얻지 못해 질문 남깁니다.스프링부트의 내장톰캣 기능을 사용하면 실행하는 컴퓨터의 메모리를 쓰는 것 인가요? 아니면 스프링부트에 뭔가가 있는지 궁금하여 질문 남깁니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
자동완성 기능설정이 궁금합니다.
강사님 강의를 따라하다가 이렇게 자동완성되는 기능을 똑같이 쓰고 싶은데 단축키를 눌러도 추천을 해주지 않습니다. ctrl + space를 두번누르면 너무 터무니 없는것들만 나오고 분명 플러그인도 다 설치했는데 안되서 혹시 방법을 아시는지 궁금합니다. 저렇게 자동완성이 된다면 코딩피로도가 현저히 줄것 같아서 궁금합니다!ctrl + spce ctrl + space x2
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
섹션8_문제와풀이3
범위가 아닌 값이 딱딱 떨어지는거면 switch문을 사용하는게 좋다고 강의시간에 들었습니다. 그래서 저는 switch 문으로 풀어봤습니다. Q1 : switch 문에서 break는 이렇게 사용하는게 맞을까요? continue는 굳이 사용할 필요가 없을까요? switch 문에서 break랑 continue 적절히 쓰는법 알려주시면 감사합니다 !Q2 : 가독성면에서는 어떤지도 피드백 부탁드립니다 !package array.ex; import java.util.Scanner; public class ArrayEx10 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] productPrices = new int[10]; String[] productNames = new String[10]; int productCount = 0; while (true) { System.out.println("1. 상품 등록 | 2. 상품 목록 | 3. 종료"); System.out.print("메뉴를 선택하세요 : "); int option = scanner.nextInt(); scanner.nextLine(); switch (option) { case 1 -> { if (productCount < 10) { System.out.print("상품 이름을 입력하세요 : "); productNames[productCount] = scanner.nextLine(); System.out.print("상품 가격을 입력하세요 : "); productPrices[productCount] = scanner.nextInt(); productCount++; } else { System.out.println("더 이상 상품을 등록할 수 없습니다."); } break; } case 2 -> { if (productCount == 0) { System.out.println("등록된 상품이 없습니다."); } else { for (int i = 0; i < productCount; i++) { System.out.println(productNames[i] + " : " + productPrices[i] + "원"); } } break; } case 3 -> { System.out.println("프로그램을 종료합니다."); System.exit(0); } default -> { System.out.println("올바른 메뉴가 아닙니다."); break; } } } } }
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링부트가 아닌, 스프링 프레임워크일 경우 BasicErrorController
안녕하세요,스프링 부트일 경우, BasicErrorController 가 자동적으로 등록되어 사용된다고 하셨는데, 부트가 아닌 일반 스프링 프레임워크일 경우, BasicErrorController 와 비슷한 역할을 해주는 Controller 가 자동적으로 등록되지는 않는 것인지요?부트가 아닌 스프링 프레임워크에서는 개발자가 예외나 response.sendError(); 에 대해서 아무런 대비/대처 설정 (예와나 sendError 를 처리해주는 코드를 작성하지 않았을 경우) 을 해주지 않았을 경우에는 어떤 default 설정을 따라가는지 궁금합니다.스프링 부트일 경우,WebServerFactoryCustomizer<ConfigurableWebServerFactory> 를 구현한 클래스를 작성해서 ErrorPage를 지정해주고 있는데, 부트가 아닌 스프링 프레임워크에서는 어떻게 WebServerFactoryCustomizer<ConfigurableWebServerFactory> 를 구현한 것과 동일하게 custom 을 해줄 수 있는지 궁금합니다.감사합니다.
-
미해결네이버 카페 DB 추출 프로그램 개발 강의 [selenium]
질문있습니다.
query = "강아지옷" userDisplay = 15 option=0 searchBy = 1 # searchdate = "all" # all or 1w encoding_query = parse.quote(query,encoding="MS949") link = f"https://cafe.naver.com/joonggonara?iframe_url=/ArticleSearchList.nhn%3Fsearch.clubid=10050146%26search.media=0%26search.searchdate={searchdate}%26search.defaultValue=1%26search.exact=%26search.include=%26userDisplay={userDisplay}%26search.exclude=%26search.option={option}%26search.sortBy=date%26search.searchBy={searchBy}%26search.searchBlockYn=0%26search.includeAll=%26search.query={encoding_query}%26search.viewtype=title%26search.page={page_idx}"이번 강의는 순서도 바뀐 것 같고 건너띄기 된 느낌입니다..이 부분 내용이 생략이 된 것 같아서요. 저기 link 주소랑 관련된 저 부분들 분석 하는 방법 궁금합니다. 그리고 FLAG 쓰셨는데.. 이해가 잘 안되서요.. 그걸 이용하는 방법을 알려주신 건지.. 저기에 꼭 써야하는건지 잘 이해가 안가네요.if에 break 걸어 놓으셨으니 FLAG를 안 써도 될 것 같아서 여쭤봅니다. ( keyword.py, menu.py 둘 다요)
-
미해결홍정모의 따라하며 배우는 C++
fptr1에 Something으로 접근 연산자를 붙히는 이유는 Something 클래스의 인스턴스 주소를 넘겨줘야해서 인가요?
int (*fptr2)() = &Something::getValue;는 단순히 정적 메모리에 있는 Something클래스의 함수 포인터를 초기화한다고 이해 할 수 있지만 제목 그대로의 의문점이 있습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest를 실행하면 에러가 뜹니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. MemberServiceTest를 실행하면 에러가 뜹니다. @RunWith는 Junit5로 넘어오면서 없어져 넣진 않았습니다. 01:32:35.817 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [com.boardproject.service.MemberServiceTest]: MemberServiceTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test at org.springframework.util.Assert.state(Assert.java:76) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.findConfigurationClass(SpringBootTestContextBootstrapper.java:246) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.getOrFindConfigurationClasses(SpringBootTestContextBootstrapper.java:233) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.processMergedContextConfiguration(SpringBootTestContextBootstrapper.java:150) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedContextConfiguration(AbstractTestContextBootstrapper.java:354) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildDefaultMergedContextConfiguration(AbstractTestContextBootstrapper.java:270) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedContextConfiguration(AbstractTestContextBootstrapper.java:218) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildTestContext(AbstractTestContextBootstrapper.java:108) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.buildTestContext(SpringBootTestContextBootstrapper.java:111) at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:142) at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:126) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore.lambda$getOrComputeIfAbsent$5(NamespacedHierarchicalStore.java:147) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore$MemoizingSupplier.computeValue(NamespacedHierarchicalStore.java:372) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore$MemoizingSupplier.get(NamespacedHierarchicalStore.java:361) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore$StoredValue.evaluate(NamespacedHierarchicalStore.java:308) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore$StoredValue.access$200(NamespacedHierarchicalStore.java:287) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore.getOrComputeIfAbsent(NamespacedHierarchicalStore.java:149) at org.junit.platform.engine.support.store.NamespacedHierarchicalStore.getOrComputeIfAbsent(NamespacedHierarchicalStore.java:168) at org.junit.jupiter.engine.execution.NamespaceAwareStore.lambda$getOrComputeIfAbsent$3(NamespaceAwareStore.java:66) at org.junit.jupiter.engine.execution.NamespaceAwareStore.accessStore(NamespaceAwareStore.java:90) at org.junit.jupiter.engine.execution.NamespaceAwareStore.getOrComputeIfAbsent(NamespaceAwareStore.java:65) at org.springframework.test.context.junit.jupiter.SpringExtension.getTestContextManager(SpringExtension.java:366) at org.springframework.test.context.junit.jupiter.SpringExtension.beforeAll(SpringExtension.java:131) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:396) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:396) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:212) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148) 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:1511) 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.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
무한스크롤 구현 오류
안녕하세요. 선생님 무한스크롤이 계속 만들어져서 질문드려요위 사진에는 댓글이 2개 달린 상태입니다. 그런데스크롤을 내리면서 2개였던게 계속 복사되어 만들어지는 상태입니다. 이런식으로 초기 댓글 갯수가 반복해서 늘어나는 것 같아요. 코드를 보고도 오류를 찾기 힘들어 질문 드려요!참고로, 이전에 비슷한 질문에 확인 해야 할 사항이 있어서 체크해보았습니다. nextconfig.json에서 reactStrictmode를 false로 바꿔보시고 서버를 껐다 다시 켜주세요!>> 바꾸고 해도 되지 않는 것 같습니다. 무한스크롤을 제거한 후 댓글을 작성해 보고 정상적으로 작성이 되는지 알려주세요.>> 무한스크롤 컴포넌트 삭제 시 다른 부분들은 원활하게 작동합니다.또 다른 자료가 필요하시면 말씀해주세요! 긴 질문 읽어주셔서 감사합니다!!