https://duocon.duolingo.com/
오늘 새벽 1시(한국 시간 기준)에 진행된 듀오콘 링크입니다~
언어 학습뿐만 아니라 듀오링고 앱 개발 관련된 내용도 있어서 한번씩 보셔도 좋을 것 같습니다🦉

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 902 following · 627 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee).
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee).
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee)」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
환경 보호를 위해 electron등을 사용한 webview기반 애플리케이션을 더 이상 만들지 못하게 해야합니다
@khrisHong Segi (aka khris) Electron 말고 Tauri 정도면 용서해 주시나요?
다람쥐 헌 쳇바퀴에 타고파.
@eatch잇창명 EatChangmyeong💕🐱 어서 오세요!
다람쥐 헌 쳇바퀴에 타고파.
연합우주에 다른 계정을 만들었는데 자주 쓸지 모르겠네요
아무튼 이거 때문에 hackers.pub 에 드디어 관심이 좀 생기기 시작했는데 탐라를 좀 보니까 아무도 뻘소리를 안 하는 분위기라서 여전히 망설여진다
@EatChangmyeong잇창명 EatChangmyeong💕🐘 앗… 초대 필요하시면 DM으로 이메일 주소 알려주세요! 초대 드리겠습니다!
Deploy AnywhereなActivityPubサーバー書いてる
optique.dev seems interesting for cli opt parsing
Optique
https://ebook.insightbook.co.kr/ 가 문을 닫는다고 해서 책을 두 권 샀다. DRM 없는 전자책을 살 수 있는 흔치 않은 곳이었는데 아쉽게 됐다.
환경 보호를 위해 electron등을 사용한 webview기반 애플리케이션을 더 이상 만들지 못하게 해야합니다
그러고보니 첫 컨트리뷰터 malkoG 님의 PR이 머지되었습니다.
.NET 10의 File-based App 스캐폴딩 툴을 dotnet tool로 만들어보았습니다. nuget에 올라가 있어서 아래처럼 Kestrel ASP.NET Core 서버 코드를 만들고 바로 실행하실 수 있습니다. ㅎㅎ
dnx dotnet-fba -y --prerelease -- -t WebHost -o - | dotnet run -
신청해뒀던 Claude for Chrome 초대장이 왔다. 테스트해보니 Comet(Perplexity)의 어시스턴트보다는 확실히 agentic하지만 아직은 제대로 잘 결과를 주진 못한다는 인상을 받았다.
아 근데 클로드 코드가 편하긴 하다
태스크 하나 끝낼 때마다 포맷팅 & 커밋 알아서 하라고 하니 잘 해줌
요게 에이전트지 캬~
해커스펍 오프라인 행사를 여니까 확실히 유입 효과도 활성화 효과도 동시에 있는 것 같음. 11월 중순~11월 말에는 프론트엔드 특집으로 생각하고 있는데 얼마나 많이 찾아오시게 될 지...!!
갑자기 불현듯 하이텔이나 나우누리 같은 옛날 PC통신이 떠올라서 난 한 번도 그 시절을 겪어본 적이 없었는데 어떤 느낌일까 싶어서 해보고 싶어가지고 검색 해봤는데 생각보다 쉽게 사설 BBS를 접속하는 프로그램을 찾아내서 탐방했음. 미국은 사설 BBS가 아직 명맥을 이어가는 것 같은데 국내 거는 사실상 멸종한 것 같다...여튼 하니깐 어릴 때 친구네집 펜티엄 컴퓨터 갖고 스치듯 했던 MS-DOS 갬성이 엄청 느껴져서 하는 내내 헤벌레 미소 지으면서 했다 ㅋㅋㅋ 나갈 때 작별인사 페이지도 따로 있어서 살짝 감동 먹음 🥹
참고로 사용한 프로그램은 MuffinTerm이고 애플 계열 기기에서 돌아간다 (아이패드 포함). 접속한 BBS는 8bit-boyz라는 미국 레트로 컴퓨팅 커뮤니티다.
대학원 다닐 때 썼던 학술용 개인홈피 몇 주 전에 싹 다 뒤엎고 맘에 드는 블로그 테마 하나 포크해서 다시 만들고 있는데 포크한 리포가 Astro 프레임워크랑 타입스크립트로 쓰인 거다. 근데 난 자바/타입스크립트 둘 다 제대로 써보기는 커녕 강의도 들어본 적이 없어서 포스트도 하나 테스트로 쓸 겸 로컬 호스트로 띄워놓고 파일들 이것 저것 하나하나 건들면서 깨부하는 중...어차피 맛이 가도 나한테만 맛이 가니깐(??) 맘 편하게 하고 있다. 어릴 때 게임 파일 소스 코드나 .config 파일 갖고 이것저것 뜯어보는 느낌이 들어서 재밌음 ㅋㅋ
논문 썼던 습관 어디 안 간다고 여기서 글 쓸 때 나도 모르게 레퍼런스나 각주를 달아놓곤 하는데 해커스펍은 마크다운을 지원해줘서 너무 좋음...트이타였으면 타래 맨끝에다가 중간에 짤려가지고 "..."으로 끝나는 url들을 썼어야했을텐뎅
DDIA (Designing Data Intensive Application) 2판을 읽고 있다.
처음 빌딩블록 얘기부터 정리를 잘해주는듯..
DB: 데이터를 저장하여, 자신 또는 다른 애플리케이션이 나중에 다시 찾을 수 있도록 한다 (데이터베이스)
Cache: 비싼 연산의 결과를 기억하여 읽기 속도를 높입니다 (캐시)
Index: 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있도록 허용합니다 (검색 인덱스)
Stream: 이벤트와 데이터 변경이 발생하는 즉시 처리합니다 (스트림 처리)
Batch: 주기적으로 축적된 많은 데이터를 분석합니다 (배치 처리)
동일한 DB 스키마를 사용하는 4개의 프로젝트를 만들었다. UI 컴포넌트가 공통적으로 겹치는 부분도 있어서 이참에 Monorepo 구성을 검토했다가 (ChatGPT와 Claude의 답변 최우선순위도 Monorepo 구성으로 추천받았다) 결론적으로는 Private Package Registry를 사용해서 패키지 공유해서 쓰는 쪽으로 방향을 잡았다.
@kodingwarriorJaeyeol Lee
@techanna바보언니 금주까지 주문 받고 마감하고 나면 써주신 Hackers' Pub 계정(
@techanna바보언니) 쪽으로 연락 드리겠습니다!
맨날 vscode에서 딩코 언어로만 타이핑 하고 닝겐언어는 길어봐야 주석으로 한 두 줄 쓰는 게 다였는데 (그것도 대충 씀) 오랜만에 닝겐 언어로 길게 타이핑 하니깐 머리가 띵하다 😵💫 그래도 예전에 논문으로 냈던 주제여서 올만에 재밌게 썼음..
이제 네트워크 인터페이스도 일부 추가하고, I/O도 일부 보강하고, 그래픽 기능의 버그를 많이 고쳤다.
이제 거의 이정도까지 할 수 있다.
써놓고 보니 오타 짱 많네 ㅠㅠ 이거 수정 못하나봐요..흑
@icecream_mable구슬아이스크림 수정 기능은 언젠가는 추가될 예정입니다…
살짝 다른 차원에서 확장해서 바라보는 얘기이긴 한데 그냥 첨언하자면 언어학의 하위 분야인 화용론에서 전제(Presuppositions)라는 주제랑 연결되는 것 같네요. 댓글에 프랑스 왕은 머머리다 예문도 써주신 걸 보니 더욱 더 그런 것 같고요. 간단하게 설명드리자면, 일단 한국어 예문으로 하면 살짝 오해의 소지가 있어[1] 영어 예문을 갖고 쓰면 다음과 같이 생각해볼 수 있습니다.
- P: The King of France is bald.[2]
- Q: There exists an entity that is King of France.
이 때 P의 명제가 참일 수 있는 이유는 Q를 전제로 깔고 가기 때문입니다. 이렇게 Q를 전제로 갖고 가면 P에 부정을 넣어도 (The King of France is not bald 혹은 ¬(The King of France is bald)) 여전히 그 명제는 참입니다. 하지만 실제 현실에서 Q는 거짓입니다. 왜냐하면 오늘날 프랑스는 군주국가가 아니니깐요. 그럼에도 불구하고 P는 여전히 참을 진리값으로 가지죠.
따라서 실제로 전제를 이렇게 정의하기도 합니다 (Levinson, 1983, p. 175).
- A sentence P sematically presupposes a sentence Q iff:
- (a) P ⊨ Q
- (b) ~P ⊨ Q
참고로 여기서 "⊨"는 "함의한다"를 지칭하는 기호입니다 (예: "하스켈은 함수형 언어다."란 문장은 "하스켈은 언어다"란 걸 함의하죠.).
그렇다면 Q가 전제되는 건 알겠는데, 이 진리값이 무엇이느냐에 대한 질문이 생길 수 있습니다. 이에 대해서 언어학자들은 보통 크게 두 가지로 봅니다. 하나는 참으로 간주하는 거고, 다른 하나는 참도 거짓도 아니다라고 보는 거죠. 전자같은 경우엔 어떻게 보면 기계적으로 바라보는 거고, 후자의 경우엔 참/거짓이라는 기존 이치논리(two-valued logic) 혹은 1 또는 0으로 하는 불 논리에서 확장해서 Kleene의 삼치논리(three-valued logic)로 가게 되죠.
참고로 전제 성립 여부 포함 화용론 전체에서 깔고 가는 가장 큰 가정이 하나 있는데, 이 경우에는 바로 해당 발화(utterance) P, 즉 '프랑스왕은 머머리다'라는 명제가 이루어질 때 화자와 청자가 프랑스에는 왕이란 개체가 존재한다(=Q)라고 암묵적으로 서로 동의한다라는 가정입니다.
이거 아무리 봐도 옛날에 본 심리검사 문항 같다. 이런 느낌으로
벌려둔 일이 너무 많아서 뭐부터 해야 할 지 정하질 못한 채 우왕좌왕하는 일이 많다.
@hongminhee洪 民憙 (Hong Minhee) 우왕좌왕의 결과물의 fedify, logtape, upyo, optique인거군요. 앞으로도 쭉 우왕좌왕하시면 될듯 합니다.
@hongminhee洪 民憙 (Hong Minhee) 민희버스의 크라우드소싱이 시급하군요(?)
벌려둔 일이 너무 많아서 뭐부터 해야 할 지 정하질 못한 채 우왕좌왕하는 일이 많다.
@hongminhee洪 民憙 (Hong Minhee) 민희버스의 크라우드소싱이 시급하군요(?)
벌려둔 일이 너무 많아서 뭐부터 해야 할 지 정하질 못한 채 우왕좌왕하는 일이 많다.
클라우드플레어가 원래 캐시를 하는 CDN이다 보니(근거없음) 터널을 주로 로컬 디버깅 용도로 사용하면 각종 캐시 문제에 맞닥뜨리긴 하는데 그치만 무료면서 커스텀 도메인 연결이 되는 터널링 서비스를 이거 말고는 못 찾았어요
Either
씁시다. 너무 편합니다.
하스켈 쪽에는 《Finding Success (and Failure) in Haskell》이라는 책이 있습니다. 이 책에서는 크게 다음과 같은 타입을 소개합니다.
Maybe
의 한계를 극복한Either
.Either
의 한계를 극복한Validate
.
제 GitHub 프로젝트 중 별 400개를 받은 프로젝트가 나왔습니다!
여기까지 오는데 정말 많은 격려와 응원해주셔서 감사합니다. ㅠㅠ
洪 民憙 (Hong Minhee) replied to the below article:
Hello... New World?

