묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
created_at 관련 구현과 DB ENUM에 대해
안녕하세요, 강사님. 이번 강의를 듣고 2가지 궁금증이 생겨 질문을 올리게 되었습니다.created_at과 updated_at 구현 DB 레벨에서 ON UPDATE와 DEFAULT CURRENT_TIMESTAMP를 활용할 수 있다고 말씀해 주셨는데요, JPA에서는 @CreatedDate와 @LastModifiedDate로 애플리케이션 단에서 이를 구현할 수도 있습니다. 실무에서는 각각을 언제 사용할까요? 그리고 권장하는 구현이 따로 있으실까요?DB ENUM 타입을 잘 사용하지 않는 이유실무에서 DB ENUM 데이터 타입 사용을 권장하지 않는다는 말씀으로 이해했습니다. 단순히 해당 ENUM 값의 범위가 변경되었을 때 이를 바꿔주는 것 이상으로 성능 이슈가 있어서라고 생각했습니다만, 정확히 알기가 어렵습니다. 자세한 설명을 부탁드려도 될까요? 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
M:N 관계의 연관 엔티티 설계 순서
이런 식으로 실무적으로 접근했을 때 이 강의에서 예시를 들어주셨던 것처럼 (학생, 과목, 수강), (사용자, 영화, 평가) 엔티티를 개념적 모델링 단계에서 먼저 설계를 할텐데, 이때 설계 순서가 궁금합니다. (학생, 과목), (사용자, 영화) 와 같은 기본 엔티티를 먼저 만든 다음에 M:N 다대다 관계인 것을 확인하고 이것을 풀어내면서 동시에 비즈니스적 의미를 넣기 위해 중심(연관) 엔티티를 만드는 게 일반적인가요? 아니면 처음부터 학생 -> 수강 -> 과목 or 사용자 -> 평가 -> 영화 로 이어지도록 설계하는 게 일반적인가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
데이터 역사성 훼손 문제
자연키를 기본키로 설정했을 때 발생할 수 있는 문제점에서 데이터의 역사성 훼손을 예로 들었는데 이 문제는 대리키를 기본키로 등록했어도 발생할 수 있는 문제 아닌가요?이 문제를 해결하기 위해서는 어쩔 수 없이 주문 테이블에도 email 등을 중복으로 저장해야 해결할 수 있는 거 아닌가요?
-
해결됨카카오 면접관이 알려주는 반드시 알아야하는 Distributed Environment
강의 순서
안녕하세요, 미래에 네이버에 취업할 취업준비생입니다.다름 아니라, 이번 미니 프로젝트로 msa 환경을 바탕으로 하는 프로젝트를 기획중에 있습니다.msa에 대해 무지해서, 어떤 것부터 차례대로 강의를 수강하면 좋을지 말씀을 듣고싶어서 질문 남깁니다.저는 웹 프로젝트를 준비 중에 있고, 언어로는 java를 사용, spring boot를 이용해서 개발하려고 합니다.추가적으로 결제시스템까지 도입예정에 있어서, 후에 kafka 도입까지 고려하고 있습니다. 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.
실무에서 등록일,수정일, 등록자, 수정자 4개 컬럼을 테이블 별로 만들어서 쓰라고 하셨는데1) 모든 테이블에 4개 컬럼은 만든다 생각해도 되는지?2) 유지보수 상 운영 테이블을 직접 수정하는 경우가 있었는데 이때 MySQL 워크벤치 에서 직접 수정하는 경우는 일일히 의식해서 set에 updated_by 를 넣어주는게 최선인지??궁금합니다.
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
예시1 질문
예시1 질문입니다.아이스크림 4, 토핑 3으로 만들 수 있는 가짓수는아이스크림 하나 당 토핑을 1개만 쓸 수 있다고 가정한 예시인가요? 토핑을 안 넣는 경우는 없나요?아이스크림 1개에 토핑을 1개만 올리거나 2개, 3개 조합해서도 메뉴를 만들 수 있다고 생각했거든요.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
구글이 이메일 변경을 허용하는 이유
이번에 설계 1편에서 자연 키와 대리 키 부분을 학습하면서,최근 구글이 이메일 변경을 부분적으로 검토하고 있다는 뉴스가 떠올랐습니다.예전에는 이메일 변경이 거의 불가능했던 이유가이메일을 자연 키처럼 사용해왔기 때문이라고 이해해도 될까요?그리고 지금에 와서는 어떤 구조적 변화나 트레이드오프를 통해이메일 변경이 가능해졌는지도 궁금합니다.
-
해결됨오브젝트 - 설계 원칙편
5-4 Sealed Interface는 주로 모든 케이스 검증이 필요할 때 사용하나요?
안녕하세요 좋은 강의 너무 잘 듣고 있습니다. 강의 내용중 parseCommand 메서드를 분리하는 과정에서 sealed interface 를 사용하셨는데 sealed interface 를 쓴 목적이 컴파일타임에 모든 가능한 명령어 케이스를 처리했는지 검증하기 위함인가요? sealed interface 는 주로 모든 케이스를 검증하고 싶을 때 사용한다고 판단하면 될까요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
안녕하세요 코테 난이도
우선 강의 너무 잘듣고 있습니다 감사합니다 저는 6년차 백엔드 개발자인데요요즘 미들급도 전부 코테를 보더라구요 카카오 신입 코테 기준이 골드4라고 말씀주셨는데경력직도 비슷할까요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
연습문제 답 제공 관련하여
매 섹션마다 코랩 파일로 주시는 연습문제의 답은 어디서 확인할 수 있을까요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
코테가 1주일 남았을 때의 학습 우선순위
안녕하세요, 헤이밥님! 강의 잘 듣고 있습니다!다름이 아니라 제가 다음 주 토요일에 코딩테스트 시험이 있는데요, 짧은 기간 내에 핵심만 공부를 하려고 할 때 강의 목차 기준으로 어떻게 학습하는 것이 효율적일지 여쭤봅니다! 당연히 모든 강의를 순차적으로 듣는 것이 가장 효율적인 방법이지만 현실적으로 시간이 부족하다고 생각해서요! 참고로 코딩테스트 기업은 네이버입니다! 감사합니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
order_item 테이블 (order_id, product_id) 유니크 제약조건 누락
안녕하세요. 항상 좋은 강의 잘 듣고 있습니다. 다름이 아니라, 강의 및 강의 자료에 누락된 부분이 있는 것 같아 글 남깁니다.[물리적 모델링 - 실습] 파트에서 테이블 정의서 및 DDL 스크립트를 작성하는 부분에 order_item 테이블이 order_id와 product_id를 각각 외래키로 들고 있는데, 앞선 강의에서 설명해주신 바에 따르면, 주문 항목 데이터 저장 시, 특정 주문에 대한 특정 상품 하나가 여러 번 중복으로 저장되는 걸 방지하기 위해, (order_id, product_id)에 UNIQUE 제약조건을 만들어야 된다라고 하셨는데, 그 부분이 빠진 것 같습니다.감사합니다.
-
해결됨AI 시대 대체되지 않는 미국 빅테크 시스템 디자인 & 오픈소스 실무 기여 완성 코스
14강. 영화 DVD 대여 시스템 데이터베이스 스키마 설계에서 Inventory 테이블 질문있습니다.
현재 강의에서는 Inventory table을 따로 분리해두었습니다.그런데 Inventory Table을 분리한 이유에 대해 말씀해 주실 때, 분리하는 게 좋다고만 말씀해주신 것 같아서 설명이 부족하다는 생각이 들었습니다. Inventory가 재고라는 의미를 가지는 것으로 알고 있어서 items table에 있는 수량을 Inventory로 옮기는 것이 더 옳은 설계가 아닌가라는 생각이 들었습니다.물론 지금 강사님께서 설명해주신 구조도 맞다고 보지만, 그 구조를 유지한다면 현재 Inventory table에 유의미한 칼럼이 없기 때문에 Inventory table이 없어야 하지 않나라는 생각을 했습니다. 그리고 재고가 자주 바뀌는 상황이 발생한다고 한다면 오히려 Inventory table에 재고를 넘겨줘야한다고 생각을 하는데요. 왜냐하면 Items table에 재고 칼럼이 있다면 재고가 바뀌는 순간에는 Items table의 데이터를 수정할 수 없게 됩니다. 그러면 관리자가 Item을 수정하려고 할 때, 재고가 많이 바뀌는 상황에는 그만큼 수정 쿼리가 대기를 하게 될 것이라고 생각하는데요. (물론 이 정도까지의 문제는 생기지 않을 것이라고 생각합니다.) 또한 이 글에서 강사님께서 말씀해주신 유형별 재고 관리 정책 부분은 Inventory가 재고라는 성격을 나타낸다는 점에서 Inventory table에서 관리할 것 같고, 트래픽 증가 시 성능 문제가 생긴다면 여기서 또 테이블 분리를 시도하거나 레디스 같은 memory DB를 생각해볼 수 있을 것 같습니다. 그래서 질문은현재 재고 칼럼의 위치를 어디에 두는 게 맞는지, 트래픽 증가의 성능 문제가 있다면 오히려 Inventory 테이블로 넘겨주는 게 맞는게 아닌지유형별 재고 관리 정책이 필요한 경우에 강사님께서 생각하시는 확장성 있는 구조는 무엇인지가 궁금합니다. 혹시 제가 잘못 알고 있거나 잘못 이해한 부분이 있다면 같이 짚어주시면 감사하겠습니다!
-
해결됨시스템 디자인 첫걸음: 면접에서 돋보이는 백엔드 아키텍처 설계하기
유저 별 포인트
안녕하세요 백엔드 개발자를 희망하고 있는 학생입니다.유저별 포인트 같은 정합성이 중요한 데이터로 로그를 따로 관리 해야한다고 말씀 해 주셨는데 이런 경우(배치 도구를 스프링 배치를 사용할 경우에) 로그 테이블을 따로 만들어서 관리 해주는게 나중에 자소서 쓸 때도 도움이 되나요?
-
해결됨오브젝트 - 기초편
이 강의만 자료가 ppt네요.
다른 강의에 첨부된 자료들은 모두 pdf인 것 같은데, 이 강의에 첨부된 자료는 PPT이네요.
-
해결됨시스템 디자인 첫걸음: 면접에서 돋보이는 백엔드 아키텍처 설계하기
인프라 관련 질문
안녕하세요!강의를 통해 많은 인사이트를 얻었습니다. 좋은 강의 제공해주셔서 감사합니다. 강의를 수강하는 과정에서 궁금한 점이 생겨 질문 남깁니다. 시스템 디자인 단계에서 응답 시간(P95/P99)이나 TPS 같은 성능 목표를 설정할 때,인스턴스 스펙이나 인프라 제약도 함께 고려해야 하는지가 궁금합니다. 특히 학생이나 개인 프로젝트의 경우 프리티어처럼 제한된 리소스를 사용하는 일이 많은데,이런 환경에서는 인프라 제약을 기준으로 현실적인 목표치를 설정하는 것이 맞는지,아니면 인프라 스펙을 별도로 고려하지 않고 일반적인 목표값을 그대로 설정하는 것이 더 바람직한지 조언 부탁드립니다. 감사합니다!
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
목표문제
안녕하세요!제공해주신 1강 목표문제 풀이 영상은 없나요?1강 목표문제 풀이에서는 제공해주신 목표문제가 아니라 다른 문제를 풀이해주셔서요..!연습문제&목표문제로 제공해주신 목표문제에 대한 풀이가 보고싶은데 강의 영상은 따로 없어서, 누락인가 해서 질문 드려요!
-
미해결자동차 사이버 보안
강의 순서 추천 부탁드려요
차량 보안 관련해서 면접 보게 되었는데 아예 지식이 없는 상태입니다. 어떤 순서로 들으면 좋을까요?
-
해결됨오브젝트 - 설계 원칙편
Game, Player, Room간의 관계에 대한 질문을 드려요
영호님 안녕하세요! 이번에는 설계원칙편의 6-1장 강의를 듣던 중, 궁금한 부분이 생겨 질문 드립니다~!! 디미터 법칙을 만족시키기 위해 Game 클래스의 showRoom() 메서드 내부의 구현을 리팩토링 하는 과정에서 player.currentRoom()메서드를 통해 Room 객체에 접근하여 name과 description 정보를 반환받도록 하는 부분이 있었습니다. Q. 혹시 showRoom() 메서드 내부에서 player로부터 Room 객체를 반환 받아 Game객체가 사용하는 것이 아닌, Room에 대한 정보를 Room객체로부터 바로 반환 받도록 하는 것은 어떠신지 궁금합니다! 예를 들어서 Room에 대한 정보를 Room이 책임지도록 하였을 때public class Player { private WorldMap worldMap; private Position position; ... public String currentRoom() { return worldMap.roomAt(position).getRoomInfo(); // 디미터 법칙 준수 } } public class Room { private Position position; private String name; private String description; ... public String getRoomInfo() { return String.format("현재 위치는 %s 입니다. %s\n", name, description); } } Room에 층수 정보와 같이 무언가 추가되는 상황이 발생하더라도 Game에서는 코드를 수정할 필요가 없이 Room 객체 내부에서만 변경하면 될 것 같아보였습니다! 🤔
-
해결됨제미니의 개발실무 - 지속 성장 가능한 소프트웨어를 만들어가는 방법
비즈니스 계층 동일 레이어 서로 참조 금지와 관련하여
통상의 Presentation - Business - Data Access에서 구현 계층이 추가됐고 구현 계층은 동일 레이어 간 상호 참조를 가능하게 한 부분이 있으니 비즈니스 계층은 상호 참조를 금지하는 것은 이해가 됐습니다. 기존에 제가 짜던 코드는 비즈니스 계층 + 구현 계층이었으니 비즈니스 계층을 나누는 기준이 기존 방식과 달라져야 그게 가능하겠다 까지는 생각이 들었고 기존에는 도메인으로 서비스를 만들었다면비즈니스 흐름 별로 서비스를 만들어야 되겠다 라고 생각이 들었습니다. 어떻게 보면 서비스가 중복되고 세분화 된다고 볼 수도 있을거 같지만 단순 기능의 나열이 아니라 비즈니스와 일치하게 코드가 짜지겠다 생각이 드네요 여기까지 제가 말한 게 어떤지 하고 간단한 예시도 알려주시면 정리하는데 도움이 될 것 같습니다.다른 강의도 잘 듣고 있습니다~ 감사합니다 아래 질문을 보고 추가한 내용입니다.https://inf.run/QjDgU리뷰와 포인트 서비스에 대한 예시였고 제 생각에는 비즈니스는 리뷰 작성이고리뷰 작성에 따른 포인트 관리는 구현 단계에서 연결하면 되겠다 라고 생각이 들었습니다.뭔가 더 생각해야 할 것들이 있을지 궁금하네요