묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크 입문
자바 1.8버전(1.8.0_202) 으로 maven spring-boot:run 실행시 오류
java.lang.TypeNotPresentException: Type org.graalvm.buildtools.maven.NativeExtension not present위 오류로 인해 maven 빌드가 안되서 WRO4J Maven 플러그인이 실행이 안됩니다.어떻게 해결해야하나요?
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
socket 질문드립니다
1. 그림에서 빨간색 부분은 무슨 기능을 하는 건가요? 출력에도 영향이 없는 거 같아서 질문드립니다 그림에서 파란색부분에서 클라이언트가 wirte 할 때까지 대기하고 있는 건가요? 클라이언트 역시 readline을 만나면 서버가 write할 때까지 대기하는 건가요?
-
미해결스프링 시큐리티 OAuth2
액세스 거부
/home 에서 AuthorizationCode Grant 를 누르면 액세스 거부(403 에러)가 발생합니다..OAuth2ClientConfig 에서 auth.requestMatchers("/home").permitAll().anyRequest().authenticated()) 도 설정했는데.. 왜 인증 받는 화면으로 가지 못 하고 액세스 거부가 생기는건가요..??
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강 마지막 부분 질문 있습니다.
제가 람다식, 익명클래스, 제네릭에 대한 개념이 확실하게 안 잡혀서 코드이해가 너무 안 되길래 개념부터 다시 찾아보고 공부하고 있는데요 ㅠㅠㅠ 이렇게 공부하는 게 조금 과할 수 있지만 완벽하게 이해를 하고 넘어가고 싶습니다.제가 궁금한 점은query함수를 실행하면 sql이 적용된 결과데이터베이스 전체가 mapRow함수의 파라미터 rs로 들어가게 되는 것 같은데 데이터베이스의 자료형이 ResultSet인가요?rowNum 변수의 필요성입니다. mapRow메서드를 오버라이딩을 해줄 때 rowNum사용을 전혀 안 하고 있는 것 같은데, 어떤 값이 rowNum으로 들어가고 어떻게 작동하는 건가요?mapRow메서드의 반환값은 UserResponse객체 형태인데 결과적인 getUsers메서드의 반환값이 어떻게 List<UserResponse> 형태로 변환될 수 있나요? query함수의 역할인가요?감사합니다.
-
미해결김영한의 실전 자바 - 기본편
intellij package import 문제입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]안녕하세요. 섹션6 접근 제어자 사용 - 필드, 메서드 파트 청강 중 AccessOuterMain 클래스를 생성하여 AccessData 클래스를 import할 때 문제가 생겼습니다. 현재 저는 windows 환경에서 intellij community Edition 2023.1.2 버전을 사용중입니다. 디렉토리 구조는 다음과 같습니다. > src > access > a - AccessData - AccessInnerMain > b - AccessOuterMain - Speaker - SpeakerMain 다음은 access.a.AccessData 의 코드 내용입니다.package access.a; public class AccessData { public int publicField; int defaultField; private int privateField; public void publicMethod() { System.out.println("publicMethod 호출: " + publicField); } void defaultMethod() { System.out.println("defaultMethod 호출: " + defaultField); } private void privateMethod() { System.out.println("privateMethod 호출: " + privateField); } public void innerAccess() { System.out.println("내부 호출"); publicField = 100; defaultField = 200; privateField = 300; publicMethod(); defaultMethod(); privateMethod(); } } 다음은 access.b.AccessOuterMain 의 코드 내용입니다.package access.b; public class AccessOuterMain { public static void main(String[] args) { AccessData data = new AccessData(); // 해당 부분에서 AccessData가 code suggestions도 안나오고 직접 import를 해도 import를 할 수 없습니다. } } access.b.AccessOuterMain 의 코드에서 AccessData 가 import가 되지 않습니다. intellij에서 code suggestion도 안되고(다른 코드는 code suggestion 잘 됩니다.) 직접 import를 해도 AccessData에 빨간불이 들어옵니다. 왜 그럴까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
ArrayList 사이즈 값 초기화
안녕하세요 나도코딩 선생님:)따로 코드를 작성해서 연습중에 있습니다. 클래스 내에서 멤버변수로 ArrayList와 int를 지정했습니다.하지만 ArrayList 내에 사이즈가 초기화 되지 않아서 이유가 무엇인지 질문드립니다! private int heapSize; private ArrayList<PointerAddress> memory = new ArrayList<>(heapSize); // 여기 ArrayList의 사이즈가 변하지 않습니다! public void init(int heapSize) { if (validateInit(heapSize)) { int memorySize = heapSize / BYTE_LENGTH; this.heapSize = memorySize; } else { System.out.println("[ERROR] : 잘못된 값을 입력했습니다."); } }
-
해결됨김영한의 실전 자바 - 기본편
생성자 관련 질문드립니다.
public class MemberConstruct { String name; int age; int grade; MemberConstruct(String name, int age){ this(name, age, 50); } MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }this(name, age, 50); this.name = name; this.age = age; this.grade =grade;안녕하세요. 생성자와 관련하여 질문드립니다.this(name, age, 50) 을 실행시키기 위해서는 this.name = name, this.age = age, this.grade = grade 코드가 최소 한번은 작성되어있어야 하나요? MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }제 생각으로는 System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); 코드 앞에 this.name = name, this.age = age, this.grade = grade 코드가 있어야 될 것 같습니다. 제가 이해한 바로는 MemberConstruct 메서드의 매개변수 name, age, grade를 받고, this.name, this.age, this.grade를 사용하여 생성된 객체의 맴버변수(name, age, grade)에 대입하는 과정으로 이해했습니다. 그렇다면 this.name, this.age, this.grade가 먼저 실행되어야 되는 것 아닌가요? (대입한 값을 넣은 뒤 실행해야 되는 것 아닌가요?) 위 사진으로 첨부한 코드가 (생성자 호출 name = null age=0, grade =0)으로 실행되지 않고, 어떻게 정상적으로 실행되는지 궁금합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
문제와 플이2 코드에서..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]9. 메소드, 문제와 풀이2 코드에서저는 if문으로 풀었지만, 강사님께서는 switch문으로 푸셨더라구요.궁금한점은 switch문에 case4: 부분은 왜, return이 들어가나요? break나 continue는 안되는 이유는 알겠지만,return은.. 반환값도 없는데... 잘 모르겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
4챕터 조건문 문제 질문
안녕하세요! 이번에 자바 처음 수강 중인 학생입니다.수강에 있어서 저의 코드에 문제점을 알고 싶어서 질문 드립니다. 수강 범위 : 4챕터 조건문 , 문제 :"환율 계산하기" 부분질문 : 현재 답지에서는 won 이라는 변수를 만들어서 달러의 환율값을 계산했습니다. 하지만 저는 sout에서 바로 연산을 적용해서 코드를 작성했습니다.변수를 만들지 않고 바로 연산한 이러한 코드가 과연 올바른 코드인지 궁금합니다!
-
해결됨김영한의 실전 자바 - 기본편
기본편 다음 강의
2-3월 출시 예정이라고 하셨는데, 제가 지금 조금 급해서 혹시 강의가 3월초 안에 나올 수 있는지 궁금해서 질문 남깁니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
api404에러 진도좀 나가고 싶어요 ㅠㅠ
왜 404가 뜨는 지 잘 모르겠습니다. 인텔리제이 종료 했다 다시 시작 했는데도 그대로입니다 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 코드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문_재고수량초과() 테스트를 진행하는데 강의영상에서는 의도적으로 틀린결과값이 나오는 것을 예측하는 경우에도 초록불이 뜨는데, 저는 빨간불이 뜨고 테스트가 실패했다고 뜹니다. 이유를 알고 싶습니다.참고로 저는 JUnit5로 실습하고 있습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
연속부분수열
import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public int solution(int n, int m, int arr[]) { int answer = 0; int sum = 0; int lt = 0; int rt = 1; // 초기 합 설정 sum += arr[lt] + arr[rt]; while (rt < n - 1) { if (sum < m) { sum += arr[++rt]; } else if (sum == m) { answer++; sum -= arr[lt++]; } else { sum -= arr[lt++]; } } // while문에서 rt가 마지막 인덱스일 때 합은 검증을 못해서 검증 로직 추가 if (sum == m) answer++; return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int arr[] = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } System.out.println(T.solution(n, m, arr)); } }이 코드가 효율적인 코드인지 궁금해서 질문드립니다!!
-
미해결스프링 시큐리티
msa 구성시 SecurityContext 활용
안녕하세요! 현재 학습차 msa 구성으로 회원 가입/로그인/인증 부분을 만들어 보고 있습니다.auth-micro-service에서 인증하고 gateway 계층으로 인증 객체를 전송해서 SecurityContext에 인증 객체를 저장하려고 했는데 잘 안되고 문제가 발생합니다... 아무리 관련 내용을 검색해봐도 제가 부족한 탓인지 파악이 잘 안됩니다...일반적으로 msa에서 로그인한 회원 식별을 spring-security를 통해서 어떤 방식으로 구현하나요??현재 eureka-server, gateway-server, user-service, auth-service로 구성되어 있고, JWT를 통해 인증하고 있습니다! 회원 가입과 로그인 + 로그인시 AccessToken과 RefreshToken발급까진 했습니다. 로그인 인증은 UserDetailsService 의 loadUserByUsername(username: String) 을 사용하고 있습니다.
-
미해결실전! Querydsl
테스트에서 @Commit과 @Transactional(rollback=false) 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]테스트에서 DB에 반영되는 내용을 보기 위해서 @Commit을 다셨는데, 이전 강의들에서는 Transactional(rollback=false)로 그걸 수행하셨습니다. 차이가 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
테이블간에 연관관계가 없을 때 질문입니다.
안녕하세요만약 여러 테이블이 있는데 서로 연관관계가 맺어있지 않다면,JPA를 통해 JOIN이 불가능할까요? @ManyToOne과 같은 어노테이션을 사용할수 없는걸까요?모든 테이블이 PK만 있고 FK가 없는 상태입니다.USER 테이블에ID(PK)PC_IDNAME PC 테이블에ID(PK)PC_NAME 위와같이 컬럼이 있을 때, USER 테이블에 PC_ID를 FK로 지정하지 않아도, JPA에서 활용할 수 있을까요?현재 구현한 모든테이블이 이와같이 FK는 없고, PK만 지정되어있습니다 ㅠ 기존에 JDBC를 사용할땐 그냥 A.PC_ID와 B.ID를 JOIN해서 사용했습니다.
-
미해결김영한의 실전 자바 - 기본편
객체 생성 질문
즉 ValueObject 라는 클래스에 만약 hello 라는 변수로 만들었다고 가정해보겠습니다.ValueObject hello = new ValueObject(); 그러면 hello 라는 객체가 생긴거고 오른쪽 그림에는 hello 인스턴스가 생성된 것인가요 ?아니면 hello 라는 객체가 생성되었꼬, ValueObject 라는 인스턴스가 생성된 것인가요 ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@transactional 의 범위에 대해 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]현재 개발을 하다가 @transactional 의 범위에 대해 궁금한 점이 있어서 질문 올립니다. @Service class A{ //A 메서드 @transactional public Response saveShowProgram{ saveTV(Long openapiId); saveMovie(Long openapiId); Response = TV 의 일부+ movie의 일부 return response; } //B 메서드 @transactional public Response saveShowMoive{ saveMovie(Long openapiId); Response = Movie 내용 return response; } private Program saveMoview(Long openapiId){ Program program= programRepository.findByOpenAPiId(openapiId).orElseGet( Program newProgram = apiProgramToProgram; programRepository.save(newProgrm); return newProgram; } } 현재 문제 코드를 간략하게 나타낸 것입니다. saveShowProgram 과 saveShowMovie 모두 saveMovie를 호출하고 있습니다. 근데 이게 개발 과정에서 테스트 할 때는 몰랐는데 프론트 쪽에서 동시에 파바바박 둘다 동시에 호출했는데 세상에나... 같은 openapiId를 가지고 있는 프로그램이 두개씩 저장되는 경우가 있는게 아니겠습니까??(원래는 saveMovie 에서 program 에서 openapiId를 통해 조회하고 조회결과가 있는 경우에는 그 조회한 결과를 반환하지만 그렇지 않은 경우 저장해서 반환하고 있습니다). 그래서 @transactional 에 대해 제대로 이해를 못하고 있다고 생각했습니다. 당연하게 여겼던 것1) @tranactioanl 은 public 에 선언이 가능하고 거기 안에 t사용된 private 함수도 역시 @transactioanl 이다. 2) @transactional 이 붙은 것은 하나가 끝나면 처리되게 lock 이 걸릴 것이다. 이렇게 넘어갔었는데 어느 내용에서 제가 놓치고 있는게 있는지 알려주시면 감사하겠습니다! ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
-
해결됨김영한의 실전 자바 - 기본편
[6. 접근제어자][문제와풀이2] 쇼핑카트 질문 (p.19)
안녕하세요 저는 선생님께서 작성해주신 코드와 다르게 하기 처럼작성하였습니다.자체적으로 총 합계를 구해서 displayitems에 같이 도출했는데 하기 처럼 작성해도 무관할까요?값을 동일하게 도출됩니다.public class ShoppingCart { //배열 private Item[] items = new Item[10]; private int itemCount; public void addItem(Item item) { //item에 데이터 넣어야 함.. 순환할 필욘 없는 듯 if (itemCount >= 10) { System.out.println("장바구니가 가득 찼습니다."); return; } items[itemCount] = item; itemCount++; } public void displayItems() { System.out.println("장바구니 상품 출력"); int sum = 0; for (int i = 0; i < itemCount ; i++) { System.out.println("상품명 : " + items[i].itemName() + ", 합계 : " + items[i].itemTotalPrice()); sum += items[i].itemTotalPrice(); } System.out.println("전체 가격 합 : " + sum); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle 버전 관련 문의
초기 환경설정 중에 자꾸 아래와 같은 오류가 발생합니다.프로젝트 sdk와 gradle jvm 모두 1.7로 설정했습니다. IntelliJ IDEA doesn't support Gradle execution on Gradle JVM versions older than 8Possible solution:- Use Java 1.8 as Gradle JVM: Open Gradle settings