묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Select 조회를 할 때 내부 DB 흐름 질문
안녕하세요. select * from article where board_id= 1 order by article_iddesc limit 30 offset 90;해당 쿼리문을 날렸을 때의 문제점을 설명하는 부분에서 이해가 잘 가지 않는 부분이 있어 질문드립니다! 제가 기억하는 내용이 틀릴 수도 있어 질문드립니다! 제가 알고있던 바로는 Secondary index에 의해 만들어진 자료구조에서 leaft노드는 원본 데이터의 주솟값을 가진다고 알고있었습니다.따라서 강의의 설명에서는 article id를 가지고 다시 clustered index를 통해 조회한다 했지만 바로 O(1)으로 원본 데이터에 접근한다는 이해는 틀린것일까요? 틀렸다면 어떤 부분일까요? 좋은 강의 잘 듣고있습니다! 감사드립니다! 학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계 시 연관관계 주인을 설정하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]연관관계 를 사용할 경우 연관관계 주인을 설정해야 하는건 이해를 했습니다.@Entity public class Team { @Id @GeneratedValue private Long id; private String name; @OneToMany private List<Member1> members = new ArrayList<>(); }@Entity public class Member1 { @Id @GeneratedValue private Long id; private String username; @ManyToOne @JoinColumn(name = "team_id") private Team team; }위와 같은 엔티티 구조일 경우 Team 에서도 Member1 에 대한 정보를 알수 있으며 Member1 에서도 Team 에 대한 정보를 알수 있습니다. 이후 둘의 데이터를 삽입한다는 가정하에 다음과 같이 Member 를 먼저 생성후 Team 에 입력할수도 있고Member1 member1 = new Member1(); member1.setUsername("member1"); em.persist(member1); Team team1 = new Team(); team1.setName("teamA"); team1.getMembers().add(member1); em.persist(team1); 반대로 Team 을 먼저 생성한 뒤에 Member 에게 알려줄수도 있습니다.Team team = new Team(); team.setName("teamA"); em.persist(team); Member1 member = new Member1(); member.setUsername("member1"); member.setTeam(team); em.persist(member);문제는 여기서 부터 인데... 연관관계 주인을 사용하는 이유는 JPA 에 혼란(?) 을 주지 않기 위함이다 라고 외우고 있는 상태입니다. "mappedBy 를 사용하여 한쪽에서는 쓰기만 가능하도록 동작하도록 한다. " 근데 이게 연관관계 주인하고 무슨 상관인지 잘 모르겠습니다. 그냥 둘다 읽고 쓰고 업데이트 다 가능해도 객체 입장에서는 큰 문제가 없을거 같은데.. 굳이 연관관계 주인이라는 개념을 도입해서 사용하는 이유를 잘 모르겠습니다. 가령 DB 에서는 Team 테이블의 ID 값이 변경이 필요할 경우 그 와 함께 연관되어 있는 Member 테이블에 team_id 값을 변경해줄수도 있고 반대 상황에서도 변경이 가능한데.. 뭔 차이 인지 잘 모르겠습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
DTO 관련
안녕하세요 BookCreateRequest 객체에 name 을받는 생성자를 만들었더니 아무것도 안받는 생성자도 만들어야 정상 작동하더라구요 근데 아예 생성자를 안만드니까 바로 정상 작동하던데 무슨 차이가 있는건가요?
-
미해결스프링 시큐리티 OAuth2
현업에서 springboot를 3.5.5 를 사용해서 공부중인데...
httpSecurity 클래스의 메서드 authorizeHttpRequests, formLogin, apply메서드들의 인자값이 다 바뀌었네요 혹시 3.xx 버전으로 작성된 코드가 있을까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
교안에 있는 7페이지 데이터 영역
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]교안에 있는 7페이지에 운영체제와 프로세스, 스레드 그림에서 공유되는 부분에 코드, 힙, 기타가 있는데 데이터 영역도 공유되는게 맞는지 궁금해서 질문드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 gradle-groovy ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]gradle-groovy와 gradle - kotlin중에 뭘로 해야하나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의를 듣다가 생각나게 된 것이 앞서 배운 @MappedSuperClass가 생각이 났습니다. 이것도 각 엔티티에 공통된 속성을 정해줄 수 있었는데요. 어떤 차이점이 있는지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
리턴값 관련질문
좋은 강의 감사합니다!함수(메서드) 선언과 호출 강의를 듣는중인데,리턴값 관련해서 질문이 생겨서 글을 남기게되었습니다.현재 리턴값이 있고, 없고의 차이를 크게 못느끼겠어서 질문을 남기게 되었습니다.현재 이해한것은 리턴을 해주게 되면, 호출 한곳에 값을 돌려준다고 이해를 했는데, 리턴을 안하면 함수의 정의가 된곳에서 진행을 한다고 이해를 했는데, 이때 System.out.printIn(); 을 하면 출력이 되는것도 확인이 된는것을 봤습니다(17:45)결과적으로 리턴값이 있고 없고의 차이를 크게 못느끼겠어서 이렇게 질문을 남기게되었습니다.
-
미해결자바 코딩테스트 - it 대기업 유제
비밀번호
package 인프런.시뮬레이션_복습01; import java.util.HashMap; import java.util.Map; public class 비밀번호 { public static class Point{ int row; int col; Point(int row,int col){ this.row=row; this.col=col; } } private static Map<Integer,Point> map; private static final int INF=3; private static int getDistance(int row1,int col1,int row2,int col2){ return (int)Math.pow(row1-row2,2) + (int)Math.pow(col1-col2,2); } private static boolean isValid(int dis){ //거리가 대각선 포함 이동시간이 1인 경우 if(dis<=2) return true; return false; } static class Solution { public int solution(int[] keypad, String password){ int time = 0; map=new HashMap<>(); for(int i=0;i<INF*INF;i++){ map.put(keypad[i],new Point(i/3,i%3)); } String[] inputs=password.split(""); /** * 시작 값 초기화 */ int nowX=map.get(Integer.parseInt(inputs[0])).row,nowY=map.get(Integer.parseInt(inputs[0])).col; for(int i=1;i<inputs.length;i++){ int x=Integer.parseInt(inputs[i]); int nRow=map.get(x).row; int nCol=map.get(x).col; if(nowX==nRow && nowY==nCol) continue; if(isValid(getDistance(nowX,nowY,nRow,nCol))){ time++; }else{ time+=2; } nowX=nRow; nowY=nCol; } return time; } public static void main(String[] args){ Solution T = new Solution(); System.out.println(T.solution(new int[]{2, 5, 3, 7, 1, 6, 4, 9, 8}, "7596218")); System.out.println(T.solution(new int[]{1, 5, 7, 3, 2, 8, 9, 4, 6}, "63855526592")); System.out.println(T.solution(new int[]{2, 9, 3, 7, 8, 6, 4, 5, 1}, "323254677")); System.out.println(T.solution(new int[]{1, 6, 7, 3, 8, 9, 4, 5, 2}, "3337772122")); } } }해시맵을 사용하여 풀었는데 이 방법도 시간 복잡도 혹은 공간 복잡도면에서 괜찮나요??
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
배포 시 테스트 코드가 돌아갈때 사용하게 될 RDB 셋팅에 관하여..
안녕하세요.강의 정말 잘 들었습니다.도움이 많이 되어서 수강평은 나중에 꼼꼼히 작성해볼 생각입니다~!====================== 바쁘시면 이 부분만 읽으셔도 됩니다. ============= 배포 시 jenkins server에서 실제 서버에 배포할때 테스트가 돌아갈텐데jenkins server에 compose를 통해 작동 하게 될mysql에 DB schema insert 작업을 해서동일하게 구조를 맞추고 테스트가 돌아가게 하는 게 좋은 생각일 까요?=========================================================== [세부 사항] 일단 테스트 코드가 local mysql에서 돌아가는 걸로 이해 했습니다. 배포 시 jenkins server에서 실제 서버에 배포할때 테스트가 돌아갈텐데jenkins server에 compose를 통해 작동 하게 될mysql에 DB schema insert 작업을 해서동일하게 구조를 맞추고 테스트가 돌아가게 하는 게 좋은 생각일 까요?현재 아직 jenkins 배포를 하고 있지는 않고 소스코드 개발중이라머리속으로만 생각하는 상태입니다. 토비님 의견은 어떠신가요.....?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
/.well-known/appspecific/com.chrome.devtools.json 에러에 대해서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.안녕하세요. 영한님,수업을 듣다가 F12 개발자 도구를 켜놓고 실행하고 있었는데 콘솔 창에 아래와 같은 예외가 발생합니다. 개발자 도구를 끄면 안 뜨더라구요. 만약 현업에서 사용한다면 이걸 따로 처리해야하는지 궁금합니다. public class WellKnownServlet implements HttpServlet 이런식으로요.------------------------------------------was.httpserver.PageNotFoundException: request url= /.well-known/appspecific/com.chrome.devtools.jsonat was.httpserver.ServletManager.execute(ServletManager.java:41)at was.httpserver.HttpRequestHandler.process(HttpRequestHandler.java:39)at was.httpserver.HttpRequestHandler.run(HttpRequestHandler.java:24)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)at java.base/java.lang.Thread.run(Thread.java:1583)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
PDF 다운로드 어디서 할수있나요
PDF 다운로드 어디서 할수있나요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트코드 메서드명 한글
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영한님 안녕하세요.테스트 코드 작성하실때 메서드명을 한글로 기재하시던데 실제 실무에서 테스트 코드 작성하실때도 한글로 작성하셨었나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
궁금한게 있습니다!
이렇게 3단분리를 할때 처음부터 코드를 작성할때 이렇게 3가지 역할을 분리해서 각각 구현해야지! 라고 다 미리 설정해두고 코드를 짜는건가요 아니면 controller 에 일단 다 구현해놓고 그다음 분리해서 구현하는건가요?? 전자면 미리 생각하게 많아 뭔가 복잡해보여서요 ㅜ
-
미해결김영한의 실전 자바 - 기본편
문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 군대에서 김영한 강사님의 강의를 듣고 있는 병사입니다. 강의를 듣는 것이 쉬운 환경은 아니지만 열심히 듣고자 하여 조금씩 노력하고 있습니다. 처음으로 코딩 강의를 듣는 것인데 책으로 배우는 것과 정말 많은 장점이 있는 것을 알았고 재미도 있어 잘 듣고 있다는 말씀 드리고 싶었습니다. 다만, 해당 강의와 스프링 기본편 강의를 저번에 이벤트로 3개월동안 무료로 들을 수 있게 해주셨는데 제 노력이 부족해서 기간 안에 다 듣지 못했습니다.괜찮으시다면 해당 기간을 연장해주실 수 있으실지 여쭤보고 싶습니다. 정말 배우고 싶은 의지가 있습니다. 관련하여 강사님의 의견 들어보고 싶습니다.기간이 지나면 답변글을 확인할 수 있을지 모르겠지만 이메일 남겨두겠습니다.scentofsharon@naver.com감사합니다
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
build 시 테스트 TASK 에러 발생
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?섹션3[2주차]설득력을 높이는 수치화 기술11강 2-4 프로젝트 기본 설정하기 & 로컬 모니터링 인프라 설정 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 14:08분 build 시 test 시 런칭 시점에 테스트를 모두 통과하도록 변경했다고 하는데, 실제 build시에 테스트 task 수행 시 DB에 연결할 수 없는 오류가 발생합니다docker compose up 후 bootRun시 localhost:8080/api/chapter2/boards시 응답 값은 제대로 나옵니다 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?EventJoinWithExternalApiUpdateFacadeTest > 외부 API 호출과 DB 업데이트 불일치 테스트 FAILED java.lang.AssertionError at EventJoinWithExternalApiUpdateFacadeTest.java:103SimpleEventListenerTest > 현재 코드 구조에서 @TransactionalEventListener는 작동하지 않는다 FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:143 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111SimpleEventListenerTest > @TransactionalEventListener는 활성 트랜잭션이 필요하다 FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:143 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111SimpleEventListenerTest > @EventListener는 트랜잭션이 없어도 정상 동작한다 FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:143 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.exception.JDBCConnectionException at SQLExceptionTypeDelegate.java:49 Caused by: java.sql.SQLNonTransientConnectionException at SQLError.java:111 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의자료 확인 요청
5. 회원 관리 예제 - 웹 MVC 개발.pdf 내의 소스중MemberForm클래스의 create() 메소드 내에MemberService memberService= new MemberService();가 빠져있습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스가 초기화되는 것 같아요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]2번 멤버(HelloB)를 추가하는 코드를 실행한 뒤에 h2에서 조회해보면 1번 멤버는 없고 2번만 나와요
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
reader.readLine() == null 의미
TCP 에코 서버 실습하던 와중에 반복문 조건에서 궁금한게 있어서 질문 남김니다. while((msg = reader.readLine()) != null) { // 로직 }Q. 클라이언트가 연속적으로 msg를 보낼 의도가 있고 그렇게 보낸다고 해도 저 서버쪽의 반복문 안에서 로직을 처리하고 다시 조건을 확인하는 cycle이 엄청 빠를텐데 1. 만약 클라이언트는 여러번 메시지를 보낼 꺼지만, 서버입장에선 1cycle을 돌고 .readLine()으로 했을 때 reader(inputStream)가 비어있으면 null이지 않나요??2. 저런 조건에서 null 조건이 성립하려면 EOF일 때만 null이되서 반복문을 빠져나오는건가요? 3. 아니면 애초에 null일 상황은 없지만 무한 루프를 만들기 위한 장치 인가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
getReference()하면 영속성 컨텍스트에 속하게 되나요?
강의 36분 10초 경부터 관련해서 질문드립니다.해당 시점에서 refMember는 getReference()하였으므로 프록시입니다.그리고 바로 다음에 em.detach(refMember) 하여 영속성 컨텍스트에서 끄집어 낸다고 하시는데요.그렇다면 getReference()하여 생성되는 프록시도 영속성 컨텍스트에 속하게 된다는 말씀인건가요?