⚠️ 본 글은 스크럼 표준 이론을 설명하는 것이 아닙니다. 안녕하세요. 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..
안녕하세요. Seller & SD Engineering 팀의 개발자 김민우입니다. 저는 주로 백엔드 개발을 담당하고 있지만, 최근에 프론트엔드 개발, 특히 React로 캘린더 컴포넌트 만들기에 도전했습니다. 이 글에서는 백엔드 개발자의 시각에서 본 프론트엔드 개발의 독특한 점들과 더불어 Props Drilling 문제를 해결한 경험을 공유하고자 합니다. 프론트엔드 개발에 대한 저의 경험은 전문적인 관점이 아닐 수 있지만, 이 분야에 대한 새로운 시각을 제공하려 합니다. 배경 : 저희 팀은 새로 오픈 할 ESM 개편안 중 '통계' 작업을 맡았습니다. 본래는 통계 페이지들의 특성상 상단에는 단순 조건 필터링, 하단에는 해당 조건에 따른 결과(그래프, 테이블 등)로 단순하게 구성하기 때문에 프론트에 대한 리소..