본문 바로가기
반응형

분류 전체보기75

Node.js에서 readFileSync를 쓰면 안 되는 이유 (feat. Event Loop) 안녕하세요! NewCodes입니다! Node.js에서`readFileSync`를 써보신 적이 있으신가요? `readFileSync`는 특별한 경우를 제외하고써서는 안 되는 함수입니다. `readFileSync`를 쓰면주방에 있는 셰프가 멈추는 것과도 같습니다. 그러면 주방이 돌아가질 않고, 음식이 늦게 나오겠죠? Node.js에서도 마찬가지입니다. 여러분이 웹 애플리케이션 서버를 만들고 있는데`readFileSync`를 썼다면성능이 매우 떨어질 것입니다. 특히, 사용자가 동시적으로 몰린다면요! 이 글의 주요 목적은 단순히'readFileSync를 쓰면 안 된다.'에서 끝나진 않습니다. 소중한 main thread가 block되지 않게 하자! 를 전달하는 게 주요 목적입니다!! 우선 .. 2025. 5. 17.
공군 훈련소 + 운항관제 특기학교 회고 안녕하세요! NewCodes입니다. 올해 3월 10일,공군 866기로 입대했습니다. 5주 간의 훈련소와 1주 3일의 특기학교를 거쳐지금은 자대 배치를 받았습니다. 다행히도 본가에서 15분 거리인자대로 배치받아서 행복하게 생활중입니다 ㅎㅎ 특기는 운항관제 CQ로서복무하고 있습니다. 비행대대 소속으로조종사들과 한 공간에서 근무하고 있습니다. 하는 일은 주로 비행스케줄을 관리하고 C4I 체계에 필요한 정보들을 입력하는 일입니다. 관련 부서와도 소통이 잦은 편이며,작성한 비행스케줄을 각종 부서에 전달합니다. 각설하고 이번에도 역시 회고를 해보려 합니다.생각보다 성장하거나 얻은 부분들이 많아서요! 시작해보겠습니다!! 🙏 군대에서 겸손을 배운 썰절실하게 깨달은 점은 '겸손'이었다. 군대에서 .. 2025. 5. 4.
미생을 보고나서 절실히 느낀 점 최근 미생 20회를 전부 봤다. 너무 재미있어서 하루에 2편씩은 챙겨봤다.   미생에는 심금을 울리는 대사, 스토리가 많았다. 다 보고나서 깨달은 점, 느낀 점 등을 정리해보고자 한다. 이렇게 굳이 따로 정리하는 이유는 나에게 큰 동기부여와 용기를 불어넣어 줬기 때문이다. 나는 드라마나 영화를 보고 자극을 많이 받는 편이다. 짧게는 하루, 길게는 한 달 정도 여운을 가지며 주인공처럼 살아가곤 한다. 이번에는 그 여운을 더 길게 남기고 싶어 이렇게 글로 쓴다.  1. 작은 일을 성실히 다하자. 주인공 장그래는 인턴으로서 할 수 있는 일이라면 어떤 것이든 최선을 다해서 했다. 물론 처음엔 무시당했지만, 계속해서 노력하며 결과를 보이는 모습에 주변 인물들의 태도는 점점 호의적으로 달라졌다. 이유는 작은 일들을.. 2025. 2. 22.
그렙(프로그래머스) 백엔드 개발자 코딩 테스트 후기 안녕하세요! NewCodes입니다! 이번 포스팅에서는2025년 2월'그렙' 코딩테스트회고를 해보겠습니다! 📌 그렙 코딩테스트 참고사항응시 언어: JavaJava, C, Python 등의 언어가 가능했음문제 수: 5문제 (코딩 3문제 + SQL 2문제)시간: 2시간감독: 화면 공유 + 모니토앱 공유환경: 프로그래머스 플랫폼 제약 조건인터넷 검색 불가능원하는 시간대에 선택하여 응시 가능  📍 각 문제에 대해코딩 (1번, 2번, 3번)결론적으로 코딩 문제는 모두 어렵지 않게 구현 위주로 나왔습니다. 특정 알고리즘을 요구하는 문제는 절대 아니었습니다. 결과적으로 코드를 보면 이중 for문과 if문만으로도 적절히 조합하여 쓰면 풀 수 있었습니다.  문제 스타일은 요구사항은 길지만, 구현하기엔 어렵지 않은 스타.. 2025. 2. 20.
사용자 피드백을 바탕으로 타이머 팝업 구현하기 안녕하세요! NewCodes입니다!  발단사용자에게 피드백을 받고 추가 기능을 구현한 경험을 남겨보고자 한다.  해당 프로젝트는 MapleStorage이다. 내가 코딩을 처음 배울 때 만들었던 웹이다. html, css, js만을 사용하여 외부 라이브러리 도움 없이 만들었었다. github pages를 통해 배포했고, 메이플 커뮤니티에 올려 유저를 모아 반응을 얻기도 했다.  해당 웹의 주요 기능은 아래와 같다. 메이플 마을 브금 들려주기 To do list 작성하기사냥 시 재획에 필요한 타이머 작동이게 바로 2년 전 일이다!  어느 날, 한 사용자로부터 메일이 왔다. 타이머 작동에 관해 추가 구현을 해달라는 것이었다.   아직도 내 웹을 사용하고 있다는 사람이 있으며 메일까지 주는 사람이 있다는 것에 .. 2025. 1. 31.
팀에서 개발자로서 잘 협업하는 방법 안녕하세요! NewCodes입니다! 최근에 그룹 프로젝트에서협업을 하며 생긴 습관과 TIP에 대해 총정리해보고자 합니다.  이를 바탕으로 더 나은 협업을 위한 발판으로 삼아보겠습니다! 🎯 이 글을 통해 얻어갈 수 있는 것개발 작업할 때 사소하지만 꼭 필요한 태도와 TIP코드리뷰를 유익하게 잘 주고받는 방법팀에 조금이라도 더 기여하는 방법 📝 작업을 본격적으로 시작하기 전 1) 요구사항을 꼼꼼히 읽으며 파악하자.  : 요구사항을 파악하는 건 기본 중에 기본이다. 요구사항이 이해가 되더라도 한 두 번은 더 읽어봐야 한다. 굳이 이렇게 해야 하는 이유는 요구사항을 오인했을 때 나중에 수정하는 비용이 다소 크기 때문이다. 작업 초반에 일어난 실수일수록 후반에 잡기가 힘들어진다. 또, 요구사항은 대부분 명확.. 2025. 1. 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. 1. 15.
반응형