항해99

항해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 전송 데이터..

항해99/TIL

2021-08-17 항해99 TIL

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

항해99/필기노트

[필기노트] MySQL Group_concat, Event Scheduler

-- GROUP CONCAT으로 Tags의 데이터를 가져오는 방법 1. 모든 Tags 출력 SELECT * FROM Tags; 2. postId를 지정해 Tags를 출력 SELECT * FROM Tags WHERE postId = 1; 3. postId를 기준으로 GROUP BY를 지정 SELECT postId FROM Tags WHERE postId = 1 GROUP BY postId; 4. GROUP_CONCAT으로 tag데이터 출력 SELECT GROUP_CONCAT(tag SEPARATOR ', ') FROM Tags WHERE postId = 1 GROUP BY postId; 5. GROUP_CONCAT에서 알파벳 오름차순으로 정렬하기 SELECT GROUP_CONCAT(tag ORDER BY ..

항해99/TIL

2021-08-16 항해99 TIL

오늘 한일 중간발표의 후유증으로 의욕이 상당히 감소하였습니다. 무언가를 완료했다는 성취감과 함께 안도감을 느꼈고, 그것이 다음 목표를 추구하는 의욕을 상당히 갉아먹은 것 같습니다. 오늘 하루를 성실하게 보냈냐고 물어본다면 아니라고 확실하게 말할 자신이 없습니다. 중간발표에서 받은 질문과 피드백을 최우선으로 수정해야 하는데, 무엇을 해야 할지 확실한 목표 의식이 부족해 오늘의 업무를 상당히 느리게 처리한 것 같습니다. 이번 주의 목표업무를 다시 작성해 의욕을 낼 수 있도록 노력해야 할 것 같습니다. MySQL의 Event Scheduler를 사용하였습니다. 이벤트가 발생하였을 때 추가로 실행되는 Trigger와는 다르게, 이벤트가 발생하였을 때 실행되는 것이 아닌 지정한 시간이 지났을 때 실행되는 것을 E..

항해99/TIL

2021-08-15 항해99 TIL

오늘 한일 일주일 만에 집 밖으로 외출했습니다. 바쁜 중간발표 기간 동안 매번 머릿속에서 맴돌던 아이디어와 프로젝트에 대한 걱정이 있었고, 프로젝트 외적으로 생각할 겨를이 없었습니다. 토요일 중간발표가 성공적으로 종료되었고 다음 스텝을 밟기 전 복잡한 마음을 정리하기 위해 1시간 정도의 가벼운 산책을 하였습니다. 3주의 회고록을 되돌아보았습니다. 중간발표 때문에 바쁘다는 핑계로 모든 회의록을 작성하지 않은 것이 안타까웠습니다. 다음 주부터는 모든 회의록을 작성할 수 있도록 하고, 회의마다 각자 현재까지 구현한 코드와 다음 회의를 진행하기 전까지 어떤 업무를 할 것인가 목표를 확실하게 정의해야 할 것 같습니다. 크래프톤 웨이를 읽고 있습니다. 회사가 어떤 방식으로 비전을 생각하는지, 성장하기 위해 어떤 일..

항해99/WIL

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

서론 7/23 ~ 9/3의 실전 프로젝트가 진행 중입니다. 갑작스러운 디자이너 회의가 진행되었습니다. 팀장 주간 회의가 진행되었습니다. 중간발표가 진행되었습니다. 보안 및 서버 부하 테스트 가이드 문서가 제공되었습니다. 일정 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 8/11 (수) 20:30 ~ 22:30 : 디자이너 회의 8/13 (금) 13:30 ~ 14:00 : 팀장 주간 회의 8/14 (토) 13:00 ~ 19:30 : 중간발표 실전 프로젝트 4주 차 7/23 ~ 9/3 : 실전 프로젝트 4주 차 진행 중입니다. AWS SES, Auths 테이블에 인증 난수를 SHA 512 해시 함수로 암호화하였습니다. EC2 서버에 HTTPS 적용과 함께 crontab을 이용해 자동 갱신 기능을..

항해99/TIL

2021-08-14 항해99 TIL

오늘 한일 실전 프로젝트를 시작한 지 벌써 3주 차입니다. 현재까지 작성한 프로젝트의 진행 상황에 대해 모든 팀과 3분의 튜터님들 앞에서 중간발표를 진행하였습니다. 많은 팀이 CI / CD와 코드 안정화에 대해 많은 신경을 쓴 것을 느꼈고, 발표를 진행한 백 엔드 팀원들의 실력이 엄청나게 성장하였다는 것을 느꼈습니다. 다른 팀들의 발표를 들으면서 저희 팀에 접목하면 좋은 기술들이 어느 것이 있는지 생각하였습니다. 저희 팀에서 시간이 부족해 진행하지 못한 Docker를 이용한 CI/CD와 보안을 유지하기 위해 HTTPS, X-XSS-Protection 등 다양한 방법을 사용하였던 것들이 인상 깊었습니다. 저희 팀의 발표는 진행하기 10분 전까지도 프론트 엔드 디버깅을 하였습니다. 테스트하던 이전 버전에서는..

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