Caipira @caipira113@hackers.pub
This inaugural post marks the author's debut on Hackers' Pub. It likely introduces the author's interests and intended contributions to the community. The post sets the stage for future technical discussions and insights the author plans to share. It serves as an introduction, inviting readers to follow along and engage with the author's upcoming content.
Read more →@caipira113Caipira 어서 오세요!
.NET 10 FBA가 정말 좋은 이유는, Ollama만 설치되어있으면 아래 명령어 만으로 바로 Demo가 실행되기 때문입니다. (진짜로 그렇습니다.)
curl -L -o - https://shorturl.at/BVlhj | dotnet run -
어떤 조건문을 만족하는 원소의 집합을
그럼
이 때, 공집합
따라서 공집합의 원소는 모든 조건문을 만족합니다
공허한 참
(Vacuous truth)은 사실 좀더 포괄적인 개념입니다
가정이 거짓이면 명제는 항상 참이다
라는 개념입니다
공허한 참
이라고 부르니 어렵게 느껴지죠?
저는 항상 한국어 한정으로 '니 말이 진짜면 내일 해가 서쪽에서 뜨겠다' 참
으로 이름을 바꿔야한다고 주장해왔습니다
가정(니 말
)이 거짓이니 결론(해가 서쪽에서 뜨는 것
)이 참이든 거짓이든 명제는 참이 되죠
이걸 공집합의 원소는 모든 명제를 만족한다
에 적용시켜볼까요?
이 명제를 좀더 조건문처럼 쓰기 위해 만약 (가정)이라면 (결론)이다
형태로 바꿔보죠
그럼 a가 공집합에 포함된다면, a는 모든 명제를 만족한다
가 됩니다
그런데, a가 공집합에 포함된다
는 거짓이죠?
따라서 해당 조건문은 가정 자체가 거짓인 공허한 참
입니다
Upyo 0.3.0: Multi-provider resilience and deployment flexibility

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
Upyo 0.3.0 introduces three new transports designed to enhance email delivery capabilities and reliability. The update focuses on multi-provider support and flexible deployment options. The new pool transport, via the `@upyo/pool` package, combines multiple email providers with routing strategies like round-robin, weighted distribution, and priority-based routing, ensuring high availability and cost optimization. Additionally, the `@upyo/resend` package integrates Resend, an email service provider known for its developer-friendly approach and intelligent batch optimization. For those needing self-hosting options, the `@upyo/plunk` package supports Plunk, offering both cloud-hosted and Docker-based self-hosted deployments. These new transports maintain Upyo's consistent API design, ensuring they can be easily integrated into existing workflows. This release expands Upyo's utility by providing more robust and adaptable email delivery solutions.
Read more →재미 삼아, Cairo를 백엔드로 하는 쉽게 그래픽 처리를 할 수 있는 간단한 언어를 하나 만들고 있다.
전체적으로 Lua나 Visual Basic에게 영감을 받아 쉽게 읽을수 있는 문법을 가지게 만들려고 생각중이다.
#레퍼럴프로젝트 @kodingwarriorJaeyeol Lee 할아버지의 지혜에 힘입어 클라우드플레어 터널을 버리고 caddy를 사용하도록 바꿨습니다.
오늘 6시 전까진 깃헙 레포로 공개할 수 있을 것 같습니다.
https://github.com/bglgwyng/nix-x-cabal
한달간의 삽질끝에 Nix + Haskell 빌드 프레임워크를 완성했다. 늘 Nix, Haskell에 기여하고 싶었지만, 솔직히 이걸 내가 직접해야하는 상황이 올줄은 몰랐네. Nix 디버깅하느라 정말 개고통이었다..
재미 삼아, Cairo를 백엔드로 하는 쉽게 그래픽 처리를 할 수 있는 간단한 언어를 하나 만들고 있다.
전체적으로 Lua나 Visual Basic에게 영감을 받아 쉽게 읽을수 있는 문법을 가지게 만들려고 생각중이다.
@hongminhee洪 民憙 (Hong Minhee) 오, 써본 적 없는데 도전해봐야겠어요! 추천하시는 이유를 여쭤봐도 될까요?
@meneleHanal Ae 세팅이 간편하고 신경 쓸 게 별로 없어서요!
Ailrun (UTC-5/-4) replied to the below article:
공허한 참

