안녕하세요.Seller & SD Engineering팀의 김민우입니다. 이번 글은 ESM(지마켓 판매자 사이트) 개편 중 '문의하기' 개발을 맡으며 겪었던 어려움과 이를 해결해 나가는 몇 가지 방법들을 소개하고자 합니다. 제가 개발 맡은 부분은 판매자에게 구매자의 문의내용을 담당하는 '게시판 문의', 그리고 CS(고객센터)에서 주는 '긴급 메시지'를 통합하여 지마켓과 옥션 두 사이트에 대해 각각 보여주는 통합 페이지를 개편시키는 일이었습니다. 각설하고 조회 성능을 올린 결과물부터 영상으로 보시죠. 영상에서 보셨듯이, 대형 셀러의 경우 한 페이지를 로드하는 데 기본 몇십 초가 걸립니다. 페이지를 넘길 때조차 마찬가지입니다. 상품이 많아질수록 문의도 증가하기 마련인데, 모든 문의에 일일이 답변하기는 어..
⚠️ 본 글은 스크럼 표준 이론을 설명하는 것이 아닙니다. 안녕하세요. Dev platform 팀 임진욱입니다.지마켓의 Jira, Wiki, GIthub, CI/CD 시스템을 담당하고 있습니다. 지마켓으로 이직 후, 1년간 업무를 진행하며 스크럼을 사용하는 경험기를 다룹니다.(👉 스크럼에 대해서 더 알고 싶은 사람은 스크럼 설명 - Jira software 문서를 참고하면 도움이 됩니다.)스크럼이란?스크럼은 팀이 일련의 가치, 원칙 및 관행을 바탕으로 작업을 구조화하고 관리할 수 있도록 지원하는 애자일 프로젝트 관리 프레임워크입니다.스크럼은 팀이 경험을 통해 배우고, 문제를 해결하면서 스스로 구성하며, 얻은 것과 잃은 것을 되돌아보며 지속적으로 개선하도록 유도합니다. 시스템 관리 엔지니어로서 연속적..
지마켓 정보보안실 김용재 IT세상에는 가상화에 관련된 개념이 아주 많이 존재한다고 본다. 컴퓨터의 기본 구조에서 보면, 메모리가 아주 귀했을 때 나왔을 거 같은 디스크와 메모리를 섞어 사용하는 가상 메모리부터, 반대로 하드 디스크(SSD)가 현재에 비해 아주 느렸을 때 잠시 나왔던 메모리를 디스크로 사용하는 램 디스크(이건 요즘 Redis 등 예전에 비해 많이 싸진 메모리를 기반으로 빠르게 동작하는 디비의 롤 모델라는 느낌도 든다), 예전에 CD를 이용해 게임이나 프로그램을 실행하던 때에 느린 CD 대신 디스크의 이미지로 해당 데이터를 옮겨서 CD 인 것처럼 프로그램을 속였던(아무래도 그때는 CD를 강제한 불법 복제 방지 로직을 피하는 목적들도 있었다) “Virtual CD, DAEMON Tools,..
Gmarket Mobile Web Vip 악성 봇 대침투 사건안녕하세요 저는 VI Engineering 팀 김윤제입니다.Gmarket Mobile Web Vip(View Item Page = 상품 상세)를 담당하고 있는 Backend Engineer 입니다. 올해 1월 6일부터 Gmarket Mobile Web Vip에 악성 봇 트래픽 유입에 따른 서비스 다운이 주기적으로 발생했었는데요.한 달 정도 평일, 주말 밤 낮 없이 원인을 찾기 위해 모니터링을 하며 끝나지 않을 것만 같던 고통(왜 나에게만 이런 일이)을 받았었습니다. 우선 악성 봇으로 판단이 되자마자 서버의 Scale Up을 하고 Scale Out을 하였으나이것은 임시방편으로 추후에 봇이 들어오는 케이스가 달라지면 또다시 발생할 문제였습니다.이에..
안녕하세요 VI Engineering 팀 김윤제입니다. Gmarket Mobile Web Vip(View Item Page = 상품 상세)를 담당하고 있는 Backend Engineer 입니다. 예전부터 쓰고자 한 내용들이 많았는데 귀차니즘이 심해서 이렇게 한 번에 몰아서 쓰게 되네요. 이번 편은 지난 편 설계란 고민의 연속이다 1편에 이어 2편입니다. https://dev.gmarket.com/104 1편을 보신 후에 2편을 보시는 게 많은 이해가 될 것입니다. (안 보시면 이해가 안 갈 수도 있어요) 자세한 이야기는 아래에서 상세히 다루도록 하겠습니다. 최선은 무엇인가! 어떤 설계가 좋은 설계인지 모듈 설계를 AS-IS와 비교하며 하나씩 살펴보도록 하겠습니다. 배송 모듈 지마켓에는 배송 타입이 스마일..
안녕하세요 VI Engineering 팀 김윤제입니다Gmarket Mobile Web Vip(View Item Page = 상품 상세)를 담당하고 있는 Backend Engineer 입니다. 저는 현재 기존의 Gmarket Mobile App VIP API 시스템과 Mobile Web VIP API 시스템을통합 & 개편하는 VIP 모듈화 프로젝트를 진행하고 있으며, 그중 모듈 비즈니스를 담당하고 있습니다. 이번 편에서는 제가 셀 수 없이 많은 시간 동안 고민한 비즈니스 설계를 소개하려고 합니다.(하도 고민을 많이 해서 탈모가 생겼다는 썰이..)자세한 내용은 아래에서 설명하도록 하겠습니다. Hexagonal Architecture우선 프로젝트 구조를 먼저 설명드리려고 합니다.모듈 비즈니스는 Multi Mo..
안녕하세요 VI Engineering 팀 김윤제입니다.Gmarket Mobile Web Vip(View Item Page = 상품 상세)를 담당하고 있는 Backend Engineer 입니다. 이번 블로그는 개발자를 잠 못 들게 만드는 코드 (잠 못 드는 밤 Feat: 내 전화를 받아 by Noc) 편입니다.Noc란 지마켓에서 관제 시스템 쪽에 근무하시는 분들입니다. (항상 감사합니다.) 저는 지마켓에서 실시간 트래픽을 맞으며 결제 지표에 영향을 주는 도메인을 맡고 있어서 장애와 아주 가까이에 있습니다.그렇기 때문에 관제 시스템 측으로부터 연락을 많이 받습니다.심지어 장난으로 저의 별명은 인간 SWAT이며 개인 프로필 사진입니다.과연 어떤 코드가 개발자를 잠 못 들게 만드는지 알아보도록 하겠습니다.try..
안녕하세요. 이번 포스트는 쿠버네티스 오퍼레이터를 직접 구현해 보고, 개발한 오퍼레이터를 로컬 쿠버네티스 클러스터에 적용하는 과정까지 설명드리려고 합니다. 예전에 지형님이 소개했었던 쿠버네티스 오퍼레이터 적용하기를 본 독자들이 있을 겁니다. 오퍼레이터는 커스텀 리소스(Custom Resource, CR)를 사용하여 미리 구성된 리소스들(Deployment, Service 등)을 관리하는 쿠버네티스 익스텐션 리소스입니다.커스텀 리소스 정의(Custom Resource Definition, CRD)를 통해 내가 만들고 싶은 커스텀 리소스의 스펙을 정의하고 오퍼레이터를 통해 커스텀 리소스의 세부 로직들을 수행합니다.나만의 오퍼레이터를 직접 구현하기 위해 프로그래밍 언어별 SDK들이 몇 개가 있습니다.Oper..