묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
JDBC 인터페이스와 데이터 소스
둘다 java.sql에 있고"JDBC 인터페이스는 커넥션을 생성하는 방법을 추상화" "데이터소스는 생성된 커넥션을 획득하는 방법을 추상화 " 이 차이가 맞나요??
-
미해결스프링 핵심 원리 - 기본편
웹스코프와 프로토타입스코프의 차이점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]둘 다 요청 후에는 삭제되는 거 같은데 차이점을 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
잘 이해가 가지 않아서 여쭤봅니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링부트 + JPA 1편에 이어서 하시는것 같은데 controller 모델이 있지만 api Controller를 다시 만들어서 사용하는 이유가 무엇일까요? 따라하고나서 배운것을 찬찬히 보고있는데 개념이 헷갈립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 안되네요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]빌드까지 성공했는데 실행이 안되요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ExceptionResolver1 강의 error.bad
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)ㅇ2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)ㅇ3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)ㅇ[질문 내용]messages.properties에error.bad=잘못된 요청 오류입니다. 메세지 사용이라 하고 postman 호출하니영어로 나옵니다 왜 그럴까요?++application.properties에 추가도 했고intellij 인코딩도 utf-8로 했스빈당
-
미해결Practical Testing: 실용적인 테스트 가이드
정적 팩터리 메서드 사용 기준?
제목 그대로 언제 사용하시는지에 대해 얘기를 나눠보고 싶어 질문 남깁니다.제 경우는 영속성 계층에 새로운 객체가 추가될 때 (RDB에 레코드를 추가할 때) new 키워드를 사용하여 id 값을 생성자로 받지 않는 생성자를 열어두고,존재하는 도메인 엔티티 혹은 영속성 엔티티를 영속성 계층으로부터 불러올 때는 정적 팩터리 메서드를 사용하는데강의를 진행하시면서 습관적으로 생성자 대신 static 메서드를 통해 생성 하시더라구요, 강사님만의 명확한 기준이 있으신지 궁금합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
ProductRepository에 @Repository 어노테이션을 붙인 이유
스프링 컨테이너가 뜰 때 Jpa의 Repository 인터페이스 하위 타입을 스캔하여 빈으로 등록하는 것으로 알고 있어서 ProductRepository가 자동으로 스캔이 될텐데 @Repository 어노테이션을 붙이신 이유가 궁금합니다
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
페이징 작업에 대한 사항 알려 주실 수 있나요?
강의 모두 잘 들었습니다.페이징 작업에 대한 사항은 없어서 이렇게 질문 올립니다. 인터넷에 나와있긴 하던데 강의할 때 사용한 코드에 페이징 작업이 어떻게 들어갈지 궁금하여서요.참고할만한 문서나 링크로도 답변해주시면 감사합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 풀 설정 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]강의 잘 보고 있습니다현업에서 보통 와스에서 커넥션 설정시 어떤 프로퍼티를 주로 설정하는지 알고 싶습니다. 그리고 maximumPoolSize = minimumIdle 같은값으로 명시적으로설정하나요?? minimumIdle 을 설정하지 않으면 default 가 maximumPoolSize 와 같으니 설정을 안하는게 맞는지요??(제가 개발자가 아니라 테스트는 못해보고 문의드립니다 .)
-
미해결Practical Testing: 실용적인 테스트 가이드
ProductNumberFactory 클래스는 어떤 Layer 객체로 봐야 할까요?
안녕하세요! 먼저 항상 좋은 강의 감사드립니다! 저도 작은 경험 이지만 개발을 하면서 서비스 단의 로직을 분리 (강의에서 말씀 해주신 것 처럼 책임을 분리할 정도)해야 하는 상황인 경우, 이렇게 하는게 맞는지는 모르겠으나, Point1. ServiceUtil 클래스를 정의하여 컴포넌트로 주입받아 사용하거나 (실무에선 이렇게 사용)Point2. 학습시에는 Facade 패턴을 이용하여 서로 다른 서비스들의 상위 퍼사드 객체를 만들어서 사용한 적이 있습니다.(물론 퍼사드 패턴의 경우, 두 로직이 완전히 다른 맥락인 경우에 사용하는 것 같습니다.. 강의 예제와 같이 결합도가 높은 경우가 아니라..)그런데, 강의에서는 Factory 객체를 만들어서 (마치 제가 ServiceUtil을 만들어서 사용하는 것 처럼 - 사실 이름만 다르지 같습니다)사용하시는 모습을 보여주셨는데, Q1. 강사님께서는 실무에서 서비스의 책임을 분리할 때 주로 이런식으로 Factory 클래스를 분리하여 사용하시는지 궁금하고, Q2.그렇게 Factory 클래스로 책임을 분리했을 때, 이 Factory 클래스는 Controller / Service/ Repository 그 어느것도 아니게 되는데, Spring WEB mvc 레이어 아키텍쳐 상으로 어떤 Layer의 어떤 입장의 객체로 인지하고 사용해야 하는지 여쭙고 싶습니다. 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터 로그 순서 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]아래 캡처처럼 로그가 나오는데, LogInterceptor다음에 LoginCheckInterceptor의 로그가 나와야 하는거 아닌가요? (/item url 을 접속했을 때 나오는 로그들 입니다.) LogInterceptor preHandle의 REQUEST를 쏘고나서 바로 LoginCheckInterceptor의 preHandle의 로그들이 나와서 문의 드립니다. 제가 잘못 알고 있는 거 같은데 다시 한번 설명 부탁 드립니다. 그리고 postHandle의 로그는 왜 안나온건지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
리터럴 대체문법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]리터럴 대체문법이라고 말씀하셨는데 => ||자바스크립트 `` 백틱 같은 맥락이라고 보면 될까요?
-
미해결토비의 스프링 부트 - 이해와 원리
intellij community edition terminal http request
intellij community edition을 사용해 실습하고 있습니다. 섹션 2. Hello API 테스트와 같이 터미널에http -v ":8080/hello?name=Spring" 요청시 다음과 같은 에러가 뜨며 요청이 제대로 이루어지지 않습니다.혹시 ultimate 버전에서만 지원하는 기능이어서 그런건지 질문 드립니다. http : The term 'http' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.At line:1 char:1+ http -v ":8080/hello?name=Spring"+ ~~~~+ CategoryInfo : ObjectNotFound: (http:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
-
미해결실전! 스프링 데이터 JPA
실무에서 @DynamicInsert, @DynamicUpdate 사용하나요?
안녕하세요!좋은 강의 잘 들었습니다! 실무에서 JPA를 사용하면서 궁금한점이 있어서요실무에서는 @DynamicInsert, @DynamicUpdate 사용하고 있는데영한님은 한번도 안쓰시더라구요..!실무에서는 어떻게 사용하시는지 궁금합니다!@DynamicInsert, @DynamicUpdate 사용하지 않으면 어떻게 사용하는지도 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
왜 파일이 안나오는지 모르겠어요;;
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]경로를 들어가고싶은데 안들어가져요참고로 관리자계정으로 했는데도 똑같아요
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
[제안] H2 데이터베이스 설정
JDBC 이해.pdf 강의 자료 중 H2 데이터베이스 설정 부분에 대해 다음과 같이 추가 제안드립니다. h2 설치 파일을 다운로드 하면 h2.sh 파일을 바로 확인할 수 없어 당황했는데, 강의 영상에서 터미널 path를 보고 bin 디렉토리 안에 파일이 있다는 것을 유추할 수 있었습니다. 이에, 아래와 같이 명시적으로 디렉토리 이동에 대한 내용을 추가하면 다른 수강생분들에게 도움이 될 것 같습니다:)[기존]MAC, 리눅스 사용자 권한 주기: chmod 755 h2.sh 실행: ./h2.sh[추가]MAC, 리눅스 사용자 디렉토리 이동 : cd bin 권한 주기: chmod 755 h2.sh 실행: ./h2.sh
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 맥 단축키
갑자기 단축키 입력할때 엔터치면 됐었는데 지금은 탭해야 눌러져요그리고 단축키가 입력된 후에도 밑에 설명창이 안사라집니다밑에뜨는 연관 설명창이 너무 많아서 자동으로 사라지지 않고 직접 점 세 개 표시 누르지 않으면 타자를 칠 수가 없어요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
맥 스프링화면 초기화 오류
잠깐 다른창 보고오면 스프링화면이 모두 초기화 됩니다 ㅜㅜ(위에 잘못된 코드 수정했습니다~)이렇게 코드치다가 돌아가는거 확인하려고 크롬창 잠깐 보고오면이런식으로 초기화가 됩니다 ㅜㅜ너무불편한데 뭐가 잘못된건가요??그리고 run 중지하면 아래와 같이 뜨는데 괜찮은건가요? 실행하면 아래와 같이 뜹니다4:06:54 AM: Executing ':ServletApplication.main()'...> Task :compileJava> Task :processResources UP-TO-DATE> Task :classes> Task :ServletApplication.main(). ____ _/\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.7.16)2023-10-18 04:07:02.984 INFO 30258 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 11.0.2 on userui-MacBookPro.local with PID 30258 (/Users/user/Desktop/SpringMVC/servlet/build/classes/java/main started by user in /Users/user/Desktop/SpringMVC/servlet)2023-10-18 04:07:02.987 INFO 30258 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2023-10-18 04:07:04.469 INFO 30258 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2023-10-18 04:07:04.477 INFO 30258 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2023-10-18 04:07:04.477 INFO 30258 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.80]2023-10-18 04:07:04.578 INFO 30258 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2023-10-18 04:07:04.578 INFO 30258 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1445 ms2023-10-18 04:07:05.209 INFO 30258 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''2023-10-18 04:07:05.224 INFO 30258 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 7.989 seconds (JVM running for 8.448)HelloServlet.service현재 자바 11war 확인 완료나머지 설정 완료스프링부트 2.7사용 os = macbuild and run = gradle로 설정(인텔리제이 무료버전이라서) 매번 창이 사라져서 그때그때마다 바로 코드 못고치고 다시 서블릿누르고 메인누르고 자바누르고 베이직누르고 이과정을 계속 반복합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
select에서 sequence로 반복할경우 선택된 값이 보여지게 할려면 어떤식으로 해야할까요?
<select name="where" title="초급" class="sel_auto" th:field="*{beginnerCount}"> <option value="0">초급</option> <option th:each="num: ${#numbers.sequence(1, 10)}" th:text="${num + '명'}" th:value="${num}">1</option> </select>위와같이 numbers.sequence로 1~10까지 select로 만들었는데서버에서 th:field=*{beginnerCount} 값을 받아와서 만약 받아온 값이 5라고 하면 5가 선택되어지도록 하고 싶은데이럴 경우에는 어느부분을 수정을 해야 서버에서 받은 값이 선택이 되어질까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
private method 테스트문의
안녕하세요. 좋은 강의 잘 듣고 있습니다 ^^ 강의에서 private method 테스트를 해야되는 상황이라면객체를 분리해야되는 상황이라고 말씀을 주셨는데실무에서는 꼭 분리를 해야되는 상황이 아닐수도 있을텐데1)실무에서는 private method 에 대한 테스트는 거의 작성안하나요? 2)레거시 프로젝트를 맡았을때 public method 에 대한 테스트를 작성하기에는 많은 작업이 필요하다면 private method 라도 테스트 코드를 작성하는게 좋을거 같은데 이런 경우도 작성을 안하나요?3) private 함수를 변경하는경우 해당함수만 테스트하고 싶을거 같은데 이런경우는 어떻게하나요?