Profile img

lionhairdino

@lionhairdino@hackers.pub · 73 following · 80 followers

여행 기분내며, 여기 저기 낙서하는 https://yearit.com 을 운영 중입니다.

지금까지 다루어 봤던 언어는 아래와 같습니다. MSX Basic Z80 Assembly Pascal GW-Basic C Macromedia Director Visual Basic PHP Flash Actionscript C++ Javascript

그리고 지금은, 하스켈을 비즈니스에 쓰려고 몇 년간 노력하고 있습니다. 지금 상태는, 하스켈 자체를 연구하는 게 아니라, 하스켈 (혹은 함수형 언어) 이해가 어려운 이유를 연구하는 아마추어 연구가쯤 되어버렸습니다. 하스켈 주제로 블로그를 운영 중이지만, 아직은 하스켈 프로그래머라고 자신 있게 말하진 못하고 있습니다. 가끔 이해에 도움이 될만한 측면이 보이면, 가볍게 아이디어를 여러 SNS에 올려보곤 하는데, 그다지 프로그래머에게 쓸모 있는 내용이 포함되진 않는 것 같습니다.

Blog
lionhairdino.github.io
YearIt
yearit.com

function은 우리말로는 함수기능으로 번역된다. 우리말 함수와 기능은 조금 다른 뜻을 가지고 있는데, 영어권에서는 function을 만나면 함수나 기능의 의미가 아닌, 둘을 아우르는 의미로 받아들이는 게 아닐까란 생각이 들어 추측을 해봤다.

function의 어원은 라틴어 functio 로, performance, execution 이란 뜻에서 왔다고 한다. 어원으로 추측해보 면 "실행, 수행할 수 있는 것"을 말한다고 보여진다. 수학이나 프로그램에서 만나는 함수는, 입력이 있고, 그 입력에 대응하는 정해진 출력이 있는, 입 출력을 매핑하는 것으로 설명하곤 한다. 이 뜻이 맞지 않다기 보다, 어원에서 말하는 실행이 살짝 가려져 있는 뜻이 아닌가 싶다. 함수의 중요한 특징은 실행, 즉 적용에 있는데, 이 적용을 위한 데이터에 더 촛점을 맞춘 설명처럼 느껴진다.

혼자 생각으론 "실행(혹은 적용apply)하면 무언가가 바뀌게 하는 것"으로 인식하면 함수나 기능에 모두 function을 쓰는 게 무리가 없다. 수학, 프로그래밍에서는 매핑이라는 설계를 통해 무언가를 바꾸고 있는 것으로, 매핑은 function 작동 방식의 일례일 뿐이다.

어찌보면, 애초에 상자 안에 들어 있는 수 같은 말로 번역될 수 없는 뜻이다.

5

마우스 교체를 한 10년만에 하는 것 같습니다. 그동안 디펙토 모양의 마우스를 썼는데, 새로 산 마우스가 모양, 무게, 클릭감이 조금 다릅니다. 지겨워서 새로운 모양을 사 봤습니다. 아직 하루 사용했는데, 불편합니다. 괜히 다른 모양을 샀나, 후회가 스멀 스멀 올라 옵니다. 아마도 이전 게 더 좋고, 새로 산 게 더 안 좋고 문제는 아닐 겁니다. 익숙함의 문제일 것 같습니다.

문득, 익숙함도 물건의 일부란 생각이 듭니다. 에반게리온 같은데서 나오는 인간과 결합하는 로봇처럼요. 오브젝트나 값처럼 생각했던 사물이, 사실은 함수인 겁니다. "적용", 즉 사람의 (익숙한) 조작이 들어가야만 제대로 버그 없이 realize 되는 함수입니다.

2

와... 로지텍 마우스 더블 클릭 오류... 계속 드래그가 풀리니 화딱지 납니다. 이 참에 트랙패드로 넘어가버릴까 하고 찾아 보니, 애플 매직 패드가 국내에선 17만원인데, 일본 아마존에선 10만원입니다. 언제 그리 차이가 생겼지.

1

포스터 본 사람들이 행사 참여 링크로 들어올 수 있게 QR코드를 넣었는데 너무 꽉찬 느낌이 들더라구요
시간이랑 정보는 어차피 행사 링크 들어가면 볼 수 있으니 빼는게 나을까요?

