Dev Logs(9)
-
[ Open Source ] 오픈소스 사용자에서 기여자로 거듭나기
🌱 "개발자라면 오픈소스에 기여해보는 것이 좋아요."이 말, 한 번쯤 들어보셨을 겁니다. 저도 여러 번 들었습니다. 컨퍼런스에서, 블로그에서, 주변 개발자들한테서. 그때마다 고개를 끄덕이면서도, 정작 행동으로 옮기지는 못했어요. "내가 할 수 있을까?""어디서부터 시작해야 하지?" 이 두 가지 질문이 항상 먼저 떠올랐기 때문입니다. 오픈소스 프로젝트의 코드베이스는 방대하고, 이슈는 영어로 빼곡하고, PR을 올리는 것 자체가 어떤 심사를 받는 느낌이었거든요. 그런데 이번에는 달랐습니다. 평소 관심이 많았고, 실무에서 직접적으로 성과를 냈던 라이브러리가 하나 있었기 때문입니다. 바로 orval이었습니다. 💡 왜 orval이었는가때는 어느 날, 제가 존경하는 멋쟁이 백엔드 개발자에게 오픈소스 기여에 관한..
2026.04.09 -
[ Next.js, React.js, Tanstack-Query, Orval, Biome.js ] 사내 프론트엔드 5종 마이그레이션 feat: React2Shell
✏️ 5종 마이그레이션을 하게 된 계기마이그레이션을 하고자 마음먹게 된 계기는 바로 2025년 12월에 발견된 "React2Shell" RCE(원격 코드 실행) 취약점이 발견되었고, CVSS 점수 9.8 / CRITICAL 레벨로 방치한다면 실제 서비스에서 재산 피해까지 번질 수 있는 취약점을 보완하기 위해서 작업을 시작하게 되었습니다. 추가적인 개선 사항으로 이전에 DX를 위해 도입했던 🔗openapi-generator-cli를 활용한 api 자동 생성 시스템이 호환 확장성을 위해 필요 이상의 코드까지 포함하여 방대하게 생성하고 있는 문제가 있어, 빌드시간이 지연되는 사이드 이팩트를 가지고 있었습니다. 이를 개선하고자 Orval 라이브러리를 찾아보게 되었고, 마이그레이션 작업에 추가했습니다. 그리고 ..
2026.01.16 -
[ React: Map Marker Optimization ] GPU 가속과 Batch 처리를 활용한 지도 성능 개선기
✍🏻개요이번 프로젝트에서는 Kakao Map을 활용한 🔗로컬실록지리지 서비스를 🔗스카우트 플랫폼으로 이관 구현이 결정되어 dev서버에서 개발을 진행하면서 대량의 마커를 지도에 표시할 때 흔히 마주치는 문제로, 브라우저 성능 저하를 개선한 경험을 바탕으로 포스팅했습니다. 마커의 개수는 약 2000개로 마커를 렌더링할 때 발생하는 성능 문제를 해결했습니다. 레거시 시스템( PHP )에서는 15.3fps로 버벅이던 지도를 최적화 하여 55.7fps( 약 3.6배 향상 )로 부드럽게 동작하게 되었습니다. 🔍 레거시 시스템에서는 왜 지도 이동 시 프레임 드랍이 심했을까? 위 스크린샷은 전달 받은 PHP파일에서 직접 찾은 코드입니다.kakao maps api에서 CustomOverlay매서드를 활용하여 c..
2025.12.01 -
[ React + Vite & NginX: Gzip Compression ] 번들 사이즈 최적화로 UX향상 시키기
✏️ 개요사내 최초 in-house 서비스로 예정된 뷰티사업 관리 시스템 MVP 개발을 거듭 진행하다 문득 이왕 사내 in-house 서비스가 될 프로젝트인데 좀 더 신경 써서 최적화하고 싶다는 생각이 들었습니다. 재직 중인 회사는 시니어 개발자가 없고, 신입과 경력 3년 이하 주니어 개발자들로만 구성되어 있어 기본적으로 모든 최적화나 개발 노하우를 직접 찾아내어 공유하고 적용하지 않으면 기술의 부채가 심화되기 때문에 이를 경계하며 꾸준히 더 좋은 방향성을 가져가고자 부단히 노력해 왔던 것 같습니다. 주말 간 최적화 방법에 대해 탐색하다 보니 프론트엔드의 기술로 코드스플리팅, webp활용, preload, image lazy load 등 이미 적용한 최적화 기술들을 많이 소개 해주고 있었습니다. 그래서 ..
2025.11.22 -
[ React: PDF Generator ] 맞춤형 PDF 렌더링 성능 최적화
✏️ 개요사내에서 가장 오랫동안 유지보수/고도화를 맡고 있는 🔗창업교육 플랫폼 Scout에서 고도화 기능 추가 요청사항 중에서 사업계획서를 플랫폼 스타일의 커스텀 프레임으로 출력하고 이를 PDF로 변환하는 신규 기능이 추가되었습니다.초기 개발 완료 보고 이후에도 고객사 측에서 콘텐츠가 프레임 내에서 잘리는 현상이 반복적으로 발생하였고, 기능 담당자가 마감 내 구현을 완료하지 못하면서, 제가 해당 기능을 분석 및 재구현하는 역할로 투입되었습니다. ❓ 문제와 원인 탐색해당 문제가 수면 위로 올라오기 전까지는 타개발 업무를 진행하고 있어 몰랐지만, 대표님께서 신뢰하는(?) 저를 불러 코드 한번 분석해 보고 피드백 달라고 전달해 주셔서 자세하게 버그가 나는 케이스를 찾기 위해 가장 먼저 QA를 진행했습니다. ..
2025.11.20 -
[ Python: Async HTTP ] 사내 LLM 챗봇 서버 비동기 전환을 통한 요청 취소 및 논블로킹 구조 개선기
✏️ 갑자기 서버, 그것도 Python 서버를 개선하게 된 계기저는 프론트엔드 개발자입니다. 제가 재직중인 회사는 SI/SM 스타트 기업으로 스타트업 & SI/SM 회사의 특징으로 필요하다면, 혹은 해야한다면 응당 누군가는 반드시 기술을 구현해서 서비스를 제공해야합니다. 고객사 측에서 유지보수/고도화를 진행하고 있는 🔗LMS 플랫폼에서 작성한 사업계획서를 시장에서 가상 검증이 가능하도록 LLM을 탑재한 페르소나형 챗봇 서비스를 요구했고 고객사와 회의 중 대표님께서 기술 스택으로 확장성을 고려하면 Python이 좋겠다고 이야기 했고 이내 신입 Python개발자를 채용해주셔서 개발이 순조롭게 진행되는 듯 하였습니다. 하지만 급하게 다른 프로젝트가 생겼는데 마침 요구 스택이 Python이었고 그렇게 prod..
2025.11.15