Python의 yield from 키워드는 무엇일까

March 4, 2018 Code

몇 년 전에 yield 키워드에 대한 글을 쓴 적이 있습니다. 근데 이 글을 쓴 뒤로 잊을만 하면 받은 질문이 있습니다. 그럼 yield from은 뭐에요? 그 질문에 답하는 글을...

기초적인 HTTP 상태 코드들

February 8, 2018 Dev

HTTP 통신의 응답 결과에는 Status Code가 포함됩니다. 해당 코드를 통해 결과가 어떠하다는 것을 요약적으로 할 수 있죠. 하지만 제가 만든 API들은 죄다 따로따로 개판인 것 같아서 어떻게 하는게...

Open man page as PDF

December 9, 2017 Code

※ 이 글은 예전 Tumblr 블로그에 썼던 글을 이전한 것입니다. 이상한모임에서 대화중에 재미있는 기능을 소개받았습니다. macOS 한정으로 man 명령어 결과를 PDF 파일을 보듯 볼 수 있는 방법1에 대한...

Python typing으로 인한 순환 참조 대응책

December 3, 2017 Code

기본 지식 Python typing이 무엇인지 모르시는 분들은 이 글을 읽어보시는 걸 추천합니다. 빙글빙글 때는 신나게 Slack bot을 개발하던 시점이었습니다.1 복잡도가 상승하면서 별도 클래스나 모듈로 분리하는 요소가 많아지기 시작했죠....

aiohttp로 하는 비동기 HTTP 요청

November 26, 2017 Code

덕질을 하다보니 소드 아트 온라인 덕질을 열심히 하던 저는, 인터넷상에 소드 아트 온라인이 웹 연재되던 시절의 원고를 다운받을 수 있음을 알게 되었습니다. 모조리 다운받고 싶었는데, 파일이 59개나 되는...

컴공과의 타임머신: 6장

November 21, 2017 Dev

※ 이 글은 이상한모임에서 lemonade(현지환)님과 수다를 떨다가 "이런 내용의 책, 재밌지 않을까?" 라는 이야기가 나와서 쓰기 시작한 글입니다. 시리즈물로 제가 생각한 앞 부분만 살짝 연재해볼 생각입니다. 책으로 내보자는...

mypy와 함께하는 Python Typing

September 14, 2017 Code

파이썬은 자유로운 영혼이에요 Python의 장점 중 하나를 꼽으라면 동적 타입 언어(dynamic typing language)라는 점입니다. 실행하는 시점에서 변수의 타입을 고려하기 때문에 타입을 신경쓰지 않고 코딩이 가능하죠. 아래 코드는 파이썬의...

인격체를 프로그래밍 할 수 있다면?

March 6, 2017 Opinion

이미 아는 분들은 다 아시겠지만, 이 블로그의 필자는 상당한 오타쿠입니다. 특히 소드 아트 온라인은 상당히 좋아해서 소설도 사서 모으고 있고, 방에 포스터도 붙여놓았습니다. 최근에 개봉한 극장판의 경우는 이...

create-react-app 모험 파트 1

February 14, 2017 Dev

줄곧 React 계열의 기술 스택을 활용해보고 싶다고 생각했지만 기회가 오지 않아 해보지 못하고 있었습니다. 그러던 와중, 시뮬레이터 프로그램을 만들 일이 생겨서 React를 차용하기로 했죠. 하지만 제 실력이 너무...

macOS가 SSH Key를 기억하지 못하는 문제 고치기

December 15, 2016 Dev

언제부터인가 SSH에 연관된 작업을 할 때 비밀번호를 요구하기 시작했습니다. 저는 SSH Key를 등록해놓고 사용하므로 비밀번호가 필요할 리 없었습니다. 참고 쓰다가 인내심의 한계를 맞이하고 수정을 위해 여러가지 시도를 해...

Git 커밋 메시지 작성법

November 1, 2016 Dev

프로젝트가 지루하게 늘어지면, 커밋 메시지는 점점 더 무의미해진다. 들어가며 | 일곱 가지 규칙 | 팁들 | 원문 들어가며: 좋은 커밋 메시지는 왜 중요한가? Git 저장소 중 아무거나 골라...

SlideShare에서 자국어 폰트 사용하기

October 31, 2016 Dev

tl;dr: cat /path/to/pdf.pdf | grep -a Ordering for know nation LANG=C LC_ALL=C sed -i '' s'|/Registry (Adobe) /Ordering (NationName) /Supplement [0-9]|/Registry(Adobe) /Ordering(Identity) /Supplement 0|g' filename.pdf SlideShare에서 폰트 사용이...

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

September 8, 2016 Code

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

블로그 중간 평가

August 12, 2016 Life

