Golang으로 프로그램을 개발하다 보면, 어느 순간 GC(Garbage Collector)가 성능의 짐이 됩니다. 알아서 메모리를 관리해 줬던 고마운 GC가, CPU 자원 소모량을 점차 늘려가며 로직에 부담을 주게 되는 것입니다. 이제부터는 인터넷 여기저기를 찾아가며 Garbage C…
안녕하세요! 커뮤니티실 그룹 플랫폼팀의 서버 개발자 하이디(Heidi)예요🌼 저는 동네에서 일어나는 다양한 온·오프라인 활동을 연결하는 ‘모임’ 서비스를 만들어 나가고 있어요. 커뮤니티실은 사용자에게 연결의 가치를 전하기 위해 도전적이고 다양한 기능들을 빠르게 테스트하는 조직이에요. 이…
요기요 채널링 서비스란? 요기요 앱 외에 다른 플랫폼을 통해 요기요 주문을 해보신 적 있나요? 아마 많은 분들이 카카오톡, Gmarket, 또는 비플페이를 통해 요기요 서비스를 이용해 보셨을 것입니다. 이를 ‘채널링 사업’이라고 하는데요. 요기요 앱이 아닌 다른 채널을 통해 요기요 주문…
웹 애플리케이션 페이지를 패키지로 개발해 본 경험 공유 웹 애플리케이션의 일부 페이지를 다른 레포지토리에서 개발하고 적용해 본 경험이 있으신가요? Module Federation이나 iframe 활용 등 여러 방법이 생각나실 텐데요. 이 글에서는 배민 사장님들께 제공되는 서비스인 배민…
보이스피싱 애플리케이션 분석 1부 들어가며 안녕하세요. NHN Cloud 서비스보안팀 지우중입니다. 처음 기술 공유 글을 맡은지라 어떤 주제로 작성할까 많은 고민을 하였습니다. 때마침 지난 설 연휴에 고향에 내려갔을 때 친척분이 보이스피싱 피해를 입었다는 소식을 접하였습니다. 그로 인해…
들어가며 안녕하세요. VOOM Server Unit에서 LINE VOOM 서비스를 개발하고 있는 서용준입니다. LINE VOOM 서비스는 메인 콘텐츠인 포스트를 저장하기 위해 MySQL과 Cassandra를 사용하고 있습니다. 앞서 신홍중 님께서 개발자가 손수 대규모 Cassandra를…
안녕하세요, 저는 카카오뱅크의 신뢰성엔지니어링팀에서 고객경험 향상을 목표로 서비스 안전성을 높이기 위한 툴을 연구하고 개발하는 Locke입니다. 카카오뱅크는 클라우드와 온프레미스(On-Prem) 환경을 통해 서비스를 제공하고 있습니다. 온프레미스로부터 클라우드까지의 확장 과정에서 다양한…
JPA에서 아이디를 자동증가 값으로 사용 시 하이버네이트의 @NaturalId 사용해 보기 DB에서 기본키를 자동증가 값으로 설정하여 사용 시 운영 환경과 베타 환경의 아이디값이 일치하지 않을 때, @Id 를 선언하지 않은 필드를@Id 를 선언한 필드와 유사하게 동작하게 하는 하이버네이…
네이버 통합 검색의 웹 성능 - 모니터링과 성능 개선 - 등록일 - 2024.04.30 - | - 코멘트 - 7855 "네이버 통합 검색의 웹 성능" 시리즈의 첫 번째 글인 "네이버 통합 검색의 웹 성능 - 데이터 수집과 시각화"에서는 네이버 통합 검색의 웹 성능 측정을 위한 데이터를…
들어가며 안녕하세요. Technical Content Strategy 팀 손근입니다. 저희 팀은 지난 2월 22일 일본 Dev Content 팀과 함께 사내 임직원을 대상으로 'Technical Documentation Day'라는 온라인 행사를 개최했습니다. 이 행사는 재택 근무를 기…
NHN Cloud Pipeline을 이용한 CD 파이프라인 구성하기! 1. Overview 배포 자동화는 소프트웨어 개발과 운영에서 중요한 부분을 차지합니다. 자동화된 배포 방식은 사람의 실수를 없애고, 빠른 주기로 소프트웨어 개발과 지속적 배포를 가능하게 하며, 팀의 생산성을 올리는…
안녕하세요. 인프랩의 향로입니다. 저희 인프랩 개발팀은 현재 백엔드, 프론트엔드, 모바일 앱, 데브옵스 파트로 나뉘어져 있습니다. 각각의 개발 파트가 어떻게 일 하는지, 어떤 사람과 함께 하고 싶어하는지 등을 소개드리려 합니다. 세 번째로 모바일 앱 개발 파트를 소개드리겠습니다. 인프랩…
안녕하세요. 인프랩의 향로입니다. 저희 인프랩 개발팀은 현재 백엔드, 프론트엔드, 모바일, 데브옵스 파트로 나뉘어져 있습니다. 각각의 개발 파트가 어떻게 일 하는지, 어떤 사람과 함께 하고 싶어하는지 등을 소개드리려 합니다. 두 번째로 웹프론트엔드 파트를 소개드리겠습니다. 지원하고자 하…
안녕하세요. 인프랩의 향로입니다. 저희 인프랩 개발팀은 현재 백엔드, 프론트엔드, 모바일, 데브옵스 파트로 나뉘어져 있습니다. 각각의 개발 파트가 어떻게 일 하는지, 어떤 사람과 함께 하고 싶어하는지 등을 소개드리려 합니다. 첫 번째로 백엔드 파트를 소개드리겠습니다. 지원하고자 하는 회…
네이버 통합 검색의 웹 성능 - 데이터 수집과 시각화 - 등록일 - 2024.04.22 - | - 코멘트 - 8569 네이버 통합 검색의 성능이라는 말을 들으면 어떤 것이 떠오르나요? 검색 결과가 내가 찾던 내용과 얼마나 일치하는가를 떠올릴 수도 있고, 검색 결과가 얼마나 빨리 표시되는…
안녕하세요! 올리브영의 POS 개발자, Q평E평입니다. 올리브영은 유연한 서비스의 운영을 위해 IDC의 On-Premise 운영 방식에서, 많은 부분을 Cloud로 전환해오고 있습니다. 올리브영의 POS도 마찬가지인데요! POS의 레거시 시스템 현대화(Modernization) 과정을…
LitmusChaos를 이용해 카오스 테스트 시스템 구축하기 이번 글은 쿠버네티스 네이티브 워크플로를 이용한 대용량 스트리밍 파이프라인 검증 자동화 시리즈의 마지막 글입니다. 지난 1편과 2편은 아래 링크에서 확인하실 ��수 있습니다. 지난 2편에서는 Tekton 기반으로 성능 테스트…
들어가며 안녕하세요. LINE Plus에서 LINE Monary와 MyDashboard 서비스의 백엔드를 맡고 있는 조성빈입니다. 이번 글에서는 백엔드 서비스 개발 및 운영 업무를 담당하면서 REST API 기반의 인터페이스 문서를 가지고 다양한 파트와 커뮤니케이션을 진행하면서 겪었던…
2024년을 맞이하여 주요 기관과 기업에서 사이버보안 기술 트렌드를 발표하였습니다. 이러한 트렌드에 맞춰 네이버 클라우드 플랫폼에서 제공하는 서비스를 어떻게 활용할 수 있을지, 보안과 관련된 직무나 업무적 연관성이 없었던 분들께서도 쉽게 이해하여 실제로 활용할 수 있도록 그 방법을 소개…
[다시 보기] 4월 우아한테크세미나: Java의 미래, Virtual Thread 4월 우아한테크세미나 : Java의 미래, Virtual Thread 📅 일정 - 2024. 4. 23.(화) 저녁 6시, 약 90분간 - 우아한테크 YouTube 채널 실시간 스트리밍 🖇️ https:/…
우아한형제들 디자인 시스템에 시각적 회귀 테스트 적용하기 들어가며 안녕하세요, 우아한형제들 디자인 시스템 ‘우아한공방’의 웹 프론트엔드 개발자 금교영, 이수정입니다. 우아한공방은 우아한형제들에서 운영하는 다양한 웹/앱 프로덕트에서 사용되고 있는데요. (참고: 우아한형제들의 새로운 디자인…
들어가며 ChatGPT가 등장한 이후 구글, 메타와 같은 빅테크들이 앞다투어 LLM을 출시하면서 바야흐로 LLM의 시대가 열렸어요. 당근에서는 LLM을 어떻게 활용하고 있는지 소개하고 또 앞으로 어떻게 나아가면 좋을지 이야기해 보려고 해요. LLM이 잘하는 일 LLM은 수많은 텍스트 데…
안녕하세요. 올리브영의 배포 문지기를 맡고 있는 QA 엔지니어 황소입니다. 이번 글에서는 Datadog을 올리브영 QA는 어떻게 활용하고 있는지에 대해서 공유합니다. - QA가 Datadog을 활용하게 된 이유 - 올리브영 QA는 Datadog을 어떻게 활용하고 있나요? - 그밖에 사용…
들어가며 안녕하세요. VOOM Server Unit에서 LINE VOOM의 서버 개발을 맡고 있는 신홍중입니다. LINE VOOM 서비스는 포스트와 코멘트, 좋아요(like)와 같은 메인 콘텐츠 저장소로 Cassandra를 사용하고 있습니다. Cassandra는 멀티 데이터 센터를 구축…
Tekton을 이용한 성능 테스트 지난 1편에서 LINE 광고 플랫폼에서 사용하는 대용량 스트리밍 파이프라인의 특징을 살펴보면서, 이와 같은 데이터 스트리밍 애플리케이션의 성능을 측정할 때에는 통합 테스트(integration test) 환경을 구축한 뒤 직접 애플리케이션을 통해 데이터…
사람인에선 서비스의 레거시 영역을 점진적으로 개선해 나가고 있습니다. 그동안 FE개발팀은 긱이나 멘토링 같은 버티컬 서비스의 FE개발을 진행해왔는데, 작년부터 주요서비스의 FE분리를 시작하면서 FE 영역의 아키텍쳐에 대한 고민을 했었습니다. 그 결과 Monorepo를 적용하기로 하였고…
SK플래닛의 Planet AD 는 리워드 광고 플랫폼으로 현재 시럽, OK 캐쉬백, 오락, T 멤버십 등에 광고를 제공하고 있습니다. 2023년 4월에 처음 서비스를 시작하여 이제 1년을 맞이하고 있습니다. 1년 동안 서비스를 운영하면서 팀원들이 맞닥뜨린 여러 사례들과 문제 해결을 위해…
소개 안녕하세요. ABC Studio의 송재욱입니다. 저는 이곳에서 ABC Platform 팀을 맡고 있습니다. 이 글은 지난 1년간 ABC Platform 팀이 데마에칸(出前館, Demaecan) 서비스를 만들어 오며 저희만의 방식으로 일해 온 여정을 돌아보는 회고입니다. - 데마에칸…
요약: 카카오페이 자동차보험 비교 서비스 개발 과정에서 사용자 입력의 유효성 검증과 테스트 코드 작성을 강조합니다. 클라이언트와 서버에서 입력값을 검증하며, Kotlin Contracts를 활용하여 서버에서의 유효성 검증을 강화합니다. 또한, 커스텀 익셉션을 이용해 보다 명확한 에러 핸…
요약: 카카오페이는 사용자별로 자동차보험을 비교해 볼 수 있는 서비스를 개발했습니다. 이 서비스는 제휴 보험사의 상품을 비교하여 사용자가 유리한 상품을 선택하도록 돕습니다. 엔지니어는 이 비교 서비스를 위해 제휴사 API 관리, 병렬 및 비동기 처리, 입력 검증 및 코드 테스트 방법 등…
안녕하세요. 인벤토리 스쿼드 백엔드 개발자 펭귄대장입니다! 인벤토리 스쿼드에서 재고 변경 이력을 관리하기 위해 OpenSearch + EFK 를 구축하게 되어 소개 드립니다. 이전 포스팅에서 자주 언급되었듯이, 올리브영은 Datadog 을 사용하여 올리브영의 온오프라인 서비스를 모니터링…
안녕하세요. 모바일앱개발팀 윌, 의지수입니다🙇♂️ 이번 글에서는 올리브영 앱의 바코드 스캔 성능을 개선한 경험을 공유하고자 합니다. 올리브영은 매년 옴니채널 활성화를 위해 APP뿐페스티벌을 진행합니다. 올해 APP뿐페스티벌에서는 '올리를 찾아라' 이벤트가 진행되었습니다. 그중 하나는 오…
Redis Cluster를 사용할 때 Spring Boot와 Lettuce client를 설정해 드립니다 개요 Spring Boot에서 Redis에 명령어를 실행하기 위하여 Lettuce 라이브러리를 기본으로 사용하고 있습니다. 이때 자동 설정(Auto Configuration)을 사용…
안녕하세요. 상품 스쿼드의 백엔드 개발자 벙개맨⚡️입니다. 여러분은 올리브영에서 상품을 구매하실 때 상품 설명을 확인하시나요? 고객에게 상품에 대한 정보나 꿀팁을 제공하여 뽐뿌를 불러오는 상품 설명은 상품을 구매하는데 꼭 필요한 정보인데요! 기존에 어떤 부분이 문제였고, 상품 설명 개선…
안녕하세요. 😀 올리브영에서 백엔드 개발을 하고 있는 윤노트입니다. 테스트 코드를 작성할때 사용하는 Fixture에 대한 설명과 사용하면서 발생한 이슈들 그리고 FixtureMonkey로 이를 해결한 방법을 소개합니다. Fixture 를 단어 그대로 해석하면 고정되어 있는 물체 를 의미…
2014년부터 시작되어 매년 미국 라스베이거스에서 열리는 AWS 공식 개발자 행사인 re:Invent! 개발자들의 축제 현장에 다녀온 올디브의 이야기 지금부터 시작합니다. 2023년 AWS re:Invent (이하 : AWS)는 11월 27일(월) ~ 12월 1일(금)까지 5일 동안 행…
Golang, 그대들은 어떻게 할 것인가 - 4. error 핸들링 - 등록일 - 2024.03.29 - | - 코멘트 - 7924 앞 글에서는 하위 레이어에서 error를 어떻게 반환할지에 대해 다뤘습니다. 이번 글에서는 반환받은 error를 상위 함수에서는 어떻게 처리할지에 대한 고…
Golang, 그대들은 어떻게 할 것인가 - 3. error 래핑 - 등록일 - 2024.03.29 - | - 코멘트 - 8729 앞 글에서는 각 서버에 산재해 있던 MongoDB 관련 코드를 공통화 및 추상화하고, DB error 정보를 담을 수 있는 구조를 만들었습니다. 이번에는 이…
요약: 이 글은 라이브러리를 사용하지 않고 수학과 물리를 이용하여 카카오페이의 인터랙티브 웹 애니메이션을 개발한 경험을 공유합니다. 디온은 눈 내리는 효과, 트리 곡선 그리기, 전구 흔들기 등 다양한 애니메이션 기법을 소개하며, 이 과정에서 선형 보간법, 3차원 베지어 곡선, 뉴턴의 운…
Mar 29, 2024 Engineering Deconstructing a working Raft implementation - 1 - Gyubong Lee Software Engineer Mar 29, 2024 Engineering Deconstructing a working Raft…
Mar 29, 2024 Engineering Deconstructing a working Raft implementation - 1 - Gyubong Lee Software Engineer Mar 29, 2024 Engineering Deconstructing a working Raft…
24.03, the first release of Backend.AI in 2024, has been released. This update brings significant improvements to the UI and user experience, making it even mor…
24.03, the first release of Backend.AI in 2024, has been released. This update brings significant improvements to the UI and user experience, making it even mor…
들어가며 현재 일본과 대만, 태국에서는 LINE 앱에서 LINE VOOM이라는 서비스를 제공하고 있습니다. LINE VOOM은 LINE 앱 사용자를 위한 SNS로 사진과 텍스트, 비디오 등의 포스트를 업로드할 수 있는 공간입니다. VOOM RecSys Platform 팀에서는 수많은 포…
Mar 28, 2024 Engineering 2024 GTC Event Live Rankings: How to Utilize GraphQL Subscription - Sujin Kim Software Engineer Mar 28, 2024 Engineering 2024 GTC Event…
Mar 28, 2024 Engineering 2024 GTC Event Live Rankings: How to Utilize GraphQL Subscription - Sujin Kim Software Engineer Mar 28, 2024 Engineering 2024 GTC Event…
Golang, 그대들은 어떻게 할 것인가 - 2. MongoDB Go Driver 추상화 - 등록일 - 2024.03.27 - | - 코멘트 - 7617 클로바노트 V1의 주요 서버들은 Golang(v1.14)으로 개발되었고 MongoDB를 메인 DB로 사용하고 있습니다. MongoDB…
Golang, 그대들은 어떻게 할 것인가 - 1. 들어가며 - 등록일 - 2024.03.27 - | - 코멘트 - 15544 안녕하세요, 만 2년차 개발자로 클로바노트 서버를 개발하고 있는 김준하입니다. 이 글의 시리즈에서는 클로바노트 V2를 개발하며 팀 내부 코드 구조를 개선한 이야기…
[모집 마감] 2024 우아한테크캠프 7기 기존보다 2주 늘어난 교육 기간부터 글로벌 개발자가 될 수 있는 기회까지! 새롭게 꽃단장한 우아한테크캠프 7기 모집을 시작합니다. 모집일정 우아한테크캠프 7기는 4월 3일부터 프로그래머스 사전접수 페이지를 통해 진행합니다. ✅전형단계 사전접수…
셀프서비스, 챗봇에게 물어보세요 서비스 이용을 도와주는 챗봇, 사용해보신 적 있으신가요? 지난 12월 배달의민족의 사장님 서비스, ‘배민셀프서비스’에서도 챗봇 기능을 오픈했는데요, 이번 글에선 프론트, 서버 개발자가 함께 챗봇을 개발하며 고민했던 내용들을 소개드리겠습니다. 배민셀프서비스…
"리소스가 부족해서요." "우선순위가 낮아서요." 어느 회사 어느 부서에서나 협업할 때 가장 많이 나오는 말 아닐까요? 지금 있는 인원으로 주어진 일정을 소화하기에도 바쁘므로 당신의 요청은 당장 들어주기 어렵다는 의미이지요. 한정된 인원이 규칙적인 릴리스 사이클을 지켜가면서 기술 부채도…
안녕하세요, 토스 프론트엔드 엔지니어링 헤드 박서진입니다. 토스에서는 최고의 사용자 경험이 필요한 곳은 Native, 매일매일 실험으로 제품을 개선하는 제품은 React Native/WebView로 구성하고 있어요. 토스 프론트엔드 챕터는 지난 2022년 6월부터 React Native…
This article originally appeared in Crossroads, May 2023. [^Editor's note] This article is translated from Korean. The original order of the essay is 2023 > 201…
이번 포스팅은 Vue3, Composition API와 Pinia를 이용한 상태관리 (1) 글의 후편입니다. 이전 포스팅에서 Composition API, Pinia에 대한 이론적인 설명을 다루었다면 이번 포스팅에서는 실제로 Pinia를 어떤 방식으로 적용했고 어떤 작업 결과를 냈는지…
Ad Management 파트 서버 개발자의 지역 타게팅 개선기 안녕하세요. Demand Product 팀의 Ad Management 파트에서 서버 개발자로 일하고 있는 Kay입니다. 제가 팀에 합류한 지도 어느덧 2년이 되어가는데요, Ad Management 파트(이하 AdM)은 무슨…
셸 스크립트를 몰라도 자동화는 하고 싶어, ChatGPT를 활용한 git flow 관리 스크립트 자동화 진행기 들어가며 본 글은 OpenAI의 GPT-4(이하 ‘ChatGPT’)를 활용하여 git 관리 스크립트를 작성한 경험을 다루는 수기입니다. 아래 주제에 대해선 다루지 않습니다. -…
LINE 광고의 대용량 스트리밍 파이프라인 스트리밍 처리의 기술 포인트 LINE 광고 플랫폼은 하루에도 수십억 건 이상의 광고를 송출합니다. 그 속에서 데이터 파이프라인은 실시간으로 광고 결과 데이터를 수집하고, 재가공하며, 저장하고, 재전송하는 등의 역할을 수행합니다. 대표적으로 실시…
- blog - events 제5회 Kakao Tech Meet에 초대합니다! Kakao Tech Meet #5 트렌드와 경험 및 노하우를 자주, 지속적으로 공유하며 개발자 여러분과 함께 성장을 도모하고 긴밀한 네트워크를 형성하고자 합니다. 다섯 번째 Kakao Tech Meet에서는…
다른 회사나 서비스에서 만든 API를 사용해 본 경험이 있으신가요? 복잡한 API를 파악하거나 새로운 업데이트를 적용하려고 할 때 설명이 정확하지 않다면 API를 적용하는 데 어려움을 겪죠. 그래서 API를 외부 개발자에게 제공할 때, 명확하고 쉽게 이해할 수 있는 문서는 필수적이에요.…
갤럭시 S24가 찾아준 배민커넥트 Android 성능 이슈 해결기(feat. React Native) 우아한형제들에서는 배달의민족 앱뿐만 아니라 고객, 사장님, 라이더 사용할 수 있는 다양한 앱들을 개발하고 있는데요. 라이더서비스팀에서는 라이더를 위한 ‘배민커넥트 앱’을 react-na…
디스어셈블 프레임워크 Capstone-engine 활용하기 들어가며 이 글에서는 디스어셈블 프레임워크인 Capstone-engine을 활용하는 방법에 대해 알아보고자 합니다. 홈페이지 소개글(https://www.capstone-engine.org/)에 의하면 Capstone은 Caps…
안녕하세요, 당근 광고실에서 백엔드 인턴을 하고 있는 Woody예요. 출퇴근 피크 타임의 9호선도 달갑게 느껴지던 첫 출근일이 엊그제 같은데, 벌써 당근과 함께한 시간이 2개월을 넘어서고 있네요! 아직은 뉴비 타이틀을 벗지 못했지만, 2개월 동안 참 많은 것들을 경험한 것 같아요. 난생…
Mar 15, 2024 News Meet Lablup at NVIDIA GTC 2024: Pushing the Frontiers of AI Technology - Lablup Lablup Mar 15, 2024 News Meet Lablup at NVIDIA GTC 2024: Pushi…
Mar 15, 2024 News Meet Lablup at NVIDIA GTC 2024: Pushing the Frontiers of AI Technology - Lablup Lablup Mar 15, 2024 News Meet Lablup at NVIDIA GTC 2024: Pushi…
생성형 AI 기술의 발전에 따라 많은 기업에서 자사 서비스에 생성형 AI 기술을 적용하려는 움직임이 활발하게 일어나고 있습니다. 삼성SDS 역시 AI 기술이 적용된 신규 서비스 발굴과 기존 서비스와의 통합을 위해 다양한 시도를 하고 있습니다. 그 중 삼성SDS Gen AI 해커톤에서 소…
프론트엔드 개발자들의 즐거운 상상 🎈 – 쓰면글림체 사이드 프로젝트 이야기 상상만으로도 마음 한편이 설레는 순간이 있나요? 영감이 솟구치고 미소가 절로 번지는 그런 순간이요. ㅤ 제게는 사이드 프로젝트를 하는 순간이 그렇습니다. 실험적으로 이것저것 시도해 볼 수 있는 사이드 프로젝트는…
들어가며 안녕하세요. HBase 팀 김영주, 김동의입니다. HBase 팀에서는 LY의 많은 서비스를 지원하기 위해 수천 대 규모의 HBase를 운영하고 있습니다. HBase는 Hadoop 기반 칼럼형 분산 데이터베이스로 확장이 용이해 대용량 데이터를 다룰 때 많이 사용하는데요. 회사가…
안녕하세요! 카카오페이증권 DevOps팀의 오픈소스 플랫폼 파트 리나&듀크입니다. 오픈소스 플랫폼 파트는 카카오페이증권에서 사용하는 다양한 오픈소스들로 플랫폼을 구성해서 서비스 개발팀에 제공 및 운영하는 조직입니다. 많은 기업에서 Kubernetes 기반의 컨테이너 환경을 활용하고 계실…
요약: 카카오페이 DevOps팀은 서버 리소스 사용 효율성 향상을 목표로 ‘환경미화 프로젝트’를 진행했습니다. 이 프로젝트는 Kubernetes 상에서 운영되는 서비스의 리소스 할당을 최적화하여 서버 비용을 절감하는 것을 목표로 합니다. 기존에 할당된 CPU와 메모리 리소스를 실제 사용…
사이드 프로젝트는 사이드가 아니다 사이드 프로젝트는 새로운 디자인과 기술을 시도하고, 검증하고, 시행착오를 겪을 수 있는 정말 좋은 방법의 하나입니다. 거듭된 실수와 실패의 경험으로 더 성공적인 결과를 만들 수 있게 해주는 수많은 사이드 프로젝트야말로 더 나은 세상을 만들기 위한 메인…
들어가며 안녕하세요. Messaging Client Dev 2 팀에서 LINE iOS 앱을 개발하고 있는 박신홍입니다. 작년에 신입으로 입사해서 LINE 앱 대화방에서 사용자 경험을 개선하기 위해 크고 작은 수정 작업을 진행하고 있습니다. 이번 글에서는 그중 가장 재미있게 진행했던 작업…
안녕하세요! 상품스쿼드 백엔드 개발자 빽곰입니다. 상품스쿼드에서 상품데이터 Pipeline을 위해 도입한 Debezium CDC를 소개해 보려고 합니다. 상품스쿼드에서는 상품의 메타정보를 효율적으로 관리/제공하기 위한 Catalog Service 개발을 진행 중입니다. 기존 monoli…
사람인 FE 개발팀에서는 기존의 사람인 서비스를 점진적으로 FE 분리 전환을 진행 중에 있는데요, 최근 사람인 서비스 중 신입·인턴 채용달력 모바일 서비스(이하 채용달력)를 React + TypeScript(이하 TS)로 전환하게 되었습니다. React + TS로의 전환은 제 개인적으로…
들어가며 데이터프로덕트그룹 소개 Data Product 시리즈 소개 1.1과 1.2는 시리즈 첫번째 글로 대체하겠습니다. (링크) 왜 AI 세차가 데이터프로덕트인가? 쏘카는 기술 개발을 통해 많은 운영 프로세스를 자동화하고 있지만 완전한 자동화를 위해서는 인공지능(AI)이 필요합니다.…
이 글은 IDG의 아티클을 전재하여 제공합니다. [원문보기] : https://www.itworld.co.kr/techlibrary/327277 LLM(Large Language Model, 대규모 언어 모델)은 최신 소프트웨어 스택의 한 요소로 빠르게 부상했습니다. 그러나 오픈AI와…
일 3,000만 건의 네이버페이 주문 메시지를 처리하는 Kafka 시스템의 무중단 전환 사례 - 등록일 - 2024.03.07 - | - 코멘트 - 32769 대규모 데이터를 안정적이고 빠르게 처리하기 위해 이미 오래 전부터 많은 서비스에서 Kafka를 사용해왔습니다. 한 번 Kafka…
당근 ML 인프라팀에서는 머신러닝 모델을 효과적으로 다양한 서비스에 적용하기 위해 노력하고 있어요. 이전 블로그 글(Kubeflow 파이프라인 운용하기)에서 언급했던 것처럼 당근마켓은 Google Kubernetes Engine(GKE)에서 Kubeflow Pipeline(KFP)을 설…
들어가며 안녕하세요. LINE Plus에서 Global E-Commerce Platform 개발을 맡고 있는 서종현입니다. 저희 팀은 작년에 주문 DB를 Oracle에서 MySQL로 이관하라는 미션을 받아서 성공적으로 완료했습니다. DB를 이관하면서 DB 모델도 변경해 읽기와 쓰기 양쪽…
쏘카플랜 개편기 대부분의 개발자들은 논리적 사고와 정교한 설계를 통해 체계적으로 멋진 제품을 만드는 것을 목표로 합니다. 하지만 현실에서는 마감일에 쫓겨 우선순위를 정하고, 기능만 동작하도록 급히 코드를 작성해야 하는 상황에 처할 때가 많습니다. 다음과 같은 분들이 읽으면 좋습니다. -…
안녕하세요. 왓챠 ML팀에서 머신러닝 엔지니어로 일하고 있는 찰스입니다. 이전 글에서는 기존 왓챠 ML 파이프라인 및 실험 환경이 가진 문제점에 대해서 살펴보고, 문제를 해결하기 위해 컨테이너 환경의 도입, On-premise GPU 서버와 클라우드 서비스와의 연동, ML 파이프라인과…
토스페이먼츠의 결제는 JavaScript SDK에서 시작돼요. 그래서 안정적인 SDK 배포는 무척 중요하죠. 이 중요도 만큼 SDK 기능 및 제품 출시에 대한 팀원들의 부담과 피로도도 높았는데요. SDK의 변경 사항이 모든 결제 가맹점에 동시에 전파되는 배포 방식 때문이었어요. 그래서…
Virtual Thread의 기본 개념 이해하기 - 등록일 - 2024.03.05 - | - 코멘트 - 42465 JDK에 정식 도입된 Virtual Thread는 기존의 KLT(kernel-level thread)와 ULT(user-level thread)를 1:1 매핑하여 사용하는…
안녕하세요. LINE+ Redis 팀에서 DBA 업무를 담당하고 있는 김정훈입니다. 저희 팀은 이름 그대로 대표적인 키-값 저장소(key-value store)인 Redis를 연구하고 사내에 도입하고 있습니다. 또한 국가 및 법인을 불문하고 자체적으로 운영하고 있는 서비스를 제외한 LI…
안녕하세요 👋🏻 인프랩 프론트엔드 개발자 홍시입니다. 24년 3월 현재 인프랩은 프론트엔드 개발자 10명, 프로덕트 디자이너 5명이 있는 작은 제품 조직입니다. 그래서 플랫폼 팀은 따로 없지만, 가지고 있는 자원으로 생산성과 제품의 완성도를 높이는 것을 목적으로 22년 4월부터 약 2년…
적절한 공수로 Throughput 을 많이 끌어올릴 방법은 없을까? Juho Choi — 최주호 @juho 들어가며 Airbridge 에는 마케팅 데이터를 다양하게 분석할 수 있는 여러 종류의 Report 가 있습니다. 이 중 Actuals Report 는 가장 기본적이면서 가장 많은…
안녕하세요, 인프랩 프런트엔드 개발자 융디입니다. 최근 인프런 유저분들이 정성스럽게 작성해 주신 수강평과 질문&답변 페이지를 SNS에 공유 했을 때, 가장 먼저 보이는 링크 미리보기 이미지에 변화가 생겼다는 것을 눈치채신 분들이 계실까요? 혹시 눈치채지 못하셨다면 이 글을 읽기 전, 본…
안녕하세요. 왓챠 ML팀에서 머신러닝 엔지니어로 일하고 있는 찰스입니다. 지난 글에서는 왓챠 추천 시스템을 컨테이너 환경으로 이전하면서 발생했던 여러 고민들을 어떻게 해결했는지 살펴보았습니다. 그 이후 왓챠 ML 팀에서는 왓챠와 왓챠피디아에 사용하는 추천 모델을 다양한 요구 조건에 맞춰…
Tech Radio : 글로벌 1위 모바일 앱 PRISM Live Studio - 등록일 - 2024.02.27 - | - 코멘트 - 3776 2019년 3월 출시한 네이버 ‘PRISM Live Studio’는 PC와 모바일 환경에서 동영상 라이브 스트리밍 송출과 동영상 편집 기능을 제…
안녕하세요, 데브시스터즈 진저랩 인프라셀에서 데브옵스 엔지니어로 일하고 있는 이상유입니다. 여러분은 Let’s Encrypt를 알고 계시나요? 자세히 아는 것이 아니라도, SSL/TLS 인증서를 무료로 발급해 주는 서비스라고 많은 분들께서 한 번쯤은 들어 보았을 것이라고 생각합니다. 데…
안녕하세요. 인프랩 데브옵스 인턴 포카입니다. 6주 동안 인프랩 데브옵스 팀으로써 일하면서 배운 것들 또는 경험한 것들에 대해 적어볼까 합니다. 인턴십을 시작하면서 가장 중요하게 생각했던 것은 ‘학교에서는 경험할 수 없는 것들을 경험하자‘와 ’내가 어떻게 해야 이 회사에 도움이 될 수…
린트 - 보다 아름다운 코드를 위하여 안녕하세요. LINE+의 Mobile Productive & Research 팀에서 Android 관련 라이브러리 및 개발 환경 개선 맡아서 진행하고 있는 윤종민입니다. 지난 연말, ktlint 업데이트 작업(0.5.0 → 1.0.1)을 진행했습니다…
앞선 글 1. Planning에선 문제를 어떻게 정의하는지에 대해 다뤘어요. 구체적인 내용을 기약하고 글을 마무리했는데요, 이 글에선 구체적으로 어떤 작업들을 진행했는지 소개해요. 재구조화 앞선 글에서 소개했듯이 '재구조화'라는 단어는 리팩토링보다 좀 더 거시적인 관점에서의 개선을 뜻해…
안녕하세요. 인프랩 데브옵스 인턴 구피입니다! 여러분들은 개발하시는 프로젝트에서 기능이 개발 후 배포되기까지 평균 얼마의 시간이 걸리는지 아시나요? 또는, 운영 중인 서비스에서 발생한 장애가 해결되기까지 평균적으로 몇 시간이 걸리는지 아시나요? 이러한 통계는 서비스가 얼마나 효율적으로…
서비스 인프라 확장 비용을 줄이기 위한 선택 - 가상 머신 서비스 인프라를 확장하는 방법은 두 가지가 있습니다. 하나는 서버를 더 도입하는 스케일아웃이고, 또 하나는 서버에 하드웨어 자원을 추가하는 스케일업입니다. 요즘은 쿠버네티스의 유행과 관리의 편의성 때문에 스케일아웃에 더 무게를…
안녕하세요, 넷마블 QA실 QA시스템팀 이동근입니다. 백엔드 개발에서 사용하는 프로그래밍 언어는 C++, C#, Java, Python, Go, Javascript 등 매우 다양합니다. 제가 담당하는 크래시리포트는 이 중에서 자바를 이용해 백엔드 애플리케이션을 개발했습니다. 자바는 오픈…
온라인 결제 서비스를 운영하는 토스페이먼츠에서는 매일 방대한 양의 로그 데이터가 만들어져요. 만들어진 대부분의 로그 데이터는 Elasticsearch에 보관하면서 분석과 시각화에 사용하고요. Elasticsearch에서 많은 양의 로그 데이터를 다루기 위해 여러 개의 노드를 하나로 묶는…
안녕하세요. ABC Studio 김영재입니다. 저는 LINE이 2020년에 인수한 일본 No.1 배달 서비스 데마에칸(出前館, Demaecan) 프로덕트를 담당하고 있습니다. 전 세계 모든 IT 회사나 서비스가 사용자의 목소리를 잘 듣자고 말합니다. 하지만 이것을 의사결정까지 숨 쉬듯…
데이터베이스는 시스템을 확장하기 어려워요. 주로 샤딩과 복제를 통해 어렵게 확장해야 하는데다가, 이 과정에서 일관성, 가용성, 분할 내성 셋을 모두 만족시킬 수 없다는 점이 널리 알려져 있죠(CAP 이론). 그래서 데이터베이스를 확장할 때는 신중해야 돼요. 가급적 데이터베이스의 부하를…
안녕하세요, 카카오뱅크 데이터 사이언티스트 Belle입니다. 이 글을 읽고 계신 분은 개발자 또는 분석가일 가능성이 높을텐데요. 여러분은 현재 어떤 서비스를 담당하고 계신가요? 그리고 해당 서비스와 관련된 데이터에 대해서는 얼마나 이해하고 있나요? 사용자가 남긴 데이터는 서비스 개선과…