inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

172만명의 커뮤니티!! 함께 토론해봐요.

snapshot이 안 뜹니다...

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

20분 30초 쯤에 gradle clean build까지 잘 되고 libs까지 이동했는데 그 후에 snapshot은 없고 snapshot-plain만 생성돼있네요... snapshot이 생성되지 않는 이유가 뭔지 알 수 있을까요..?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
c3392302 댓글 1 좋아요 0 조회수 418

저만 뭐가 뭔지 하나도 모르는 건가요......

스프링 부트 - 핵심 원리와 활용

java를 배우고 기본은 된다고 생각해서 Springboot강의를 듣고 있는데.... 하나도 모르겠습니다... 백엔드 기술을 처음 배우는 입문자 부터 들어도 좋다라는 설명글을 보고 듣고 있는데... 진짜.... 그냥 강사님 하는 거 따라치는 것 뿐이지 이게 뭔지.. 뭐가 뭔지 하나도 모르겠습니다..... 코드들이 뭘 하는 건지 감도 안잡혀요.. 그냥 큰 메커니즘이 이런 건가? 하고 어렴풋이 긴가민가 한 정도입니다... 저만 이렇게 어려운 건지..... 원래 이렇게 그냥 모르고 일단 하는 건지..... 심란하네요...

  • spring
  • spring-boot
  • prometheus
  • grafana
YR 댓글 1 좋아요 0 조회수 579

무슨 말인지 거의 모르겠네요

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

일시정지하며 열심히 따라치고는 있는데 말씀하시는 내용이 무슨 말인지 잘 모르겠어요 ㅠ 원리 같은거 하나도 이해가 안되고 모르는 개념이 너무 많네요 이대로 계속해도 되는걸까요..? 다 수강하고 기본편 들어도 되나요? 자바 언어를 제대로 배우고 와야하는걸까요

  • java
  • spring
  • mvc
  • spring-boot
BBIRA 댓글 2 좋아요 0 조회수 480

안녕하세요. 급하게 문의를 드리고 싶은데요.

스프링 시큐리티

안녕하세요. 급하게 문의를 드리고 싶은데요. 해당 강의를 보고 시큐리티로 사용자, 어드민을 개발했습니다. 그런데 고객사에서 서버 1대에서 2대로 운영하고 싶다고 갑자기 요청이 왔는데... 제가 알기로든 시큐리티는 세션으로 관리되기 때문에서 서버 2대에서는 세션관리가 어려운 것으로 알고 있습니다. 그래서 강사님께 문의를 드려보고 싶은데요.. 혹시 시큐리티로 서버 2대에서 운영되게 할 수 있는 방법이 있을까요? 답변 주시면 감사하겠습니다.

  • java
  • spring-boot
  • spring-security
deokgoni 댓글 2 좋아요 0 조회수 459

spring 3 버전 이상 이용시 주의사항

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

spring 3 버전 이용시에는 java 17 이상 버전을 이용해야합니다. java 11을 이용하실 때에는 오류가 따라오는거 주의 바랍니다.

  • java
  • spring
  • mvc
  • spring-boot
신승현 댓글 1 좋아요 0 조회수 515

네이버 로그인 시 authorityMapper 오류

스프링 시큐리티 OAuth2

