Recent Posts

Elixir key-value 자료구조 함수 네이밍 규칙 - get, fetch, fetch!

3 minute read

Elixir 표준 라이브러리 중 key-value 자료구조에 규칙을 가진 것처럼 보이는 함수가 있다. get, fetch, fetch! 와 같은 값을 가져오는 함수이다. 자료 구조에서 값을 가져오는 함수로 fetch 를 사용하는 게 낯설었다. 어떤 규칙으로 설계했는지 궁금해졌다.

GitHub Actions에서 사용할 배포용 Linux 유저 생성

1 minute read

GitHub Actions로 ARM64 플랫폼 빌드 및 배포 용도의 Linux 유저를 만들자. GitHub Actions로 빌드한 결과물을 Linux 인스턴스로 복사한다. 빌드 결과물 저장할 디렉터리의 쓰기 권한이 필요하다. 딱 필요한 권한만 세팅한 Linux 유저를 만들자. 비밀...

GitHub Actions로 ARM64 플랫폼 빌드 및 배포

7 minute read

무료 ARM architecture 인스턴스를 사용하려고 Oracle Cloud 회원가입을 했다. ’Arm 기반 Ampere A1 코어 및 24GB 메모리’라니 후발주자라지만 너무 퍼주는 거 아냐? 남 걱정해 주긴 이르다. 여분 인스턴스가 없다고 안 만들어진다. 유료 서비스를 사용...

프로그래머의 뇌 (펠리너 헤르만스, 2022) 독후감

13 minute read

’How to Read Code?’ 영상을 재미있게 봤다. 코드를 읽는 데 도움이 되는 인지과학이라니 재미있다. 저서가 있다. 번역본이 있다. 묻지 마 구매를 했다. 읽을 책 큐에 한참을 담겨 있다가 이번에 빼내서 읽었다.

소프트웨어 아키텍처 101 (마크 리처즈, 닐 포드, 2021) 독후감

10 minute read

선을 긋고 왼쪽에는 이론이라 적고 오른쪽에는 실무라고 적는다. 내가 읽은 책을 나열해 보면 왼쪽보다는 오른쪽에 많이 치우쳐져 있다. 균형을 잡고 싶어서 이론에 더 가까운 소프트웨어 아키텍처 책을 집어 들었다. 책 제목에 101이 붙어 있어서 더 안심이 된다.

코드 일관성과 가이드라인을 제공할 수 있는 Elixir Credo 라이브러리

8 minute read

Elixir가 아닌 다른 프로그래밍 언어를 사용해 협업하다 보면 그리운 라이브러리 중 하나가 Credo이다. code review에서 정적 분석기가 거를 수 있는 것들을 수정 요청할 때 그립다. 잔소리는 기계가 해야 한다. 개인 프로젝트를 할 때는 코드 일관성이 제대로 안 지켜지고...

Elixir 언어에서 Behaviour란?

9 minute read

Elixir에서 Behaviour란 용어가 나온다. Erlang의 어깨 위에 올라서서 만든 언어라 Erlang에서 사용하는 Bahaviour라는 용어를 그대로 가져온 것 같다. C++의 pure virtual function만 정의한 클래스 혹은 C#의 interface와 비슷한 ...

Concurrent Data Processing In Elixir (Svilen Gospodinov, 2021) 독후감

less than 1 minute read

Task 모듈부터 시작해 GenServer, GenStage, Flow, Broadway까지 간다. 동시성 데이터 처리에 관련된 유용한 라이브러리를 망라하고 있다. 마지막으로 나오는 Broadway가 막판 대장이다. 여러 stage를 GenStage로 꾸역꾸역 구현해서 사용하고 있...