"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 이런 분들에게 추천합니다. 책에서 이 책의 대상 독자로 두 번째 개발 언어를 찾는 개발자, Go를 새롭게 시작하는 사람들이라고 소개하고 있습니다. 물론 이런 분들이 보시기에도 좋은 책이라 생각합니다.
Saturday Night 스터디에서 발표를 위한 목적으로 만들어졌습니다. 플러터란? 플러터Flutter는 단일 코드베이스Single codebase에서 고성능High performance 크로스 플랫폼Cross platform 앱을 만들 수 있도록 지원하는 오픈소
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 저는 작은 개발팀을 리드하고 있는 개발자입니다. 이미 상당히 많은 시간을 코드 작성보다는 기타 업무에 시간을 쏟고 있어서 "내가 개발자라고 당당히 이야기 해도 되나?"하는 생각이 들때도 있지만, 여전히
Go 언에 버전 1.11(https://golang.org/doc/go1.11우선 웹 어셈블리로 빌드할 Go 언어 소스코드를 준비합니다. main.go 파일은 웹 어셈블리로 빌드됩니다. index.html은 빌드된 웹 어셈블리를 로드하여 실행합니다.Go 언어
Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 속도 제한이란? 서비스를 개발하다보면 다양한 목적으로 속도 제한을 구현하게 됩니다. 속도 제한$$^{Rate\ Limiting}$$이란, 리소스에 대한 접근을 단위 시간당 특정 횟수로 제한하는 것을 이야기합니다
Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 동시성 프로그램에서 시간 초과, 취소, 에러로 인해 작업을 선점해야 하는 경우가 있습니다. 이런 경우 done 채널을 이용해서 동시에 수행되는 연산들을 취소할 수 있습니다. 하지만, 취소가 되었다는 단순한 신호를
Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다.파이프라인은 데이터 스트림 처리나 일괄 작업을 할때 유용하게 사용할 수 있는 추상화 방법입니다.
Go 언어 소개에서 잠시 언급한 Go 언어의 GC에 대해서 공부해보려고 합니다. 스터디에서 발표할 목적으로 작성하기 시작했는데요, 앞으로 더 알게되는 내용이 생길때마다 꾸준히 업데이트 해보려고합니다. > [Illustration created for “A Journe
Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 고루틴 고루틴goroutine은 Go 프로그램의 동시성 단위입니다. Go 언어로 개발된 프로그램의 진입점entry point에 해당하는 func main() {...} 함수도 Go 런타임에 의해서 자동으로 실행되
Docker 컨테이너를 위한 베이스 이미지로 Alpine 리눅스를 자주 사용합니다.
Go 언어의 장점으로 고루틴 통한 뛰어난 동시성 지원을 꼽을 수 있습니다. 기존에 다른 많은 언어들은 스레드를 통해 동시성을 지원했습니다. 그렇다면 Go 언어는 왜 고루틴 이라는 새로운 동시성 요소를 지원하기 시작했을까요? 고루틴은 쓰레드보다 가볍다. 고루틴은 흔히
이 글의 내용 중 일부는 Go 언어 실전 테크닉을 참고하여 작성했습니다. Saturday Night 스터디를 진행하면서 처음 Go 언어를 접하는 분들에게 Go 언어의 장점에 대해서 소개할 기회가 있었습니다. 여러가지를 설명해 봤지만, 잘 어필된다는 느낌을 받지 못하겠
The Ultimate Go Study Guide(https://ultimate-go-korean.github.io/translation/소프트웨어를 설계할 때 구체적인 타입;Concrete type을 이용한 높은 결합도;Coupling 대신 인터페이스를 이용
Go 언어는 Class와 상속;Inheritance을 지원하지 않습니다. 대신 구조체 합성;Struct composition을 통해서 객체지향 프로그래밍을 흉내 낼 수 있습니다. 어느 정도 객체지향 프로그래밍의 장점을 사용할 수는 있지만 객체지향 프로그래밍을 위한 풍부
CentOS에서 YUM으로 MongoDB를 설치하고 실행 중 다음과 같은 오류가 발생하면서 MongoDB 서비스가 올라오지 않는 문제를 겪었습니다.오류를 확인해보면 mongod 실행 후 pid이 확인되지 않아서 타임아웃;Timeout이 발생했습니다.pid 파일의 경로를
ReplicaSet은 MongoDB의 고가용성;High availability 시스템으로 동일한 데이터를 갖는 mongod 프로세스들의 그룹으로 구성됩니다. 이는 1개의 Primary 멤버와 데이터 복사본을 갖는 다수의 Secondary 멤버들로 이루어집니다.최근 공인
CPU 코어는 메인 메모리(RAM)에 접근하기 전에 CPU 캐시;CPU Cache에 접근합니다. 캐시에는 데이터와 명령어가 저장되며 프로세서;Processor 가까이 위치하면서 빈번하게 사용하는 데이터를 저장합니다. 캐시의 속도는 L1 > L2 > L3 > 메인 메모리
이스케이프 분석;Escape analysis이란 객체의 포인터(참조)가 서브 루틴;Subroutine 밖으로 전파되는지를 분석하는 기술입니다. 이를 통해서 컴파일러가 최적화를 수행할 때 객체의 메모리를 스택;Stack과 힙;Heap 중 한 곳에 할당합니다.위 예제에서
상수는 한 번 할당된 값을 변경할 수 없는변수입니다.상수는 const 키워드로 선언합니다. 고언어에서 상수는 반드시 컴파일 타임에 실행 가능한 표현식이어야 하며, 런타임 계산 결과는 상수로 할