Code

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

March 4, 2018 Code

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

안드로이드 KTX

February 24, 2018 Code

2018년 2월 5일 구글은 안드로이드 KTX를 발표했는데 구글의 소개 문장을 인용하면 다음과 같다. Android KTX provides a nice API layer on top of both Android framework and Support...

flask-mqtt : subscribe 시 qos 설정 이슈 수정하기

January 29, 2018 Code

이번 프로젝트를 하면서 주문관련 부분을 기존의 폴링(polling) 을 하던 방식에서 중간에 브로커서버를 두고 주문하는 쪽에서 주문을 보내면 브로커 서버의 특정 topic 을 구독하고 있는 구독자가 해당 주문을 받는...

PHP에서 커링 currying 함수 작성하기

January 27, 2018 Code

JavaScript에서 커링 currying 함수 작성하기를 다시 보다가 PHP로도 작성해봤다. function curry($fn) { $arity = (new ReflectionFunction($fn))->getNumberOfParameters(); return ($resolver = function (...$memory) use ($fn, $arity, &$resolver) { return function...

ReactPHP의 Process로 pipe 사용하기

January 23, 2018 Code

ReactPHP의 child-process 패키지를 사용하면 손쉽게 pipe를 사용할 수 있다. 아래 명령을 코드로 전환한다고 생각해보자. $ cat app.php | wc -l 수작업으로 proc_open 열어서 pipe를 받아 fread, fwrite 해도...

[CSS] 반응형으로 정사각형 만들기

January 17, 2018 Code

결론: after요소에 padding-bottom을 100% 넣어주면 된다. 내부에 다양한 크기에 컨텐츠가 있다면, position: absolute인 width, height 100%인 div로 감싸준다. <div class="note"> <div class="inner"> <div class="title">{noteData.title}</div> </div> </div> .note {...

광광 울며 정리하는 Javascript의 this

January 12, 2018 Code

전역에서 함수를 할당하면 window로 들어가는구나. 그래서 그 속에서 this를 찍어보면 Window객체가 나온다. new Foo()로 초기화하면 예상했던 대로 Foo { }가 나오고. 면접에서 털리고 광광 울며 정리중 js에서 모든...

jinja – {% break %} 사용하기

January 9, 2018 Code

jinja template 는 강력한 형태의 for 문을 제공하는데, 당연히 일반적인 for 문 안에서의 continue 나 break 등이 가능할 것이라고 생각하지만, 기본적으로 제공하지는 않는다. 이런 기능을 사용하기 위해서는 jinja2.ext.loopcontrols...

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개나 되는...

[일일코딩 #32] Two Sum

November 6, 2017 Code

[일일코딩 #32] Two Sum Question 링크 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may...

파이썬으로 리눅스 배포판 확인하기

October 22, 2017 Code

요즘 코딩을 안하니… 머리가 멍해져가는지라. 컴퓨터를 밀고 나면 새롭게 설정하기위해서 만들어뒀던 셸 스크립트를 파이썬 cmd 라이버리를 가지고 변경하는중. (이건 따로 작성하자. 새로운 기능을 많이써서…) 리눅스 배포판 별로 설치하는 프로그램...

iOS 삽질 : iOS 11에서 SearchBar 높이 변경 이슈

October 15, 2017 Code

iOS 11에서 UISearchBar의 높이가 기존 44에서 56으로 변경되었습니다. 대부분의 경우 큰 문제는 없지만 네비게이션바와 함께 사용하는 경우 높이 변경으로 인해 문제가 발생했습니다. 네비게이션바의 titleView에 UISearchBar를 사용하는 경우 네비게이션바의...

[Swift4]Codable, 현실의 Codable 그리고 Extension

October 12, 2017 Code

Codable Swift4에서 Codable이라는 프로토콜이 추가되면서 JSON 처리를 손쉽게 해줍니다. { "a": "aa", "b": "bb" } 위와 같이 정의된 데이터인 경우, 다음과 같이 타입을 정의할 수 있습니다. struct Sample1:...

mypy와 함께하는 Python Typing

September 14, 2017 Code

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

python – db stored procedure 호출에 generator 활용하기

September 12, 2017 Code

프로시저 호출은 몇 가지 제약을 가진다. 일단 프로시저명을 전달해야 하고 파라미터를 순서대로 전달해야 한다. 그리고 결과를 주는 방식이 하나의 결과를 줄 수도 있고 여러 결과를 줄 수도 있다....

flask-sqlalchemy multiple databases – 1

September 7, 2017 Code

사용하기 flask-sqlalchemy 에서 기본적으로 SQLALCHEMY_DATABASE_URI 설정을 통해서 mapping class 에 정의된 테이블들이 DB와 연결되게 된다. 그런데 1개 이상의 DB와 연결해야하는 경우가 생긴다. 기존의 회원정보를 같이 쓰는 다른 서비스의...