[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 세션 정보와 타임아웃 설정 강의를 듣다가 궁금한 부분이 생겼습니다. "isNew()가 새로 생성된 세션인지, 아니면 과거에 만들어졌고 클라이언트에서 서버로 sessionId를 요청해서 조회된 세션인지 여부" 질문1. 새로 생성된 세션을 true, 과거에 만들어진 세션은 false 이렇게 반환되는게 맞나요? 질문2. 위 질문이 맞다면 회원가입을 하고 로그인을 했을때 콘솔 실행창에 isNew=true로 나와야 할 것 같은데 왜 false로 나오는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. 예 예 예 안녕하세요. 강의 잘 듣고 있습니다! 강의 3분 44초 전후로 ExecutorService를 close() 함수로 닫으셨는데 es.close() 부분에서 오류가 발생합니다(스크린샷 참고). 찾아보니 Java 9 이상에서 ExecutorService 구현체가 AutoCloseable 을 구현한 경우에만 close()를 사용 가능 하다고 하는데 현재 JDK 17 버전을 쓰고 있는데도 close() 함수를 찾지 못하고 있습니다. (다만 shudown() 함수를 사용하니 정상적으로 컴파일이 되고 닫히고 있습니다) close() 대신 shutdown()을 사용하여도 성능상 차이가 없는지 궁금합니다. 글이 길어져서 죄송합니다. 답변 부탁드립니다. 감사합니다.
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 안녕하세요, http 요청 데이터 -api 메시지 바디 json 부분 강의를 들으며 라이브 코딩을 하다 롬복이 정상적으로 작동하지를 않아 질문을 남깁니다. postman에 강의 내용처럼 아래 사진처럼 입력을 하였습니다. 콘솔에서 출력되는 부분을 확인해봤는데 아래 사진처럼 보여집니다. 문제는 {"username" : "hello", "age" : 20}] 라는 부분은 정상적으로 콘솔에 출력되는데 data.username=hello data.age=20 이라는 롬복 getter 부분이 콘솔에 출력되지 않는 상황입니다. 따로 클래스를 만들어 롬복에서 문제가 생겼나 getter setter을 돌려보니 롬복은 정상 출력되어 다른 부분에서 문제가 생긴 듯 하는데, 해당 부분의 오류 원인이 무엇인지 알 수는 있을까요 ..? 2025-04-21T17:58:26.166+09:00 DEBUG 27381 --- [mvcpattern1] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header 2025-04-21T17:58:26.177+09:00 DEBUG 27381 --- [mvcpattern1] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 제목 그대로 ctrl + F6 이후로 con 인식이 안됩니다. 그래서 새로 다시 코딩을 해봐도 안되고 강의 PDF에 있는걸로 복사해서 바꿔봐도 안 됩니다. 복사 이후로는 다른 memberRepository 나 fromId 등 인식이 다 안되서 여쭤봅니다. 프로젝트 압축 파일 링크입니다 https://drive.google.com/file/d/1WsWLpkTaAFSYKr7sL7V1mzXDqmoR6bhL/view?usp=drive_link
커넥션을 요청하고 반환받는건 서버와 DB 사이의 작용이라고 생각해서 커넥션 구현체를 클라이어트에 반환한다는 부분이 이해가 잘 안 갑니다! 클라이언트라는 단어가 단순히 웹 클라이언트로 쓰이는 것뿐만 아니라 요청하는 쪽을 지칭할 때 쓰는거라고 보면 될까요? 여기선 애플리케이션 로직 즉, Connection 객체를 사용하는 저의 애플리케이션 코드를 의미하는 걸까요?
dev 프로퍼티 파일에 app.host 를 정의하지 않고 dev 환경으로 실행후, 메일을 보낼시 host 값이 http:// localhost:8080 으로 어떻게 넣어지는건가요? dev 프로퍼티 파일에 정의가 안되어 있으면 local 프로퍼티 파일을 참조하게 되는것인가요...?
엊그제 정보처리기사 시험을 처음 보게되었습니다. 한 장에 시험 문제가 1~2개 정도 있고 밑에 풀이란이 있습니다. 이때 문제를 풀때 풀이란에만 풀지 않고, 각 문제 옆에 빈공간에 도 풀었는데 감점 혹은 탈락 요인인가요? EX)코드가 있는 경우 각 코드 옆에 변수값 표시 등. 정답을 적는 곳 부근에는 따로 풀이나 표시 등은 하지 않았습니다.
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다 ! http 요청 데이터 - api 메시지바디 -json 강의에서 등장하는 코드 HelloData helloData = objectMapper.readValue(messageBody,HelloData.class);라는 부분은 스트링의 messageBody라는 변수를 json 객체로 변환하는 것인가요, 아니면 json객체인 messageBody를 hellodata 타입 객체로 변환하는 것일까요 ?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
태현님 안녕하세요 좋은 강의 잘 듣고 있습니다. 수강하면서 실습 진행하면서 3번 정도 mysql 연결 오류가 발생해서 gpt를 통해 해결해보려고도 하고 구글링도 해보았지만 근본적인 해결이 안되어 고민 끝에 질문 남깁니다. 우선, 문제 상황을 말씀드리면 mysql 설치 후 인텔리제이에서 연결도 잘되어 실습을 진행하다 [S1009] !AuthenticationProvider. BadAuthenticationPlugin! 라는 메시지가 뜹니다. mysql 8.0 CLI-Unicode 에 들어가서 초기에 설정한 비밀번호를 입력하면 바로 unicode가 종료되어 진입 조차 불가능합니다. cmd 실행하여 mysql -u root -p 명령을 입력해서 정확한 비밀번호를 입력하면 ERROR 2059 (HY000): Authentication plugin 'auth_gssapi_client' cannot be loaded: ÁöÁ¤µÈ ¸ðµâÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù. 에러 메시지가 뜹니다. 최후의 수단으로 mysql 관련 모든 파일 및 프로그램 삭제 후 재설치하여 인텔리제이 연동해서 실습이 정상적으로 진행이 되다가 랩탑을 몇 번 껐다 키면 위의 문제가 반복됩니다. 왜 저런 문제가 발생하고, 어떻게 해야 해결이 가능할까요..? 지금까지는 완전 삭제 및 재설치하여 db 테이블 구성을 처음부터 다 다시 하면서 실습을 어떻게든 따라했지만 근본적인 해결책을 찾고 싶어 질문 드립니다.
[질문 내용] 1. <td><a href="items.html" th:href="@{/basic/items/{itemId}(itemId=${ item.id })}" th:text="${ item.id }">회원id</a></td> <td><a href="items.html" th:href="@{/basic/items/${ item.id }}" th:text="${item.itemName}">상품명</a></td> 2에 리터럴 대체를 위한 ||를 씌운 방식 혹시나하여 2 방식으로 표현해보니, 1과 동일한 url link를 생성하였습니다. 셋 중 가장 권장하는 방식은 어떤 것이고, 그 이유는 무엇인가요? 2도 정상작동하는 것 같은데, ||을 꼭 씌워야하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 4:53초 경 "서블릿 컨테이너가 request, response 객체를 만들어서 이 서블릿에 던져준다" 이 말은 아래의 단계 중에서 웹 브라우저에서 먼저 localhost:8080/hello 로 요청을 보냄 WAS 에서는 요청 메시지를 기반으로 방금 본 request , response 객체를 만들어냄 이후 서블릿 컨테이너를 통해서 만들어낸 request , response 객체를 파라미터로 넘기면서 helloServlet 을 실행함 helloServlet 의 실행이 끝나고 리턴값 response 이 있을텐데, 이것을 바탕으로 HTTP 응답 메시지를 만들어냄 웹 브라우저에게 응답 메시지를 전달함. 이후 서블릿 컨테이너를 통해서 만들어낸 request, response 객체를 파라미터로 넘기면서 helloServlet 을 실행함 이 부분에 해당하는 내용인가요? request와 response 객체를 만들어서 특정 서블릿(ex.helloServlet)에게 넘겨주고 리턴값(response)가 WAS에게 반환되고 HTTP 응답 메시지를 생성한 뒤에 웹 브라우저에게 전달 이것이 맞는 내용인가요? 또한, 아래 부분에 @Override 가 있다는 건 @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpServlet 파일 속에 해당 메서드가 존재한다는 의미기에 찾아보았는데 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getMethod(); if (method.equals("GET")) { long lastModified = this.getLastModified(req); if (lastModified == -1L) { this.doGet(req, resp); } else { long ifModifiedSince; try { ifModifiedSince = req.getDateHeader("If-Modified-Since"); } catch (IllegalArgumentException var9) { ifModifiedSince = -1L; } if (ifModifiedSince < lastModified / 1000L * 1000L) { this.maybeSetLastModified(resp, lastModified); this.doGet(req, resp); } else { resp.setStatus(304); } } } else if (method.equals("HEAD")) { long lastModified = this.getLastModified(req); this.maybeSetLastModified(resp, lastModified); this.doHead(req, resp); } else if (method.equals("POST")) { this.doPost(req, resp); } else if (method.equals("PUT")) { this.doPut(req, resp); } else if (method.equals("DELETE")) { this.doDelete(req, resp); } else if (method.equals("OPTIONS")) { this.doOptions(req, resp); } else if (method.equals("TRACE")) { this.doTrace(req, resp); } else { String errMsg = lStrings.getString("http.method_not_implemented"); Object[] errArgs = new Object[1]; errArgs[0] = method; errMsg = MessageFormat.format(errMsg, errArgs); resp.sendError(501, errMsg); } } 왜 위와 같은 코드를 굳이 재정의 해야만 했는지가 궁금합니다.. 아직 강의를 모두 수강하지 않아서 가지게 되는 궁금증일 수도 있겠지만 혹시나 너무 뜬구름 잡는 질문이 아니라면 간단하게나마 설명을 부탁드려도 될까요?.. 흐름상 이해를 해보았는데 확신이 들지 않아서 이런 바보같은 질문을 해봅니다.. 감사합니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. https://inf.run/2ruuR 전에 올렸던 질문 내용입니다. https://drive.google.com/file/d/1oNHG9872eU7vUZrH3xx3DKPfJGPuFcnZ/view?usp=sharing 파일 첨부해서 다시 올립니다. 감사합니다.