선생님 문제풀이 하실 때 짝수, 약수를 구분해서 빠르게 문제를 파악하는 스킬은 매우 좋은 방법 같아요 그런데 코드가 한번 돌아가면서 변수 숫자가 바뀌는데 그냥 풀어버리시니까 어떻게 하는 지 프로그램을 사용해보지 않은 비전공자 입장에서는 이해가 덜 가는 것 같아요 조건 반복문에서 변수가 증감되는 것이 헷갈리거든요 문제를 풀 때는 하나 하나 숫자를 적어가면서 변하는 값을 알고 대입해야 하는데.. 풀이를 보니 쫒아가지를 못하겠네요 조건 반복문 문제풀이에서 어떻게 계산하라는 거지? 라는 생각이 들어요. 제가 표도 그려서 적어보기도 하고.. 여러 방법을 시도해봤는데 여러개의 변수가 들어가면 헷갈리더라고요 (15분 전 문제, 15분 문제) 조금만 더 자세하게 천천히 알려주시면 감사하겠습니다. 수포자는 더 힘들어요. ㅋㅋ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의대로 application.yml로 했을 때는 생성이 잘 되었습니다. 그런데 test -resource - application-test.yml로 넘어가니 h2에 Member테이블이 생성되지 않습니다. 어떻게 해야할까요?
java -jar target/spring-petclinic-3.3.0-SNAPSHOT.jar 강의에서 처럼 주소 지정이 안찾아지는 분들은 왼쪽 상단바에 jar검색하셔서 해당하는 주소값을 마지막에 적으시면됩니다. 왼쪽 파일 검색 jar검색 java -jar target/해당하는 파일명.jar ex) java -jar target/spring-petclinic-3.3.0-SNAPSHOT.jar
안녕하세요 ! 항상 좋은 강의 감사합니다. 😃 강의 10:09 에서 말씀해주실때 firstEntry 와 lastEntry 만 immutable이라고 말씀해주셔서 테스트를 해봤습니다. pollFirstEntry 와 pollLastEntry 도 unmodifiable copy 객체를 반환하는 거같아서요 public static void main(String[] args) { LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>(); linkedHashMap.put("key1", "value1"); linkedHashMap.put("key2", "value2"); linkedHashMap.put("key3", "value3"); Map.Entry<String, String> firstEntry = linkedHashMap.pollFirstEntry(); firstEntry.setValue("new value"); } 이렇게 했는데 예외가 발생했습니다. 추가로 14강 9:50 에 reversed()도 immutable 이라고 말씀해주셨었는데 호기심에 테스트를 해보니 데이터가 수정됩니다. @Test @DisplayName("reversed 데이터 추가 및 원본 데이터 수정가능하다.") void add() { LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>(); linkedHashMap.put("key1", "value1"); linkedHashMap.put("key2", "value2"); linkedHashMap.put("key3", "value3"); SequencedMap<String, String> reversed = linkedHashMap.reversed(); reversed.put("key4", "value4"); Assertions.assertSame(4, linkedHashMap.size()); }
12강 11:24 쯤 질문이 있습니다 sealed interface AnimalDto를 구현한 Dto 2개를 switch와 sealed를 사용해서 코드를 깔끔하게 할 수 있다는 걸 알게되었습니다. 실제 코드로 작성하면 of의 반환 타입은 인터페이스인 AnimalDto가 되는데 이때 DogDto와 CatDto의 필드를 조회할 수 있는 추상 메서드가 모두 있다는 전제로 말씀해주시는게 맞을까요?
System.out.printin("str1==str2:"+(str1==str2)); 여기서 출력값이 왜 true혹은 false로 나오는건가요? 앞에 +가 참거짓을 나타나게해주는건가요? 디테일한 설명이 없어서 따라가기가 힘듭니다.. 강의수준에는 입문이라고 되어있는데 전혀 입문강의가 아니네요ㅜㅜ 지금 강의 하나만 계속 반복해서 듣고 저게 무슨말이지 하면서 진도를 나갈수가없네요. 열심히 따라가고 싶은데 힘드네요.
강의를 잘해주시는데 문제풀이로 들어가면 막히기 시작하는거 같습니다… 추가적인 문제풀이를 통해서 복습하는 수강을 하실 계획이 있는지 궁금하네요ㅠ 23년 1회차부터 24년 1회차까지 혼자서 문제풀어보니 이미 봐왔던 문제들이고 정답을 알고 있어서 막힘없이 풀리기는 하는 상태네요.. 로직 이해를 좀더 해야되는 것 같고 자바 수강을 마쳤음에도 한번 더 수강을 하려고 합니다.
선생님, 안녕하세요! 제가 비전공자 문과 직장인이라 ^^; 정보처리기사 실기 코드해석 문제들을 어떻게 준비해야될지 막막했는데, 이번에 좋은 강의 마련해주셔서 감사한 마음으로 잘 듣고 있습니다. 다름이 아니라 금번에 업데이트해주신 8강 반복문+조건문 문제 풀이 영상에서 올려주신 예제의 풀이가 잘 이해되지 않아서 질문글을 올리게 되었습니다. 해당 예제는 6번째 슬라이드에 있는 Java 코드입니다. 강의 9:06 경에서 0, 2, 4, 3, 8 이렇게 5개를 언급해주셨는데, i<10 에 해당하는 정수에 대해서 (i%2==0lli%3==0)&&i%6!=0 에 해당하는 것은 제가 생각했을 때는 2, 3, 4, 8, 9 이렇게 5개가 되는게 맞는게 아닐까 해서요. ^^; (정수 0의 경우에는 6으로 나누면 어차피 0이니까) 제가 코드 해석 배우는건 이번이 처음이라 ^^; 모르는거 투성이라 너무 지엽적인걸 여쭤봐서 괜히 선생님 시간을 뺏는게 아닐까 조심스럽기는 하네요. 모쪼록 확인 한번 해주시면 학습에 많은 도움이 될 것 같습니다. 코드 해석이라면 늘 어렵고 막연하게만 생각했는데 저 같은 초보도 잘 이해할 수 있도록 설명을 차근차근 쉽게 해주셔서 준비에 많은 도움이 되고 있습니다. 마지막 강의까지 잘 따라가보겠습니다. 비가 많이 오는데 모쪼록 안전에 유의해주시고 행복이 가득한 주말 보내세요~~!! 감사합니다.
강의 10강 7:15 여기에 보시면 컴팩트 컨스트럭터를 사용하는 경우 필드에 값을 넣어줄 수 없다고 말씀해주셨는데 여기서 직접 this.name 으로 넣는건 불가능하지만 public record MemberRecord( String name, @CustomAnnotation int age ) { private static final String DEFAULT_NAME = "Unknown"; private static final int DEFAULT_AGE = 1; public boolean isAdult() { return age > 20; } public MemberRecord { if (name == null || name.isBlank()) { name = DEFAULT_NAME; } if (age < 0) { age = DEFAULT_AGE; } } } this.name 으로 값을 할당하는 것이 아니라 잘못된 값이 들어오면 그걸 변경해서 넣어주는건 되는거 같습니다. 이런 용도로 컴팩트 컨스트럭처를 사용해도 될까요? 아니면 말씀해주신 것처럼 검증 용도로만 사용하는 것을 권장하시나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의를 듣는 도중 오디오가 잘 나오다가 갑자기 안 나오더니 그때부터 모든 강의 소리가 안들리는데 왜그런지 알 수 있을까요?.. 노트북 오디오는 잘 작동합니다.
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
안녕하세요 토비님 😄 강의 맛있게 잘 보고 있습니다. 마이너 한 질문인데, 테스트에 Clock 을 이용한 테스트에서 6.50 초 쯔음 아래 와 같은 fixed <- 의 유형 ? 을 정적 팩토리 메서드라고 하셨는데 객체를 반환하기 위해 static 키워드를 사용해야 정적팩토리 메서드가 아닌지 여쭤봅니다 @Bean public Clock clock() { return Clock.fixed(Instant.now(), ZoneId.systemDefault()); }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이렇게 했습니다.
[질문 내용] Drug DrugNutrient Nutrient(Enum) 타입 이렇게 다대다 관계입니다. (DrugNutrient) @Query("select d from Drug d join d.drugNutrientList dn where dn.standardNutrient IN :standardNutrients group by d,dn " + "order by count(dn) desc") List<Drug> findProperDrug(@Param("standardNutrients") List<StandardNutrient> standardNutrients); 저는 이 쿼리를 실행하면 mysql 은 SELECT d.* FROM drug d JOIN drug_nutrient dn ON d.drug_id = dn.drug_id WHERE dn.standard_nutrient IN ('CARBON_HYDRATE','PROTEIN','CALCIUM') GROUP BY d.drug_id, dn.drug_nutrient_id ORDER BY COUNT(dn.drug_id) DESC; 이렇게 쿼리가 나갈 것이라고 예상했습니다. 따라서 그렇기 때문에 당연히 drug_id 가 중복해서 나올 것이라고 예상했습니다. 실제로도 mysql 에서 중복되게 나오고요! 그러나 JPQL 을 통하면 drug_id 1이 중복해서 나오지 않습니다. 제가 쿼리를 잘 못 이해하고 있을까요? group by 에 무언가 있을 것 같긴 한데 놓친 내용이 있을 까요??? 실제 쿼리는 이렇게 나갑니다. select d1_0.drug_id, d1_0.drug_img_path, d1_0.english_name, d1_0.name, d1_0.url, d1_0.vendor from drug d1_0 join drug_nutrient dnl1_0 on d1_0.drug_id=dnl1_0.drug_id where dnl1_0.standard_nutrient in (?, ?, ?) group by d1_0.drug_id, dnl1_0.drug_nutrient_id order by count(dnl1_0.drug_nutrient_id) desc 그리고 여담인데 group by 를 통하면 default batch fetch size 가 적용이 안되나요? 1쪽에서 다쪽을 get 해서 사용했을 때 쿼리가 나가면서 Where 쪽에 In 쿼리가 바바박 나오던 걸로 기억합니다. List<Drug> findMoreSuitableDrugList = drugRepository.findProperDrug(standardNutrients); return findMoreSuitableDrugList.stream().map(drug -> DrugResponseDto.of(drug,drug.getDrugNutrientList().stream().map(drugNutrient -> { return drugNutrient.getStandardNutrient().getName(); }).collect(Collectors.toList()))).collect(Collectors.toList()); 원래 안된다면 성능 1대다 상황에서 성능 최적화는 어떻게 진행하는지 궁금하네요!
29-Jun-2024 16:47:09.258 INFO [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. java.lang.IllegalStateException: 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading( WebappClassLoaderBase.java:1328 ) at org.apache.catalina.loader.WebappClassLoaderBase.getResource( WebappClassLoaderBase.java:960 ) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader( AbandonedConnectionCleanupThread.java:123 ) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run ( AbandonedConnectionCleanupThread.java:90 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1136 ) at java.base/java.util.concurrent.ThreadPoolExecutor$ Worker.run ( ThreadPoolExecutor.java:635 ) at java.base/ java.lang.Thread.run ( Thread.java:833 ) 이런 메시지가 나오면서 404 에러가 뜹니다.