ProgrammingLang 119

[C++개발자되기]24. std::function

>>[C++ 관련 모든 글 보기] 개요 std::function의 기능을 알아 본다. 지원 시기 C++11 Header #include 정의 C++에서 callable 할 수 있는 것을 객체로 만드는 class * callable 이란? c++에서 호출 가능한 것들을 말한다. 1. 함수 2. lambda 3. operator() 정의 #include std::function func 사용법 #include void print(int a, int b); std::function fp = print; 사용 시기 1. 함수를 인자로 전달 하고 싶을떄 2. vector에 function을 넣고 싶을때 3. Thread를 pool로 만들어서 관리 하고 싶을때

ProgrammingLang/c++ 2021.12.05

[C++개발자되기]23. 문자열 다루기

문자열 대문자로 변경 #include #include std::string str = "Hello World"; std::transform(str.begin(), str.end(),str.begin(), ::toupper); 문자열 parsing #include std::string s = "ITEM=this is value"; std::string value = s.substr(s.find("=") + 1); argv to vector string #include #include int main(int argc, const char** argv) { std::vector arguments(argv + 1, argv + argc); } 문자열 비교 #include int main(int argc, con..

ProgrammingLang/c++ 2021.10.07

[매크로] macro 사용시 유용한 것

# 의 의미 매크로에서 # 연산자는 문자열로 치환 시켜주는 연산자 입니다. 아래 코드에서 TEST\n은 define에서 "TEST\n" 으로 치환이 됩니다. 1) 기본 #include #define PRINT(s) printf(#s) int main() { PRINT(TEST\n); } >TEST 2) 응용 가변 인자를 사용하여 macro를 다양하게 만들기 define 선언 부분에서 가변인자는 ... 으로 표시 되며 정의 부분에서는 ##__VAR_ARGS__ 와 mapping이 됩니다. 가변 인자 참고 사이트 - https://jhnyang.tistory.com/298 #include #define PRINT(s, ...) printf(#s, ##__VA_ARGS__) int main() { PRINT(..

ProgrammingLang/c++ 2021.07.03

[Go Lang] 4. 실전 - http server + swagger 만들기

목표 web framework를 사용하여 간단한 web api server를 만들어 보겠습니다. 배포는 추후 포스트에서 다루겠습니다. 개발 환경 - ubnutu 18.04 - go version go1.16.3 linux/amd64 (업그레이드 방법: golang.org/doc/install) webframework 프레임 워크는 간단한 RESTAPI 용도로 사용 할 것 이기 때문에 gin을 사용합니다. 사용 이유 : www.slant.co/versus/4796/4797/~beego_vs_gin-gonic Slant - Beego vs Gin-gonic detailed comparison as of 2021 When comparing Beego vs Gin-gonic, the Slant community..

ProgrammingLang/Go 2021.04.14

[Go Lang] 3. Package 관리

Package란? 다른 사람이 만든 함수들의 모임이라고 정의 할 수 있다. 프로그래밍을 하면은 수많은 Package를 설치 하게 됩니다. Package는 어디에 설치 되는가? 인터텟의 튜토리얼을 보면 이거 설치 하시고 저거 설치 하세요 라는 경우가 많다. 설치까지는 좋다 그런데 어디에 설치 되어있는지 몰라서 Package 관리가 안된다. 1. 우선 pkg를 설치해 보자 필자는 web api를 만들 것이니 gin-swagger를 설치해서 api 테스트 해보록 하겠습니다. 설치 방법은 github.com/swaggo/gin-swagger여기서 참조 했습니다. 1.1 swag cli 다운로드 #go get github.com/swaggo/swag/cmd/swag@latest 자 위와 같이 설치하면 도대체 어디..

ProgrammingLang/Go 2021.04.08

[Go Lang] 2. 핵심 문법

본 Go에 대한 모든 실습은 Linux(ubunutu)에서 진행 합니다. 1. 선언과 관련 키워드 개념 및 사용법 - 프로그램 개발 순서대로 나열 분류 키워드 설명 사용법 package package 현재 작업하는 파일 어느 package에 속하는지 선언 합니다. - package 패키지명 package main import 현재 작업하는 파일에서 사용 할 package를 선언 합니다 import ( "패키지명" "패키지명" ) import ( "fmt" "log" ) 변수 var - 변수를 선언 합니다. - go에는 초기화 안되는 변수가 없으며 초기화 값 아래 표기 숫자 = 0, boolean = false string = "" interface = nil - 여러 방식의 선언이 가능 합니다. 1. v..

ProgrammingLang/Go 2020.06.09

[Go Lang] 1. 프로그램의 기본 구조

본 Go에 대한 모든 실습은 Linux(ubunutu)에서 진행 합니다. 1. 프로그램의 기본 구조 GoLang의 프로그램 구조는 package, import, main으로되 어있다. package main import ( "fmt" ) func main() { fmt.Println("Hello, GoLang") } 1) package "패키지명" - 현재의 소스 파일이 어느 패키지에 들어가 있는지를 명시한다. - 최종 Directory 명이 패키지 명이 된다 - 예외적으로 package main라고 되어있다며 현재 소스파일은 단독 실행 파일임을 명시한다. 2) import ("패키지명") - 각종 Package(=Library) 를 불러오는 역활을 한다. c언어의 #include와 동일한 기능이다. 3..

ProgrammingLang/Go 2020.06.09