지금 테스트 코드가 더더욱 중요한 이유
개인적으로 최근 테스트 코드의 가치가 높아지고 있다고 생각한다. 작성 비용도 저렴할 뿐만 아니라 잘 작성된 테스트 코드 안전망 이 있을 때 에이전틱 프로그래밍으로 할 수 있는 작업의 수준이 기하급수적으로 올라간다고 생각하기 때문이다. 회사에서 Exem Table이라는 리액트 그리드 라이브러리를 관리하고 있고, 테스트 코드를 공들여서 작성해 왔다. Vites…
개인적으로 최근 테스트 코드의 가치가 높아지고 있다고 생각한다. 작성 비용도 저렴할 뿐만 아니라 잘 작성된 테스트 코드 안전망 이 있을 때 에이전틱 프로그래밍으로 할 수 있는 작업의 수준이 기하급수적으로 올라간다고 생각하기 때문이다. 회사에서 Exem Table이라는 리액트 그리드 라이브러리를 관리하고 있고, 테스트 코드를 공들여서 작성해 왔다. Vites…
https://product.kyobobook.co.kr/detail/S000200037580 스틱!(15주년 기념판) - 교보문고 “다른 수식은 필요 없다. 레전드라는 말밖엔!” 불멸의 메시지를 창조하는 방법에 관한 우리 시대 최고의 비즈니스 바이블 product.kyobobook.co.kr 세상에는 셀 수 없이 많은 메시지가 있다. 광고, 슬로건, 캠페…
회사에서 Exem Table 이라는 데이터 그리드 컴포넌트를 관리하고 있다. 원래 내가 만들던 컴포넌트는 아니었는데 2025년 6월쯤 자연스럽게(?) 인수인계를 받았다. 처음 맡았을 때 한 차례 크게 손봤다. 그때의 이야기는 TanStack Table 기반의 테이블 컴포넌트 개선기 에 적었다. 이후에는 기능을 추가하고 버그를 고치는 정도의 작업만 이어졌다.…
최근 AI로 개발을 하며 생긴 고민이 있다. 그럴듯한 성과는 나오는데 이런 식으로 개발해도 괜찮을까? 하는 고민이다. 빠르게만 개발하다 작성하는 코드에 대한 이해없이 회색지대가 늘어만 가고, 도메인데 대한 지식도 개발자로서의 성장도 모두 제자리에 멈춘듯한 느낌을 받는다. 최근에 피그마 기획서의 한 문장도 읽지 않고 냅다 AI에게 던지며 만들어줘라고 하는 내…
https://product.kyobobook.co.kr/detail/S000000696161 제로 투 원(10주년 기념판) - 교보문고 “경쟁하지 말고 독점하라” 페이팔 창업자이자 팰런티어 회장 피터 틸이 직접 쓴 유일한 책! 전 세계 경영 리더와 스타트업 창업자들의 필독서 《제로 투 원》의 10주년 기념판 출시! product.kyobobook.co.k…
최근 우혁님 이 작성해주신 Toss Frontend Fundamentals 모의고사 후기 글 을 봤다. 글에서 소개해주신 컴포넌트의 "단일 책임" 경계, 어떻게 나누시나요? 라는 제목의 디스커션을 읽는데 아래와 같은 고민을 하게 되었다. Render Props 패턴은 무엇을 해결하는 패턴일까? 커스텀 훅 기반의 추상화와 컴포넌트 기반의 추상화 언제 어떤 추…
회사에서는 현재 전역 상태 관리 도구로 Zustand 를 사용하고 있다. 프로젝트를 진행하다 보면 왜 여기서 store 를 사용했지? 하는 의문을 가지게 되는 경우가 많다. 개인적으로 리액트 앱에서 전역 스토어가 필요한 경우가 극히 드물다고 생각한다. Store 보다 Context API를 선호하는 이유 나는 대부분의 경우 Context API가 Zusta…
회사에서는 Tanstack Table 을 사용해 테이블 컴포넌트를 구현해 사용하고 있다. 다만 최근에 이 컴포넌트를 개선하는 작업을 진행했다. 2달 정도의 시간을 투자해 진행했고, 과정에서 600개 가량의 테스트를 작성했다. 앞으로도 다양한 테스트를 추가하며 안전성을 높일 생각이다. 기존 테이블의 문제점은 아래와 같았다: 1. <table> 태그 사용으로…
최근 리팩토링과 관련된 작업을 많이 진행했다. 이 작업을 진행하며 좋은 코드에 대한 고민을 많이 하게 되었고, 공부도 많이 했다. 클린코드에 관해 공부하다 보면 가독성, SOLID 원칙, 응집도, 결합도 등의 단어를 많이 듣게 된다. 개인적으로 이 단어들 대부분은 처음 듣고 알았을 때 직관적으로 다가오지 않았다. 이 글에서는 응집도, 결합도, 추상화의 관점…
취준생 시절, 디자인 시스템을 구현하는 프로젝트를 여러번 진행했다. 처음에는 '그저 공통 컴포넌트를 만드는 일'이라 생각했다. 디자인 시스템이라는 단어가 주는 무게감이 있었지만, 솔직히 그때는 디자인 시스템에 대해 긍정적인 감정을 느낀 적이 거의 없었다. 코드 구현에만 급급했고, 디자이너의 관점을 제대로 이해하려 하지 않았으며, 소통보다는 '내 방식대로'…
React 개발자라면 누구나 한 번쯤은 Cotext API 를 사용해 봤을 것이다. 하지만 많은 개발자들이 Context API 를 단순히 상태 관리 도구로 생각하고 있는 경우가 많다. 오늘은 이에 대해 얘기하고, Context API의 진짜 목적과 내부 구현 을 파헤쳐 보려 한다. Context API란 무엇일까? 나는 Context API가 상태 관리…
createPortal은 어떻게 동작할까? createPortal 의 주요 특징은 다음과 같다: Portal 을 통핸 렌더링된 컴포넌트는 DOM 상에서는 다른 위치에 있더라도, React 트리에서는 원래 위치의 컨텍스트와 이벤트 버블링을 유지한다. 부모 컴포넌트의 스타일링이나 오버레이의 영향을 받지 않고 독립적으로 렌더링할 수 있다. createPortal…
최근 회사에서 차세대 프로젝트를 진행하고 있다. 그러던 중 회사 동료가 이런 질문을 했다. 이전에도 Tanstack Query 를 사용하며 이러한 문제를 겪었고, 당시에 내가 생각했던 문제의 원인과 해결책을 공유했다. 나는 use 훅을 보고 useSuspenseQuery 내부적으로 use 를 쓴다고 혼자 멋대로 생각 했다. 회사에 재직해 비즈니스를 다루는…