Code

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와 연결해야하는 경우가 생긴다. 기존의 회원정보를 같이 쓰는 다른 서비스의...

dev-meetup.github.io – 마우스 오버 기능 추가

September 2, 2017 Code

작은 기능을 추가했다. 데스트탑 환경에서는 현재 월 캘린더 형태로 보여주고 있는데, 위의 사진과 같이 시간 제목 으로 표시하다 보니 세부내용을 확인하려면 일일이 들어가서 봐야하는 불편함이 있었다. 그래서 캘린더...

Digging newtype

August 20, 2017 Code

Easy Explanation 간편하게 isomorphic을 확보하기 위한 수단. 특정 조건(하나의 레코드, 하나의 데이터 생성자를 가짐)하의 데이터 타입일 때 (최적화를 위해서) 쓰세요. Difficult Explanation Isomorphic data Any = Any {...

Angular의 constructor와 ngOnInit 차이점

August 15, 2017 Code

Todd Motto의 글 Angular constructor versus ngOnInit를 번역했다. Angular의 constructor와 ngOnInit 차이점 Angular는 여러 생애주기 훅이 존재하지만 여전히 constructor도 있다. 이 글에서는 ngOnInit 생애주기 훅과 차이점을 확인한다. 이...

flask – request.script_root 이용하기

August 4, 2017 Code

하나의 웹을 여러 path 에 올려야 할 경우가 있다. 예를 들면, 테스트를 위해서 /web1, /web2 이런식으로 구성해서 올릴 경우이다. 이런 경우 프론트단에서 URL로 지정해 놓은 값들을 수정해 줘야...

Scala에서 val, var 차이

August 4, 2017 Code

요세 Java를 공부하기는 싫고 JVM에서 도는 걸 찾다가. Scala쪽으로 어떤분이 약을 파셔서 약을먹었다. 초기 공부는 역시 홈페이지에 있는 문서를 기반으로… Scala Tour 를 보다 Classes에 갔더니 예제로 다음 과...

pymssql nextset() 빈값 이슈

July 25, 2017 Code

최근에 구현한 부분에서 이상한 경험을 했는데 같은 db 프로시저를 호출하는 코드를 쓰고 테스트를 했는데 어떤 조건으로는 데이터가 순서에 맞게 잘 나오고 안나오고 하는 경우였다. 데이터는 mssql 저장 프로시저에서...

[Swift]Name Mangling

July 23, 2017 Code

Name Mangling은 단어 그대로 이름을 조각조각냄으로써 고유한 이름을 가짐 여부 문제를 해결합니다. 컴파일러로부터 만들어진 코드는 링커를 통해 다른 부분과 연결되는데, 링커는 각 프로그램 개체의 많은 정보가 필요합니다. 이는...

Commnets in Markdown

July 20, 2017 Code

JSON API 스팩 문서를 다시 번역하면서 꽤나 긴 markdown 문서를 작성해야되는 경우가 발생했다. 그러다보니… 코멘트로 나눔이 필요한 경우가 발생! 구글에서 간단하게 검색하니 Comments in Markdown - Stackoverflow 라는 글이...

레거시 php 프로젝트를 composer 패키지로 바꾸기

July 13, 2017 Code

요즘 작업하는 환경이 상당히 오래된 코드를 접할 수 있는 환경이라서 코드를 정리하는 일이 많은데 최근 버전에서도 돌아갈 수 있도록 코드를 정리하는 김에 패키지로 관리하고 테스트도 작성하도록 팀에 권하고...

From Rails system test to Travis CI with Headless Chrome

July 11, 2017 Code

이 글에서는 Rails 5.1에서 도입된 System Test를 Headless Chrome를 사용하여 실행하는 방법에 대해서 알아보고, 이를 Travis CI에서 동작시키는 방법에 대해서 알아봅니다. 소개 Rails System Test Rails 5.1부터, 프레임워크...