일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영상스트리밍
- 자원측정
- pip
- 파이썬
- FastAPI
- 주식
- 스트리밍
- 가상화 중첩화
- dockercontainer
- Finance
- docker
- go
- 레파지토리
- QT_QPA_PLATFORM_PLUGIN_PATH
- go.mod
- repo
- APT
- apt-get
- Windows
- asyncio
- python3.9
- Python
- golang
- 자식프로세스
- BATCH
- mariadb
- Replication
- Thread
- psutil
- Hyper-V
- Today
- Total
목록golang (3)
검색하기귀찮아서만든블로그

golang 을 사용해서 REST API를 개발하기 전에 DB에서 데이터를 질의할 수 있는 기능에 대해서 공부하고자 한다. 데이터 베이스는 mariadb를 사용할 예정이고 docker container를 사용해서 구성하였다.(maridb 컨테이너 구축 포스팅을 참고) 먼저 sql에 접속 기능을 개발하기 전에 기능 자체를 별도의 패키지로 구성해서 작성해 보았다. sql 커넥터는 github.com/go-sql-driver/mysql 패키지를 임포트 하여 작성한다. root - sqlconnect 폴더를 생성하고 하위에 sqlconnect.go 소스파일을 생성한다. SQL 커넥터 패키지는 Connect, Close, ExecuteQuery 함수로 구성되어 있다. 외부에서 참조해야 하는 함수기 때문에 함수명은..

지난 포스팅에서 golang을 사용하여 RDP 프록시 프로그램을 만들어 보았다. golang은 프로젝트에 main.go 파일의 main 함수가 실행 진입점(entry point) 으로 동작한다. 외부 라이브러리나 프레임워크를 사용하기 위해서 패키지 개념을 사용하는데 golang 도 타 언어와 동일하게 패키지 개념을 사용한다. 코드 상단에 import 가 패키지를 포함시키는 구문이다. 본 포스팅에서는 기존에 작성했던 RDP 프록시 코드를 기준으로 간단하게 기능을 패키지로 만들고 main에서 패키지를 호출하는 방법으로 코드를 수정해 볼 생각이다. 코드는 main 함수에서 TCP 23389 포트를 리스닝하고 클라이언트가 접속하면 go routine (비동기)으로 핸들러를 호출하여 양방향 TX/RX 를 프록시하..

golang (이하 go) 은 2007년 구글에서 개발이 시작되었는데 대규모 네트워크 서비스와 같은 분산 시스템 설계에 용이하게 설계되었다고 한다. go 언어는 C++과 같이 정적 타입을 가지고 있으면서도 비동기를 지원하는 기능과 가비지 컬렉터와 같은 기능을 포함하고 있어 개발에 용이하다. go는 간결성을 중심 철학으로 코드는 단순하고 읽기 쉬우며 유지 보수가 용이하게 만들 수 있다. 그래서 복잡한 상속 구조 대신에 인터페이스를 사용해서 코드 재사용성을 높였다. 비동기 처리를 위해서 'Goroutine' 이라는 경량 스레드와 'Channel'이라는 통신 매커니즘을 제공한다. 파이썬과는 다르게 인터프리터 언어가 아니기 때문에 컴파일을 해야 한다. 그래서 비교적 런타임에서 좋은 성능을 제공하며 가비지 컬렉터..