리다이렉트 서버와 FCM 푸시 연동
안녕하세요. 포털개발팀 박정현(Kate) 입니다. 이전 글에 이어서 FCM 푸시와 리다이렉트 서버와의 연동 과정을 작성하게 되었습니다. 과정 중에 만난 문제를 해결해가는 경험을 간략하게 작성을 해보았는데요, 재밌게 읽어주시면 감사하겠습니다. 목차 1. 개요 2. 푸시 서버와 연동 3. 배경 3-1. 내용 4. 클릭 외에도 노출 API 추가하여 log 적재 4-1. 리다이렉트 서버 1차 요구사항 적용 4-2. 리다이렉트 서버 2차 요구사항 적용
BackendMobileSecurity
제목은 Spring Session 도입기로 하겠습니다. 근데 이제 Redis를 곁들인
안녕하세요. 줌인터넷 핀테크개발팀 김민수입니다. 사내에서는 문제를 개선하고 지속 가능한 서비스를 만들기 위한 많은 노력을 하고 있습니다. 회원 서비스의 세션 저장소를 교체하면서 Spring Session을 도입한 경험을 공유합니다. 이런 분들이 읽으면 더 도움이 됩니다. 분산 환경에서 세션 동기화 문제를 해결하고자 하는 분 Spring Session을 도입하고자 하는 분 기존 아키텍처를 유지하면서 서비스를 개선하는 과정이 궁금하신 분 등 목차는
BackendRedisSpring
Tuist 도입부터 적용까지 알려ZUM요! (feat. 모듈화)
안녕하세요 ZUM iOS개발자 김남수(Enes)입니다. ZUM에서는 Tuist를 어떻게 도입하게 되었는지, 어떻게 사용하고 있는지와 Tuist를 적용한 프로젝트를 개선한 경험을 공유하고자 합니다. 가이드 없이 맨땅에 시작한 Tuist와 모듈 아키텍쳐 학습을 기반으로 설계하고 개발한 경험을 공유하는 글이여서 부족한 부분이 있을 수 있습니다. 편하게 읽어주시면 감사하겠습니다 :) Tuist 란? Xcode 프로젝트 생성과 유지관리를 편리하게 하는
ArchitectureMobileToolsiOS
Next, d3로 서버 사이드 지도 렌더링하기
안녕하세요! 프론트엔드개발팀 신입 개발자 백도훈입니다. 줌인터넷 입사 이후에 약 5주동안 진행한 파일럿 프로젝트 진행 과정에 생긴 고민들과 해결 과정을 공유하려고 합니다. 목차 1. 개요 2. 기술 스택 3. 디자인 4. 기능 5. 프로젝트 설계 6. 기술적 고민 7. 마치며 1. 개요 주제 이번에 진행한 파일럿 프로젝트의 주제는 부동산 데이터 시각화입니다. Next.js, 차트, 시각화 라이브러리 등 실무에 필요한 기술 역량을 강화하는것이 이
Data EngineeringFrontendNext.jsPerformance
Redirect 서버 리팩토링 - 파일럿 프로젝트
안녕하세요. 포털개발팀 포털백엔드 개발파트의 박정현(Kate) 입니다. 파일럿 프로젝트로 URL 리다이렉트 서버 레거시 시스템 개선 및 AWS 로 이관하는 업무를 맡게 되어 관련 내용을 공유드리려고 합니다. 목차 1. 프로젝트 설명 1-1. Intro 2. 전체 구성도 2-1. AS-IS 2-2. TO-BE 3. 파일럿 프로젝트 진행(1) - 설계 3-1. 기술 스택 3-2. 개발 일정 3-3. 목표 3-4. 전체 기능 리스트 및 엔티티 구조
AWSArchitectureBackendDevOpsInfra
FCM 푸시 파헤치기
안녕하세요 현재 줌인터넷 핀테크 개발팀 서버개발자로 근무하고있는 김의빈입니다. 이번 포스팅에서는 입사 이후 진행하였던 파일럿프로젝트에 대한 회고와 FCM의 푸시에 대한 이야기를 풀어내 보려고합니다. 해당 글의 내용이 처음 푸시를 접하시는 분들이나 현재 구현을 진행중이신 분들에게 도움이 될 수 있도록 한번 정리해보았습니다. 😊 이번 포스팅에서 알아갈 수 있는 내용은 전반적으로 다음과 같습니다. 푸시란 무엇일까? FCM의 TOKEN, TOPIC
BackendMobileTools
OOP 기반 선착순 투표 시스템 아키텍처
안녕하세요. 저는 Trading Platform팀 Backend 엔지니어로 근무하고 있는 현건수(Pir)입니다. 이번에 투표시스템을 맡게 되어, 일반 투표와 선착순 투표시스템 그리고 앞으로 확장적으로 늘어날 투표 시스템 아키텍처에 대해 OOP 기반으로 구성한 것을 공유하려고 합니다. 목차 투표 시스템 요구사항 투표 시스템 아키텍처 요구사항 투표 시스템 아키텍처 3-1. 확장적인 투표 아키텍처 3-2. 선착순 투표 아키텍처 코드로 보는 투표 시스
ArchitectureBackendMSAPythonTools
WorkStory - 개발자와 함께 성장하는 줌인터넷, 김태기 CTO님 편
줌인터넷에는 혁신적이고, 사용자의 입장에서 더욱 쉽고 편리하게 콘텐츠 경험을 제공할 수 있도록 끊임없이 고민하는 개발자분들이 계십니다. 빅데이터팀, 핀테크개발팀, 포털개발팀, 부설 연구소 그리고 인프라 보안팀까지! 같은 개발실이지만 업무와 역할이 팀마다 천차만별인데요. 줌인터넷의 개발자분들은 어떻게 업무를 하고 있는지 또 맡고 계신 업무의 영역은 무엇인지 미래의 개발자분들과 줌인터넷에서 일하고 싶어 하시는 개발자분들의 궁금증을 말끔하게 해소할
BackendCultureData EngineeringInfraSecurity
검색 데이터 서빙 플랫폼 구축
사용자에게 검색 서비스를 제공하려면 검색 대상이 될 문서에 대한 색인(indexing) 과정과 사용자가 요청하는 쿼리(query), 즉 검색 내용에 대해 일치하는 결과 문서를 제공해야 합니다. 이때 사용자에게는 언제든지 문제 없이 실시간 서비스를 제공해야 합니다. 이러한 검색 서비스를 제공하기 위해 진행했던 개발 과정에 대해 소개합니다. 1. 프로젝트 개요 본 프로젝트는 줌인터넷 신규 입사자로서 진행했던 파일럿 프로젝트로 주요 목적은 검색 대상
BackendDatabaseDevOpsInfraPerformance
BentoML 을 활용하여 딥러닝 모델 API 서빙하기
안녕하세요. 부설연구소 & 빅데이터팀 Data Intelligence 파트의 류혜정입니다. 최근 줌포털 투자탭에 적용하기 위해 개발한 ‘투자줌 뉴스 카테고리 분류 모델’을 BentoML 로 패키징하여 서빙한 경험에 대해 공유하고자 합니다. 😇 0. 모델 배포와 서빙을 더 효율적으로 BentoML 의 공식 깃허브에서는 BentoML 을 아래와 같은 한 문장으로 소개하고 있습니다. “BentoML enables users to create a m
AI/MLBackendMLOpsTools
댓글 모듈 레거시 걷어내기 with TDD
안녕하세요, 포털개발팀 프론트파트의 신입 개발자 김선규 입니다. 이번 글은 파일럿 프로젝트로 진행하게 된 줌인터넷 댓글 모듈 개선과정에 대한 내용입니다. TL;DR JavaScript, jQuery 기반으로 이루어진 댓글 모듈 → Vue, TypeScript 로 개선 TDD(테스트 주도 개발)로 프로젝트를 진행 댓글 모듈 컴포넌트 사내 라이브러리 배포 줌 소셜 댓글 모듈 현재, 줌인터넷의 서브 도메인(투자, 뉴스, 허브 등)은 모두 사진과 같은
FrontendTestingTypeScriptVue
AWS DynamoDB 모델링
DynamoDB를 소개하며 RDBMS ERD기반 설계에서 DynamoDB로 Reverse Modeling하는 방법을 공유합니다. 1. DynamoDB 도입 배경 현재 스타트줌(https://start.zum.com/)에서 개인 별 배경화면 / 레이아웃 / 위치설정 / 사이트 바로가기를 설정할 수 있습니다. 해당 데이터들은 브라우저 로컬 스토리지에 저장되어서 페이지가 렌더링 될 때 로컬 스토리지의 데이터를 읽어서 렌더링하고 있습니다. 그렇기 때문
AWSData EngineeringDatabase
Zum Portal Core JS 소개
본 포스트는 줌인터넷 포털개발팀 프론트엔드 파트에서 사용되고 있는 표준화 core package 에 대해 다루고 있습니다. 안녕하세요! 다시 한 달 만에 블로그 포스트를 작성하게 되었습니다. 이번에는 저희 프론트엔드 파트에서 사용하고 있는 zum-portal-core-js에 대해 다뤄볼 생각입니다. zum-portal-core-js 는 서비스를 만들 때 필요한 Frontend config와 uilts, 그리고 backend config 및 ut
FrontendJavaScriptTools
NestJS Custom Caching Decorator 만들기
본 포스트는 NestJS에 호환 되는 Caching Decorator 를 만들기 위한 삽질 과정을 담고 있습니다. 안녕하세요! 약 한 달 만에 기술블로그에 투고를 합니다. 조금 더 자주 해야 할텐데.. 글쓰기는 항상 어렵네요 😭 줌인터넷 프론트엔드 파트는 프론트 서버에서 NestJS를 사용합니다. 정확히는 NestJS를 이용하여 Backend Core Package를 별도로 구성하여 사용하고 있습니다. 이에 대한 내용은 다음에 제대로 다루도록
BackendTools
Vue SSR 제대로 적용하기 (feat. Vanilla SSR)
안녕하세요, 줌인터넷 포털개발팀 프론트엔드 파트리더 황준일입니다 🙇♂️ 오랜만에 기술블로그에 투고를 하네요. 어떤 글을 주제로 글을 작성해야 유익할까 꽤 오랜 시간 동안 고민을 했습니다. 이번에는 제가 실무를 하면서 생각보다 꽤 많은 삽질을 했던, SSR(Server Side Rendering)을 주제로 다뤄보도록 하겠습니다. 본 포스트는 모바일 줌 SpringBoot → NodeJS 전환기 (feat. VueJS SSR)을 먼저 읽어보면
FrontendNode.jsSpringVue
INVESTING.COM 클론 코딩(feat. Vue JS SSR, CANVAS API)
파일럿 프로젝트 줌인터넷 서비스개발팀 프론트엔드 파트 주니어 개발자들(재민, 도경, 정훈)이 수습 기간 동안진행했던 파일럿 프로젝트 입니다. 진행된 프로젝트는 GitHub 레포지토리에서 확인하실 수 있습니다. 목차 프로젝트 개요 1.1 프로젝트 주제 1.2 요구사항 1.3 프로젝트 기능소개 협업 방법 프로젝트 구조 3.1 프로젝트 전체 구조 3.2 패키지별 구조 3.3 Backend 구조 3.4 Frontend 구조 3.5 common 구조 기
BackendFrontendMobileVue
주니어 프론트엔드 개발자의 채용 프로세스 참여 후기
본 포스트는 기술적인 내용이 아닌, 주니어 개발자인 필자가 함께 일하게 될 신입 개발자 분들을 모시는 과정에 대해 소개하는 글입니다. 1. 변화, 그리고 모집 올해 들어 줌인터넷에는 굉장히 많은 변화가 있었습니다. 먼저 줌 닷컴의 대대적인 개편이 있었습니다. Spring Boot 로 작성 된 레거시 프로젝트를 버리고, nodejs + vuejs 를 적용하면서 거의 모든 것을 갈아엎었습니다. 개편 전 줌닷컴 현재 줌 닷컴 그리고 줌 닷컴의 개편을
CultureFrontendJavaScriptNode.jsVue
Quartz Scheduler Admin 고도화 - 파일럿 프로젝트
개별 서비스에 직접적인 영향은 없으나 서비스 유지보수에 도움이 되는 Quartz Scheduler Admin 에 대한 고도화 작업을 진행함으로서 실무 투입전 포털개발팀에서 사용하는 기술 스펙 적응 및 업무 프로세스 등을 익히고 파일럿 프로젝트 이후에도 계속 사용할 수 있는 산출물을 남김으로서 팀에 기여 하고자 하였습니다. Intro Quartz Scheduler Admin 이란? Quartz Job Scheduler 는 DB 기반으로 스케줄러
BackendDatabaseDevOpsTools