1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 열심히 수강 중인 취준생입니다 ! 궁금한 점이 있어 여쭤보는데, 올려주신 '2024 최신버전으로 프로젝트 설정하기-소스코드'에 들어있는 pom.xml에 대해 여쭤보고 싶습니다. 해당 코드는 https://start.spring.io/ 에서 의존성 추가 목록에서 추가할 수 있는 것일까요 ? 올려주신 pom.xml 코드를 복사 붙여넣기 식으로 계속 사용해야할지 , 혹은 이 코드를 spring.io에서 의존성 추가로 얻을 수 있는 것인지 궁금합니다 ! 좋은 강의 항상 감사드립니다 ! (인텔리제이 유저입니다 !)
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
안녕하세요. 항상 좋은 강의 제공해 주셔서 감사합니다. 현재 Admin 뷰 템플릿을 적용하는 강의를 듣고 있습니다. 강의에서 안내해 주신 방법대로 뷰 템플릿을 다운로드받기 위해 해당 페이지에 접속했는데, 아래 이미지와 같이 표시되어 있어 질문드립니다. 혹시 최근 업데이트로 인해 Admin 뷰 템플릿이 유료화된 것인지, 또는 다른 변경 사항이 있는지 확인해 주실 수 있을까요? 개인적으로는 2025년 3월 11일 업데이트 이후 유료화된 것으로 보이는데, 정확한 내용이 궁금합니다. 답변 부탁드립니다. 감사합니다. [URL]: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 내용중에 " 조인에 대해서도 당연히 지원한다." 라고 되어있는 ppt 내용중에서, 이렇게 join을 사용하는 부분이 있는데, 여기에 있는 join이 left join이랑 다른 것이고 inner join이랑 다른 개념인건가요? “기능 살펴보기” 부분에도 그냥 join도 있고 innerjoin도 있고, left join도 있던데 그냥 join은 무슨 의미인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 마지막에 말씀하신 생성된 걸 그대로 쓰지 말라고 하셨는데 그러면 ddl-auto는 참고만 하고, DB 생성은 직접 하는 게 좋다는 의미인 거죠? 그리고 찾아보니 ddl-auto에 create-drop라는 것도 있던데, 강의에선 create로 하셨지만 create-drop을 하는 게 테이블 참고용으로는 더 편리하려나요?
강의 예제 코드에서는 user-service 라는 msa 에서 jwt발급 과정에서 user id를 Subject에 설정해서 발급하고 이후에 gateway 에서 검증할 때 그냥 subject 만 추출하고 null 이 아니면 그냥 검증되는 식으로 작성되어있습니다 그리고 강의에서 bearer 토큰으로 받은 값에서 subject 를 추출해서 그걸 user_id 랑 비교해서 검증하면 된다는 언급이 있습니다 여기서 의문인 건 비교할 실제 db 가 user-service 에있다는 점입니다 추후 강의에서 msa 간 통신하여 user-service에 있는 db 에서 userId 가져와서 비교하는 식으로 처리가 되는 걸까요 ? 궁금해서 질문 남깁니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 1)“JPA와 상속 - 조회” 부분에서, 개발자는 Album album = jpa.find(Album.class, albumId); JPA는 SELECT I.*, A.* FROM ITEM I JOIN ALBUM A ON I.ITEM_ID = A.ITEM_ID 이렇게 처리해준다고 하는데, Album를 찾는거면 from album에 join이 item이 되어야 하는게 아닌건가요? 2)“지연로딩” 부분에서, 실제로 team의 속성인 getName()을 사용할 때 생성되는 쿼리가 select * from team이 아니라, select * from team where member_id = ~~ 이런 쿼리가 날라가는게 맞지 않나요?
application.propertes spring.application.name=apiServer spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/apidb spring.datasource.username=apidbuser spring.datasource.password=apidbuser MySQL CREATE USER 'apidbuser' @ ' localhost ' IDENTIFIED BY 'apidbuser' ; CREATE USER 'apidbuser' @ '%' IDENTIFIED BY 'apidbuser' ; GRANT ALL PRIVILEGES ON . TO 'apidbuser' @ ' localhost ' WITH GRANT OPTION ; GRANT ALL PRIVILEGES ON . TO 'apidbuser' @ '%' WITH GRANT OPTION ; 현재 데이터베이스 연결은 잘된거 같은데 연결할때마다 oading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 2025-03-16T15:58:11.685+09:00 INFO 58817 --- [apiServer] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-16T15:58:11.687+09:00 WARN 58817 --- [apiServer] [ restartedMain] c.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation. 2025-03-16T15:58:11.855+09:00 INFO 58817 --- [apiServer] [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6077b088 2025-03-16T15:58:11.856+09:00 INFO 58817 --- [apiServer] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-03-16T15:58:11.878+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2025-03-16T15:58:11.900+09:00 INFO 58817 --- [apiServer] [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final 2025-03-16T15:58:11.911+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2025-03-16T15:58:12.010+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2025-03-16T15:58:12.061+09:00 INFO 58817 --- [apiServer] [ restartedMain] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 9.1 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-03-16T15:58:12.353+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-03-16T15:58:12.354+09:00 INFO 58817 --- [apiServer] [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-03-16T15:58:12.369+09:00 WARN 58817 --- [apiServer] [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2025-03-16T15:58:12.506+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 2025-03-16T15:58:12.522+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' 2025-03-16T15:58:12.526+09:00 INFO 58817 --- [apiServer] [ restartedMain] o.zerock.apiserver.ApiServerApplication : Started ApiServerApplication in 1.469 seconds (process running for 2.034) 이런 에러가 떠서 테스트를 실행해도 데이터가 정상적으로 저장되지 않습니다 무엇이 원인일까요?
안녕하세요! 항상 강의 잘 듣고 있습니다! 그런데 강의를 듣다가 checkTokenForRefresh 을 해주는 메서드를 만드셨는데 제가 이해한것이 맞는지 궁금해서 질문드립니다! 이 메서드에서 만료가 되면 TokenExpiredException 이 일어나면 토큰이 만료되서 decode 을 하시는데 위에 메서드들 처럼 createToken 을 안하는 이유가 만료된 토큰의 정보 바탕으로 바로 똑같이 바로 만들어지는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 서비스에서 조회가 필요할때 연관관계를 설정하여 객체를 통한 조회가 그냥 Bean의 Repository를 통해 조회하는것보다 실무에서 어떤 점이 좋은지 궁금합니다. 어차피 지연 로딩이면 저장소 조회가 낫지 않나 싶어서요 감사합니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 별로 중요한 질문은 아닐 수도 있는데 이 강의에선 application.yml을 사용하시고, 이후에 찍으신 강의인 스프링 로드맵에선 항상 application.properties를 사용하셨던 거 같은데 요즘엔 현업에서 뭘 더 선호하나요? 김영한 님이나 서포터즈 분들은 어떤 걸 더 선호하시는지 궁금합니다.
Resilience4j - circuitbreaker를 보며 공부 중에 feign 에 Resilience4j의 cb나 bulkhead를 적용하게 되면 feignfallbackfactory 동작 시, throwable이 wrapping 되는 현상이 나타납니다. (ex. ExecutionException) 예를 들어, 4xx대의 에러, 즉 FeignException.BadRequest에 대한 분기 처리를 하려면 fallbackfactory 에서 throwable에 대한 원본 cause 를 추출하는 방법 밖에는 없을까요? (ex, throwable.getcause().getcause())
@Test void calculateTotalPrice() { 위에 이미지 처럼 테스트에서 검증 후 , 아래처럼 public int calculateTotalPrice() { return beverages.stream().mapToInt(Beverage::getPrice).sum(); } 로 리팩토링 진행하셨는데 테스트코드에서 검증 통과받으면, 프로젝트 코드에서 리팩토링 된 부분은 천하무적 이라고 생각하면 되나요 ? 이때 발생하게 되는 변수는 없을련지,,,, 궁금합니다!