공개와 조용한 공개는 무슨 차이인가?

Juntai Park
@arkjun@hackers.pub · 65 following · 82 followers
中年의 中小企業 開發者, 90年代 Console Gamer. 좋은 하루를 繼續해 나아간다. 좋은 하루가 모이면 좋은 人生이 된다.
韓国人のプログラマー、40代、小学生の息子とゲームするのが幸せ😃💕龍が如く 、ゼルダの伝説、マリオ、ピクミン好き
「いい1日を続ける」
いい1日を続けていけば、いい人生になる!
threads
- @rkjun
x
- @rkJun
uri.life
- @arkjun@uri.life
GitHub
- @arkjun
@parameterfreak 예전에 정리해둔 아래 글을 참고해 보셔요!
Gravatar 프로필에 페디버스 계정 인증이 가능하네요~ 따라서 제 프로필에 해커스펍 계정을 추가했습니다.
- Hackers' Pub에 GraphQL 도입을 위한 밑작업 (
@xiniha 님이 도와주실 예정)
- Solid 공부
- 새 작업용 키보드 구입 (아마도 게이트론 저소음 갈축이나 정전용량 무접점으로 갈 듯)
- BotKit 비용 최적화
네이버에서 모델 공개했다고 해서 ollama로 변환해서 돌려봤는데...
한국어로 된 Fedify 튜토리얼인데, GeekNews에 올렸습니다.
ニュース「Discourse、Fediverseと連合できるActivityPubプラグインを案内」公開 https://gihyo.jp/article/2025/04/discourse-activitypub-plugin
해커스펍 포스트에 유저네임 및 핸들 텍스트가 넘쳐서 페이지 전체에 가로 스크롤이 생기는 게 불편해서 직접 패치 제안드렸다. https://github.com/hackers-pub/hackerspub/pull/33
3년차 웹 프런트엔드 개발자입니다. 잠시 10주 여름 방학 동안 계약직으로 일할 수 있는 직장을 찾고 있습니다. (6월 마지막 주부터 8월 마지막 주) http://frontend.moe/portfolio/
올해 2학기까지 수료하면 졸업 예정이라, 학부 졸업 이후 정규직 전환 조건으로도 희망하고 있습니다.
며칠 동안 딴짓 많이 했으니 이제 다시 Hackers' Pub 작업을 해야지…
역시 애플리케이션 만드는 것보다 라이브러리 만드는 게 더 재밌는 것 같다. 다들 이럴까, 내가 유독 그런 걸까?
친구가 외국 반도체회사에 다니는데 이름만 들으면 다 아는 세계에서 손꼽히는 회사다. 1년 전쯤에, 친구가 자기 팀에서 예전부터 쓰고있는 시뮬레이션 코드가 너무 복잡해서 리팩토링 하고 싶다고 나를 찾아왔다. 한 2, 3000줄 되는 Numpy 코드였다.
나는 시뮬레이션의 의미 자체는 전혀 이해를 못하니(이래서 보안문제도 익스큐즈 할수 있었을 것이다), 그냥 코드의 모양만 보고 이상한 부분을 조금씩 고쳐나갔다. 그... 전형적인 물리학자들의 실험실 코드였다(코드를 못짜는건 이해를 하는데, 거기에 대해 한치의 부끄러움도 느끼지 않는다는 점이 뒷목을 잡게 만든다). Numpy 함수도 제대로 활용을 못해놨길래, 나도 Numpy 잘 못쓰지만 대충 이런 함수가 아마 있겠지... 하고 검색해서 찾아내서 교체하고 이런걸 반복했다.
이것저것 고친 다음에 잘돌아가나 한번 실행을 해봤는데, 이럴수가. 시뮬레이션이 1000배 빨라졌다. 아니 뭐, 한 2배 3배 빨라졌으면 내 솜씨라고 자부할텐데, 1000배 빨라진거는 그냥 원래 코드가 똥통이었다고 해석할수 밖에 없다. 구라안치고 정말 1000배다. 1000배의 성능향상의 보답으로 나는 교촌치킨웨지콤보세트를 현장에서 받아먹었다.
그 이후에 어떤 일이 있었냐. 기존 시뮬레이션 코드로는 하루에 시뮬레이션을 2, 3번정도밖에 돌리지 못했는데, 1000배 빨라지고 나니까 결과가 수십초만에 나오니 하루에 수백번 돌릴수 있게 된것이다(내가 고친 코드가 전부는 아니어서 1000배 향상은 아닌데, 가장 큰 병목이긴 해서 결국 100배 이상이라는 듯). 그때부터 100배 많아진 데이터를 처리하기 위한 인프라가 필요해졌다. 그래서 거기 개발팀이 데이터베이스와 데이터 파이프라인 구축을 시작하게 되었다고 한다. 그 팀에서는 일종의 특이점이 시작된것이다;;
결론: 교촌치킨웨지콤보 세트는 개맛있었다.
어제는 결국 그냥 잤다… ㅋㅋㅋ
@hongminhee洪 民憙 (Hong Minhee) 잘하셨습니다! 휴식이 중요하죠. 왠지 인기 웹툰의 독자가 댓글로 작가를 응원하는 마음으로 민희 님의 건강을 응원하게 됩니다.
사람이라는 게 참 묘하다. 서비스 개발을 시키면 플랫폼 엔지니어링을 하고 싶고, 플랫폼 엔지니어링을 시키면 서비스 개발을 하고 싶어한다. 둘 다 해야 할 때는 이론 공부를 하고 싶다고 하고, 이론 공부를 시키면 서비스 개발을 하고 싶다고 한다.
모든 파싱 라이브러리가 스트리밍을 지원하는 건 아니구나. Attoparsec은 스트리밍 데이터를 파싱할 수 있다고 한다. https://hackage.haskell.org/package/attoparsec
토요일/일요일 각각 카테고리를 나눠서 작업하게 될 것 같습니다.
토요일
- Fedify를 이용해서 마이크로블로그를 만드는 튜토리얼을 완주하는 것을 도전해보려고 합니다.
이미 postgres 기반으로 데이터베이스 세팅해서 만들고 있는게 있긴 하지만, Vibe coding으로 쭉 이어나가다가 Fedify를 제대로 활용하는 방법에 대해 알지 못한 상황이라 중간에 삑사리나서 헤매고 있는 상황입니다.
큰 욕심은 안내고 천천히 튜토리얼을 정주행하면서 전반적으로 한 사이클 돌고 감을 잡는 것에 의미를 둘 생각입니다. 예제는 sqlite를 쓰고 있지만, 여기서도 배리에이션 안주고 최대한 예제를 충실히 따르면서 완주하고 배리에이션은 천천히 주려고 합니다.
일요일
- 지난주말에 작업했던 뉴스레터 서비스를 마저 작업할 것인데요. django 기반의 개발환경은 이미 세팅 완료 했습니다.
django admin에서 아티클 url을 수동으로 입력하고 langchain 기반으로 요약하는 기능 PoC로 나마 구현해보려고 합니다.
RE: https://hackerspub-ask-bot.deno.dev/message/0196468d-7fd8-7447-b2a6-e974c49e42b8
Juntai Park shared the below article:
웹 접근성이 UI 설계에 중요한 이유
김무훈 @iamuhun@hackers.pub
웹 접근성의 중요성과 WAI-ARIA 표준을 바탕으로 한 의미론적인 UI를 설계한 사례를 블로그에 공개했습니다.
전문성 검증이 필요한 분야이다 보니, 퇴고 과정에 접근성 전문가 @resistan 님의 도움을 받았습니다.
책에 나온 예제를 따라 하는데 결과가 책과 달라 이상했다. 코드를 한참 보다가 결국 원인을 찾았다. if 분기의 결과를 반대로 적었던 것이다.
repeatUntil
:: Monad m
=> m chunk
-> (chunk -> Bool)
-> (chunk -> m ())
-> m ()
repeatUntil getChunk isEnd f =
repeatUntilNothing getChunkMaybe f
where
getChunkMaybe = do
chunk <- getChunk
if isEnd chunk
then return (Just chunk)
else return Nothing
청크가 없으면 Nothing
을 리턴해야 하는데 반대로 적어버린 것이다. 덕분에 시간이 모자라서 남은 연습 문제 하나는 내일로 미뤄야겠다.
Deno는 console.log()
에서 %c
형식 지정자를 통해 간단한 CSS를 사용할 수 있다.
console.log("%cHello World", "color: red");
console.log("%cHello World", "background-color: blue");
console.log("%cHello World", "text-decoration: underline");
console.log("%cHello World", "text-decoration: line-through");
console.log("%cHello World", "font-weight: bold");
console.log("%cHello World", "color: red; font-weight: bold");
console.log("%cHello %cWorld", "color: red", "color: blue");
console.log("%cHello World", "color: #FFC0CB");
console.log("%cHello World", "color: rgb(255, 192, 203)");
위 코드는 아래처럼 출력된다:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
확실히 문서에 잘 정리해놓으니까 AI랑 협업하기가 수월한 것 같음. 개인 프로젝트에도 잘 해놓으면 아주 좋겠구먼
@joonnotnotJoon CONTRIBUTING.md 파일 하나 잘 작성해 두면 사람이랑 협업할 때 뿐만 아니라 LLM이랑 협업할 때도 도움이 많이 되더라고요. Hackers' Pub도 하나 마련해 뒀어요.
언젠가 읽어야지 하다가 이제야 샀다
I've been wrestling with implementing #multilingual content support in Hackers' Pub, our #ActivityPub-powered platform for software engineers.
While ActivityPub theoretically supports multilingual content through the contentMap
property, the reality is that most server implementations (Mastodon, Misskey, etc.) don't properly handle this content as of April 2025. This creates a significant challenge for us.
We want our users to share their knowledge in multiple languages, but we need to ensure compatibility with existing ActivityPub servers. I'm considering several approaches:
- Creating separate posts for each language with clear language indicators, linking them through
inReplyTo
relationships (so translations appear as replies to the original post) - Using the primary language in
content
while storing translations incontentMap
- Adding "View in other languages" links at the bottom of each post
- Implementing inline language dividers that degrade gracefully on non-supporting servers, for example:
<div lang="en"> <h3>English</h3> <p>This is the English content…</p> </div> <hr> <div lang="ko"> <h3>한국어</h3> <p>한국어 내용입니다…</p> </div>
I'm leaning toward a hybrid approach—showing content in the user's preferred language when possible while providing easy access to other language versions.
Has anyone tackled this problem effectively? I'd love to hear about your experiences or ideas for making multilingual content work well in the fediverse, especially when dealing with server implementations that don't fully support ActivityPub's multilingual features.
소프트웨어 엔지니어를 위한 연합우주 서비스 Hackers' Pub을 알고 계신가요? 저희가 특별히 중요시하는 것은 다른 플랫폼과는 조금 다른 행동 강령입니다.
저희는 현실 세계의 불평등이 온라인 공간에도 그대로 반영된다는 사실을 인식하고 있습니다. 그래서 “모든 사람을 동등하게 대우”한다는 표면적인 중립성이 아닌, 구조적 불평등에 적극적으로 대응하는 자세를 분명히 하고 있습니다. 이러한 접근의 일환으로, 차별적 발언과 차별에 대항하는 발언을 구분합니다. 이를 통해 “차별은 안 된다”는 명목 하에 차별 비판까지 동일시하는 “양비론”의 함정을 피할 수 있다고 생각합니다.
기술 커뮤니티에서 자주 볼 수 있는 문제로는 특정 기술 선택에 대한 비판이나 기술 수준에 따른 계층화가 있습니다. “이것도 모르냐?”는 태도는 학습을 방해할 뿐입니다. 저희는 초보자와 경험자 모두 동등하게 존중받는 환경 조성을 중요시합니다.
또한, 연합우주의 핵심 가치로 프라이버시가 있지만, Hackers' Pub에서는 특히 익명성의 권리를 강조합니다. 타인의 신원을 특정하려는 행위나 익명이라는 이유로 차별하는 것을 금지함으로써, 안심하고 참여할 수 있는 공간을 지향합니다.
이러한 행동 강령 자체도 완벽하지 않으며, 커뮤니티와 함께 발전해 나가는 것이라고 생각합니다. 모든 구성원이 개선안을 제안할 수 있는 체계를 마련함으로써, 더 나은 환경을 함께 만들어 나가고자 합니다.
자세한 내용은 Hackers' Pub 행동 강령을 참조해 주세요. 연합우주에서 더 건강한 기술 커뮤니티를 함께 키워나가지 않으실래요?
ソフトウェアエンジニア向けのフェディバースサービスHackers' Pubをご存知でしょうか?私たちが特に大切にしているのは、他のプラットフォームとは少し異なる行動規範です。
私たちは現実社会の不平等がオンライン空間にも反映されることを認識しています。そのため、「すべての人を同じように扱う」という表面的な中立性ではなく、構造的不平等に積極的に対応する姿勢を明確にしています。このアプローチの一環として、差別的発言と差別に対抗する発言を区別しています。これにより、差別への批判まで同列に扱ってしまう「両極端主義」の落とし穴を避けられると考えています。
技術コミュニティでよく見られる問題として、特定の技術選択への批判や技術レベルによる階層化があります。「これも知らないの?」という態度は学びを阻害するだけです。私たちは初心者も経験者も同じく尊重される環境づくりを重視しています。
また、フェディバースの核心的価値としてプライバシーがありますが、Hackers' Pubでは特に匿名性の権利を強調しています。他者の素性を特定しようとする行為や、匿名であることを理由とした差別を禁止することで、安心して参加できる場を目指しています。
こうした行動規範自体も完璧ではなく、コミュニティとともに進化するものだと考えています。すべてのメンバーが改善案を提案できる仕組みを整えることで、より良い環境を共に創っていきたいと思います。
詳細はHackers' Pubの行動規範をご覧ください。フェディバースでより健全な技術コミュニティを一緒に育てていきませんか?
※Hackers' Pubは現在招待制となっています。ご興味のある方はコメントや私(@hongminhee洪 民憙 (Hong Minhee))へのDMでメールアドレスをお知らせください。
소프트웨어 엔지니어를 위한 연합우주 서비스 Hackers' Pub을 알고 계신가요? 저희가 특별히 중요시하는 것은 다른 플랫폼과는 조금 다른 행동 강령입니다.
저희는 현실 세계의 불평등이 온라인 공간에도 그대로 반영된다는 사실을 인식하고 있습니다. 그래서 “모든 사람을 동등하게 대우”한다는 표면적인 중립성이 아닌, 구조적 불평등에 적극적으로 대응하는 자세를 분명히 하고 있습니다. 이러한 접근의 일환으로, 차별적 발언과 차별에 대항하는 발언을 구분합니다. 이를 통해 “차별은 안 된다”는 명목 하에 차별 비판까지 동일시하는 “양비론”의 함정을 피할 수 있다고 생각합니다.
기술 커뮤니티에서 자주 볼 수 있는 문제로는 특정 기술 선택에 대한 비판이나 기술 수준에 따른 계층화가 있습니다. “이것도 모르냐?”는 태도는 학습을 방해할 뿐입니다. 저희는 초보자와 경험자 모두 동등하게 존중받는 환경 조성을 중요시합니다.
또한, 연합우주의 핵심 가치로 프라이버시가 있지만, Hackers' Pub에서는 특히 익명성의 권리를 강조합니다. 타인의 신원을 특정하려는 행위나 익명이라는 이유로 차별하는 것을 금지함으로써, 안심하고 참여할 수 있는 공간을 지향합니다.
이러한 행동 강령 자체도 완벽하지 않으며, 커뮤니티와 함께 발전해 나가는 것이라고 생각합니다. 모든 구성원이 개선안을 제안할 수 있는 체계를 마련함으로써, 더 나은 환경을 함께 만들어 나가고자 합니다.
자세한 내용은 Hackers' Pub 행동 강령을 참조해 주세요. 연합우주에서 더 건강한 기술 커뮤니티를 함께 키워나가지 않으실래요?
와! 해커스펍! 모바일 글쓰기 프리뷰 기능!
하스켈 코드 포매터 stylish-haskell
을 잘 쓰고 있습니다. Vim에서 :%!stylish-haskell
이라고 입력하는 방식으로 사용하는데요, 코드에 문제가 있을 경우 코드 전체가 지워지고 다음과 같은 문자열로 대체됩니다.
<string>:1:18: error: [GHC-58481] parse error on input `!'
Vim에서 작업 중이므로 단순히 u
를 눌러서 취소하면 되긴 합니다만 혹시 다른 방법이 있을까요?
지금까지 Hackers' Pub은 반드시 이메일을 통해 로그인 링크를 수신하는 식으로만 로그인이 가능했는데, 사실은 많이 번거로웠죠?
이를 해결하기 위해 Hackers' Pub에 패스키 기능을 추가했습니다. 패스키 추가는 설정 → 패스키 페이지에서 할 수 있으며, 패스키가 등록된 기기 및 브라우저에서는 로그인 페이지에서 자동적으로 패스키를 사용할 것인지 묻는 창이 뜨게 됩니다.
책[1]에서 문자열을 다룰 때 StrictText
와 Builder
의 성능을 비교하는 예제에서 Builder
의 성능이 더 좋다고 설명한다. 그런데 내 PC에서 같은 코드를 실행했는데 결과가 반대로 나왔다. 이상해서 문자열 길이를 늘렸더니 책에서 말한대로 나왔다.
ghci> concatSpeedTest 50000
0.004451s
0.04721s
ghci> concatSpeedTest 500000
0.062405s
0.023449s
ghci> concatSpeedTest 5000000
0.511402s
0.205632s
Chris Martin, Julie Moronuki, 《Sockets and Pipes》 ↩︎
오늘 할일은 ffmpeg-kit이 archive되면서 prebuilt binary들이 날아갔는데, 이로 인해 깨진 빌드를 고치는 것이다. 역시 소프트웨어 개발은 즐거워~ 최고야~
어째서 ActivityPub을 바닥부터 구현하는 것보다 Fedify를 쓰는 게 여러모로 나은지에 대한 글(영어)을 썼습니다.
아무래도 앱 개발은 혼자선 하면 안되고 트러블슈팅을 할수 있도록 팀을 갖추고 해야하는거 같다. 추잡한 문제들이 너~무 많다. 하지만 이런 허접한 교훈을 얻고 관둘순 없으니 어떻게든 혼자서 마저 나아가야한다.
제가 직접 쓴 튜토리얼이긴 하지만, Fedify를 활용하는 〈나만의 연합우주 마이크로블로그 만들기〉도 꽤 괜찮은 자료라고 생각합니다. 😅
TIL: Text fragments로 특정 텍스트에 대한 링크를 만들수 있다.
GitHub Actions 워크플로우로 도커 이미지 빌드를 자동화하기 위한 일요일 밤의 삽질... 러너와 라즈베리파이의 플랫폼이 다르다는 걸 간과했다. 타겟 플랫폼에 그냥 linux/arm64를 추가해서 멀티 플랫폼 빌드를 할 수는 없고, QEMU으로 에뮬레이션해서 빌드해야 했다.
@parksbSimon Park Hackers' Pub도 Mac mini에서 돌아가고 있어서
linux/arm64
플랫폼으로 이미지를 빌드해야 했는데, 처음에는 GitHub Actions에서 QEMU 써서 하다가 너무 오래 걸려서 나중에는 GitHub Actions 러너 자체를 ubuntu-24.04-arm
로 바꿔버렸습니다…
단순히 슬라이드를 업로드하고 공유할 수만 있으면 충분한 것이긴 한데, PixelFed랑 비슷하게 접근을 해야하나
MVP 수준의 구현을 참고하려면 여기쯤이 최적인 것 같다 https://github.com/hackers-pub/hackerspub/tree/faf785e90ece8c78d29f276ba9ab1be8980c2ef7
책을 읽고 있는데 고퍼(Gopher)라는 고대의 프로토콜이 나왔다. 책에서 다음과 같이 아직 살아 있을 수 있는 고퍼 서버 목록을 소개한다.
고퍼 서버에 \r\n
을 날리면 응답이 오는데 위 세 개 서버에 요청을 날려보니 모두 응답이 온다.
예를 들어 세 번째 고퍼 서버의 응답은 다음과 같다.(스압 주의)
i fake (NULL) 0
i fake (NULL) 0
i __ __ _ _____ _ _ _ fake (NULL) 0
i| \/ | ___| |_ __ _| ___(_) | |_ ___ _ __ fake (NULL) 0
i| |\/| |/ _ \ __/ _` | |_ | | | __/ _ \ '__| fake (NULL) 0
i| | | | __/ || (_| | _| | | | || __/ | fake (NULL) 0
i|_| |_|\___|\__\__,_|_| |_|_|\__\___|_| fake (NULL) 0
i fake (NULL) 0
1MetaFilter /MetaFilter gopher.metafilter.com 70
isharing and discussing neat stuff on the web fake (NULL) 0
1Ask MetaFilter /Ask MetaFilter gopher.metafilter.com 70
iasking questions and getting answers fake (NULL) 0
1FanFare /FanFare gopher.metafilter.com 70
ipop culture discussion -- TV, movies, podcast, books fake (NULL) 0
1Projects /Projects gopher.metafilter.com 70
icreative work by MetaFilter community members fake (NULL) 0
1Music /Music gopher.metafilter.com 70
ioriginal musical and audio recordings by MeFites fake (NULL) 0
1Jobs /Jobs gopher.metafilter.com 70
iemployment opportunities and member availabilities fake (NULL) 0
1IRL /IRL gopher.metafilter.com 70
iorganizing meetups and community events in real life fake (NULL) 0
1MetaTalk /MetaTalk gopher.metafilter.com 70
iwhere the commuity talks about MetaFilter itself fake (NULL) 0
1FAQ /FAQ gopher.metafilter.com 70
ifrequently asked questions fake (NULL) 0
Hackers' Pub에도 #해시태그 기능이 추가되었습니다.
개밥먹기주도개발이라 의욕이 떨어질 일은 없겠지만 벌린 일이 많다... 동시에 진행하는게 너무 많으면 적신호인데...
프로젝트
- 파이썬 개발자를 위한 뉴스레터 관리 서비스 (근데 AI 에이전트가 들어간)
- Flutter 기반의 마스토돈 클라이언트
- Fedify를 응용한 무언가 (아직 시작은 안함)
그리고.... 주최해야하거나 혹은 주최해야할 것 같은 모임
- vim.kr 컨퍼런스 (아무리 늦어도 7-8월)
- Hackers' Pub 오프모임
- FediDev.kr 스프린트 모임
- foss 관련 컨퍼런스
드디어 @xtjuxtapose 님이 기다리시던 차단 기능이 구현되었습니다. 차단할 사용자의 프로필 페이지에 가서 팔로·언팔로 버튼 오른쪽에 보이는 말줄임표 아이콘에 마우스 커서를 갖다 대면 (모바일에서는 터치하면) 상세 메뉴가 나오는데, 그 안에 팔로워 삭제 버튼과 차단 버튼이 생겼습니다.
ActivityPub 프로토콜 수준에서는 차단은 Block
액티비티를 차단한 액터에게 보내며, 차단을 해제할 경우 Undo(Block)
액티비티를 보냅니다. 그러나, 그 액티비티를 받은 인스턴스의 구현이 차단한 사용자의 콘텐츠를 볼 수 없도록 막지 않을 수도 있습니다…만, 실질적으로는 모든 구현이 막고 있습니다. 아, 당연하지만 차단은 자동적으로 상호 언팔로를 수행합니다. 차단을 해제하더라도 풀렸던 팔로 관계는 자동적으로 회복되지 않습니다.
@jihyeokJihyeok Seo 의 https://naru.pub/ 에 띄울 홈페이지 나두 만들어서 띄워보고 싶어서 후다닥 스케치해봄… 그러나… 지식이 관련 지식이 전무한 상황… 하지만 해보겠습니다……. (이미지, 텍스트 정렬 할 때
최근에 추천사를 썼던 책이 있는데요. 이 교재를 활용해서 LLM AI 에이전트를 개발해볼까합니다. 제가 자원봉사(?)를 하고 있는 곳에서 컨텐츠 팀을 담당하고 있는데, 거기서 하는 일 중 하나가 뉴스레터 발행입니다.
TLDR 뉴스레터처럼 링크들을 오마카세처럼 모아서 양질의 콘텐츠를 제공하는게 목표인데, 그런 데이터를 모으기 위해서 최대한 아티클들을 모아서 요약해주는 봇을 만들어야겠다는 판단이 들었습니다. 언어 LLM 관련된 리소스도 많은 파이썬을 쓰게 될 것 같고, 서버 프레임워크는 컨텐츠 관리(어드민페이지)의 수월함을 위해서 Django를 쓰게 될 것 같습니다.
https://product.kyobobook.co.kr/detail/S000216210672
RE: https://hackerspub-ask-bot.deno.dev/message/01962280-fc29-748e-9ba8-fad032795e0d
"나는 앞으로 뭐 해먹고 사나?" 라는 질문은 이미 오래전부터 다들 하던 이야기구나
차단 기능의 밑작업으로… 차단 당하는 기능을 만들었습니다. Hackers' Pub 사용자 여러분은 이제 연합우주 내 다른 인스턴스의 사용자로부터 차단 당할 수 있습니다. ActivityPub의 Block
액티비티 및 Undo(Block)
액티비티를 수신하고 처리할 수 있게 되었다는 뜻입니다. 하지만 아직 차단을 하는 건 안 됩니다. 오늘은 일단 여기까지 하기로 하고… 차단 기능은 아마 내일이나 완성될 것 같군요.
@ujuc우죽 저에겐 컨테이너 한두개 띄우는거랑 '오케스트레이션'이랑 경계가 희미하다고 느껴집니다. 근데 '오케스트레이션'으로 단순한일을 하는게 크게 수고롭지 않으니 그쪽을 택하는거구요.
yaml은... 아무도 deployment.yaml로 IaC를 할수있다곤 생각안할거 같습니다. 근데 helm이나 kustomize같은 방식이 미덥지 않긴하죠. 저는 인프라에 Pulumi를 쓰는데, 나중에 기회가 있다면 k8s위의 서비스들도 Pulumi로 프로비저닝 해보려합니다.
@bglbgl gwyng 오호! Pulumi를 쓰시는군요 :) ㅋㅋㅋㅋ
전 CDK를 사용하고 있는데 얘는 CloudFormation Yaml로 변환해주는 역할을 하는 거라.. :) 명확해서 사용중이긴합니다. :)
그리고 IaC 판에서 yaml이 가지는 권위(?)는 너무나도 높아서 ㅎㅎㅎㅎ cdk8s 라는 또다른 랩핑을 만들어주고있죠.. :)
좋으네요 :) Pulumi도 보고있었는데 회사에서 Terraform으로 써놓은게 너무 많아서 바꾸기가 힘들었었는데 말이죠.. ㅎㅎㅎㅎ 퇴사할때쯤 pulumi로 옮긴다고 통보가 와서 흠 그렇군 하고 퇴사했어요 ㅎㅎㅎㅎ
https://news.hada.io/topic?id=20244
좋은 글이다. 특히 다음 부분은 언제나 명심하려고 노력하고 있다.
- 추측하지 말 것
PEP 20의 철학처럼, 모호할 땐 절대 추측하지 말 것
-
추측의 위험:
- 틀리면 버그
- 맞아도 잘못된 전제를 믿게 되어 나중에 문제 유발
-
확신이 없으면:
- 질문하고
- 문서 읽고
- 디버깅 도구를 쓰고
- 근거를 찾아야 함
@ujuc우죽 일단 쿠버가 가지는 강점은 결국 vendor-neutral한 플랫폼 위에서 다양한 벤더들이 만든 서드파티 소프트웨어를 엮어서 각자가 선호하는 애플리케이션 배포 환경을 구축할 수 있다는 점이라고 보는데요, 물론 앱 걍 띄우면 되지 굳이 커스텀된 배포 환경을 구축할 필요성이 있냐 하는 입장이라면 쿠버가 분명한 오버킬이 되겠지만 😅 개인적으로는 홈서버만 굴리는 상황에서도 도커컴포즈나 systemd를 얼기설기 엮어서 매번 뭔가를 만들기보단 처음에 한번 쿠버로 이것저것 환경 구축해두고 나중에 앱 올릴 때는 Helm 차트 파라미터만 약간 수정해서 올리는 식으로 사용하는 쪽을 선호하게 되더라구요. 해당 장점을 온전하게 대체할 수 있는 메인스트림 플랫폼이 현재로썬 없는 것으로 보이다 보니 자연스레 쿠버네티스를 밀게 되는데, 중장기적으로 WASM 컴포넌트 생태계가 성장하게 되면 wasmCloud 같은 것들이 더 우아한 대체제로 떠오를 가능성도 크다고 생각합니다!
@xiniha 오호 좋네요...
회사에서 필요해서 배포해두고 관리가 안되는 경우가 너무 많아져서... 조심하게 되는데 k8s도 비슷한 모습이 보이지 않을까 걱정이 되긴하네요.
주도해서 배포했던 사람이 바쁘거나, 관심이 없으면 사용이 없는데도 레거시라 지우기 힘들어지는게 있거든요 :) ㅎㅎㅎㅎ
집에 서버 만들때는 띵가띵하면서 수정하는 맛이.... 있는데... 이건 제한정이니 ㅎㅎㅎㅎ
Hackers' Pub에 차단 기능을 만들다 보니 일단 모델 쪽에서 팔로워 삭제 기능이 필요하다는 것을 깨달았다. 즉시 하던 작업 다 git stash
하고 팔로워 삭제 먼저 만드는 중… (하지만 UI로 노출하는 건 나중에 할 생각.)
UI로 노출하는 건 나중에 만드려고 했지만, 어차피 테스트도 해야 해서 UI로도 노출했습니다. 자신의 팔로워 목록 페이지에 가시면 각 팔로워마다 오른쪽 위에 X 모양 아이콘이 생겼을 겁니다. 그걸 누르면 팔로워를 삭제할 수 있습니다. (X로 치면 “블언블”한 효과.)
技術者向けSNS「Hackers' Pub」の招待枠を持っています。ActivityPubに対応し多言語サポートもある、エンジニアや技術に興味がある方のためのコミュニティです。参加希望の方はDMやコメントでメールアドレスをお知らせください。招待状をお送りします。
#HackersPub #テック #プログラミング
RE: https://hackers.pub/@hongminhee/0195faee-783f-7d33-ad90-88c497655ab9
GeekNews의 〈소프트웨어 엔지니어로 산다는 건 미친 짓이야〉 주제에 @youknowone 님께서 쓰신 좋은 댓글:
소프트웨어 개발이 어려운 일이라는 사람들은 본인이 그 일을 하는 이유가 뭘까요? 고되고 힘든 일이지만 보람있는 일이라서 하시나요? 이 업계에서 그런 분들은 그리 많지는 않았던 것 같습니다. 남들이 못하는 것 같으니까 어렵다고 주장하는거지, 실상은 그게 본인한테 가장 쉬운 일이니까 하시는 것 아닌가요? 남들이 좀 띄워준다고 자화자찬하면서 나만 특별한 양 여기면서 눈을 가리지 말고 주위를 봐야합니다. 이공계에서 어떤 분야가 방구석에서 인터넷 좀 보고 독학한다고 (잘 하면) 몇달만에 현업에 투입할 수 있는 전문가가 됩니까?
(…중략…)
물론 남들이 가지지 못한 훌륭한 손재주를 가진 사람은 존중받아 마땅하지만, 약간의 손재주를 연마했다고 해서 소싯적 배워둔 손재주로 평생 먹고 살면 좋을텐데 왜 그럴수 없을까, 나는 이런 훌륭한 손재주를 가졌는데 다른 사람들처럼 힘들게 일하지 않아야 하는 것 아닐까, 나는 남들은 쉽게 하지 못하는 대단한 재능을 가진 것이 아닐까 등등의 특별한 나에 심취하는건 교만에 가까운 일이 아닐까 합니다.