게시글
질문&답변
사용자 테이블 과 팔로우 테이블 과의 관계
안녕하세요 상형님~~팔로우 같은 경우는 특이하게도 사용자 사용자끼리 다대다 관계입니다. 다대다 관계를 해결하기 위해 중간 테이블을 끼워서 아래와 같은 형태로 풀어냅니다!사용자 팔로우 사용자(실제 구현 시에는 사용자 팔로우 형태로 테이블을 설계하게 됨)이 때, 중간 테이블을 생성해서 다대다 관계를 풀어내보면사용자와 팔로우 테이블은 일대다 관계를 가지게 됩니다. 강의에서 알려드린 방법으로 따져본다고 하더라도사용자와 팔로우 테이블은 일대다 관계를 가지게 됩니다. 한 명의 사용자가 여러 개의 팔로우를 가질 수 있다.하나의 팔로우는 한 명의 사용자에 의해 행해진다. 엄격하게 따질 때는 사용자 테이블과 팔로우 테이블 관계를 일대다라고 표현을 하지만,사람들이 주로 얘기할 때는"팔로우 기능은 다대다 관계를 가지고 있어"라고 표현하는 편입니다. 이 말을 정확히 표현하자면 "팔로우 기능을 구현하기 위해 관계를 살펴봤는데, 사용자 테이블과 사용자 테이블끼리 다대다 관계를 가지고 있네"라고 표현을 해야 합니다. 다양한 관점으로 설명을 드렸는데궁금하신 부분에 대해 제가 답변을 잘 드렸는 지 모르겠네요...ㅎㅎ추가로 궁금하신 점 생기시면 질문 또 남겨주세요~~
- 0
- 2
- 20
질문&답변
주문 수량과 재고량은 숨은 중복일까요
안녕하세요 상형님! 질문 잘 주셨습니다:D 말씀해주신 내용은 기획에 따라 달라질 수 있으나 대부분은 주문 수량과 재고량을 별도의 컬럼으로 구성하는 편입니다!왜냐하면 주문 수량과는 별개로 재고가 추가 입고된다면 재고량만 고쳐야하는 경우가 있기 때문입니다. 그리고 주문에 대한 정보가 따로 존재한다면 주문 테이블로 분리를 해서 따로 관리를 하게 되겠네요:) 이 외로 궁금하신 점 또 생기시면 질문 남겨주세요~~
- 0
- 2
- 21
질문&답변
image 3개
안녕하세요 dugudada01님! 질문 잘 주셨어요~~하나씩 답변 드려볼게요ㅎㅎ aws에 image push하면 영상에서는 하나가 뜨는데 저는 3개가 뜨네요 이렇게 동작해도 맞는건가요??-> 말씀해주신 대로 3개가 뜨더라도 크게 작동에는 문제가 없어보입니다. 그대로 사용하셔도 될 것 같습니다! openai 키 값이나 서비스 키 같이 민감한 정보를 yml에 저장했는데 깃허브에서 클론하지 않는 이상 .env 파일 만들 필요도 없고 그냥 배포해도 괜찮은 거죠? 혹시나 걱정되어서요....배포를 하고 잠깐만 테스트 하고 바로 내리면 다른 사람이 이용 못하니까 openai 사용 요금도 걱정안해도 되는거고요-> 네 맞습니다! Github에 공개적으로 올리지 않는 이상 보안적으로 크게 문제가 되진 않습니다. 다른 사람들에게 키 값이 공개되지 않게만 조심하신다면 .env 또는 yml에 민감한 정보를 기입하셔도 괜찮습니다! 이 외로 궁금하신 점 생기시면 또 질문 남겨주세요~~
- 0
- 2
- 16
질문&답변
수직적 확장과 가용성의 관계에 대해 질문 드립니다
안녕하세요 danseung님! 제가 강의 때는 수평적 확장과 비교해서 설명하려고 하다보니'수직적 확장이 가용성이 낮아진다'라고 표현했던 것 같네요!말씀해주신 대로 수직적 확장만 놓고 봤을 때는시스템의 스펙을 높이면 서버에 장애가 날 확률이 일반적으로 낮아지기 때문에가용성이 더 높아진다고 볼 수 있습니다:D 이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~
- 0
- 2
- 21
질문&답변
현업에서 역정규화
안녕하세요 11 1님! 좋은 질문 주셨네요ㅎㅎ 역정규화의 장단점에 대해 잘 알고 있으신 분들은처음 설계 할 때이더라도 역정규화에 적절한 Case가 보이면역정규화를 바로 적용시키기도 합니다. 결국엔 정규화든 역정규화든 가장 좋은 방법이라는 건 없고 장단점만 존재하기 때문에상황에 적절히 맞게 사용하는 게 가장 좋은 방법입니다. 이 외로 궁금하신 점 또 생기시면 편하게 질문 남겨주세요~~~
- 0
- 2
- 32
질문&답변
카테고리 테이블에 사용자 FK 사용 시 중복 여부
안녕하세요 형준님! 예리하게 잘 질문해주셨네요👍 Choose Category의 UI를 보면 Create New라는 항목이 보입니다. 즉 내가 원하는 카테고리를 추가하는 기능이 있는 것으로 보이고, 내가 추가한다고 남에게도 그 항목이 보이면 안되므로, 혹은 기존의 카테고리의 아이콘이나 색깔을 바꾼다고 남에게도 적용되면 안되므로 categories 테이블에는 사용자의 FK 값이 있어야 할 것으로 판단됩니다.-> 형준님이 말씀해주신 말씀이 맞습니다. 기존 카테고리는 사용자별로 구분되어 생성이 되어야 하기 때문에 사용자 FK가 있어야 하는게 맞습니다:) tasks 테이블에서 category의 FK와 사용자의 FK를 받게 될텐데, 외래키로 받은 category에도 사용자의 FK가 포함되어 있어서 사용자 FK정보를 두 번 갖게 되는것 같습니다. 물론 task나 category에서 한 번 지정된 사용자가 변경되는 일은 없을 것으로 보이지만, 그래도 엄밀히 말하면 데이터가 중복이 되는 것이 아닌지 궁금합니다.-> 여러 테이블에 동일한 FK의 컬럼이 있다고 하더라도, FK 컬럼의 중복은 데이터 중복으로 보지 않습니다! (데이터를 수정할 때 FK를 동시에 수정해야 하는 수정 이상 현상이 발생하지 않기 때문이에요)그리고 말씀해주신 대로 category에만 사용자 FK를 둘 수도 있고, 아니면 category와 tasks에 둘 다 사용자 FK를 두게끔 설계를 할 수도 있습니다. 이 두 가지 방법 전부 옳은 방법입니다. 불필요하게 FK를 여러 테이블에 둘 필요는 없으나, 만약 각 테이블에서 FK의 컬럼을 추가로 두는 게 데이터를 조회하는 데 편리할 경우 FK를 두게끔 설계를 하는 편입니다. 이 외로 궁금하신 점 생기시면 또 질문 남겨주세요~~~
- 0
- 2
- 23
질문&답변
파드 : crashLoopBackoff
안녕하세요 태민님! 질문 알림이 누락되어 답변이 늦었습니다ㅠㅠㅠㅠ빌드하신 컴퓨터에서의 아키텍처와 EC2의 아키텍처가 달라서 발생한 문제 같습니다!https://velog.io/@sujeongim/%EC%98%A4%EB%A5%98-%EC%B2%9C%EA%B5%AD-Docker%ED%8E%B8-Mac-M1-no-matching-manifest-for-linuxarm64v8https://devops-james.tistory.com/349위 링크 참고하셔서 아키텍처(amd 64 또는 arm64)를 일치시켜서 실행시켜보시겠어요~??만약 위 링크가 잘 이해가 안 되시거나, 위 링크대로 대처를 했는데도 문제가 발생하시면또 질문 남겨주세요:D
- 0
- 3
- 27
질문&답변
실습 중에 서비스로 30000포트로 요청이 안들어가네요
안녕하세요! 아무도_모를_아이디님!같이 디버깅 도와드릴게요:D 혹시 작성하신 service.yaml 파일의 전체 코드 보여주실 수 있을까요~??그리고 kubectl get service와 kubectl get pods의 출력 결과값도 캡쳐해서 올려주시기 바랍니다! 만약 정상적으로 실행이 된 상태라면kubectl port-forward 명령어를 사용하지 않더라도 잘 되셔야 합니다:)
- 0
- 2
- 35
질문&답변
port forward [6.40]
안녕하세요 태민님! 말씀해주신 에러를 보니 이미 태민님 컴퓨터의 3306번 포트에아마 로컬에 설치된 mysql이 이미 실행되고 있는 것 같습니다. 이미 실행되고 있는 mysql 때문에 쿠버네티스의 포트 포워딩을 할 때충돌이 발생한 것으로 보입니다. 해결 방법은 로컬에서 실행되고 있는 mysql을 종료하셔도 되고, 아니면 포트 포워딩을 통해 실행시킬 mysql을 3306번 포트가 아닌 다른 포트(ex. 3307번)로실행시키는 것도 방법입니다! 만약 3306번 포트에 아무것도 실행되고 있지 않은데위와 같은 에러가 발생하신 거라면권한의 문제일 가능성도 있습니다. 실행시키고 있는 터미널(ex. Powershell)을 '관리자 권한'으로 실행시키신 뒤에명령어를 입력해보시기 바랍니다:) 위 답변 중 이해 안 가시는 점이 있다면 다시 한 번 질문 남겨주세요~~
- 0
- 2
- 31
질문&답변
실제 서비스를 할때 rds에 접근하는 방법
안녕하세요 tw G님! 질문 잘 주셨어요ㅎㅎㅎ말씀해주신 베스천호스트 방식으로 rds에 간접적으로 접근하는 방식은실무에서 굉장히 많이 쓰이는 방식입니다! 어느 정도 규모가 있는 회사의 경우에는베스천호스트와 VPC를 활용해 보안을 높인 채로 인프라를 관리합니다:D이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~
- 0
- 1
- 43