inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

강의가 재생되지 않아요

미해결

토비의 스프링 6 - 이해와 원리

섹션1의 개발환경 준비 강의부터 동영상이 재생되지 않는데요.. 어떻게 해야 하나요?

  • java
  • spring
koko 댓글 2 좋아요 0 조회수 338

실습1의 커버리지 관련 설명이 잘 이해되지 않습니다

미해결

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

"테스트 추가하기: h2를 이용한 repository 테스트" 편의 10:39 에서, "잘 커버된 것 같아요"라는 말을 하셨는데 이 상황을 이해하기가 어렵습니다. PostEntity 와 관련된 테스트가 없는데 PostEntity 의 라인 14%가 충족되었다고 나옵니다. 이런저런 이유로 그냥 채워지는 경우도 있습니다만, 하단의 첨부 사진과 같이 제 화면에서는 0%로 보입니다. 혹시 이 차이가 왜 발생하는지 아시나요? (저는 temurin-17, IntelliJ Ultimate 2014.1.4 을 쓰고 있습니다) UserEntity 에도 동일한 질문을 드릴 수 있을 것 같습니다. UserRepository 인터페이스는 메서드가 존재하는데 0개 있다고 표기되고 있습니다 ("0/0"). 왜 이렇게 나오는지 아시나요? UserRepository 는 사실상 아무 메서드도 없다고 판단되었기 때문에 커버리지가 100% 로 나온 듯 합니다. 그 위의 PostRepository 도 (테스트가 없는데) 100% 로 나왔으니 그렇게 해석하는게 맞는듯 합니다. 따라서 이 대목에서 커버리지가 아무것도 측정되지 않은 것 같습니다. (위 1,2 질문의 대답에 따라 달라질수도 있겠지만) 여기까지 제가 이해한게 맞을까요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
Roeniss Moon 댓글 1 좋아요 0 조회수 411

한글 깨짐

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 강의 따라가다 막히는 부분이 있어서 질문 드립니다. gradle 설정에서 Build and run using과 Run tests using을 인텔리제이로 바꾸면 한글 깨짐은 해결이 되는데 gradle로 실행하게 되면 한글이 깨집니다. 설정에 들어가서 인코딩도 모두 utf-8로 설정해도 콘솔로 출력할 때 한글이 깨지는 현상이 발생합니다. 검색해보니 build.gradle에 설정을 utf-8로 변경하는 것도 있던데 결과는 똑같습니다. 해결하는 방법이 있을까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
bsk9124 댓글 2 좋아요 0 조회수 557

github action

미해결

쥬쥬와 함께 하루만에 끝내는 스프링 테스트

좋은 강의 너무 잘 들었습니다. 그런데 github action 파일에서 jdk 설치는 왜 필요한 것일까요? 그리고 jdk 설치 등 job의 실행 주체는 github action 이라는 깃허브 repository 내장된 서버라고 보면 될까요? 감사합니다.

  • spring
  • docker
  • junit
  • mockito
  • 소프트웨어-테스트
highjune 댓글 2 좋아요 0 조회수 292

lombok 설치 관련

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] compileOnly 'org.projectlombok:lombok:1.18.24' gradle dependencies에 위와 같이 의존성을 추가해주고, lombok 플러그인 활성화, 어노테이션 프로세서 설정 활성화 해주었는데 lombok 사용가능하면 초반에 영한님 처럼 설정 안해주어도 되나요?

  • spring
  • 객체지향
pang00 댓글 1 좋아요 0 조회수 472

ResponsEntity 질문

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @RequestMapping(value = "/error-page/500", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Map<String, Object>> errorPage500Api(HttpServletRequest request, HttpServletResponse response) { log.info("API errorPage 500"); Map<String, Object> result = new HashMap<>(); Exception ex = (Exception) request.getAttribute(ERROR_EXCEPTION); result.put("status", request.getAttribute(ERROR_STATUS_CODE)); result.put("message", ex.getMessage()); Integer statusCode = (Integer) request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); return new ResponseEntity(result, HttpStatus.valueOf(statusCode)); } 위의 코드를 강의에서 나온 ResponseEntity 대신해서 @ResponsBody를 활용해서 json처럼 뿌려줄수있게 사용할수는 없나요 ?

  • spring
  • mvc