Hackers' Public1st Meetup at Seoul
2025. 09. 14. 15:00 KST 서울특별시 성동구 상원길 26 튜링의 사과
EventUs QR Code
Code As A Canvas : 코드에서 예술작품이 되기까지 (@jakeseo@hackers.pub)
폰트는 어떻게 만들어지는가 - NeoDGM 사례로 살펴보는 개발 후일담 (@dalgona@hackers.pub)Hackers' Public1st Meetup at Seoul
EventUs QR Code
Code As A Canvas : 코드에서 예술작품이 되기까지 (@jakeseo@hackers.pub)
폰트는 어떻게 만들어지는가 - NeoDGM 사례로 살펴보는 개발 후일담 (@dalgona@hackers.pub)
1

포스터 본 사람들이 행사 참여 링크로 들어올 수 있게 QR코드를 넣었는데 너무 꽉찬 느낌이 들더라구요
시간이랑 정보는 어차피 행사 링크 들어가면 볼 수 있으니 빼는게 나을까요?

Hackers' Public1st Meetup at Seoul
2025. 09. 14. 15:00 KST 서울특별시 성동구 상원길 26 튜링의 사과
EventUs QR Code
Code As A Canvas : 코드에서 예술작품이 되기까지 (@jakeseo@hackers.pub)
폰트는 어떻게 만들어지는가 - NeoDGM 사례로 살펴보는 개발 후일담 (@dalgona@hackers.pub)Hackers' Public1st Meetup at Seoul
EventUs QR Code
Code As A Canvas : 코드에서 예술작품이 되기까지 (@jakeseo@hackers.pub)
폰트는 어떻게 만들어지는가 - NeoDGM 사례로 살펴보는 개발 후일담 (@dalgona@hackers.pub)

우리야 다 알지만, 처음 보는 사람에게는 해커스펍 Hackers' Pub 고유 명사가 노출이 안되는 것 아닌가 싶은데요. PUBLIC을 PUBlic, PUB lic, PUB-lic으로 한다든지, 어떤식으로든 보이는 게 낫지 않을까 하는 1인 의견입니다. (발표자의 핸들로 유추할 수 있긴 하지만...) @2chanhaeng초무

1

몇 년 전에 GHCJS 컴파일러 빌드를 못해 포기했었고(그 때도 Ailrun님한테 질문 많이 했네요), Nix를 공부한 이 후에는 최근에 Nix로 어찌 저찌 환경 잡아서 Reflex 가지고 놀았는데요. 그냥 컴파일러 바이너리를, 그것도 GHCUp로 준다니, 좀만 늦게 공부할 걸 싶네요. 이제 하스켈로 JS 프로덕트를 뽑아내는 게 그리 희귀한 작업은 아니게 되겠는데요.
(무식해서 bindist가 뭔지 찾아 봤습니다.ㅎ)@ailrunAilrun (UTC-5/-4)

0

https://well-typed.com/blog/2025/08/standard-chartered-supports-haskell-ecosystem/
제일은행을 먹은 SC(Standard Chartered)가 하스켈 생태계에 돈을 보태겠다네요. SC가 하스켈을 프로덕트에 조금씩 쓰고 있다는 얘기는 들은 적 있는데... 뭐 얼마나 후원하는지는 자세히는 안나와 있습니다만, 대기업 돈이 들어오면, 긍부정적 변화가 생기긴 하는데.. 툴체인이 정돈된다든지 해서 입문자한테 도움이 되는 변화가 생기면 좋겠습니다. 하스켈을 JS로 트랜스파일링 하는 컴파일러도 있는데, 막상 쓰려고 보면, 난이도가 너무 높아요.

Well-typed에 연간 1억6천만원 정도 지원하나 본데요. 이 바닥 생리를 잘 몰라서 그런가, 생각보다 큰 돈은 아니지 않나 싶네요. 후원 명단에 보니, 연간 30만달러 내면 플래티넘 후원사인데, 아직 해당 등급은 없는 걸로 나옵니다.

0