박준규 @curry@hackers.pub
하스켈의 `all` 함수에 빈 리스트를 넣었을 때 왜 `True`가 반환되는지에 대한 의문을 "공허한 참(Vacuous truth)"이라는 개념을 통해 탐구합니다. 흔히 '구현이 그렇게 되어 있으니까'라고 생각할 수 있지만, 저자는 이 현상을 논리적으로 분석합니다. `all` 함수의 구현 방식과, 빈 리스트에 대한 연산 결과가 전체 결과에 미치는 영향을 설명하며, 공집합의 모든 원소가 짝수라는 명제가 참인 이유와 유사한 논리적 근거를 제시합니다. 이를 통해 코드와 수학 간의 연결고리를 발견하고, 마지막으로 ChatGPT가 생성한 유머러스한 이미지를 곁들여 독자에게 즐거움을 선사합니다.
Read more →@curry박준규
all
을 다음과 같이 정의하면 문제가 무엇일까요?
all p [] = False
all p [x] = p x
all p (x:xs) = p x && all xs
이 질문에 대한 대답 중 all
의 의미에 관한 것이 있을 겁니다. 논리적으로 "모든 ...에 대해"를 어떻게 이해해야 하는냐에 대한 것 말이지요.
공집합을 직접 사용하는 것이 가장 간단한 예시겠지만, 좀 더 논리학에서 자주 사용되는 예시로는 "20세기의 모든 프랑스 왕은 대머리다"가 있겠습니다. 이는 무의미하게 (Vacuously) 참인데요, 왜냐면 19세기를 마지막으로 프랑스에는 더 이상 왕이 없기 때문이지요. 즉, 일반적으로 "모든 ...에 대해"에서 "..." 부분이 (결과적으로) 공집합일 경우 "모든 ..."에 의해 수식된 본문이 어떤 문장인지와는 상관 없이 참이라고 이해한다는 것이지요.
WSL 관두고 우분투 깔아서 멀티부팅 써버려...?
@meneleHanal Ae Ubuntu도 좋지만 개인적으로는 Fedora Linux 추천해요!
WSL 관두고 우분투 깔아서 멀티부팅 써버려...?
노트북 개발환경 세팅하다가 어이없이 하루를 다 날리고(데브 컨테이너가 안 켜져서 별 짓을 다해봤는데 Execute In WSL 옵션이 꺼져 있어서 그런 거였다... ... ...) 에러만 모아놓은 블로그라도 만들까 (n번째로) 생각한 일요일... 삽질을 안 하는 날이 없다
OpenAI의 gpt-oss 모델에 이어, RAG (검색 증강 생성)에서 매우 중요한 역할을 하는 임베딩 모델을 Google에서 새롭게 오픈 소스로 공개헀습니다.
EmbeddingGemma라는 이름의 임베딩 모델로, 고성능 하드웨어 없이도 RAG를 구현할 수 있으면서, 한국어, 중국어, 일본어를 포함한 수많은 언어를 지원하도록 개발된 모델이어서 의미가 있습니다.
그래서 재빨리 File-based App과 Semantic Kernel용으로 개발된 sqlite-vec 확장 모듈을 붙여서 프로토타입 코드를 만들어봤는데, 잘 작동하는 것 같네요! :-D
#embeddinggemma #RAG #AI #SemanticKernel #Google
https://forum.dotnetdev.kr/t/google-embeddinggemma-ollama-sqlite-vec-rag/13754
이번 주에는 출퇴근하면서 스티브 울프람의 람다 대수 관련 글을 읽어봐야겠다. 읽을 게 쌓여간다... https://writings.stephenwolfram.com/2025/09/the-ruliology-of-lambdas/
洪 民憙 (Hong Minhee) shared the below article:
공허한 참

박준규 @curry@hackers.pub
하스켈의 `all` 함수에 빈 리스트를 넣었을 때 왜 `True`가 반환되는지에 대한 의문을 "공허한 참(Vacuous truth)"이라는 개념을 통해 탐구합니다. 흔히 '구현이 그렇게 되어 있으니까'라고 생각할 수 있지만, 저자는 이 현상을 논리적으로 분석합니다. `all` 함수의 구현 방식과, 빈 리스트에 대한 연산 결과가 전체 결과에 미치는 영향을 설명하며, 공집합의 모든 원소가 짝수라는 명제가 참인 이유와 유사한 논리적 근거를 제시합니다. 이를 통해 코드와 수학 간의 연결고리를 발견하고, 마지막으로 ChatGPT가 생성한 유머러스한 이미지를 곁들여 독자에게 즐거움을 선사합니다.
Read more →