잠이 안 와서 웹 서핑을 하던 도중 GA로 블로그를 분석하는 방법에 대한 글을 접했습니다. 이 글에서는 블로그를 왜 운영하는지가 확실해야 분석할 방향이 잡힌다는 이야기를 해주었죠. 확실히 저는 최근...

더 똑똑한 Git diff 만들기

June 14, 2016 Code

개발하다 보면 diff를 봐야할 경우가 많습니다. 형상관리를 쓰다 보면 diff를 볼 일이 더 많습니다. 저는 Git을 주로 사용하는데, diff를 볼 때 짜증 나는 점이 있었습니다. 바꾸지 않은 줄이...

CSS Framework는 만병통치약이 아니다

June 9, 2016 Dev

상당수의 사람들이 이런 이야기를 하는 것을 봅니다. "제품 디자인은 Bootstrap 정도면 충분하고" Bootstrap이란 트위터에서 배포한 CSS Framework을 말합니다. 이것을 사용하면 초기 구성에 용이함이 많은 사례로 검증되었고, 이제는 디자인의...

Python의 Generator와 yield 키워드

May 9, 2016 Code

Python의 반복문 보통 for 구문을 사용해서 0부터 99까지 반복한다고 하면 다른 프로그래밍 언어에선 이런 느낌이 됩니다. for (let i = 0; i < 99; ++i) { do_something(i); }...

SCSS 최적화 전략

April 26, 2016 Code

최근 개발작업에서 Webpack, ES2015, SCSS를 사용했는데, 협업하는분이 빌드가 너무 오래걸린다고 하여 분석해보았습니다. 그 결과 SCSS가 대부분의 빌드시간을 차지하고 있었죠. SCSS가 느리다? 가장 먼저 해본 추측은 SCSS 자체가 느리다는...

Flask에서 숫자를 콤마와 함께 출력하기

April 21, 2016 Code

웹 개발을 하다보면 숫자를 출력할 일이 참 많습니다. 그런데, 사람이 읽기에는 콤마(,)가 있는 편이 읽기 편합니다. PHP에는 number_format이란 함수가 있어서 그 역할을 합니다. Django의 경우 humanize contrib에 intcomma라는...

SQLAlchemy에서 모든 테이블의 모든 자료 지우기

March 30, 2016 Code

개인적으로 개발을 하는데 DB Schema는 보존하면서 DB에 있는 모든 내용은 지우는 작업을 해야 할 필요가 생겼습니다. 테스트용 Dummy data를 발생시켜야 하는데 중복되는 dummy가 발생되면 안 되기 때문이었죠. 단순히...

테스트 코드랑 코딩하기

March 19, 2016 Code

프로그래머는 코드를 코드로 테스트해야합니다. 이 말을 하면 두 가지 반응이 있을 수 있습니다. 어떻게? 왜? 테스트는 테스터가 하는거 아냐? 너무 당연한거 아닌가? 이 글은 1번으로 생각하는 분들을 위해...

알파고와 머신러닝에 대한 생각

March 9, 2016 Dev

※ 알파고가 딥러닝을 쓴 것은 알고 있지만 사람이 아닌 것이 배운다는 측면에서 머신러닝이란 단어로 모두 통일했습니다. 사실 저는 머신러닝, AI, Data Science등의 분야에 대해 저랑은 좀 멀리 있는...

Python REPL를 원하는 Context로 만들기

March 5, 2016 Blog

Python 소스를 줄 단위로 실행하고 즉각적인 반응을 보는데에 있어서 REPL는 상당히 편리한 도구입니다. 하지만 매번 실행할때마다 import를 새로 해야한다던가 하는 부분이 있다면 상당히 귀찮은 문제가 됩니다. 이 문제는...

컴공과의 타임머신: 5장

February 21, 2016 Dev

※ 이 글은 제이펍 출판사의 현지환님과 수다를 떨다가 "이런 내용의 책, 재밌지 않을까?" 라는 이야기가 나와서 쓰기 시작한 글입니다. 시리즈물로 제가 생각한 앞 부분만 살짝 연재해볼 생각입니다. 책으로...

지속가능한 개발을 위한 저축 계획

February 19, 2016 Gadget Life

저는 Software Maestro를 시작한 이후로 Macbook Pro를 주 OS로 사용하고 있습니다. 이유라면 프로젝트에서 Python을 썼는데, Python 개발에 있어서 Windows보다 훨씬 나은 생태계를 가지고 있기 때문입니다. 그런데 어제, 갑자기...

Samba와 NT_STATUS_ACCESS_DENIED

February 18, 2016 Code

read this answer. 간만에 홈서버에 SSH로 접속하자 Ubuntu 15.10으로 업데이트를 권하더군요. 저는 가벼운 마음으로 업데이트를 실행했습니다. 그리고 이런저런 트러블슈팅을 해야했죠.1 그중에 가장 끔찍했던 것이 바로 Samba, 파일 공유...