[3주차] 멘토님과 회의(2021.11.10) - boostcampwm-2021/WEB25-JustUs GitHub Wiki
-
oauth 로그인 관련 질문(콜백 URL 오류)
-
프론트 단에서 call을 할 때 처리를 어떻게 하느냐?
-
nginx로 url 파싱이 잘못되서
naverAuth로 못들어 가는 것. -
nginx 설정을 바꿔주면 될 것 같아 보임.
-
앞에 도메인을 붙여줘야 할듯. → 붙여 주니까 콜백 url이 제대로 잡히긴 함.


-
docker-compose로 연결되어 있으면 도커 자체에 포트 명시 안해줘도 됨.
-
MySQL 싱크 문제였음 ( 0 → 1)
-
-
순서 정보에 관한 질문
- MYSQL에 JSON 컬럼이 있어 key,value를 지원한다.
- 바뀔때마다 프론트가 그룹 A라는 전체의 JSON을 주면 그 상태로 덮어써버리면 될 것 같다.
- 업데이트가 잦으면, DB에 전체를 업데이트 해야함. 오버엔지니어링적인 측면에서 고민한다 해도, 미래를 본다면 NoSQL을 써도 될 것 같아 보임.
- 근데 이정도 규모에서 NoSQL을 썼다 하면 굳이?라는 생각이 들긴 할 듯.
- 서비스가 엄청 커져 단일 사용자가 많아지면, 몇백만명의 사용자가 몇초마다 업데이트 쿼리를 RDB가 받기에는 빡세보임.
NoSQL을 써보는 게 좋다고 생각한다.- 다른거에 쓸 일이 없으면 RDB에는 안넣어도 될 것 같음.
- 그룹 ↔ 앨범 ↔ 게시글 ↔ 관계가 다 맺어있는데 어떻게?
- RDB가 있어야 나머지 물릴 수 있음.
- 각 정보들은 RDB에 저장하고, 순서 정보만 NoSQL에 넣으면 될 듯.
- 프론트가 그룹 A를 누르면, 앨범 리스트를 다랄고 요청 보냄. 백엔드는 NoSQL 바라보고 리스트 순서를 가져옴. RDB를 바라볼 수 있는 메타 정보(id라던가)로 요청해야 RDB에서 정보를 가져온다.
- NoSQL → RDB 순서로 진행.
NoSQL은 순서 바뀌는 것만 처리하면 됨. 나머지 정보들이 필요할 때만 RDB에 요청.
- 프론트에서 삭제 요청을 보내면, 전체를 업데이트하는게 백엔드에서 편하겠다고 생각함. (그룹 전체를 덮어씌우면 좋을듯)
- 위의 내용을 편법이라고 생각하면 안됨. 사용자에게 자유도를 줬으니 구조가 이렇게 되는게 당연함.
-
Elastic Search?
- 검색으로 쓰거나 DB로 쓴다. 검색을 좀 더 쉽게할 수 있는 DBMS의 한 종류라고 보면 된다.
- 이걸 사용할거면, 검색에 관련된 데이터들을 Elastic Search에 다 넣어 두고, 검색할 때 사용한다.
- 로그를 넣고, 키바나?를 모니터링한다. 카프카에서 처리해 검색하긴 한다.
- db가 MySQL, NoSQL에다가 추가로 Elastic Search를 추가하긴 너무 큼.
우리 플젝에서 쓸 이유는 로그 모니터링 빼고는 없어 보인다.이 프로젝트는 MySQL로만 해도 버티긴 할듯. - 검색에 그룹, 앨범, 게시글 모든 것을 검색하는 게 아니라 해시태그만 검색하기 때문에 안써도 괜찮을 듯.
-
해시태그 질문
- 첫 번째 : 포스트를 수정할 때마다 해시태그를 다 지우고 덮어씌우기로 했다.
-
게시글 수정에서 해시태그를 지웠을 때, 해당 해시태그를 찾는 작업이 오래걸리고 어려울 것 같아 레코드를 새로 생성.
-
#A, #B, #C를 달았을 때, 게시글 수정에서 #A를 #D로 바꿈. →
#A, #B, #C를 다 날리고,#D, #B, #C를 모두 추가.
-
내용을 쓰면서 해시태그를 수정하니까, 어쩔 수 없겠다.
-
해시태그 테이블이 엄청나게 늘어날 듯? 수정할 때마다 그만큼 추가된다. 이 구조가 좋을지는 고민해봐야 할듯.
-
- 두 번째 의견 : 기존 해시태그 내용이 같으면 재활용할 수 있도록, hastag와 post 사이의 관계 테이블을 하나 더 만들어둔다.
- 해시태그 테이블 자체는 가볍게 가져갈 수 있다.
- 앞단에 메타테이블을 둔다는 의미.
이 방법이 좋아 보임.
- 멘토님 의견 :
-
메타테이블 사용하는 대신에
아래와 같은 컬럼을 둬서, 얘만 가져오면 현재 원래 뭐있었는지 알 수 있음. 여기에 업데이트 치고, hastag 테이블에 갱신도 하면 될듯.사라진거 flag 처리하고, 추가된 거만 레코드로 삽입해라. ➡ 1. 중복도 줄이고, 2. 바뀐거만 업데이트 쳐주는 함수가 있으니, 아래 컬럼 값을 가져와 적용해라.
-
아래 사진처럼 바뀐 dto의 e를 원래 기존 model의 d만 e로 바꿔주는 함수가 있을거다.

-
- 첫 번째 : 포스트를 수정할 때마다 해시태그를 다 지우고 덮어씌우기로 했다.
-
다음주
19일 금요일 20시에 멘토링 진행.