박준규's Avatar

박준규

@curry.hackers.pub.ap.brid.gy

자기소개 글 링크 🌉 bridged from https://hackers.pub/@curry on the fediverse by https://fed.brid.gy/

2 Followers  |  2 Following  |  8 Posts  |  Joined: 29.06.2025  |  2.3789

Latest posts by curry.hackers.pub.ap.brid.gy on Bluesky

Preview
GitHub - hackers-pub/visual-identity: Visual identity for Hackers' Pub Visual identity for Hackers' Pub. Contribute to hackers-pub/visual-identity development by creating an account on GitHub.

Hackers' Pub의 로고 디자인이 완료되었습니다! 디자인은 박은지 님(@murinono)께서 해주셨습니다.

연합우주라는 콘셉트에 맞게 고양이의 입 주변을 별 모양으로, 목 아래에도 고리(orbital ring) 모양으로 디자인했습니다. 고양이를 고른 이유는 소프트웨어 프로그래머 커뮤니티에서 다른 동물보다 유독 고양이가 사랑 받기 때문이기도 하고, 고양이가 호기심이 강하기 때문이기도 합니다.

로고 디자인은 CC-BY-SA 4.0 라이선스로 배포됩니다.

30.07.2025 04:32 — 👍 2    🔁 7    💬 0    📌 0

@hongminhee 에이, 5분 가지고 뭘 그러세요. hakyll은 20분 걸리는데… ~~긴 빌드 타임은 낭만입니다.~~

24.07.2025 19:53 — 👍 1    🔁 1    💬 1    📌 0

@hongminhee 아, 글의 작성(?) 시각이 문제였군요. 서버가 글을 받은 시각을 사용하면 되지 않을까요?

24.07.2025 04:21 — 👍 2    🔁 0    💬 1    📌 0

@eatch.dev 와, 이게 뭐죠? 신기하게 계속 피드 상단에 남아 있네요?

22.07.2025 23:07 — 👍 1    🔁 0    💬 1    📌 0

MacBook Pro M1 Max 14인치 32GB RAM 512GB SSD 중고로 사실 분 계신가요? 참고로 홍콩에서 샀고 자판은 영문 자판입니다. 당근 조금 찾아보니 대충 시세가 대충 150만원 전후인 것 같은데, 저는 100만원에 내놓습니다.

20.07.2025 15:23 — 👍 1    🔁 4    💬 1    📌 0
Original post on hackers.pub

@curry 정말 귀한 글 올려주셔서 감사합니다.

저 역시 사람들에게 마지막 답장에 언급된 typeclassopedia를 가장 많이 추천합니다. 많은 분들이 하스켈 입문 후 당장의 코딩 경험을 쌓기보다 "모나드는 부리또다"로 대표되는 하스켈 튜토리얼류에 집착적으로 빠져들며 학습의 발란스를 깨는 경향이 보입니다. 무엇에 기인하는 현상인지 아직 확실히 파악은 못했지만 분명 안타까운 상황인 거 같아요.

물론 typeclassopedia도 튜토리얼 문서의 일종이지만 저자만의 특수한 깨달음 포인트가 아닌 정공법으로 설명해주다 보니 […]

