# 절차적 프로그래밍 (Procedural Programming) **절차적 프로그래밍**(Procedural Programming)은 컴퓨터 프로그램의 흐름을 일련의 명령어, 즉 '절차(Procedure)' 또는 '함수(Function)'의 호출을 통해 제어하는 프로그래밍 패러다임입니다. 이 패러다임은 명령형 프로그래밍(Command-line Progr...
검색 결과
"함수형 프로그래밍"에 대한 검색 결과 (총 38개)
# 디자인 패턴 (Design Pattern) ## 개요 **디자인 패턴**(Design Pattern)은 소프트웨어 공학에서 반복적으로 발생하는 설계 문제를 해결하기 위한 재사용 가능한 해결책을 의미합니다. 1977년 건축가 크리스토퍼 알렉산더가 건축 분야에서 처음 제안한 개념을 소프트웨어 공학에 도입한 것으로, 에리히 감마(Richard Gamma)...
# 절차형 API (Procedural API) ## 개요 **절차형 API**(Procedural API)는 객체 지향 프로그래밍(OOP)의 대안으로, 함수 호출을 통해 소프트웨어의 기능을 노출하고 제어하는 프로그래밍 인터페이스 스타일입니다. 이 접근 방식은 상태(state)와 동작(action)을 명확히 분리하며, 호출자가 명시적으로 컨텍스트(con...
# 오류 처리 (Error Handling) ## 개요 **오류 처리(Error Handling)**는 소프트웨어 프로그램이 실행 중 발생할 수 있는 예외적인 상황이나 오류를 감지하고, 적절하게 대응하여 프로그램의 비정상 종료를 방지하거나 사용자에게 의미 있는 피드백을 제공하는 프로그래밍 기법입니다. 현대 소프트웨어 공학에서 오류 처리는 시스템의 안정성...
# 클로저 (Closure) ## 개요 **클로저(Closure)**는 프로그래밍 언어에서 함수와 그 함수가 선언될 때의 환경(렉시컬 환경)을 결합한 객체를 의미합니다. 즉, 클로저는 외부 함수의 지역 변수에 접근할 수 있는 내부 함수로, 외부 함수가 실행을 종료하고 스택에서 제거된 후에도 해당 변수의 값을 유지하고 참조할 수 있게 합니다. 클로저는 ...
# Python ## 개요 **Python**(파이썬)은 1991년 네덜란드의 프로그래머인 **귀도 반 로섬**(Guido van Rossum)이 개발한 고급 프로그래밍 언어로, 코드의 가독성과 간결성을 중시하는 설계 철학을 지닌다. Python은 "배우기 쉬우면서도 강력한 언어"라는 평가를 받으며, 초보자부터 전문가까지 폭넓게 사용되고 있다. 현재는 ...
# Types and Programming Languages ## 개요 『**Types and Programming Languages**(이하 *TAPL*)』은 컴퓨터공학, 특히 프로그래밍 언어 이론과 형식 시스템(formal systems) 분야에서 가장 영향력 있는 학술 서적 중 하나이다. 저자인 **벤자민 C. 피어스**(Benjamin C. Pi...
# Gang of Four ## 개요 **Gang of Four**(이하 GoF)는 소프트웨어 공학 분야에서 객체지향 설계의 기초를 다진 네 명의 컴퓨터 과학자들을 일컫는 별칭입니다. 이들은 1994년 출판한 저서 『**Design Patterns: Elements of Reusable Object-Oriented Software**』(디자인 패턴: 재...
# OOP ## 개요 **OOP**(Object-Oriented Programming, 객체 지향 프로그래밍)는 소프트웨어 설계와 프로그래밍의 한 패러다임으로, **데이터와 그 데이터를 조작하는 함수를 하나의 단위인 "객체"(Object)로 묶어** 프로그램을 구성하는 방식입니다. OOP는 현실 세계의 사물을 추상화하여 소프트웨어 내에서 모델링함으로써,...
# Python ## 개요 Python(파이썬)은 1991년 구이도 반 로섬(Guido van Rossum)에 의해 처음 발표된 고급 프로그래밍 언어로, **간결하고 읽기 쉬운 문법**을 특징으로 합니다. Python은 "배우기 쉬우면서도 강력한 기능을 제공한다"는 철학 아래 설계되어, 초보자부터 전문 개발자, 데이터 과학자, 연구자에 이르기까지 다양한...
# 선언형 API ## 개요 선언형 API(Declarative API)는 사용자가 **"무엇을 원하는가**(what)에 집중하도록 설계된 프로그래밍 인터페이스입니다. 이는 절차형 API(Imperative API)와 대비되며, 절차형 API가 "어떻게 해야 하는가"(how)를 단계별로 명시한다면, 선언형 API는 최종 상태나 목표를 기술하고, 시스템이...
# Cardano ## 개요 **Cardano**(카르다)는 첫 번 **학문적 연구 기반으로 설계된 오픈소스 블록체인 플랫폼**으로, 스마트 계약과 분산 애플리케이션(DApp)을 지원하는 탈중앙화된 블록체인 네트워크이다. 2015년에 설립되어 2017에 공식 출시된 Cardano는 찰스 호스킨슨(Charles Hoskinson)이 이더리움의 공동 창립자...
# `filter()` 함수 ## 개요 `filter()` 함수는 함수 프로그래밍에서 자주되는 **고차 함수**(-order function) 중로, 주어진건(판별 함수)을 만족 요소들만을 추출하여 새로운 반 가능한 객체를 반환 역할을 합니다. 이 함수는 데이터 처리, 리스트 조작, 조건 기반 필터링 등 다양한 상황에서 유용하게 활용되며, 코드의 가독성...
# 패턴 매칭 ##요 **패턴 매칭Pattern Matching)은로그래밍 언어에서 데이터의 구조나 형태를 기반으로 특정 조건을 확인하고, 일하는 경우 해당 구조에 맞 값을 추출하거나 처리를 분기하는 기법이다. 전통적인 조건문(`if`, `switch`)과 달리, 패턴 매칭은 데이터의 형태(형태, 타입, 값, 내부 구조 등)를 기준으로 분기 결정을 하며...
# 범주 ## 개요 **범주**(Category) **범주론**(Category Theory) 기본 구성 요소로,학의 다양한 구조와 그들 사이 관계를 추상적으로 다루는 데 사용되는 수학적 개념이다. 범주론은1940대에 샘UEL 에일렌버그(Samuel Eilen)와 손더스 매클레인(Saunders Mac Lane)에 의해 위상수학 호몰로지 이을 정리하기 ...
# 콜백 함수 ## 개요 **콜 함수**(Callback Function)는 프래밍에서 특정이 완료된 후에 자동으로 호출되는 함수를 의미합니다. 주로 비동기 처리, 이벤트 처리, 함수형 프로그래밍 패에서 널리 사용되며 특히 **웹 개발** 분야에서 자바스크립트(JavaScript)를 중심으로 매우 중요한 개념입니다. 콜 함수는 "함수를 인자로 전달하여,...
# 옵셔널 타입 ## 개요 **옵셔 타입**(Optional Type)은 프로그래밍 언어에서 값이 존재할 수도 있고, 존재하지 않을 수도 있는황을 명시적으로 표현하기 위한 타입스템의 한입니다. 이는 ``이나 `undefined와 같은 특수 허용하는 변수를 안전하고 명하게 다루기 설계 패턴으로 특히 정적 타입 언어에서 널 포인터 참조(null pointe...
Agda Agda는 함수형 프로그래밍 언어이자 **정형 증명기**(proof assistant)로, 수학적 정리의 형식적 증명과 소프트웨어의 정확성 검증을 위해 설계된 고급 언어입니다. Agda는 **의존 타입**(dependent types)을 지원하여, 프로그램의 구조와 논리적 성질을 타입 시스템에 직접 반영할 수 있어, 프로그램이 요구된 사양을 만족...
# 타입 이론타입 이론 Theory)은 프로그래밍 언어 수학 기초 이론에서 중요한 역할을 하는 학문 분야로, 데이터의 종류(타입를 체계적으로 정의하고, 이들 간의 관계와 연산의 유효성을 검증하는 이론적 기반을 제공합니다. 특히 프로그래밍 언 설계, 형식적 검증 컴파일러 개발, 함수형 프로그래밍 등에서 핵심적인 역할을 하며, 오류를 사전에 방지하고 코드의 안...
# Types and Programming Languages ## 개요 《**Types and Programming**(이하 *TAPL*)는 벤자민 C. 파이어스(Benjamin C.)가 저술한로그래밍 언어론과 형식스템(formal type)에 관한 대표적인 교과서입니다. 이 책은 프로그래밍어의 설계, 구현 분석에 있어 **타입 이론**(type the...