쏘카 디자인 시스템 2.0 개발기 2편: 기술로 굴리기(웹)
목차 개요 컴포넌트 아키텍처 설계 목적 Hook과 객체 합성 컴포넌트와 명령형 API 패키지 전략 트리쉐이킹 AI 활용 Instructions Figma MCP with LLM 후기 공식문서 1. 개요 안녕하세요 쏘카 개발자 아놀드입니다. 이 글은 쏘카 디자인 시스템 2.0 개발기 2편으로, 컴포넌트 아키텍처/패키지 전략/LLM(Large Language Model) 활용에 대해 작성하였습니다. 1편에서는 시스템 설계, 운영 프로세스, Figm
AI/MLArchitectureFrontendTools
전체 읽기 →쏘카 디자인 시스템 2.0 개발기 1편: 시스템으로 굴리기(웹)
목차 개요 시스템의 정의와 범위 시스템 설계 설계 목적 Figma Plugin Figma Code Connect 운영 프로세스 운영 원칙 릴리스와 피드백 루프 직군 합의와 품질 관리 후기 1. 개요 안녕하세요 쏘카 개발자 아놀드입니다. 쏘카에서 장기간의 프로젝트인 쏘카프레임 2.0 개발에 참여하며 고민하고 개발하였던 이야기를 해보려 합니다. 이 글에서 쏘카프레임은 쏘카의 사내 디자인 시스템이며 프론트엔드 관점의 시스템 설계/연동/운영에 관해 적
FrontendToolsUX/UI
전체 읽기 →팀 레거시 개선 (3) 쏘카존 관리 시스템 - 6년간 진행된 팀 레거시 코드 및 문서 개선기
목차 소개 개선 목적 테스트 코드 0%에서 시작하다 신뢰 기반 이원화 — 기술 얘기인 척하는 조직 문화 얘기 서비스를 멈추지 않고 테이블을 고치는 법 TL이 되고 시작한 문서화 6.1 Postman 팀 워크스페이스 6.2 10개 시스템 ERD 작성 마치며 1. 소개 안녕하세요. 쏘카 자산개발(Asset)팀 백엔드 개발자 원스톤입니다. 저는 자산개발팀에서 존 관리 시스템을 포함한 다수의 내부 시스템을 담당하며, 쏘카 존과 차량 도메인을 개발하고
BackendCultureDatabaseDevOpsTesting
전체 읽기 →Node.js 컨테이너, 왜 깔끔하게 안 죽을까? (feat. Graceful shutdown)
그레이스풀 셧다운(Graceful Shutdown)이란 서버가 종료 요청을 받았을 때, 진행 중인 작업을 안전하게 마무리하고 리소스를 정리한 뒤 종료하는 방식입니다. 이 글에서는 Node.js 컨테이너 환경에서 graceful shutdown이 제대로 동작하지 않는 원인을 분석하고, Linux PID 1 메커니즘과 이벤트 루프 관점에서 해결 방법을 다룹니다. 배치 컨슈머 앱을 운영하다 보면 “분명 종료 시그널 넣었는데 왜 안 죽지?”라는 상황을
BackendDevOpsInfra
전체 읽기 →쏘카프레임 - 블루투스 모듈
쏘카는 어떻게 앱으로 차 문을 열까 쏘카는 앱에서 다음과 같은 기능들을 제공합니다. 쏘카 차량 제어 (문 열기 / 문 잠금 / 비상등 켜기 / 경적 울리기 등) 🚙 일레클 제어 (잠금 / 해제 / 반납 등) ⚡️ 따릉이 제어 (잠금 / 해제 / 반납 등) 🚲 이러한 것들이 가능한 이유는 각 이동수단 내부에 데이터 송수신이 가능한 단말이 숨어있기 때문입니다. 이 단말들이 앱과 데이터를 송수신하는 방법에는 서버를 통한 방법, 블루투스를 통한 방
BackendMobileTools
전체 읽기 →쏘카프레임 - 앱 프레임워크와 개발자 경험
안녕하세요? 모바일 개발팀입니다 쏘카 앱을 개발하는 모바일 개발자 아릉입니다. 쏘카는 2019년경 앱의 모든 코드를 새로 만드는 개편을 했습니다. 그때 이후로 지금까지 이어온 개발 철학과 그 실행에 대해서 소개하고, 또 이후 여러 글을 통해 그 과정에서 배우게 된 것들에 관해서도 이야기하려고 합니다. 생산성 모든 사람이 자유롭고 행복하게 이동하는 세상을 만듭니다. 이것은 쏘카를 표현하는 문구입니다. 우리 팀은 이 비전을 실현하는 과정에서 개발팀
MobileToolsUX/UI
전체 읽기 →FE Core팀의 CI 속도전: 캐시 전략을 활용한 병렬 빌드
목차 개요 기존 파이프라인 구조와 한계 Monorepo 환경의 CI 요구사항 빌드 시간 및 신뢰성 이슈 개선 전략 및 구현 Runner 사양 개선 병렬 빌드(Matrix) 도입 캐시를 활용한 빌드 최적화 빌드 검증 단계 분리 결과 후기 1. 개요 안녕하세요 FE Core팀 아놀드입니다. FE Core팀은 최근 배포 빈도와 변경사항이 많은 monorepo 환경을 관리하며, 효율적이고 안정적인 CI 파이프라인 구축을 목표로 다양한 전략을 도입하였습
BackendDevOps
전체 읽기 →자동화는 처음이라: 실험과 실패, 그리고 성장
1. QA 자동화의 필요성 QA는 프로젝트에 참여하면 PM, 디자이너, 개발자뿐만 아니라 테스터인 외주 인력과 함께 다양한 유형(스모크 테스트, 기능 테스트, 리그레션 테스트, 확인 테스트 등)의 테스트를 진행하고 sign off를 하게 됩니다. 최근 QA팀은 외주 인력을 활용한 수동 테스트에 의존하여 많은 리소스를 소모하고 있었습니다. 이는 테스트 실행 속도가 느리고, 인력 관리의 어려움으로 인해 효율적인 테스트 환경을 구축하는 데 한계가 있
DevOpsTestingTools
전체 읽기 →로그 파이프라인 개선기 - 기존 파이프라인 문제 정의 및 해결 방안 적용
1. 들어가며 안녕하세요. 쏘카 데이터엔지니어링팀 삐약, 루디입니다. 내용을 시작하기에 앞서, 저희 팀의 업무와 역할에 대해 간략히 소개해 드리겠습니다. 데이터엔지니어링팀은 신뢰할 수 있는 데이터를 쏘카 구성원들이 안정적으로 활용할 수 있도록 기반을 마련하고, 이를 실제 비즈니스에 적용할 수 있는 서비스를 개발하며 환경을 구축하고 있습니다. 데이터 마트 관리, 데이터 인프라 구축, 그리고 데이터 제품(Data as a Product) 개발 등
BackendDatabaseInfraTools
전체 읽기 →Data Product (3) 데이터로 실제 운영 효율화가 가능할까?
들어가며 날씨 기반 세차 운영 최적화 2.1 기존 세차 오퍼레이션과 개선 필요성 2.2 날씨 데이터 수집 데이터 분석 및 운영 적용 3.1 분석을 위한 데이터 상세 정의 3.2 날씨와 차량 오염의 상관관계 분석 3.3 운영 적용을 위한 시뮬레이션 운영 적용 결과 및 인사이트 4.1 날씨 기반 세차 운영 정책 적용 결과 4.2 맥락 해석이 필요한 데이터의 활용 1. 들어가며 차를 가진 분이라면 세차한 직후에 비가 내려 속상했던 적이 한 번쯤 있으
AI/MLDatabaseTools
전체 읽기 →사용자에서 데이터 엔지니어로, 쏘카 온보딩 회고
안녕하세요! 24년 9월에 쏘카 데이터엔지니어링팀에 입사한 베넷입니다. 이번 글에서는 제가 쏘카 데이터 엔지니어링팀에 합류하게 된 계기부터, 입사 후 적응 과정, 그리고 프로젝트를 통해 느낀 점들을 공유하려고 합니다. 제가 몸담은 팀의 매력과 기술적 강점을 소개해 드리겠습니다. 다음과 같은 내용에 관심이 있으신 분들이라면 이 글이 유용한 참고가 되기를 바랍니다. 데이터 엔지니어링팀의 업무와 기술 스택에 관심이 있는 분 쏘카 데이터 엔지니어링팀의
AI/MLBackendCareerDatabase
전체 읽기 →CLI로 환경변수 관리하기
목차 시작하며 문제점들 2.1 환경변수 일원화 2.2 환경 변수를 만들기까지의 과정 쉘 스크립트를 만들어보자 CLI를 만들어보자 마무리 1. 시작하며 안녕하세요 common resource 팀의 카인입니다. common resource 팀은 개발자들의 일상적인 작업을 돕는 여러 도구들을 지속적으로 개발하고 있습니다. 우리는 프로젝트를 진행하면서 환경 변수를 다루는 상황에 직면하게 됩니다. 지금까지 쏘카의 프론트엔드 조직에서는 AWS Amplif
BackendDevOpsTools
전체 읽기 →쏘카 프론트엔드 모노레포 - Part1. Code Generator로 프로젝트 세팅 자동화하기
목차 시작하며 규모가 커지면서 생기는 문제점들 2.1 계속해서 생겨나는 중복 코드들 2.2 멀티레포 환경에서의 공통 라이브러리 업데이트 일관성을 위한 모노레포 도입과 고민 프로젝트 세팅 비용 단축하기 4.1 기존 멀티레포 환경에서의 프로젝트 세팅 4.2 모노레포 환경 구성 세팅하기 4.3 Code Generator를 활용한 프로젝트 세팅 4.4 결론 마치며 1. 시작하며 해당 글은 다음과 같은 분들에게 도움이 됩니다. 모노레포 환경으로 이관/구
ArchitectureFrontendTools
전체 읽기 →애셋팀 레거시 개선 (2) 쏘카존 관리 시스템 - 차량재배치 리팩터링
목차 소개 개선 목적 차량재배치 설명 카프카 스프링으로 변경된 아키텍처 및 코드 설명 4.1. 기존 코드 설명 4.2. 책임분리 테스트코드 작성 리팩터링과 전략패턴 마무리 1. 소개 안녕하세요. 쏘카 서비스 엔지니어링본부 애셋(Asset)팀 백엔드 개발자 원스톤입니다. 저는 쏘카 존과 차량 도메인을 개발하고 있습니다. 지속 성장하는 소프트웨어를 만들기 위한 코드의 품질 개선 노력들을 글로 풀어내려고 합니다. 먼저 차량재배치의 레거시 개선 작업이
ArchitectureBackendTestingTools
전체 읽기 →누가 내 쿠키를 먹었을까?
누가 내 쿠키를 먹었을까? 왜 iOS 웹뷰의 세션쿠키가 사라졌을까? 안녕하세요. 쏘카에서 프론트엔드 개발을 담당하고 있는 리우입니다. iOS 웹뷰에서만 세션쿠키가 갑자기 소실되는 현상을 마주한 적이 있나요? 해당 문제가 무엇이고, 왜 발생하고, 어떻게 해결했는지 실제로 겪은 사례를 통해 설명드리겠습니다. 여기서 세션쿠키는 Expires 또는 Max-Age가 없는 쿠키를 의미합니다. 세션쿠키는 브라우저를 닫는 순간 삭제됩니다. 개발자 도구→애플리
FrontendMobileSecurity
전체 읽기 →FMS(Fleet Management System) 주행이벤트 파이프라인 개선기
안녕하세요. FMS 엔지니어링팀의 렉스, 마르코입니다. 저희 팀은 쏘카 외 차량 관제를 위한 PoC(Proof of Concept)를 진행했으며, 그 일환으로 주행 이벤트 탐지 파이프라인을 구축했습니다. 이 과정에서 다양한 문제를 해결하며 파이프라인을 지속적으로 개선해왔습니다. 다음과 같은 분들이 읽으면 좋습니다. EDA(Event Driven Architecture)에 관심있는 개발자 대량의 IoT 트래픽을 처리해야하는 개발자 이 글을 읽는
AI/MLBackendInfra
전체 읽기 →