회고록 (7) 썸네일형 리스트형 [항해플러스] 5주차 회고 - 디자인 패턴과 함수형 프로그래밍 1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)이번 과제는 컴포넌트 안에 모든 로직이 섞여 있는 상태였기 때문에, 비즈니스 로직과 UI를 분리하는 작업이 필요했다. 하지만 어디까지 로직을 분리해야 하는지, 어떤 기준으로 models/hook/component를 나눠야 하는지 명확히 판단하기가 어려웠다.특히 cart, product, coupon처럼 서로 엮여 있는 도메인들을 feature 단위로 나누는 것이 좋을지, 엔티티 중심으로 나누는 것이 좋을지 처음에는 많은 혼란이 있었다.2. 시도컴포넌트 내부 상태와 로직을 useCart, useProducts, useCoupons로 분리해 각각의 책임을 나누어 보았다.할인율 계산, 장바구니 총액 계산 같은 순수 계산 로직은 models 폴더로.. [항해플러스] 3주차 회고 - React, Beyond the Basics React, Beyond the Basics feat) React 성능 최적화 & Context 리팩토링✅ Keep (계속 유지하고 싶은 나의 방향)React.memo, useMemo, useCallback 등 리렌더링 최적화를 위한 도구들을 실제로 의도적으로 적용해본 경험.테스트 기반으로 성능 이슈를 직접 확인하고 구조를 리팩토링한 흐름. 테스트 없었으면 놓쳤을 문제들도 있었을 것 같다.유지보수와 확장성을 고려하여 기능 단위로 폴더를 나누고, 각 도메인마다 Context/Provider/hooks/UI를 분리한 구조로 설계했다.특히 useItems, useComplexForm 등 커스텀 훅으로 UI와 로직을 분리한 점이 코드 가독성이나 응집도 면에서 효과적이었던 것 같다. 이번 과제를 하며 "내가 왜 .. [항해플러스] 2주차 회고 - 프레임워크 없이 SPA 만들기 ✍️ 1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)처음으로 React 없이 가상 DOM부터 diff 알고리즘, 이벤트 위임 시스템까지 직접 구현해보는 과제를 하며 전체 렌더링 흐름에 대한 감이 잡히지 않아 막막했다.특히 createVNode → normalizeVNode → createElement → updateElement까지의 흐름이 머릿속에 명확히 정리되지 않아서 함수 하나하나를 어디에서 왜 호출하는지를 파악하는 데 시간이 오래 걸렸다.또한 이벤트 시스템을 만들면서 setupEventListeners의 등록 방식과 addEvent, removeEvent의 연결 구조, 그리고 root 기준 이벤트 위임 시 중복 등록 방지를 어떻게 처리할지도 고민이 많았다.✍️ 2. 시도흐름을 따.. [항해 플러스] 1주차 회고 - 바닐라 JS로 SPA 구조 직접 구현해보기 바닐라 JS로 SPA 구조 직접 구현해보기이번 주는 프레임워크 없이 순수 JavaScript로 SPA(Single Page Application)을 직접 구현하며라우터, 상태 관리, 이벤트 위임, 정적 호스팅 배포까지 웹앱의 핵심 동작을 체감해본 한 주였다.✅ Keep – 이번 주에 잘한 점 / 계속 유지하고 싶은 시도React 없이 상태 기반 렌더링 구조를 직접 구성해보며 프레임워크가 감춰주던 내부 동작 원리를 이해함createRouter()를 직접 구현해 라우팅 흐름의 본질을 체험했고, 라우트 등록 시 guard, redirect, render로 역할을 분리해 설계함**기능 중심 폴더 구조(FSD)**를 적용하여 features, app, shared로 각 폴더의 책임을 명확히 나눔페이지 전환 등의 .. 2024 회고 2024는 이미 끝났지만 그래도 아직 1월 첫째주니까.. ^-^ 내 일기장에 이미 2024년 회고 글을 마치긴 했지만 개발블로그에도 한번 남겨볼까한다. 사실 쓰지 말까했다. 개발 블로그에는 개발적으로 내가 이뤄낸 뭔가 대단한 게 있어야만 써야할 것 같은 느낌이 들어서... 그래도 무언가를 꼭 이뤄내야만 회고글을 쓸 수 있는 것은 아니기에 솔직하게 써보려고 한다! # 회사에서 올해 초 시작했던 디지털 교과서 사업 올해 초에 회사에서 디지털 교과서 개발 사업을 시작하면서 동시에 새로운 프로젝트를 위한 조직 개편도 이루어졌다. 이 시기는 나에게 일적으로 가장 힘들었던 시기 중 하나였다. 이전에 경험해보지 못한 성격의 프로젝트였기에 이해하는 데 시간이 꽤 걸렸고, 개발 작업보다는 회의와 플래닝에 많은 시.. 사이드프로젝트, Quokka Letter 회고 기간: 2023.11 ~ 2024-02 쿼카레터 사이드프로젝트를 팀원들과 함께 진행하며 느낀 점에 대해 회고 하는 글. 전적으로 팀원, 팀과 무관한 저의 관점에서 작성된 글입니다. 사이드 프로젝트를 시작하게 된 이유? 개발 하는 게 더 재미있었으면 좋겠어요. 작년 6월 즈음으로 거슬러 올라가 함께 개발 스터디를 했던 근휘님께서 사이드 프로젝트를 제안하셨다. 당시 회사에 입사한 지 막 7-8개월이 되는 시기에, 처음에 개발을 배우기 시작했을 때의 설렘과 새로운 것을 계속 배우고자 하는 의지가 많이 사라진 상태였다. 꾸준히 개발에 대한 관심을 가지고 공부를 하고 싶은 마음과는 달리 퇴근을 하면 바로 핸드폰을 하며 의미없이 시간을 배우고 잠을 자는 게 하루 일과였다. 점점 내가 '그냥 해야되니까' 개발을 하.. 2023 회고 벌써 연말이다. 한 해가 지나갈수록 시간이 빨라짐을 체감한다. 올 초까지만 해도 회사에서 온보딩 한다고 애쓰던 게 엊그제 같은데 벌써 입사한 지 일 년 넘었다. 연말인 만큼 한 해를 돌아보고 내가 해온 것들 아쉬웠던 점이나 잘했던 점들 쭈욱 정리해보고자 회고글을 써보고자 한다. 근데 막상 쓰려고 하니까 정리가 잘 안된다. 올해 내가 뭘 했지? 라는 생각부터 든다... 개발블로그인만큼 개발자로서의 한 해로 정리를 해보고 싶다. 잊혀진 올해 기억 조각들을 맞춰보고자 월 별로 있었던 일들이나 스쳐지나갔던 단상들을 적어보고자 한다-! 1월 ~ 3월기억하기로는 1월이 되어 회사에서 온보딩 기간이 끝났다. 생각보다 낯가림이 심해서 회사에 적응을 하는 데 오래 걸렸는데, 온보딩 기간이 끝난 것만으로도 이제서야 정.. 이전 1 다음