16.07.2025 08:19 — 👍 2    🔁 2    💬 0    📌 0
하스켈 편지 ## 6월 6일 안녕하세요. 저는 한국에 사는 취미 프로그래머이고, Haskell로 코딩하는 것을 즐깁니다. 우연히 Matrix Haskell에 올리신 글(https://storytotell.org/smalltalk-haskell-and-lisp)을 읽게 되었는데, NRAO라는 곳에서 일하고 계시다는 것을 알게 되었습니다. 이름만 들어도 NRAO는 정말 흥미로운 곳처럼 들립니다! 혹시 그곳에서 Haskell 기반 프로그램을 사용하고 계신가요? 감사합니다! 좋은 하루 되세요. 박준규 드림. ## 6월 7일 준규님께. 편지를 받게 되어 정말 기쁩니다! Haskell을 사용하는 취미 프로그래머라는 말씀을 듣고 무척 반가웠습니다. 혹시 현재 진행 중인 프로젝트나 공유해주실 수 있는 코드가 있으신가요? Haskell 공부는 어느 정도까지 하셨나요? H-99 문제는 풀어보셨는지요? 또는 Advent of Code, Project Euler 같은 문제 풀이도 해보셨나요? 공부하시는 데 필요한 자료나 지원은 충분하신지도 궁금합니다. 제 블로그를 읽어주셔서 진심으로 감사드립니다. 요즘은 Haskell을 많이 다루고 있진 않지만, Haskell은 제 프로그래밍 이해에 깊은 영향을 주었습니다. 저는 지금도 Haskell에서 얻은 아이디어를 자주 활용하고 있고, 업무에서 프로젝트 프로토타입을 만들 때 사용하기도 했습니다. 다만, 아쉽게도 현재 제가 맡은 업무 프로젝트 중에는 Haskell로 작성된 것은 없습니다. 하지만 NRAO에는 Haskell을 사용한 이력이 조금 있습니다. 지금도 Green Bank Observatory에서 사용되고 있는 프로젝트가 하나 있는데, 망원경 스케줄링 프로그램인 “antioch”입니다. 소스 코드는 다음에서 보실 수 있습니다. https://github.com/nrao/antioch 보시다시피 한동안 유지 관리가 되지 않고 있습니다. 코드를 읽어보시면 두 가지를 금방 눈치채실 겁니다. 1) 전체가 “Bird 스타일”로 작성되어 있어서 코드가 설명 사이에 주석처럼 들어가 있다는 점, 2) 작성자들이 Haskell에 대해 그렇게 깊은 이해를 갖고 있진 않았다는 점입니다. :) 제가 이 프로그램을 좀 더 현대적으로 바꿔보려고 시도한 브랜치가 어딘가에 있긴 한데, 내부에만 있는 것인지 저도 잘 모르겠습니다. 물론, 우리가 Haskell 기반 프로그램을 사용하면서도 크게 의식하지 않는 경우도 있습니다. 예를 들어 Pandoc은 아마 이미 알고 계실 텐데, 그런 도구 중 하나입니다. 개인적으로는 “reldiagram”이라는 프로그램을 가끔 사용하는데요. https://github.com/fusiongyro/reldiagram 이 프로그램은 PostgreSQL 데이터베이스를 읽어서 테이블 간의 관계를 도식화해줍니다. 제가 만든 Haskell 저장소는 이 외에도 몇 개 더 있지만, 가족과 함께하는 삶의 시기라 취미에 많은 시간을 쓰지 못해 대부분 좀 오래된 것들입니다. 언젠가는 여유가 생기면 더 많은 결과물을 만들 수 있으리라 생각합니다. 가끔은 Haskell이 아닌 다른 기이한(?) 것들도 시도하곤 했습니다. 예를 들어 Subversion에서 Git으로 대규모 마이그레이션을 할 때는 Prolog로 변환을 돕는 프로그램을 작성하기도 했습니다! 아마 지금 다 기억나지 않는 것도 있을 거예요. NRAO는 정말 훌륭한 직장입니다. 제가 처음 입사했을 때는 모든 것이 C++와 Java로 되어 있었어요. 지금은 대부분 Python으로 작업하지만, Go도 있고 Julia나 Rust를 쓰기 시작한 동료들도 있습니다. 점점 더 새로운 기술을 시도하려는 분위기로 바뀌고 있지요.(아마 J 언어는 당분간 안 쓰겠지만요! 😊) 제 블로그를 보시면 아시겠지만 저는 그냥 프로그래머일 뿐입니다. 하지만 NRAO에는 과학자, 실제 천문학자들도 많이 있습니다. 그중 한 명인 Emmanuel Momjian 박사는 최근 한국에 다녀왔는데, 한국의 아름다움과 음식에 대해 끊임없이 이야기하더군요. 저도 언젠가는 꼭 한국을 방문하고 싶습니다! 혹시 미국 뉴멕시코에 오실 일이 있다면 꼭 연락 주세요. 만나서 VLA(초거대 전파 망원경) 현장 투어도 안내해드릴 수 있습니다! 늘 좋은 일 가득하시길 바랍니다. 진심을 담아. ## 6월 8일 다니엘 님께. 정성스럽고 친절한 답변 진심으로 감사드립니다. 제가 공유드릴 수 있는 프로젝트들을 몇 가지 소개해드리겠습니다. 먼저, 제가 유지 관리자로 등록된 Hackage 패키지입니다. * https://hackage.haskell.org/package/align-equal * https://hackage.haskell.org/package/webfinger-client `align-equal`은 Gabriela 님의 블로그 글에 소개된 프로그램을 바탕으로 연습 삼아 만든 프로젝트입니다. `webfinger-client`는 원래 다른 분이 시작했다가 중단한 프로젝트를 최근에 제가 이어받은 것입니다. 두 프로젝트 모두 처음부터 제가 시작한 것은 아니라 조금 부끄럽기도 합니다. 저는 몇 년째 꾸준히 Haskell을 공부해왔지만, 아직 monad transformer를 능숙하게 다루지는 못합니다. H-99나 Project Euler 같은 문제들을 훑어보긴 했지만 실제로 풀지는 못했습니다. Advent of Code는 매년 1~2일 차 문제 정도는 시도해보지만 완주한 적은 없습니다. 또한 Exercism에 올라온 Haskell 문제도 몇 가지 풀어보았습니다. https://exercism.org/profiles/nattybear 그리고 다음은 제가 Protohackers에서 푼 0~2번 문제입니다. https://protohackers.com/ 대체로 저는 Haskell로 출판된 책들을 읽는 것을 즐깁니다. 소개해주신 antioch 프로젝트도 흥미로웠습니다. 꽤 오래된 프로젝트이긴 하지만요. 저도 Pandoc을 자주 사용합니다. 별건 아니지만 Hakyll을 이용해 정적 블로그도 운영하고 있습니다. https://nattybear.github.io/ reldiagram 프로젝트도 흥미롭네요. 저도 Graphviz를 좋아해서 반갑게 느껴집니다. 개인적인 프로젝트에 Prolog를 사용해본 적은 없지만, 《Logic Programming with Prolog》라는 책을 재미있게 읽고 예제도 따라 해 본 기억이 있습니다. 사실 저는 한 번도 미국 본토에 가본 적이 없습니다.(괌은 여행으로 간 적이 있습니다.) 앞으로 방문할 기회가 생길지는 모르겠지만, 언젠가 기회가 된다면 영화에서만 보던 그 거대한 전파망원경을 꼭 보고 싶습니다. 저도 요즘은 가족과 함께 보내는 시간이 많아 취미에 많은 시간을 쓰지는 못하고 있습니다. 언젠가 조금 더 여유로워지면, Haskell 생태계에 좀 더 활발히 기여할 수 있으면 좋겠습니다. 제 간단한 질문에 정성껏 길게 답변해주셔서 다시 한 번 감사드립니다. 혹시 이 대화를 트위터나 한국 디스코드 서버 ‘하스켈 학교’ 같은 소셜 미디어에 공유해도 괜찮을까요? 다시 한 번 감사드리며, 언제나 건강하시기를 바랍니다. 진심을 담아. 박준규 드림. ## 6월 10일 준규 님께. 유지 관리하고 계신 프로젝트들을 공유해주셔서 감사합니다. 저는 WebFinger라는 것을 이번에 처음 들었는데요, 아마도 Fediverse에 대해 잘 몰라서 그럴 것 같습니다. 반면에 준규 님께서는 이쪽에 대해 어느 정도 알고 계신 것 같네요. 절대 부끄러워하지 마시고, Haskell 세계에 무언가를 돌려주고 계시다는 점에 자부심을 느끼셔야 합니다! 제 아내가 자주 하는 말이 있는데요, “비교는 기쁨의 도둑”이라는 말이 있어요. :) 저도 Exercism을 한 번 확인해봐야겠네요. 아직 사용해본 적이 없고, Protohackers는 아예 처음 듣습니다. Advent of Code는 저도 보통 이틀쯤 하면 포기하게 됩니다. 문제 난이도가 금방 아주 높아지죠. 연말 휴일에 하루에 몇 시간씩 쓰고 싶진 않으니까요. 그래도 가끔은 연중에 돌아가서 한두 문제씩 풀어보곤 합니다. 어떤 분께서 언어를 배우기에 좋은 방법이라고 추천해주셔서, 저도 요즘 J를 공부하면서 따라 해보려고 하고 있습니다. 블로그도 공유해주셔서 감사합니다. Google Translate의 도움을 받아서 즐겁게 읽었습니다! 준규 님께서 스스로 시간을 내어 Haskell과 Lisp, 그리고 수학적 증명에 대해 공부해오신 점은 정말 자랑스러우신 일이라고 생각합니다. 저도 꾸준히 블로그를 구독할 수 있도록 좋은 RSS 리더를 찾아봐야겠네요. Lisp에 대해서도 흥미를 느끼고 계신 걸 보았는데, 저도 약간은 다뤄보았지만 Haskell만큼 깊이 있게 하지는 못했고, 공개 저장소에 올린 코드도 없는 것 같습니다. 개인적으로는 Lisp과 Haskell 사이에 깊고 아름다운 대칭성이 있다고 생각합니다. Haskell의 게으름(laziness)을 잘 활용하면, Lisp의 매크로와 비슷한 효과를 얻을 수 있다고도 생각하고요. 혹시 아직 안 읽어보셨다면, Typeclassopedia를 꼭 읽어보시길 추천드립니다. https://wiki.haskell.org/Typeclassopedia 이 문서는 제가 Haskell을 이해하는 데 정말 많은 도움을 주었습니다. 물론 아직도 comonad는 잘 이해하지 못했지만요! 한국어 번역본이 있다면, Haskell을 공부하는 다른 친구분들께도 아주 유용할 것 같습니다. 또한 아직 접해보지 않으셨다면 “free monad”에 대해서도 알아보시는 걸 추천드립니다. 제가 이해한 바로는, free monad는 절차적인(action-based) 방식으로 작성된 동작들을 구조화된 데이터로 만들기 쉽게 해주고, 그 구조를 함수형으로 다룰 수 있게 해주는 개념입니다. 즉, 절차적으로 보이는 문제를 함수형으로 전환할 수 있는 다리 역할을 해준다고 할 수 있습니다. 저 자신이 직접 써본 적은 없지만, 매우 강력한 아이디어라고 생각합니다. 그리고, 제가 드린 편지는 어떤 방식으로든 자유롭게 공유하셔도 괜찮습니다! 혹시 Haskell 관련해서 흥미로운 문제를 만나게 된다면 언제든지 제게 질문해 주세요. 저도 그걸 핑계로 다시 Haskell을 손에 잡을 수 있을지도 모르니까요. :) 다시 한 번 감사드리며.
16.07.2025 06:29 — 👍 5    🔁 4    💬 1    📌 0
https://hackers.pub/ status page – updown.io Status on last indexing (14 Jul 23:57 UTC) → 100% uptime (1 month) · 808 ms average response time · 0.59 Apdex (0.5s)

