자바 Input 구현방식에 따른 속도비교.
Java를 이용해서 알고리즘 문제를 풀 때, 알고리즘을 어떻게 구현하느냐에 따라서 동작 속도의 차이가 발생합니다. 그리고 거기에 속도 차이를 발생시키는 요소가 한가지 더 있습니다. 바로 입력입니다. 일반적으로 Java의 입력 속도는 C에 비해 느리다고 알려져있습니다. 입력 값이 작은 경우, 문제 풀이에 영향을 주는 경우는 드물지만, 대용량의 입력을 받아야 하는 경우, 입력 처리가 늦게 되면 실제 문제를 위한 연산 시간이 줄어들어 손해를 볼 수 밖에 없습니다. Java에서 입력을 어떻게 구현하느냐에 따라서 실제 얼마나 차이가 나는지, 비교해봤습니다. 1. Scanner를 그대로 사용하는 경우. 2. BufferedReader를 사용하고, 문자열을 Strring.split로 분리하는 경우. 3. Buffer..

[번역글] Godoc: documenting Go code
원문 : Godoc: documenting Go code ( https://blog.golang.org/godoc ) 전체 내용은 원문에서 확인하실 수 있으며, 또 내용 중 일부 오역이 포함되어 있을 수 있으니, 가능하면 원문을 참조하시는 걸 추천드립니다. Go 프로젝트는 문서화를 중요하게 여깁니다. 문서화는 소프트웨어를 유지보수가능하고 접근성이 좋게 만드는 중요한 부분입니다. 물론 정확하고 잘 쓰여지는 것은 중요합니다. 하지만 작성하고 유지하는 것 또한 중요합니다. 이상 적인 것은 코드와 더불어 계속해서 동시에 변화해나가는 것입니다. 개발자가 문서를 쉽게 만들 수록 모두에게 좋습니다. 이를 위해 godoc이라는 문서화 도구를 만들었습니다. 이 글은 godoc이 문서화를 위해 어떤 방식을 사용했는지 설명..

유지보수가 어렵게 코딩하는 방법.
우연히 동료의 코드를 보다가, 재미있는(?) 함수명을 발견했습니다. 코드 전부를 보진 않았지만, 두 개의 이름이 기억에 남습니다. 하나는 domacsaramu 였고, 다른 하나는 zaharadocsid 였습니다. ( 스펠링은 확실치 않습니다. ) 처음엔 무슨 특이한 서드파티 라이브러리를 가져다 쓴건가 싶었는데, 하나하나 읽어보니 어릴때 보던 만화영화에 나오던 주문(?)이더라구요. 함수가 하는 기능을 듣고 나니, 뭔가 그럴듯 하긴했는데, 처음에 저 함수를 입으로 읽었을 때, 예전에 읽었던 책이 생각났습니다. (아직도 무료로 배포하고 있네요.) https://www.hanbit.co.kr/store/books/look.php?p_code=E2375873090 유지보수하기 어렵게 코딩하는 방법: 평생 개발자로..

[번역글] An intro to Go for non-Go developers.
원문 : An intro to Go for non-Go developers ( https://benhoyt.com/writings/go-intro/?fbclid=IwAR2dqFtMFep66auHbx0tDTAQvSvac7huECOieFV5BZYZa5L0w4bC0pD3_YY ) 괜찮은 내용이 있어, 원문 중 일부를 번역했습니다. 전체 내용은 원문에서 확인하실 수 있으며, 또 내용 중 일부 오역이 포함되어 있을 수 있으니, 가능하면 원문을 참조하시는 걸 추천드립니다. 왜 Go 인가? 구글 트렌트에 따르면, Go는 지난 몇년간 인기가 가파르게 상승했습니다. 언어의 간략함이 일부 이유겠지만, 아마도 더 큰 이유는 훌륭한 도구때문이 아닐까 생각됩니다. 제가 Go로 프로그래밍하는 것을 좋아하는 이유는 아래와 같습니다..

키움증권 API 연동 Apps
증권사 API를 연동해서 애플리케이션을 만들 때, 찾아봤던 리파지토리 목록입니다. 제가 사용하고 있는 키움증권과 python으로 작성된 리파지토리만 목록에 포함됩니다. ( 그 외 다른 증권사 그리고 javascript나 C 계열의 라이브러리도 많이 있었습니다. 사실 C 계열로 만드는 게 연동하기는 더 편할 것 같습니다. ) 1. coreanq/kw_condition ( https://github.com/coreanq/kw_condition ) 가장 최근까지 변경이 되고 있는 리파지토리입니다. 매매가 구현되어 있으며, 거래 내역을 엑셀로 저장할 수 있습니다. 2. mechurak/kiwoom ( https://github.com/mechurak/kiwoom ) 자동화된 매매가 구현되어 있습니다. 2016년..