deoksam 댓글 1 좋아요 0 조회수 313

회원 서비스 테스트

미해결

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

코드 다 입력하고 실행했는데 MemberService memberService; ^ symbol: class MemberService location: class MemberServiceTest 이런 오류가 납니다 어떻게 해결해야 하나요?

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

통합 테스트 시 변수 지정은 어떻게 해주는게 좋을까요?

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. DB_URL 과 같이 변수로 지정하여 통합 테스트를 수행할 경우 따로 설정해주어야하는데요. 저는 보통 인텔리제이에서 environment variables에 추가하여 실행해줍니다. 그런데 CI에서 빌드를 해줄 경우에도 변수를 지정해주어야하는데요. 테스트에도 지정하고 빌드할 때에도 지정해주는 것이 비효율적인것 같습니다. 이럴 경우 어떻게 설정해주는게 좋을까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
김주영 댓글 2 좋아요 0 조회수 405

java.lang.Thread$Builder 에러

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스프링 mvc 1편을 들으며, 라이브 코딩하고 있는 수강생입니다. 13강 HttpServletRequest - 기본 사용법 강좌의 7분 46분 내용까지 코딩을 따라서 쳐본 후, 프로그램을 구동했더니 java.lang.ClassNotFoundException: java.lang.Thread$Builder at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass( BuiltinClassLoader.java:641 ) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass( ClassLoaders.java:188 ) ~[na:na] 다음과 같은 에러가 로그창에 떠있습니다. 왜 이런거죠?... 해결법을 모르겠습니다

  • spring
  • mvc
어징 댓글 1 좋아요 0 조회수 177

빌드가 안돼요

해결됨

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

여러가지 바꿔가면서 입력해봐도 다 안 돼요 윈도우 사용중이에요

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

테스트 코드 오류나왔습니다 알려주세요 ㅠㅠ

미해결

스프링 핵심 원리 - 기본편

https://drive.google.com/drive/folders/1vQc--UxcosrJOqPVTVyrY91vpkGqap0e?usp=drive_link 제 파일입니다 오류가 null 오류인건 아는데 코드의 어느부분에서 고쳐야할지 손을 못대겠습니다 어디가 문제인지 코드부분을 알려주실수있나요 jdk21 버전입니다

  • spring
  • 객체지향
박지성 댓글 1 좋아요 0 조회수 309

프로젝트 생성 강의 듣고 있는데 원래 실행하는 시간이 오래걸리나요?

미해결

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

build and run using, run tests using을 Gradle(default)로 하든 IntelliJ IDEA로 바꾸든 실행은 되는데 작업이 종료가 안되고 계속 돌아갑니다. 위에 오류는 너무 오래 걸려서 중간에 제가 종료하면 뜨는 오류 메세지입니다 5분 넘게 걸리는데 원래그런건지 모르겠습니다 ㅠㅠ 실행도 한 번도 성공한 적도 없습니다 제 노트북 사양이 나빠서 그런걸까요?

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

처음 빌드할때 오류가 납니다.

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

처음 빌드할때 위와같이 오류가 나고 메인메서드 실행 버튼이 활성화 되지않습니다ㅠㅠ

  • spring
  • mvc
in프런 댓글 1 좋아요 0 조회수 246

외부API 연동 mocking시 json구조가 복잡하다면 어떻게해야하나요?

해결됨

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요! 이번 강의 편에서 외부 API mocking에 대해서 다뤄주셔서 감사합니다! 궁금한점이 현재 메일을 보내는 sendEmail의 경우 반환타입이 boolean이라 쉽게 테스트가 가능한것 같은데, 만일 RestTemplate/RestClient 와 같이 외부 API 연동한걸 mockito사용해서 가짜 객체로 테스트한다고 했을때, 실제 응답으로 받은 Json의 구조가 복잡할 경우에 어떻게 할지 궁금합니다. thenReturn() 메서드에 해당 응답의 Json구조를 반영한 DTO를 넣어주면 될까 싶었는데, 결국에는 외부 API 응답 구조를 알고 있어야 되는 거라 의존적이라고 생각이 들거든요! 만약 외부 API 응답의 Json 구조가 달라지면 테스트가 깨지게 되는건데, 외부 응답 구조를 몰라야 mocking의 의미가 있는게 아닌지 헷갈립니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
세진:) 댓글 3 좋아요 0 조회수 434

