묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
빌더 패턴 vs 정적 팩토리 메서드
빌더 패턴을 사용하여 객체를 생성하는 방법과 정적 팩토리 메서드를 사용하여 객체를 생성하는 방법을 각각 언제 사용하면 좋을지 궁금합니다.구글링해서 찾아보니 빌더 패턴은 파라미터가 많을때 사용하고 정적 팩토리 메서드는 파라미터가 적을때 사용한다고 하는데 파라미터가 많고 적음의 기준도 잘 모르겠고 명확하게 언제 사용하면 좋을지에 대한 글을 찾지 못해 질문글을 작성합니다.
-
해결됨토비의 스프링 6 - 이해와 원리
변하지 않는 코드 분리하기 - 메소드 추출
안녕하세요 토비님변하지 않는 코드 분리 commit 에서 WebApiExRateProvider가 private "static" 인 이유가 있나요?강의에서는 extract method 단축키로 만드셨는데 왜 intellij가 static을 붙이는것을 추천해줬는지 도 좀 궁금합니다...
-
미해결김영한의 실전 자바 - 중급 2편
hashCode 결과로 음수가 나올 수 있게 해놓은 이유?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 내용에서 hashCode 결과로 음수 값이 나올 수 있으므로 절대값으로 변환하는 과정을 가졌는데요, 자바에서는 왜 음수 값이 나올 수 있게 해놓은 건가요? 인덱스로 사용하는 용도 외에 다른 용도가 있나요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
2024년 2회 17번 재귀함수
재귀 함수로 계속 돌면 Char c = a 만 남고 if(idx <0) return""; 으로 빠져나오는거 아닌가요?ㅠidx : 0, c: a,seen[a]:falseidx : 1, c: b,seen[b]:false어떻게 나오는지 모르겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 빌드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.자바 버전 17이상을 사용하는데 빌드가 안됩니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
분산락과 서버별 락에 대해 질문드립니다!
안녕하세요 영한님!다중서버로 이루어진 분산환경에서 분산락이 주로 사용되는데 이는 전체 또는 여러 서버에서 동기화가 필요한 데이터여서 그런것이죠? 현재 학습내용인 자바에서 제공하는 락 (서버별로 락을 갖는 방식은) 분산환경에는 적합하지 않고,서버별로 락을 걸어도 커버 되는 자원에 한정되게 사용되는걸로 이해한게 맞을까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Postman 500에러
선생님처럼 무한 루프로 안가고 500에러가 뜨는데 왜 그런건가요??
-
미해결김영한의 실전 자바 - 중급 1편
컴포지션 , 정적팩토리메서드
강의를 듣던 중 다른 클레스를 참조 하거나 자기 클래스 이름으로 만들어진 함수가 있길래 구글링을 해보았는데 (정적 팩토리 메서드) 디자인 패턴이라는 개념이 있더라구요,,, 혹시 디자인 패턴에 관한 강의도 있나요,,?
-
해결됨김영한의 실전 자바 - 중급 1편
내부 클래스, 코드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.car 클래스 engine클래스르 리팩토링 후에 car에 engine을 넣는것을 보았습니다. 그리고 그것을 좀 살펴 보던 중에,engine 안에 있는 start() 메서드를 private로 바꿔 보면 어떨까 라는 생각을 하게 되었고,구동 결과가이렇게 되었습니다.stop()이라는 메서드를 추가하고 여기 메서드에 private로 바꾸고 start()는 그대로 public임영한님은 Enige이라는 클래스만 private로 바꾸고 나머지 메서드는 public로 놔두었는데,메서드도 private로 바꾸는게 낳을까요? 아니면 그냥 그대로 놔두는것이 좋을까요?답변 부탁드립니다.
-
해결됨김영한의 실전 자바 - 중급 1편
안쪽에 있는 클래스가 외부에서 사용되는 경우는 어느 경우 인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 남깁니다.섹션7 - 정적 중첩클래스의 활용 - 8분때 중첩클래스의 접근 에서,흔하지는 않지만 안쪽에 있는 클래스가 외부에서 사용되는 경우가 있다고 말씀하셨습니다.그래서 어떨때 안쪽 클래스가 외부에서 사용될까?라는 궁금증이 생겼습니다.일단 두가지를 생각해 보았는데,헌혈을 할때(피를 다른사람에게 줄대)차에서 기름을 뺄때(차에 있는 기름을 기름통에 담음) 이 두가지 경우가 있기는 한데 코딩이랑은 좀 상관이 없는것 같아서 어떻게 쓸까? 라는 감이 안 잡히네요. 어느 때에 사용하는지 알켜 주실 수 있으신가요?답변 부탁 드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 전이 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. child 객체가 parent만 연관관계를 가지면 사용가능 하지만, 다른 엔티티와도 연관관계를 가지면 영속성 전이를 사용하지 못한다고 설명하셨습니다. 위 ERD는 제가 지금 프로젝트를 하고 있는 예시인데요동아리마다 게시판이 존재하고, 회원은 여러 동아리에 참여할 수 있습니다. 그래서 각 동아리마다 직위가 다르기 때문에 테이블을 따로 빼서 관리를 해주고 있는데요.그럼 혹시 요 상황에서, 사용자가 가입을 했을 때 가입 테이블에도 자동으로 데이터를 저장하고 싶은데, 동아리 테이블과 연관관계를 가지고 있으므로 영속성 전이를 사용하지 못하는 것일까요? 만약 안된다면, 어떤 방식으로 가입 테이블에 자동으로 추가를 해야할지 조언을 해주실 수 있을까요 ㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
45강 배포후
jar명령어까지 하여 스프링부트를 실행해주었는데 다음과 같은 오류가 뜨고 웹에서도 서버 내부 오류라고 뜹니다. 무엇이 잘못된건지 모르겠네요.https://www.inflearn.com/community/questions/1199055/45%EA%B0%95-dev-%EC%97%B0%EA%B2%B0-%EC%97%90%EB%9F%AC 이거 참고해도 이해가 안가요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대다에서 페치 조인시 발생하는 데이터 뻥튀기에 대해 질문 있습니다.
Team이 있고 Member가 있고 이 둘이 일대다 관계라고 하겠습니다.데이터 뻥튀기라는게 감이 잘 안잡힙니다. 일단 페치 조인을 한다는거 자체가 team과 member 데이터가 둘 다 필요해서 페치 조인을 사용한다고 생각했습니다. 근데 교재 예시중에 아래와 같은 이미지가 있는데요 team 데이터 입장에서는 중복된 데이터일 수 있지만 member 입장에서는 중복된 데이터가 아니지 않나요? 그래서 team을 조회 했을때 필요한 member 데이터들도 조회를 한거니 데이터 뻥튀기가 아니지 않나 라는 생각이 듭니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
이번 강의 내용이 좀 많이 어렵네요..
이번 강의부분이 이해도가 너무 부족한거 같아서 두번정도 돌려들었는데도 통 이해가 안갑니다..우선 9분에 순서를 보자면main의 start를 먼저 출력하고ElectricCar의 생성자(이부분을 c에선 함수라고 했던가요..?)를 불러오고 extends의 car를 불러온 후 Car Created를 출력ElectricCar의 Electric Car created를 출력...End 이렇게 순서가 되나요?... 또한 startEngine는 왜 부모고 chargeBattery는 왜 자식인지 이 부분도 통 이해가 안가구요.. 또한 메서드는 이름이 같고 생성자는 이름이 다르다는 건 알겠습니다. 그 외 기능적으로는 차이가 없는건가요? 이전 강의의 if나 for문 같은경우엔 정말 쉽게 이해하면서 넘어갔는데 상속부분 들어오면서 이해도가 확 떨어져버리네요..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 코드에서 @Transactional과 @AfterEach
강의에서 @Transactional 을 테스트코드에 붙여서 테스트를 진행하였는데요 @AfterEach 어노테이션으로 void clean() {메서드를 만들어 리파지토리를 정리하는거랑 차이가 있나요?코드가 간결해지는 이점으로 @Transactional 를 자주 사용하게 되는건가요?실무에서 어떻게 쓰이는지 궁금합니다.
-
미해결실전! 스프링 데이터 JPA
save에 관한 질문입니다.
[질문 내용]강사님이 save를 할때는, 데이터가 디비에서 한번 갔다온(디비에서 조회된) 친구들은 수정시 save호출시 merge가 일어난다고 하셨는데, 영속성 컨텍스트에 그 조회한 데이터가 있으면, merge가 안 일어나지 않나욤?? 디비에서 데이터를 가져왔을 때, 해당 데이터의 변경이 일어나면, 그냥 트랜잭션이 끝날때, flush()가 일어나니까, 놔두면 알아서 더티체킹이 일어나서 업데이트가 되는 것으로 알고있습니다.그래서, 한번 테스트로 데이터를 변경시키고, 해당 데이터를 save하니 디비에서 한번 더 select가 안 날라가더라고요. 이랬을땐, 아무것도 안 일어나는 건가여? 그리고 트랜잭션이 끝날때 더티체킹이 일어나서 업데이트가 되는 건가여? 영한님이 말하신 건, 영속성 컨텍스트에 해당 데이터를 clear했을 때를 말하는 건가여? 아래 사진 첨부입니다.@Test public void test(){ Member member = memberRepository.findById(2L).orElseThrow(); member.setUsername("ㅎㅎ"); memberRepository.save(member); } @Test public void test(){ Member member = memberRepository.findById(2L).orElseThrow(); member.setUsername("gg"); em.flush(); em.clear(); memberRepository.save(member); }
-
해결됨김영한의 실전 자바 - 중급 1편
중첩 클래스 및 내부 클래스 코드 질문.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.중첩 클래스를 복습하다가, 동영상 강의 에서여기 있는 코드를 보고, 정적 중첩 클래스랑, 내부 클래스 이렇게 같이 사용된 적이 있을까? 라는 생각을 하게 되었습니다.실무 에서 정적 중첩 클래스랑, 내부 클래스 이렇게 두가지 경우가 같이 사용하신 적이 있으신가요?답변 부탁 드립니다.
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
백준 24479 문제 제출 결과 "틀렸습니다" 라고만 나와서 어떤 부분이 틀렸는지 잘 모르겠어요 피드백 부탁드립니다
package com.study.book.graph; import java.util.*; import java.io.*; public class Baekjoon24479 { private static ArrayList<Integer>[] adjList; private static boolean[] visited; private static int[] answer; private static int visitOrder; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); int R = Integer.parseInt(st.nextToken()); adjList = new ArrayList[N + 1]; for (int i = 0; i < adjList.length; i++) { adjList[i] = new ArrayList<>(); } for (int i = 1; i < N + 1; i++) { st = new StringTokenizer(br.readLine()); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); adjList[x].add(y); adjList[y].add(x); } for (ArrayList<Integer> list : adjList) { Collections.sort(list); } visited = new boolean[N + 1]; answer = new int[N + 1]; visitOrder = R; dfs(R); for (int i = 1; i <= N; i++) { bw.write(String.valueOf(answer[i])); bw.newLine(); } br.close(); bw.close(); } private static void dfs(int now) { visited[now] = true; answer[now] = visitOrder; visitOrder++; for (int next : adjList[now]) { if (!visited[next]) { dfs(next); } } } } 안녕하세요 개취님!알고리즘 강의 잘 듣고 있습니다 ㅎㅎ다름이 아니라, 위 코드로 문제를 풀고 테스트 코드 또한 정상적으로 통과하여 백준에서 제출을 진행했는데, 단순히 "틀렸습니다" 라고만 나와서 어떤 점에서 문제가 있는지 정상적으로 파악이 안되서 문의드립니다!한번 확인 후 피드백 주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 전이 + 고아 객체, 생명주기에 대해 질문 있습니다.
"CascadeType.ALL + orphanRemoval=true 두 옵션을 모두 활성화하면 부모 엔티티를 통해서 자식의 생명 주기를 관리할 수 있음"위 내용에 대해 질문 있습니다.CascadeType.ALL 옵션만 사용하고 부모를 삭제 해봤는데 자식은 삭제 되지 않았습니다. CascadeType.ALL 옵션에는 CascadeType.REMOVE 옵션이 포함되어 있지 않는건가요?CascadeType.ALL 옵션을 사용하여 부모를 저장 혹은 수정시 자식도 같이 저장과 수정을 할 수 있고 orphanRemoval=true 옵션을 추가해 부모 삭제 시 자식도 다 삭제하게 만들어 자식의 생명주기를 부모의 생명주기에 맞출 수 있어 "부모 엔티티를 통해서 자식의 생명 주기를 관리할 수 있음" 라는 말이 허용이 되는건지 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 1편
중첩 클래스(내부) 질문?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 중첩 클래스(내부 클래스)를 공부하면서 뭔가? 상속관계랑 비슷한것 같아서 질문을 남깁니다.김예린 님의 이글 <- 을 보면서 어떻게 설명할까 코드를 만들면서 이거 저것 시도해 보다가,super.name = name; 도 가능 하다는 것을 보고 답변을 포기 했었는데, 중첩 클래스 관련 강의를 들으면서 좀 비슷한것 같은데 라는 생각을 하게 되었습니다.이유는자식 클래스에서 name이라는 인스턴스 변수가 없지만 부모클래스의 name이라는 인스턴스 변수를 쓸수 있음이름이 같을때 super라는 키워드를 통하여서 구분가능.이것을 통하여서 비슷하다고 생각하였는데.저의 생각이 잘못 된 건가요? 아니면 좀 비슷하다고 생각해도 되는건가요? 이것에 대해서 잘못 이해를 하고 있다면 교정해 주시면 감사하겠습니다.(내용이 이상해서 수정함 죄송합니다. 이유도 안쓰고 말도 뭔가 안맞았엇네요.)수정2.복습하다 보니까. 상속이랑 중첩이랑 틀린게 구분이 가네요. 상속은 private의 정보를 못가져오고 중첩은 private에 있는 정보를 가져올수 있네요.. 어제 어떤 분에게 거북이 마음을 이야기 햇는데, 저가 거북이 마음이 안된것 같네요. 죄송합니다.