강의 그대로 따라했는데 계속 오류 발생하여 로그 찍어보니 OAUTH2_USER 라고 받아오네요. CustomAuthorityMapper 안에 mapAuthority 클래스에서 private GrantedAuthority mapAuthority(String name) { if(name.lastIndexOf(".") > 0){ int index = name.lastIndexOf("."); name = "SCOPE_" + name.substring(index+1); } if (this.prefix.length() > 0 && !name.startsWith(this.prefix)) { // 여기서 SCOPE_OAUTH2_USER // 로 되어 ROLE 검사를 통과하지 못 합니다. name = this.prefix + name; } return new SimpleGrantedAuthority(name); } 일단 한번 다 확인 후에 이후 강의를 들어야겠기에 일단은 OAUTH2 로 시작하는 네이버 경우를 따로 빼서 ROLE_SCOPE_PROFILE, ROLE_SCOPE_EMAIL 이렇게 그냥 부여했습니다. keycloak 인 경우는 받아오는 인자 자체가 SCOPE_email SCOPE_openid SCOPE_profile OIDC_USER 이렇게 받아와서 문제가 발생하지 않았습니다. 제 naver 어플 설정이 잘못된건지도 모르겠네요..

  • java
  • spring
  • spring-boot
  • oauth
system.out.println 댓글 0 좋아요 0 조회수 445

테이블 설계 질문드립니다!

실전! 스프링 데이터 JPA

안녕하세요 김영한 선생님! 선생님 강의 덕분에 스프링 공부 재밌게 하고 있습니다! 다름이아니라 코드 예제에서 테이블을 설계할 때 @GeneratedValue 어노테이션을 사용해서 모든 테이블의 PK를 idx로 잡고 비식별 관계로 연결하는 구조를 짜시던데 이 부분에 질문이 있습니다! 예를 들어 유저 테이블의 아이디 컬럼이 Not Null이고, Unique한 값이라고 할 때 이 컬럼이 유저 테이블의 PK역할을 할 수 있다고 생각하는데, idx 컬럼을 단순히 auto increment 타입으로 설정하게 되면 불필요한 컬럼이 늘어나는게 아닌지 궁금합니다! 테이블에서 Not Null이고, Unique한 컬럼이 있음에도 불구하고 auto increment를 활용한 id를 pk로 잡는것의 장점이 있을까요??

  • java
  • spring
  • spring-boot
  • jpa
devyyy 댓글 2 좋아요 1 조회수 696

TaskExecutorRepeatTemplate에 있는 throttleLimit 값을 변경하고 싶은데 방법이 없을까요?

스프링 배치

TaskExecutorRepeatTemplate에 있는 throttleLimit 값을 변경하고 싶은데 방법이 없을까요? 현재 throttleLimit 을 set을 하려고 보니깐 @Deprecated(since = "5.0", forRemoval = true) public void setThrottleLimit(int throttleLimit) { this.throttleLimit = throttleLimit; } 5.0버전 이후로는 삭제 되었다고 되어 있네요ㅠㅠ 다른 방법으로 해당 throttleLimit 을 값 설정할 방법이 없을까요?

  • spring-boot
  • spring-batch
잠온다 댓글 1 좋아요 0 조회수 1561

만료된 메서드 fetchResult(), Blaze-persistence 세팅 관련 글 공유드립니다.

실전! Querydsl

QueryDSL 내부 메소드 중 fetchResult() 나 fetchCount()는 만료된 메소드에 대해서는 QueryDSL에서 Blaze-persistence Integration 라이브러리 사용을 권장 하는데요, Blaze-persistence도 QueryDSL 처럼 쿼리 빌더 API 로서 개발자에게 유지보수하기 좋은 객체를 제공해주고 있습니다. 게다가 최신 업데이트 날짜가 글 작성일 기준(2023.06.21) 일주일 이전이라 여전히 유지보수되고 있어서 최신 스프링버전과 호환성도 어느정도 보장되었다고 볼 수 있습니다. 개인적으로 SpringBoot 3.1.0 기준으로 다음과 같이 세팅하니 정상적으로 동작하는 걸 확인했는데요, 혹시 저처럼 deprecated 메소드를 쓰는 것이 신경쓰이시는 분들을 위해 공유드립니다. build.gradle dependencies { //Blaze-Persistence implementation 'com.blazebit:blaze-persistence-integration-querydsl-expressions-jakarta:1.6.9' implementation 'com.blazebit:blaze-persistence-integration-hibernate-6.2:1.6.9' implementation 'com.blazebit:blaze-persistence-core-impl-jakarta:1.6.9' } BlazePersistenceConfiguration.java @Configuration public class BlazePersistenceConfiguration { @PersistenceUnit private EntityManagerFactory entityManagerFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) @Lazy(false) public CriteriaBuilderFactory createCriteriaBuilderFactory() { CriteriaBuilderConfiguration config = Criteria.getDefault(); // do some configuration return config.createCriteriaBuilderFactory(entityManagerFactory); } } QuerydslBasicTest.java ..... JPAQueryFactory queryFactory; @Autowired CriteriaBuilderFactory cbf; BlazeJPAQueryFactory blazeQueryFactory; @BeforeEach public void testEntity(){ queryFactory = new JPAQueryFactory(em); // 이건 동시성 문제를 고민하지 않아도 됨, 해결됨 blazeQueryFactory = new BlazeJPAQueryFactory(em, cbf); ..... 적용 결과 기존 QueryDSL 세팅한 것에 추가로 세팅하시면, 만료된 메소드에 대해 Blaze-persistence 객체로 대체되는데요, 기존 querydsl 클래스를 상속 받는 형태여서 QueryDSL이 제공하는 메소드를 그대로 쓸 수도 있습니다. fetchResults는 fetchPage로 바꿔서 사용할 것을 권장하고 있다는 점 참고하시면 될 것 같습니다. 추가로 내부로직이라든지 설명이 더 필요하시다면 Blaze-persistence 릴리즈 노트 와 Blaze Persistence Document 를 참고하시면 좋을 것 같습니다. 이 글에 대해 지적 및 피드백 해주시면 정말 감사하겠습니다. 감사합니다. 여담 및 고민 : 개인적으로 이 라이브러리의 내부로직을 뜯어보면서 분석하고 검증할 수 있는 역량은 부족한지라 분석 및 검증하는 방법에 대해서 팁이라든지, 아니면 blaze-persistence 사용할 시 주의해야할 점이라든지 조언해주실 수 있으시면 정말 감사드립니다. 강의를 듣던 중에 서브쿼리가 발생하는 부분에서는 정상동작하지 않는 것을 발견했습니다. @Test public void findUserDto(){ QMember memberSub = new QMember("memberSub"); List<UserDto> memberDtoList = queryFactory //이건 blazeQueryFactory가 정상 동작하지 않음 .select(Projections.fields(UserDto.class, //생성자 필드 순서에 맞게 변수를 만들어야 한다. member.username.as("name"), // member.age 대신 서브쿼리로 다 최대 나이로 찍고 싶어 ExpressionUtils.as( JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age") )) .from(member) .fetch(); for (UserDto userDto : memberDtoList) { System.out.println("userDto = " + userDto); } } QueryDSL 쿼리 /* select member1.username as name, (select max(memberSub.age) from Member memberSub) as age from Member member1 */ select m1_0.username, (select max(m2_0.age) from member m2_0) from member m1_0 blaze-persistence 쿼리 /* SELECT member1.username AS name, member1.age AS generatedSubquery_1 FROM Member member1 */ select m1_0.username, m1_0.age from member m1_0 blaze-persistence generatedSubquery라 하여, 서브쿼리를 하나의 alias로 처리를 해버렸는데, 후행으로 이 generatedSubquery 에 대한 정의가 따라오질 않습니다... 왜 이런 차이가 나오는지는 모르겠지만 blaze-persistence 활용할 때는 유의해야할 것 같습니다.

  • java
  • jpa
  • querydsl
  • blaze-persistence
말랑한참깨 댓글 0 좋아요 1 조회수 2806

4강에서 처음 프로젝트 열 때, Gradle 2.7.1로 다운그레이드 하였습니다.

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요. 4강에서 처음 프로젝트 열 때, Gradle 2.7.1로 다운그레이드 하였습니다. 원래는 Gradle 3 이상의 버전으로 설정되어 있어서 에러가 났었는데, 자바 17이상일 때, Gradle 3 이 사용가능한 모양이더군요. 해서 Gradle 2.7.1로 다운그레이드해서 급한 문제는 해결했는데.. 이대로 진행해도 문제가 되지 않을까요??

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
Jang Jaehoon 댓글 1 좋아요 1 조회수 652

안녕하세요

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

삭제된 글입니다

  • java
  • spring
  • mvc
  • spring-boot
김민규 댓글 1 좋아요 0 조회수 573

제가 아직 빌드와 실행, 그리고접속 파트를 보고있는데

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

만약 소스를 업데이트하고 커밋하면 리눅스 EC2서버에서는 빌드를 다시해야하는건지 아니면 다시 깃클론을 해야하는건지 궁금합니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
troup 댓글 1 좋아요 1 조회수 437

그의 설계는 대체...

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

8분 56초 모든것은 설계였다는 말에 감격해서 다시 한번 2회독해보려고 합니다...

  • java
  • spring
  • mvc
  • spring-boot
dgd04 댓글 1 좋아요 0 조회수 612

데이터 베이스 설계

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

데이터 베이스 설계를 처음 접해봐서 설계 부분이 너무 어렵네요 ㅠㅠ db 설계 같은건 어떻게 공부할 수 있을까요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
맥북유저 댓글 1 좋아요 0 조회수 512

p6spy 버전에 따른 p6spy 로그 문제

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

현 시점 (2023.04.23) 기준 spring boot 2.x 의 최신버전인 spring boot 2.7.10 에서 강의 자료의 https://github.com/gavlyukovskiy/spring-boot-data-source-decorator 의 p6spy 최신 버전인 1.9.0 사용 했을떄 p6spy로그가 찍히지 않네요 추가 설정을 통해서 해결할 방법이 있을것으로 추측되지만.. 귀찮으신 분들은 그냥 강의에서 사용했던 p6spy 1.5.6 버전을 그냥 사용 하시면 문제없이 출력이 되니 참고하실분들은 참고하세요 ㅎㅎ

  • java
  • spring
  • spring-boot
  • jpa
  • p6spy
  • sql로그
김준현 댓글 2 좋아요 0 조회수 2159

프로젝트를 시작할 때

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하십니까 강사님 강의 너무 잘 듣고 있습니다. 서버 개발에 필요한 일련의 과정을 정리하는데 많은 도움이 되고 있습니다. 강의 내용에 대한 질문은 아닙니다. 이제 취업을 하기위한 포트폴리오를 만들 단계라고 생각하는데 개인 프로젝트를 할 때 가이드 라인을 여쭙고자 질문드립니다. 실무에선 상황마다 물론 다르겠지만 강사님께선 보통 프로젝트 주제를 선정하고, 요구사항을 정리한 다음 테이블 설계를 하시고 그다음 API 스펙을 정한 다음 개발에 착수하시나요? 그리고 API 스펙을 정할 때 controller에 진입하기 위한 경로들을 모두 정하신 다음 본격적인 코드 작성을 하시는지도 궁금합니다. 항상 개인 프로젝트를 하다 보면 프로젝트 시작 단계에서 고려하지 못한 부분들을 놓쳐 결국 프로세스가 뒤죽박죽 되고 헷갈리게 되는것 같더라구요.. 그래서 강사님의 개인적인 개발 프로세스를 슬쩍? 알려주시면 감사하겠습니다. 좋은 강의 만들어주셔서 감사합니다:) 그리고 프로젝트를 할 때 완성된 결과물을 보여주기 위해선 어느 정도의 ui도 필요할 것 같은데 이런 경우 rest api를 만들기 보단 ssr 애플리케이션을 만드는 것이 나을까요..? 두서 없는 질문이라서 죄송합니다ㅎㅎ..

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
lano 댓글 1 좋아요 1 조회수 592

에러 공유[@RequiredArgsConstructor not initialized in the default constructor]

스프링 배치

@RequiredArgsConstructor 사용시 , not initialized in the default constructor 에러가 나온다면 gradle 버전으로 인한 lombok dependency 추가 방법이 다르기 때문에 발생하는 문제일 거에요, build.gradle 파일에서 아래와 같이 lombok 방법을 추가해 주세요. compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'

  • spring-boot
  • spring-batch
코스모스 댓글 0 좋아요 3 조회수 3892

강의를 듣기전에 알아야 할 지식이 어떤게 있을까 해서 질문드립니다.

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강의를 듣기전에 알아야 할 지식이 어떤게 있을까 해서 질문드립니다. 백엔드 개발자가 되고싶은데 자바는 어느정도 아는 상태이고 다음으로는 스프링에 대해서 공부하라고 하더라고여 그래서 찾아보던중 영한님 강의를 찾게 되었습니다. 정말 자바만 알아도 강의를 듣는데 문제가 없을까요? 또 백엔드 관련해서 database같은 것도 배워야 한다고 하는데 영한님 강의를 다 듣고 따로 database를 배워야 하는건가요?

  • java
  • spring
  • mvc
  • spring-boot
김승수 댓글 1 좋아요 0 조회수 607

invalid source release: 17 에러 발생하는 경우 해결

Spring Boot JWT Tutorial

JDK 버전이 안맞는거니까 JDK 17 깔아주시면 되어요 https://velog.io/@persestitan/Spring-Cause-error-invalid-source-release-17-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95-IntelliJ 저도 당황했던거라 공유해봅니다~

  • spring-boot
  • jwt
niobbam 댓글 0 좋아요 0 조회수 587

안녕하세요 스프링부트 JPA 관련 질문드립니다!

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA 강의에서 EntityManagerfactory를 하나 만들어서 EntityManager가 필요할때마다 만들고 close()하는 방식으로 해야한다고 들었는데 스프링 부트에서는 private final EntityManager em; 이렇게 등록된 Bean에 대해서 의존성을 주입해서 만들게되면 문제가 없나요?? 이렇게 private final EntityManager em;로 하는 방식도 해당 객체가 생길때마다 새로 em이 만들어지는건가요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
돈우 댓글 1 좋아요 0 조회수 345

인기 태그

인프런 TOP Writers

주간 인기글