대규모 시스템 디자인 Part 1 강의

대규모 시스템 디자인 Part 1 강의

이번에 제가 시스템 설계와 관련된 강의를 만들었습니다. 대규모 시스템 디자인은 대규모 시스템을 만들며 공통적으로 만나게 되는 문제들을 해결하는 방법을 설명하고, 유명한 시스템을 공부하면서 실제로 어떻게 적용되고 있는지 배웁니다. 강의 바로 가기

Rust Ownership

Rust Ownership

Rust는 GC가 없는 언어이다. 보통은 언어가 힙 메모리를 관리하기 위해 GC를 사용하거나 개발자가 직접 관리하는 두 가지 노선을 선택해 왔지만, Rust는 조금 독자적인 방법을 선택했다. 각 변수가 사용하는 메모리에 대한 소유권을 하나만 유지하면 GC가 필요 없다는 점을 이용한다. 만약 하나의 변수에 힙 영역 데이터가 묶여있다면 해당 변수가 더 이상 접근 불가능한 상태가 되었을 때 메모리를 곧바로 해제해버리면 된다. 실제로 러스트를 사용하다 보면 힙 메모리를 free 하지 않아서 간단한 프로그램을 쓸 때 꼭 GC가 있는 언어처럼 느껴진다. 이번 글에서는 소유권 및 그와 연관된 여러 러스트의 컨셉을 정리했다.

자세히 보기
Go Scheduler

Go Scheduler

Go는 많은 것들을 “알아서” 해준다. 그래서 Go는 빌드 또는 실행 옵션이 다른 언어에 비해서 적은 편이다. Go의 가장 핵심적인 부분이라고 할 수 있는 고루틴 역시 Go의 런타임에서 알아서 관리해주고 있다. Go를 사용하면서 Go의 스케줄러를 알고 있어야만 하는 경우는 많지 않지만, 더 잘 쓰기 위해 조금 디테일한 런타임 동작에 대해 알아보자.

자세히 보기
Go에서 range의 모든 것

Go에서 range의 모든 것

Go 언어의 내장 함수들은 많지 않지만, 각각이 일당백 역할을 한다. make, new, range는 Go 프로그램을 작성할 때 넓은 범위에서 사용되는 내장 함수이다. 이번 포스팅에서는 range 활용에 대해서 정리해두었다.

자세히 보기
함수형 프로그래밍에 대한 얕은 지식

함수형 프로그래밍에 대한 얕은 지식

최근에 타입스크립트와 함수형 프로그래밍을 주제로된 책의 베타 리더로 활동하면서 관련된 책 한 권을 읽었다. 책은 그야말로 JS, TS, Functional Programming에 대한 내용들이었는데 그 중에 함수형 프로그래밍은 이번 기회에 처음 접하게 되어서, 책을 통해 새로 배우는 함수형 프로그래밍에 대한 내용들은 간단하게 정리를 해두려고 한다.

자세히 보기
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×