profile
권구혁
post-thumbnail

Go 언어 - 속도 제한 (Rate Limiting)

Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 속도 제한이란? 서비스를 개발하다보면 다양한 목적으로 속도 제한을 구현하게 됩니다. 속도 제한$$^{Rate\ Limiting}$$이란, 리소스에 대한 접근을 단위 시간당 특정 횟수로 제한하는 것을 이야기합니다

5일 전
·
0개의 댓글
post-thumbnail

Go 언어 - Context 패키지

Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 동시성 프로그램에서 시간 초과, 취소, 에러로 인해 작업을 선점해야 하는 경우가 있습니다. 이런 경우 done 채널을 이용해서 동시에 수행되는 연산들을 취소할 수 있습니다. 하지만, 취소가 되었다는 단순한 신호를

2021년 9월 11일
·
0개의 댓글
post-thumbnail

Go 언어 - 파이프라인

Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다.파이프라인은 데이터 스트림 처리나 일괄 작업을 할때 유용하게 사용할 수 있는 추상화 방법입니다.

2021년 8월 28일
·
0개의 댓글
post-thumbnail

Go 언어의 GC

Go 언어 소개에서 잠시 언급한 Go 언어의 GC에 대해서 공부해보려고 합니다. 스터디에서 발표할 목적으로 작성하기 시작했는데요, 앞으로 더 알게되는 내용이 생길때마다 꾸준히 업데이트 해보려고합니다. > [Illustration created for “A Journe

2021년 8월 7일
·
0개의 댓글
post-thumbnail

Go의 동시성 구성 요소

Go 동시성 프로그래밍의 내용을 참고하여 작성했습니다. 고루틴 고루틴goroutine은 Go 프로그램의 동시성 단위입니다. Go 언어로 개발된 프로그램의 진입점entry point에 해당하는 func main() {...} 함수도 Go 런타임에 의해서 자동으로 실행되

2021년 7월 17일
·
0개의 댓글
post-thumbnail

Docker alpine 이미지 사용 시 Timezone 설정

Docker 컨테이너를 위한 베이스 이미지로 Alpine 리눅스를 자주 사용합니다.

2021년 7월 12일
·
0개의 댓글
post-thumbnail

고루틴은 어떻게 스케줄링되는가?

Go 언어의 장점으로 고루틴 통한 뛰어난 동시성 지원을 꼽을 수 있습니다. 기존에 다른 많은 언어들은 스레드를 통해 동시성을 지원했습니다. 그렇다면 Go 언어는 왜 고루틴 이라는 새로운 동시성 요소를 지원하기 시작했을까요? 고루틴은 쓰레드보다 가볍다. 고루틴은 흔히

2021년 7월 10일
·
0개의 댓글
post-thumbnail

Cobra로 간단한 CLI 만들기

이 글의 내용 중 일부는 Go 언어 실전 테크닉을 참고하여 작성했습니다. Saturday Night 스터디를 진행하면서 처음 Go 언어를 접하는 분들에게 Go 언어의 장점에 대해서 소개할 기회가 있었습니다. 여러가지를 설명해 봤지만, 잘 어필된다는 느낌을 받지 못하겠

2021년 6월 26일
·
2개의 댓글
post-thumbnail

Go 언어 - 성급한 추상화

The Ultimate Go Study Guide(https://ultimate-go-korean.github.io/translation/소프트웨어를 설계할 때 구체적인 타입;Concrete type을 이용한 높은 결합도;Coupling 대신 인터페이스를 이용

2021년 5월 1일
·
1개의 댓글

Go 언어 - 타입 그룹핑

Go 언어에서 서브 타이핑을 지원하지 않는 이유에 대해서 알아봅니다.

2021년 4월 24일
·
0개의 댓글
post-thumbnail

Go 언어 - OOP 흉내 내기

Go 언어는 Class와 상속;Inheritance을 지원하지 않습니다. 대신 구조체 합성;Struct composition을 통해서 객체지향 프로그래밍을 흉내 낼 수 있습니다. 어느 정도 객체지향 프로그래밍의 장점을 사용할 수는 있지만 객체지향 프로그래밍을 위한 풍부

2021년 4월 17일
·
0개의 댓글
post-thumbnail

systemd로 MongoDB 실행 시 Timeout 문제

CentOS에서 YUM으로 MongoDB를 설치하고 실행 중 다음과 같은 오류가 발생하면서 MongoDB 서비스가 올라오지 않는 문제를 겪었습니다.오류를 확인해보면 mongod 실행 후 pid이 확인되지 않아서 타임아웃;Timeout이 발생했습니다.pid 파일의 경로를

2021년 4월 14일
·
0개의 댓글
post-thumbnail

MongoDB ReplicaSet 호스트명 변경하기

ReplicaSet은 MongoDB의 고가용성;High availability 시스템으로 동일한 데이터를 갖는 mongod 프로세스들의 그룹으로 구성됩니다. 이는 1개의 Primary 멤버와 데이터 복사본을 갖는 다수의 Secondary 멤버들로 이루어집니다.최근 공인

2021년 4월 7일
·
0개의 댓글

Go 언어 - 배열

CPU 코어는 메인 메모리(RAM)에 접근하기 전에 CPU 캐시;CPU Cache에 접근합니다. 캐시에는 데이터와 명령어가 저장되며 프로세서;Processor 가까이 위치하면서 빈번하게 사용하는 데이터를 저장합니다. 캐시의 속도는 L1 > L2 > L3 > 메인 메모리

2021년 3월 21일
·
0개의 댓글

Go 언어 - 이스케이프 분석

이스케이프 분석;Escape analysis이란 객체의 포인터(참조)가 서브 루틴;Subroutine 밖으로 전파되는지를 분석하는 기술입니다. 이를 통해서 컴파일러가 최적화를 수행할 때 객체의 메모리를 스택;Stack과 힙;Heap 중 한 곳에 할당합니다.위 예제에서

2021년 3월 21일
·
0개의 댓글

Go 언어 - 상수

상수는 한 번 할당된 값을 변경할 수 없는변수입니다.상수는 const 키워드로 선언합니다. 고언어에서 상수는 반드시 컴파일 타임에 실행 가능한 표현식이어야 하며, 런타임 계산 결과는 상수로 할

2021년 3월 21일
·
0개의 댓글
post-thumbnail

Go 언어 - 슬라이스

CPU 코어는 메인 메모리(RAM)에 접근하기 전에 CPU 캐시;CPU Cache에 접근합니다. 캐시에는 데이터와 명령어가 저장되며 프로세서;Processor 가까이 위치하면서 빈번하게 사용하는 데이터를 저장합니다. 캐시의 속도는 L1 > L2 > L3 > 메인 메모리

2021년 3월 20일
·
0개의 댓글

Go 언어 - 함수

이스케이프 분석;Escape analysis이란 객체의 포인터(참조)가 서브 루틴;Subroutine 밖으로 전파되는지를 분석하는 기술입니다. 이를 통해서 컴파일러가 최적화를 수행할 때 객체의 메모리를 스택;Stack과 힙;Heap 중 한 곳에 할당합니다.위 예제에서

2021년 3월 13일
·
0개의 댓글
post-thumbnail

Go 언어 소개

Go 언어에 대해서 간략히 소개하는 글입니다.

2021년 3월 6일
·
0개의 댓글
post-thumbnail

Saturday Night 스터디

2020년에 @nicewook님이 주축이되어 진행한 Concurrency in Go 스터디에 참여 했었습니다. 발표도 한 번 진행했었고요. 당시에 진행 중인 프로젝트 일정이 빠듯해지면서 스터디를 완주하지는 못했습니다. 이후 Concurrency in Go를 일독하기는

2021년 3월 6일
·
0개의 댓글