Ethan Hur's blog

TDD를 읽고

언제나 그렇듯 갓개발자의 추천을 받고 TDD:By Example 을 읽었다. 사실 1부의 Currency Example 의 전개 과정을 읽고 싶어서 샀는데, 나름 재미있어서 금방 읽은 것 같다. 1부에서 켄트 벡 아조씨의 논리전개는 정말 환상적이었다. 밥 아저씨 ...
Read more

Value Object Pattern

Value Object PatternValue Object Pattern 에서는 객체를 마치 Primitive 한 값처럼 사용한다. 만약 값 5에 5를 더하는 메소드를 호출하면, 그 객체가 값이 10이 되는 것이 아니라 10이라는 값을 담은 객체를 반환한다. V ...
Read more

백준 온라인 저지 #10211 Maximum Subarray

PS
매일프로그래밍 구독을 저번주에 시작했다. 첫번째로 나온 문제가 제목의 문제와 같아 채점 겸 코딩을 해보았다. 123456789101112131415161718192021222324252627#include<stdio.h>int main() { ...
Read more

Python 과 GIL, 그리고 Python 의 Concurrency

Python 과 GIL, 그리고 Python 의 ConcurrencyPython 에는 Global Interpreter Lock 이라는 것이 존재한다. Global Interpreter Lock 은 Coarse-Grained Lock 의 끝판왕으로써 항상 특정 ...
Read more

git 과 Asset

서론회사에서 운영하는 EC2 서버에 GitLab을 깔아서 쓰고 있었다. 그런데 오늘, GitLab에 갑자기 push 가 안되길래 살펴보다가 disk space 를 100% 차지하고 있던 것을 발견했다. 최근 git 으로 그냥 돌리던 레포들을 GitLab으로 이전 ...
Read more

리소스 패치 시스템 개발기

서론지난 3개월동안 다니는 회사에서 리소스 패치 시스템을 개발했다. 기존에는 퍼블리셔가 제공하는 리소스 패치 시스템 등의 인프라를 사용하였지만, 자체 퍼블리싱을 준비함에 따라 직접 만들게 되었다. 모바일 게임을 즐겨보면 알겠지만, 어떤 패치는 앱스토어에서 새로 ...
Read more

Nodejs Mysql 과 Stream

Node.js
Node.js Stream 을 이용하여 .pipe() 을 거는 코딩을 했다. 꿀잼이었다. Node.js 의 Stream 문서에 나와있는 인터페이스를 잘 활용하면 어렵지 않게 할 수 있다. Stream 에는 크게 Readable Stream 과 Writable S ...
Read more

Django ORM default 값

Django
요즘 회사에서 Django 를 사용하고 있다. Django 의 경우에는 자체적으로 ORM 을 사용하고 있는데, ORM의 default 값 때문에 삽질한 로그를 적어본다. django model 을 다음과 같이 선언한다. 1234class Musician(mode ...
Read more

2017년 반성

2017년은 내가 개발자로 현업에서 full 로 일한 첫번째 해였다. 1년동안 일을 하면서 문제해결력은 확실히 성장한 것 같다. 특히 네트워크 관련 지식을 (생존을 위해) 공부하게 되면서, 내가 시스템을 설계할 수 있겠다는 자신감은 생긴 것 같다. 하반기에 인프 ...
Read more

시간 관련 디버깅

Mysql
시즌제로 운영되는 컨텐츠가 있었는데, 기존에는 시즌이 간격을 두고 진행되다가 1달마다 상시 진행되는 것으로 바뀌었다. 근본적인 원인은 시즌마다 새로 row를 따지 않고 같은 row 에 덮어쓰기 하는 방식으로 데이터 구조를 설계했던 것이라고 생각한다. (데이터 덮 ...
Read more
Prev Next