안녕하세요! 현대적인 설계에서는 대부분 자연 키가 아닌 대리 키를 기본 키로 사용하는 것이 권장된다고 하셨는데요. 그렇다면 혹시 자연 키를 기본 키로 사용해도 괜찮은 예외적인 상황 이 있을까요? 예를 들어, 변경 가능성이 거의 없는 코드성 데이터나 표준화된 식별자(예: ISO 코드, 통화 코드 등) 같은 경우에도 무조건 대리 키를 추가하는 것이 좋은지, 아니면 자연 키를 PK로 두어도 실무적으로 문제가 없는 기준 이 있는지 궁금합니다. 감사합니다 ☺ ︎
<c:out>을 사용하면 HTML의 특수문자가 포함되있을 경우 HTML을 해석하지 않고 출력한다는데. HTML은 특수문자를 태그로서 가지고있는 마크업 언어인데... 이게 무슨말인지 이해를 잘 못하겠어요... 인터넷의 다른 블로그 글을 봐도 거의다 똑같은 설명이라... 그냥 있는 그대로 출력을 한다는건지 HTML태그 안의 내용을 출력한다는건지 아리쏭 합니다.. 그리고 Spring에서 Beans으로 등록한다는 의미가 스프링에서 자체적으로 관리를 한다?고 이해하고 있는데... 자바를 배우고 바로 spring으로 넘어와서 그런지 servlet의 개념도 어렵습니다... 어디서 부터 손봐야할지 모르곘어요.... 죄송함니다..
안녕하세요, 강사님. 데이터를 효율적으로 JOIN 하여 어떻게 가져올지에 대한 방안에 대해 고민하던 중, 궁금한 점이 있어 질문을 드립니다. 강사님의 강의를 들으며 JOIN 시 결과 행수 차이에 대해 아래와 같이 이해했습니다. 부모 테이블에서 자식 테이블로 JOIN할 경우 → 결과 행수가 부모 기준으로 유지된다. 자식 테이블에서 부모 테이블로 JOIN할 경우 → 결과 행수가 자식 행수에 따라 크게 늘어날 수 있다. 그렇다면 아래와 같은 상황에서 어떻게 처리하는 게 효율적일지 궁금합니다. 강의 상세 페이지처럼 여러 유형의 데이터를 한 번에 가져와야 하는 경우 > 예시) 강의 정보, 강사 정보, 강의 평점, 강의 리뷰 등 부모 테이블(강의)에서 자식 테이블(강사 정보, 강의 평점)로 JOIN할 때, 결과 행수가 부모 테이블 기준으로 유지되거나 크게 늘어나지 않는 상황에서는 한 번의 쿼리로 모든 데이터를 조회하는 것이 좋은 방법일까요 ? 반대로, 강의 리뷰처럼 자식 테이블의 데이터가 많아져서 결과 행수가 급격히 늘어날 경우에는 리뷰 데이터만 별도의 쿼리 또는 API로 분리해서 조회하는 것이 더 바람직할지 궁금합니다. 결국, 관계 방향과 데이터 양에 따라 결과 행수가 크게 늘어나지 않는 JOIN까지만 한 번에 처리하고, 행수가 많아지는 데이터(예: 리뷰)는 별도로 쿼리하거나 API를 분리하는 전략이 좋을지, 그리고 쿼리/API 분리 기준을 어떻게 결정하는게 좋을지 설명해주시면 큰 도움이 될 것 같습니다. 감사합니다.
강의 잘 듣고 있습니다! 강의를 듣던 중 궁금한것이 있는데요. 예를 들어 결제 API를 만든다면: - 금액, 결제수단: 필수 - 할인쿠폰, 메모: 선택 @Builder를 사용할 때 필수 파라미터 처리가 궁금합니다. 결제 API 같은 걸 만든다면 금액은 필수인데, @NonNull은 런타임 체크로 알고 있는데요. 프로그램을 실행해야 에러를 확인할 수 있었습니다. 필수 항목을 빠뜨리면 컴파일 에러가 나게 할 수는 없나요? 실무에서는 런타임 체크로 충분한가요, 아니면 중요한 객체는 컴파일 타임 체크를 위해 직접 구현해야 할까요?
안녕하세요 선생님, 인프런에서 진행하는 추석완강 챌린지에서, 선생님 강의를 신청하여 수강하고있습니다. 강의는 너무 잘 듣고있고, 오늘 미션이라 특별히 궁금한점은 없지만 질문 남겼습니다.^^ 저는 원래 Spring 기반의 백엔드 개발을 하다가, 이직을 하면서 생성형 AI기반의 서비스를 개발하는 업무를 담당하게 되었는데, RAG 기반 서비스 개발을 하면서 LLM을 공부하다보니, 딥러닝의 기초 없이, attention이나 트랜스포머 아키텍쳐를 이해하기에는 어려움이 있어 선생님 강의를 통해 머신러닝 - 딥러닝 공부를 할 계획을 가지고 있습니다. 감사합니다.
데이터베이스의 컬럼명과 애플리케이션 코드의 일치성을 가져가는게 가독성면에서 좋다고 생각하는데.. 모든 컬럼이 앱 코드와 일치되어야하는건 또 아닐거같아서요. e.g) 앱 코드에서는 필드를 두개로 나눌수도 있지만 데이터베이스 컬럼에서는 하나의 컬럼으로 가져가는 경우도 있나요?
킬구형 텍스트 강의임에도 몰입감 있는 구성에 연휴에 재밌게 공부하고 있어. 고마워 FlatFileItemWriter에 대한 흐름을 정리하고 질문 해볼게 1. sourceType() 메서드 내 객체 타입에 따라 FieldExtractor 구현체가 결정된다. 2. (Bug가 fix되기 전까지) sourceType() 메서드 내 객체 타입이 Record일 경우 names() 메서드 호출은 무시되고, Record 타입의 모든 property가 쓰일 수밖에 없다. 3. 그렇기에 Record 타입에서 필드 하나를 제외하고 파일을 쓰고싶다면, fieldExtractor() 를 사용한 커스텀 구성을 통하여 필드 하나를 제외해야 한다. 내가 강의를 보면서 정리한 흐름이고, 아래는 그 정리 중 나온 질문이야 Q1. BeanWrapperFieldExtractor 일 경우 필드 하나를 제외하고 싶다면, names() 에서 해당 필드만 제외해도 되나? Q2. 만약 위와 같은 방법이 된다면, RecordFieldExtractor 관련 Bug가 fix 된 후에 FieldExtractor를 직접 커스텀하는 경우가 별로 없지 않을까 싶은데.. 혹시 내가 생각하지 못한 부분이 있을까? 고마워 킬구형아
안녕하세요 :) 저는 게임 개발자를 희망해서 C#으로 코테를 준비하고 있습니다. C#에는 기본 제공 PriorityQueue가 프로그래머스 환경에서 지원되지 않는데, Python이나 C++처럼 heapq나 priority_queue를 쓸 수 없는 경우 어떻게 대비하는게 좋을지 여쭙고 싶어 질문드립니다!
안녕하십니까 ? 현재, 실전 자바 중급 2편을 듣고 있는 2년차 개발자입니다. 평소에 아무런 생각없이 사용하고 있던 자료 구조들에 대해 공부하게 되니까, 어떻게 사용해야하는 지와 왜 해당 자료구조가 시간복잡도 상 좋은 지에 대해 알 수 있어서, 새롭게 느끼고 있습니다. 혹시, 자바 관련해서 강의를 더 듣는 다면, 어떤 강의가 실무에 도움될지 궁금해서 여쭙습니다. 혹시나 더 추천하는 강의가 있으실까여?
선배 개발자로서 알려주시는 강의 내용들이 정말 좋았는데요, 그와 더불어 앞으로 주니어 백엔드 개발자로서 어떤 역량을 조금 더 집중해서 키우면 좋을지 조언을 부탁드리고 싶습니다. 또, 아직 이를 수도 있지만 이직을 준비할 때 도움이 될 만한 공부 방향이나 추천해주실 만한 책이 있다면 알려주시면 감사하겠습니다. 강의 중간중간 소개해주시는 책들이 많아서 최근에 또 추천해주실 책이 생기셨는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Spring Data JPA에 있는 인터페이스를 사용하는 경우가 많이 보이는데 강의에서는 EntityManager를 주입받아서 직접 구현하는 방식으로 설명해주신 이유가 궁금합니다.
회사 규모상 프로젝트를 혼자서 개발하는 경우, 강의의 내용을 적용해서 도메인 문서를 만드는 것이 개발에 대한 정리나 추후 다른 사람이 봤을 때 도움이 될 수는 있으나, 당장 시간에 쫓기기도 하고 다른 사람의 피드백 없이 혼자서 정리하다 보면 잘 정리하기 힘들다는 생각이 되는데요. 이런 상황에서의 정리는 오히려 도움이 안될 수도 있다는 생각이 드는데, 토비님께서는 어떻게 생각하시는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JPA 공부 중 프록시 객체부분에서 혼란이 있습니다. em.getReference()로 가져온 객체는 실제 엔티티가 아니고 프록시라는데, == 비교 시 언제 같고 언제 다른가요? 프록시 객체는 언제 실제 엔티티로 초기화되나요? (예: 필드 접근 시점? 트랜잭션 종료 시점?) 만약 영속성 컨텍스트에 이미 로드된 엔티티가 있을 때, em.getReference()를 호출하면 어떤 객체를 반환하나요?
안녕하세요. Kotlin과 Java의 현업에서의 활용에 있어 궁금한 내용이 있어 질문드려요. 서버를 개발하실 때 Kotlin과 SpringBoot를 활용한다고 수업시간에 지나가면서 잠깐 말씀해주셨는데요. 혹시 Kotlin + SpringBoot의 프로젝트 작업을 진행하실 때 전혀 Java를 사용하지 않고 활용하시는지 아니면 Java와 Kotlin을 같이 사용하는 지 현업에서 실제 어떻게 활용하시는지 궁금합니다. 그리고 Gradle에서 implementation("org.apache.commons:commons-lang3:3.0") 와 같은 외부 라이브러리를 Kotlin + SpringBoot 프로젝트에서 사용할 때 Java로 가져와서 사용하는지 아니면 Kotlin으로 따로 제작된 코드를 사용하는지 궁금합니다.
안녕하세요 현재 섹션 5_4-9. 낙관적 락, 비관적 락 부분을 듣고 있는데요. 현재 공공SI 고도화 개발팀에서 개발을 하고 있는데 동시성 제어 부분이 있는것 같아서 질문드립니다. 레거시 코드로 Oracle/ iBatis DAO / XML 환경이며 담당자가 신청에 대해서 접수하는 기능에서 소스분석을 통해서 봤을 때 기존 소스 흐름은 1. 작업확인용 테이블에서 현재 작업중인 목록이 있는지 확인(Select) 2-1. 작업중 목록이 없다면 작업확인용 테이블에 작업중으로 insert 2-2. 작업중 목록이 있다면 Exception 발생(작업중입니다.) 3. 해당 신청건에 대한 insert/update 진행 4. 작업확인용 테이블의 insert 했던 값의 상태를 작업완료로 Update * 작업중 상태가 있을 땐 다른 신청건에 대해서도 접수가 불가 입니다. 강의를 듣고 보았을 때 작업확인용 테이블의 존재 이유가 동시성 제어를 위함으로 보이는데 기존 흐름을 봤을 때 비관적락 > 배타락으로 적용하는것이 맞다고 생각이 드는데 맞는 접근일까요? 또한 비관적 락 적용시 작업확인용 테이블의 존재가 필요없어지는 걸까요? 해당부분을 건드리기에 부담이 가서 기존 방식대로 개발을 해놓은 상태이긴 한데 강의를 듣고 적용해볼 수 있지 않을까 생각이 들어 질문드립니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의를 아직 다 듣지 못해서 뒤에 관련 내용이 나올 수도 있지만 궁금해서 질문드립니다. 같은 람다식이 여러번 실행될 때마다 새 인스턴스가 생성되는 건가요, 아니면 JVM이 내부적으로 같은 람다식을 한 번 생성해서 재사용하는 건가요? 감사합니다!