[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 네트워크 프로그램 자원종료 관련 이해가 안되는 부분이 있어서 문의드립니다. [SessionManagerV6] public synchronized void closeAll() { for (SessionV6 session : sessions) { session.close(); } sessions.clear(); } [SessionV6] // 세션 종료시, 서버 종료시 동시에 호출될 수 있다. public synchronized void close() { System.out.println("closed : " + closed); System.out.println(Thread.currentThread().getName()); if (closed) { return; } closeAll(socket, input, output); // shutdown closed = true; log("연결 종료: " + socket); } 서버에서 ShutdownHook이 발생했을 때 2개의 Client에 Socket이 연결되어 있었다고하면 첫번째 Clinet의 Socket이 정리되고 난 후 2번째 Clinet의 Socket이 정리되는 시점에서는 closed 변수가 true이기 때문에 정리가 안되고 return되는거 아닌가요? 제가 잘 못 이해하고 있는걸까요? 추가적으로 로그를 찍어서 상태값을 확인해 봤는데 이해가 잘 되지 않아서 문의드립니다. 아래는 로그 정보입니다. 17:34:32.806 [ shutdown] shutdownHook 실행 closed : false shutdown 17:34:32.806 [ shutdown] 연결 종료: Socket[addr=/127.0.0.1,port=58474,localport=12345] closed : false shutdown 17:34:32.806 [ shutdown] 연결 종료: Socket[addr=/127.0.0.1,port=58480,localport=12345] 17:34:32.807 [ Thread-2] java.net.SocketException: Socket closed closed : true Thread-2 17:34:32.807 [ Thread-3] java.net.SocketException: Socket closed closed : true Thread-3 17:34:32.807 [ main] 서버 소켓 종료: java.net.SocketException: Socket closed 종료 코드 130 (interrupted by signal 2:SIGINT)(으)로 완료된 프로세스
강의 감사합니다. 강의자님의 포트폴리오를 보면서 얼마나 많이 노력하셨는지가 보입니다 -- 공유해주신 포트폴리오를 제 상황에 맞게 하려고 하는데요 ! 질문이 있습니다. 저는 대회를 나간 경력이없고 신입이라 그런지 공유해주신 포폴에 무엇을 쓰면 좋을지 조언듣고 싶습니다. 음 제 지금 상황은 비전공자이고,, react.js 블로그 포폴 하나 혼자 강의 보면서 만들었는데 어떻게 어필하면 좋을까요 .. 자기소개서는 포트폴리오에 올리지 않는게 좋을까요 ? 방향잡기가 쉽지가 않네요
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. @Query("select c from CommentV2 c where c.commentPath.path = :path") Optional<CommentV2> findByPath(@Param("path") String path); 위와 같은 방식으로 조회를 하면 인덱스 서치가 되지 않는 것 아닌가요? 아래와 같은 방법으로 해야 할 것 같은데.. @Query("select c from CommentV2 c where c.articleId = :articleId and c.commentPath.path = :path") Optional<CommentV2> findByPath( @Param("articleId") Long articleId, @Param("path") String path); 답변 부탁 드립니다.
강의 제작해주셨을 때는 gemini flash 기본 모델 버전이 2.0 이었던거 같은데 2.5로 최근에 업데이트가 된 거 같네요. webClient 요청 uri에서도 버전을 2.5로 명시를 해줘야 정상적으로 요청 응답이 오는데 다른 분들 참고하시면 좋을 거 같아 올려봅니다.
1.일정 관련 js파일이 planner.js와 planner_fetch.js 파일로 나눠져 있는데 planner.js에서 planner_fetch.js에 있는 함수들을 사용하고 planner_fetch.js에서는 planner에 있는 함수, 변수들을 사용하던데 각각 별도의 js 파일들인데 어떻게 서로 변수나 함수들을 가져다 사용할 수 있는지 궁금합니다. planner_fetch.js의 fetchGetPlan 함수에서 fetch url이 /planner/plan/3 형식이 아니라 /planner/plan?no=3 형식이던데 이렇게 사용한 이유가 있을까요??
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 8분30초쯤 나오는 ItemService는 ItemServiceV1을 의미하는걸까요? ItemService가 interface인데 JpaItemRepository에 의존하고 있다는건 아닌거 같아서요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] FileInputStream의 transferTo를 사용할 경우 buffer는 어떻게 설정되는 건가요? 웹 검색을 해보니 개발자가 직접 버퍼를 설정할 필요가 없다고 하는데 기본적인 버퍼의 크기가 정해져 있는건지? 만약 정해져 있다면 어떤 기준을 따라가는지 궁금합니다. 파일처리 시 자바의 메모리를 사용해야하고 이 부분을 잘 처리하지 못할 경우 OOM으로 이어지는 경우가 많아서 정확히 이해하고 싶어서 문의드립니다.
todoPagingCP.tsx에서 Link로 페이지 동적으로 만들었는데 페이지 클릭때마다 const res = await fetch( `http://localhost:8080/api/todos/list?page=${page}` ); todo/list/page에 있는 이코드가 실행이 되는건가요?
안녕하십니까 강사님!! 좋은 강의 감사드립니다!! 다름이 아니라 처음에 레딧에 올라온 게시글을을 수집하고 싶어서 강의를 수강하게 되었는데 레딧의 robots.txt는 허용사항이 없는 거 같은데 이러한 경우에는 로그인 하지 않더라도 볼 수 있는 게시글에 대한 정보를 함부로 html 스크래핑하면 안되는 건가요?? 이러한 경우에는 어떠한 전략으로 스크래핑을 해야하는지 조언해주시면 감사드리겠습니다!!