[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] MemoryMemberRepository 클래스에는 생성자가 없는데 어떻게 스프링 컨테이너에 등록이 되는거죠? 그리고 MemberRepository의 구현체가 몇가지 더 있는 경우 MemberService의 생성자 파라미터에는 어떤 구현체가 들어가나요?
위는 현재 설정상태이고, 컨테이너도 잘 실행되는 상태에서 아래처럼 조회가 장바구니 서비스만 실패하는 상황입니다 (장바구니 서비스 배포 시 사용한 명령어 docker run --rm -d -p 8000:8000 --network goopang-network -e "msa.product-service.url=product-service-container:8001" -e "msa.user-service.url=user-service-container:8002" --name cart-service-container -t 009160049723.dkr.ecr.ap-northeast-2.amazonaws.com/goopang-cart-servic e) 메시지는 거부되었다는 메시지이긴 한데.. 8000번은 정상적으로 설정한 것 같거든요, 컨테이너도 잘 실행되고있구요 (API 요청했을 때 컨테이너에 로그가 실시간으로 찍히는지도 봤는데 별다른 로그가 찍히지는 않는것 같아보입니다) 혹시 살펴볼 것이 있을까요?
클래스 객체 사용 X 클래스 객체 사용 O 먼저 결론적으로 말씀드리면 제품의 정보를 일일이 정의한 것과 클래스 객체를 통해 코드를 작성한 것의 차이를 잘 모르겠습니다. 제가 챕터 7의 1번째 강의를 중에서 블랙박스의 정보는 이보다 실제로 많기 때문에 이 모든 것을 일일이 정의한다면 코드가 방대해 진다고 들었습니다. 그런데 제가 실습하고 나서 코드를 살펴보니 클래스 객체에 대한 필요성을 느끼지 못하였습니다. 알려주신다면 감사하겠습니다.
안녕하세요 '[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기'에서 그대로 따라 했는데 이렇게 RestController가 인식이 안 됩니다 build.gradle이고 이걸 다시 run했는데 동일합니다 아래는 run 후 콘솔에 찍히는 내용입니다 확인 후 답변 부탁드립니다! 오후 4:51:31: Executing... > Task :help Welcome to Gradle 8.10.1. To run a build, run gradle <task> ... To see a list of available tasks, run gradle tasks To see more detail about a task, run gradle help --task <task> To see a list of command-line options, run gradle --help For more detail on using Gradle, see https://docs.gradle.org/8.10.1/userguide/command_line_interface.html For troubleshooting, visit https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.10.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 451ms 1 actionable task: 1 executed 오후 4:51:32: Execution finished. 시키기
@Override public synchronized void put(String data) { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { wait(); // RUNNABLE -> WAITING, 락 반납 log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); notify(); // 대기 스레드, WAIT -> BLOCKED } 생산자 스레드가 먼저 실행되면 마지막 스레드는 wait() 호출 후 스레드 대기 집합에서 관리 되는걸로 이해했습니다. 이 상태에서 소비자 스레드가 실행되면 데이터를 처리하고 마지막에 notify()를 호출하면 스레드 대기 집합에서 관리 되던 생산자 스레드가 깨어날텐대 여기서 wait(); 바로 다음 코드를 실행하지 않고 바로 BLOCKED 상태가 되는건가요? BLOCKED 상태에 있다가 소비자 스레드가 락을 반납 했을때 BLOCKED 상태가 풀리면서 wait() 바로 다음 코드를 실행한다고 이해하면 될까요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 영상 기준 4:46초쯤에 void 메서드는 return이 생략되어도 자바 컴파일러가 마지막줄에 넣어준다고 하셨는데 .class로 컴파일된 파일을 확인해보니 반대로 적어두었던 return도 생략이 되어있습니다. 자바 버전이 올라가면서 바뀐걸까요 아니면 컴파일된 파일이 아닌 파일을 실행 시에 return이 추가가 되는건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. // flush 자동 호출 commit, query int resultCnt = em.createQuery("update Member m set m.age = 20") .executeUpdate(); Member findMember = em.find(Member.class, member1.getId()); System.out.println("findMember.getAge() = " + findMember.getAge()); 이 부분을 보시면 영한님의 12분 코드와 같잖아요? 이때 Member findMember = em.find(Member.class, member1.getId()); 의 findember를 출력할 때, 영속성 컨텍스트 때문에 update문의 age가 20인 것이 반영이 안 돼야 하는데 제 환경에서는 반영이 되는 걸로 나옵니다..! 정리하면, em.clear() 를 하지 않았을 때는 age가 0이 나와야 하지만, em.clear() 를 하지 않았음에도 불구하고 age가 20이 나옵니다 물론 아래처럼 member의 age 초기값을 0으로 지정해줬습니다 Member member1 = new Member(); member1.setUsername("회원1"); member1.setAge(0); member1.changeTeam(teamA); em.persist(member1); 이유가 무엇일까요??
문자열 함수 수업에서 어떤 함수는 print("endswith?:",str_o2.endswith("s")) 뒤에 점을 찍고 나타내고 어떤 함수는 print("sorted:",sorted(str_o1)) 와 같이 점(.)을 찍지 않고 나타내는데 차이점을 설명 해주셔야죠 ㅜㅜㅜ ㅜㅜㅜ 차이점이 뭘까요...? ㅠ 함수마다 구조 다 다르니까 외워야하면 그런거라고라도 말을 해주세요 ...
저의 경우에는, Unable to load class 'org.gradle.api.plugins.MavenPlugin'. This is an unexpected error. Please file a bug containing the idea.log file. 오류의 이유와 gradlew build failed 빌드에 실패하는 이유가 동일했습니다. 해결 방법 아래 주소에 적어두었으니, 참고하세요 ! 💡 https://blog.naver.com/bkmij/223594375357 도움이 되었으면 좋겠습니다. 모두 남은 학습 열심히 화이팅하세요 : ) ! ☺ ☺ https://www.inflearn.com/community/questions/1333084/build-gradle-%EA%B4%80%EB%A0%A8-%EC%98%A4%EB%A5%98-unable-to-load-class-x27-org-gradle-api-plugins-mavenplugin?srsltid=AfmBOopJ4VA4YBT1JxsR3YjKEGdr1qYs0Y1QQgxTYQcBfdS2WYsBTeqa ↑댓글을 참고하여 해결하였습니다.
안녕하세요 실무에서 자바, 스프링부트 를 하게된 프론트엔드 개발자입니다. 급히 자바, 스프링을 막듣고있는데 로드맵을 물론 다들으면좋겟지만 너무많고, 실무에서 사용이필요해서 혹시 꼭들어야한다면 몇가지 추려서 추천해주실강의들이있나요 ? 지금 자바 입문, 기본, 중급1 듣고있습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] result에 할당후 실행 하는 코드가 없는데 바로 pay.pay 가 실행되는 원리를 모르겠습니다.. 아니면 원래 할당과 실행이 동시에 일어나는건가요?
안녕하세요. 강의를 들으며 자동화를 진행하고 있는데, 한 가지 질문이 있습니다. 저는 특정 문서가 아니라 여러 다른 문서에서 사용자의 정보를 자동으로 입력하는 코드를 작성하고 싶습니다. 예를 들어, 자주 입력하는 항목인 이름, 성별, 전화번호를 딕셔너리에 저장하고, 서로 다른 양식의 문서를 불러왔을 때 해당 항목이 존재하면 입력란의 오른쪽이나 아래쪽 공백을 확인하여 자동으로 채워 넣기를 희망합니다. 이런 작업이 기술적으로 가능한지 궁금하며 가능하다면 어떻게 하는것이 좋을지 조언을 구하고 싶습니다. 감사합니다.