Profile img

초무

@2chanhaeng@hackers.pub · 90 following · 80 followers

GitHub
@2chanhaeng
Gravatar
gravatar.com/2chanhaeng

Functional Programming in Lean 한국어 번역 - 1. Lean 알아보기

초무 @2chanhaeng@hackers.pub

Lean은 함수형 프로그래밍과 수학적 증명을 결합한 독창적인 언어로, 프로그램의 모든 요소를 수학적 표현식으로 취급하여 부작용 없는 계산을 지향합니다. 이 글은 Lean 입문자를 위해 에디터 통합 환경에서의 실시간 피드백 활용법과 표현식 평가를 위한 #eval, 타입 확인을 위한 #check 등 기초 명령어를 상세히 소개합니다. Lean의 핵심인 강력한 타입 시스템을 바탕으로 자연수(Nat)와 정수(Int)의 차이부터 시작하여, 구조체(structure)를 통한 데이터 그룹화와 귀납적 자료형(inductive datatype)을 활용한 합 타입 및 재귀적 구조를 깊이 있게 다룹니다. 특히 데이터를 안전하게 분해하는 패턴 매칭과 논리적 일관성을 위해 종료가 보장되어야 하는 구조적 재귀의 원리를 명확히 설명하며, 타입 인자를 통한 다형성(polymorphism)과 암시적 매개변수 같은 고급 기능이 코드의 재사용성을 어떻게 높이는지 보여줍니다. 나아가 익명 함수, 네임스페이스, 문자열 보간과 같은 현대적 편의 기능을 통해 Lean이 제공하는 프로그래밍 경험의 전반을 아우릅니다. 이 포스팅은 단순한 언어 습득을 넘어 논리적으로 완결된 코드를 작성하고 시스템의 견고함을 추구하는 개발자들에게 Lean의 기초 패러다임을 이해하는 필수적인 출발점이 될 것입니다.

Read more →
1

Functional Programming in Lean 한국어 번역 - 소개 및 감사의 글

초무 @2chanhaeng@hackers.pub

Lean은 의존 타입 이론(dependent type theory)에 기반한 대화형 정리 증명기이자 범용 프로그래밍 언어로 설계된 현대적인 순수 함수형 언어입니다. Microsoft Research에서 시작되어 현재 Lean FRO에서 개발 중인 이 언어는 프로그램과 증명을 하나의 세계로 통합하며, Lean 자체를 Lean으로 구현할 만큼 높은 자기 완결성을 자랑합니다. 프로그래밍 언어로서 Lean은 실행 전 인자값을 계산하는 엄격성(strictness)과 부수 효과를 명시적으로 관리하는 순수성(purity)을 핵심 원칙으로 삼고 있으며, 특히 타입이 프로그램의 일급 객체가 되는 의존 타입을 통해 정교한 로직 설계를 지원합니다. 이 과정은 함수형 언어에 익숙하지 않은 일반 프로그래머나 증명 자동화 도구를 작성하려는 수학자들을 위해 Lean의 기본 개념과 도구 체계인 elan 및 lake의 활용법을 상세히 다룹니다. 저자 David Thrane Christiansen의 풍부한 경험이 녹아든 유니코드 기반의 수학적 표기법과 단계별 연습 문제는 독자가 함수형 사고방식을 자연스럽게 체득하도록 이끕니다. 수학적 엄밀함과 실용적인 소프트웨어 개발의 접점을 탐구하는 이 여정은 독자가 복잡한 시스템을 더 깊이 이해하고 결함 없는 프로그램을 구축하는 데 필요한 강력한 기술적 토대를 제공합니다.

Read more →
2

GitHub Action Rerunner

초무 @2chanhaeng@hackers.pub

GitHub Action Rerunner는 팀원들이 레포지토리에 대한 직접적인 쓰기 권한 없이도 실패한 GitHub Actions를 재실행할 수 있도록 권한을 위임하는 웹 애플리케이션입니다. 레포지토리 소유자는 개인 및 조직 레포지토리를 등록하고, 암호화된 Personal Access Token을 등록하여 공유 가능한 고유 링크를 생성할 수 있습니다. 팀원은 이 링크를 통해 자신에게 할당된 PR 목록을 확인하고, 실패한 Action을 원클릭으로 재실행할 수 있습니다. Next.js, React, Tailwind CSS, PostgreSQL, Prisma ORM, Octokit 등의 기술 스택을 사용했으며, GitHub OAuth를 통해 안전한 계정 관리를 제공합니다. 이 도구를 사용하면 레포지토리 보안을 유지하면서도 팀원들이 CI/CD 프로세스를 효율적으로 관리할 수 있어 개발 생산성을 향상시킬 수 있습니다.

Read more →
7

Fedify Tutorial 과제 끗!

초무 @2chanhaeng@hackers.pub

이 저장소는 Fedify를 사용하여 연합된 프론트엔드 아키텍처를 구축하는 방법을 보여주는 예제 프로젝트입니다. Fedify는 여러 독립적인 프론트엔드 애플리케이션을 하나의 통합된 사용자 경험으로 결합할 수 있게 해주는 도구입니다. 이 예제는 Fedify 설정을 통해 모듈 연합을 구성하고, 각 애플리케이션이 독립적으로 개발 및 배포되면서도 공유 컴포넌트와 상태를 통해 상호 작용하는 방법을 설명합니다. Fedify를 사용하면 프론트엔드 개발 팀은 독립성을 유지하면서도 일관된 사용자 인터페이스를 제공할 수 있습니다. 이 저장소는 Fedify를 처음 접하는 개발자에게 실질적인 시작점을 제공하며, 마이크로 프론트엔드 아키텍처를 구현하는 데 유용한 참고 자료가 될 것입니다.

Read more →
5