@curry박준규 알림기능이 먼저 만들어질지 아니면 마스토돈 API 지원이 먼저일지 세기의 경쟁

박준규
@curry@hackers.pub · 271 following · 131 followers
darcs hub
- hub.darcs.net/vincent
Hackage
- hackage.haskell.org/user/JoonkyuPark
@kodingwarriorJaeyeol Lee 알림 기능은 우선 우리인생처럼 ‘메일 발송’으로 구현하면 어떨까요?
@bglbgl gwyng
@curry박준규 펑터(Functor)의 수학귀신적 번역어로 ‘구조를 보존하는’은 어떤가요?
‘그물망 던지기’는 어떤 의미인가요? 펑터와 어떻게 연결해야 할지 모르겠어요.
해커스펍 계정은 쓰기 전용으로, 우리인생은 읽기전용으로 사용하고 있다. 또는 기술 관련 콘텐츠는 해커스펍에 올리고 일상은 우리인생에 올리려고 한다.
클라이언트는 팬피를 쓰고 있는데 해커스펍은 마스토돈 API 구현이 안 되어 있어서 팬피에는 우리인생 계정을 연동했다.
그런데 팬피에서 재밌게 글을 읽다 보면 무심코 팬피에서(우리인생 계정으로) 해커스펍 글에 댓글을 달아서 뭔가 곤란하다⋯
그리고 해커스펍에 오신 분들은 거의 다 팔로우를 하고 있는데 동시에 우리인생에서도 팔로우를 해야해서(팬피에서 읽어야 하니까) 불편하다.
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
영어 | 틀린 표기 | 올바른 표기 |
---|---|---|
app | 어플 | 앱 |
application | 어플리케이션 | 애플리케이션 |
directory | 디렉토리 | 디렉터리 |
front-end | 프론트엔드 | 프런트엔드 |
message | 메세지 | 메시지 |
method | 메소드 | 메서드 |
release | 릴리즈 | 릴리스 |
repository | 레포지토리 | 리포지터리 |
또 있을까요?
펑터에 대한 수학귀신적 번역어로 '그물망 던지기'가 떠올랐다.
@bglbgl gwyng 네? ‘수학귀신적’이 뭔가요?
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
영어 | 틀린 표기 | 올바른 표기 |
---|---|---|
app | 어플 | 앱 |
application | 어플리케이션 | 애플리케이션 |
directory | 디렉토리 | 디렉터리 |
front-end | 프론트엔드 | 프런트엔드 |
message | 메세지 | 메시지 |
method | 메소드 | 메서드 |
release | 릴리즈 | 릴리스 |
repository | 레포지토리 | 리포지터리 |
또 있을까요?
@hongminhee洪 民憙 (Hong Minhee) 포털과 포탈도 있습니다.
네이버에서 이런 걸 왜 만들었을까?
Tamgu는 Prolog에서 영감을 받은 술어 엔진과 Haskell 언어에서 영감을 받은 기능적 기능을 갖춘 명령형 언어입니다. 이 세 가지 프로그래밍 스타일을 자유롭게 혼합할 수 있습니다.
@fedipoJellyPo 하하… 그래서 “자주” 틀리는 표기라고 한 거죠! 많이들 틀립니다. 외래어 표기법에 큰 관심이 없는 경우가 많으니까요.
@hongminhee洪 民憙 (Hong Minhee)
@fedipoJellyPo 솔직히 말해보세요. 위키백과의 세례를 받기 전에는 잘 모르셨죠?!(농담)
Haskell와 Curry 모두 사람 이름이구나
@morealLee Dogeon 그리고 OCaml은 낙타 이름이죠!(헛소리)
@curry박준규
@bglbgl gwyng 알림이 달리 없어서 지나쳐버렸네요, 의견 감사합니다! 혹시 이야기 해주신 UTop이 아래 링크의 UTop이 맞다면, 저 UTop을 직접 구현해보는 걸 추천해주신걸까요?
https://opam.ocaml.org/blog/about-utop/
@morealLee Dogeon
@bglbgl gwyng
@curry박준규 (알림 기능은 곧 구현하실 것 같아요.) 공부하실 때 OCaml의 기본 탑레벨이 사용하기 불편해서 그보다 좀 나은 UTop을 권해드렸습니다.
해커스펍 계정을 만들었습니다. 권유와 초청 주신 분들 감사합니다.
저는 게임 기획자로 일하고 있습니다만, 요즘 몇년은 js/react로 제품에 들어갈 코드를 짜는 일이 많습니다. 최근에는 https://guji.jjme.me/ 에서 블로그를 쓰는 데 많은 에너지를 쓰고 있습니다.
@jjme정진명 안녕하세요. 정진명 님 블로그에서 〈왜 생각을 굳이 써서 남기는가?〉를 잘 읽었습니다. 특히 마지막 문장을 읽고 나서는 마치 뭔가 혼자 운영하시는 방송국에서 방송하시는 걸 듣는 세기말적인 비장함이 느껴져서 좋았습니다. 감사합니다!
@hongminhee洪 民憙 (Hong Minhee) 해커스펍의 ‘게시글만’ 탭을 선택했을 때 개별 게시글을 한 번만 노출되게 하는 방법이 있을까요? 지금은 공유된만큼 게시글이 노출돼서 같은 게시글이 여러 번 나옵니다.
한국의 Clojure 생태계를 책임지는 슈퍼루키 트친도 영입하고 있는 중인데, 이 계정도 추천해야겠다. 아니, 근데.. 클로져리안 모아놓은 인스턴스도 있었네????
@kodingwarriorJaeyeol Lee 없으면 하나 만들려고 했는데 당연하게 이미 haskell.social도 있더라고요.
박준규 replied to the below article:
거꾸로 상태 모나드로 강화 학습 하기 (1/2)

