하스켈 학습 노트: Exception, Except, ExceptT Monad 변환기
Exception 클래스
class (Typeable e, Show e) => Exception e where
toException :: e -> SomeException
fromException :: SomeException -> Maybe e
toException = SomeException
fromException (SomeException e) = cast e
displayException :: e -> String
displayException = show
instance Exception SomeException where
...
7월 1일 20:52에 게시됨
Ramda로 객체 다루기: 불변성과 선언적 접근
Ramda를 활용한 함수형 프로그래밍에서 객체를 다루는 핵심 원칙은 불변성입니다. 이 글에서는 객체의 속성을 읽고, 수정하고, 병합하는 다양한 방법을 살펴봅니다.
속성 읽기: prop과 친구들
객체에서 특정 속성을 추출할 때 prop을 사용합니다. 예를 들어 사용자의 출생 국가를 확인하는 함수를 만들어봅시다.
const 국가_일치 = 국가 => equals(국가);
const 출생국 ...
6월 21일 16:14에 게시됨
람다로 사고하기: 선언적 프로그래밍
선언적 프로그래밍과 람다
함수형 프로그래밍 시리즈인 람다로 사고하기의 네 번째 편입니다. 이전 편에서는 부분 적용과 커링을 활용해 다수의 인자를 받는 함수들을 조합하는 방법을 살펴보았습니다.
작은 기능 단위를 만들어 내고 이를 조합하다 보면, 일반적인 산술 연산, 비교, 논리 연산 및 제어 구조에 대한 래퍼 함수를 자주 작성하게 됩니다. 이 과정은 반복적일 ...
6월 21일 03:53에 게시됨
Optional과 ifPresent를 활용한 null 안전성 처리
Java 8에서 도입된 Optional은 null 참조로 인한 NullPointerException을 방지하기 위해 설계된 컨테이너 객체입니다. 값의 유무를 명시적으로 표현하며, isPresent()로 존재 여부를 확인하고 get()으로 실제 값을 추출할 수 있습니다.
Optional 생성 방식
JDK는 세 가지 정적 팩토리 메소드를 제공합니다:
메소드설명
Optional.of(T value)non-null 값으로 Option ...
5월 30일 17:25에 게시됨
Elm과 JavaScript의 원활한 통합: Create Elm App에서 Ports 사용 방법
Elm과 JavaScript의 원활한 통합: Create Elm App에서 Ports 사용 방법
Create Elm App는 설정 없이도 Elm 앱을 만들 수 있는 도구로, 이는 단순히 프로젝트 시작을 용이하게 하는 데서 그치지 않고 Elm과 JavaScript 간의 원활한 통합 기능도 제공합니다. 본 문서에서는 Create Elm App 프로젝트에서 Ports 기능을 활용하여 Elm과 JavaScript 간의 데이터 전송 및 함수 호 ...
5월 26일 08:38에 게시됨