https://well-typed.com/blog/2025/08/standard-chartered-supports-haskell-ecosystem/
제일은행을 먹은 SC(Standard Chartered)가 하스켈 생태계에 돈을 보태겠다네요. SC가 하스켈을 프로덕트에 조금씩 쓰고 있다는 얘기는 들은 적 있는데... 뭐 얼마나 후원하는지는 자세히는 안나와 있습니다만, 대기업 돈이 들어오면, 긍부정적 변화가 생기긴 하는데.. 툴체인이 정돈된다든지 해서 입문자한테 도움이 되는 변화가 생기면 좋겠습니다. 하스켈을 JS로 트랜스파일링 하는 컴파일러도 있는데, 막상 쓰려고 보면, 난이도가 너무 높아요.

6
2
0

해커스펍 접속해서 눈이가는 글들 있으면 주욱 답 달고 싶은데, 그러면 절 팔로우 하는 분들 타임라인이 제 답글들로 도배되는 거 맞지요? 타임라인 동작이 새 글 일부만 가져오는 게 아니라, 새 글은 전부 가져오는 건가요?

0

뭐하는 물건인가 보니, nix-shell 로 해결하는 것과 비슷한 작업 같아 보이네요. 대충 찾아 보니 퍼포먼스 측면에서 mise가 좋고, 어렵지 않게 쓸 수 있다고 하니 혹 하긴 합니다. 편하게 해주는 툴인 건 좋은데, 배워야 되는 인프라 툴이 하나라도 줄었으면 좋겠다는 생각이 문득 드네요. @hongminhee洪 民憙 (Hong Minhee)

1
0
0
0

Hackers' Public @ Seoul 1회차 모임 (1차 모집)

서울에서 열리는 Hackers' Pub 오프라인 밋업, "Hackers' Public @ Seoul"이 2025월 9월 14일(일) 처음으로 개최됩니다. 처음 열리는 밋업인 만큼, 참여하는 많은 분들이 재밌게 느낄 수 있는 소재 위주로 연사자 분들을 섭외했습니다.

  • 일시 : 9월 14일 (일) 오후 3시 ~ 오후 6시
  • 장소 : 서울특별시 성동구 상원길 26, 튜링의사과
  • 주제
    • Code As A Canvas : 코드에서 예술작품이 되기까지 (@jakeseo)
    • 폰트는 어떻게 만들어지는가 - NeoDGM 사례로 살펴보는 개발 후일담 (@dalgona)

강연이 끝나고 난 뒤에 자유롭게 네트워킹하는 시간을 가질 예정입니다. 각자 얘기하고 싶은 주제를 들고 오시면 좋습니다.

참여 신청