mysql connector ? 오류 ㅠㅠ

해결됨

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

communications link failure 오류가 나는데 mysql 재설치를 몇 번해도 연결이 안되네요 어떻게 해결해야할까요..?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
미니민 댓글 3 좋아요 0 조회수 671

34:40초 부분에서 단축키 어떻게 사용하시나욤

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요! 좋은 강의 감사합니다. 영상 중에 34분 쪽에서 타입 이름 변경하실때 왼쪽과 오른쪽 타입의 이름을 동시에 변경하시던데 단축키 어떤거 사용하시는건지 궁금합니당!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
세진:) 댓글 3 좋아요 0 조회수 366

테스트 코드와 관련하여 질문이 있습니다.

해결됨

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 테스트 코드와 관련하여 질문이 있습니다. 프로젝트를 해보면서 고민이 되었던 것 중 하나가 테스트 코드를 작성할 때 명확한 메서드명을 작성해야하는가에 대해서 고민이었습니다. @Dipslay로 어떤 테스트인지 명시를 하고 있음에도 메서드명이 명확한 것이 좋을까요?

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
Jin Heung An 댓글 1 좋아요 1 조회수 227

양방향 @OneToMany 에서의 단순 delete(Instance) 에 대해 질문있습니다.

해결됨

실전! 스프링 데이터 JPA

안녕하세요! 정말 오랜만에 질문 올립니다. 다름이 아니라 아래와 같이 Parent, Child 가 있고 이 둘을 양방향으로 맺었을때 @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Parent { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "parent", cascade = CascadeType.PERSIST) private final Set<Child> children = new HashSet<>(); public Parent(String name) { this.name = name; } public void addChild(Child... childs) { for (Child c : childs) { c.addParent(this); children.add(c); } } } @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Child { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id", nullable = false) private Parent parent; public Child(String name) { this.name = name; } public void addParent(Parent parent) { this.parent = parent; } } 아래와 같이 테스트코드를 짜면 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @DataJpaTest(showSql = false) class ParentRepositoryTest { @Autowired ParentRepository parentRepository; @Autowired ChildRepository childRepository; @Rollback(false) @Test @DisplayName("delete, deleteAll, deleteAllInBatch 를 비교한다.") public void differenceBetweenDeleteAllAndDeleteAllInBatch2() { Parent parent1 = new Parent("부모 1"); Child child1 = new Child("자식 1"); Child child2 = new Child("자식 2"); Child child3 = new Child("자식 3"); parent1.addChild(child1, child2, child3); parentRepository.save(parent1); Parent parent = parentRepository.findAllWithChildren("부모 1").get(); parent.getChildren().remove(child1); childRepository.delete(child1); } } parent.getChildren().remove(child1); 의 존재 여부에 따라 delete 쿼리가 나갈지 말지 결정되더라구요. 이거에 대해서 고민을 해봤습니다. 제가 내린 결론은 "하나의 tx 에서 Parent 가 속한 Child 들 중 하나를 childRepository.delete(Child) 혹은 deleteAll() 을 통해 지우려할때, Parent 의 Child 의 컬렉션에서 지울 Child 를 먼저 remove 하여 부모 자식간의 연결관계를 끊어주는 작업이 선행되어야 한다. 그 이유는 삭제할 Child 를 repository 에서 지우기만 하면 Parent 에 남아있는 컬렉션에는 지워진 데이터가 카컬렉션에 남아있어 로직에 문제가 발생할 수 있기 때문이다. 그래서 Parent 에서 지울 Child 를 먼저 remove 를 사용하지 않으면 delete 쿼리가 나가지 않는 것이고, 먼저 remove 를 하면 delete 쿼리가 나가는 것이다" 라고 결정지었습니다. 아무래도 JPA 에서 최고 권위자인 김영한강사님의 조언이 필요합니다. 감사합니다. (고아객체 제거인 orphanRemoval 은 일부러 사용하지 않았습니다. 순수 delete 에서만 그 원리를 알고싶습니다. 항상 무지성으로 querydsl 혹은 in 절로 지우기만해서 근본을 까먹은거같네요 ㅠㅠ)

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

인기 태그

인프런 TOP Writers

주간 인기글