TIL 썸네일형 리스트형 [회고] 다사다난 했던 2024년도 회고 2024년은 개발자로서 새로운 도전과 변화의 해였습니다. AI 자막 서비스 개발부터 이커머스 도메인 탐구까지, 다양한 경험을 통해 성장할 수 있었던 의미 있는 시간이었습니다. KPT 방식으로 한 해를 돌아보며, 앞으로의 성장 방향을 정리해보고자 합니다.유지하고 싶은 것들 (Keep)2024년은 개발 프로세스와 기술적 성장 측면에서 여러 의미 있는 성과를 이룬 한 해였습니다.1. 체계적인 개발 관리 도입올해는 WBS(Work Breakdown Structure)를 활용해 개발 일정 관리를 체계화했습니다. 이를 통해 프로젝트 진행 상황을 더욱 명확히 파악하고 관리할 수 있었으며, 협업 효율성을 크게 높일 수 있었습니다.또한 FSD(Feature-Sliced Design) 폴더 구조를 도입하여 코드 관리 방식.. 더보기 가챠권 소모 로직과 공정한 랜덤 확률 시스템 구현: 사용자 재방문율 20% 향상 가챠 시스템은 재미와 보상을 통해 사용자들의 참여를 극대화하는 강력한 기능입니다. 이번 글에서는 가챠권 소모 로직과 공정한 랜덤 확률 시스템을 어떻게 구현했는지, 그리고 이를 통해 사용자 재방문율을 20% 향상시킨 경험을 공유합니다. 가챠권 소모 로직 구현가챠 시스템을 만들기 위해 가장 먼저 가챠권 소모와 유효성 검사를 처리하는 로직이 필요했습니다. 1. 가챠권 보유 여부 확인사용자가 가챠를 실행하기 전, 현재 보유한 가챠권이 있는지 확인하는 과정이 필요했습니다. 만약 사용자가 가챠권을 보유하지 않았다면, 안내 모달을 띄워 가챠 진행을 막습니다.//가챠의 갯수가 없으면 안내모달 띄우기 {unusedGachas.length === 0 && !result && ( )} 2... 더보기 [테오스프린트] 테오스프린트 18기를 시작하며 테오스프린트, 설렘과 도전의 시작 드디어 제가 테오스프린트에 참가하게 되었어요! 😊 이번 기수는 오랜만에 진행되는 만큼 참가 인원이 더욱 많았다고 합니다. 처음엔 설레는 마음이 컸지만, 협업에 대한 기대와 함께 살짝의 걱정도 있었어요. 그래도 좋은 인연들과 함께 즐거운 시간을 만들어가길 기대하고 있습니다. 참가 전에 받은 첫 번째 미션은 프로젝트 아이디어를 구상해오는 것이었는데요. 저는 가구 배치 시뮬레이터 사이트, SweetHome을 제안했습니다.(아쉽게도 준결승까지만 올라갔지만... 여기에서 아이디어를 정리해 공유해봅니다!) SweetHome은 가구 배치를 쉽고 직관적으로 도와주는 가구 배치 시뮬레이터 사이트입니다.이사 준비나 인테리어를 고민할 때, '이 가구가 내 방에 어울릴까?' 망설였던 적 있.. 더보기 실시간 알림 구현을 위한 선택: 롱 폴링, 웹 소켓, Server-Sent-Events 롱 폴링이란?클라이언트가 정기적인 간격으로 서버에 반복적으로 데이터를 요청하는 전통적인 폴링과 달리, 롱 폴링은 새로운 데이터를 사용할 수 있을 때까지 서버와의 연결을 열려 있는 상태로 유지합니다. 서버에 새 정보가 생기면 클라이언트에 응답을 보내고 연결이 닫힙니다. 서버의 응답을 받자마자 클라이언트는 새로운 요청을 보내는 과정이 반복됩니다. 이를 통해 데이터가 갱신되면 즉시 클라이언트에 전달되며, 불필요한 네트워크 트래픽을 줄일 수 있습니다. 그러나 여전히 통신 지연이 발생할 수 있고, 웹 소켓과 같은 기술에 비해 비효율적일 수 있습니다. // 자바스크립트 클라이언트의 롱 폴링function longPoll() { fetch('http://example.com/poll') .then(.. 더보기 주니어 개발자의 코드 리뷰 문화 도입시키기 코드 리뷰 문화를 도입한 계기처음에는 개인 브랜치에서 각자 작업을 완료한 후, 공통 브랜치(dev)에 병합하는 방식으로 개발을 진행했지만, 코드 품질에 대한 문제가 점점 드러나기 시작했습니다. 당시 코드 리뷰를 해줄 테크리드가 없어 코드 품질을 관리할 방법이 부족했기 때문에 저는 자발적으로 코드 리뷰 규칙에 대해 의견을 내었고 팀 내에서도 적용하기로 결정했습니다. 이는 코드 품질을 개선하고 유지보수성을 높이기 위한 중요한 첫걸음이었습니다. 비슷한 상황에 놓이신 분들을 위해 저의 개발문화 적용과정과 생각들을 공유드리려고 합니다. 개선된 코드 리뷰 문화코드 리뷰는 매일 아침 팀이 모여 진행되었습니다. 이 시간 동안 팀원들은 온라인으로 서로의 코드를 검토하며 질문을 주고받고, 더 나은 코드 작성 방법이나 공.. 더보기 Component-Driven Development(CDD): 효율적인 UI 개발의 핵심 Component-Driven Development(CDD)란?Component-Driven Development(CDD)는 UI 개발에서 컴포넌트를 중심으로 개발하는 방식을 말합니다. CDD의 핵심은 UI를 독립적이고 재사용 가능한 단위로 나누고, 각 컴포넌트가 명확한 기능과 책임을 갖도록 개발하는 것입니다. 이를 통해 유지보수와 확장이 쉬운 코드를 만들 수 있습니다. CDD와 기존 방식의 차이 기존 방식: 전통적인 UI 개발 방식에서는 페이지나 화면 단위로 개발이 이루어집니다. 이 방식은 각 페이지가 완성된 이후 수정이 필요할 때, 코드 중복이 많아 재사용성이 떨어지고 유지보수가 어렵습니다.CDD 적용 전 (비포):CDD를 적용하기 전에는 여러 페이지에서 동일한 버튼을 복사해 사용했을 수 있습니다... 더보기 프론트엔드 개발자가 백엔드를 고민하게 된 이유: MERN 스택과 Node.js, Nest.js의 차이점 개발자 지인과의 커피챗 이후, "프론트엔드만으로는 충분하지 않은 시대가 왔구나"라는 사실을 깨닫게 되었습니다. 처음에는 나 자신이 프론트엔드에만 집중하려는 욕심을 가지고 있다는 생각이 들었고, 이제는 백엔드도 공부해야 할 때가 되었음을 느꼈습니다. 그러면, 어디서부터 시작해야 할까? 제가 최종적으로 입사하고 싶은 회사들을 살펴보니 MERN 스택을 많이 사용한다는 사실을 알게 되었습니다. React는 이미 익숙하게 사용 중이었기 때문에, 백엔드에서 더 쉽게 접근할 수 있는 기술로 Node.js를 선택하게 되었습니다. 그러나 여기서 끝이 아니었습니다. 단순히 Node.js만으로는 충분하지 않았습니다. 특히 요즘 많은 개발자들이 사용하는 Nest.js라는 프레임워크에 대해 궁금증이 생겼습니다. "왜 사람들이 .. 더보기 글또 10기 합격 얼마 전, 글또 10기에 지원하며 작성했던 '삶의 지도'가 큰 힘이 되어 드디어 글또에 합격하게 되었습니다. 제가 글을 쓰게 된 이유와 목표를 담은 그 글을 통해 저를 되돌아보고 앞으로의 방향을 정리하는 소중한 시간이었습니다. 글을 쓰는 과정은 항상 제게 배움과 성찰의 기회를 주었고, 이번 글또 활동을 통해 그 배움을 더 넓은 세상에 나눌 수 있는 기회가 주어져 정말 기쁩니다. 앞으로 글또 활동을 통해 꾸준히 글을 쓰는 습관을 기르며, 개발자로서의 경험과 배움을 기록하겠습니다. 저 혼자만의 성장에 그치지 않고, 다른 사람들에게도 유익한 정보를 제공하는 사람이 되고 싶습니다. 또한, 제 경험을 나누면서 누군가가 더 나은 길을 찾는 데 도움이 될 수 있기를 바랍니다. 특히 5년 후에는, 저처럼 신입 개발자.. 더보기 이전 1 2 3 4 5 다음