오프라인 밋업은 여기서 참여신청이 가능합니다. https://event-us.kr/hackerspubseoul/event/110961

  • 모집 기간
    • 1차 모집 : 8월 27일 ~ 9월 1일 (Hackers' Pub에서만 모집)
    • 2차 모집 : 9월 3일 ~ 9월 7일 (Hackers' Pub 외부에서도 공개적으로 모집)

주의사항

  • 본 행사는 Hackers' Pub에서 진행하는 오프라인 행사이며, Hackers' Pub 계정을 가지지 않은 분이 신청하셨을 경우 환불처리될 수 있습니다.
  • Hackers' Pub 외부에서 유입하시는 경우, 각 모집기간이 끝나고 24시간 안에는 Hackers' Pub에 가입이 되어 있으셔야 참여자로 확정됩니다.
16
4
5

튜링에서 한 프로세스를 실행하고, 다음 프로세스를 실행하는 걸 "명시"하지 않는데, 이를 명시적으로 어떤 combinator로 보고, 전역 변수등은 또 람다로 감싸서, 람다 컨텍스트에 있는 변수를 보게 하면, 람다와 다를게 없다.
튜링과 람다가 철학이 다르다기 보다, 마치 튜링에서 암묵적으로 하던 동작들을 모두 명시적으로 바꿔 놓은 게 람다 대수인 건 아닐까?

1
0
0

해커스펍 오프라인 모임 겸? 프로모션 행사가 9월 14일로 픽스된 상황인데, 공지하기전에 모임의 공식 이름을 어떻게 지을지가 고민임.

큰 틀에서 보면 뉴욕에 거점을 두고 있는 NYC Systems(nycsystems.xyz/2024.html) 에서 모임여는 방식 따라갈 것 같음.

---
**해커스펍 모임** 이라고 하기엔 해커스펍이 너무 한국에 국한된 느낌(어차피 당장은 한국어권 사용자의 모임이긴 하지만). 지역에 기반한 커뮤니티라는 느낌으로 스코프를 좁힘.

당근마켓을 중심으로 루비개발자 모임을 서초에서 모인다고 해서 seocho.rb 라는 이름의 밋업이 열리곤 했었는데, 이걸 참고삼았던게 두번째 스텝.

높은 확률로 성수에서 모일 것 같으니까 Hackers' Pub @ 성수 라고 짓자니... 장소대관 문제로 강남에서 열 수도 있지 않나 싶은 생각이 먼저 들어서 좀 더 범위를 넓혀서 Hackers' Pub @ Seoul <- 이 쯤에 도달했는데 더 좋은 이름 있으려나

0

제가 급히 일을 의뢰할 일이 있어, 얼마전 몇 분에게 의견을 물었던 적이 있는데요. 디코나 해펍에 양질의 글을 올린 분들, 오픈 소스에 기여한 분들 위주였던 것 같아요. 프로필에 적힌 스펙보다는 다 년간 봐왔던 “성의있는 액션”들이 신뢰의 근간이 되는 것 같았습니다.

4

가정법 과거...어쩌고 하는 문법
지금은 이미 어떤 일이 일어난 이 후의 상황에 대해 말을 하고 있고,
이미 일어난 과거의 일은 바꿀 수 없으니,
If I were you ... 가 전혀 어색하지 않고, 추가 설명도 필요 없을 정도로 자연스러운데, 현실과의 거리감, 현실에서 물러섬 같은 걸로 설명하는 걸 보면 아쉽다. (우리 말에서도 "내가 너라면" 대신 "내가 너였다면"을 쓰기도 한다.)

굳이 논리적이지 않거나, 추상적인 설명들이, 머리가 하나의 언어로 고정된 이 후에는, 다른 언어가 자연스럽게 스며드는 걸 막기도 하는 것 같다. 이런 설명들이 보이면, 내가 영어를 못하는 이유의 변명으로 쓰이기나 하지, 그다지 좋아 보이지 않는다.
...
외국어는 많이 쓰는 게 최고란 건 알고 있다. 그렇다면, 문제는 더 명확해졌다. 영어 자체에 대한 고민보다, 영어를 자주 쓸 환경을 만들 고민을 해야 한다!... 고 합리적인 길을 찾았다라고 생각하지만, 이미 위와 같은 분석질을 해대고 있으면 벌써 꽝이다.

2
0

좀 전에 8시 전후로 남산에서 설렁 설렁 달리기 하고 있었는데, 어디선가 클럽 음악 같은 게 크게 들리더라고요. 대충 동국대 근처 지날때쯤인가 싶던데, 혹시 파이콘인가요?

0
3

lionhairdino shared the below article:

파서 콤비네이터: 하스켈 초보자를 위한 파싱

박준규 @curry@hackers.pub

이 글은 하스켈 초보자를 위한 파서 컴비네이터에 대한 입문 튜토리얼입니다. 파싱은 프로그래밍에서 흔히 발생하는 작업이지만, 정규 표현식이나 문자열 조작만으로는 복잡한 형식을 다루기 어렵습니다. 저자는 `Text.ParserCombinators.ReadP` 라이브러리를 사용하여 파서 컴비네이터를 소개하고, 이를 통해 더 읽기 쉽고 유지보수가 용이한 파서를 작성할 수 있음을 보여줍니다. METAR 보고서 파싱 예제를 통해 `satisfy`, `many1`, `<|>`, `option` 등의 기본적인 파서 콤비네이터 함수를 설명하고, 펑터와 모나드의 개념을 활용하여 파서를 구성하는 방법을 안내합니다. 또한, 파싱된 데이터의 유효성을 검사하고, 결과를 더 의미 있는 데이터 타입으로 변환하는 방법을 제시합니다. 이 튜토리얼을 통해 독자는 파서 컴비네이터의 기본 원리를 이해하고, 실제 데이터 파싱 작업에 적용할 수 있는 능력을 얻게 됩니다. 마지막으로, 저자는 독자들에게 배운 내용을 바탕으로 전체 METAR 보고서를 파싱하는 라이브러리를 만들어 Hackage에 제출해 볼 것을 권장하며, 파서가 없는 데이터를 만났을 때 `ReadP`를 자신 있게 사용할 수 있기를 바랍니다.

Read more →
11
1
0
1
2
0

다 쓰고 나서 보니 realgsong님이 이미 쓰셨네요. 서울창업허브는 이용은 안하고 방문만 했었는데, 시설 괜찮습니다. 용산구 시설 대관 같은 관공서들 이용 방법도 있습니다. 은근, 비영리는 지원 받을 곳이 꽤 있습니다. (아는 척 얘기하고 있는데, 예전에 알아만 보고 실제 사용할 일이 사라져 실 경험은 없습니다) @hongminhee洪 民憙 (Hong Minhee)

2
4
1
0

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

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

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

0
0
1
1

여행 다녀왔는데 또 가고싶다... 예전에 1인 창업을 위해 베트남에서 생활하는 개발자를 만난적이 있다. 사실 휴양지에 가면 플렉스를 해버려서 그렇지 그걸 참으면 돈을 아낄수 있긴하다. 디지털 노마드의 로망을 1년 정도는 실현해보고 싶은데...

친구가 살짝 경제적 셋팅이 흔들렸는데, 동남아를 더 자주 나갑니다. 왜 그러냐 했더니, 국내에서 쓰는 생활비보다 더 적은 금액으로 질 높게 살 수 있다고 자꾸 나갑니다. 여행지의 즐거움을 맛 보더니, 지금은 결국 여행 쪽으로 직업을 틀어 버렸습니다. @bglbgl gwyng

1
14
2
1

안녕하세요! 현재 컴퓨터공학과 학부 2학년 재학중인 새내기입니다.

PLT, Lexer 등에 관심이 많습니다. Emulation, VM 기술 등도 관심이 많습니다. 아직 주 전공 분야를 정하진 못했지만 넓게 두루두루 좋아합니다.

올드 레트로 기술들 또한 좋아합니다.

Go와 .NET 언어 일부를 주력으로 삼고 있으며 F# 을 학습하려고 공부 중입니다.

현재는 취미와 흥미 위주의 프로젝트를 주로 진행 중입니다. 감사합니다!

0
0

맛난 거 먹고, 낯설고 이쁜 풍경 보고, "모니터 안보고"... 좋~~겠습니다.
모니터에 있는 코드를 안 째려 본지 3일, 일 주일 되면 기분이 좋다는 걸 자주 느껴 봐야 합니다. 그래서 틈나면 코드를 안보고 싶어하는 루틴이 생겨야 합니다. "그래야만 코드를 오래 볼 수 있습니다." @bglbgl gwyng

1
2
1
1

왜 deploy가 배포로 번역이 굳어졌을까요? 제가 알기론 distribute와 deploy는 뉘앙스가 많이 다른데요.
무언가 정보, 서비스에 촛점을 맞추면,
그나마 억지로 deploy해서 distribute된다가 말이 되긴 하는데,
앱, 소프트웨어 자체에 촛점을 맞추면 deploy와 distribute는 바꿔 쓸 수 없는 말이 되고,
"서버 앱을 (마케팅 전장에) 배치하자"...맞는 말이지만, 이제 낯선 말이 되어 버린 것 같고,
"서버 앱을 배포 하자"는 말이 안되지만, 통용되는 말이 되어 버린 것 같습니다.

4

사람마다 분명 다르겠지만, 전 운동으로 풀어 볼 노력을 심각하게 고려하겠습니다. 약으로 풀면 오래가지 않아 더 아파요. 극심한 통증에는 일시적으로 먹을 수야 있겠지만, 뻐근 가지고는 아닙니다. 약은 약사에게!

관련 얘기인지 모르겠지만, 모니터를 눈 높이로 두는 게 정말 좋은 자세를 유도하는 건지 의심스러워요. 전 32인치 4k 모니터를 쓰는데, 눈높이에 두고 쓰다 어깨 결림, 모가지 통증...등등이 와서 이리 저리 바꾸다, 몇 달 전부터 랩탑 마냥, 바닥에 붙여 놓고 기울여 쓰고 있습니다. 최근에 작업을 꽤 길게 했는데도 아직 불편함을 못 느꼈어요. (제 기준에는 튜사의 모니터가 좀 높아 보였습니다.) @bglbgl gwyng @jhhuhJi-Haeng Huh

1