Programming 516

Go 언어의 장단점

장점:Dynamic 언어에 비해 빠르다.static typing컴파일이 빠르다. 단점:C에 비해 느리다.매크로가 없다.제네릭 프로그래밍이 불가능하다.readline이 없다.컴파일된 파일이 커서 유틸리티를 만들기에 부적당하다. (2MB~)garbage collection을 끌 수가 없다.Cannot define new methods on non-local type.3항 if 연산자가 없다.문서화 덜 됨. 예: https://golang.org/pkg/strings/#Repeat 에서 count가 0 미만이면 panic이 발생하는데 이에 대한 설명이 없다.exception이 없어서 에러 처리가 번거롭다.

Programming 2016.03.09

C++에서 UTF8, Unicode, Ansi 문자열 변환..

참고: http://linsoo.co.kr/m/post/entry/C%EC%97%90%EC%84%9C-UTF8-Unicode-Ansi-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B3%80%ED%99%98 그런데, 윗글에는 오류가 있다. lstrlen을 strlen으로 바꾸면 정상 작동한다. Ansi를 UTF-8로 변환 char* ANSIToUTF8(const char * pszCode) { intnLength, nLength2; BSTRbstrCode; char*pszUTFCode = NULL; nLength = MultiByteToWideChar(CP_ACP, 0, pszCode, strlen(pszCode), NULL, NULL); bstrCode = SysAllocStringLen(N..

Programming 2016.02.08

C++에서 UTF-8 사용

source: http://trowind.tistory.com/61 자바나 파이썬에 비하면 C++의 UTF-8 지원은 미약한 것이 사실이다. 하지만, locale만 잘 설정하면 wstirng, win, wout, wifstream 등을 이용해 UTF-8 데이터를 쉽게 사용할 수 있다. 전체 locale 설정하기한글(과 중국어)가 포함된 UTF-8 데이터를 다룬다면 다음과 같이 설정해주는 것이 좋다. 그리고 소스코드 역시 UTF-8 로 인코딩 되게 하는 것이 좋다. 다시 말하면, 프로그래밍할 때 사용하는 에디터도 UTF-8로 설정할 것을 권장한다. #include int main(void){ std::locale::global(std::locale("ko_KR.UTF-8")); // 맨 처음 한번 실행 ...

Programming 2016.02.06

자바 디자인 패턴 5 - Singleton

http://egloos.zum.com/iilii/v/3807664 1. Singleton 패턴은.. 각종 설정 등이 저장된 클래스가 하나 있다고 칩시다. 프로그램 내에서 여기저기서 마구 접근해서 설정을 바꾸기도 하고 값을 가져오기도 합니다. 이런 클래스는 인스턴스를 하나만 가져야 합니다. 하나 만들어서 쓰는 곳마다 인자로 전달해주면 되긴 합니다만, 접근하는 곳이 많다면, 계속 인자로 전달하는 것은 그다지 바람직하지 않습니다. 전역변수처럼 아무곳에서나 이 인스턴스에 접근을 하면 편하겠죠. Singleton 패턴을 이용하면, 하나의 객체를 만들어서 아무데서나 접근할 수 있습니다. 2. 예제 --------------------- Singleton으로 구현된 클래스 ---------------- packag..

Programming 2016.01.21

virtualenv를 사용하자 - 가상 개발환경 구축하기

http://pythoninreal.blogspot.kr/2013/12/virtualenv.html Python 개발 환경을 각 프로젝트별로 분리시키고 싶다면? virtualenv를 사용하면 됩니다. 예를 들어, 새로 시작한 프로젝트에 Django v1.5.5, Numpy v1.7.1이 필요한 경우 전체 시스템에 해당 패키지를 설치할 필요없이 virtualenv로 해당 프로젝트만을 위한 가상 개발환경을 만들 수 있어요. 사용법은 간단합니다. 기본적인 사용법sudo pip install virtualenv작업할 폴더를 생성합니다.해당 폴더로 이동하여 virtualenv venv와 같이 실행하면 venv 폴더가 생길겁니다.Shell에서 . venv/bin/activate 명령을 실행해주세요. Shell pr..

Programming 2016.01.07

파이썬 엑셀 쓰기 라이브러리 비교

http://libsora.so/posts/python-excel-library/ 리눅스에서 굴러가는 파이썬 기반의 통계 도구를 만든적이 있다. 리눅스에서도 굴러가는 엑셀 라이브러리를 몇개 찾아봤고 직접 써본 다음에 정리했다. 찾아본 엑셀 라이브러리는 다음과 같다.xlwtOpenPyXLXlsxWriterPyExcelerate이중에서 내가 직접 사용해본것은 xlwt, OpenPyXL, XlsxWriter이다. (사용해본 순서로 적었다.)supoort xlsxxls와 xlsx의 가장 큰 차이는 행, 열의 최대 갯수가 65535라는거다. 몇만건의 데이터를 다룰 가능성이 있다면 xlsx 지원하는 라이브러리를 사용해야 나중에 또 짜는 삽질은 안한다.Librarysupport xlsxxlwtxOpenPyXLoXls..

Programming 2016.01.07