항해99

항해99/TIL

2021-08-25 항해99 TIL

헤쳐모여 moyeora.org 오늘 한일 React.js 트러블 슈팅 문제를 마무리하였습니다. 아침까지만 하더라도 트러블 슈팅 문서에 작성된 내용이 전부 수정되지 않아 배포할 수 없었고, 남아있는 문제에 대해서 프론트 엔드 분들과 작성된 코드를 보면서 수정하였습니다. 상당히 많은 문제가 발생했었는데, 회원가입 시 프로필 이미지를 설정하지 않을 경우 회원가입에 실패하는 상황이었습니다. React.js 코드를 분석해본 결과 null 처리를 설정하지 않아 발생하는 오류였고, if 문을 사용해 분기점을 만들어 문제를 해결하였습니다. 아침부터 배포를 시작한 저녁 9시까지 수정해야 할 부분이 계속 발생해 멈추지 않고 문제 해결에만 시간을 할애한 것 같습니다. Socket 오류를 수정하였습니다. 생성되지 않아야 할 ..

항해99/TIL

2021-08-24 항해99 TIL

오늘 한일 트러블 슈팅 문서에 작성된 오류들이 전부 수정되지 못했고, 배포에 실패했습니다. 상당히 화가 많이 났습니다. 트러블 슈팅 문서를 작성한 지 4일이 넘게 시간이 지났고, 기능을 추가하는 것이 아닌 동작하지 않고, UI가 깨지는 오류들만 작성하였는데, 구현하지 못했다는 것이 상당히 화가 많이 났습니다. 작성된 트러블들이 전부 수정되지 않고, 배포하게 될 경우 사용자도 동일하게 피드백을 제공할 것이 확실하기 때문에 섣부르게 배포를 진행할 수 없었습니다. 만료 기간을 당일 아침까지로 잡아놨었던 것을 내일 아침까지로 미뤘고, 현재까지 작성된 프로젝트에 문제점을 다시 테스트해보았고, 문제점을 트러블 슈팅 문서에 추가로 작성하였습니다. 내일은 배포할 수 있기를 간절히 바라고 있습니다. React.js의 통..

항해99/필기노트

[필기노트] Redis-cli ZSET, MULTI EXEC Transaction

ZRANGEBYSCORE (v.1.0.5) ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] WITHSCORES : 요소와 Score를 모두 반환한다. (v.2.0) 시간복잡도 : O(log(N)+M) N : zSet의 요소 갯수 M : 반환되는 zSet 요소 갯수 M이 동일하다면 (LIMIT 설정) O(log(N))이 될 수 있다. ZRANGEBYSCORE geo:locationsExpire -INF +INF WITHSCORES result) '1' result) '3600' geo:locaitonsExpire 이름의 zSet의 모든 멤버와 Score를 조회한다. 1 멤버에 저장된 3600 Score를 출력한다. 만료 이벤트 만료 시간 설정: E..

항해99/TIL

2021-08-23 항해99 TIL

오늘 한일 Node.js 서버에서 사용하는 Redis 모듈의 사용 방법을 확인했습니다. 기존에는 SET, GET, ZADD와 같이 모듈에서 지정된 Command만 사용되는 줄 알았는데 Redis의 공식 Document에서는 별도의 방법이 지정되어 있지 않았고, 모든 명령을 사용할 수 있다고 소개되어 있었습니다. 그래서 ZRANGEBYSCORE과 같이 -inf, +inf, 와 여러 개의 인자가 들어가는 함수를 사용해보았고, 정상적으로 조회되는 것과 MULTI EXEC Transaction을 이용해 여러 개의 명령을 한 번에 정의할 수 있는 기능도 사용할 수 있었습니다. Reids-cli 대다수의 기능을 사용할 수 있는 것을 확인하였고, 한정된 명령어를 사용할 수 있었던 이전과는 다르게 논리 구조를 탄탄하게..

항해99/TIL

2021-08-22 항해99 TIL

오늘 한일 주말을 맞이해 열심히 휴식을 취했습니다. 저번 주와 동일하게 멘탈 관리를 위해 일주일 만에 집을 벗어나 산책을 다녀왔습니다. 이번 주는 큰 문제가 발생하지 않았지만, 팀장이라는 직책으로 모든 프로젝트를 총괄해야 하는 부담감이 존재하기 때문에 마음을 힐링하는 시간을 가질 수 있도록 하였습니다. 코딩 테스트를 준비하였습니다. 오늘의 목표는 단순히 문제를 많이 푸는 것이 아니라 몇 달동안 잊고 있었던 자료구조와 Python, Javascript의 데이터를 가공하는 문법에 대해 중점적으로 학습하였습니다. Python을 사용하였을 때 당연하게 느껴졌던 데이터 가공 방법들이 Javascript로 넘어오면서 미묘하게 다른 부분이 존재해 코드를 구현하면서 버벅댐이 있는 것 같습니다. 오늘 배운 것 코딩 테스..

