메인 글
-
실시간 게임 서버 성능 최적화 - 한 게임방에서 200명이 플레이?!
안녕하세요! NewCodes입니다! 실시간 퀴즈 게임 플랫폼 프로젝트에서성능 최적화한 경험을 공유하고자 합니다! 부하테스트를 통해 메트릭을 수집했고, 병목의 원인을 분석했습니다. 그리고 최적화한 방법까지자세하게 남겨보고자 합니다! 📍 한 게임방에 200명을 지원하고자 한 이유 한 게임방에 200명을 지원하고자 한 이유는..! 팀의 목표였기 때문입니다!한 게임방 내 200명의 플레이어가 원활히 플레이할 수 있게 구현 그런데 왜 200명일까요? 저희의 서비스가 사용되길 기대하는 상황은 위와 같았습니다. 대규모의 인원이 한 장소에서 즐겁게 아이스브레이킹, 레크리에이션 등의 용도로 사용되길 원했습니다. 그러면 지루할 수도 있는 강연이나 회의장에서도 즐거움을 더해줄 수 있으니까요! 그리고 네이버 부스트캠프 ..
2025.01.08
-
Artillery를 통한 Socket.io 게임 서버 부하테스트 경험기(feat. TIP)
안녕하세요! NewCodes입니다! 이번에는 Node.js + Socket.io 게임 서버를부하테스트했던 경험에 대해서 적어보려 합니다! Socket.io 부하테스트 관련 레퍼런스가 많이 없어시행착오를 많이 겪었습니다. 그래서 해당 경험을 정리하며,비슷한 상황에 있는 분께 도움이 됐으면 해서TIP까지 정리해보고자 합니다. 이 글은 처음부터 순서대로 읽는 걸 추천드리며,TIP은 마지막에 정리되어 있습니다. 📍 부하테스트를 하고자 했던 이유부하테스트를 하고자 했던 이유는 간단합니다. 팀의 목표 때문이었습니다. 한 게임방 내 200명의 플레이어가 원활히 플레이할 수 있게 구현 그런데 왜 200명일까요? 저희의 서비스가 사용되길 기대하는 상황은 위와 같았습니다. 대규모의 인원이 한 장소에서 즐겁..
2025.01.01
-
1초에 80,000번 Network I/O를 하면 생기는 병목을 분석해보자!
안녕하세요! NewCodes입니다! 저번 글에서 실시간 퀴즈 게임 프로젝트에 대해부하테스트와 성능최적화 글을 다루었습니다. Artillery를 통한 Socket.io 게임 서버 부하테스트 경험기실시간 게임 서버 성능 최적화 - 한 게임방에서 200명이 플레이?! 이번 글에서는 Network I/O가 어떻게 일어나는지고수준에서 저수준으로 깊게 파보려 합니다. 이번에는 병목의 원인으로 잡혔던 Network I/O에서 저수준에서 어떤 부분이 원인이었을지를 탐구해보겠습니다. 이를 통해 다음에 트래픽이 상승하여 서버에 부하가 생겼을 때,개선 방향은 무엇이 있을지 고민해보려 합니다. 이 글에서 다루고자 하는 내용Network I/O가 Node.js에서부터 시작해서 OS까지 이루어지는 과정 분석하기 I/O는 ..
2025.01.15
-
카카오맵이 최적 경로를 결정하는 데까지
카카오맵에서 불편함을 느끼고, 궁금증을 해결하다. 안녕하세요! NewCodes입니다!! 우선 이전 포스팅에서제가 가졌던 궁금증에 대해 다시 살펴보겠습니다. 위 그림은 제가 사는 동네입니다. 보시다시피 1번 경로가 2번보다 훨씬 더 빠른 길입니다. 하지만, 카카오맵이 항상 2번 경로를 추천해줬습니다. 그래서 저는 카카오택시를 탈 때면 항상 시간과 돈을 불필요하게 소모하곤 했습니다. 이러한 현상이 1년 이상 반복되자저는 궁금해졌습니다. 카카오맵은 도대체 어떤 이유로2번 경로를 최적 경로로 추천할까? 길찾기 서비스는 어떤 원리로 동작할까? 드디어 이 궁금증에 대한 마침표를 찍고자 합니다!이를 위해 아래와 같은 과정을 거쳤습니다. 1단계: 가설 설정2단계: 다양한 길찾기 알고리즘 학습A* Al..
2024.02.07
-
글쓰기, 개발자가 꼭 배워야 할 기술 (+실전 TIP)
안녕하세요, 부스트캠프 웹・모바일 9기Web 캠퍼 김상혁입니다. 멤버십에서는 매주 월요일 캠퍼끼리‘기술공유’ 시간을 가집니다. 이번에는 제가 기술공유에 신청했었습니다! “야 너도 글 잘 쓸 수 있어”를 주제로160명의 캠퍼분들 앞에서30분간 이야기를 나눴습니다. 해당 포스팅에서는 기술공유에서 다뤘던 내용을글로 여러분과 함께 공유하고자 합니다. 기술공유 당일 날 모습입니다! 이때 했던 것처럼여러분에게도 생생하게 들려드리겠습니다 😊 바로 시작해보시죠! 📍 본격적으로 시작하기에 앞서개발자 여러분! 글쓰기 막막할 때가 많으셨죠? 이 글 하나로 뻥 뚫어드리겠습니다! 끝까지 믿고 따라와주시면 감사하겠습니다. 크게 다섯 가지 내용을 다뤄보려 합니다!필요성: 우리는 왜 글을 써야 할까?본질: 글쓰기에서 가장 중요..
2024.12.18
-
JWT를 직접 구현하면서 토큰 인증 방식에 대해 알아보자!
안녕하세요!NewCodes입니다! 이번에는 JWT에 대해 다뤄보겠습니다! JWT는 토큰 인증 방식 중에 하나인데요. 이 글을 읽으시기 전에사전 지식으로 다음 글을 추천드려요! 인증과, 인가 더 이상 헷갈리지 말자세션 인증 방식, 이 글 하나로 끝내자! 인증과 인가, 세션에 대해 잘 알고 계시다면이번 글도 수월하게 읽으실 수 있을 거예요~ 최대한 이해를 돕기 위해 직접 만든 그림도 있답니다~ 😁 그러면 바로 시작해볼게요! 🪙 '토큰'이 뭐지?우선 토큰이 뭘 의미하는 걸까요? 지하철 탈 때 이러한 토큰 보신 적 있나요? (요새는 거의 카드를 쓰긴 하죠 ㅎㅎ) 이 토큰을 통해 우리는 지하철을 탈 권리가 있음을 증명할 수 있습니다. 이외에도 토큰이라는 단어는 정말 여러 가지 맥락에서 쓰일 수 있습..
2024.10.13
-
세션(session) 인증 방식, 이 글 하나로 끝내자!
안녕하세요!NewCodes입니다! 세션 기반 인증이 글 하나로 끝내겠습니다!! 사전 지식으로 아래 글을 통해인증과 인가가 무엇인지 알고 오시면 좋습니다!인증과 인가, 더 이상 헷갈리지 말자! 읽으면서 바로 이해가 안 되는 부분이 있을 수도 있어요! 아직 잘 몰라도 괜찮아요!처음에는 세션을 배우는 게 어렵답니다 ㅠㅠ 그래도 우선은 흐름따라 쭉 내려가면서 읽어보시는 걸 추천드려요! 이 글은 세션에 대해서만 다루고, 다음 글에서는 JWT에 대해 다룰 예정입니다! 지금 시작합니다! 🧐 세션과 JWT, 이런 거 왜 필요해? 세션과 JWT를 본격적으로 다루기 전에, 이게 왜 필요한 지 그 배경을 알아봅시다!HTTP를 잘 들여다보면 세션이 왜 필요한지 알 수 있는데요! 웹에서는 기본적으로 HTTP를 통..
2024.10.03
인기 글
-
소프트웨어 마에스트로 15기 - 2차 코딩테스트 회고
소프트웨어 마에스트로 15기 - 2차 코딩테스트 회고 안녕하세요. NewCodes입니다! 1차 코딩테스트가 끝난 후, 1주일 뒤 바로 2차 코딩테스트를 봤습니다. 1차 시험에 임박했을 때는 별생각 없이 열심히 했었는데, 2차는 체력적, 정신적으로 지쳤었습니다. 코딩 테스트를 2번이나 보는 건 생각보다 힘드네요... 솔직히 이번에 준비하면서 스트레스를 많이 받았습니다. '1차 코테 ~ 2차 코테' 이 사이의 기간은 참.. 힘든 시간이었습니다. 지쳐 있는 상황에서도 끝까지 준비해야 하니.. 알게 모르게 제 자신이 스트레스를 많이 받은 것 같았습니다. 평소에 안 나던 피부 트러블도 좀 나고요 ㅠㅠ 그래도 1주일을 허투루 보내지는 않았습니다. 1주일 동안 새로운 문제들도 풀고, 복습도 하면서 그물..
2024.03.03
-
그렙(프로그래머스) 백엔드 개발자 코딩 테스트 후기
안녕하세요! NewCodes입니다! 이번 포스팅에서는2025년 2월'그렙' 코딩테스트회고를 해보겠습니다! 📌 그렙 코딩테스트 참고사항응시 언어: JavaJava, C, Python 등의 언어가 가능했음문제 수: 5문제 (코딩 3문제 + SQL 2문제)시간: 2시간감독: 화면 공유 + 모니토앱 공유환경: 프로그래머스 플랫폼 제약 조건인터넷 검색 불가능원하는 시간대에 선택하여 응시 가능 📍 각 문제에 대해코딩 (1번, 2번, 3번)결론적으로 코딩 문제는 모두 어렵지 않게 구현 위주로 나왔습니다. 특정 알고리즘을 요구하는 문제는 절대 아니었습니다. 결과적으로 코드를 보면 이중 for문과 if문만으로도 적절히 조합하여 쓰면 풀 수 있었습니다. 문제 스타일은 요구사항은 길지만, 구현하기엔 어렵지 않은 스타..
2025.02.20
-
토스페이먼츠 3년 이하 서버 개발자 챌린지 - 서류 및 코딩테스트 합격 회고
안녕하세요! NewCodes입니다!! 지난 4월,'토스페이먼츠 3년 이하 서버 개발자 챌린지' 전형에 지원했었습니다! 이번 포스팅에서는코딩테스트를 보고 나서 느낀 점과 약간의 팁, 그리고 제 자신의 피드백에 대해 담아보겠습니다!! 📌 토스 코딩테스트 참고사항응시 언어: 딱히 언어 제약 x (본인은 자바 선택)문제 수: 알고리즘 6문제 + 서술형 3문제시간: 90분 (오후 2시 ~ 오후 3시 30분)감독: 화면 공유 (화상 감독 x)환경: 프로그래머스제약 조건인터넷 검색 가능외부 IDE 사용 가능 💻 알고리즘 문제에 대하여 난이도는 그렇게 어렵지 않았습니다. 제 체감상 대부분 백준 실버에 해당하는 문제였던 것 같습니다. 유형은 주로 '구현'이었습니다. 특정 알고리즘을 알아야만 풀 수 있는 문제는 ..
2024.05.12
-
소프트웨어 마에스트로 15기 - 1차 코딩테스트 회고
소프트웨어 마에스트로 15기 - 1차 코딩테스트 회고 안녕하세요. NewCodes입니다!! 어제인 2월 24일 토요일에 소프트웨어 마에스트로 15기 코딩테스트 1차를 응시했습니다. 저는 평소에 알고리즘, 자료구조를 공부하지 않았습니다. 이번 소마에 합격하기 위해서 올해 1월 2일부터 코딩테스트 공부를 본격적으로 시작했습니다. 주로 백준과 프로그래머스를 통해서 공부했으며, 선택 언어는 자바입니다. 프로그래머스로는 쉬운 기초 문제도 많이 풀었어서 '해결한 문제' 수가 조금 뻥튀기되어 있습니다 ㅎㅎ.. sql 문제도 포함되어 있습니다. 제가 그동안 공부했던 기록과 방법에 대해서는 2차 코딩테스트가 끝난 이후에 자세히 기록해 보겠습니다. 이번 글에서는 위와 같은 경험을 가진 제가 소마 코딩테스트를 어떻게 풀었는..
2024.02.25
-
[네부캠] 네이버 부스트캠프 9기 - 1차 코딩테스트 회고
안녕하세요! NewCodes입니다! 이번 네이버 부스트캠프 9기에 지원했습니다! 자기소개서와 포트폴리오를 열심히 작성하고~~1차 코딩테스트를 봤습니다! 2024년 6월 15일에 진행한네이버 부스트캠프 1차 코딩테스트(문제 해결력 테스트)회고를 해보겠습니다! 📌 네이버 부스트캠프 1차 코딩테스트 참고사항응시 언어: 자바 (언어 제약 크게 x)문제 수: 10문제 (CS 6문제 + 구현 3문제 + 서술형 1문제)시간: 2시간 (14:00 ~ 16:00)감독: 무감독환경: 구름제약 조건인터넷 검색 가능, 개인 자료 참고 불가능A4 종이 3장 및 필기펜 가능시험 페이지 및 검색 페이지 외 모든 프로그램 종료투명한 생수 가능 👨🏻💻 1차 코딩테스트에 대하여 : 난이도는 전반적으로 쉬웠습니다. 물론 ..
2024.06.16
최신 글
-
미생을 보고나서 절실히 느낀 점
최근 미생 20회를 전부 봤다. 너무 재미있어서 하루에 2편씩은 챙겨봤다. 미생에는 심금을 울리는 대사, 스토리가 많았다. 다 보고나서 깨달은 점, 느낀 점 등을 정리해보고자 한다. 이렇게 굳이 따로 정리하는 이유는 나에게 큰 동기부여와 용기를 불어넣어 줬기 때문이다. 나는 드라마나 영화를 보고 자극을 많이 받는 편이다. 짧게는 하루, 길게는 한 달 정도 여운을 가지며 주인공처럼 살아가곤 한다. 이번에는 그 여운을 더 길게 남기고 싶어 이렇게 글로 쓴다. 1. 작은 일을 성실히 다하자. 주인공 장그래는 인턴으로서 할 수 있는 일이라면 어떤 것이든 최선을 다해서 했다. 물론 처음엔 무시당했지만, 계속해서 노력하며 결과를 보이는 모습에 주변 인물들의 태도는 점점 호의적으로 달라졌다. 이유는 작은 일들을..
2025.02.22
-
그렙(프로그래머스) 백엔드 개발자 코딩 테스트 후기
안녕하세요! NewCodes입니다! 이번 포스팅에서는2025년 2월'그렙' 코딩테스트회고를 해보겠습니다! 📌 그렙 코딩테스트 참고사항응시 언어: JavaJava, C, Python 등의 언어가 가능했음문제 수: 5문제 (코딩 3문제 + SQL 2문제)시간: 2시간감독: 화면 공유 + 모니토앱 공유환경: 프로그래머스 플랫폼 제약 조건인터넷 검색 불가능원하는 시간대에 선택하여 응시 가능 📍 각 문제에 대해코딩 (1번, 2번, 3번)결론적으로 코딩 문제는 모두 어렵지 않게 구현 위주로 나왔습니다. 특정 알고리즘을 요구하는 문제는 절대 아니었습니다. 결과적으로 코드를 보면 이중 for문과 if문만으로도 적절히 조합하여 쓰면 풀 수 있었습니다. 문제 스타일은 요구사항은 길지만, 구현하기엔 어렵지 않은 스타..
2025.02.20
-
사용자 피드백을 바탕으로 타이머 팝업 구현하기
안녕하세요! NewCodes입니다! 발단사용자에게 피드백을 받고 추가 기능을 구현한 경험을 남겨보고자 한다. 해당 프로젝트는 MapleStorage이다. 내가 코딩을 처음 배울 때 만들었던 웹이다. html, css, js만을 사용하여 외부 라이브러리 도움 없이 만들었었다. github pages를 통해 배포했고, 메이플 커뮤니티에 올려 유저를 모아 반응을 얻기도 했다. 해당 웹의 주요 기능은 아래와 같다. 메이플 마을 브금 들려주기 To do list 작성하기사냥 시 재획에 필요한 타이머 작동이게 바로 2년 전 일이다! 어느 날, 한 사용자로부터 메일이 왔다. 타이머 작동에 관해 추가 구현을 해달라는 것이었다. 아직도 내 웹을 사용하고 있다는 사람이 있으며 메일까지 주는 사람이 있다는 것에 ..
2025.01.31
-
팀에서 개발자로서 잘 협업하는 방법
안녕하세요! NewCodes입니다! 최근에 그룹 프로젝트에서협업을 하며 생긴 습관과 TIP에 대해 총정리해보고자 합니다. 이를 바탕으로 더 나은 협업을 위한 발판으로 삼아보겠습니다! 🎯 이 글을 통해 얻어갈 수 있는 것개발 작업할 때 사소하지만 꼭 필요한 태도와 TIP코드리뷰를 유익하게 잘 주고받는 방법팀에 조금이라도 더 기여하는 방법 📝 작업을 본격적으로 시작하기 전 1) 요구사항을 꼼꼼히 읽으며 파악하자. : 요구사항을 파악하는 건 기본 중에 기본이다. 요구사항이 이해가 되더라도 한 두 번은 더 읽어봐야 한다. 굳이 이렇게 해야 하는 이유는 요구사항을 오인했을 때 나중에 수정하는 비용이 다소 크기 때문이다. 작업 초반에 일어난 실수일수록 후반에 잡기가 힘들어진다. 또, 요구사항은 대부분 명확..
2025.01.22
-
1초에 80,000번 Network I/O를 하면 생기는 병목을 분석해보자!
안녕하세요! NewCodes입니다! 저번 글에서 실시간 퀴즈 게임 프로젝트에 대해부하테스트와 성능최적화 글을 다루었습니다. Artillery를 통한 Socket.io 게임 서버 부하테스트 경험기실시간 게임 서버 성능 최적화 - 한 게임방에서 200명이 플레이?! 이번 글에서는 Network I/O가 어떻게 일어나는지고수준에서 저수준으로 깊게 파보려 합니다. 이번에는 병목의 원인으로 잡혔던 Network I/O에서 저수준에서 어떤 부분이 원인이었을지를 탐구해보겠습니다. 이를 통해 다음에 트래픽이 상승하여 서버에 부하가 생겼을 때,개선 방향은 무엇이 있을지 고민해보려 합니다. 이 글에서 다루고자 하는 내용Network I/O가 Node.js에서부터 시작해서 OS까지 이루어지는 과정 분석하기 I/O는 ..
2025.01.15
-
실시간 게임 서버 성능 최적화 - 한 게임방에서 200명이 플레이?!
안녕하세요! NewCodes입니다! 실시간 퀴즈 게임 플랫폼 프로젝트에서성능 최적화한 경험을 공유하고자 합니다! 부하테스트를 통해 메트릭을 수집했고, 병목의 원인을 분석했습니다. 그리고 최적화한 방법까지자세하게 남겨보고자 합니다! 📍 한 게임방에 200명을 지원하고자 한 이유 한 게임방에 200명을 지원하고자 한 이유는..! 팀의 목표였기 때문입니다!한 게임방 내 200명의 플레이어가 원활히 플레이할 수 있게 구현 그런데 왜 200명일까요? 저희의 서비스가 사용되길 기대하는 상황은 위와 같았습니다. 대규모의 인원이 한 장소에서 즐겁게 아이스브레이킹, 레크리에이션 등의 용도로 사용되길 원했습니다. 그러면 지루할 수도 있는 강연이나 회의장에서도 즐거움을 더해줄 수 있으니까요! 그리고 네이버 부스트캠프 ..
2025.01.08
-
Artillery를 통한 Socket.io 게임 서버 부하테스트 경험기(feat. TIP)
안녕하세요! NewCodes입니다! 이번에는 Node.js + Socket.io 게임 서버를부하테스트했던 경험에 대해서 적어보려 합니다! Socket.io 부하테스트 관련 레퍼런스가 많이 없어시행착오를 많이 겪었습니다. 그래서 해당 경험을 정리하며,비슷한 상황에 있는 분께 도움이 됐으면 해서TIP까지 정리해보고자 합니다. 이 글은 처음부터 순서대로 읽는 걸 추천드리며,TIP은 마지막에 정리되어 있습니다. 📍 부하테스트를 하고자 했던 이유부하테스트를 하고자 했던 이유는 간단합니다. 팀의 목표 때문이었습니다. 한 게임방 내 200명의 플레이어가 원활히 플레이할 수 있게 구현 그런데 왜 200명일까요? 저희의 서비스가 사용되길 기대하는 상황은 위와 같았습니다. 대규모의 인원이 한 장소에서 즐겁..
2025.01.01
-
글쓰기, 개발자가 꼭 배워야 할 기술 (+실전 TIP)
안녕하세요, 부스트캠프 웹・모바일 9기Web 캠퍼 김상혁입니다. 멤버십에서는 매주 월요일 캠퍼끼리‘기술공유’ 시간을 가집니다. 이번에는 제가 기술공유에 신청했었습니다! “야 너도 글 잘 쓸 수 있어”를 주제로160명의 캠퍼분들 앞에서30분간 이야기를 나눴습니다. 해당 포스팅에서는 기술공유에서 다뤘던 내용을글로 여러분과 함께 공유하고자 합니다. 기술공유 당일 날 모습입니다! 이때 했던 것처럼여러분에게도 생생하게 들려드리겠습니다 😊 바로 시작해보시죠! 📍 본격적으로 시작하기에 앞서개발자 여러분! 글쓰기 막막할 때가 많으셨죠? 이 글 하나로 뻥 뚫어드리겠습니다! 끝까지 믿고 따라와주시면 감사하겠습니다. 크게 다섯 가지 내용을 다뤄보려 합니다!필요성: 우리는 왜 글을 써야 할까?본질: 글쓰기에서 가장 중요..
2024.12.18
-
Ncloud 후기 - '실시간 퀴즈 게임 플랫폼' 개발
안녕하세요! NewCodes입니다! Ncloud 사용 후기를 남겨보겠습니다! 개발한 프로젝트가 어떤 서비스인지부터 설명드리겠습니다! ✍🏻 '퀴즈그라운드' 서비스 소개QuizGround는 실시간 퀴즈 게임 플랫폼입니다!귀여운 이모지 캐릭터로 변신하여 퀴즈를 풀 수 있어요!한 게임방에서 최대 200명까지 플레이할 수 있어요! 🚀 핵심 기능생존 모드 또는 랭킹 모드 중 선택하여 플레이할 수 있습니다.[생존 모드] 퀴즈를 맞춰 끝까지 살아남아보세요![랭킹 모드] 퀴즈를 맞춰 점수를 모아보세요! 실시간 채팅과 실시간 이동으로 다른 사용자들과 상호작용할 수 있습니다.실시간 채팅실시간 이동 위 모든 기능이 200명이 있는 게임방에서도 가능해요! 사용한 기술 스택 프로젝트 링크 깃허브: https://gith..
2024.12.17
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 최종 회고
안녕하세요! NewCodes입니다! 네이버 부스트캠프 멤버십최종 회고를 해보겠습니다! 바로 시작하겠습니다! 🤗 처음인 게 많았지만 잘 해냈다.나는 2023년 11월부터 개발자의 길을 걷기 시작했다. 위 잔디에서도 보이듯이 2023년 초에 처음 입문을 했었다. 생활코딩 강의를 듣고 간단한 칼로리 계산 웹을 하나 만들어본 정도였다. 이후에는 개발이 아닌 다른 일을 잠시 했었다. 그러고 11월에 본격적으로 하기 시작했다! 2023년 말, 나는 다음 해에 교대 4학년이 될 예정이었다. 임용고시를 볼지 아니면 다른 길을 갈지 선택해야했다. 나는 이때 개발자의 길을 선택했다! 차마 부모님께는 말씀을 못 드렸고 네이버 부스트캠프 멤버십에 들어오고 나서야 말씀을 드렸었다. 부모님을 설득하기 위해 ppt 70..
2024.12.16
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 13주 차 회고 (그룹프로젝트 week5)
안녕하세요! NewCodes입니다!! 그룹 프로젝트 week5 회고를 시작하겠습니다! 벌써 이제 한 주만을 남겨두고 있네요 ㅎㅎ 📍 이번 주 했던 것게임 테스트 코드 개선module 정리setup 파일 분리util 함수로 중복 로직 제거Artillery 이용한 부하테스트한 게임방 200명 테스트 스크립트 작성멀티 프로세스 테스트 이번 주는 부하테스트에 초점을 두고 진행했었다! 이에 관해 정리한 문서와 깃허브를 첨부한다!https://s0n9.notion.site/57-eed2841cf83447fb924fed316a321f19?pvs=4 [최적화] 멀티 프로세스를 통한 57% 성능 향상 | Notion문서 정리 To do lists0n9.notion.site https://github.com/..
2024.11.30
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 12주 차 회고 (그룹프로젝트 week4)
안녕하세요! NewCodes입니다! 어느덧 멤버십 11주가 지나갔네요.. 허허 이번에도 어김없이 회고해보겠습니다! Week4 현재의 아키텍처 1️⃣ [멀티 프로세스] Nest 서버를 멀티 프로세스로 띄우고, NginX로 로드 밸런싱더보기개요실시간 게임에서는 즉각적인 처리, 성능이 중요한 서버 인스턴스에서 여러 프로세스를 돌리고자 함멀티 프로세스를 통해 응답 시간을 최대한 줄이는 게 목적첫 번째로 시도했던 방법3000번, 3001번 포트 각각에서 Nest 프로세스 실행NginX에서 80번 포트로 요청을 받아 3000번, 3001번으로 로드 밸런싱 설정만났던 문제소켓 연결이 안 되고, polling 요청만 지속적으로 들어옴pm2 로그 열어보면 소켓 연결됐다는 로그가 안 찍힘NginX error 로그는 안..
2024.11.24
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 11주 차 회고 (그룹프로젝트 week3)
안녕하세요! NewCodes입니다! 이번에는 그룹프로젝트 3주 차 회고를 해보겠습니다!! 어느덧 그룹프로젝트 절반이 끝났네요! 한 주 되돌아보면서 다음 계획을 짜보겠습니다. 🚀 week3 문제 해결 경험week1, week2 성장 일지는 주로 ‘회고’스럽게 진행했었습니다. week3에서는 문제 해결 경험을 ‘정리’한다는 마인드로 작성했습니다.redis data modeling - 레디스에 데이터를 어떻게 저장할 것인가?동기우선 NoSQL 자체를 처음 써봤는데, 이를 잘 사용하기 위해서는 어떤 식으로 저장할지 설계가 필요하다고 생각함마치 RDB에서 ERD 설계하는 것처럼그래서 Redis를 본격적으로 사용하기 전에 아래와 같이 데이터 모델링을 진행함과정Redis에서는 String 뿐만 아니라 다양한..
2024.11.16
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 10주 차 회고 (그룹프로젝트 week2)
안녕하세요! NewCodes입니다! 이번에는 그룹프로젝트 2주 차 회고를 해보겠습니다!팀 단위로 코드를 작성하는 건 처음이었는데요! 느낀 걸 적어보고자 합니다 ㅎㅎ 🚀 이번 주에 팀에서 했던 일프로젝트 배포게임방 생성 및 입장 기능 구현실시간 채팅 기능 구현실시간 위치 업데이트 기능 구현매일 회의 및 회고 👍 개인적으로 했던 일팀장으로서 데일리 스크럼 및 회의 진행BE Socket.io 초기 설정게임 생성 이벤트 핸들러 구현실시간 채팅 이벤트 핸들러 구현테스트 코드 작성 및 리팩토링ERD 설계 진행중 (퀴즈, 유저, 캐시템)퀴즈셋 생성 API 요청/응답 형식 정하기 😋 느낀 점이번 주 팀 목표를 이뤘다!게임방 생성하여 대기방 입장,실시간 채팅, 위치 업데이트 기능 구현,배포까지 !!처음 팀 단위..
2024.11.08
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 9주 차 회고 (그룹프로젝트 시작!)
안녕하세요! NewCodes입니다! 이번 주에는 그룹프로젝트가 시작되었는데요!개인적으로는 네이버 부스트캠프에서 가장 기대했던 활동입니다. 누군가와 함께 협업하며 개발해본 경험은 없었어서이 경험을 너무 가지고 싶었습니다! 그리고 무엇보다도 재밌을 것 같았어요 ㅎㅎ 그룹프로젝트 첫 주차 회고 진행해보겠습니다! 🤗 이번 주에 팀에서 했던 일팀목표 및 그라운드룰 협의코딩 스타일 협의프로젝트 아이디어 협의우리가 생각하는 좋은 아이디어의 조건 4가지 추상화너무 흔하지 않으면서 참신하고 재미있는실시간의 요소가 있는다룰 데이터가 많은실제로 사용해봄직한프로젝트 기획함께 웹 게임하며 레퍼런스 탐색피그마로 프로젝트 화면 구성백로그 작성서비스명 및 팀명 정하기API 명세서 작성기획 공유 발표 준비오프라인 약속 잡기팀원..
2024.11.03
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 8주 차 회고 (학습 스프린트 끝!)
안녕하세요! NewCodes입니다! 어느새 8주 간의 학습 스프린트가 끝났네요!! 정말 시간 빠르네요 ㅠㅠ 6월에 베이직 했던 게 엊그제 같은데...어느새 마지막 그룹프로젝트를 향해 가고있네요. 그러면 이번에도 어김없이 회고 시작해보겠습니다! 📍 학습 스프린트 8주 차 소감선택과 집중을 잘했다.미션을 본 순간, 세 가지는 다 하기 힘들 거라 생각했다.OAuth는 이전 스프린트 때 직접 구현해본 적이 있어서 우선순위를 제일 낮게 두었다.처음에는 DB 미션에 집중하려고 했었다.하지만 호눅스님이 미션 하나만 한다면 첫 번째 미션하라길래 ‘이유가 있겠지’ 하고 해당 미션에만 집중했다.결국 잘 해냈고, 남은 시간들은 테스트 코드 작성과 학습 정리에 신경 썼다.multipart/form-data 전달 잘했다..
2024.10.19
-
JWT를 직접 구현하면서 토큰 인증 방식에 대해 알아보자!
안녕하세요!NewCodes입니다! 이번에는 JWT에 대해 다뤄보겠습니다! JWT는 토큰 인증 방식 중에 하나인데요. 이 글을 읽으시기 전에사전 지식으로 다음 글을 추천드려요! 인증과, 인가 더 이상 헷갈리지 말자세션 인증 방식, 이 글 하나로 끝내자! 인증과 인가, 세션에 대해 잘 알고 계시다면이번 글도 수월하게 읽으실 수 있을 거예요~ 최대한 이해를 돕기 위해 직접 만든 그림도 있답니다~ 😁 그러면 바로 시작해볼게요! 🪙 '토큰'이 뭐지?우선 토큰이 뭘 의미하는 걸까요? 지하철 탈 때 이러한 토큰 보신 적 있나요? (요새는 거의 카드를 쓰긴 하죠 ㅎㅎ) 이 토큰을 통해 우리는 지하철을 탈 권리가 있음을 증명할 수 있습니다. 이외에도 토큰이라는 단어는 정말 여러 가지 맥락에서 쓰일 수 있습..
2024.10.13
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 7주 차 회고
안녕하세요! NewCodes입니다!! 이번 멤버십 학습 스프린트 7주 차에서는 인상적인 것들이 정말 많았습니다. 아마 분량이 많아질 것 같네요! 바로 회고 시작하겠습니다!! 📍 이번 주 회고할 사항 이번 주 회고해볼 사항은 크게 다섯 가지이다. 기술 공유 경험피드백을 받아들이는 태도 & 피드백을 하는 태도'나는 어떤 사람이었을까?'를 반성미션 구현과 학습의 태도 재정립동료들 덕분에 생각이 바뀐 경험 역대급으로 회고해볼 거리가 많은 주 차였다. 그 이유는 160~ 170명을 대상으로 30분간 기술공유를 했기 때문이다. 이로 파생되는 게 2, 3번이다. 또한, 미션을 진행하면서 깨달은 것도 있었다. 이에 관한 게 4, 5번이다. 하나씩 자세하게 반성해보자. 😮 약 160명 앞에서 30분간 '글쓰기'를 주제로..
2024.10.11
-
[네부캠] 네이버 부스트캠프 웹・모바일 9기 - 멤버십 6주 차 회고
안녕하세요!NewCodes입니다!! 벌써 멤버십 6주 차나 되었군요!! 이번에도 바로 회고 시작해보겠습니다 ㅎㅎ 🙌 학습 스프린트 6주 차 소감균형을 잘 잡은 한 주였다.너무 스트레스 받지도 않고 너무 루즈하지도 않는 적정선의 긴장감을 유지했다.학습과 구현의 균형을 잘 지킨 것 같다.리팩토링을 게을리 하지 않으면서도, 배운 지식을 정리하는 데에도 시간을 들였다.비교적 여유가 있었다.이번 주 차 요구사항 (POST 로그인, 세션 인증)은 이미 해본 것들이라 크게 어렵진 않았다.그래서 빨리 요구사항을 끝내고, 남은 시간에는 평소에 잘하지 못했던 작업을 진행했다.테스트 코드 작성: 로그인/로그아웃 쪽 단위 테스트 코드를 작성했다.블로그 글 작성: 세션 인증 방식이 어떻게 이루어지는지 블로그 글로 정리..
2024.10.06
-
세션(session) 인증 방식, 이 글 하나로 끝내자!
안녕하세요!NewCodes입니다! 세션 기반 인증이 글 하나로 끝내겠습니다!! 사전 지식으로 아래 글을 통해인증과 인가가 무엇인지 알고 오시면 좋습니다!인증과 인가, 더 이상 헷갈리지 말자! 읽으면서 바로 이해가 안 되는 부분이 있을 수도 있어요! 아직 잘 몰라도 괜찮아요!처음에는 세션을 배우는 게 어렵답니다 ㅠㅠ 그래도 우선은 흐름따라 쭉 내려가면서 읽어보시는 걸 추천드려요! 이 글은 세션에 대해서만 다루고, 다음 글에서는 JWT에 대해 다룰 예정입니다! 지금 시작합니다! 🧐 세션과 JWT, 이런 거 왜 필요해? 세션과 JWT를 본격적으로 다루기 전에, 이게 왜 필요한 지 그 배경을 알아봅시다!HTTP를 잘 들여다보면 세션이 왜 필요한지 알 수 있는데요! 웹에서는 기본적으로 HTTP를 통..
2024.10.03