일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Close
- Callback
- FOR
- go
- Linux
- range
- json
- Golang
- package
- 책
- 영화
- GO 언어
- window
- JavaScript
- go언어
- c++
- http
- Sync
- bitcoin
- write
- API
- C
- windows
- install
- File
- channel
- Python
- 리뷰
- tcp
- mutex
- Today
- Total
목록전체 글 (203)
Code Habit
1. format() - 문자열을 포메팅 해주는 함수로 정수나 실수등을 문자열로 변환할 때 사용한다. - 문자열안의 중괄호{}가 format()함수안의 매개변수로 대치된다. - 중괄호{}의 개수와 format()함수안의 매개변수 개수는 같아야 한다. string_test = "{}시 {}분 {}초".format(10, 52,20) 2. strip() - 문자열의 양옆의 공백을 제거 한다. ( lstrip() : 왼편 제거, rstrip() : 오른편 제거 ) str_test = " 세칸 띄우기 " str_test.strip() # 결과 세칸 띄우기 3. split() - 문자열을 특정한 문자로 자를 때 사용한다. - 결과값이 리스트로 리턴된다. a = "1,2,3,4,5".split(",") print(..
1. 정 의 - Python은 모듈을 활용해 코드를 분리하고 공유한다. 모듈은 변수, 함수 및 클래스를 모아놓은 집합체로 파일로 분리된다. 파이썬에 기본적으로 내장되어 있는 모듈을 '표준 모듈'이라 하고 다른 사람들이 만들어서 공개한 모듈을 '외부 모듈'이라 한다. 2. 설 치 - 외부 모듈은 명령 프롬프트 창(cmd)에서 다음 명령어로 설치할 수 있다. pip install 모듈 3. 사 용 - import 키워드로 모듈을 불러와 사용한다. import 모듈 - 모듈 중 특정 변수나 함수를 가져오고 싶으면 from 구문을 사용한다. from 모듈 import 변수 or 함수 - 모듈 이름이 너무 길어 짧게 줄여 사용하고 싶을 땐 as 구문을 사용한다. import 모듈 as 식별자
1. 소 개 - 파이썬은 다양한 플랫폼( Window, Mac, Linux, Unix 등)에서 사용 가능 하며 비교적 쉽고 간결한 문법을 통해 높은 생산성을 지닌 스크립트(Script) 언어이다. 2. 특 징 - 스크립트 언어 : 컴파일 과정 없이 인터프리터가 한줄씩 해석하여 실행하는 언어. - 플랫폼 독립 : 운영체제별로 컴파일할 필요 없이 한번 작성하면 대부분의 운영체제에서 사용 가능하다. - 간결하고 쉬운 문법 : 문법이 간단하여 비전공자도 부담없이 배울 수 있다. - 높은 확장성과 이식성 : 높은 성능의 애플리케이션 개발이 필요한 경우 C, C++ 등의 성능이 높은 언어와 결합하여 사용할 수 있다. - 활발한 생태계 : 사용률이 높은 언어인 만큼 많은 수의 라이브러리를 제공하고 문제 해결 및 협업..
has-a 모델의 두개의 클래스 간 정보를 주고 받기 위해서는 callback을 활용할 수 있다. 예를들어 class A가 class B를 갖고 있다고 하자. A클래스 객채에서는 B클래스에 있는 변수나 함수를 사용하기 용이하지만 B클래스 객체에서는 A클래스에 접근하기 힘들다. 이럴때 callback을 이용하여 B클래스에서 A클래스에 있는 변수나 함수에 접근할 수 있다. ( 보통 B클래스 작업을 마무리 하고 A클래스에 통보할 일이 필요할 때 이를 활용하게 된다.) ex) class Callback { public: // 구현은 이를 상속하는 클래스에서 하기 때문에 // virtual 즉, 가상의 함수로 선언한다. virtual void done() = 0; }; class B { public: // cal..
개발을 하다보면 부하가 걸리는 부분의 로직별 수행시간을 측정할 필요가 있다. 다음 소스를 사용하면 ms(마이크로세컨드) 단위로 수행속도를 측정할 수 있다. #include #include int main(void) { clock_t start, end; start = clock(); // 수행할 로직 end = clock(); printf("%f\n", ((double)(end-start)) / CLOCKS_PER_SEC); } CLOCKS_PER_SEC은 ms(마이크로세컨드)를 s(초)단위로 변경할 때 쓰이는 매크로 상수이다.
* 유니코드 -> 멀티바이트 wchar_t strUni[256] = L"유니코드"; char strUtf8[256] = { 0, }; int nLen = WideCharToMultiByte(CP_UTF8, 0, strUni, lstrlenW(strUni), NULL, 0, NULL, NULL); WideCharToMultiByte(CP_UTF8, 0, strUni, lstrlenW(strUni), strUtf8, nLen, NULL, NULL); * 멀티바이트 -> 유니코드 wchar_t strUnicode[256] = { 0, }; char strMultibyte[256] = { 0, }; wcscpy_s(strUnicode, 256, L"유니코드"); int len = WideCharToMultiBy..
c++ 문자열에서 특정 문자열을 찾을 때 std::string의 find 함수를 사용한다. 보통 아래와 같이 많이 사용한다. std::string text = "abcdefg"; size_t nPos = text.find("cde"); 위 코드에서 nPos의 값은 찾고자 하는 문자열의 시작 위치가 된다. 즉 text.find("cde")는 2를 반환하게 된다. 이렇게 쉽고 편리하게 원하는 문자열을 찾을 수 있는데 하나 주의할 점이 있다. 찾고자 하는 문자열이 없을 때다 보통 찾고자 하는 문자열이 없을때 -1이 반환된다고 생각하는데 여기서는 그렇지 않다. -1이 아닌 매우 큰 수의 쓰레기 값이 반환된다. 그래서 만약 다음과 같이 쓰면 런타임 에러를 발생할 수 있다. std::string text = "ab..
Tigo는 Go언어로 개발된 web 프레임워크로 이를 이용하여 간단하게 웹서버를 제작할 수 있다. 간단히 Get방식의 API 서버를 만들어 보려 한다. 먼저, Tigo 라이브러를 설치해야 한다. 'go get' 명령어를 이용하여 Tigo 라이브러리를 설치한다. >> go get github.com/karldoenitz/Tigo/... 그리고 다음 예제 코드를 작성한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package main import "./thirdparties/Tigo/TigoWeb" // handler type HelloHandler struct { Tig..