
Linear
@linear@hackers.pub · 6 following · 21 followers
개발자, 그리고 아마 평생 가는 컨텐츠 덕후.
블루스카이 유저분들께 : 저는 블루스카이 유저가 아닙니다. 여러분은 이 계정을 브릿지를 통해서 보고 계십니다. 기술적인 문제로 제가 멘션을 보낼 수는 없으니 양해 바랍니다.
Twitter
- @linear_crv
Hackers' Pub에 드디어 인용 기능이 구현되었습니다. 인용할 글의 링크를 복사한 뒤 단문 작성창에 붙여넣으시면 해당 글을 인용할지 묻는 창이 뜹니다. 확인을 선택하시면 해당 글이 인용되게 됩니다.
참고로 인용할 글은 꼭 Hackers' Pub의 글이 아니어도 ActivityPub을 지원하는 사이트의 아무 글이나 다 가능합니다. 예를 들어 Mastodon 인스턴스에서 글 링크를 복사해서 붙여도 동작합니다.
내가 쓴 글에 누가 어떻게 인용을 했나 궁금하실 경우, 글 아래에 있는 공유 아이콘 오른쪽에 위치한 반응 아이콘을 누르시면 확인할 수 있습니다. (원래는 공유한 사람 탭만 있었는데 인용 탭이 새로 생겼습니다.)
기술적으로는 FEP-e232 오브젝트 링크 스펙과 Misskey의 인용 확장 스펙, Pleroma의 인용 확장 스펙, 그리고 Fedibird의 인용 확장 스펙을 모두 구현하기 때문에, 인용 기능을 지원하는 현존하는 모든 ActivityPub 서비스와 호환됩니다.
RE: https://hackers.pub/@hongminhee/0195c73c-24f5-74c0-883d-1a0a0db14b6d
Hackers' Pub에 행동 강령이 있다는 사실, 아셨나요?
우리 커뮤니티는 단순한 기술 토론을 넘어 모든 구성원이 진정으로 환영받는 포용적인 공간을 만들기 위해 상세한 행동 강령을 마련했습니다.
특히 주목할 만한 점은:
-
구조적 차별에 대한 명확한 입장: “모든 사람을 동등하게 대우한다”는 명목 하에 현실의 구조적 불평등을 무시하지 않으며, 이를 극복하기 위한 적극적인 노력을 중요시합니다.
-
기술적 엘리트주의 지양: “이것도 모르세요?”와 같은 조롱, 특정 기술 스택이나 도구에 대한 비하, 초보자의 질문을 무시하는 행위를 명확히 금지합니다.
-
모든 언어의 동등한 존중: 전 세계의 모든 언어를 동등하게 존중하며, 어떤 언어로도 자유롭게 소통할 수 있습니다.
자세한 내용은 행동 강령 페이지에서 확인하실 수 있습니다.
1분기 회고는 이번주 내에 따로 쓰겠지만 일단은 마라톤 자랑을!
디지털 가드닝에 관심이 많은 개발자입니다.
- 특히 위키 형식의 문서 관리, knowledge graph 구조의 시각화에 관심이 있어요.
- kodingwarrior.github.io/wiki
Neovim 이라는 텍스트 에디터에 굉장히 꽂혀있습니다.
- 과몰입한 나머지 플러그인까지 개발해본 경험이 있어요.
- 한국어권 개발자를 위한 Vim 디스코드를 운영중입니다 (vim.kr)
프로그래밍을 하는 행위 자체를 좋아합니다.
- 프로그래밍으로 퍼즐을 푸는 행위를 좋아했고, 비슷한 흔적을 가진 사람들에게 친밀감을 느낍니다.
Linear shared the below article:
Bluesky는 X의 훌륭한 대안일 수 있지만, 연합우주의 대안은 아닙니다

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
최근 X(구 Twitter)를 떠나는 사람들이 늘면서 Bluesky에 대한 관심이 뜨겁습니다. Bluesky는 깔끔한 인터페이스와 과거 Twitter와 유사한 사용자 경험을 제공하며, 신뢰할 수 있는 이탈(credible exit)이라는 매력적인 개념을 내세워 X의 유력한 대안으로 떠오르고 있습니다. 하지만 Bluesky와 그 기반 프로토콜인 AT Protocol을 연합우주(fediverse)의 대안으로 보기에는 근본적인 차이가 존재합니다. 이 글에서는 Christine Lemmer-Webber 씨(@cwebber)의 날카로운 분석(〈Bluesky는 실제로 얼마나 탈중앙화 되어 있나〉 및 〈답장: 답장: Bluesky와 탈중앙화〉)을 바탕으로, Bryan Newbold 씨(@bnewbold)의 반론(〈Bluesky와 탈중앙화에 대한 답변〉)을 충분히 고려하면서 Bluesky가 어째서 X의 대안은 될 수 있어도 연합우주의 대안은 될 수 없는지 이야기를 풀어볼까 합니다.
메시지 전달 對 공유 힙: 근본적인 설계 차이
Bluesky와 연합우주의 가장 큰 차이점 중 하나는 설계입니다. 연합우주는 이메일이나 XMPP와 유사한 메시지 전달(message passing) 방식을 채택하고 있습니다. 이는 특정 수신자에게 메시지를 직접 전달하는 방식으로, 효율성이 높습니다. 예를 들어, 수많은 서버 중 단 몇 곳의 사용자만 특정 메시지에 관심을 있다면 해당 서버에만 메시지를 전달하면 됩니다. 비유하자면, 철수가 영희에게 편지를 보내려면 직접 영희의 집으로 편지를 보내고, 영희가 회신하고 싶으면 직접 철수에게 회신하는 것과 같은 방식입니다.
반면, Bluesky는 공유 힙(shared heap) 방식을 사용합니다. 이는 메시지를 특정 수신자에게 직접 보내는 대신, 모든 메시지를 중앙의 “릴레이”라는 곳에 저장하고, 관심 있는 사용자가 릴레이에서 자신에게 필요한 정보를 필터링하는 방식입니다. 이는 마치 모든 편지가 하나의 거대한 우체국(릴레이)에 쌓이고, 각자가 이 우체국에 방문하여 자신에게 관련된 편지를 직접 찾아야 하는 것과 같습니다. 이런 방식에서는 메시지가 직접 전달되지 않기 때문에, 답글이 어떤 메시지에 대한 것인지 파악하려면 모든 가능한 메시지를 알고 있어야 합니다.
이 설계는 데이터와 색인을 분리하여 유연성을 제공한다는 주장도 있지만, 필연적으로 대규모 중앙 집권화된 릴레이에 의존하게 되어 탈중앙화의 이상과는 거리가 멀어진다는 한계가 있습니다.
결국 Bluesky가 공유 힙 방식을 채택하고 중앙 집권화된 릴레이에 의존하게 되는 데에는 운영 비용이라는 현실적인 이유가 크게 작용합니다. Christine Lemmer-Webber 씨의 분석에 따르면, Bluesky에서 전체 네트워크 기록을 저장하는 릴레이를 운영하는 데에는 상당한 스토리지를 요구하며, 이는 빠르게 증가하고 있습니다. 2024년 7월에는 약 1TB의 저장 공간이 필요했지만, 불과 4개월 후인 11월에는 약 5TB로 증가했습니다. 상업용 호스팅 서비스 기준으로 이는 연간 수만 달러(약 $55,000)에 달하는 비용이 발생할 수 있습니다.
반면, 연합우주에서는 개인이나 소규모 단체가 Raspberry Pi와 같은 저렴한 장비로도 GoToSocial과 같은 소프트웨어를 실행하여 독립적인 노드를 운영할 수 있습니다. 물론 대규모 연합우주 인스턴스는 더 많은 비용이 들겠지만, Bluesky의 전체 릴레이 운영 비용과는 비교하기 어려울 정도로 저렴합니다. 이처럼 운영 비용의 현격한 차이는 Bluesky가 분산된 구조를 채택하기 어렵게 만들고, 결국 중앙 집권화된 릴레이에 의존하게 만드는 주요 원인이라고 볼 수 있습니다.
전역 뷰에 대한 집착과 중앙 집권화의 심화
Bluesky는 댓글 누락과 같은 문제를 피하기 위해 네트워크 전체의 일관된 전역 뷰를 유지하는 데 집중하는 것으로 보입니다. 이러한 목표는 사용자 경험 측면에서 긍정적일 수 있지만, 필연적으로 중앙 집권화를 야기합니다. 대표적인 예가 차단 목록의 전체 공개입니다. 네트워크 전체의 일관성을 유지하기 위해 누가 누구를 차단했는지 모든 앱뷰가 알아야 하므로, 차단 정보가 공개되는 것입니다.
이는 개인 정보 보호 측면에서 심각한 우려를 낳을 수 있습니다. 단순히 누군가의 게시물을 보고 차단된 사람을 추측하는 것과, 네트워크에 “J. K. Rowling[1]을 차단한 모든 사람”을 직접 질의할 수 있는 것 사이에는 큰 차이가 있습니다. 실제로 ActivityPub 개발 과정에서는 이런 문제를 고려하여 서버 간에 차단 활동을 전달하지 않도록 명시적으로 설계했습니다. 이는 차단한 사람이 차단당한 사람의 보복을 받을 위험을 줄이기 위함입니다.
반면 연합우주에서는 각 서버가 독립적으로 차단 정책을 시행하며, 사용자에게 더 많은 자율성을 제공합니다.
AT Protocol과 개방형 표준으로서의 ActivityPub
연합우주의 핵심 프로토콜인 ActivityPub은 W3C의 채택 권고안으로, 개방형 표준입니다. 이는 누구나 자유롭게 구현하고 사용할 수 있으며, 다양한 소프트웨어 간의 상호 운용성을 보장합니다. 현재 페디버스 커뮤니티는 FEP를 중심으로 활발하게 프로토콜을 개선하고 발전시켜 나가고 있습니다. 반면, Bluesky의 AT Protocol은 아직 특정 사기업에 의해 주도되고 있으며, 개방형 표준으로서의 지위는 아직 확립되지 않았습니다. 이는 페디버스가 가진 확장성과 지속 가능성 측면에서 중요한 차이점이라고 할 수 있습니다.
DM의 중앙화
Bluesky는 콘텐츠 주소 지정이나 이동 가능한 아이덴티티와 같은 탈중앙화 요소를 도입했지만, DM은 완전히 중앙화되어 있습니다. 사용자가 어떤 PDS를 사용하든, 어떤 릴레이를 사용하든 상관없이 모든 DM은 Bluesky 회사를 통해 전송됩니다.
이는 Bluesky가 아직 기능적으로 완전한 Twitter 대체품이 되기 위해 속도를 우선시했다는 증거입니다. Bluesky는 이 DM 시스템이 장기적인 솔루션이 아니라고 밝혔지만, 대부분의 사용자들은 이 사실을 인지하지 못하고 있으며 DM도 AT Protocol의 다른 기능처럼 작동한다고 가정합니다.
이러한 중앙화된 DM 구현은 “신뢰할 수 있는 이탈”이라는 Bluesky의 핵심 가치와도 모순됩니다. 만약 Bluesky社가 적대적인 인수나 정책 변경을 겪게 된다면, 사용자들의 개인 대화는 완전히 회사의 통제 하에 남게 됩니다.
이동 가능한 아이덴티티와 DID: Bluesky 방식의 한계
Bluesky는 이동 가능한 아이덴티티(portable identity)를 핵심적인 장점 중 하나로 내세우며, 이를 위해 DIDs, 즉 분산 식별자를 활용합니다. 이는 사용자가 자신의 계정과 데이터를 다른 플랫폼으로 쉽게 이동할 수 있도록 하는 중요한 기능입니다. 하지만 Christine Lemmer-Webber는 AT Protocol이 채택한 did:web
과 did:plc
방식이 여전히 DNS와 Bluesky社가 관리하는 중앙 집권화된 PLC 레지스트리에 의존하고 있어 완전한 사용자 통제하의 독립적인 아이덴티티를 제공하는지 의문을 제기합니다.
더 놀라운 점은 Bluesky社가 초기에 모든 계정에 대해 동일한 rotationKeys
를 사용했다는 사실입니다. 이는 클라우드 HSM 제품이 키별로 비용을 청구해서 각 사용자에게 고유한 키를 제공하는 것이 금전적으로 비용이 많이 들었기 때문이라고 합니다. 이러한 접근 방식은 DIDs 시스템을 구축하는 근본적인 목표와 모순되는 것으로 보입니다.
중요한 점은 DIDs 기술 자체가 탈중앙화된 아이덴티티를 위한 잠재력을 가지고 있음에도, Bluesky와 AT Protocol이 채택한 특정 방식이 중앙 집권화된 요소에 의존한다는 것입니다. 블록체인 기반의 DIDs와 같은 진정으로 탈중앙화된 방식도 존재하지만, AT Protocol은 비교적 구현이 쉬운 did:web
과 did:plc
를 선택했습니다. 따라서 사용자가 Bluesky 생태계를 벗어나 자신의 아이덴티티를 완전히 독립적으로 관리하고자 할 때 제약이 발생할 수 있습니다.
또한 현재 시스템에서는 Bluesky社가 사용자의 키를 대신 관리하고 있어, 사용자가 현재는 Bluesky社를 신뢰하더라도 미래에 신뢰하지 않게 된 경우에도 여전히 회사에 의존해야 합니다. Bluesky社가 사용자를 대신하여 이동을 수행하도록 신뢰해야 하며, 심지어 Bluesky社가 사용자에게 향후 신원 정보를 제어할 권한을 위임하더라도 Bluesky社는 항상 해당 사용자의 키를 통제할 것입니다.
한편, 연합우주에서는 이미 노마딕 아이덴티티(nomadic identity)라는 개념을 통해 이동 가능한 아이덴티티에 대한 논의와 연구가 활발하게 진행되어 왔습니다. 이는 단순히 계정을 이전하는 것을 넘어, 사용자의 데이터와 관계, 심지어 평판까지도 자유롭게 이동할 수 있도록 하는 더 포괄적인 개념입니다. 《We Distribute》에 실린 기사 〈오, Zot! ActivityPub에 노마딕 아이덴티티가 도입된다〉에 소개된 Zot 프로토콜과 같은 기술은 이미 연합우주 안에서 이러한 노마딕 아이덴티티를 구현하기 위한 메커니즘을 제공하고 있습니다. 또한, FEP-ef61와 같은 제안을 통해 ActivityPub 자체를 개선하여 더 나은 이동 가능한 아이덴티티 기능을 추가하려는 노력도 진행 중입니다.
그래서, 결론은?
결론적으로, Bluesky는 사용자 친화적인 인터페이스와 신뢰할 수 있는 이탈 기능을 통해 X의 훌륭한 대안이 될 수 있습니다. Bluesky는 콘텐츠 주소 지정 방식을 통해 노드가 다운되더라도 콘텐츠가 살아남을 수 있게 하는 등 연합우주가 아직 충분히 활용하지 못하는 몇 가지 강점도 가지고 있습니다.
하지만 중앙 집권화된 설계, 전역 뷰에 대한 집착으로 인한 부작용, 개방형 표준으로서의 한계, DM의 중앙화, 그리고 이동 가능한 아이덴티티 구현의 제한점 등 여러 측면에서 연합우주의 대안으로 보기는 어렵습니다. 연합우주는 메시지 전달 방식의 분산된 아키텍처, 낮은 참여 장벽, 개방형 표준 기반의 활발한 커뮤니티 개발, 그리고 사용자에게 더 많은 자율성과 통제권을 제공하는 철학을 바탕으로 구축된, 근본적으로 다른 종류의 탈중앙화 소셜 네트워크입니다.
또한, Bluesky社가 벤처 캐피털 자금을 확보함에 따라 “조직은 미래의 적이다”라는 그들의 자체 인식에도 불구하고, 투자자 수익과 플랫폼 성장이라는 상업적 압력이 진정한 탈중앙화 추구보다 우선시될 위험이 있습니다. 특히 유료 계정과 광고가 도입되면서 이러한 우려는 더욱 커질 수 있습니다.
따라서 Bluesky는 X를 대체할 수 있을지 모르지만, 연합우주가 제공하는 탈중앙화된 가치와 경험을 대체하기는 어려울 것이라고 생각합니다. 두 시스템은 근본적으로 다른 목표와 설계 철학을 가지고 있으며, 이상적으로는 서로를 보완하는 방향으로 발전해 나갈 수 있을 것입니다.
판타지 소설 시리즈 《해리 포터》의 작가. ↩︎
GN⁺: IndieWeb은 대중화될 필요가 없다
------------------------------
- IndieWeb 은 사람들이 자신의 웹사이트를 호스팅하고 자신만의 콘텐츠를 소유하는 것을 장려하는 운동
- 개인 웹사이트, IRC 채널, 소셜 미디어 등을 통해 활동
- 디지털 독립을 강조하고 개인이 자신의 디지털 정체성을 통제해야 한다는 철학
- 종종 "*IndieWeb은 성공하지 못했다* "는 주장이 나옴 …
------------------------------
https://news.hada.io/topic?id=19889&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
이番에 @lqezHyunwoo Park 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
- 처음 써 보는 조용한 공개. 조용한 공개는 일반 공개와 뭐가 다를까. 연합 우주에는 올라가지 않는 거려나?
- 블스 연동을 했는데 hackers.pub 프로필에 쓴 텍스트가 블스 프로필로는 다 옮겨지지 않는다. 글자 수 제한이 있는 걸까요.
- 앱 지면을 무슨 아마존처럼 탐험하며 여기도 광고 넣을 수 있겠다! 저기도! 하는 흐름에 현기증이 난다. 이게 우리 회사 임원인지 사모펀드인지⋯.
- 마라톤 행사만 끝나고 나면 이것저것 해 보고 싶은 게 많은데.
- 처음 써 보는 조용한 공개. 조용한 공개는 일반 공개와 뭐가 다를까. 연합 우주에는 올라가지 않는 거려나?
- 블스 연동을 했는데 hackers.pub 프로필에 쓴 텍스트가 블스 프로필로는 다 옮겨지지 않는다. 글자 수 제한이 있는 걸까요.
- 앱 지면을 무슨 아마존처럼 탐험하며 여기도 광고 넣을 수 있겠다! 저기도! 하는 흐름에 현기증이 난다. 이게 우리 회사 임원인지 사모펀드인지⋯.
- 마라톤 행사만 끝나고 나면 이것저것 해 보고 싶은 게 많은데.
이제 여기서 글 쓰면 블스에도 보이는 건가?
와 보인다! 보여요!
이제 여기서 글 쓰면 블스에도 보이는 건가?
- IT 관련 관심 있는 주제 아무거나 골라서 3~5분 정도 발표하는 자리가 생겼는데 fediverse 와 small web 중 뭘로 할지 아직도 고민중.
- Swift만 8년을 쓰다가 정말 간만에 html/css 쓰려니까 작업 속도가 굼벵이가 따로 없다. 이것만큼은 나도 주니어. GitHub Pages 쓰면서 jekyll 이 익숙해져서 일단은 개인 블로그도 jekyll 로 만들었는데 요즘은 Hugo가 대세라는 것 같아 언젠가는 찍먹을 해 볼지도.
- 폴더 내의 모든 파일에 대해 단어 replace 하기 :
sed -i '' -e 's/old_word/new_word/g' *
- 누가 iOS 개발 어떻냐고 물어볼 때마다 "애플이 만든 프로그램 위에 애플이 만든 언어로 코드를 짜서 애플이 제작한 기기 위에 동작하는 모바일 앱을 만들 건데 그게 애플이 관리하는 마켓 심사를 통과해야 하는 게 참으로 문제"라고 우스갯소리처럼 말해 왔는데 돌이켜보면 그건 내 직군에 대한 꽤 근본적인 불만이었는지도. URL만 있으면 누구나 어디서든 접속할 수 있는 웹의 힘이 막강하다고 느낀다. 진작 이쪽으로 사이드 프로젝트 파 볼 걸 그랬나? 싶고. 누군가는 모바일의 힘을 더 크게 생각하겠지만⋯.
타임라인 필터가 추가되었습니다. 총 네 종류의 필터와 팔로 추천 탭이 있는데요.
- 연합우주: 기존에 보시던 타임라인입니다. 자신이 팔로하는 연합우주 내 모든 계정의 콘텐츠를 모아서 볼 수 있습니다.
- Hackers' Pub: 다른 연합우주 서버 콘텐츠를 제외하고 Hackers' Pub 내의 콘텐츠만 모아서 볼 수 있습니다.
- 공유 제외: 공유된 내용 말고, 자신이 팔로하는 계정이 직접 쓴 콘텐츠만 볼 수 있습니다.
- 언급: 자신을 언급(멘션)한 콘텐츠만 모아서 볼 수 있습니다. 본격적인 알림 기능이 생기기 전까지는 이 필터를 활용해 주세요.
- 팔로 추천: 관심 있을 만한 계정을 추천해 줍니다.
이제 계정이 두 개인데 어떻게 분리하지 🤔 SNS 계정을 두 개 써본 적이 없어서...
노트 작성 폼을 개선했습니다. 이제 줄바꿈을 많이 하면 노트 입력창의 높이가 알아서 길어집니다. 그리고 댓글 달 때 원(原) 노트 내에 멘션된 계정들을 기본적으로 함께 멘션하도록 했습니다. 마지막으로, 자기 자신의 노트에 댓글을 달 때는 자기 자신에 대한 멘션이 포함되지 않게 했습니다.
[‘우리.인생 코드’(https://code.uri.life)를 소개하는 글]
안녕하세요, 우리.인생 입니다.
우리.인생 의 변경 사항은 소스 코드 레포지토리에 기능 및 버전 별로 분리되어 있으나, 이것을 찾고 변경 사항을 추적하는 것은 그 구조와 방법에 익숙하지 않은 분들에겐 매우 힘들고 귀찮은 작업이었습니다.
이러한 까닭으로 우리.인생 의 변경 사항을 참고하거나 적용하고 싶은 Mastodon
서버 개발자 분들이 계시더라도 해당 변경 사항을 쉬이 적용하지 못하는 문제가 발생하기도 했습니다.
이에 우리.인생 은 ‘우리.인생 코드’의 공개 개발 미리보기를 공개합니다.
‘우리.인생 코드’는 우리.인생 버전마다 사용된 브랜치와 커밋 로그, 코드 차이를 제공하며, 패치를 브랜치 또는 커밋 별로 내려받거나 GitHub에서 볼 수 있도록 하는 선택지를 제공합니다.
현재로서는 소개드린 내용이 ‘우리.인생 코드’의 전부지만, 선택한 브랜치 또는 커밋을 작업 브랜치에 머지할 수 있는 간단 스크립트를 표시하는 등 앞으로 편의 기능을 갖춰나갈 예정입니다.
‘우리.인생 코드’는 아래 URL에서 접속하실 수 있습니다.
https://code.uri.life
추가적인 의견이나 기능 제안이 있으시다면 언제든지 말씀해 주세요!
감사합니다.
자신의 노트를 누가 공유했는지 볼 수 있는 버튼을 만들었습니다. 노트 하단의 아이콘들 중에 군중 아이콘을 누르면 됩니다.
노트를 삭제하는 기능을 추가했습니다. 자신이 올린 노트에는 휴지통 아이콘이 표시되는데, 그걸 누르면 삭제할 수 있습니다.
@hongminhee洪 民憙 (Hong Minhee) 좋은 글 감사합니다.
스레드에서는 페디버스 활성화를 통해 연합우주에 참여할 수 있는데, 공개된 글을 삭제한 경우에 전파된 글을 삭제할 수 없는 이슈가 있어서,
결국 비활성했습니다. (스레드에서만 삭제되고 다른 우주에는 남아 있음.)
참고 https://www.threads.net/@threads/post/C-TW9Y_unAn
혹시 hackers.pub 이나 다른 연합우주에서 글을 올리고 나서 삭제한 경우에, 다른 곳에 전파된 글들이 삭제된다는 것이 보장될까요?
@hongminhee洪 民憙 (Hong Minhee) 님께서 잘 아실 듯 하여, 개인적인 궁금증으로 여쭈어보았습니다.
@arkjunJuntai Park 아쉽게도 보장되지 않습니다. Threads도 페디버스 활성화를 한 상태에서 글 삭제를 하면 다른 페디버스 서버들에게 글이 삭제되었다는 통지(
Delete(Note)
액티비티)를 보내는데, 이를 어떻게 처리할지는 다른 서버들의 구현에 달려 있습니다. 대부분의 정상적인 서버 구현들은 모두 실제로 삭제 처리를 하지만, 버그로 인해, 혹은 악의적으로 삭제 처리를 하지 않는 서버가 있을 수도 있겠죠?
Hackers' Pub의 상단 네비게이션 디자인을 바꿨습니다. 글쓰기 버튼이 최상위로 나오게 되었어요.
오늘의 일기
- 웜업/쿨다운 포함해서 50분 인터벌 달리기를 했다. 그리고 집 돌아오는 길에 종아리에 쥐나서 길거리에 주저앉을 뻔했다. 슬슬 런데이 아저씨가 미워지는 구간에 진입 중.
- GitHub Pages 에서 Netlify 로 무사히 이관했다. 다음 목표는 카테고리 별로 볼 수 있게 내비게이션 바 만들고 RSS 피드 깨진 거 원인 파악해서 고치기.
- 네이버 블로그 백업용으로 GitHub Pages 를 만들면서 당시에 썼던 독서/영화 기록에 네이버 책/영화 서비스 링크를 전부 달아뒀었는데, 이번에 Netlify 로 옮기면서 전부 지웠다. 당시엔 하이퍼링크를 걸어두는 쪽이 더 범용성 있을 거라고 생각했는데 네이버 영화 서비스가 문 닫을 줄 누가 알았겠어요. 블로그로 정확히 뭘 하고 싶은지 목표가 뚜렷해야 이런 실수를 안 할 텐데, 장기적인 목표는 좀 더 천천히 생각해 봐야 할 거 같다.
- 내 포스트를 공유한 사람 목록을 보고 싶은데 아직은 방법이 없는듯.
- 블루스카이와 타임라인을 연결하고 싶은데 계정을 만든지 7일이 지나야 가능한 거 같다.
해커스펍 가입 기념으로 하스켈 코드 하나 적습니다!
main = putStrLn "Hello, Hackers' Pub!"
오늘의 일기
- 웜업/쿨다운 포함해서 50분 인터벌 달리기를 했다. 그리고 집 돌아오는 길에 종아리에 쥐나서 길거리에 주저앉을 뻔했다. 슬슬 런데이 아저씨가 미워지는 구간에 진입 중.
- GitHub Pages 에서 Netlify 로 무사히 이관했다. 다음 목표는 카테고리 별로 볼 수 있게 내비게이션 바 만들고 RSS 피드 깨진 거 원인 파악해서 고치기.
- 네이버 블로그 백업용으로 GitHub Pages 를 만들면서 당시에 썼던 독서/영화 기록에 네이버 책/영화 서비스 링크를 전부 달아뒀었는데, 이번에 Netlify 로 옮기면서 전부 지웠다. 당시엔 하이퍼링크를 걸어두는 쪽이 더 범용성 있을 거라고 생각했는데 네이버 영화 서비스가 문 닫을 줄 누가 알았겠어요. 블로그로 정확히 뭘 하고 싶은지 목표가 뚜렷해야 이런 실수를 안 할 텐데, 장기적인 목표는 좀 더 천천히 생각해 봐야 할 거 같다.
- 내 포스트를 공유한 사람 목록을 보고 싶은데 아직은 방법이 없는듯.
- 블루스카이와 타임라인을 연결하고 싶은데 계정을 만든지 7일이 지나야 가능한 거 같다.
현재 Hackers' Pub의 안 좋은 UI로 인해 많은 분들이 알아채지 못하시는 듯하여…
- Hackers' Pub에는 X처럼 단문을 올리는 용도의 노트와 velog처럼 긴 글을 올리는 용도의 게시물이 나뉘어 있습니다.
- 노트든 게시물이든 타임라인에 뜨는 것은 같지만, 둘의 모양이 조금 다릅니다. 둘 다 Markdown을 지원하는 것은 같습니다.
- 노트는 첫 화면 타임라인 맨 위에 있는 UI로 작성합니다. (이건 다들 이미 아실 듯.)
- 게시물은 우상단 본인 계정명에 마우스 커서를 가져다 대면 나오는 메뉴 속 새 게시물 항목을 누르면 작성하실 수 있습니다.
- 게시물은 작성하던 도중 페이지를 닫더라도 임시 보관함에 자동으로 저장되므로 나중에 다시 이어서 쓸 수 있습니다.
아직 한창 만드는 중이라 여러모로 미흡합니다. 빠른 시일 내에 UI를 개선하도록 할게요!
오늘의 일기
- 웜업/쿨다운 포함해서 50분 인터벌 달리기를 했다. 그리고 집 돌아오는 길에 종아리에 쥐나서 길거리에 주저앉을 뻔했다. 슬슬 런데이 아저씨가 미워지는 구간에 진입 중.
- GitHub Pages 에서 Netlify 로 무사히 이관했다. 다음 목표는 카테고리 별로 볼 수 있게 내비게이션 바 만들고 RSS 피드 깨진 거 원인 파악해서 고치기.
- 네이버 블로그 백업용으로 GitHub Pages 를 만들면서 당시에 썼던 독서/영화 기록에 네이버 책/영화 서비스 링크를 전부 달아뒀었는데, 이번에 Netlify 로 옮기면서 전부 지웠다. 당시엔 하이퍼링크를 걸어두는 쪽이 더 범용성 있을 거라고 생각했는데 네이버 영화 서비스가 문 닫을 줄 누가 알았겠어요. 블로그로 정확히 뭘 하고 싶은지 목표가 뚜렷해야 이런 실수를 안 할 텐데, 장기적인 목표는 좀 더 천천히 생각해 봐야 할 거 같다.
- 내 포스트를 공유한 사람 목록을 보고 싶은데 아직은 방법이 없는듯.
- 블루스카이와 타임라인을 연결하고 싶은데 계정을 만든지 7일이 지나야 가능한 거 같다.
해커스펍! 흥한다!
Hackers' Pub 쓰고 계신 분들 중에서, 자신의 Hackers' Pub 계정을 연합우주(fediverse)뿐만 아니라 Bluesky에도 노출하고 그쪽 사람들과 교류하고 싶으신 분이 있다면, 상단 검색창에 @bsky.brid.gy@bsky.brid.gy
을 검색하셔서 나오는 프로필을 팔로해 보세요. 그리고 1분 정도 뒤에 Bluesky에서 본인ID.hackers.pub.ap.brid.gy
로 검색하면 본인의 Hackers' Pub 계정이 Bluesky에서도 보이는 걸 확인하실 수 있을 겁니다.
궁금해 하실 분들이 계실지 모르겠지만, Hackers' Pub은 아래의 기술로 만들어지고 있습니다.
- 백엔드 JavaScript 런타임으로 Deno (Node.js를 안 씁니다)
- 데이터베이스로 PostgreSQL
- 웹 프레임워크로 Fresh 2.0[1]
- ORM으로 Drizzle ORM
- 캐시 저장소로 Redis
- ActivityPub 연합을 위해 Fedify
- 로깅 라이브러리로 LogTape
- 웹 프런트엔드 프레임워크로 Preact
- 스타일링에 Tailwind CSS
- 국제화에 i18next
2025년 3월 현재 Fresh 2.0은 정식 버전이 릴리스되지 않은 상태인데, 무시하고 불안정 버전을 그대로 쓰고 있습니다. Fresh 1.0 → 2.0에서 많은 게 바뀌기 때문에 굳이 Fresh 1.0을 쓰고 싶지 않았습니다. ↩︎
@hongminhee洪 民憙 (Hong Minhee) 두 번 시도해서 두 번 다 타임아웃 났었는데 지금 하니까 되네요 (..) 일시적인 딜레이였던 거 같습니다.
블루스카이 여러분들 하위하위
앱 개발 일만 8년간 한 사람 오늘 드디어 웹 개발 시작한다 시작은 역시 hello world 부터라고 생각합니다 netlify 가입했고 세팅했고 index.html 잘 나오는 거 확인했으니까 오늘은 여기서 끝!
@linear 어라, 그건 버그 같네요! 혹시 재시도 해보셔도 안 되나요?
@hongminhee洪 民憙 (Hong Minhee) 두 번 시도해서 두 번 다 타임아웃 났었는데 지금 하니까 되네요 (..) 일시적인 딜레이였던 거 같습니다.
프로필 링크에 아무거나 막 넣을 수 있는 게 아닌 걸까? 네이버 블로그 URL 을 넣었더니 타임아웃이 난다(..)
hackers.pub 모바일 앱이 있으면 좋겠다 일단 iOS 개발자가 손을 들어봅니다 ㅋㅋ
hackers.pub 모바일 앱이 있으면 좋겠다 일단 iOS 개발자가 손을 들어봅니다 ㅋㅋ
@linear 마크다운이 먹는다니 감격스러워 ㅠㅠ