benchmark FastAPI (Python) vs Fiber (Go) vs Spring Webflux (Java) FastAPI (Python), Fiber (Go), Spring Webflux (Java) 각 언어별로 동일한 기능을 구현하고 각 언어의 스레드 관리와 이벤트처리에 대한 성능을 비교하고 싶었다. 그러기에 초당 몇건의 요청을 얼마나 안정적이고 빠르게 응답 하는지를 벤치마킹 해보았다.
golang Golang, CGO Linux 크로스 컴파일러 * Cross Compiler 이 크로스 컴파일러는 Apple Silicon 및 Intel Mac을 모두 지원합니다. homebrew-macos-cross-toolchains/README.md at main · messense/homebrew-macos-cross-toolchainsmacOS cross compiler toolchains. Contribute to messense/homebrew-macos-cross-toolchains development by creating an account on GitHub.GitHubmessense * brew 패키지 설치 brew tap messense/macos-cross-toolchains brew install x86_64-unknown-linux-gnu brew install aarch64-unknown-linux-gnu * CrossCompile, x86_
gRPC gRPC 구현 - Client Streaming RPC #2 이번 글에서는 gRPC 의 Client Streaming RPC 예제를 구현 해보도록 한다. Client Streaming RPC 는 다량의 데이터를 스트리밍 방식으로 전송한다는 점에서 지난 글에서 다뤘던 Unary RPC 와 다르다. (아래 그림에서 왼쪽 아래) gRPC Learning (Part 1) - Yang(Bruce) Li - Medium Client Streaming RPC의 구현 시작하기 Client Streaming RPC는
gRPC gRPC 구현 - Unary RPC #1 gRPC의 대표적인 4가지 서비스 예제를 직접 구현해보고 정리해 보기로 했다. 이번 글에서는 gRPC 의 가장 단순한 서비스 형태인 Unary RPC 를 작성 해보도록 한다. Performance is not an Option - gRPC and Cassandra gRPC에 대한 소개 gRPC 프레임웍에 대한 소개는 좋은 글을 소개하는 것으로 대신하며, 다음 링크(Microservices with gRPC
Makefile ShellScript 와 Makefile 이번에 ShellScript 와 같이 정리해보려는 Makefile 의 경우, 보통 C 로 작성된 소스를 의존성을 기술하여 make 라는 명령어로 컴파일을 도와주는 스크립트다. 요즘 go 에서 makefile 을 활용하는 몇가지 글들을 접하면서 ShellScript 보다 체계적이고 깔끔하게 느껴져서 이제는 대부분을 makefile 로 자동화 작업을 하고 있다. 이 글에서는 ShellScript 와 Makefile 어느 것이
go versioning Go 패키지 생성에서 버전관리 까지 GitHub 에서의 go 프로젝트 생성과 versioning 과정을 코드로 정리해 보고자 한다. 유의적 버전 2.0.0 | Semantic Versioning https://github.com/golang-standards/project-layout Semantic 버전관리 Go에서는 패키지 버저닝을 위해 Semantic Versioning을 사용하길 제안하고 있으며, 간단하게 정리를 하자면 다음과 같다. * ~기존 버전과 비호환~ 되며 API가 바뀌면 “MAJOR 버전”을 올리고, * ~기존
go modules Go Modules 갈아타기 go 1.11.1 이 나오기 전에는 dep 이라는 의존성 관리툴을 사용했고, 이번에 1.11.1 이 나오면서 modules 가 추가되어 적용해 보려한다. go modules 는 go mod 라는 go 명령어로 사용가능 하며, 아래와 같은 옵션을 제공하고 있다. * go mod init 모듈이름 : 패키지 초기화 * go mod tidy : 패키지 정리, 패키지