Code

JSON API Specification v1.0 (3) – Document Structure (3)

September 17, 2016 Code

5.2. 리소스 오브젝트 (Resource Objects) “리소스 오브젝트”는 자원을 나타내는 데 사용되는 JSON API에 표시됩니다. “Resource objects” appear in a JSON API document to represent resources. 리소스 오브젝트는 적어도 다음 최상위 멤버가...

setup.py와 requirements.txt의 차이점과 사용 방법

September 13, 2016 Code

파이썬을 사용하다보면 setup.py와 requirements.txt를 필연적으로 마주하게 된다. 처음 봤을 때는 이 둘의 용도가 비슷하게 느껴져서 마치 둘 중 하나를 골라야 하는지, 어떤 용도로 무엇을 써야 하는지 고민하게 된다....

Ubuntu 16.04에서 FLAC+CUE 파일 분할하기

September 8, 2016 Code

노래를 찾아다니다가 간신히 찾았더니 flac 파일과 cue파일만 덩그러니 있는 것을 받았습니다. flac 파일을 재생하면 원하는 노래가 들어있는 것은 확실하지만 음반 전체가 재생이 되서 곤란합니다. 원하는 곡만 잘라내서 듣고...

[Django] settings 파일 & 비밀 변수 분리

September 5, 2016 Code

Two scoops of django 책의 5장, ‘settings와 requirements 파일’을 보고 개인 프로젝트에 두 가지를 리팩토링해야겠다는 생각이 들었다. 비밀 값(e.g. OAuth 토큰) 코드에서 분리 환경별로 settings 파일 분리 제일...

git-open 사용하기

September 1, 2016 Code

아는 분이 git-open을 소개해주셔서 사용해보기 시작했는데 꽤 마음에 들어서 소개글을 작성해봅니다. 이 툴은 터미널에서 저장소 홈페이지를 바로 열 수 있게 해주는 툴입니다. Github, Gist, Gitlab, bitbucket을 지원합니다. 설명보다는...

New Rails Test Runner

August 31, 2016 Code

Rails 5에서는 새로운 테스트 러너가 도입되었습니다. 알고 계시나요? 이번에는 새로 도입된 테스트 러너의 기능에 대해서 알아볼까 합니다. 짧은 요약본은 아래의 릴리스 노트를 참고하세요. bin/rails test 기본적인 테스트 실행은...

리눅스 접근 권한, 특수 권한 설정 정리

August 24, 2016 Code

최근 프로젝트 중 인프라 회사와 함께 협업하는 프로젝트가 있었다. 이전까지 사용하던 방식과는 다르게 상당히 세세한 퍼미션 설정으로 환경을 잡길래 다시 공부하는 겸 정리하게 되었다. 리눅스(또는 Unix-like) 시스템에서는 파일의...

Refactoring Series – use scope access

August 19, 2016 Code

가끔은 의식적으로 이유를 붙여가며 리팩토링해보는 것도 좋은 경험이 될 것 같아서 레포트 형식으로 작성하는 시리즈입니다. 소재는 여기저기서 제가 보던 코드를 가져오고 있으며, 물론 그대로 가져오진 않고 필요한 부분만...

JavaScript 프록시(Proxy)

August 17, 2016 Code

Proxy As a Design Pattern 프록시는 일반적으로 다른 어떤 클래스의 인터페이스로 동작하는 클래스이다. (중략) 요컨대, 프록시는 내부적으로 실제의 객체(real subject)에 접근할 때 호출되는 래퍼(wrapper) 혹은 대리 객체다. –...

ABI – Application Binary Interface

August 16, 2016 Code

Swift 4를 시작했음을 보고 관련된 내용을 살펴보는데 ABI라는 처음보는 단어가 나와 찾아보았습니다. ABI는 Application Binary Interface(응용 프로그램 이진 인터페이스)의 줄임말로 응용 프로그램과 운영체제 또는 응용 프로그램과 라이브러리, 응용프로그램의...

Refactoring Series – go out

August 15, 2016 Code

가끔은 의식적으로 이유를 붙여가며 리팩토링해보는 것도 좋은 경험이 될 것 같아서 레포트 형식으로 작성하는 시리즈입니다. 소재는 여기저기서 제가 보던 코드를 가져오고 있으며, 물론 그대로 가져오진 않고 필요한 부분만...

[Swift]@IBOutlet의 Forced Unwrapping Optional(!) vs Optional(?)

August 11, 2016 Code

얼마 전 개발 진행하면서 코드로 UI를 개발하던 부분들을 Storyboard로 이전하다가 예상치 못한 부분이 있었습니다. 바로 @IBOutlet 입니다. 아이폰, 아이패드에 대응하여 개발하다가 Storyboard 하나에 모두 넣기엔 너무 방대해져서, 어떤...

Letsencrypt & nginx ssl setting

August 7, 2016 Code

Letsencrypt 를 적용해 보기로 하고 이 블로그는 Apache 로 운영되고 있어서 certbot-auto 을 이용해서 --apache 옵션을 주고 했는데 뭔가 이상하게 잘 안되었다. Apache 의 설정 문제인지 모르겠지만, 회사에서...

Python flake8 사용하기

August 3, 2016 Code

pep8, flake8 등의 툴이 파이썬 코드의 정적검사를 하는 툴이다. $ python -m pip install flake8 flake8 --count --exclude ./tests,./docs --ignore E501,F401 # --count : 위반 개수 표시 #...

[underscore] extend 올바르게 사용하기

July 31, 2016 Code

객체를 확장하는 extend()는 복사용도로도 쓸 수 있는 정말 편리한 메소드지만, 사용하면서 주의할 점이 하나 있는데, 바로 인자 순서이다. 예를 들어, 여러 명의 사람 정보를 저장한 배열에 똑같은 프로퍼티를...

[Django] Admin Customizing하기

July 27, 2016 Code

Admin Form 커스터마이즈하기 class QuestionAdmin(admin.ModelAdmin): fields = ['pub_date', 'question_text'] # 필드 순서 조정 admin.site.register(Question, QuestionAdmin) # 두 번째 인자로 위에 만든 model admin class를 넘긴다. class QuestionAdmin(admin.ModelAdmin): fieldsets...

Heroku에 Django Project 올리기

July 27, 2016 Code

Heroku Starter Template 으로 Django 개발 template 다운 받기 https://github.com/heroku/heroku-django-template 아예 처음부터 template 기반으로 시작하기 $ django-admin.py startproject --template=https://github.com/heroku/heroku-django-template/archive/master.zip --name=Procfile helloworld $ pip freeze > requirement.txt # 설치...