[질문 내용] JdbcMemberRepository클래스를 만들고 코드를 복붙했으며, 대부분 오류나는 부분은 모두 import해서 없어졌지만, 해결되지 않은 부분이 2군데 있었습니다. java: hello.hello_spring.repository.JdbcMemberRepository is not abstract and does not override abstract method findAlL() in hello.hello_spring.repository.MemberRepository java: method does not override or implement a method from a supertype 12줄에 public class JdbcMemberRepository implements MemberRepository { 이 부분에서 빨간줄이 계속 표시되고, 71줄에 findAll()메소드에서 바로 상단에 @Override에 빨간줄이 뜹니다. 어떤 방식을 적용하든 계속 오류가 해결되지 않은데 어떻게 해야 좋을지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 현재 수강을 계속하면서 공부하고 있는데요 예를 들어 날짜와 시간 챕터를 다 보고 이제 복습을 하려고 하는데 PDF보면서 코드를 따라치면서 복습을 하고있는중입니다. 이렇게 복습하는게 효율적인가 궁금하고요. 한번보고 복습주기를 어느정도로 해야하는지도 알고 싶습니다.
sql distinct는 완전히 같은 것의 중복을 제거해준다고 배웠습니다. id를 사용한다는 가정에서 완전히 같을 경우가 존재할 수 있나요? jpql distinct 키워드는 sql distinct에 더불어 엔티티 중복을 피하게 해주는데 sql distinct는 필요없는 과정이 아닌가 싶었습니다.
자주 하는 질문 + 강의 자료를 종합해봤을 때 Querydsl 설정이 크게 다음 3가지로 나뉘는 것 같더라고요. 2.x 버전 / dependencies 바깥에 설정 plugins { id 'org.springframework.boot' version '2.2.2.RELEASE' id 'io.spring.dependency-management' version '1.0.8.RELEASE' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" id 'java' } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspath } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } 2.x 버전 / dependencies 안에 설정 dependencies { //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } clean { delete file('src/main/generated') } 3.x 버전 / dependencies 안에 설정 dependencies { //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } clean { delete file('src/main/generated') } 2.x 의 경우 선택지가 2가지가 되는 데 왜 강의에선 1번 케이스를 선택했던 건지 궁금합니다! 2번 선택지가 더 깔끔한 거 아닌가요 ?
1:57에서 '나눈 이후의 몫을 원할 때' 사용하는 연산자가 /라고 하셨습니다. c언어 기준으로 설명해 주신 걸로 이해했는데 (파이썬은 /을 쓸 시 나누어 떨어질 때까지 계산한 값, 혹은 무한소수를 끊어 출력하고 정수 몫을 원할 시 //을 써야 하니까요) 혹시 자바도 c언어와 연산자가 동일한가요? 코딩을 배우기는 하나 컴공만큼 깊게 들어가는 과는 아니라 자바를 배운 적이 없어 질문드립니다.
숫자를 일일이 포문을 통해 소수를 구하는게 비효율적인 것 같아 다음과 같이 풀어봤는데,, 어떤지 의견이 궁금합니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); int[] numbers = new int[number]; for(int i = 0; i < number; i++){ numbers[i] = sc.nextInt(); } main.solution(number, numbers); } public void solution(int number, int[] numbers){ // get reversed array int biggest = 0; // get biggest number for prime int[] reversedArr = new int[number]; for (int i = 0; i < number; i++) { int tmp = numbers[i]; int res = 0; while (tmp > 0) { int t = tmp % 10; res = res * 10 + t; tmp /= 10; } reversedArr[i] = res; if (res > biggest) biggest = res; } // prime logic by biggest number boolean[] prime = new boolean[biggest + 1]; // add 1 for including 0 --> it means index number is same as each value; prime[0] = prime[1] = true; // true = non-prime number for (int i = 2; i*i <= biggest; i++){ if(!prime[i]){ for (int j = i*i; j <= biggest; j += i){ prime[j] = true; } } } //get result for (int i = 0; i < number; i++){ int target = reversedArr[i]; if (!prime[target]) System.out.print(target + " "); } } }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 아무리 찾아봐도 잘 안되네요 ㅜㅜ... 도대체 뭐가 문제일까요..ㅜㅜ [질문 내용] 여기에 질문 내용을 남겨주세요.
기본형 변수와 참조형 변수에 대해서 공부하던 중 참조형 변수에 대해서 궁금한 점이 있습니다. 객체를 만들고 변수에 할당을 하면 변수에는 해당 객체가 저장된 주소값을 저장한다는 내용은 이해를 했습니다. 하지만 곱씹어 보면서 궁금했던 점이 주소값도 결국 숫자일텐데 기본형 변수와 주소값을 어떻게 구별하는지 궁금합니다. 조금 더 풀어서 설명하면 변수에 저장된 숫자값을 기본형 변수인지 참조형 변수의 참조값인지 Java가 구별하는 메커니즘이 궁금합니다. 구글링을 해봤는데 기본형 변수와 참조형 변수의 차이점과 같은 표면적인 내용에 대해서만 나와서 질문드립니다. 강의 잘 듣고 있습니다. 감사합니다.
우선 제가 이 문제를 풀었던 방식을 설명드려보겠습니다. i는 그냥 0부터 시작이다라고 생각해서 i=0일 때 0번 인덱스는 apple이니까 문자열이 맞으니까 result에 0-를 추가하고 i=1일 때 1번 인덱스는 3인데 문자열이 아니라 숫자니까 1을 문자화 해서 result에 이어붙여서 0-1이 되고 이걸 쭉 반복해서 이 문제의 정답으로 0-12-34로 풀었습니다. 그런데 해설을 들어보니 33분41초에서 강사님께서는 i는 처음에 apple을 가지고 온다라고 말씀하셨습니다. 아무래도 제가 접근을 잘못한 것 같습니다. for i in lst을 제가 for i in range(len(lst))으로 보고 잘못 풀었던 것일까요? for in in lst는 그냥 lst의 인덱스가 아니라 그 값을 하나씩 가지고 온다는 뜻인가요?
[질문 내용] 회원 등록을 위해 데이터를 전달 받을 객체를 위한 컨트롤러로 MemberForm클래스를 따로 만들지 않고 MemberContorller안에서 static class MemberForm클래스로 만들어도 상관없나요? @PostMapping("/members/new") public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); System.out.println("member = " + member.getName()); memberService.join(member); return "redirect:/"; } static class MemberForm { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
[질문 내용] 안녕하세요, Object Class에 대해 궁금한 점이 있어 질문드립니다. 모든 클래스는 최상위 부모인 Object Class가 제공하는 공통 기능(메서드)을 사용할 수 있는 것으로 알고 있습니다. 그러면 '객체.(Object Class의 메서드)' 형태[예시: child.toString()]로 충분히 상속받은 기능을 사용할 수 있는데 왜 Object Class가 java.lang 패키지에 포함되어 자동으로 import 되는지 궁금합니다. (자동으로 import되는 System, String가 바로 사용이 가능한 것과 다르게, Object는 객체 생성을 하고 상속을 이용해서만 기능 사용이 가능한 것 같은데 왜 굳이 자동으로 import되는 목록에 껴있는지 궁금합니다 ㅠ 혹시 Object형 변수 선언을 위해 그런걸까요?) 마지막으로 Object 클래스의 메서드가 오버라이딩이 가능하던데 그대로 사용하지 않고 오버라이딩할 일이 따로 있나요? 지금까지 공부하며 느낀 자바는 굉장히 효율적이고 적절한 제약이 있는 언어라고 생각이 들어서 이유없이 오버라이딩 가능하게 남겨두지는 않았을 거라는 생각이 들어 여쭤봅니다.
강사님 안녕하세요 파이썬 Split 문제 풀던중 궁금한점이 있어 문의 드립니다. 아래 코드 수행시 최종 출력값은 아래와 같이 출력 되어야 하는거 아닌가요? 실제로 잘린 값: ['I' , 'IS', 'ES' , 'S' , 'RING'] S 코드 (아래 부터) dedef split_k(input_str, k): split_result = input_str.split('T') print(" 실제로 잘린 값: ", end="") print(split_result) return split_result[k] (중략)