엘키의 주절 주절

소소한 개발 이야기

JWT 사용기

JWT란 Json Web Token으로써, JSON으로 이루어진 데이터를 token화 한 것을 말한다. JWT의 특징은 여럿이 있는데, 정보를 token 내에 보유하고 있는 (self contained) 독특한 토큰이다. 만료 시간은 부여할 수 있으나 강제 만료는 불가능하다. JWT를 이용한 강제 만료를 구현하기 위해선 이를 검증하는 저장소를 한번...

Java 적응기 06 - Netflix Zuul

이번에는 Netflix Zuul 도입기에 대해서 이야기 해보고자 한다. 지난 MSA 그리고 API Gateway 글을 읽고 오면 더 이해가 쉽게 될 것이다. 내가 합류했던 팀은 MSA로 구성되어 있었다. 반면 API Gateway가 존재하지 않았다 보니, frontend에 바로 물려 있는 서버에서 proxy 처리를 해주고 있었고, 그 서버에 ...

MSA 그리고 API Gateway

내가 웹 서버 개발에 어렵지 않게 적응 할 수 있었던 데에는 웹과 게임 서버간에 의외로 비슷한 요소가 많았던 것이 크게 작용했다. 클라이언트와 서버의 연동이 어떻게 이루어지는가, 사용자에게 개방되는 요소가 무엇 인가, 이벤트를 어떻게 주고 받을 것인가 등등 사실상 이질감이 느껴지는 요소가 아주 많지는 않았다. 또 한가지 비슷한 요소가 있었는데, 백...

윈도우 10 앱 추천

RSS Nextgen Reader https://www.microsoft.com/ko-kr/p/nextgen-reader/9wzdncrfj262?activetab=pivot%3aoverviewtab 3300원을 지불해야 하는 유료 앱. Feedly Desktop 지원 앱 중에...

크롬 확장 프로그램 추천

생산성 Check Plus for Gmail Gmail 알리미 별도의 메일 클라이언트가 없이도 간단히 확인 가능해서 좋다 Google Calander 일정 확인 위젯처럼 씀 일정 등록은 지원하지 않아서 구글 캘린더 웹 페이지 띄워놓고 해야 함 Feed...

안드로이드 앱 추천

멀티미디어 나만의 웹툰 https://play.google.com/store/apps/details?id=com.Naman.Webtoon 웹툰 링크를 모아두는 앱. 원래 모두의 웹툰 썼는데, 마이너한 웹툰 링크 달기 기능이 여기에만 있어서 이걸 쓰게 됨. ...

내가 다양한 언어를 익힌 이유

최근에 이런 질문을 여러 차례 받았다. 왜 그렇게 다양한 언어를 하세요? 나는 C언어로 프로그래밍을 시작했고 자연스레 C++을 하게 됐다. 내가 프로그래밍을 배우던 시기나, 그리고 처음 취업을 했던 2005년 게임 업계에서 게임 개발을 위해선 차선이 없었다. C++을 제외한 언어는 툴 개발이나, 일부 스크립팅에 제한적으로 사용했을 뿐이다....

브루스 테이트의 세븐 랭귀지

(국내에선 더더욱) 마이너하지만, 컨셉이 확실해 장점이 있는 언어들의 개념을 이해시켜주는 책이었다. 루비, lo, 스칼라, 프롤로그, 얼랭, 클로저, 하스켈 7개 언어를 이야기하는데, 그 패러다임이 어떤 것인지 이해하는 데에 쉽도록 짤막하게 잘 요약되어 있었다. 루비 생산성에 특화된 언어 언어의 기능을 ...

100만건이상의 데이터를 다룰때 생기는 RDB성능 이야기

나는 작은 온라인 게임회사에서 커리어를 시작했다. MMORPG 클라이언트 개발자로 시작했던 나는, 길지 않은 시기에 회사가 매각되면서 자연스레 퇴사하게되었다. 그렇게 군입대를 준비하던 중 병역 특례 지정 업체였던 또 다른 온라인 게임 회사에 지원하게 됐고, 면접 과정을 통해 서버 프로그래머 전향을 권유 받으며, 서버 프로그래머로써의 커리어를 시작하게...

샤딩과 레플리카

샤딩을 왜 할까? 샤딩은 단일 논리적 데이터 셋을 다수의 데이터 베이스에 쪼개고 나누는 방법이다. 레플리카란 뭔가? 이중화를 의미하며, 미러링, 백업 디비 등의 용어로도 통용되는데 다양한 방식으로 구현되는 복제를 지칭한다. 샤딩의 목적은 데이터를 분산 저장함으로써, 트래픽...