분류 전체보기

항해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/TIL

2021-08-18 항해99 TIL

오늘 한일 실전 프로젝트 파일 내부의 Socket.js 파일을 수정하였습니다. 기존에는 단순히 배열만으로 접속한 사용자의 위도, 경도를 관리하고 있었습니다. 단순히 배열로 관리하고 있었기 때문에 모든 사용자를 출력하는 것 말고는 아무것도 할 수 없었습니다. 클라이언트에서 Marker 부하 테스트를 하면서 한 번에 50개 이상의 Marker가 출력될 경우 Kakao Map이 버벅거려 사용자 경험이 좋지 않을 것이라 판단하였습니다. 일정 범위 내부에 있는 50명의 사용자의 까지만 보여줄 수 없을까? 라는 생각으로 Redis에 있는 Geomtry 함수를 사용하였고, GeoRedis 모듈을 이용해 원하는 RADIUS 거리 내부에 있는 사용자의 인원수를 지정해 출력할 수 있게 되었습니다. Socket 전송 데이터..

Database/Redis

[Redis] Ubuntu 18.04 Redis 설치

Document : https://redis.io/topics/quickstart Redis Quick Start – Redis *Redis Quick Start This is a quick start document that targets people without prior experience with Redis. Reading this document will help you: Download and compile Redis to start hacking. Use redis-cli to access the server. Use Redis from your application redis.io $ sudo apt-get install build-essential -y Linux에서 make, gcc,..

Database/Redis

[Redis] Redis-cli 필기 노트

Server가 절전모드로 전환될 경우 Redis는 전부 사라진다. == Redis Redis In-memory 특성으로 접근 속도가 빠르다. Key-Value, 자료 구조 데이터를 유지할 수 있음 Pub/Sub 서버로 많이 사용 단점 : 데이터가 정확하게 유지됨을 보장하지 않음 $ redis-cli Redis를 CLI 형식으로 실행할 때 사용한다. 6379> shutdown Redis Server를 중지한다. String 6379> set key Hello 6379> get key key-Value 형식으로 key라는 이름에 Hello를 저장한다. key-Value 형식으로 key에 들어있는 값을 출력한다. Object 6379> hmset key field value [field value ...] e..

항해99/TIL

2021-08-17 항해99 TIL

오늘 한일 Javascript 코딩 테스트를 준비하고 있습니다. 기존에는 Python을 이용해 코딩 테스트를 진행하고 있었지만, Javascript를 이용해 테스트할 수 없으면 지원할 수 있는 회사의 범위가 상당히 좁아질 것이라 생각하였고, 3주밖에 남지 않았지만 꾸준하게 하루에 1~2문제를 풀 수 있도록 시간을 내도록 노력해야 할 것 같습니다. Redis-cli를 사용해봤습니다. MySQL을 사용하던 때와는 다르게 데이터 타입에 따라 삽입, 조회 형식이 달랐고, 모든 형식의 함수를 이해하고 있어야 DB를 사용할 수 있다는 점이 답답하게 다가왔습니다. 그리고 각 데이터별 Expire Time이 설정되어있어 데이터를 일정 시간 사용하지 않는다면 자동으로 삭제되는 경우가 발생했습니다. 이러한 특성은 메모리 ..

커스텀 리
'분류 전체보기' 카테고리의 글 목록 (10 Page)