-
Notifications
You must be signed in to change notification settings - Fork 1
TIL 2월 8일
GyuHyeon Park edited this page Feb 22, 2023
·
15 revisions
- 하던거 잠시 접어두고, mediasoup-samples 및 mediasoup-demo 뜯어보는 중이다
- 중꺾마...🫠
- 바쁘긴 해도, 돌아가는 것이 맞는 것 같다. 급하게 해서 남은 시간을 엎은 것 보단?
- Mediastream의 연결성 확인을 위해 애초부터 백과 같이 했었어야 한 것 같다.
- 가족 일정으로 코드 짜는데 시간을 많이 못씀...
- 세부적인 props들 추가 해주는 작업 진행
- 다른 일정 조율을 미리미리 해야 되는데 갑작스러운 일정들... 아나
- modal을 공통적으로 사용해야 할거 같은데 흠... 전체적으로 같은 모달을 적용하는데 어려움이 있는 것같음.
- 목요일에 최대한 많이 해서 80프로 이상 해서 백과 연결까지 볼 수 있도록 작업해보기
- 전체적인 순서를 생각하며 커뮤니티 api 수정
- 연계성 관련해서 뭔가 쉬운 방법이 없을까..?
- mvc로 분리를 하긴했지만, 아직 덜 익숙해서 의존도가 조금 높은 편인것 같다
- aws 탄력적 ip 주소 설정
- erd 수정
- 채팅서버 redis 세팅
- 채팅서버 데이터 저장 설계 및 테스트
- 소켓 연결

- 채널 구독

- 데이터 발행

- 데이터 수신

- Redis에 데이터 저장

- 서버단에서 채팅 내역 조회

- 채팅데이터를 어떻게 저장할지 골이 아팠다
- 처음에는 메세지 하나당 하나의 키, 밸류를 가지는 데이터로 저장할려 했으나, 디스코드는 방하나를 기준으로 채팅 데이터를 다 가져오는 시스템이다.
- 따라서 key값을 방 id로 하고, value로 채팅 dto list를 저장하려고 했다.
- (여담으로, crudrepository에서 List 형식의 데이터를 value로 지정하니 오류가 생겨서.. list를 지니는 dto 객체를 한개 더 만들어서 사용하였다.)
- 문제는 이게 효율적인 방법인가? 이다.
- 만약 해당 방이 존재한다면 db에서 데이터를 가져온다음 새로운 채팅 메세지를 리스트에 추가하고 다시 db에 저장하는 방식으로 진행된다.
- 단순 조회때는 키값 하나로 찾아올 수 있어 좋겠지만, 저장하는 로직이 너무 번거롭다.
- 채팅 데이터 저장 전략에 대해서 무지하다 보니 구조가 이상해지는 느낌이다 ㅠㅠ
- aws는 ec2에 동적인 ip를 지급하는 방식, 따라서 종료하고 다시 실행하면 ip가 달라진다.
- 이를 방지하기 위해 고정 ip로 탄력적 ip를 할당한다.
- 탄력적 ip가 실행하고 있는 인스턴스에 연결되어 있고, 탄력적 ip주소가 하나일 경우에는 요금 청구가 되지 않는다 💎
- java에서 redis에 접근하는 방법은 redisTemplate을 이용하거나 crudrepository를 이용하는 방법이 있다.
- crudrepository는 jpa와 비슷한 방식으로 사용할 수 있다.
- redistTemplate는 조금 더 정교하게 사용히 가능한 거 같으나, 기본 자료형이 아닌 경우.. 직렬화에 대해서 커스텀 해줘야 하는 부분이 다수 존재한다.
- https://bcp0109.tistory.com/328
- 데이터 저장 부분 조금 더 효율적인 방법이 무엇인지 고민해봐야 할 거 같다. 애매하면 코드리뷰때 받아도 될 듯
- 결국 데이터는 channelId 에 의존하게 된다. 커뮤니티에서 채널 Id를 어떤식으로 설정하는가..? 가 연결하는데 중요한 포인트 일 거 같다.
- 채팅 데이터를 조회할 때 유저가 커뮤니티에 가입한 시간 이후의 데이터만 가져오면 된다. 내일은 이 부분도 설정해보자.
- 왜인지 다은님이 설정해준 rds가 꺼진거 같..다? 물어봐야겠다
- 모달 컴포넌트 생성 (DarkModal) - 이전에 생성했던 모달도 DarkModal 응용하여 리팩토링
- 서버 모달 구현
{: width="50%" height="50%"} - 채널 알림 모달 구현 중
- 🚨problem🚨 근데 해당 모달이 글자 아래로 내려간다.
z-index를 높여주어도 변화가 없다. 원인을 좀 더 분석해보고 해결해야한다.
- 🚨problem🚨 근데 해당 모달이 글자 아래로 내려간다.
- 국비 교육 최종 프로젝트 초기 구간이라 하루에 쏟는 회의 시간이 많아서 해당 프로젝트에 시간을 많이 쏟지 못하고 있다. 시간이 너무 부족하다.
- 구현을 얼른 하고 최적화에도 시간을 쏟고 싶다.
한 요소가 나머지 부분을 모두 차지하도록 너비를 설정하는데 원하는대로 잘 되지 않았다.
처음에는 위의 모든 부모 요소들에 display:flex 와 flex: 1 을 주고 요소에 flex: 1을 주었는데, 모든 부모에 속성값을 주어야한다는 점이 마음에 들지 않았다.
그리고 두 번째로 시도한 것이 width: 100%를 주는 것이었는데 이렇게 하니 내가 원하는 부분보다 더 많은 부분을 차지했다. 생각해보니 부모의 너비와 동일한 너비를 차지하니 당연할 수 밖에 없었다.
마지막으로 calc(100vh - nrem)을 사용하니 해결할 수 있었다. 나머지 값을 준다고 생각하지 않고 그냥 내가 원하는 부분만큼 차지하도록 너비를 설정했다. 더 좋은 방법이 있는지는 더 찾아봐야할 것 같다.