
안녕하세요 Mobile Application Team 에서 iOS 개발을 하고 있는 강수진입니다.이번 글에서는 지마켓 iOS 프로젝트에서 사용하고 있는 프레임워크들의 관계와, Framework 에서 다른 Framework 를 사용할 때 Mach-O type 에 따른 주의 사항을 알아보겠습니다.상황Gmarket 에서 사용하고 있는 framework 는 다양하지만, 문제에 집중하기 위해 UI 와 Util 이라는 두 가지 framework 를 사용한다고 상황을 간략화해보겠습니다.이때 Util.framework 는 유틸성 코드를 담고 있어서 UI.framework 에서도 사용합니다. 따라서 아래와 같이 사용 관계를 표현할 수 있습니다.위 상황을 관리하기 위해 프레임워크들의 관계를 어떻게 설정할 수 있을까요?하나..

안녕하세요. Carbon 팀 안세희입니다. 이 글은 Kafka 이벤트 모니터링을 진행하며 주니어 개발자로서 겪었던 트러블슈팅에 대한 이야기입니다. 여름에 입사하여 또 다른 계절인 겨울이 다가오는 시점에서 지난 미션을 떠올리며 공유드리고자 합니다. 같은 고민을 하시는 개발자분이 계신다면 부족한 내용일지라도 도움이 되었으면 좋겠습니다. 어떤 걸 모니터링해야 했을까? 해당 미션은 결제가 실패한 경우 발행되는 이벤트를 스트리밍 하여 10분 동안 3번 이상 주문에 실패한 구매자를 찾는 것이었습니다. 당시에 실제 운영하는 환경에서 Kafka를 사용해본 경험이 없어 Kafka에 집계와 모니터링을 얹은 보이지 않은 산을 마주한 기분이었습니다. 하지만 모르는 만큼 다양한 방법을 도입할 수 있다는 개발자의 패기로 아래와 ..

Java Generic 시리즈 마지막 포스팅입니다.이번에는 Java Generic 을 활용하는 여러 가지 상황들에 대해 살펴보겠습니다.이번 포스팅에서도 개념편, 심화편 에서 사용했던 예제를 활용해보겠습니다.public class Electronics { private String manufacturer; public Electronics(String manufacturer) { this.manufacturer = manufacturer; } public String getManufacturer() { return manufacturer; }}public class Tv extends Electronics { private String title; ..

안녕하세요. Seller & SD Engineering 팀의 박명훈입니다. 오늘은 자바의 기본적인 Date와 Time API에 대해서 간략하게 정리합니다. Date와 Time API에 대해서 많이 사용을 하고 있으나 이에 대해 좀 더 상세하고 어떤 경우에 어떤 값을 쓰는지에 대한 고찰이 부족하다고 생각하여, 이에 대해 정리합니다. 기존 Java의 날짜 API의 문제.Java 8 이전에 사용하던 Date 관련 클래스는 Date, Calendar, SimpleDateFormat 등이 있었으나, 많은 문제가 있어 자바 8 버전 이후부터는 새로운 날짜 관련 API를 제공합니다.기존 클래스들의 문제는 다음과 같습니다. 1. 부적절한 클래스와 메서드 이름을 가집니다.Date 클래스의 경우, TimeStamp 방식으..

안녕하세요. SmilePay Engineering 팀 문한국입니다. 이번 글에서는 스마일페이의 보안성 강화를 위하여 로그인 비밀번호 암호화를 도입한 사례를 공유하려고 합니다. 선정 배경스마일페이는 고객의 결제와 관련된 업무를 하다보니 보안을 상당히 중요시 합니다. 그래서 로그인 비밀번호의 경우도 HTTPS 통신을 통한 SSL 보안과 더불어 RSA 암호화를 통해 로그인 비밀번호를 암호화 후 통신하고 있습니다.HTTPS 의 경우 네트워크 구간에서는 비밀번호의 암호화가 이루어지나, 네트워크 전송 전 구간에서의 보안은 취약하였습니다. 아래 그림은 로그인 비밀번호 암호화를 도입하기 전 브라우저 개발자 도구 네트워크 탭을 캡쳐한 것입니다. 로그인 버튼을 눌렀을 때 개발자 도구 네트워크 탭에 찍힌 것과 같이 비밀..

소개안녕하세요:) 지마켓에서 데이터로 여러 가지 흥미로운 개발을 하고 있는 한한주입니다.이번에 소개해 드릴 내용은 탐색적 데이터 분석 흔히 EDA(Exploratory Data Analysis)라고 불리는 분석기법에 대한 내용입니다. 처음 정제되지 않은 대용량 데이터를 마주하면 정신이 혼미해 지기 쉽습니다^^; 이럴 때 데이터 형태를 정의하고 탐색적 분석을 통해 시각화하면 좀 더 친근하게 데이터 분석을 시작할 수 있습니다. 그럼 Start! EDA란?위키백과에 따르면 EDA는 미국의 저명한 통계학자가 창안한 자료 분석 방법론입니다. 기존의 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어, 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾을 수..

안녕하세요 VIP & Vertical 팀 김윤제입니다.VIP 파트에서 상품 상세 페이지 및 리뷰 업무를 맡고 있습니다.이번 블로깅에서는 Auction, Gmarket에서 사용하고 있는 대기열 시스템인 Redcarpet에 대해 소개하려 합니다. RedcarpetRedcarpet은 Auction, Gmarket의 대기열 시스템으로 일시적으로 많은 트래픽이 발생하는 서비스에과도한 트래픽의 유입을 방지해 주고 시스템을 보호합니다. 대기열 시스템 Redcarpet의 이름은 대형 홀 등의 줄을 서서 기다리는 곳에 깔린 레드카펫에서 유래되었습니다.Redcarpet의 도입이유 Big Smile Day, Big Sale 등의 이벤트 또는 인기 있는 상품에 대해 트래픽이 몰리는 순간이 있습니다. 이렇게 순간적으로 높은 트..

안녕하세요 Post-tx & Accounting팀 권우석입니다.최근 온보딩 프로젝트를 함께했던 Shopping Service API팀의 김도훈님의 제안으로 회원가입/로그인 API를 간단하게 구현하는 토이 프로젝트를 진행하고 있는데요. 이번 글에서는 토이 프로젝트를 진행하며 고민했던 아래 주제에 대해 다뤄보려고 합니다. 1. 인증/인가를 어떻게 구현할 것인가?2. 인증/인가 로직을 어디에 구현할 것인가? 인증과 인가란?인증이란 사용자의 신원을 검증하는 프로세스를 뜻합니다. 가장 간단한 예시로는 ID와 PW를 통해 로그인하는 행위를 인증이라 할 수 있죠. 인가는 인증 이후의 프로세스입니다. 인증된 사용자가 어떠한 자원에 접근할 수 있는지를 확인하는 절차가 바로 인가이죠. 로그인을 예시로 들었듯이 거의 모든 ..