안녕하세요. 실전! 스프링 부트와 JPA 활용 1편 강의를 수강하면서 작성한 코드에서 api라는 개념이 나와서 조금 헷갈려서 질문드립니다. 1) postman 사용은 단위 테스트처럼 사용하는건가요? 개발한 코드에서 입력값을 넣고 함수가 잘 동작하는지 확인하는 용도인지 궁금합니다. 2) 외부 api를 다른 팀으로 제공을 한다고 말씀주셨는데 팀 간의 관계가 궁금합니다. 1편에서는 html로 작성해서 데이터를 localhost 에서 입력해서 받아온 후에 Controller에서 처리를 했었는데, 2편시작에서는 controller api는 1편의 Controller의 차이점을 잘 모르겠습니다. 감사합니다.
강사님 27분에 나오는 정렬 알고리즘 와 유사한 정렬 알고리즘 문제 실제 시험 출제시 문제에서 오름차순 or 내림차순 중 명확히 어떤 정렬 조건으로 하라고 문제 주어 지나요? 만약 출제 된다고 하면 아래 예시 처럼 출제 될까요? 예) 다음은 정렬 알고 리즘 이다 아래 코드 보고 결과값 출력 하시오 ( 단 , 정렬조건은 오름차순 이다.)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] JPA 활용 1편을 듣고 jpa기본편을 책과 함께 수강중입니다. JPA 활용 1편에서 merge를 사용하면 모든 값을 다 바꾸어서 파라미터로 지정해 주지 않으면 null값이 할당되어 데이터에 문제가 생길 확률이 높다고 배웠습니다. 따라서 이것이 merge의 특성인 거로 생각하고 있었는데, jpa기본편 책 105페이지에 jpa기본 전략은 엔티티의 모든 필드를 업데이트 한다 라고 되어있었습니다. 그래서 약간 혼란이 왔었는데 이내 다시 정리해볼 수 있었습니다. 그래서 내려본 결론은 변경 감지를 통하여도 모든 필드가 업데이트 되는 것은 맞는데, 스냅샷을 통해서 변경 없는 필드의 정합성은 유지하고, 변경되는 부분만 안전하게 변경할 수 있다. JPA 활용 1편에서 한 merge예제는 준 영속인 엔티티 객체를 만들어 버렸기 때문에 필드 값을 할당할 때에 누락되면 기존 데이터가 반영이 안된다 (스냅샷 같은 것이 없기 때문) 으로 정리할 수 있을까요?
package nested.test.ex1; import java.util.ArrayList; import java.util.List; public class Library { private List<Book> library = new ArrayList<>(); private int MaxBookCount; public Library(int maxBookCount) { this.MaxBookCount = maxBookCount; } public void addBook(String bookName, String author) { Book book = new Book(bookName, author); if (MaxBookCount == library.size()) { System.out.println("도서관 저장 공간이 부족합니다."); return; } library.add(book); } public void showBooks() { for (Book book : library) { System.out.println("도서 제목: " + book.bookName + ", 저자: " + book.author); } } static class Book { private String bookName; private String author; public Book(String bookName, String author) { this.bookName = bookName; this.author = author; } } } 코드를 이렇게 작성해도 될까요? 조건에 객체 배열을 사용하도록 하긴 했는데 실무에서도 이런 경우엔 배열을 더 많이 사용할까요?
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
build.gradle에 plugin만 추가하니 오류나고 아래 내용이 추가되니 오류가 사라지고 정상 동작하였습니다. implementation "org.jetbrains.kotlin:kotlin-reflect" 정확한 원인은 모르겠는데 contextLoads할때 부터 error가 나서 kotlin으로 만든 Book을 Entity로 인식하지 못하는 것 같았습니다. 이렇게 해결하는게 맞는건지 궁금합니다. windows10 / java11 / intellij 사용중입니다! [오류원문] Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:239) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:74) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:355) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:302) at app//org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:280) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272) at java.base@11.0.24/java.util.Optional.orElseGet(Optional.java:369) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271) at app//org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) 이하 생략..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. users/dlwns 에 test3.mv .db 를 만들고 터미널에 입력을 하여 연결을 했습니다. spring: datasource: url: jdbc:h2:tcp://localhost/~/test3 username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging: level: org.hibernate.SQL: debug 그리고 Test를 진행했을 때, h2 database에 접근하면 table이 생성되지 않습니다. 어떤 점이 문제인지 알고 싶습니다. 감사합니다.
아래와 같이 perform 과정에서 validator -> serialize로 넘어가는 부분에서 json 이 eventDTO를 찾을 수 없다는 에러가 발생하여 json을 직렬화할 수 없어서 error 메시지가 반환되지 않아 test 실패가 나타나는 것 같습니다. 혹시 버전 차이로 인해 필요한 어노테이션이나 함수가 달라져 발생하는 문제일까요? 관련하여 검색해도 답안을 찾기 어려워서 질문 드립니다. 감사합니다. Inconvertible types; cannot cast 'org.example.springrestproject.Events.EventControllerTests' to 'org.springframework.test.util.JsonPathExpectationsHelper' No value at JSON path "$[0].objectName" java.lang.AssertionError: No value at JSON path "$[0].objectName" at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:302) at org.springframework.test.util.JsonPathExpectationsHelper.assertExistsAndReturn(JsonPathExpectationsHelper.java:326) at org.springframework.test.util.JsonPathExpectationsHelper.exists(JsonPathExpectationsHelper.java:190) at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$exists$3(JsonPathResultMatchers.java:123) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at org.example.springrestproject.Events.EventControllerTests.createEvent_Bad_Request_Wrong_Input(EventControllerTests.java:149) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) Caused by: java.lang.IllegalArgumentException: json can not be null or empty at com.jayway.jsonpath.internal.Utils.notEmpty(Utils.java:401) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:390) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:377) at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:299) ... 8 more
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 자바 중급1을 모두 학습하고 다시 보면서 복습을 하고 있던 도중 이해가 가지 않는 부분이 있어 질문 드립니다. 섹션5 Class클래스강의 (13:26)에 나오는 ClassCreateMain 클래스에 대해 질문 드리려고 합니다. main부분에서 throws Exception을 해야 오류가 않나는 것을 확인했습니다. 예외파트 강의에서 main에서도 예외를 던져버리면 에러가 난다고 이해했었는데 main에서도 예외를 던졌는데 이 예외는 어떻게 리되는 건가요?
안녕하세요. Airflow 설치 과정에서 도커 설치 하려는데 sudo apt-get update 치면 Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. 라고 뜹니다. 구글링해서 https://velog.io/@hyojinnnnnan/%EB%A6%AC%EB%88%85%EC%8A%A4-curl-60-SSL-certificate-problem-unable-to-get-local-issuer-certificate 참고하여 보안 파일에 download.docker.com 를 추가했는데도 계속 동일한 오류가 뜨는데 어떻게 해결할 수 있나요? ㅠㅠ 답변 부탁드립니다.