묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 오랜만에 예전에 메모했던 내용 복습 중인데"같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환한다. 이건 스레드 로컬 때문"이렇게 제가 메모해 두긴 했는데 내부 트랜잭션에서 REQUIRES_NEW를 사용하더라도 마찬가지인가요? 아니면 이땐 위 내용에 대해 예외인 케이스가 되나요?왠지 간단한 내용 같긴 한데 제가 스프링 고급 편 강의를 아직 안 들어서 잘못 이해해 버릴지도 몰라서 질문드립니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMappding 메서드 단위같은 것이 무슨말인가요?
이번 강의까지 듣고 궁금한 점이 생겨 다른분들 질문과 답변을 몇개 읽어보았는데요.질답중 RequestMapping이 핸들러 메소드 단위 같은 말이 나오던데.. 무엇인가요?예시 질문섹션5. RequestMappingHandlerAdapter - 인프런 | 커뮤니티 질문&답변핸들러매핑 - 인프런 | 커뮤니티 질문&답변제가 놓친 것인지는 강의에서는 RequestMapping 메소드? 핸들러 메소드 단위? 라던지..라는 내용은 없었던 것같은데 말이죠.클래스 레벨을 언급하신건 기억이 납니다.무엇을 의미하는 걸까요?....
-
해결됨ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
iis 배포 후 view페이지 수정
수업한 내용을 바탕으로visual studio에서 배포를 한 후배포한 경로로 iis 세팅을 하였습니다~ view페이지를 수정 할때마다 iis를 재기동 해야하는 문제가 발생하는데 웹폼처럼 view페이지(자바스크립트부분) 만 수정 할 수 있나요? 만약에 view페이지를 수정할때마다 배포를 하고 iis를 잠시 껐다 켜야하면 실무적으로 사용할 수 없는기술이 아닌가 싶어서요 제 질문은 view 페이지의 수정이 빈번하게 발생할때 iis 재기동 없이 업데이트 할 수 있는 방법이 있는지 여쭤보고 싶네요 웹폼처럼.. aspx파일만 수정하면 반영됬으면 좋겠는데...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 중간에 사용하는 줌? 확대 기능
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 중간 중간에 줌을 땡기는 건 무슨 프로그램인가요? IDE가 제공하는 기능이 아니고 실제 화면이 줌 되는 기능이 궁금합니다!.. 현재 강의 2:14초 경에 ControllerV4의 process 메서드를 확인하는 과정에서 줌이 사용됩니다!..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp에서 응답코드를 작성하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================jsp를 배우기전에는 servlet에서 응답 메시지를 작성했잖아요? 그런데 jsp와 이번에 mvc 패턴을 배우면서 강의에서 서블릿에서 jsp로 제어권(요청의흐름?)이 넘어가고 jsp에서 응답을 만들어서 클라이언트한테 보낸다고 강의에서 말씀하셨는데요. 그렇다면 궁금한게 기존 서블릿에서 작성하던응답 메시지들 정보들은 jsp에서 작성하나요?헤더 정보라던지 응답 코드라던지 등등이요. jsp가 뷰를 담당하기때문에 html 코드를 작성하는데 jps 파일에서 여기서 응답 메시지를 작성하는게 가능한지 또 가능하다면 응답 메시지를 이곳에서 작성하는게 적절한지 궁금합니다. 순수 뷰를 위한 html을 작성하는 곳이라고 생각했는데, 응답 메시지 같은 코드같은게 있는것이 적절한것인지 순수하게 궁금합니다. 답변해주시면 감사하겠습니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ItemUpdateForm의 필드 quantity에 @NotNull이 없는이유
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]update할때 요구사항이 "수정에서는 수량은 자유롭게 변경할 수 있다."라고 하셨는데, ItemUpdateForm클래스에서 quantity에 @NotNull을 붙이지 않은 이유는 만약 수정할때 Item 수량값 자체가 없으면 "수량을 파악할수 없는 아이템이라고 내부적으로 판단했다"라고 생각하면 되나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
6:10분 내용부터 이해가 잘가지 않아요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================6:10~ 부터해서 내용이 잘이해가 가지않습니다.. 처음 웹브라우저가 url 요청하고url에 해당하는 뷰를 렌더링까지하는 것은 이해가 됐습니다.그런데 url 변경이 되지않았다 << 이부분이 이해가 잘안갑니다..원래라면 해당 url 요청하고 뷰를 렌더링하면 다른 url로 바뀌어야한다는말씀인가요? 그러니까 url 변경이 되지 않았다는 것이 /servlet-mvc/members/new-form이 /WEB-INF/views/new-form.jsp 로 변경이 되지 않았다는 말씀인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 Gradle 빌드 도구 설정 'select configuration element in the tree to edit its settings' 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) -> 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) -> 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) -> 예[질문 내용]현재 상황File | Settings | Build, Execution, Deployment | Build Tools | Gradle 선택 시 'select configuration element in the tree to edit its settings' 만 조회되고 general settings 설정 창이 안보이는 상황단, import gradle 프로젝트 로딩은 문제가 없으며 코드 실행 역시 잘 되는 상황. 시도했던 해결 방안들인텔리제이 Invalidate and Restart 를 거침인텔리제이 전체 재설치 진행start.spring.io의 경우 해당 사진의 설정 사용 GPT에서 제공한 프로젝트 폴더 파일 역시 같은 증상(설정 조회가 되지 않는) 증상을 보임프로젝트 JDK 설정 역시 21 버전으로 설정, JAVA_HOME 환경 변수 역시 21버전으로 설정gradle 플러그인 역시 설치 및 활성화 되어 있음을 확인.idea 폴더와 .gradle 폴더 삭제 후 다시 프로젝트를 열어봄.gradle wrapper 존재 확인 Run anything에서 gradle clean 등의 실행을 거쳐봄.결론...여러 방안을 시도해보고 설정 역시 계속 재확인 후 인텔리제이 리스타트를 진행해도 해당 설정이 조회되지 않고,select configuration element in the tree to edit its settings 표시만 떠 있네요...혹시 해결 방안을 아시는 분 계실까요?오늘도 노고 많으십니다. 좋은 하루 되세요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
getWriter.write()의 의미
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================응답메시지를 작성하는 코드인 getWrite().write()가 강의에서 이 코드가 메시지 바디에 데이터가 들어간다고 설명하시는데요. 그리고 local:8080을 실행하면 사이트에 응답 메시지에 작성한 데이터가 보이잖아요? 이때 이 데이터를 보여주게하는 것은 웹브라우저의 역할인가요?이전까지는 사이트에 아무것도 안보이다가 getWriter.write() 한 이후에 사이트에 넣은 데이터가 보이니 write()라고 하니 메시지 바디에 데이터를 넣고 웹브라우저에 쓰는것 까지인가? 하고 헷갈려서요..그냥 단순 응답 메시지 바디에 데이터를 넣는것까지 인것같긴한데 혹시나해서 질문드려봅니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
application/json과 setChracterEnconding 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================utf-8에 대한 질문입니다.강의에서 application/json은 스펙상 utf-8을 사용하도록 정의가 되어있다고 하셨는데요.그래서 application/json만 전달해야한다고 하셨구요.그렇다면 setChracterEnconding("utf-8")은 뭔가여? 그냥 헤더에 정보를 남기기 위함인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실행 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================이전까지 아주 잘됐는데 이번 강의 코드 타이핑하니 저런 오류가 뜹니다.. 질문에도 비슷한 오류 뜨신분은 없는것같은데.. 어떻게 해결하나요? 추가 설정정보입니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
json으로 데이터를 전송한다면
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================이번 강의에서 GET 방식의 url 쿼리파라미터로 보내는 것과 html form으로 보내는 방식이 형식이 같기 때문에 getParameter()로 두가지를 처리할 수 있다고 하셨잖아요?그런데 만약에 보내는 데이터 형식이json이라면 이 경우에도 GET방식의 쿼리파라미터와 똑같이 getParameter()로 처리하나요? json도 키와 값 형식이라서 가능할까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 프로젝트를 위해 자바강의와 스프링부트강의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]안녕하세요.잘 듣고 있는 수강생입니다. 지금 스프링부트로 프로젝트를 하려고하는데 자바문법기본도 아직 익숙치 않은 상황입니다. 그래서 지금 강의를 자바 기본편부터 듣고 스프링부트강의를 듣는게 나을까요? 아니면 프로젝트를 위해서 스프링부트 강의를 먼저 듣는게 나을까요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]개인프로젝트에서 운영 및 로컬DB는 mysql을 사용하고 유저 테이블 이름을 user라고 하였고, User.java 엔티티 클래스를 만들었습니다.테스트DB는 h2 인메모리db를 사용하여 진행했는데, h2에서 user 는 예약어이기 때문에 테스트 도중 sql구문이 맞지 않아 실패했다고 합니다.Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "insert into [*]user (login_id,password,user_id) values (?,?,default)"; expected "identifier"; SQL statement: 위 문제를 해결하기 위해 구글링해보았는데mysql에서 테이블 명을 바꾸고 자바 코드의 User 이름들도 바꾼다.User.java 엔티티클래스에@Table(name = "\"user\"")를 추가하여 sql 구문이 생성될때 "user" 로 생성되게 하여 H2의 예약어 user를 피한다.테스트 db를 mysql로 설정한다.이런 방법들을 찾았습니다. 일단 추가적인 사이드 이펙트가 발생하지 않는 1번으로 했는데, 만약 김영한 선생님이라면 이 방법들중 어떤 방법을 사용할지, 아니면 또 다른 방법이 있는지 궁금합니다.
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
트랜잭션도 @Transactional을 사용하면 일종의 aop로 작동하지 않습니까?@Transactional은 그러면 우선순위가 어느정도인지 궁금합니다.그리고 커스텀aop를 적용할때 트랜잭션보다 먼저 적용해야하는 건지도 궁금합니다.그리고 @Repository를 사용하면 sql 체크 예외를 DataAccess 언체크 예외로 바꿔주는 aop가 있다는데, 그러면 @Repository가 @Transactional보다 우선순위가 낮아야지 언체크 예외로 변한 예외를 보고 트랜잭션이 롤백을 할텐데, 그러면 Repository는 무조건 Transactional 보다 우선순위가 낮게 만들어진건지도 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
아이솔레이션 레벨에 관한 내용도
관련 내용도 이 강의에 들어가있을까요?아니면 다른 강의에있을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
jpa와 기타 db 기술을 혼합해서 사용할 때 질문드립니다.
여러가지 repository를 만들어야하나요?예를들어서 mybatis, jdbctemplate, 스프링jpa, 순수jpa, querydsl을 사용한다고 할때mybatisRepo, JdbcRepo, 스프링JpaRepo, 순수Jpa + querydslRepo, 이런식으로 다 나눠서 하는게 맞는걸까요?? 그러면 강의에서 말씀해주신 것처럼 DIP 원칙은 위배될텐데 그래도 되는걸까요? DIP원칙 위배되지 않게 하기위해서 각 repo별로 인터페이스 만드는것도 뭔가 이상해보이기도 하고... 헷갈리네요 Jpa를 사용한 후에, mybatis나 jdbctemplate같이 수정과 조회를 디비에서 체크하는 db기술을 사용한다고 할때, 이전 jpa 사용에서 어떤 수정이 이루어졌었다면 그건 영속성 컨텍스트에 저장되어있기만하고 아직 flush를 하지 않아서 디비엔 반영이 안되어 있는 상태라서 mybatis나 jdbctemplate를 이용할 때 뭔가 데이터 정합성이 안맞는다거나 하는 문제가 발생할 수 있기에(뇌피셜) 아무튼 jpa 사용 후 mybatis, jdbctemplate 사용하려면 사용하기 전엔 flush를 꼭해줘야 한다고 하셨는데, 그러면 service 레이어에서 entitymanager를 의존받아야 하는데 이게 맞는건지 궁금합니다. jpa 기술을 서비스레이어까지 끌고오는게 어찌보면 좀 안맞는거같고 그걸 피하기 위해서 트랜잭션 aop를 사용한것 같은데... 그래도 db기술 혼합사용시에는 그냥 service 레이어에 entitymanager를 의존받는게 맞는걸까요?jpa를 이용한 db 처리방식은 효율적인 건가요??항상 효율적인 것 같지는 않지만, 영속성 컨텍스트를 체크해서 결국 마지막에 최종 변환 된 것만 쿼리를 날려서 수정을 한다던가 하는 부분은 뭔가 효율적인것처럼 보이지만서도, 단순히 update하나만 한다고 가정하면, find로 select 쿼리를 한번 날리고 setXXX으로 객체에 뭔가 변화를 줘서 커밋직전 flush에서 update쿼리를 한번 더 날린다고 생각하면 또 비효율적인거 같기도하고 잘 모르겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ID는 Transactional 으로 rollback이 안되나요 ?
@Transactional 을 써주면Test 후에 data가 반영 되지 않고 rollback 되는거라고 이해했는데요,id 값은 계속 올라가는데 이건 왜그러는걸까요 ..?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
html이 선행학습이 되어있어야 할까요 ?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요스프링 mvc2를 수강하는 중 궁금한 점이 생겨 여쭤보게 되었습니다.제가 로드맵을 하나씩 쭉 차근차근 따라오는 중인데, 이번 스프링 mvc2는 유독 mvc1에 비해 따라가기가 어렵다는 생각이 드네요..이유를 생각해보니 html에 대한 기본기가 하나도 없는 상태인 것 같은데, 아직 다 수강한 것은 아니지만 초반 부분은 타임리프와 스프링을 함께 사용하는 부분이 많은 것으로 보입니다. 복습까지 반복을 해도 이해가 잘 안되는 상황인데 기본적인 html 지식이 선행되어야 이번 mvc2 이해가 잘 될까요 ?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
다중 스레드 환경에서 ArrayList를 안전하게 사용할 수 있나요?
[질문 내용]강의 퀴즈를 풀고 있는데 이해가 안 가는 부분이 있습니다.답이 HashMap인데ArrayList나 Array는 다중 스레드 환경에서 안전하게 사용할 수 있나요?