하스켈 학습 노트: 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에 게시됨
Python IndexError 방지 및 해결 가이드
IndexError: list index out of range 이해하기
Python 개발 시 자주 마주치는 IndexError: list index out of range는 시퀀스 자료형의 범위를 벗어난 위치에 접근할 때 발생합니다. 리스트의 인덱스는 0부터 시작하며, 마지막 요소의 인덱스는 len(리스트) - 1입니다.
오류 발생 예시
data = ['apple', 'banana', 'cherry']
print(data[5]) # IndexError 발생
위 코 ...
6월 15일 00:02에 게시됨
싱글톤 패턴과 열거형, 예외 처리 및 어노테이션 활용
싱글톤 디자인 패턴
싱글톤 패턴은 객체를 한 번만 생성하여 메모리 사용을 줄이고 일관성을 유지하는 데 유용합니다.
즉시 초기화 방식(Eager Initialization): 클래스 로딩 시점에 인스턴스를 생성하므로 스레드 안전하지만 메모리 점유 시간이 길 수 있습니다.
지연 초기화 방식(Lazy Initialization): 필요할 때 인스턴스를 생성하므로 메모리를 절약하지만 멀티스레 ...
6월 10일 20:55에 게시됨
Java 예외 처리 핵심 정리
예외의 본질
프로그램 실행 중 JVM이 수행 불가능한 연작을 감지하면 런타임 에러가 발생한다. Java에서는 이를 예외(Exception)라는 객체로 포장해 던진다. 예외는 정상적인 실행 흐름을 방해하는 비정상 상황을 표현하며, 적절히 대응하지 않으면 프로세스는 비정상 종료된다.
예외 계층 구조
모든 예외는 java.lang.Throwable을 거점으로 전개된다. 두 개의 직접 계열 ...
5월 31일 21:53에 게시됨
ASP.NET Core MVC 필터를 활용한 요청 처리 확장
필터란 무엇인가?
ASP.NET Core에서 필터(Filter)는 컨트롤러의 액션 메서드 실행 전후에 특정 로직을 삽입할 수 있는 메커니즘입니다. 이를 통해 인증, 예외 처리, 로깅, 캐싱 등과 같은 공통 관심사(cross-cutting concerns)를 중복 코드 없이 일관되게 적용할 수 있습니다.
필터는 MVC 요청 처리 파이프라인 내에서 정해진 순서로 실행됩니다. 이 파이프라인은 라우팅 ...
5월 26일 01:04에 게시됨