Existential Lens란걸 알게되었는데 정의는 다음과 같다
data Lens s a = forall c. Lens (s -> (c, a)) ((c, a) -> s)
돌무식 렌즈(get
, set
레코드)보다는 좀더 어렵지만 Van Laarhoven Lens보다는 훨씬 더 직관적이라서 렌즈의 이해에 도움이 많이 되었다.
전체 설명은 요깄다.
@hongminhee@hackers.pub · 657 following · 428 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.
Existential Lens란걸 알게되었는데 정의는 다음과 같다
data Lens s a = forall c. Lens (s -> (c, a)) ((c, a) -> s)
돌무식 렌즈(get
, set
레코드)보다는 좀더 어렵지만 Van Laarhoven Lens보다는 훨씬 더 직관적이라서 렌즈의 이해에 도움이 많이 되었다.
전체 설명은 요깄다.
어제부터 Jujutsu라는 버전 관리 시스템을 써보고 있습니다. git의 branch는 연속적인 단일 작업을 표현하는 느낌이 강하게 드는데 사실 그저 어느 commit을 가리키는 포인터일 뿐이라는 걸 느끼게 해주네요. Jujutsu에서는 같은 커밋에서 다음 커밋을 여러 개 만들면 그게 브랜치이고, 여러 커밋을 parent로 하는 커밋을 하나 만들면 그게 머지이고, 수정이 다 끝나면 그냥 원하는 브랜치 이름의 포인터를 적절히 옮기면 됩니다. 부분 변경을 커밋 간에 자유롭게 옮길 수 있는 것까지 합치면 재미있는 사용 방법이 많이 있을 것 같습니다. 특히 megamerge workflow를 쓰면 git 쓰다가 생겼던 "지금 하는 작업을 끝내야 다음 변경사항을 작업"하는 강박이 해소될 것 같아 기대가 많이 됩니다.
https://github.com/apple/container 써보고 싶은데 macOS 개발자 베타 올리기는 싫고...
macOS는 공식 출시도 너무 일찍 업뎃하면 피를 많이 봐서...
https://github.com/apple/container Apple에서 공식으로 컨테이너를 지원한다고 해서 macOS 26베타를 올렸는데, 이걸 또 설치해야하는구나
요즘은 pytorch로(...) 레이트레이서를 만들어보고 있다. GPU가 열심히 일하는데 170W씩 먹는 거 보면 조금 무섭기도 하다 (전기료가...)
그리고 이것이 24분 써서 뽑은 렌더 결과입니다... 이렇게 나오는 게 맞는 결과인가?
요즘은 pytorch로(...) 레이트레이서를 만들어보고 있다. GPU가 열심히 일하는데 170W씩 먹는 거 보면 조금 무섭기도 하다 (전기료가...)
똥코드 짜놓고 TODO: refactor
를 남기며 죄책감을 덜어내는중...
Fedify本の売上80冊超えた
洪 民憙 (Hong Minhee) shared the below article:
Hyaline @hyaline@hackers.pub
기존 플러그인의 검색 알고리즘 속도 문제에 직면하여, Subgraph isomorphism 문제 해결을 위해 다양한 논문과 알고리즘을 탐색하고 RI, ArcMatch, VF3 등의 솔루션을 검토한 과정을 소개합니다. 특히 RI 알고리즘을 플러그인에 통합하는 과정에서 겪은 어려움과, 알고리즘의 복잡성 때문에 코드를 완전히 이해해야만 플러그인의 설계 의도에 맞게 수정할 수 있었다는 점을 강조합니다. Rider의 LLM 기능을 활용하여 코드를 분석하고 이해하는 과정을 거쳐, 재귀 없이 배열 기반으로 트리 순회하는 흑마술 같은 코드를 처음 접하며 겪는 혼란과 즐거움을 공유합니다. 타인의 오랜 노력이 담긴 결과물을 빠르게 습득하는 과정에서 느끼는 달콤함과 만족감을 표현하며, 이 경험이 과거 공부에 어려움을 겪던 자신에게 큰 동기부여가 되었을 것이라는 소회를 밝힙니다.
Read more →“Deprecation”에 對應되는 韓國語 翻譯語가 定立될 必要가 있다.
https://hackers.pub/@hongminhee/01977192-399f-76c5-9d8c-07051a8a803a
@hongminhee洪 民憙 (Hong Minhee)
조금 길지만 제거 예정(예문: Features deprecated / 제거 예정인 기능)이 그럭저럭 쓸만한 번역어인 거 같고요.
Gemini를 굴려보니 재밌는 번역어를 몇 제시해주네요.
다만 여전히 제게는 '제거 예정/제거할'이 가장 와닿네요.
“Deprecation”에 對應되는 韓國語 翻譯語가 定立될 必要가 있다.
https://hackers.pub/@hongminhee/01977192-399f-76c5-9d8c-07051a8a803a
日本語에서는 「非推奬」이라는 말을 쓴다는데, 韓國語에서는 「推奬」이라는 말을 잘 쓰지 않으니 「非推薦」 乃至는 「非奬勵」 程度가 되려나? 듣고 보니 「止揚」 같은 말로 翻譯해도 좋을 것 같기도…?
(ハングルが読めないので雑にハンジャの部分だけ見て言及)
"deprecation"は日本語なら「非推奨」などと訳すところだろうけど、韓国では確立した訳語がないのか
“Deprecation”에 對應되는 韓國語 翻譯語가 定立될 必要가 있다.
https://hackers.pub/@hongminhee/01977192-399f-76c5-9d8c-07051a8a803a
C# NotNull
같은 기능을 TypeScript에서는 asserts <arg> is Exclude<T, null>
같이 쓸 수 있고 vitest에서는 assert.isNotNull
처럼 쓰면 되더라 📝
Hello Hackers' Pub!
@xiniha 오… 몇 개 추천해 주세요.
@hongminhee洪 民憙 (Hong Minhee) 아직 스케줄만 나오고 발표가 진행된 건 아니긴 한데 😅 여기에 현재 기준 스케줄이 있습니다
예전에는 LG전자제품에 대한 별 생각이 없었는데 스마트홈 세팅한다고 HomeAssistant로 다 모으고 난 이후에 LG제품을 피하고 싶어졌다.
일단 연동을 HA 기본 제공 확장이 아닌 서드파티 확장을 설치 해야하고, 주기적으로 재인증을 해줘야 한다. "조작"은 쓸만 한데 "상태"는 잘 갱신이 안되어서 센서로 쓸 수가 없다.
연동 없이 그냥 쓰는데야 뭐 별 불만 없지만, 다양하게 모아서 연동 하고 싶은 분에게는 큰 단점이라고 본다.
2개월 전에 애자일 이야기 글을 편하게 읽고 싶었던 것과 검색 기능의 필요를 느껴 삼아 작성했던 프로젝트[1]를 아카이브 했습니다. 글도 다 읽었고 읽으면서 수정하다 보니 내가 쓸만큼의 무언가는 되어서 특별히 더 동기가 남아있지 않았기 때문입니다. 불필요하게 SSR로 돌려서 서버 비용이 나가는 것이 걱정거리로 남아있었는데 그것도 어제 오늘 작업해서 이제는 GitHub Pages로 배포하기 때문에 아카이브할 수 있게 되었습니다. 그냥 놔둬도 괜찮지만 괜히 신경 쓰여서 아카이브로 돌려놓습니다.
코드 퀄리티는 좋지 않을텐데... 혹여나 수정이 필요하신 분은 AGPL-3.0 라이센스이니 편하게 포크해서 사용하시면 될 듯합니다.
https://github.com/moreal/agilestory.blog/
https://agilestory.blog
아카이브된 옛날 글을 보면 플래시를 쓰는 경우가 있어서 Ruffle 같은 걸 써서 지원해야 하나 했었는데, Internet Archive에서는 이미 Ruffle로 플래시 파일들을 지원하는구나
https://blog.archive.org/2020/11/19/flash-animations-live-forever-at-the-internet-archive/
洪 民憙 (Hong Minhee) shared the below article:
제이미 @theeluwin@hackers.pub
신혼집에 스마트홈을 구축한 경험을 공유하는 이 글은 LG 가전제품과 헤이홈, 미니빅 기기를 활용한 자동화 루틴을 소개합니다. 아침 기상 시 전동 커튼이 열리고, 로봇청소기가 작동하는 등 시간대별로 설정된 자동화 시스템을 통해 일상생활의 편리함을 더했습니다. 특히, 화장실 환풍기를 헤이홈 푸쉬봇으로 제어하여 반신욕 시 온도 유지를 돕는 등 개인적인 필요에 맞춘 스마트홈 환경을 구축했습니다. 이 글은 독자들에게 스마트홈 구축에 대한 아이디어를 제공하고, 자동화를 통해 삶의 질을 향상시킬 수 있는 가능성을 보여줍니다.
Read more →로봇청소기 API가 쓸데 없이 중국 갔다오느라 이상하게 불안정해서 커펌 올리고 싶다.
이번 GraphQLConf 발표들도 재밌는 것들 잔뜩이구만
선거철이 되면 한국에서는 선거 공보물에 2차원 바코드가 삽입되는 모습을 볼 수 있습니다. 국내 기업 "보이스아이"사의 독자 규격 2차원 바코드입니다. (시각장애인이 사용할 수 있는) 무료 스마트폰 앱을 쓰면 바코드에 들어있는 정보, 즉 공보물 속에 적힌 글자를 확인할 수 있습니다. 소리내어 읽어주기도 하지요.
선거철에는 선거 공보물 제작 담당자가 바코드 생성 프로그램을 무료로 사용할 수 있게 제공되긴 합니다. 그렇다면, 이를 QR 코드로 대체하기는 얼마나 어려울까요. 아직 한국에서는 URL주소를 QR코드로 담는 수준을 넘어 '한글 데이터'자체를 QR코드에 담는 모습을 많이 보진 못했는데요. 단순히 개발자라면 할 수 있는가, 의 문제를 넘어 어떤 문제들이 기다리고 있을지.
10년쯤 전부터 고민하던 문제인데 아직 명확한 답은 못 찾았습니다.
올해 파이콘은 벌써 제안마감했군요. 내년 파이콘에는 발표제안을 해볼까...
이제 그놈 지도에서 한국 길 찾기가 된다 😲
NameSpaceの地上げに失敗したのでNamaeSpaceを取る会 #存在しない会
日本のソフトウェア開発者の皆様をHackers' Pubにご招待します。Hackers' Pubは、ActivityPubを実装するソフトウェア開発者のためのSNSであり、ブログプラットフォームです。MastodonとQiitaやZennをミックスしたような雰囲気です。短文(投稿)と長文(記事)の両方に対応しており、ActivityPub上では投稿はNote
、記事はArticle
として表現されます。また、快適な技術ブログ執筆のために、TeX数式やGraphvizダイアグラムなど、さまざまなMarkdown拡張にも対応しています。ご興味のある方は、下記の招待リンクから先着25名までご登録いただけます。
https://hackers.pub/@hongminhee/invite/0197453c-95a9-7542-8c23-dc213ba07fb0
Hackers' Pub 오프라인 모임하는 상상
React Native 라이브러리 쓸때 제일 (충분한 까닭없이) 고통받는 경우가 JS 단에 노출되어야할 API가 쓸데없이 한번 래핑되서 네이티브 단에 숨어있는 경우인거 같다. 오히려 래핑을 안했으면 JS 단에서 알아서 쇼부를 볼텐데, 쓸수있는 인터페이스가 충분히 원자적이지 않아서 네이티브단 코드를 까거나 아니면 꼼수를 써야한다.
await 안 해야 하는 곳에서 await하고는 왜 Thread가 멈추는지 열심히 찾고 다녔다...
noc.social 이라는 인스턴스에는 클라우드플레어 공식계정이 있구먼.... social.kernel.org도 그렇고 처음보는 인스턴스가 많은데, 이걸 보기좋게 시각화한 디렉터리 서비스 같은게 있으면 좋겠다. 그냥 확 나열해놓기만 한거 말고
결국 claude MAX를 구독하기 시작함
@ll4g1 안녕하세요! 해커즈 퍼브에서는 Graphviz도 지원합니다!
Hackers' Pub에서 DOT 언어(Graphviz)로 다이어그램 그리기
Hackers' Pub에 숨겨진 유용한 기능, 바로 Graphviz DOT 언어 지원에 대해 알아봅니다. 이 기능을 사용하면 복잡한 다이어그램을 간단하게 Markdown 코드 블록 안에 DOT 언어로 기술하여 표현할 수 있습니다. 특히 `graphviz` 언어 태그를 사용하여 ActivityStreams 데이터 전송 과정을 시각적으로 나타낼 수 있습니다. 서버 간의 상호작용을 명확하게 보여주는 다이어그램을 통해, 독자는 Mastodon과 Hackers' Pub 서버 간의 데이터 흐름을 쉽게 이해할 수 있습니다. 이 기능은 긴 게시글뿐만 아니라 짧은 글에서도 유용하게 활용될 수 있으며, 기술적인 내용을 시각적으로 표현하고자 하는 사용자에게 큰 도움이 될 것입니다.
hackers.pub · Hackers' Pub
Link author: 洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
파이썬에 inspect.getsource() 함수가 있다는 것 자체는 알고 있었는데 이번에 처음 써봤다. 저게 무슨 함수인고 하니 매개변수로 함수를 받아 그 소스코드를 리턴해준다. 사실 이 얘길 처음 들었을 때 이걸 대체 어디 쓰지 싶었는데...
그리드 서버에 있는 데이터를 분석하기 위한 코드를 돌리려고 했더니 내가 따로 만든 모듈을 못 불러가서 모듈 못찾음 에러가 뜨더라... 물론 내 모듈을 불러가게 만들 방법이 있기는 했는데 연구 그룹의 분석 프레임워크로 컴파일한 shared object 파일을 만들어야 했다. 게다가 내 모듈은 수시로 바뀌는 설정값들을 따로 뽑아 json 파일로 만든 뒤 그걸 매번 읽어서 반영하는 형식이어서 바뀌는 설정값마다 컴파일을 따로 해줘야 했다.
그래서 이번에 inspect.getsource() 함수를 활용해서 설정값들을 반영하면서 내 모듈의 소스코드를 포함하는 파이썬 스크립트를 쓰는 파이썬 스크립트를 썼다. 이게 상정된 용례인지는 잘 모르겠지만 어쨌든 해결해서 기분은 좋다.
나도 다음에는 nginx 대신 Caddy 를 써봐야겠다.
아무래도AI업체바이럴인거같아요!! 이런걸퍼와서죄송합니다
지난번 read papers with me에 이어서... 이번에도 어차피 논문 읽을겸, 세미나 발표 준비하듯 피피티도 만들고, 영상도 촬영해봤는데요,
결국 촬영 + 편집에 오버헤드가 너무 많이 걸려서 이것도 그다지 좋은 방법이 아니었네요. 혹시라도 비슷한 생각 하신 분들은 참고하시길(...)
예전에는 주로 Windows랑 Mac을 왔다 갔다 하면서 작업했는데, 요즘은 Mac mini랑 MacBook Air를 나눠서 쓰는 일이 많아지다 보니까, 슬슬 dotfiles
백업이나 공유가 필요하겠다~ 싶어졌다.
우선은 셸 히스토리를 백업하고 공유할 수 있도록 https://atuin.sh/ 를 설치해봤다. (@daidaisuke 님 블로그에서 우연히 본 건데, 감사합니다!)
これまでは主にWindowsとMacを行き来しながら作業してたんだけど、最近はMac miniとMacBook Airを使い分ける感じになってきて、dotfiles
のバックアップとか共有がそろそろ必要かな〜と思い始めた。
とりあえず、シェルの履歴をバックアップ・共有できるように、https://atuin.sh/ を入れてみた。(@daidaisuke さんのブログでたまたま見かけたやつ。感謝です!)
이름값 못하는 프로그래밍 개념들로 플러그인과 미들웨어가 있는데
Next.js 15.1+는 Vercel 외 환경에서 사실상 쓸 수 없다
------------------------------
- Next.js 15.1.8부터 *메타데이터 처리 방식이 변경* 되어 Vercel 이외의 배포 환경에서 심각한 문제 발생
- 메타데이터가 HTML head에 직접 렌더링되지 않고 "메타데이터 스트리밍"이라는 방식으로 따로 전송됨
- 검색 엔진이 자바스크립트를 실행하지 않으면 메타데이터가 아예 노출되지 않아 SEO가 치명적으…
------------------------------
https://news.hada.io/topic?id=21430&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
# Ask Hackers Pub : 이번 주말에 뭐 하시나요?
이번 주말에 뭘 하려고 계획 중인지 편하게 얘기해 보아요.
읽을 책, 가볼 곳, 해볼 것.. 어떤 것이든 좋습니다.
도움 요청이나 피드백 요청도 좋습니다.
물론! 아무것도 하지 않고 쉬는 것도 훌륭합니다.
* 지난 주말에 계획하셨던 일의 회고도 한 번 남겨보면 좋을 것 같아요.
Deno 2.3.6 is out 🎉
- deno bundle is back!
- new --unstable-node-conditions flag to customize conditional exports
and more 👇
nimf가 의외로 안정적이었습니다. kime도 괜찮을거같긴해보이고요. 어찌되었건 아치리눅스라 이것저것 건드려보고있습니다.
하스켈북의 저자에게 다음 책이 언제 나오냐고 물었더니 아이 넷 육아를 하느라 바빠서 계획이 없다고 한다. 아이가 넷이라니!(아이가 셋인 사람이 하는 소리) https://x.com/theodorvaryag/status/1933303607362715941
Spotted on the changelog for Deno Deploy EA...
Playgrounds!
- Create and edit playgrounds
- Multi-file playground support
- Playground templates and settings
확실히 이전보다 해커스펍 타임라인 속도가 올라갔다. 사람이 늘긴 늘은 거 같아요.
저.. 리눅스 쓰시는 선생님들 입력기 fcitx5 쓰시나요?
そういえば、hackers.pub に貢献したのは今日が初めてでした。コードではなく、イシューをひとつ立てただけですが…。
https://github.com/hackers-pub/hackerspub/issues/95