bgl gwyng @bgl@hackers.pub
이 글은 하스켈로 강화 학습을 구현하며 겪는 기술적인 고민과 해결 과정을 다룹니다. 저자는 Hasktorch 라이브러리를 사용하여 스네이크 게임을 강화 학습으로 훈련시키는 과정을 소개하며, 데이터 없이 에이전트를 학습시키는 강화 학습의 장점을 강조합니다. 특히, 에이전트와 환경을 정의하고, 보상 함수를 설계하여 뱀이 먹이를 먹도록 유도하는 방법을 설명합니다. 글에서는 즉각적인 보상과 누적 보상의 차이를 지적하며, 감쇠율을 적용하여 미래의 보상을 현재의 선택에 반영하는 방법을 제시합니다. 또한, 순수 함수로 환경을 정의하는 것의 한계를 언급하며, 환경이 에이전트를 실행할 수 있는 모나드여야 함을 강조합니다. 저자는 이 경험을 통해 얻은 인사이트를 공유하며, 강화 학습 코드를 더 효율적으로 작성하는 방법에 대한 고민을 제시합니다. 다음 글에서는 상태 모나드를 사용하여 이러한 문제점을 해결하는 방법을 소개할 예정이며, 독자들에게 모나드에 대한 사전 학습을 권장합니다.
Read more →@curry박준규 피인용을 다룬다 하면 어떤 걸까요…? 내 글을 인용한 글의 목록을 보는 건가요?
일단 인용 자체가 ActivityPub 자체에 없어서 확장 스펙으로 정해져 있어요.
@hongminhee洪 民憙 (Hong Minhee) 네, 내 글이 인용된 횟수와 인용한 글의 목록을 보는 걸 말씀 드렸습니다. 인용 자체가 확장 스펙이군요⋯
액티비티펍에서도 트위터에서와 같이 피인용 글을 다루는 스펙이 있나요?
@curry박준규
@hongminhee洪 民憙 (Hong Minhee) 아이를 델고오셔서 인류 최초의 네이티브 하스켈 스피커로 키워보는건 어떨까요?
@bglbgl gwyng
@hongminhee洪 民憙 (Hong Minhee) GHC가 브레이킹 체인지가 심해서 버전업 할 때마다 아이가 힘들 것 같아요⋯
@curry박준규 아하… 준규 님은 가실 예정이신가요?
@hongminhee洪 民憙 (Hong Minhee) 너무 가고 싶은데 육아 때문에 갈 수가 없어서 너무 아쉽습니다. 마음 같아서는 유튜브 라이브 해달라고 하고 싶어요.
@curry박준규 고맙습니다!
@hongminhee洪 民憙 (Hong Minhee) 서울하스켈숲 1회 워크샵 참가 신청서 링크가 공개되었습니다. 다만 대상이 ‘하스켈을 잘 모르는 사람’이네요⋯
Hackers' Pub은 과연 언제까지 우리집 홈서버에서 버틸 수 있을 것인가…!? (걱정하시는 분들을 위해: 백업은 6시간마다 정기적으로 하고 있습니다.)
@hongminhee洪 民憙 (Hong Minhee) 안 그래도 해커스펍 인프라가 궁금했는데 홈서버였군요!
이제 파이썬 개발자 분들 물밀듯이 들어옵니다앗!!
@kodingwarriorJaeyeol Lee 어딘가에 포털을 소환하셨나요!
전체 사용자 초대 족보에서 원한다면 자신의 계정을 가리는 옵션을 추가하면 좋겠다는 @saschanazKAGAMI🏳️🌈🏳️⚧️ 님의 의견에 따라, 내 계정 족보에서 숨기기 버튼을 만들었습니다. 자신의 계정을 족보에서 숨기면 목록에 항목은 보이지만 이름이나 프로필 사진, 핸들은 가려지게 됩니다.
이번에는 Grok에게 커밋 메시지[1] 작성을 부탁하다가 Changelog 작성하는 문서[2] 안내를 받았다.
@hongminhee洪 民憙 (Hong Minhee) shell 셸, 쉘도 헷갈리네요. 다른 얘기지만 일본어의 장음 표현도 헷갈립니다. 😂 サーバ、サーバー 같은 단어들이요. 😅
@arkjunJuntai Park
@hongminhee洪 民憙 (Hong Minhee) 말씀하신 그 둘은 어떻게 다른가요? 둘 중 하나는 서버(server)일 것 같은데 다른 하나는 뭐죠?
@curry박준규 공유해주셔서 감사합니다!
적독가는 제가 책을 잘 안사서 하핫
ReBundle은 눈여겨 보고 있습니다~
저는 읽고 싶은 책을 발견하면 북플에다가 등록해놓기는 합니다. 꾸역 꾸역 쓰고는 있는데 소셜 기능이 참 아쉬워요.
@smartbosslee이현석 북플이라는 서비스를 아직 안 써봐서 잘 모르겠지만 그런 서비스에 액티비티펍을 연동해도 재밌을 것 같습니다.
@curry박준규 저는 Facebook을 안 써서 안타깝게도 댓글은 못 쓰지만… 서울숲 근처라면 튜링의 사과도 괜찮지 않을까 싶네요! 참고로 튜링의 사과는 공식 Mastodon 계정(
@TuringAppleDev튜링의 사과)도 있습니다.
그나저나, 저도 참가하고 싶은데 Facebook 안 쓰는 사람도 참가 가능한가요?
@hongminhee洪 民憙 (Hong Minhee)
@TuringAppleDev튜링의 사과 전부터 ‘튜링의 사과’ 명성(?)은 익히 들어서 꼭 가보고 싶었는데 마스토돈 계정을 알려주셔서 감사합니다. 페이스북 게시글에 제가 댓글로 문의를 남겼어요. 답변이 오면 말씀드리겠습니다.
@hongminhee洪 民憙 (Hong Minhee) Claude Code 자체가 대박이네요! 감사합니다.
@calmglow최진호
@hongminhee洪 民憙 (Hong Minhee) 저는 코드 변경 사항을 ChatGPT한테 던지고 커밋 메세지를 써달라고 했는데 Claude Code 써봐야겠네요.
crontab은 원하는대로 동작하지 않을 때가 많고 왜 안 되는지 이유를 알기도 어려웠는데 ChatGPT에게 물어 보니 source ~/.profile
넣고 해보라길래 그렇게 했더니 잘 된다.
@curry박준규 네, Phanpy는 Mastodon API를 사용하는데 Hackers' Pub은 Mastodon API를 구현 안 해서 못 씁니다. Hollo는 Mastodon API도 구현해서 Phanpy랑 함께 쓸 수 있어요.
@hongminhee洪 民憙 (Hong Minhee) 해커스펍에 아직 마스토돈 API를 구현하지 않은 것이 의도하신 건가요, 아니면 로드맵에는 존재하는데 아직 구현을 안 하신 건가요?
@curry박준규 React Native, GraphQL(Relay), NodeJS, PostgreSQL, AWS, Pulumi 입니다. 아주 무난하지요.
@bglbgl gwyng
왜 때문에 하스켈은 없죠?
얼굴인식 사진공유 카메라앱 슈티를 함께 만들 분을 찾습니다. 앱은 출시되어 있어 써보실수 있습니다. 이번달 내로 페디버스 연동을 끝내면 제가 생각한 MVP는 완성입니다. 앞으로도 개발해야할 부분들이 많고, 개중에 기술적으로 흥미로운 문제들도 다수 있습니다.
지금 2025년 상반기 투자유치를 목표로 팀 빌딩을 하고 있습니다. 관심 있으신 분, 또는 잘 모르겠지만 이야기를 나눠보고 싶은 분도 bgl@gwyng.com으로 편하게 연락주세요.
@bglbgl gwyng 슈티의 기술 스택은 뭔가요?
@hongminhee洪 民憙 (Hong Minhee) 마스토돈 클라이언트 팬피(Phanpy)를 처음 써봤습니다. 인스턴스로 접속해서 보는 게 아니라 클라이언트로 연합우주를 이용하는 게 처음인데 좀 더 유려한 사용자 경험을 제공하네요! 그런데 해커스펍은 팬피와 연동이 안 되나요?
@hongminhee洪 民憙 (Hong Minhee)
@parksbSimon Park 저는 액티비티펍이 이메일과 닮았다고 생각하는데 이메일에는 “전역 뷰”에 해당하는 게 없는 것 같네요. 다만 한 사용자가 여러 이메일 계정을 썬더버드 같은 이메일 클라이언트 하나로 볼 수 있는데 연합우주에도 이런 개념을 적용할 수 있을지 궁금합니다. 이미 “팔로우”가 어딘가 POP3 기능을 하는 것 같기도 하고요.
@hongminhee洪 民憙 (Hong Minhee)
@parksbSimon Park 찾아보니 마스토돈 클라이언트 종류가 엄청 많네요.
@parksbSimon Park 저는 오히려 그러한 “전역 뷰”에 대한 집착이 실질적인 중앙집권화를 불러오는 게 아닌가 싶은 생각이 들더라고요. 🤔
@hongminhee洪 民憙 (Hong Minhee)
@parksbSimon Park 저는 액티비티펍이 이메일과 닮았다고 생각하는데 이메일에는 “전역 뷰”에 해당하는 게 없는 것 같네요. 다만 한 사용자가 여러 이메일 계정을 썬더버드 같은 이메일 클라이언트 하나로 볼 수 있는데 연합우주에도 이런 개념을 적용할 수 있을지 궁금합니다. 이미 “팔로우”가 어딘가 POP3 기능을 하는 것 같기도 하고요.
그동안(10+년;;) git이 엄청 잘만든 물건 같지는 않다고 생각하며 대충 쓰고있었는데, 요즘 branch 개념 자체가 근본적인 실수란 생각이 들기 시작했다. branch 대신에 변경의 시작과 끝, 양 끝점을 가지는 interval을 쓰는게 맞는거 같다(카테고리 이론의 작은 교훈: primitive는 양 끝점을 가지는게 좋다).
git을 쓰면 히스토리 길어진다고 squash merge 등을 하는데, (나도 하지만) 사실 기껏 만들어놓은 히스토리를 뭉개버리는 말도 안되는 동작이다. 만약 interval을 쓴다면 히스토리는 그대로 남기고 UI 단에서 fold/unfold 등을 해줄수 있을 것이다.
Darcs 등이 interval에 기초하는데, 지금은 일이 너무 바빠서 시도할 여유가 없다. 한번 숨고를 시간이 주어지면 멀쩡한 VCS를 탐색하는 시간을 가질것이다.
@bglbgl gwyng 저는 Darcs를 하스켈에 대한 빠심(?) 하나로 최근 써보고 있습니다. 마침 기여하고 싶은 패키지[1]의 저장소도 hub.darcs.net이기도 했고요.
Darcs 쓰면서 편한 점은 이미 추적(?)을 결정한 파일은 변경 사항을 커밋할 때 다시 add 하지 않아도 되고 바로 커밋[2]할 수 있다는 것입니다.
또 하나 편한 점은 파일에 여러 변경 사항이 혼재되어 있을 때 커밋을 나눠서 할 수 있다는 것입니다. 이건 제가 글재주가 부족해서 말로 설명하기 어려운데, 여러 변경 사항에 대해서 커밋을 시도할 경우 대화형으로 커밋 여부를 물어보는데 이때 원하는 변경 사항만 골라서 커밋을 하면 됩니다.
GHC[3]의 저장소가 현재는 GitLab이지만 과거에는 Darcs였었죠. 성능 이슈 때문에 이전했다고 하는데 지금은 문제가 해결됐는지 궁금하네요.
@curry박준규 처음 알았네요ㅋㅋ 이경우는 공통조상?이 짐작되긴 하죠
@bglbgl gwyng 고양이 하스켈 사진도 있습니다. 출처는 다음과 같아요.
높은 목표를 가진 개발자라도 결국엔 아주 사소한 동기로 움직이는거 같다.
나같은 경우엔, 완벽한 프로그래밍 언어를 만드는 것이 목표인데(가능한지는 차치하고), 완벽하다는건 나말고 다른 누군가가 같은 문제 의식을 가진다면 똑같이 그곳에 다다를 거란걸 의미한다. 그 프로그래밍 언어의 설계에서 내 마음대로 결정할수 있는 부분은 없을 것이다. 설계에서 최적의 선택지만을 택해야 완벽할테니까 말이다. 그때가선 그 선택들이 너무 자명해서, 내겐 처음부터 선택의 여지가 없었다고 느낄것이다.
그럼에도 내가 결정할 수 있을 부분이 있기는한데, 그 언어의 이름에 뜬금없이 우리집 강아지 이름을 붙인다던가 하는 것이다. 이게 그 사소한 동기다.
@bglbgl gwyng 사이먼 페이튼 존스의 고양이 이름이 하스켈인데 고양이 이름이 먼저였을까요, 프로그래밍 언어 이름이 먼저였을까요?
@curry박준규 확장이 하도 많아서 뭐가 있는지 다 알기가 어려운 것 같아요… 😂
@hongminhee洪 民憙 (Hong Minhee) 이런 표현이 있습니다.
GHC has more flags than the UN.
@hongminhee洪 民憙 (Hong Minhee) 의외로 꽤 예전부터 있던 확장이네요.
…라고 썼지만, Fedify의 신기능을 테스트하기 위해 Hackers' Pub에 적용해 보고 있습니다. ㅎㅎㅎ
@hongminhee洪 民憙 (Hong Minhee) 해커스펍도 페디파이로 만드신 거죠? 홀로도요?
@hongminhee洪 民憙 (Hong Minhee) 해커스펍 모바일에서는 검색을 할 수 없나요?
@curry박준규 그나저나 회사에서 Haskell 쓰시나요? 부럽습니다.
@hongminhee洪 民憙 (Hong Minhee) 개발 업무는 아니고 혼자하는 인프라 관리 업무를 일부 자동화 하는 데에 하스켈을 쓰고 있습니다.
집에서 회사에 있는 WSL에 SSH로 접근하려고 삽질을 좀 했는데 결론만 적는다. 우선 구성은 다음 그림과 같다.
이때 다음과 같이 하면 macOS에서 WSL에 SSH로 접근이 가능하다.
- Windows에 SSH 서버 필요 없음
- Windows에
netsh interface portproxy
명령어로 포트 프록시 이용 - WSL에서
sshd_config
파일에GatewayPorts yes
설정 필요
그리고 macOS의 Visual Studio Code에서 Remote - SSH 플러그인을 이용하면 macOS에서 쾌적하게(?) 회사 WSL에 접근해서 코딩할 수 있다.
문제가 생겼는데 이렇게 하면 다음과 같이 하독(haddock)으로 만든 라이브러리 문서를 볼 때 WSL에서 브라우저를 열 수 없다.
cabal haddock --open
이럴 때는 다음과 같은 옵션을 이용해서 문서 배포용 압축 파일을 만들고 그것을 macOS 로컬로 다운 받아 열면 된다.
cabal haddock --for-hackage
그나저나 하독이 만들어주는 문서 페이지 너무 깔끔하고 좋다.
@curry박준규 저는 WSL 안에서
sshd
랑 tailscaled
깔아서 바로 접속했었어요.
@hongminhee洪 民憙 (Hong Minhee) Tailscale을 쓰면 회사 VPN을 따로 안 켜도 되겠네요⋯
집에서 회사에 있는 WSL에 SSH로 접근하려고 삽질을 좀 했는데 결론만 적는다. 우선 구성은 다음 그림과 같다.
이때 다음과 같이 하면 macOS에서 WSL에 SSH로 접근이 가능하다.
- Windows에 SSH 서버 필요 없음
- Windows에
netsh interface portproxy
명령어로 포트 프록시 이용 - WSL에서
sshd_config
파일에GatewayPorts yes
설정 필요
그리고 macOS의 Visual Studio Code에서 Remote - SSH 플러그인을 이용하면 macOS에서 쾌적하게(?) 회사 WSL에 접근해서 코딩할 수 있다.
@hongminhee洪 民憙 (Hong Minhee) 제가 생각한 펍(pub)이 그 펍이 아니군요⋯ 당시 설문조사에서 1위를 한 도메인은 따로 있네요?