Builder.shin
전체
1263개의 게시물
React
React Portal을 활용한 모달 컴포넌트 구현
프로젝트에서 모달 컴포넌트를 구현하면서 z-index 문제에 부딪혔다. React Portal을 사용해 DOM 계층 구조 밖에서 모달을 렌더링하는 방식으로 해결했다.
2020년 8월 11일
React
React 프로젝트에서 Immer로 불변성 관리 개선하기
재택근무로 전환되면서 기존 프로젝트 리팩토링 시간이 생겼다. 복잡한 상태 업데이트 로직에서 불변성 유지 코드가 가독성을 해치고 있어 Immer를 도입했다. 도입 과정과 실제 개선 사례를 정리했다.
2020년 8월 10일
Python
Python asyncio로 API 요청 병렬 처리 성능 개선
레거시 배치 스크립트가 순차 처리로 40분씩 걸리던 문제를 asyncio로 해결했다. 동시 요청 수 제한과 에러 핸들링이 관건이었다.
2020년 8월 8일
Golang
Go 채널 버퍼 크기 선택 시행착오
API 서버에서 비동기 로깅 처리 시 채널 버퍼 크기를 잘못 설정해 고루틴이 블로킹되는 문제가 발생했다. 프로파일링으로 원인을 찾고 적절한 버퍼 크기를 산정한 과정을 정리했다.
2020년 8월 4일
TypeScript
타입스크립트 Union 타입 좁히기 패턴
API 응답 처리 중 Union 타입의 타입 가드를 제대로 활용하지 못해 any로 도배하게 된 코드를 리팩토링했다. discriminated union 패턴을 적용해 타입 안정성을 확보한 과정을 정리한다.
2020년 8월 2일
React
React 17 RC에서 달라진 이벤트 위임 방식
React 17 RC가 발표되면서 이벤트 위임 방식이 document에서 root DOM 컨테이너로 변경되었다. 레거시 jQuery 코드와 혼용하는 프로젝트에서 발생했던 이슈가 해결될 것으로 보인다.
2020년 7월 24일
CSS
Tailwind CSS 도입 후 3개월 회고
프로젝트에 Tailwind CSS를 도입한 지 3개월이 지났다. Utility-first 방식이 낯설었지만, CSS 파일 관리 부담이 크게 줄었다. 다만 클래스명이 길어지는 문제는 여전히 고민거리다.
2020년 7월 22일
CSS
Tailwind CSS 도입 후 3개월 회고
유틸리티 우선 CSS 프레임워크인 Tailwind CSS를 프로젝트에 도입한 지 3개월이 지났다. 초반의 거부감을 넘어서며 느낀 장단점과 팀 내 적응 과정을 정리했다.
2020년 7월 19일
Python
Python 데코레이터로 API 응답 캐싱 구현하기
외부 API 호출이 많아지면서 응답 시간이 늘어나는 문제가 있었다. 데코레이터 패턴을 사용해 Redis 기반 캐싱을 구현했고, 평균 응답 시간을 70% 단축시켰다.
2020년 7월 18일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리 최적화
재택근무 환경에서 100GB 규모의 로그 파일을 처리해야 하는 상황이 발생했다. 기존 방식으로는 메모리 부족 오류가 발생해 Node.js 스트림을 활용한 처리 방식으로 전환했다.
2020년 7월 17일
Previous
1
More pages
73
74
75
76
77
More pages
127
Next
카테고리
Builder.shin