Drizzle ORM이 어서 Temporal.Instant
를 지원했으면 좋겠다. 그 전에 드라이버가 먼저 지원해야 하려나? PostgreSQL의 timestamp with time zone
타입이 나노초 정밀도인데 Date
는 밀리초 정밀도라 값이 손실되고 있다.

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 397 following · 266 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
어떤 싸움이 났을 때 만약 블루스카이나 X였다면 당사자들과 어울리는 맞팔들이나 조금 신경쓰지 않았을까 싶습니다. 알고리즘이 없기에 한 사건이 다른 유저들에게 일파만파 퍼지는 게 더 쉽고, 게시물의 플로우는 역설적이게도 중앙 집중형처럼 퍼지는 것 같아요. 탈중앙화 SNS인데도 불구하고, 게시판이나 포럼처럼 말입니다.
그냥 그렇다고요. 그냥 문득 떠오른 생각인데, 본 계정에 올리면 아까 한국어권 연합우주에서 일어난 것으로 보이는 어느 싸움(보지를 못해서 싸움인지, 사이버 불링인지, 아니면 아무것도 아닌지는 모르겠습니다. 그런데 뭔 일이 있었던 것 같기는 합니다.)에 신경 쓰고 싶지 않은 분들을 방해할까봐 여기에 써봅니다.
그나저나 Hackers' Pub에는 내용 경고 기능이 없는 것 같네요...?
@markeb54맹꽁이 네, Hackers' Pub에 올라오는 글들의 주제 특성상 내용 경고 기능을 쓸 일이 거의 없다고 생각해서 아직 구현하지 않았습니다. 구현 우선 순위도 좀 낮습니다.
어디 RFC 문서 의존 관계 정리된 거 없나요?
@curry박준규 그러게요. 생각해 보니 그런 게 없는 게 이상하네요. 하나 만들어 보셔도…!?
https://github.com/denoland/fresh/pull/2253 아니 지금 보니까 작년초에 올라온 PR이었잖아...?
@perlmint 근데 Hackers' Pub은 Fresh 2.0 알파 버전을 쓰고 있어서 어떻게 될 지 모르겠네요…
@youknowone 님 어서 오세요!
새 키보드는 ABKO KN03BT TKL로 정했다!
새 키보드를 산 지 며칠이나 됐다고, 오늘 또 키보드와 스위치를 샀다. 새 키보드는 FL·ESPORTS OG87, 새 스위치는 LEOBOG 세이야축.
링크 첨부때문에 가로 스크롤이 생겼었는데 언제 시라졌데요.
@lionhairdino 오늘 정오에 적용되었습니다.
@hongminhee洪 民憙 (Hong Minhee) 약간 딴 얘긴데, 저는 들여쓰기가 그냥 안좋은 문법요소 같습니다. 코드의 복붙을 unreliable하게 만들어버려서요. 반대로 space sensitive한 문법은 괜찮다고 생각합니다. 복붙시 문제가 생겨도 스페이스 한번 치면 해결되니까요. 들여쓰기 대신에 {} 쌍을 쓰게 만들되, 에디터에서 보여줄때 어떻게 알아서 예쁘게 보여주는게 낫다고 생각해요.
@bglbgl gwyng 동감합니다.
저도 비슷한 생각인데, Haskell이나 Rust는 코너 케이스를 다루지 않고는 컴파일도 못 하게 금지하는 경우들이 꽤 많고 (그래서 좋은 언어지요), 빠르게 해피 패스만을 검증하고 싶을 때는 Python 같은 널널한 언어(복잡하고 규모가 큰 소프트웨어를 만들 때는 나쁜 언어가 되지요)가 쉽게 느껴질 수 있다고 생각합니다. 즉, Haskell이나 Rust가 어렵다고 말할 때의 어려움은 개념적 이해의 난도라기 보다는 시행착오의 커브의 경사를 얘기하는 것 같아요.
비슷한 측면에서 저는 Python의 들여쓰기를 강제하는 문법이 프로그래밍 초심자에게 좋은 습관을 처음부터 정착시키는 데에는 일조할 수 있겠지만, 결코 쉽지는 않다고 생각합니다.
RE: https://hackers.pub/@bgl/01967f97-67ab-7a98-a6e5-16cb3ef31856
Hackers' Pub 저장소에 보내주신 @perlmint 님과
@morealLee Dogeon 님의 CSS 및 PWA 관련 패치들이 모두 적용되어 배포까지 완료되었습니다.
- https://github.com/hackers-pub/hackerspub/pull/44
- https://github.com/hackers-pub/hackerspub/pull/45
- https://github.com/hackers-pub/hackerspub/pull/46
- https://github.com/hackers-pub/hackerspub/pull/47
여러분의 많은 기여 감사합니다. 🙏
참고로 현재 hackers.pub에 배포된 게 어떤 버전인지 알고 싶다면 https://hackers.pub/nodeinfo/2.1에 들어가셔서 software.version
을 보시면 됩니다. 버전의 마지막 부분인 빌드 넘버가 Git 커밋 해시입니다.
분명 나는 다른걸 기여하고 싶었던 것 같은데 왜 css고치고 있지...?
@perlmint 무슨 기여든 모두 감사합니다…!!
@hongminhee@hackers.pub洪 民憙 (Hong Minhee) SQLAlchemy系はAlembicを使おうとすると自動生成で外部キーの順序が間違ったテーブルを生成してきたりする (issue)のもあったり単純にPrisma (開発が終了したPrisma Client Pythonを使ってました)から入ったのが悪いんですけど使いにくいんですよね🫠
@AmaseCocoa
なるほど。それでもSQLAlchemy + Alembicに匹敵するほどの代案は中々見当たらない様ですね。🤔
@cat나는낭만고먐미 님 어서 오세요!
いいORMがにゃい
@AmaseCocoa
SQLAlchemyは気に入らないですか?
Temporal.Instant
는 나노초 정밀도를 지원한다는 것 하나만으로 Date
뿐만 아니라 JavaScript 생태계의 다른 모든 대안 시간 라이브러리가 대체할 수 없는 API라고 생각한다. 표준인데다 쓰기 쉬운 API는 덤.
플래닛에 예비 계정 만들어두려고 햇지만...
@pbzweihander쯔방
예비 계정을 Hackers' Pub에 만드시는 방법도 있습니다… 💨
몰랐는데 WezTerm을 만든 Wez Furlong이 원래 Watchman 만든 사람이었구나.
Hackers' Pub에 GraphQL API를 추가하고 있습니다. https://hackers.pub/graphql가 GraphQL 엔드포인트입니다. 아직 인증 기능도 없고 노출된 노드도 얼마 없습니다만, 차차 추가해 나갈 예정입니다. 다음은 예시 쿼리입니다:
{
actorByHandle(handle: "@hongminhee@hackers.pub") {
uuid
iri
type
handle
instance {
host
software
softwareVersion
}
name
bio
avatarUrl
url
}
}
Mastodon 호환 API를 구현할 계획에 대해 문의 주시는 분들이 종종 계십니다만, 아마도 Hackers' Pub은 앞으로도 Mastodon 호환 API를 구현하지는 않을 것 같습니다. 개인적으로 Mastodon 호환 API가 사용성이 많이 떨어진다고도 생각하고, 이미 Hackers' Pub 고유의 기능들 가운데 Mastodon 호환 API로 표현 불가능한 것들이 좀 있기 때문입니다.
장기적으로는 GraphQL을 이용해 웹 프런트엔드도 크게 개선하고, 모바일 앱까지 만드는 걸 염두에 두고 있습니다.
Hackers' Pub에 GraphQL API를 추가하고 있습니다. https://hackers.pub/graphql가 GraphQL 엔드포인트입니다. 아직 인증 기능도 없고 노출된 노드도 얼마 없습니다만, 차차 추가해 나갈 예정입니다. 다음은 예시 쿼리입니다:
{
actorByHandle(handle: "@hongminhee@hackers.pub") {
uuid
iri
type
handle
instance {
host
software
softwareVersion
}
name
bio
avatarUrl
url
}
}
@like_keyboard호띠 님 안녕하세요, 어서 오세요!
@hongminhee洪 民憙 (Hong Minhee) 저는 얼마 전에 사무실에서 사용하는 키보드로 HHKB pro2에서 바밀로 저소음 적축을 사용하기 시작했는데 나름 만족하고 있습니다.
깔끔한 게 이뻐 보여서 저도 다음번에는 ABKO를 한번 생각해 봐야겠네요.
@parameterfreak 레트로한 디자인이 마음에 들어서 사게 됐어요. 저도 HHKB 오래 썼어서 닮은 것도 좀 마음에 들고요!
@hongminhee洪 民憙 (Hong Minhee) HHK pro2 를 8년쯤 쓰다가 (범용으로 쓰려고) ABKO 무접점 기변하고 7년째 만족하며 쓰고 있긴 한데, 요거 조큼 탐나네요! 마침 바꿀 타이밍 같기도 하고요. 😆
@arkjunJuntai Park 오… 저도 HHKB 오래 썼었어요! 근데 HHKB보다 ABKO 키보드가 훨씬 싼데도 만듦새는 더 나은 것 같네요. 😅
공개와 조용한 공개는 무슨 차이인가?
@parameterfreak 예전에 정리해둔 아래 글을 참고해 보셔요!
"새 게시글" 이란건 블로그? 아니면 x의 아티클 같은 형태로 글을 쓸 수 있는거 같은데,,,
@parameterfreak 맞습니다. 긴 글 쓰는 기능이예요!
바쁜일 좀 정리되면 Zed를 트라이해봐야겠다. 깔아놓고 쓰질 않고있네.
@bglbgl gwyng Zed 쓰고 싶은데 Deno 확장이 약간 만들다 만 느낌이라 못 쓰고 있네요…
- Hackers' Pub에 GraphQL 도입을 위한 밑작업 (
@xiniha 님이 도와주실 예정)
- Solid 공부
- 새 작업용 키보드 구입 (아마도 게이트론 저소음 갈축이나 정전용량 무접점으로 갈 듯)
- BotKit 비용 최적화
@hongminhee洪 民憙 (Hong Minhee) 안녕하세요. 초대해 주셔서 감사합니다.
해커스펍을 어떻게 사용하는지를 잘 몰라서 들여다만 보고 있습니다. :)
@parameterfreak 우선 이 사람 저 사람 팔로해 보셔요!
Gravatar 프로필에 페디버스 계정 인증이 가능하네요~ 따라서 제 프로필에 해커스펍 계정을 추가했습니다.
@iamuhun김무훈 오… 저도 추가하러 갑니다!
- Hackers' Pub에 GraphQL 도입을 위한 밑작업 (
@xiniha 님이 도와주실 예정)
- Solid 공부
- 새 작업용 키보드 구입 (아마도 게이트론 저소음 갈축이나 정전용량 무접점으로 갈 듯)
- BotKit 비용 최적화
새 키보드는 ABKO KN03BT TKL로 정했다!
@curry박준규 이제 잘 될 겁니다!
@curry박준규 음, 왜 그럴까요? Hollo에서는 되는데 Mastodon에서만 안 되네요… 🤔
@hongminhee洪 民憙 (Hong Minhee)
@parameterfreak 이분 계정이 다른 연합(우리.인생)에서 검색이 안 됩니다.
@curry박준규 음, 왜 그럴까요? Hollo에서는 되는데 Mastodon에서만 안 되네요… 🤔
- Hackers' Pub에 GraphQL 도입을 위한 밑작업 (
@xiniha 님이 도와주실 예정)
- Solid 공부
- 새 작업용 키보드 구입 (아마도 게이트론 저소음 갈축이나 정전용량 무접점으로 갈 듯)
- BotKit 비용 최적화
@parameterfreak 님 어서 오세요!
한국어로 된 Fedify 튜토리얼인데, GeekNews에 올렸습니다.
Deno가 Node.js보다 인기 있는 놀라운 연합우주…
RE: https://hollo.social/@hongminhee/019661bd-601a-7df4-aa40-688011ec43ac
@justiveKim Minsang 님, 안녕하세요!
저는 해커스펍에 아직 따로 알림이 없으니, 자주 리프레쉬하면서 새 글이 있나 보는데, 다른 분들도 다 그렇게 하고 있는 건가요?
@lionhairdino 새 글이 올라왔나는 저도 새로고침해서 보고 있습니다. 알림은 우상단 알림 아이콘에 빨간 동그라미가 뜹니다.
@chewing_leopard 님, 어서 오세요!
@piquark6046 님, 어서 오세요!
왜 맥북으로 개발을 하면 상시로 저장공간이 모자란 걸까요? 500GB 쓰는데 그렇습니다. OmniDisk를 가끔 돌려보는데 한 300GB정도가 어딘가 숨어있어요...
@bglbgl gwyng 제가 항상 스토리지로 고생해서 이번에는 그냥 통 크게 2TB로 질렀습니다. Haskell, Rust 프로젝트 같은 것들은 의존성 조금만 생겨도 빌드 디렉터리가 스토리지 많이 차지하더라고요.
여태까지 JavaScript에서 eval()
이 일반 함수인 줄로만 알고 있었는데, 직접 eval()
과 간접 eval()
사이에 동작의 차이가 있다는 것을 알게 되었다.
Hackers' Pub은 Deno로 돌아가니까 Deno에 한 표 넣음.
어떻게든 워크스페이스 도입을 완료했다. 꽤 큰 변경이었는데도 타입 체커 덕분에 안전하게 도입할 수 있었다. 일단 배포도 했고 이전과 동일하게 잘 동작하는 듯하다.
요즘 눈에 띄는 변화는 없지만 조금씩 Hackers' Pub을 개선하고 있다.
다른 얘기지만 “에모지 리액션을 하나밖에 달지 못한다”는 Misskey의 제약이라고 알고 있습니다. Hackers' Pub도 그렇고 Pleroma/Akkoma도 그렇고 한 사람이 같은 게시물에 여러 에모지를 달 수 있게 되어 있어요.
JS에서는 라이브러리의 함수를 쓸때 this binding이 되어있는지 아닌지를 몰라서 a = b.c
라고 마음대로 못 쓰고 a = (x) => b.c(x)
가 되는지 먼저 꼭 확인해야한다. 안습;;
@bglbgl gwyng 저는 항상 혹시 몰라서
b.c.bind(b)
라고 씁니다…
해커스펍에서 댓글을 달 때, 굳이 @
로 아이디 언급을 하지 않아도, 원 글과 타래는 연관 지어지는 거지요? 타래에 참여하고 있는 분들이 여럿이라면, 다 언급을 해야 하는 거고, 한 분이라면 굳이 언급하지 않아도 되는 거고요?
@lionhairdino 맞습니다.
음 생각 이상으로 순환 의존성 지옥이군…
어떻게든 워크스페이스 도입을 완료했다. 꽤 큰 변경이었는데도 타입 체커 덕분에 안전하게 도입할 수 있었다. 일단 배포도 했고 이전과 동일하게 잘 동작하는 듯하다.