프로젝트 관리를 위한 JIRA 활용기
안녕하세요 Data Platform Engineer 조광진입니다.2019년에 지마켓 Data Platform 팀에 합류하여 데이터 플랫폼에 관련된 다양한 업무를 진행하고 있습니다.저희 팀에서 하는 업무에 대해 간단하게 설명드리면 글 전반적인 내용에 도움이 될 것 같아 먼저 소개하도록 하겠습니다.Hadoop 기반의 빅데이터 플랫폼인 Data Lake 활용을 통해 전사에서 활용되는 데이터의 수집, 적재, 분석에 대해 직 간접적으로 도움을 드리고 있으며, 비정형 데이터를 다양하게 활용하기 위한 Redis, Elastic Search, MongoDB 데이터 플랫폼도 운영하고 있습니다. Data Platform 팀이 사용하는 기술 스택은 아래와 같습니다.팀 목표는 사용자들에게 안정적이고 편리한 데이터 플랫폼을 제..
BackendDatabaseTools
전체 읽기 →짧고 굵게 지마켓 API Gateway 사용하기
안녕하세요. 지마켓에서 개발자분 업무의 편의를 도모하기 위한 클라우드 플랫폼 업무를 담당하고 있는 김지형입니다.저희 지마켓 개발 플랫폼으로서 몇 가지가 존재하는데 Fusion이라는 Openshift, Kubernetes 기반의 컨테이너 플랫폼을 개발자 분들께서 주로 이용하시지만, API 통합 관리 도구로서 API Gateway 플랫폼도 존재합니다. Nginx 프로그램을 붙여서 로드밸런싱이나 페이지 요청을 처리하는 팀이 많겠지만, Nginx Controller까지 붙여서 API 관리까지 하기에는 다소 벅찰 수 있다고 생각합니다. 본 API Gateway 이용도 API 관리의 한 가지 선택지로서 이용해볼 수 있다는 것을 알리기 위해, 또한 타사에서도 API Gateway를 적용하고자 하는 팀을 대상으로 글을..
BackendDevOpsTools
전체 읽기 →왜 내가 작성한 JavaScript Date 코드가 서버에서는 다르게 보이는 거죠?
JavaScript에서 흔히 혼동되는 Date 객체에 대한 개념을 정리해봅니다.
BackendFrontendTools
전체 읽기 →가볍게 시작하는 Databricks Community Edition 환경설정 for Spark
소개안녕하세요:) 지마켓에서 데이터로 여러 가지 흥미로운 개발을 하고 있는 한한주입니다.이번에 소개해 드릴 내용은 Databricks Community Edition에 대한 기본적인 설정과 사용법에 대한 내용입니다.Databricks Community Edition에서 제공하는 클라우드 환경을 사용하면 간단하게 Spark 작업환경을 만들 수 있어 Spark를 공부하고자 하거나 간단하게 테스트를 할 때 매우 유용합니다. (사실 제가 유용하게 사용했습니다^^;; 독자분들도 유용하게 사용하시기를 바라며..)이번 블로그에서는 Databricks Community Edition을 사용하여 무료로 간단히 Spark환경을 만들어 보도록 하겠습니다.그럼 Start!Databricks들어가기 앞서 먼저 Databrick..
AI/MLBackendDatabaseTools
전체 읽기 →웹 개발자라면 알고 있어야 할 HTTP의 진화 과정
HTTP의 각 버전이 등장하게 된 배경을 알아보고 특징을 정리해봅니다.
ArchitectureBackendTools
전체 읽기 →KafkaItemReader 적용기
KafkaItemReader 적용기안녕하세요 VIP & Vertical 팀 김윤제입니다.VIP 파트에서 상품 상세 페이지 및 리뷰 업무를 맡고 있습니다.최근 리뷰 개편 작업에 Kafka 도입을 해보며 주니어 개발자로서 겪고 배운 내용을 공유드리기 위해 작성했습니다.부족하게 쓴 내용일지라도 도움이 되었으면 좋겠습니다. Kafka를 선택한 이유제가 속한 VIP & Vertical팀 (VIP 파트)에서 Kafka를 사용하게 된 이유는 크게 다음과 같이 두 가지 이유가 있었습니다.RDB의 부하 조절을 위해 미들웨어인 메시징 플랫폼을 두어 데이터를 처리Review 등록 이후에 같은 데이터를 가지고 여러 가지 작업(Junk 판독, Review Summary) 등의 배치 작업을 하는 병렬 프로세싱을 원했습니다. (..
BackendDevOpsTools
전체 읽기 →카카오페이
2022-08-29 · 거의 4년 전
이미지 처리를 위한 파이썬 서버 프레임워크 선정기 with Django, FastAPI, Sanic
얼굴 인식, OCR 등 실생활에서의 문제를 해결하기 위해서는 이미지 처리를 위한 서버가 필요합니다. 이미지 처리를 담당하는 서버의 프레임워크를 선정하기 위한 테스트 내용과 결과를 공유합니다.
AI/MLBackendTools
전체 읽기 →Spock in Maven
안녕하세요. 저는 지마켓에서 백엔드 시스템을 개발하고 있는 양승권이라고 합니다. 이번에 저희 시스템 중 Maven으로 개발되어있는 시스템들에 Spock framework를 적용한 경험을 공유하고자 합니다. 하고 싶었던 것 신규 프로젝트를 진행하게 되면서 새로운 기능을 개발할 일이 생겼는데, Maven 프로젝트 라서 그런지 Test 쪽이 좀 부족한 상황이었습니다. 그래서 이 참에 한번 이 프로젝트에 적용해보고 다른 Maven 프로젝트에도 적용해보자고 생각했습니다. 아래와 같은 내용을 해보고 싶은 내용들을 도출하였습니다. Spock library를 활용하여 좀 더 직관적인 테스트를 해보자. Spock의 Groovy로 Test code를 작성해보자. 프로필 별로 구분하여 단위/통합 테스트를 구분하여 수행해보자..
BackendTestingTools
전체 읽기 →컬리 검색이 카프카를 들여다본 이야기 2
카프카 스트림즈를 추가하다
BackendTools
전체 읽기 →카카오페이
2022-08-22 · 거의 4년 전
OpenAPI Specification을 이용한 더욱 효과적인 API 문서화
사실상의 표준으로 발돋움 중인 OpenAPI Specification을 이용한 API 문서화 방법(Swagger와 Spring REST Docs의 장점을 합치는 방법)을 공유드립니다.
BackendTools
전체 읽기 →주니어 개발자의 QueryDSL 찔러보기
안녕하세요. Fulfillment Engineering 팀의 입사한 지 1년이 얼마 지나지 않은 싱싱한(?) 주니어 개발자 백정현입니다. 최근 들어 JAVA를 기반으로 한 Spring boot + JPA 또는 Spring Data JPA를 이용한 프로젝트가 많이 보입니다. JPA는 쿼리를 지원하는 다양한 방법들이 있는데, 그중 QueryDSL에 대해서 살포시 찔러보도록 하겠습니다. QueryDSL은 무엇인가요? QueryDSL은 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 오픈소스 프레임워크입니다. 쿼리를 문자열로 작성하거나 작성하는 것이 아닌, QueryDSL이 제공하는 Fluent API를 이용해 코드 작성의 형식으로 쿼리를 생성할 수 있게 도와줍니다. Gradle 설정 Qu..
BackendDatabaseTools
전체 읽기 →객체는 어떻게 식별하고 구현해야 할까?
안녕하세요 Post-tx & Accounting 팀 권우석입니다. 회사에 처음 입사했을 때 저에게 '객체 지향 프로그래밍'은 인터넷에 검색하면 나오는 몇 가지 특성과 설계 원칙으로 대변되는 단어였습니다. 하지만 당장에 프로젝트를 진행한다고 상상했을 때 "어떤 객체가 필요하지?", "객체는 어떻게 구현해야 하지?"와 같은 질문을 마주할 것 같았고, 질문에 대한 답을 명확히 할 수 없는 느낌에 공부를 했었는데요. 이때 공부했던 내용을 아래의 순서로 간단히 정리해보려 합니다. (1) 객체를 식별하는 방법 (2) 객체를 구현하는 방법 (3) 객체들이 협력할 수 있는 구조 객체 지향은 현실의 모방이다? 위 사진을 보면 "배달원이 고객에게 택배를 전달하는 상황"이라는 사실을 어렵지 않게 파악할 수 있습니다. 아마 ..
ArchitectureBackendTools
전체 읽기 →데브시스터즈
2022-08-17 · 거의 4년 전
바삭한 신입들의 동시성 이야기 - Swift편
Swift 5.5에 도입된 async, await 문법의 등장 배경과 동작 원리를 알아봅니다.
AI/MLBackendMobile
전체 읽기 →카카오페이
2022-08-11 · 거의 4년 전
모델 서빙 최적화를 위한 프레임워크 선정과 서빙 성능 극대화하기
카카오페이에서 효율적인 모델 서빙을 위해 프레임워크를 도입한 과정과 프레임워크의 성능 최적화를 위해 테스트한 결과를 공유합니다.
AI/MLBackendTesting
전체 읽기 →Java Generic 을 파헤쳐보자 - 심화편
오랜만에 Java Generic 포스팅으로 돌아왔습니다.이번에는 Java Generic에서 주의해야 하는 심화 개념들을 몇 가지 다뤄보겠습니다.1. Type ErasureJava Generic 을 관통하는 주요 개념 중에 Type Erasure라는 개념이 있습니다.이론적으로는 Generic 을 운영하기 위해 부가적으로 들어간 소스코드들이 바이트코드 레벨에서는 모두 제거되는 것을 의미하는데요.개념편에서 다루었던 예제를 기반으로 좀 더 상세히 알아보겠습니다.public class Tv { private String title; public Tv(String title) { this.title = title; } public String getTitle() { r..
BackendTools
전체 읽기 →데브시스터즈
2022-08-09 · 거의 4년 전
9가지 프로그래밍 언어로 배우는 개념: 2편 - 다형성
프로그래밍 언어들을 비교해가며 다형성을 알아보고 더 나은 코드를 작성하는 방법을 고민해봅니다.
AI/MLBackendTools
전체 읽기 →올리브영 데이터 엔지니어링
…
BackendDatabaseInfra
전체 읽기 →44BITS
2022-08-08 · 거의 4년 전
Django 4.1 릴리스와 주요 변경 사항
2022년 8월 3일에 Django 4.1이 출시되었습니다. 이 글에서는 Django 4.1에 추가된 기능과 바뀐 점을 알아보려 합니다. 릴리스 노트만으로 이해하기가 어려운 기능엔 설명을 조금 보태었습니다.
BackendTools
전체 읽기 →컬리 검색이 카프카를 들여다본 이야기 1
카프카 설정 튜닝만으로 색인 속도를 개선하다
BackendInfraTools
전체 읽기 →44BITS
2022-08-07 · 거의 4년 전
Django 4.1 릴리스와 주요 변경 사항
2022년 8월 3일에 Django 4.1이 출시되었습니다. 이 글에서는 Django 4.1에 추가된 기능과 바뀐 점을 알아보려 합니다. 릴리스 노트만으로 이해하기가 어려운 기능엔 설명을 조금 보태었습니다.
BackendTools
전체 읽기 →