🚀 일일일, IT 제품 팀을 위한 감도 높은 정보 큐레이션
>> 오늘의 브리핑 서비스 더보기 (30일 무료 체험 이벤트 진행중)
>> 개발 추천 콘텐츠 공유방 (대화X, 참여코드:oneone1)
🚀 일일일, 제품 팀을 위한 프리미엄 채용 서비스
✔ 데이터가 쌓이며 검색 성능이 저하되자 SQL 쿼리 문제를 해결해야 했습니다.
✔ 검색용 테이블을 생성하여 인덱스를 구성하였습니다.
✔ MySQL Trigger를 이용하여 데이터 적재 방법을 개선하였습니다.
✔ 이로 인해 쿼리 결과 소요 시간이 3분에서 2초로 개선되었고, 슬로우 쿼리 알람도 울리지 않게 되었습니다.
https://oneoneone.kr/content/aa054c97?utm_source=velog
✔ 리액트 컴포넌트를 IoC 패턴으로 확장하여 컨트롤하는 방법에 대해 알아봅니다.
✔ Render Props 패턴은 컴포넌트의 렌더링 함수를 프로퍼티로 전달하여 유연한 사용을 가능하게 합니다.
✔ 합성 컴포넌트 패턴은 Context/Provider를 사용하여 여러 종류의 컴포넌트가 하나의 로직을 공유할 수 있게 합니다.
✔ 제어 컴포넌트 패턴은 외부에서 상태 값을 컨트롤하는 방법으로, Props Getter 패턴과 State Reducer 패턴을 사용하여 컴포넌트를 유연하게 컨트롤할 수 있습니다.
✔ 다양한 IoC 패턴을 이해하고 적용하는 것이 중요하며, 어떤 패턴이 무조건 좋다고 단언하기는 어렵습니다.
https://oneoneone.kr/content/e58026dd?utm_source=velog
✔ EKS Blue-Green 업데이트 이후 Karpenter 도입 계기를 설명합니다.
✔ Karpenter는 노드 스케일링을 자동으로 처리하며, 노드 프로비저닝 속도가 빠릅니다.
✔ 다양한 인스턴스 타입을 활용하여 비용 최적화를 이루고, Bin-Packing 전략을 통해 리소스를 효율적으로 활용합니다.
✔ 도입한 결과, 노드 사용 수량이 줄어들고 EC2 비용을 절감하며, 빠른 프로비저닝과 비용 절감효과를 얻었습니다.
✔ 도입한 경험을 통해 안정성이 보장되었으며, 최신 버전을 구축하는 것을 권장합니다.
https://oneoneone.kr/content/24c38a67?utm_source=velog
✔ AWS Lambda를 활용한 짧은 주기 배치 구현 방법을 다룹니다.
✔ Lambda SnapStart 기능을 사용하여 Java의 초기 오버헤드를 해결합니다.
✔ Lambda는 비용 절감, 동시성 스케일링, 관리 부담 절감의 장점이 있습니다.
✔ 짧은 주기 배치에 적합한 아키텍처를 구성하여 빠른 응답을 제공합니다.
✔ 배치의 DB Connection Pool 사용에 대한 고민과 해결 방안을 제시합니다.
https://oneoneone.kr/content/cbc6ff42?utm_source=velog
✔ 브랜디 데이터 분석가는 RFM 모델을 통해 고객 분석을 진행하였습니다.
✔ RFM 모델은 최근성, 빈도, 금액을 기준으로 고객을 분석합니다.
✔ 고객의 구매 행동과 앱 내 활동 데이터를 함께 분석하여 효율성을 높입니다.
✔ 고객군을 정의하고 VIP 고객 이탈 방지 전략을 수립합니다.
✔ 클러스터링을 통해 셀러와 고객의 관계를 분석하여 고객 유지 방안을 마련합니다.
https://oneoneone.kr/content/7892db49?utm_source=velog
✔ 우아한 종료는 시스템, 응용 프로그램 또는 서비스를 완료하고 리소스를 제대로 해제하여 데이터 손실을 최소화하는 방식으로 종료하는 과정입니다.
✔ 서버를 소중히 여기는 전통적인 방식에서 벗어나 '소'로 취급하여 효율적인 오토스케일링과 동적 리소스 관리를 가능케 하는 현대적 인프라 접근 방식과도 일치합니다.
✔ 종료 신호를 처리하고 진행 중인 작업을 추적하며 완료까지 시간을 허용함으로써 서비스 품질을 유지할 수 있습니다.
✔ 우아한 종료는 데이터 손실과 서비스 중단을 방지할 뿐 아니라 지속적인 전달을 보장하여 시스템 신뢰성을 향상시키는 강력한 기술입니다.
https://oneoneone.kr/content/f244e5f2?utm_source=velog
✔ Pinterest의 데이터 사용자들을 돕기 위해 Text-to-SQL 기능을 개발하였습니다.
✔ Querybook을 통해 대부분의 데이터 분석이 이루어지며, Text-to-SQL도 이곳에서 구현되었습니다.
✔ 첫 번째 버전은 LLM을 활용한 간단한 Text-to-SQL 솔루션을 포함하고 있었으며, 두 번째 버전에서는 RAG를 통해 테이블 선택을 개선하였습니다.
✔ Text-to-SQL의 향후 발전 방향으로는 NLP 테이블 검색, 메타데이터 향상, 유사성 검색 및 점수 매기기 전략 개선, 쿼리 유효성 검사, 사용자 피드백 수집 등이 있습니다.
https://oneoneone.kr/content/f1a3339d?utm_source=velog
✔ 프론트엔드 개발자가 transpiler를 활용하여 로깅 과정을 개선한 사례를 소개합니다.
✔ Transpiler는 코드를 변환하는 도구로, Babel과 SWC가 대표적입니다.
✔ 토스뱅크는 transpiler를 사용하여 클릭 로깅을 자동화하고, 플러그인을 만들어 활용했습니다.
✔ 이를 통해 개발자는 비즈니스 로직에 집중하고, 일관된 로깅 결과를 얻을 수 있게 되었습니다.
✔ 다양한 도구를 창의적으로 활용하여 문제를 예상보다 쉽게 해결할 수 있습니다.
https://oneoneone.kr/content/35a538b8?utm_source=velog
✔ 넥슨코리아 인텔리전스랩스에서 웹 테스트 자동화를 소개합니다.
✔ 웹 테스트 자동화 프로젝트의 배경, 목표, 협업 과정, 성과, 과제를 소개합니다.
✔ 프로젝트는 목표를 달성하며 QA와 개발자 간의 협업을 강화했습니다.
✔ 테스트 자동화로 테스트 시간을 단축하고, 불안정한 테스트 문제를 해결했습니다.
https://oneoneone.kr/content/80c0442f?utm_source=velog
✔ Context API는 전역 상태 관리에 사용되는데, 사용하기에는 까다로운 점이 많다.
✔ 값이 바뀔 때마다 불필요한 리렌더링이 발생하고, 일부 프로퍼티의 값이 바뀌지 않아도 리렌더링이 일어난다.
✔ 따라서, Context API를 사용할 때는 값이 바뀔 수 있는 object를 사용할 경우 컨텍스트를 쪼개서 사용해야 한다.
✔ 이러한 이유로, 대부분의 프로젝트는 외부 라이브러리인 Recoil이나 Redux, zustand 등을 사용한다.
✔ 전역 상태 관리 라이브러리를 직접 구현하면서 전역 상태를 어디에 어떻게 담고 관리하고, 상태가 바뀔 때 어떻게 리렌더링할지에 대해 고찰하고 구현했다.
https://oneoneone.kr/content/56d33a32?utm_source=velog
🚀 IT 제품 팀을 위한 오늘의 브리핑
✔ 매일 아침 1,600개 이상의 출처에서 중요한 정보만 정리해서 전달드려요.
✔ 업무를 시작하기 전에 커리어 성장을 위한 새로운 영감과 인사이트를 얻어가세요.
🚀 인재풀 등록 시 커리어 치트시트 제공
✔ 커리어 치트시트는 이직을 준비하는 인재 분들을 돕기 위해 제작되었습니다.
✔ 다른 곳에서는 쉽게 찾기 힘든 양질의 정보들이 지속적으로 업데이트될 예정입니다.
✔ 인재풀 등록 완료 시 7일 이내에 권한을 추가해 드립니다.