해커즈 퍼브 상태를 여기서 확인할 수 있습니다. https://updown.io/f05l

14.07.2025 23:58 — 👍 0    🔁 0    💬 0    📌 1

@Lambda_1stLight 선생님, 이 인형 어디서 구할 수 있나요?

14.07.2025 01:19 — 👍 0    🔁 0    💬 0    📌 0
2020년의 하스켈에 대한 내 생각 이 글은 저자의 허락을 받아 ChatGPT를 통해 한글로 옮긴 것입니다. * 저자: Marco Sampellegrini * 링크: https://marcosampellegrini.com/thoughts-on-haskell-2020 # 2020년의 하스켈에 대한 내 생각 나는 2019년 10월에 Stick to Simple Haskell이라는 제목으로 발표를 했다. 그 발표를 준비하고 작성하는 데 많은 노력을 들였다. 발표 후 적지 않은 사람들이 나에게 다가와서 정말 좋았다고 말했다. 그들은 흔히 예상되는 사람들, 즉 타입 수준 프로그래밍을 결코 포기하지 않는 사람들이 아니었다. 오히려 나처럼, 그리고 많은 다른 사람들처럼, 단지 일상적인 개발 일이 조금이라도 덜 힘들었으면 좋겠다고 바라는 평범한 소프트웨어 개발자들이었다. 나는 그 발표에서 이야기한 몇 가지 생각들이 더 널리 퍼질 가치가 있다고 생각한다. 아니면 최소한 더 많이 논의될 필요가 있다고 본다. Boring Haskell Manifesto 같은 움직임은 정말 신선한 바람이다. 우리는 그런 것들이 더 많이 필요하다. 이 글은 내가 할 수 있는 작은 기여다. ## 30살 2020년에 하스켈은 30주년을 맞이한다. 처음부터 하스켈 언어 설계자들은 하스켈이 다음과 같은 목적으로 사용되기를 바랐다. * 함수형 프로그래밍 교육 * 프로그래밍 언어 연구에서의 혁신과 발전 * 실제 애플리케이션 및 대규모 시스템 구축 이 중 교육은 잠시 제쳐두고 나머지 두 가지에 집중해 보자. 프로그래밍 언어 연구자들은 하스켈을 사랑한다. 왜냐하면 GHC를 확장(Extension)을 통해 쉽게 확장할 수 있기 때문이다. GHC는 새로운 아이디어를 시험해 볼 수 있는 완벽한 놀이터다. 요즘은 파일을 열면 확장 기능 목록이 벽처럼 쌓여 있는 것을 보는 것이 꽤 흔한 일이다. {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} 이러한 확장들은 언어와 타입 시스템을 근본적으로 변화시킨다. 그 결과 훨씬 더 복잡하면서도 강력한 무언가를 다루게 된다. 당신은 점점 더 의존 타입(Dependent Types)에 가까워진다. 더 많은 정보를 타입에 담을 수 있게 되므로, 컴파일 타임에 더 많은 보장을 얻는다. 우리는 보통 이러한 것을 “화려한 타입(Fancy types)”이라고 부른다. 그런데도 불구하고, “하스켈이라는 언어 자체”는 1998년 이후로 크게 변화하지 않았다. 아주 대략적이고 부정확하게 표현하자면, 확장 기능을 전혀 활성화하지 않고 GHC를 실행하면 Haskell98이라는 것을 얻게 된다. 이 경우에는 단순한 데이터 타입, 타입 클래스, 게으르고 순수한 함수형 코어를 사용하게 된다. ## 하스켈로 애플리케이션 만들기 프로그래밍 언어 연구자들은 화려한 타입(Fancy types)에 올인한다. 하지만 나는 PL 연구자가 아니다. 나는 소프트웨어 개발자다. 앞서 말했듯이, 하스켈 설계자들의 목표 중 하나는 산업 현장에서, 실제 애플리케이션을 개발하는 데 하스켈을 사용하게 하는 것이었다. 그럼 화려한 타입으로 무장한 하스켈이 실제 서비스 개발에 적합한가? ### 종이 위에서는 좋아 보인다 실제 서비스 개발은 논문을 쓰는 것과는 전혀 다르다. 연구 논문은 일단 발표되고 나면 더 이상 유지보수를 할 필요가 없다. 논문에 등장하는 코드 샘플에서 보여주는 기법과 트릭들은 PDF 상으로는 멋지게 보이지만, 실제 코드베이스에 어떤 영향을 미칠지는 전혀 다른 문제다. 연구자들은 실험적인 기능이나 검증되지 않은 확장 기능에 의존할 수도 있다. 느린 컴파일 시간도 별 문제가 되지 않는다. ### 포용성(Inclusivity) 서비스 개발은 팀워크다. 나는 다양한 배경의 사람들과 함께 일하고 싶다. 하스켈을 다루기 위해 박사학위가 필수 조건이 되는 팀에서 일하고 싶지는 않다. 누구나 접근 가능한 코드베이스를 원한다. 대부분의 비즈니스 로직은 로켓 과학이 아니다. 애플리케이션을 필요 이상으로 복잡하게 만들 이유가 없다. 좀 더 실용적인 관점에서 보면, 하스켈에 투자하는 회사 입장에서 진입 장벽을 낮추면 더 많은 인재 풀이 열린다. ### 미미한 이득(Marginal Benefits) 화려한 타입은 더 많은 보장을 주고, 더 안전하고 정확한 코드를 작성할 수 있게 해준다. 그렇다면 왜 그런 걸 포기하려는가? 나는 그 이득이 그렇게 극적이지 않다고 생각한다. 일반적인 프로그래밍 언어에서 하스켈로 넘어오는 것 자체가 이미 큰 점프다. 컴파일러가 올바른 코드를 작성하도록 도와주는 것만으로도 충분히 큰 이득이 있다. 물론, 화려한 타입을 사용하면 그보다 조금 더 정확할 수도 있다. x%만큼 더 자신감을 가질 수도 있다. 하지만 그 복잡성이 과연 그만한 가치가 있는가? 현실적인 관점에서 보면, 우리는 타입 시스템만이 전부가 아니라는 사실을 인식해야 한다. 타입은 정말 강력한 도구지만, 우리가 사용할 수 있는 유일한 도구는 아니다. 타입이 있다고 해서 테스트를 안 해도 되는 것은 아니다. ## 심플 하스켈(Simple Haskell) 나는 1998년 이후에 일어난 모든 일을 무시하자는 것이 아니다. Haskell98은 좋은 기반이다. 하지만 개선할 수 있다. 핵심 아이디어는 타입 시스템을 있는 그대로 받아들이고, 사용자 편의성(ergonomics)에 집중하는 것이다. 타입 시스템 자체를 복잡하게 만드는 것이 아니라, 언어를 더 다루기 쉽게 만드는 것이다. 이것은 결국 제네릭스(Generics)를 활용하고, 사용하기 편한 확장 기능들을 적절히 활성화하는 것으로 요약할 수 있다. 제네릭스는 Haskell98에는 없다. 제네릭스는 보일러플레이트 코드를 줄이는 데 아주 훌륭하다. 예를 들어, generic-lens를 사용하면 JSON 인스턴스나 렌즈(lens)를 자동으로 파생(derive)할 수 있다. 몇몇 확장 기능은 해가 되지 않고, 오히려 하스켈을 훨씬 더 다루기 편하게 만들어 준다. {-# LANGUAGE BlockArguments #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeApplications #-} ## 애플리케이션 아키텍처 대부분의 애플리케이션은 다음과 같이 작성하면 된다. app :: Env -> IO () 여기서 `Env`는 의존성 주입 컨테이너(dependency injection container)를 나타낸다. data Env = Env { usersCache :: TVar [User] , postgresConnection :: PG.Connection , log :: Severity -> Text -> IO () , fetchUser :: UserId -> IO (Maybe User) , storeFile :: Filename -> ByteString -> IO (Either Text ()) } 내가 어떤 것이 `Env`에 포함되어야 하는지 판단하는 기준은 다음과 같다. * 그 자원이 애플리케이션 전반에서 공유되는 리소스인가?(예: Postgres 연결) * 다른 구현체를 제공할 필요가 있는가?(예: 테스트 시 모킹(mock) 구현) 만약 타입이 너무 커지면, 다음처럼 더 세분화할 수 있다. data UserService = UserService { fetchUser :: UserId -> IO (Maybe User) , updateUser :: User -> IO (Either UserServiceError ()) , deleteUser :: UserId -> IO (Either UserServiceError ()) } data Env = Env { userService :: UserService , ... } 애플리케이션 규모가 커지면, `ReaderT` 디자인 패턴을 사용하여 리팩터링 할 수 있다. ## 2020년의 하스켈 하스켈은 프로그래밍 언어 연구자들과 소프트웨어 개발자라는 서로 다른 두 집단을 모두 만족시키려 노력했음에도 불구하고 성공을 거두었다. 30년이 지난 지금, 두 집단 모두 여전히 하스켈을 사용하고 있다. 하지만 이들의 요구는 더 이상 달라질 수 없을 만큼 다르다. 소프트웨어 개발자로서 우리는 애플리케이션 작성에 유용한 하스켈 기능이 무엇인지 이해해야 한다. 더 중요한 것은, 해롭거나 비효과적인 기능이 무엇인지도 알아야 한다는 점이다. PL 연구자들과 소프트웨어 개발자들은 같은 도구를 공유하지만, 그렇다고 해서 화려한 타입(Fancy types)을 무턱대고 받아들여야 할 이유는 없다. 하스켈 개발자로서 우리는 모든 문제가 논문 주제가 될 필요는 없다는 것을 깨달아야 한다. 선택은 다음과 같다. * 타입 레벨에서 아름다운 해결책을 찾기 위해 4시간 동안 퀘스트에 도전할 것인가, * 아니면 10분만 투자해 지루하지만 확실한 방법으로 해결하고, 어쩌면 테스트도 작성할 것인가? 포용성(Inclusivity)을 위해 약간의 타입 안정성을 희생하는 것도 괜찮다. 테스트를 통해 소프트웨어가 올바르게 동작함을 충분히 확인할 수 있기 때문이다. 이것이 바로 심플 하스켈(Simple Haskell)의 핵심이다. 지루한 하스켈(Boring Haskell)이라는 표현이 오히려 더 적절할 수도 있다. 심플하고 지루한 하스켈을 쓰는 것은 즐거운 일이다. 구체적인 코드가 주는 해방감이 크다. 추상화도 좋지만, 지루한 하스켈이 더 좋다. 초보자가 다음에 당신에게 질문한다면 * Servant를 추천하지 마라. Scotty도 훌륭히 작동한다. 타입 안전 라우팅은 나중에 해도 된다. * 어떤 이펙트 시스템도 추천하지 마라. 거대한 추상화는 나중에 해도 된다. * Elm이나 Go를 깎아내리지 마라. 아무 성과도 얻지 못한다. * Nix를 추천하지 마라. Stack도 충분히 잘 돌아간다. 네가 `nix-build`를 원하는 대로 작동시키느라 몇 시간을 썼건 간에. * 그들이 박사학위가 없더라도 계속 대화하라. 2020년에는 아득한 탑(Ivory tower)을 내려와서 지루한 하스켈을 쓰자. 뜻밖의 전개로, 이 글이 나온 지 몇 시간도 지나지 않아 Matt Parsons가 주니어 코드(Junior Code)를 장려하는 아주 좋은 글을 발표했다. 이 글이 마음에 들었다면 꼭 읽어보길 추천한다. 만약 이 글이 마음에 들지 않았다면, 더더욱 필독이다.
09.07.2025 05:44 — 👍 1    🔁 1    💬 0    📌 0


const light = 300000

08.07.2025 01:47 — 👍 1    🔁 1    💬 1    📌 0

@curry.hackers.pub.ap.brid.gy is following 2 prominent accounts