학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] (05:30부터) publicValue와 protectedValue에는 어떻게 접근한건가요? : publicValue, protectedValue는 타 클래스인 Parent의 멤버변수이고, 그것에 접근하려면 Parent의 인스턴스를 생성한 다음(인스턴스 변수는 'p'라 하겠습니다) 'p.'을 앞에 적어야 접근이 가능한 것 아닌가요? 즉 저는 p.publicValue같은 식으로 불러야 하는 것으로 알고있는데, 여기서는 어떻게 'p.'없이 접근을 한건지 궁금합니다 ㅠ
안녕하세요 스승님! 질문드립니다! 데이터 정합성을 위한 확인 절차는 front, back, DB에서 3중으로 처리하는게 좋은가요? 아니면 애플리케이션 레이어에서 처리하는게 좋을까요? (3중으로 하면 처리가 빠르고 정확할 수 있다는 장점이 있지만 처리 조건이 변경되는 경우 3군데에서 모두 변경이 있어야한다는 점이 꽤 번거로울 것 같습니다...) 이후 설계에서 다뤄주시겠지만, 1:1 관계의 테이블로 연결된 두 테이블에서 FK에 UNIQUE 제약을 거는게 일반적인지도 궁금합니다. 매번 덕분에 성장하고있슴다! 감사합니다!
🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 대상 위치] 강의 영상: 03:00 지점 강의록: 6. CASE 문.pdf - CASE 문 기본2 - CASE 문과 사용 위치 [질문 내용] 안녕하세요, 영한님. 다음과 같이 ' SELECT 절에서 사용한 CASE 문을 그대로 복사-붙여넣기 해서 ORDER BY 절에서 사용(THEN 결과는 1, 2, 3으로 변경)' 하셨는데요(아래 코드. 방법1 ). ORDER BY CASE WHEN price >= 100000 THEN 1 WHEN price >= 30000 THEN 2 ELSE 3 END ASC 실습하던 중 아래 코드( 방법2 )와 같이 ' SELECT 절에서 정의한 컬럼 별칭( price_label )과 THEN 값('고가', '중가', 저가')을 이용' 해서 정렬할 수도 있겠다고 생각해서 시도해봤고, 실행이 성공하여 영한님 코드와 동일한 결과가 나왔습니다. ORDER BY CASE WHEN price_label = '고가' THEN 1 WHEN price_label = '중가' THEN 2 WHEN price_label = '저가' THEN 3 END ASC 이때 자바와 같은 프로그래밍 언어 입장에서 보면 방법2 의 경우가 ' SELECT 절의 CASE 문 로직이 바뀌더라도 ORDER BY 절의 CASE 문 로직은 변경할 필요가 없으므로' 유지보수성 측면에서 더 좋겠다고 판단했습니다. 그런데 다음과 같은 반론(?)도 생각나더라구요. (애플리케이션 로직과 달리) 쿼리 문은 엄청나게 길고 복잡해질 가능성이 적으므로, 그냥 방법1 처럼 복사-붙여넣기 해서 써도 무방하다. 오히려 ORDER BY 절의 CASE 문을 새롭게 작성하는 과정에서 오타가 발생하여 오류를 일으킬 위험이 존재하니, 그냥 방법1 처럼 복사-붙여넣기 해서 써도 무방하다. 간단한 쿼리의 경우 ORDER BY 절의 CASE 문을 새롭게 작성하는 데에 비교적 많은 시간이 소모되는 비효율성이 존재하니, 그냥 방법1 처럼 복사-붙여넣기 해서 써도 무방하다. 이에 대해서 영한님의 의견은 어디에 가까우신가 의견 여쭙고 싶어서 글 남깁니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 질문은 아니고.. 생산자 소비자 문제 파트 공부하다가 정말 감사해서 글 남깁니다. 이해를 위한 그림이 지금 세기도 힘들 정도로 많이 들어가있는데.. 학습자를 배려해주시는 마음이 느껴져서 정말 감사하네요.. 얼마나 많은 시간과 노력이 들어가있는지 가늠도 안됩니다. 정말 덕분에 편하게 공부하고 있습니다. 항상 감사드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이전의 프린트 예제에서는 큐를 생성할 때 ConcurreentLinkedQueue를 사용했고, 생산자 소비자 문제에서는 ArrayDeque를 사용했는데, ConcurreentLinkedQueue를 쓰지 않아도 괜찮은건가요? 이 예제는 lock을 획득한 스레드만 접근 가능해서 동시성문제를 해결한 상황이라서 그런건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요, 영한님. 중요한 내용은 아니지만, 강의자료 개선에 조금이나마 도움이 될까 해서 글 남깁니다. 요약: 문제3의 [실행 결과] 의 행 순서를 변경하는 것을 제안합니다. 본론: 문제3: 회사 주요 이벤트 타임라인 만들기 의 경우 '최신 이벤트가 가장 위에 오도록 내림차순으로 정렬' 할 것을 요구하고 있습니다. 현재 강의록의 [실행 결과] 에는 다음 사진과 같이 고객 가입 이벤트가 모두 상품 주문 이벤트 보다 아래에 위치하고 있고, " 고객 가입 이벤트의 날짜는 쿼리 실행 시점의 created_at 값에 따라 달라질 수 있다" 고 명시되어 있습니다. 수강생들이 위 사진만 얼핏 보고 섣불리 접근한다면, " (고객 생성 일시) 가 쿼리 실행 시점에 따라 달라지기는 하지만, 그래도 모든 상품 주문 이벤트 이후에 위치하는게 올바른 결과겠구나" 라고 판단할 위험이 있다고 생각해서 다음과 같이 수정하면 어떨까 의견을 제시합니다. 수정 이후: 모든 고객 가입 이벤트 행이 모든 상품 주문 행보다 위에 위치. 즉, 현재 [실행 결과] 에서 두 이벤트의 위치를 맞바꿈. 수정 제안에 대한 근거는 다음과 같습니다. 예제 데이터를 삽입할 때 users.created_at 컬럼의 경우 DEFAULT CURRENT_TIMESTAMP 로 추가했음. 수강생은 강의 오픈 날짜인 2025-08-01 이후에 쿼리를 실행하는 것이 보장되기 때문에 users.crated_at 컬럼의 값 또한 마찬가지로 보장됨. 상품_주문 이벤트의 이벤트_날짜 중 가장 최근은 2025-06-17 로 강의 오픈 날짜보다 이전 임. 따라서 모든 상품_주문 이벤트 또한 마찬가지로 보장됨. 따라서 모든 users.created_at 데이터는 orders.order_date 보다 최근임이 보장됨. 아래 사진은 참고용으로, 수강생인 제 경우의 실행 결과입니다. 위에서 설명한 바와 같이 고객 가입 이벤트가 항상 상품 주문 이벤트보다 그 시점이 최근임을 확인할 수 있습니다.
Actuator, 프로메테우스, Grafana를 통해 운영 서버 모니터링 대시보드를 구축하려고 합니다. (CloudWatch는 일정 용량 이후 비용이 부과되는 문제로 Prometheus를 선택했습니다.) 근데 운영 서버에서 Actuator와 프로메테우스 서버를 띄우면 외부에서도 Actuator 가 제공하는 메트릭 정보뿐만 아니라, 프로메테우스가 수집한 정보를 9090 포트 번호를 통해 접근 가능하다고 생각하였습니다. 처음에는 Actuator의 정보를 ADMIN 권한을 가진 관리자만 접근 가능하도록 설정하였지만, Prometheus 서버에서 접근이 불가능한 문제가 생겼습니다. Prometheus와 Grafana를 통해 모니터링을 구축할 때, 데이터에 대한 보안을 강화할 수 있는 방법이 뭐가 있는지 궁금합니다.
안녕하세요, 영한님. 다른 수강생 분의 질문 글에 남겨주신 답변에다가 제 질문을 작성했는데 혹시 이에 대한 알람은 가지 않을까봐 질문글을 따로 올리고, 아래에 그 링크를 첨부하도록 하겠습니다..!! (현재 글은 추후 자체 삭제 예정입니다) 질문 글 링크 https://inf.run/Rywjc
안녕하세요 토비님 어플리케이션 계층의 port는 도메인과 외부의 연결을 위해 필요 하다고 알고 있는데 jpa나 마이바티스 같은 기술 또한 도메인 외부의 내용이기에 인프라 계층으로 들어간다고 알고 있습니다 그런데 의존성 역전을 위한 레파지토리 인터페이스를 어플리케이션 계층에 만들면 어플리케이션 서비스에서 도메인에 관련된 내용을 너무 깊게 관여하는 것 같아서 질문 드립니다 어플리케이션과 도메인의 경계를 어디까지로 보는게 좋을까요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 영한님이 제시해주신 가이드라인을 보면서 '모든 기능 요구사항을 기본적으로 구현한 후, 작성된 쿼리를 전반적으로 훑어보면서 인덱스를 설계' 하는 것이 가장 효율적일 것이라고 생각이 들었는데요. 영한님은 실무에서 인덱스 설계는 보통 개발 어떤 시점에 진행하시는지 궁금합니다.
안녕하세요 8강 강의에서 멀티모듈 구조 만드실때 각 서비스에 디렉토리를 추가하는 과정에서 new -> directory 클릭했을 때 강사님은 경로명 입력하는 칸 밑에 gradle source sets가 떠서 쉽게 src와 test디렉토리 등을 추가하셨는데 저는 뜨지 않습니다.. 왜 그런걸까요??