Code

Kotlin Coroutines Exception 알아보기

April 30, 2019 Code

이전 글에서 Kotlin coroutines을 제어할 수 있는 Job에 대해 알아보았다. 기본적인 Job 초기화 후 사용한데 어떤 방법이 좋을까? 먼저 이전 글에서 초기화 때 적용했던 방법을 다시 살펴보자. val...

Laravel Collection 메소드 중 concat과 push의 차이

March 28, 2019 Code

라라벨 5.8.8에서 쿼리 빌더에 forPageBeforeId 메소드가 추가되었습니다. 뭔지 알아보려고 PR을 보는데, 예제에서 컬렉션 메소드 중 concat과 push를 쓰더군요. $posts = new Collection; $posts = $posts->concat(ChatPost::forPageBeforeId(15, $focused->id)->get()->reverse()); $posts =...

알고리즘 학습에 대한 조언

July 4, 2018 Code

Buck Shlegeris의 My advice on studying algorithms를 번역했다. 알고리즘 학습에 대한 조언 소프트웨어공학 면접에서는 화이트보드 알고리즘 질문을 종종 냅니다. 이런 질문을 어떻게 공부해야 하는지 조언을 하려고 합니다. (저는...

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