BlogHide Resteemsethanhur (36)in kr-dev • 7 years agoNode.js + Express 성능 관련 삽질 내용 정리회사에서 Node.js + Express 로 돌고 있는 서버의 퍼포먼스를 측정하는 일을 했었다. 실제로 큰 소득이 있지는 않았지만 그 과정에서 깨닫게 된 (당연하게 보이는) 것들을 정리해보았다. EC2 C5.xlarge 기준 Express 1 프로세스 (1 core) 의 이론적 Request Per Sec 한계는 4000 정도 인듯…ethanhur (36)in kr-dev • 7 years ago그림으로 배우는 IT 인프라 구조 를 읽고심심해서 YES24 에서 책을 뒤져보다가 산 그림으로 배우는 IT 인프라 구조 를 읽었다. 목차의 키워드만 보고 읽어봐야 할 내용일 거 같아서 구매하고는, 이직에 바빠 읽지 않았었다. 정리하는 느낌으로 읽었는데, 그리 배운 건 많지 않은 것 같다. 일단 책 자체가 옛날 책이고, 엄청나게 broad 한 내용을 다루고 있어서 다루지 않는…ethanhur (36)in kr-dev • 7 years agosteemCreated with Sketch.TDD를 읽고언제나 그렇듯 추천을 받고 TDD:By Example 을 읽었다. 사실 1부의 Currency Example 의 전개 과정을 읽고 싶어서 샀는데, 나름 재미있어서 금방 읽은 것 같다. 1부에서 켄트 벡 아조씨의 논리전개는 정말 환상적이었다. 밥 아저씨의 그림을 보는 것처럼 쓱싹쓱싹 뭔가를 하니 시스템이 하나 완성된 느낌이랄까? 1부…ethanhur (36)in kr-dev • 7 years agosteemCreated with Sketch.Value Object PatternValue Object Pattern Value Object Pattern 에서는 객체를 마치 Primitive 한 값처럼 사용한다. 만약 값 5에 5를 더하는 메소드를 호출하면, 그 객체가 값이 10이 되는 것이 아니라 10이라는 값을 담은 객체를 반환한다. Value Object 들은 initialized 된 뒤 값이 바뀌면 안된다.…ethanhur (36)in kr • 7 years agosteemCreated with Sketch.오늘의 지름사실 어제 지른 거 ㅋㅋㅋㅋ 면세점 맥켈란은 12년산을 팔지 않고, select oak라는 NAS 제품을 판다. 다른 글렌리벳이나, 글렌피딕 등의 NAS 제품군보다 평가가 좋아 구입 제주면세점에서 82000 정도 주고 샀다. 오래 먹어야지ethanhur (36)in kr • 7 years ago블랙팬서 리뷰블랙팬서를 봤다. 사실 개봉일에 바로 봤지만, 설 연휴로 인해 바빠 지금 포스팅한다. 영화는 전체적으로 아주 만족스러웠다. 히어로 영화를 이렇게 세련되게 잘 표현할 수 있었다는 것에 감탄했다. 개인적으로 마블 시네마틱 유니버스가 왜 21세기 최고의 영화 프랜차이즈 중 하나인지 잘 보여주는 작품이었다고 생각한다. 여러 복선이 정말 훌륭했고…ethanhur (36)in kr-dev • 7 years agoPython 과 GIL, 그리고 Python 의 ConcurrencyPython 과 GIL, 그리고 Python 의 Concurrency Python 에는 Global Interpreter Lock 이라는 것이 존재한다. Global Interpreter Lock 은 Coarse-Grained Lock 의 끝판왕으로써 항상 특정 시점에 1개의 쓰레드만 동작하도록 하는 Lock 이다. 한마디로 One Huge…ethanhur (36)in kr • 7 years ago잡생각 Dump성공과 운, 그리고 노력 블루홀이 설을 맞이하여 직원들에게 인센티브를 지급한다는 기사 를 읽었다. 그러다가 갑자기 (사실 술김에) 성공과 운에 대한 고찰 (사실 잡생각) 을 하기 시작했다. 성공에서 운이 차지하는 비중은 얼마나 될까? 갤럭시 노트 7 이 판매중지가 되었지만, 그건 일부 기능의 문제이지 다른 파트를 맡고 있던 개인은…ethanhur (36)in kr-dev • 7 years agoNominal Typing VS Structural Typing ( + Duck Typing)Type System 3가지 Nominal Type System Structural Type System Duck Typing Nominal Type System C++, Java 에서 만날 수 있는 타입 시스템이다. 우리가 기본적으로 알고 있듯이 이름이 같아야 한다. class A {ethanhur (36)in kr-dev • 7 years agoGit 과 Asset 관리서론 회사에서 운영하는 EC2 서버에 GitLab을 깔아서 쓰고 있었다. 그런데 오늘, GitLab에 갑자기 push 가 안되길래 살펴보다가 disk space 를 100% 차지하고 있던 것을 발견했다. 최근 git 으로 그냥 돌리던 레포들을 GitLab으로 이전했고, 새로운 프로젝트를 하기 위해 레포를 새로 파서 급격한 용량 증가가…ethanhur (36)in kr-dev • 7 years agosteemCreated with Sketch.Nodejs Mysql 과 StreamNode.js Stream 을 이용하여 .pipe() 을 거는 코딩을 했다. 꿀잼이었다. Node.js 의 Stream 문서 에 나와있는 인터페이스를 잘 활용하면 어렵지 않게 할 수 있다. Stream 에는 크게 Readable Stream 과 Writable Stream 이 있고, 이 두개를 잘 합친 Duplex 와 Transform 이…ethanhur (36)in computerscience • 7 years ago리소스 패치 시스템 개발기서론 지난 3개월동안 다니는 회사에서 리소스 패치 시스템을 개발했다. 기존에는 퍼블리셔가 제공하는 리소스 패치 시스템 등의 인프라를 사용하였지만, 자체 퍼블리싱을 준비함에 따라 직접 만들게 되었다. 모바일 게임을 즐겨보면 알겠지만, 어떤 패치는 앱스토어에서 새로 앱을 다운받을 필요 없이, 로비 화면 등에서 간단한 다운로드를 받고 계속 게임을…