Programming

TODO 리스트에 질렸다면? 칸반보드 만들기! - 스칼라 백엔드 서버 개발 2편

스칼라로 백엔드 개발하기 시리즈의 2편입니다. 이전 1편에서는 개발을 통해 학습하고 싶었던 라이브러리 (기술 스택)을 생각해보았고 이번 글에서는 실제로 무엇을 개발할지 그리고 어떻게 개발할지 계획을 짜봅니다. TODO보다 칸반 토이 프로젝트로 할 것이 없어 추천을 받을 때 꼭 나오는 예시 중 하나가 바로 TODO 리스트 만들기 입니다.

http4s 역사로 이해하기 - Scala 함수형 웹 프레임워크 2편

이 글은 http4s: pure, typeful, functional HTTP in Scala – Ross Baker 영상을 번역 + 부가 설명 + 약간의 사견을 넣어 작성한 글입니다. 총 2편으로 구성되어 있습니다. 1편 바로가기 SemigroupK?

http4s 역사로 이해하기 - Scala 함수형 웹 프레임워크 1편

이 글은 http4s: pure, typeful, functional HTTP in Scala – Ross Baker 영상을 번역 + 부가 설명 + 약간의 사견을 넣어 작성한 글입니다. 총 2편으로 구성되어 있습니다. 2편 바로가기 글을 쓰게된 경위 (넘겨도 무방) 과거 스칼라를 이용해 함수형 프로그래밍을 시작하고 제가 배운 내용을 어떻게 실제로 활용하고 싶어 스칼라로 만들어진 웹 프레임워크들을(또는 라이브러리, 이하 프레임워크라고 하겠습니다.

스칼라로 백엔드 서버 개발하기 1편

스칼라 백엔드 개발자이지만 코드베이스 없이 맨 땅에서 스칼라로 간단한 백엔드 서버를 개발해보라고 하면 부끄럽지만 여전히 어려움을 느낍니다. 이 글과 함께 스칼라를 이용한 웹 서버 개발 과정을 확실하게 익혀보려 합니다. 큰 그림 우선 간단히 어떤 라이브러리와 기술 스택을 사용할지 간단히 정리해보겠습니다.

Aecor Intro [번역] - Scala 이벤트 소싱하기!

이 글은 Vladimir Pavkin의 Aecor - Purely functional event sourcing in Scala. Introduction을 번역한 글입니다. 지금부터 Aecor에 대한 시리즈를 시작해보려 한다. Aecor는 이벤트 소스를 사용하는 어플리케이션을 만들기 위해 Scala + 순수함수형 프로그래밍을 사용한 라이브러리이다.

ZIO를 이용해 의존성 관리하기 [번역]

이 글은 Adam Warski의 Managing dependencies usin ZIO를 번역한 글입니다. ZIO는 안전한 타입과 함께 조합 가능하며서 (composable) 비동기 (asynchronous) 또는 동시성 (concurrent) 프로그래밍을 할 수 있는 Scala의 라이브러리이다. 최근 자신들의 “환경” 컴포넌트를 점검 하였다.

ZIO를 통한 부수효과가 있는 코드 관리 [번역]

이 글은 Pierre Ricadat 의 Wrapping impure code with ZIO 를 번역한 글입니다. 만약 당신이 스칼라로 함수형 프로그래밍을 하고 있다면 상당히 헤맬 가능성이 높다. 우리가 다루는 코드가 함수형 프로그래밍의 기본 원리인 총체성 (totality), 결정성 (determinism), 순수성 (Purity)을 지키지 않을 수 있기 때문이다.

함수형 디자인 소개 [번역]

이 글은 John A De Goes의 An Introduction to Functional Design을 읽고 번역 및 요약한 글입니다. 발번역이지만 도움이 되길 바랍니다. An Introduction to Functional Design 함수형 프로그래밍은 복잡하고 이론적이여야 한다고 생각히기 십상이다.

직접 사용하면서 느낀 함수형 프로그래밍의 장점

함수형 프로그래밍 진짜 좋은가? 함수형 프로그래밍에 대한 장점을 인터넷에 검색하면 나오는 내용은 “부작용(side effect)이 없다”, “디버깅이 쉽다”, “테스트하기 쉽다” 등의 내용을 볼 수 있습니다. 하지만 이러한 장점을 느끼기 위해서 1급 객체(First Class Object), 고차 함수(Higher-Order Function), 불변성(Immutabiliy) 등 알아야 할 개념이 많고, 기존 명령형 프로그래밍 언어(C, Java)를 사용하던 사람이라면 순수 함수를 쓰는 것 자체가 불편하게 느껴질 것입니다.