Skip to content

Latest commit

 

History

History
110 lines (57 loc) · 9.2 KB

2020-10.md

File metadata and controls

110 lines (57 loc) · 9.2 KB

2020-10

목차

Go 새소식

Go 팀은 2016년부터 매년 Go Developer Survey를 통해 전세계의 고퍼로부터 Go 프로젝트에 대한 다양한 의견을 들어왔습니다. 그리고 이제 2020 Go Devleoper Survey가 시작됐습니다. 이번 설문은 작년보다 소요 시간이 단축됐으며, 접근성이 개선됐습니다. 많은 참여와 공유 부탁드립니다!

새로운 프로젝트 & 릴리스

Ebiten

쉽고 단순하게 사용할 수 있는 2D 게임 라이브러리인 Ebiten의 v2.0.0이 릴리즈 됐습니다. 기능은 기존 v1.12와 동일하지만, API 브레이킹 체인지가 포함돼 있어 사용 전 마이그레이션 가이드를 참고하세요.

Bluge Labs의 모던한 텍스트 인덱싱 라이브러리인 Bluge는 텍스트, 숫자, 날짜, 좌표 등과 같은 다양한 필드 타입과 텀(term), 프레이즈(phrase), 매치 프레이즈(match phrase), 프리픽스(prefix)와 같은 다양한 쿼리를 지원합니다.

Bit

모던 Git CLI인 Bit은 기존의 Git CLI와 100% 호환되며 커맨드 자동완성, 플래그 제안등과 같은 매우 많은 편리한 기능들이 추가돼 있습니다.

Elsa는 Go로 짜여진 가볍고, 빠르며, 안전한 QuickJS 기반의 Javascript/Typescript 런타임 입니다. 아직 정식 릴리즈 되진 않았지만 소스코드를 빌드하여 사용할 수 있습니다.

Heap Graph

Go의 런타임 지표인 GC, MemStats 등을 다양한 형태의 그래프로 브라우저상에서 실시간 시각화 해주는 툴 입니다.

Gohalt

Gohalt는 사용하기 쉽고, 간편하고, 효율적인 스로틀링 라이브러리로, 스로틀링 파이프라인과 레이트 리미터를 만들기 위한 다양한 형태의 스로틀러를 제공합니다. 빠른 성능을 설계의 주요 목표로 잡아 매우 빠르고 적은 오버헤드를 가지고 있으며, 다양한 스로틀링 전략과 조건을 조합하여 필요에 따라 쉽게 커스터마이징 할 수 있습니다.

Bubble Tea

Bubble Tea는 Elm 아키텍처를 기반으로한 TUI 프레임워크로 단순한 API를 통해 강력한 TUI 애플리케이션을 개발할 수 있도록 도와줍니다. 또한, charmbracelet/bubbles라는 UI 컴포넌트를 제공하고 있어 빠른 TUI 애플리케이션 개발이 가능합니다.

Hetty://

Hetty는 시큐리티 리서치를 위한 HTTP 툴킷으로, Burp Suite Pro와 같은 상업용 소프트웨어를 대체하기 위한 오픈소스 프로젝트입니다. 단일 바이너리 형태로 GitHub에 릴리즈 돼 있으며 Linux, Windows, macOS를 지원합니다.

튜토리얼 & 가이드

Gopher Concurrent Gang

시간이 지남에 따라 동시성 프로그래밍은 점점 더 중요해지고 있습니다. 이 글에서는 동시성이 무엇이고, Go에서 동시성은 어떤 방식으로 구현되었고 사용되는지 간단한 코드와 함께 설명합니다.

gokit

Gokit은 마이크로서비스를 만들기 위한 프로그래밍 툴킷으로, 분산 시스템에서의 일반적인 문제를 해결하여 비즈니스 로직 개발에 집중할 수 있도록 도와줍니다. 이 글에서는 Gokit과 MySQL을 사용하여 간단한 마이크로서비스를 개발하는 방법을 소개합니다

이 시리즈에서는 bst와 btrfs를 사용하여 경량 컨테이너를 직접 구현해봅니다. 네임스페이스와 같이 개발에 오랜 시간을 투자해야하는 작업은 기존에 개발 돼 있는 bst와 같은 툴을 사용하여 대체하여, 며칠이라는 짧은시간 안에 간단한 컨테이너 시스템을 구축할 수 있도록 가이드합니다.

유닛 테스트만으론 코드의 장애를 예방하기에 충분하지 않습니다. 그래서 Cabify는 인수 테스트를 도입하여 코드의 배포를 민첩하고 안전하게 만들었습니다. 이 글에서는 Cabify에서 인수 테스트를 도입하며 겪은 어려움과 그 어려움을 해결하기 위해 개발한 aceptadora를 살펴봅니다.

이 글에서는 testing 패키지의 라이프사이클을 후킹하고, Docker 클라이언트 라이브러리를 사용하여 통합 테스트를 자동화 하는 방법과 몇가지 트러블슈팅을 위한 팁을 공유합니다.

기술글 & 경험담 & 개선기

Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.

Go에서는 프로그램이 에러를 적절히 핸들링할 수 없을 때 panic을 발생시킵니다. 그리고 이런 panic은 recover를 통해서만 핸들링 할 수 있습니다. 그렇다면 recover는 어떻게 동작할까요? 이 글에서는 panic과 recover가 어떻게 동작하는지 살펴봅니다.

Different Threading Models

OS 종류에 따라 커널 스레드와 유저 스레드를 매핑하는 방법은 크게 Mx1, 1x1, MxN 3가지로 나뉩니다. 이 글에서는 세 스레딩 모델의 차이점을 비교해보고, Go 스레딩 모델이 왜 좋은지에 대해 설명합니다.

이 글에서는 인도에서 6년 동안 솔루션 아키텍트, Go언어와 분산 시스템 설계의 멘토로서 활동한 경험을 얘기합니다. 2015년부터 스타트업, 중소기업, 대기업에서 멘토로 활동하며 무엇을 느꼈고 어떤 생각을 해왔는지에 대한 다양한 이야기를 확인할 수 있습니다.

gopy

Python은 다른 언어들에 라이브러리 형태로 임베딩 될 수 있습니다. 이 글에서는 Python을 Go에 임베딩하여 Go 프로그램에서 Python을 실행하고, 각 런타임 간에 데이터를 주고받는 방법을 예시와 함께 알아봅니다.