항해99/WIL

[항해99] WIL 11주차 - 실전 프로젝트 5주차 (후기)

서론 7/23 ~ 9/3의 실전 프로젝트가 진행 중입니다. AB180의 협력사 발표가 진행되었습니다. 디자이너 회의가 진행되었습니다. 팀장 주간 회의가 진행되었습니다. 일정 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 8/18 (수) 19:00 ~ 20:30 : AB180 협력사 발표 8/19 (금) 20:30 ~ 22:00 : 디자이너 회의 8/20 (토) 13:30 ~ 14:00 : 팀장 주간 회의 실전 프로젝트 5주 차 7/23 ~ 9/3 : 실전 프로젝트 5주 차 진행 중입니다. 모든 회의록을 기록하였습니다. 트러블 슈팅 문서를 작성하였습니다. 종료 시간이 지난 모임 삭제 Event Scheduler 구현하였습니다. TRIGGER, PROCEDURE, EVENT 문서를 작성하였습니다...

항해99/TIL

2021-08-21 항해99 TIL

오늘 한일 MySQL에서 발생한 max allowed packet 오류를 해결하였습니다. DB를 조회할 때 수많은 Sub Query, JOIN을 사용해 한 번의 통신으로 해결하려 했던 Query 부분에서 오류가 발생하였습니다. 내부적으로 Sub Query를 8건, JOIN을 4건, GROUP BY를 3건 사용하였고, DB에 부하를 주고 있는 것을 확인하였습니다. 어떤 방식으로 해결해야 할지 알지 못해 SQL 튜닝에 관련된 자료를 찾아보았고, 가장 핵심적인 문장을 발견했습니다. 'DB에서 데이터 가공을 하는 것보다 Server에서 데이터 가공을 하는 것이 현명하다'라는 문장이었습니다. 기존에는 Sequelize의 Raw Query를 통해 통신 횟수를 줄이려고 했었는데, 코드 구성방식을 수정해 최대한 DB에..

항해99/TIL

2021-08-20 항해99 TIL

오늘 한일 EC2 서버에서 Socket Https가 적용되지 않던 문제를 해결하였습니다. React.js 서버에서 서버와 연동을 할 때 Socket 서버가 Https는 동작하지 않고, Http만 접근이 가능하던 문제가 발견되었습니다. Socket서버를 열어줄 때 발생하는 문제인지, 아니면 기존에 작성된 Https 서버의 문제인지 알 수 없었습니다. 그러던 도중 Socket.Io Document에서 Socket 서버를 열 때 Https를 어떤 방식으로 연동하는지 상세하게 설명돼있었고, 동일하게 프로젝트 구성을 변경해 정상적으로 동작하는 Socket서버를 만들 수 있었습니다. AWS Route 53에서 발급받은 도메인에 S3의 업로드한 파일이 갱신되지 않았던 문제를 해결하였습니다. 프로젝트를 갱신하기 위해 ..

항해99/필기노트

[필기노트] MySQL VIEW, API

-- GET /api/search/room 1. 모든 Posts를 출력 SELECT * FROM Posts; 2. Posts에서 해당하는 인자만 출력 SELECT postId, title, postImg, maxMember, startDate, endDate, place FROM Posts ; 3. currentMember 추가 SELECT p.postId, p.title, p.postImg, p.content, COUNT(c.userId) AS currentMember, p.maxMember, p.startDate, p.endDate, p.place FROM Posts AS p JOIN Channels AS c ON p.postId = c.postId GROUP BY c.postId ; 4. tag 추..

항해99/TIL

2021-08-19 항해99 TIL

오늘 한일 대화방 확정 API를 작성하였습니다. 모임 일정을 모두 구성하고, 만나기 직전 갑작스럽게 방장이 모든 유저를 추방하거나, 모임 구성원이 나가는 상황을 방지하고 싶었고, 그렇게 해서 만들어진 것이 확정 기능입니다. 간단하게 게임에서 모든 사용자가 준비하고, 방장이 시작하는 개념과 동일하게 구성하였고, 방장이 마지막으로 확정을 눌렀을 경우 모임의 수정, 삭제, 추방, 퇴장 기능이 동작하지 않도록 구현하였습니다. AWS SES 한도를 200 > 50,000개까지 확장하였습니다. 실전 프로젝트의 사용자가 어느 정도인지는 알 수 없지만, 하루에 200개라는 메일 한도는 서비스하기에는 너무 부족한 것 같았습니다. 처음 AWS 고객 센터에 한도 확장에 대해 문의하였을 때는 확실한 사유를 작성하지 않았다고 ..

커스텀 리
'항해99' 카테고리의 글 목록 (7 Page)