Tech
5 posts
주니어의 눈에 비치는 설계 1

서론 폭발적으로 성장하는 서비스들은 그 성장세를 효과적으로 처리하기 위한 고민을 한다. 감사하게도 내가 있는 회사의 서비스도 굉장히 폭발적으로 성장하였다. 2020년 11월에 입사해서 어느덧 1년이 다 되어가는데, 그 사이에 매출이 거의 2.5배 정도로 뛰었다. 작년 11월에 입사했을 때도 거의 매일같이 순 거래액을 갱신할 정도로 크게 성장했는데, 그 이후에도 멈추지 않고 현재까지 달려왔다. ‘이 목표액 달성하면 전 직원 하와이 보내드리겠습니다’ 하고 CEO가 얘기한 조금은 허황되어 보였던 금액도 지금이라면 진짜 달성할 것 같다고 생각할 정도로 많이 성장했다. 우리 메인 페이지의 트래픽도 많이 늘었듯이 내가 담당하는 백오피스 시스템의 시스템 메트릭들도 껑충껑충 뛰고 있다. 물론 메트릭이 뛰는 이유는 대체로 과거에 이 시스템이 개같이 만들어졌고 그것을 적절한 시기에 청산하지 못한 잘못이 제일 크지만, 이 서비스를 갈아엎고 새 서비스를 만드는게 기존 서비스를 수정하는 것과 비슷한 공수…

October 11, 2021
Tech
Javadoc 작성기

최근에 Jetty기반의 서버를 하나 개발하게 되었다. 릴리스를 할 수 있는 수준까지 개발이 되었고, 진척이 됨에 따라 중간중간에 주석으로만 남겨두거나 간단하게만 적었던 설명들을 Javadoc을 이용해서 구체화하게 되었다. Javadoc은 소스코드 주석을 이용해 API 문서를 만드는 유틸리티고, 지금까지도 Java 문서화하면 먼저 나오는 단어들 중 하나일만큼 유명하다. 유명하고 자주 봐서 그런지 그만큼 사용하기 편한 것 같아서 나도 이용하게 되었다. 이번 글에서는 내가 어떻게 Javadoc을 사용했는지 남겨본다. 1. Javadoc이 필요한가? 일단 소스코드 상으로 보는 문서가 아니라 페이지 형태로 정리된 문서는 내가 원하는 클래스를 찾기 편하게 만든다고 생각한다. JDK API reference들도 보면 javaadoc으로 만들어졌는데, 패키지와 클래스가 왼쪽 메뉴에 있다. 이를 통해서 원하는 이름의 클래스를 쉽게 찾을 수 있고, 클래스를 쉽게 찾으면 원하는 인터페이스를 찾는데 더…

December 16, 2019
Tech
암호화 겉핥기

근래 어떤 서비스를 구현하는 과정에서 요청의 유효성을 판단할 용도인 키의 처리를 위해 암호화를 고민하게 되었다. 그래서 이번 글에서는 암호화 알고리즘 적용 과정에서 나왔던 질문에 대한 내 나름대로의 정리를 남겨보고자 한다. 1. 암호화? 암호화 알고리즘? 암호화를 한마디로 정의하자면 “수학적인 과정을 통해 정보를 가진 문자열을 의미 없는 문자열로 바꾸는 것” 정도라고 생각한다. 암호화 알고리즘을 설계할 때 confusion과 diffusion의 성질을 이용한다. 이 성질들을 얻기 위해 substituion과 permutation이 사용되며, 이들을 적절히 조합하여 round를 만들고 구성된 round들을 반복하는 방식으로 암호화가 이루어진다. Confusion과 diffusion에 대해서 간단하게 설명하면.. 통계 및 암호화 분석 방법으로 암호를 분석하기 어렵게 방해하는 성질들 따라서 생성된 값의 역상관관계(decorrelation)가 중요한 해쉬 함수나 의사 난수 생성기의 설계 …

December 01, 2019
Tech
Gatsby(개츠비)로 블로그 시작하기

기존 블로그는 Ghost라는 CMS를 사용한 블로그였다. 그러나 내가 블로그를 사용하면서 하는 일은 markdown 문서를 먼저 만들고 그걸 ghost의 편집기에 붙여넣어서 포스팅을 하는 일 뿐이었다. 이게 전부라면 굳이 CMS를 쓰지 않고 정적 HTML만 생성하고 AWS가 아닌 다른 무료 호스팅 서비스를 이용해도 될 것이었다. 그래서 이 참에 블로그를 바꾸기로 결심하였고, Gatsby로 만드는 블로그를 Netlify를 통해 배포하였다. 블로그는 https://github.com/Fleta/fleta.log 레포지토리를 통해 관리되며 이는 다른 유저분이 Gatsby-starter-blog를 이용해 만들어주신 블로그 템플릿을 fork 하여 만들었다. 이 과정에서 Gatsby에 대한 이해가 좀 부족한 것 같아 찾아보았고, 나름 정리한 내용을 블로그에 남겨보고자 한다. 1. 정적 사이트 생성기 가장 널리 알려진 정적 사이트 호스팅 서비스는 Github Pages인데, markdown을 …

November 21, 2019
Tech
Amazon (Lightsail + Route53) + Ghost로 개인 블로그 만들기

이번에 AWS lightsail + Route53, ghost 로 블로그를 새로 만들게 되었다. 블로그를 세팅하는 과정에 대해 기록한다. 1. Amazon lightsail Amazon Lightsail page 에서 Lightsail에 대한 소개를 볼 수 있다. 기존에 계정이 없었다면 계정을 생성해야 하며 계정을 생성하는 과정에서 $1 의 시험 결제가 이루어졌다가 취소된다. VISA 등 해외 결제가 되는 카드가 있는지 확인이 필요하다. 인스턴스는 Amazon Lightsail - Create an instance 페이지에서 만들 수 있다. 본인은 에 옵션으로 생성하였고, 플랜은 가장 싼 플랜($3.50 per month) 으로 생성했다. 이후에 플랜을 변경할 수 있고 변경하는 과정도 크게 어렵지는 않으니 일단 싼 걸로 진행했다. 2. 서버 세팅 인스턴스가 생성되었다면 관리 페이지로 접속하여 Static IP를 발급 받는다. Networking 탭에서 IP 정보를 확인할 수 있는…

September 05, 2019
Tech