월 66,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
테스트 질문드립니다.
안녕하세요, 강의 잘 보고 있습니다. 다름이 아니라, 테스트 관련 질문입니다. 일단 모든 테스트를 돌렸을때, 모든 테스트가 통과합니다. 그런데, 통과된 테스트 콘솔을 보면 저런 에러 로그들이 남아있습니다. 각 테스트에서 h2 데이터베이스가 테이블을 drop할 때나, 테스트 시작 직전에 테이블을 create할 때 이미 해당 테이블들이 직전 테스트에서 만들어져 존재하므로, 만들 수 없다는 에러 같은데요, 신경 안 써도 되는건가요? 괜히 저런 에러가 남으니 찝찝해서요
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 백기선님!
안녕하세요. properites 파일 관련하여 질문드립니다. 현재 프로젝트과 같이 application.properties와, application-dev.properties가 동시에 있는 경우 두개의 properties가 둘다 적용되는 것인가요? 다음의 두가지의 경우 때문에 헷갈리는 부분이있습니다! 1. Active profiles 를 dev로 설정하셨는데. application.properties의 app.host를 사용할 수 있는것을 보면 두개의 파일 모두 적용이되는것 같은데 2. JavaMailSender의 경우를 보면 local로 설정하게되면 ConsoleEmailService가 적용이되고 dev로 설정하게되면 HtmlEmailService로 설정이 되는것을 보면 또 각각이 따로 적용되는것으로도 보입니다. spring.profiles.active=local application.properties의 위 설정 부분때문에 혼동이 조금있는데요. local일때 해당 properties파일이 적용된다는 설정이아니고 application.properties는 공통으로 사용되는부분이고 dev를 사용하면서 active가 dev로 오버라이트 되어서 2. 번의 경우처럼 나눠서 사용할 수 있는것인가요?
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
autoController에 Javamailsender 의존성 추가 에러
@Controller@RequiredArgsConstructorpublic class AccountController { private final SignUpFormValidator signUpFormValidator; private final AccountRepository accountRepository; private final JavaMailSender javaMailSender; 의존성을 추가해줬는데 왜 해당 컨트롤러 클래스에서 javaMailSend를 찾지못하는지 이류를 모르겠습니다. @Component가 빠진부분도 없어서 빈 등록은 제대로 해주었는데 무엇이 문제일까요 WARN 6760 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accountController' defined in file [/Users/seokhun/IdeaProjects/jpastudywebapp/build/classes/java/main/com/jpa/studywebapp/account/AccountController.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.mail.javamail.JavaMailSender' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} Description: Parameter 2 of constructor in com.jpa.studywebapp.account.AccountController required a bean of type 'org.springframework.mail.javamail.JavaMailSender' that could not be found. Action: Consider defining a bean of type 'org.springframework.mail.javamail.JavaMailSender' in your configuration.
- 해결됨스프링과 JPA 기반 웹 애플리케이션 개발
태그 추가에 있어 js 단 에러
안녕하세요. tag 를 추가하는 부분에 있어서 아래와 같은 에러가 발생하는데 어떻게 조치해야할지 모르겠어 질문 남깁니다. 아래 onAdd(e) 함수의 e 에 대한 정보를 제대로 참조하지 못하는것이라 추정되는데요, 혹시 강의를 따라가다가 오타가 난 것인가 해서 기선님께서 커밋하신 내용 찾아가서 해당 html 코드 그대로 붙여넣어도 동일한 에러가 발생합니다. 혹시 다른식으로 해당 value 에 접근할 방법이 있는지요?? function onAdd(e) { tagRequest("/add", e.detail.data.value); }
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 백기선님! 궁금한점이 생겨서 질문드리고 싶습니다!
시큐리티에 대해서 공부하던 도중에 궁금한게 생겼습니다.1. 스프링 시큐리티에서 SecurityContext는 서버사이드에서 하나만 존재하는게 아닌 클라이언트마다 서로 다른 SecurityContext를 가지게 되는건가요? 2.그렇다면 SecurityContext들을 저장하는공간이 SecurityContextHolder여서 내부적으로 SecurityContext들을 저장하고 있는건가요?3.만약 1번 2번이 맞다면 SecurityContextHolder에서 SecurityContext를 관리하는데 내부 SecurityContextHolderStrategy에서 ThreadLocal<SecurityContext>로 컨텍스트들을 저장하고 저희가 현재 접속하고 있는 사용자를 가져오려고 할때 내부적으로 세션을 검사해서 일치하는 SecurtiyContext를 반환하는건지 궁금합니다.질문에 두서가 없는점 죄송합니다 ㅠㅠ
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 백기선님!
안녕하세요 백기선님 강의 잘보고있습니다! 강의내용과 같은 형태로 Account와 Tag의 연관관계를 ManyToMany로 설정후 강의와 같은방식으로 tag 정보를 삭제하고 있는데요. 위 로그와 같이 account_id를 기준으로 조인테이블을 모두삭제하고 다시 삭제대상 tag를 제외한 tag를 다시 insert하는 방식으로 쿼리가 나가는데 어느부분에서 차이가 있는지 파악이 안되어서 질문 드립니다. 추후에 수정을 의도하시고 강의하신줄 알았는데 영상을 보니 강의에서는 delete 쿼리 하나만 나가는것으로 확인하였는데 어떤 문제인지 모르겠습니다.
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 ModelMapper 질문이 있습니다.
현재 강의 수강하면서 개인적으로 프로젝트를 하나 만들어보면서 함께 적용도 해보면서 공부하고 있는데요. 웹이 아닌 API만 구현 중 입니다. 1. 제가 공부하기로는 API개발에서도 Entity를 리턴해주면 않되고 DTO로 만들어서 사용자에게 내보내줘야 한다고 알고 있는데 이때에도 ModelMapper와 같은 라이브러리를 이용해서 DTO to Entity와 Entity to DTO로 사용해야 하는건가요 ? 2. 모든 Response에서 DTO로 만들어서 리턴을 해주는지 궁금합니다. 모든 요청마다 DTO를 만들어서 리턴해주기에는 번거롭고 DTO가 많아질 것 같습니다.
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
Transactional 관련 질문 있습니다
studyService.getStudyToUpdate를 실행 후 controller 단에서 study는 이미 service(transactional)에서 나왔으니까 detached 상태인게 아닌가요? service 단에서 @Transactional이 함수 단위로 붙어있으니까 한 함수가 하나의 transaction 이라고 생각해서 service에서 나오고 나면 detached라고 생각했는데 아닌가보네요 ㅠㅠ.. 그럼 updateStudyDescription에서 나오고 나서도 persist 상태인건가요?
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
테스트 코드에 오타가 하나 있어요
createStudy_fail에서 마지막에 findByPath 할 때 "test-path" -> "wrong path"로 수정해야 할 것 같습니닷
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
EntityGraph 관련 질문 드립니다
ManyToMany인 것들에 직접 @Basic(fetch = FetchType.EAGER)를 붙여주지 않고 EntityGraph를 사용하신 건 findByPath 에서만 특별하게 EAGER로 가져오고 그 외에는 지연로딩으로 받아오도록 하시기 위해서 맞나요? 그리고 LOAD는 명시 한 것 외에는 default type을 따른다고 되어있는데 entity에서 @Basic으로 설정해놓은 fetch type들이 무시되는 것은 아닌 것 맞나요? EntityGraph 사용해서 함수별로 type을 따로 설정할 수 있는게 신기하네요
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요! 회원가입 인증 메일 테스트 케이스 작성중 궁금한게 생겼습니다!
안녕하세요! 백기선님 강의 정말로 잘 듣고 있습니다. 인증 메일 테스트 케이스 작성을 하다가 궁금한점이 생겨서 이렇게 질문을 올리게 되었습니다.인증메일 확인 - 입력값 정상 테스트 케이스를 약간 수정해서 이런식으로 작성했습니다. 토큰을 생성한뒤 db에 해당 객체를 저장하기때문에 @Transactional어노테이션을 넣지 않았습니다.이 테스트 케이스는 혼자서 동작시키면 잘 작동하지만, 다른 테스트 케이스와 같이 돌리게 되면 작동하지 않습니다. (DataIntegrityViolationException 가 발생합니다.)다른 테스트케이스에서도 똑같은 nickname을 사용하고 있기 때문에 발생하는 예외인것 같습니다. 그런데 왜 백기선님의 코드에서는 오류가 발생하지 않지? 라는 생각을 가지게 되어서 차이점을 살펴봤더니유일한 차이점이 @Transactional 어노테이션이었고 해당 어노테이션을 넣으니까 모든 테스트케이스가 정상적으로 동작했습니다.@Transactional 어노테이션이 Test가 끝난뒤에 db를 초기화하는 기능까지 있는건가요? 이해가 잘 되지않습니다..
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 addAttribute에 관한 질문이 있습니다.
안녕하세요 백기선님! addAttribute에 관한 질문이있습니다. @GetMapping(SETTINGS_PASSWORD_URL)public String updatePasswordForm(@CurrentUser Account account, Model model) 내부에서 model.addAttribute(new PasswordForm())로 PasswordForm 객체를 model에 추가해주는 부분이있는데요. PostMapping시에 해당 객체를 통해 데이터를 전송하기 위한것으로 보이는데, 프로필 수정 부분처럼 설정된 기존 데이터(한 줄 소개 등)를 사용하지 않는 패스워드 변경 기능에서도 저런식으로 PasswordForm객체를 GetMapping 시에 추가하는 이유가있을까요? 스프링 부트 강의에서 알려주셨던 @ModelAttribute를 사용하여 PostMapping에서는 PasswordForm으로 바로 받을수 있을것이라고 생각되는데 어떤 이유인지 궁금합니다!
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 프로필 이미지 업데이트 질문입니다
먼저 양질의 강의 감사드립니다. 프로필 업데이트 기능 강의를 보며 실습중에 문제가 발생하여 질문드립니다. 프로필 수정 품에서 다른필드들(한 줄 소개, 링크, 직업...)은 수정하기 시도시 정상적으로 변경이되는데 반해 프로필 이미지는 cropper를 통해 자르기, 확인 후 수정하기를 시도하면 위와같이 403 에러를 리턴합니다. 이런저런 시도 끝에 자르는 이미지영역을 작게하면 변경이 되는것을 확인하였습니다. 이미지 크기 문제인것으로 미루어 짐작만하고 있습니다. 125x125로 고정된 데이터라 영역에 상관없이 비슷한 데이터 크기일꺼라고 생각하는데 어떤이유인지 궁금합니다! 또 다른 질문은 위에 첨부된 스크린샷과 같이 403 에러 페이지만 리턴되고 IDE에 에러가 따로 출력되지 않아 디버깅에 어려움을 겪었습니다. PostMapping updateProfile() 메소드에 중단점을 찍고 디버그해도 잡히지 않는것으로 보아 매핑URL로 핸들링 되기 이전 앞에서 이미 걸러진 경우인것 같은데 403 에러로 보아 시큐리티에서 막았는지 예상만하고 있습니다! 이렇게 에러메세지에 대한 정보가 없는경우 디버깅을 어떻게해야하는지 궁금합니다. 양질의 강의, 코드를 제공해주셔서 감사합니다. 업데이트 가능한 경우 업데이트 불가능한 경우
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 WithAccount 어노테이션 기능에대한 질문이있습니다.
해당 코드를 테스트메소드 updateProfile()에 바로작성해도 같은 기능을할 것 같은데 WithAccount 어노테이션의 효용성이 궁금합니다. 후에 재사용을 위한 기능분리를 위한것일까요? 그런것이라면 메소드로 정의해서 쓰는것과의 차이가 궁금합니다!
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요 백기선님!
우선 강의 아주 잘 보고있습니다. 다름이 아니라 정석적인 방법이 아니라는 말이 스프링에서 권장하는 정석적인 방법은 아닌데, 플레인 패스워드 데이터를 가지고 있지않기위해 현업에서도 하는방식인지 현재 프로젝트 설계상 어쩔수 없이 이렇게하는것인데, 원래는 정석적인 방법으로 해야하는것인지 궁금합니다. 만약에 정석적인 방법으로 한다면 플레인 패스워드를 사용하여 UserPasswordAuthenticationToken을 만들어야하는데 링크를 통해 이메일 인증후 로그인을 시도하게하도록 하는 프로세스로 진행하면될까요?
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
@Valid관련 에러를 처리할때
@Valid관련 에러를 BindingResult로 받는거랑 Errors로 받는거에 대한 차이가 따로 있을까요?
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
Get으로 복잡한 형태의 파라미터를 전달 받을 수 없을까요?
안녕하세요 선생님. Get 메소드로 넘어오는 데이터들을 @Data 어노테이션을 붙인 클래스로 받았는데요 http://localhost:8080/test?my_list=[{"name": "kk", "age": 20}, {"name": "bb", "age":19}]&...기타파라미터들... 위와 같이 요청을 하면 뒤에 기타파라미터들은 잘 받을 수 있는데 my_list(json) 이 추가되면 아래와 같은 bad request 가 발생합니다.- The valid characters are defined in RFC 7230 and RFC 3986- The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). json 이 포함된 데이터를 get 메소드의 파라미터로 받을 수 있는 방법이 있는지 궁금합니다. 감사합니다.
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
검색 질문있습니다.
질문있습니다 containsIgnoreCase(keyword) 를 사용하면 like쿼리가 발생하는데 하나의 keyword가 아닌 여러개의 keyword List<String> keywords 이런 형식으로 여러 키워드를 검색하도록 쿼리를 작성할 수가 있을까요??
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
시큐리티의 로그인 패스워드 암호화에 대해서 질문드립니다.
안녕하세요 수강중인 학생입니다. 지금 진행중인 프로젝트에 암호화방식을 SHA512를 써야하는데 시큐리티에서 지원이 끊겼는데 이런 경우에는 어떻게 해결해야하나요 ??ㅠ
- 미해결스프링과 JPA 기반 웹 애플리케이션 개발
ModelMapper 적용에 대해 궁금한게 있습니다!
https://github.com/cupjoo/studyolle 현재 nickname 변경 파트를 진행중입니다. 그러던 중 테스트를 돌려보니 이전에 작성한 updateProfile 테스트에서 오류가 나 디버깅을 찍어보며 확인해보니 Account에서 @Setter를 적용하지 않아 ModelMapper 적용 시 오류가 발생한 것으로 확인됐습니다. 평소에 최대한 @Setter 사용을 지양하고자 필요한 속성에만 change속성() 과 같이 메소드를 생성했습니다. 이 경우 ModelMapper를 적용하려면 어떻게 해야하는지 조언을 구할 수 있을까요?