lionhairdino

@lionhairdino@hackers.pub · 53 following · 60 followers

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

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

Blog
lionhairdino.github.io

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에 가입이 되어 있으셔야 참여자로 확정됩니다.
13
2
2

튜링에서 한 프로세스를 실행하고, 다음 프로세스를 실행하는 걸 "명시"하지 않는데, 이를 명시적으로 어떤 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
0

SNS에 글을 올릴 때, 본인 글을 다른 사람들이 보고 공감하거나, 관심 가지길 원하며 올릴텐데,그 "욕구"가 이루어졌음을 알려주는 지표가 하트, 좋아요라 생각합니다. 최대한 사람들이 행위 자체에 부담을 느끼지 않도록 하는게 중요하고, 그래서 하트, 좋아요가 원클릭에 이루어지도록 만든 이유 아닐까 싶어요. 다른 SNS로 출장을 가지 않으면 지금도 충분하긴 한데, 출장가서 좋아요 누르다 오면, 살짝 아쉽게 느껴지네요.

대안으론 하트는 기본 원클릭, "···"을 누르면 다른 종류의 이모지 붙이기.

현 DB에선 반응 개수 표시하는 게 좀 애매하긴 할 것 같습니다만...

서비스 자체의 성패에 영향을 미치는, 생각보다 중요한 인터페이스가 아닐까 싶어 글을 남깁니다. @hongminhee洪 民憙 (Hong Minhee)

4
1

Claude에 나와 대화한 걸 학습 데이터로 쓰지 말라고 하는 설정이 따로 있나요? 팀 Pro 플랜은 쓰지 않는다고 하는 것 같은데, 개인 Max 플랜은 따로 얘기가 없는 것 같습니다.

웬간한 건 학습해도 상관 없는데, 어쩌다 한 두 개 학습을 안했으면 하는 게 생기네요. Team은 1인당 25달러 쯤인데, 200달러 Max는 어찌 안될까요?

가끔 중요 키를 붙여 넣어서 질문했다거나...

3

엄청 더운 여름에, 친구가 싼 가격의 중고차를 사서 시승 중인데, 에어컨 좀 틀어 달라 했더니, 에어컨 망가져닸고 창문을 닫습니다. 그리고 5분 10분 후에 창문을 열어 줍니다. "어때 시원하지?" ... 정말 시원했다란 친구의 얘기가 생각나네요. 예비군이 재밌으려면 예비군가면 쉬는 걸로 느껴질만큼 현생을 살면 된다는 기적의 논리입니다. @parksbSimon Park

1
0
0
0
0
0
0

펑터Functor

lionhairdino @lionhairdino@hackers.pub

하스켈 펑터 입문자를 위한 이 글은 `Maybe Int` 타입의 값에서 `Int`를 직접 "꺼내올 수 없다"는 개념을 설명합니다. `Maybe`의 `fmap`이나 `fromJust`가 마치 값을 꺼내는 것처럼 보이지만, 이는 실제로는 값을 꺼내는 것이 아니라, 원본 타입(`Int`)의 구조를 보존하며 새로운 `Maybe Int` 타입의 값을 "생성"하는 과정이라는 것입니다. 미끄럼틀 비유를 통해, `Maybe Int`의 `Just 1`은 `Int` 값 `1`과 연관되어 있지만, `Just 1` 자체가 `1`을 의미하는 것은 아닙니다. 펑터는 원본 타입의 관계(구조)를 그대로 유지하며 다른 타입으로 변환하는 역할을 합니다. `fmap`은 `Maybe Int` 안의 `Int`를 직접 조작하는 것이 아니라, 원본 `Int` 값의 관계를 바탕으로 새로운 `Maybe Int` 값을 만들어내는 것입니다. 상자 메타포가 유용할 때도 있지만, 펑터의 본질을 오해하게 만들 수 있습니다. 상자 안의 값을 꺼내는 것이 아니라, 값의 "성격"은 값을 다루는 함수들의 동작에 따라 결정된다는 점을 강조합니다. 이 글은 "없을 수도 있는 수를 꺼낸다"는 표현의 모순을 지적하며, 펑터의 개념을 더 깊이 이해하도록 돕습니다.

Read more →
6

저는 고민할 정도의 중요성이 있다면, 만나서 판단합니다. 믿을만한 회사같은 상대라도 다른 능동적인 루트(직접 전화 같은 것)로 한 번 더 확인합니다. 다른 확인 방법이 없다면, 믿지 않는 편입니다. 누구냐에 따른 예외는 있겠습니다. @leetekwoo

0
1