... 지난번에 이야기했었는데 warp 터미널로 뭐 하다가 틀리면 가끔 기계한테 상황을 물어보는데 얘가 상황 분석한다고 커맨드 막 넣는걸 보니 오싹하더라고요. 그리고선 “이 명령으로 해결할수있어 할래? (y/n)" 이러는데 ....... 약간 스카이넷 작동시키는 느낌 .....
https://hackers.pub/@nyeong/01989d45-41f1-7bfa-8f0a-f46fbe8fbaba
@nyeong@hackers.pub · 62 following · 77 followers
λ(☕) → 💻
... 지난번에 이야기했었는데 warp 터미널로 뭐 하다가 틀리면 가끔 기계한테 상황을 물어보는데 얘가 상황 분석한다고 커맨드 막 넣는걸 보니 오싹하더라고요. 그리고선 “이 명령으로 해결할수있어 할래? (y/n)" 이러는데 ....... 약간 스카이넷 작동시키는 느낌 .....
https://hackers.pub/@nyeong/01989d45-41f1-7bfa-8f0a-f46fbe8fbaba
We're thrilled to announce Fedify 1.8.1, a mega release made possible through the incredible efforts of contributors from South Korea's #OSSCA (Open Source Contribution Academy). This release marks a significant milestone in #Fedify's development, bringing major architectural changes, new packages, and numerous enhancements across the board.
Note: Version 1.8.0 was skipped due to a versioning error.
Fedify has been restructured as a #monorepo, consolidating all packages into a single repository with unified versioning. This change streamlines development and ensures all packages are released together with consistent version numbers.
All existing Fedify packages now live under one roof:
This release introduces four new packages to the Fedify ecosystem:
Federation
and Context
classesA powerful new feature that allows you to create custom collections beyond the standard ActivityPub collections. This enables implementation of domain-specific collections while maintaining federation compatibility.
Contributors: ChanHaeng Lee [#310, #332]
Federatable
interface: setCollectionDispatcher()
and setOrderedCollectionDispatcher()
getCollectionUri()
method to the Context
interfaceKey–value stores now optionally support CAS operations for atomic updates, enabling optimistic locking and preventing lost updates in concurrent environments.
KvStore.cas()
methodMemoryKvStore
and DenoKvStore
New utility functions make working with #fediverse handles more convenient.
Contributors: ChanHaeng Lee [#278]
parseFediverseHandle()
— Parse handles into componentsisFediverseHandle()
— Validate handle formattoAcctUrl()
— Convert handles to URLsFediverseHandle
interface for type safetyContributors: Lee ByeongJun [#248, #281], Hyunchae Kim [#51, #315]
LookupWebFingerOptions.maxRedirection
option for controlling redirect behaviorAbortSignal
for request cancellationDocumentLoaderOptions
interfacesignal
options to LookupObjectOptions
, LookupWebFingerOptions
, and DoubleKnockOptions
The CLI has received significant improvements thanks to our OSSCA contributors:
fedify webfinger
CommandContributors: ChanHaeng Lee [#260, #278], KeunHyeong Park [#311, #328]
Look up WebFinger information for any fediverse resource:
@user@server
) and URLs--user-agent
option for custom User-Agent headers--allow-private-address
for local testing--max-redirection
to control redirect followingfedify nodeinfo
CommandContributors: Hyeonseo Kim [#267, #331, #168, #282, #304]
Replaces the deprecated fedify node
command with improved terminal rendering.
fedify lookup
CommandContributors: Jiwon Kwon [#169, #348, #261, #321]
-o
/--output
option to save results to filesfedify inbox
CommandContributors: Hasang Cho [#262, #285], Jang Hanarae [#191, #342]
--actor-name
and --actor-summary
options for customizing temporary actorsfedify init --dry-run
Contributors: Lee ByeongJun [#263, #298]
Preview project initialization without creating files.
Contributors: Cho Hasang [#257, #341]
Correctly handles color output based on TTY detection and NO_COLOR
environment variable.
Contributors: Hyeonseo Kim [#286, #339]
New Elysia integration brings Fedify to Bun-powered applications with a simple plugin interface:
import { Elysia } from "elysia";
import { fedify } from "@fedify/elysia";
const app = new Elysia()
.use(fedify(federation, { /* options */ }))
.listen(3000);
Contributors: Jaeyeol Lee [#269, #309]
Enterprise-ready NestJS integration with dependency injection support:
import { FedifyModule } from "@fedify/nestjs";
@Module({
imports: [
FedifyModule.forRoot({
kv: new MemoryKvStore(),
queue: new InProcessMessageQueue(),
origin: "https://example.com",
}),
],
})
export class AppModule {}
Contributors: An Subin [#274, #318]
SqliteKvStore
implementation compatible across all major JavaScript runtimes:
import { SqliteKvStore } from "@fedify/sqlite";
const kv = new SqliteKvStore("./fedify.db");
Contributors: Lee ByeongJun [#197, #283]
Comprehensive testing utilities with mocking support for Fedify applications:
import { MockFederation, MockContext } from "@fedify/testing";
const mockFederation = new MockFederation();
const mockContext = new MockContext();
// Track sent activities with full metadata
// Support custom path registration
// Multiple activity type listeners
This release represents an extraordinary community effort, particularly from the participants of South Korea's OSSCA (Open Source Contribution Academy) (Note: page in Korean). We extend our heartfelt thanks to all contributors:
Your contributions have made Fedify stronger and more versatile than ever. The OSSCA program's support has been instrumental in achieving this milestone release.
If you're using separate Fedify packages, update all packages to version 1.8.1:
{
"dependencies": {
"@fedify/fedify": "^1.8.1",
"@fedify/cli": "^1.8.1",
"@fedify/express": "^1.8.1"
}
}
All packages now share the same version number, simplifying dependency management.
There are no breaking changes in this release. All existing code should continue to work without modifications.
With the monorepo structure in place and new integrations available, we're excited to continue improving Fedify's developer experience and expanding its capabilities. Stay tuned for more updates, and thank you for being part of the Fedify community!
For detailed technical information about all changes, please refer to the full changelog.
Fedify is an open-source project that helps developers build federated server applications powered by ActivityPub. Join us on GitHub or Discord to contribute or get help!
We're thrilled to highlight five outstanding contributions from the Korean Open Source Contribution Academy (#OSSCA) program participants who have been working on #Fedify! Their dedication and effort have significantly enhanced our #ActivityPub server framework.
First up is @nyeongAn Nyeong (安寧) with his monumental #318 PR, implementing a SQLite-based key–value store to address #274. This contribution adds the
SqliteKvStore
class with full cross-runtime support for Node.js, Deno, and Bun through the new @fedify/sqlite
package. His implementation includes atomic operations, TTL support, comprehensive test coverage, and careful attention to SQL injection prevention. This enables developers to use SQLite as a persistent storage backend while maintaining compatibility with Fedify's existing KvStore
API—a crucial feature for production deployments!
Next, @crohasang크롸상 delivered an excellent quality-of-life improvement with #341 PR, fixing #257. He enhanced the CLI to properly respect TTY status and the
NO_COLOR
environment variable, implementing intelligent color control across all CLI commands. The solution involved switching from @cliffy/ansi/colors
to @std/fmt/colors
, creating a helper function using Deno.inspect()
to handle object formatting, and ensuring colors are correctly disabled when output is redirected to files. This makes the CLI much more pipe-friendly and suitable for automated workflows!
@meneleHanal Ae contributed a thoughtful enhancement with #342 PR, addressing #191. She updated the
fedify inbox
command to display not just the activity type, but also the type of object contained within each activity—transforming output like "Create" into the more informative "Create(Note)" or "Undo" into "Undo(Follow)". This seemingly simple change required making the display function asynchronous to fetch the enclosed objects, significantly improving the debugging experience for developers!
@woaol벨 tackled an important developer experience issue with #329 PR, solving #306. Previously, the
fedify init
command would often install outdated versions of Fedify packages like @fedify/redis
because version numbers were hardcoded in the CLI. They created a getLatestVersion()
function that dynamically retrieves package versions from local metadata files, ensuring that developers always get the latest versions of all Fedify packages when initializing a new project. This improvement includes comprehensive test coverage and eliminates the frustration of starting a project with outdated dependencies!
Finally, @kodingwarriorJaeyeol Lee made a significant contribution with #309 PR, implementing #269—NestJS integration! They created the
@fedify/nestjs
package with a FedifyModule
that seamlessly integrates Fedify into NestJS applications. This includes proper middleware implementation, dependency injection support through NestJS's module system, and compatibility with both CommonJS and ESM environments. This opens up Fedify to the large NestJS developer community, making it easier than ever to build ActivityPub-enabled applications with this popular enterprise framework!
These contributions showcase the incredible talent and dedication of the OSSCA participants. From core infrastructure improvements to developer experience enhancements, each contribution makes Fedify better for the entire community. Thank you all for your hard work and welcome to the Fedify contributor family! 🚀
We're looking forward to seeing more amazing contributions from the OSSCA program and the broader community. If you're interested in contributing to Fedify, check out our GitHub repository and join us in building the future of federated social web! 🌟
DBMS 같은 데에서 파일을 관리 할 때엔 항상 4096 바이트 단위의 페이지 형태로 관리합니다. 왜그럴까요? 여러가지 이유가 있는데, 보통은 OS도 4096 바이트 단위로 파일 시스템을 관리하기 때문입니다. 그래서 캐시 같은 OS의 여러 가속 장치들의 도움을 받을 수 있죠.
근데 정말로 그럴까요?
그게 궁금해서 직접 한번 페이지 파일 매니저를 구현해서 실험해봤습니다. 통계적으로 유의하게 빠르네요.
이 편지는 미래에서 최초로 시작되어 -1년에 한 바퀴 돌면서 받는 사람에게 행운을 주었고 지금은 당신에게로 옮겨진 이 편지는 -4일 안에 당신 곁을 떠나야 합니다. 영국에서 did:plc:ppk763j7o2wkinvzuqx4orrb이라는 사람은 2026년에 이 편지를 받았습니다. 어쩌고
claude max를 구독하면 월 200$씩 깨진다는 사소한 문제가 있지만, 별도 과금이 없어 인간성을 지킬 수 있습니다.
An Nyeong (安寧) shared the below article:
ㄹ @disjukr@hackers.pub
이 글은 리액티브 프로그래밍에서 시간의 흐름에 따른 의존 그래프 관리를 설명하며, 특히 프론트엔드 상태 관리에 있어 옵저버블보다 시그널이 더 적합한 이유를 제시합니다. 저자는 프론트엔드 상태가 시간에 따라 결정적으로 변하지 않고, 노드의 의존 관계가 렌더 트리에 따라 변화무쌍하게 바뀌기 때문이라고 주장합니다. Rx, Redux, XState와 같은 기존 상태 관리 방식의 한계를 지적하며, 시그널(+ DI와 수명관리)을 중심으로 옵저버블, 리듀서, 스테이트머신을 함께 사용하는 것이 각 기술의 장점을 극대화할 수 있다고 설명합니다. 애니메이션, 폼 관리, NPC 인공지능과 같이 특정 상황에 적합한 기술을 시그널로 묶어 전체 애플리케이션 상태를 선언적으로 관리하는 방법을 제안하며, 이를 통해 애플리케이션의 구조를 더욱 명확하고 효율적으로 만들 수 있다고 강조합니다.
Read more →@jhhuhJi-Haeng Huh https://github.com/nyeong/.dotfiles/blob/684e1f1f41a8d61c9fc680f2429b5142cdeadfda/packages/emacs/default.nix#L18-L21
감사합니다! emacs-overlay를 fetchTarball로 가져오고 있습니다 👀
@nyeongAn Nyeong (安寧) 혹시
fetchTarball
을 쓰지 않고 emacs-overlay
를 flake inputs에 추가하는 건 해보셨나요? 아니면 fetchFromGithub
로 받아와도 괜찮습니다. 아무리 sha256
을 지정해도 fetchTarball
은 이걸 다운받은 tarball을 검증하는 용도로 사용하는거지 fixed-output derivation 처럼 outpath를 찾는데 사용하지는 않을 거예요. cache TTL이 지나거나 nix daemon을 껐다 켜면 다시 다운받을 거예요.
이게 왜 재빌드를 유발하는지는 저도 지금 명확히 설명이 어렵지만 fetchTarball
의 결과값이 derivation나 path가 아닌 스트링이라서 생기는 미묘한 차이점이 있기는 합니다. 일례로 remote 빌딩을 하기 위해 prerequisite들을 빌드 서버에 넘기는데 fetchTarball
로 받아온 애들은 prerequisite closure에 포함이 안됐던 걸로 기억해요. 목적하는 derivation이 remote에서 직접 nix 표현을 eval 해서 얻어진 경우는 (eval 시 fetch를 해서 store에 담기 때문에) 문제가 없지만 그렇지 않은 경우는 존재하지 않는 store path에 대한 에러가 날 수 있거든요.
하여튼 다른 건 딱히 눈에 띄는게 없어 보여서 fetchTarball
만 의심하게 되네요.
MoonBit Monthly vol. 1 is out!🚀
See what’s new in MoonBit after our Beta release. 🥳
Full Updates:https://moonbitlang.com/weekly-updates/2025/07/15/index
지구 자전속도 너무 빠른거가틈
@tedpool테드풀
@kodingwarriorJaeyeol Lee
@gaebalgom개발곰
@nyeongAn Nyeong (安寧)
@joonnotnotJoon
@crohasang크롸상
@z9mb1wwj
@r4bb1t톡기
@2chanhaeng이찬행
@cosmic_elevatorSooji Choi @ooheunda
@woaol벨
@meneleHanal Ae
@devom
@eottabom
@hjleee93hyeonjeong lee 오늘 발대식에서 만나 뵈어서 반가웠습니다! 다시 한 번 앞으로 잘 부탁드립니다! 화이팅!
코딩 얘기
Claude
API 연동해서, Opus 4
모델로 짤막하게 써봤는데 요청당 거의 0.4$ 정도씩 사라지는 것을 목격하고, API 는 쓰면 안되겠구나 싶었습니다. (대충 5불 순삭)Opus 4
와 gemini-cli gemini-2.5-pro
의 응답 결과물이 개인적으로 꽤 만족스럽네요. Claude Code 는 쓰다 보면 어느 순간 Opus 4
에서 Sonnect 4
로 바뀌어 있네요. 사용제한이 있나 싶습니다./status 명령으로 확인 해보면 아래 처럼 적혀 있긴 합니다.
Model • /model
LDefault Opus 4 for up to 20% of usage limits, then use Sonnet 4
(currently Opus)
Cursor Tab
은 훌륭하다고 생각하지만, 연간구독이 만료되고 나면, Cursor
를 계속 사용할지는 고민을 해봐야 할 것 같습니다. VS Code 를 써도 되고, Windsurf 같은 대안도 있고요.그렇게, Claude Code
와 gemini-cli
가 화면의 일정 영역을 차지하기 시작했습니다..
늘 얘기하는거지만 인간은 좀 남들에게 "님은 그런 설정이시군요..." 하고 넘어가는 태도가 필요하다
해커스펍.... 모임.... 아마 가능할 수도 있을 것 같습니다.... 이제 장소와 시간만 구하면 된다.....
이뿐만이 아니다. 예스24는 낙후된 시스템을 운용하는 것으로 전해진다. 단적인 예로 사이트 개발에 '닷넷 프레임워크'를 사용하고 있다. 닷넷 프레임워크는 현재는 잘 사용하지 않는 개발 언어로 윈도 서버에서만 운영 가능하기 때문에 개발자의 외면을 받고 있다.
닷넷 프레임워크는
예를 확인 없이 내세운 기사네요 🙃
@nyeongAn Nyeong (安寧) .NET이랑 .NET Framework가 서로 다른 물건이예요. .NET은 .NET Core가 리브랜딩된 거고, 10년 전에 .NET Framework를 대체했습니다. .NET Framework는 Windows에서만 돌아가는 것도 사실이고요. .NET Core, 즉 현재의 .NET은 .NET Framework와 브랜드 측면에서는 연속성이 있지만, 기술적으로는 아예 새로 만들어진 구현입니다. 오픈 소스라는 점도 다르고요. 전반적으로 .NET Framework는 레거시 기술이 맞아요.
보안으로 밥 벌어먹고 사는 사람 입장에서 그냥 총체적 개뻘소리만 써놨다 싶습니다…
“예스24는 낙후된 시스템을 운용하는 것으로 전해진다. 단적인 예로 사이트 개발에 '닷넷 프레임워크'를 사용하고 있다. 닷넷 프레임워크는 현재는 잘 사용하지 않는 개발 언어로 윈도 서버에서만 운영 가능하기 때문에 개발자의 외면을 받고 있다.”
웹 호스팅이 apm만 있는게 아니에요. 오히려 azure 기반에선 iis-asp net이 더 유지보수에 좋습니다. Asp가 백엔드에선 월드와이드 점유율이 30%라고요 뭔 개소리야 진짜.
예스24 '닷새간 먹통 사태' 원인은?...기술지원 끝...
https://github.com/apple/container Apple에서 공식으로 컨테이너를 지원한다고 해서 macOS 26베타를 올렸는데, 이걸 또 설치해야하는구나
새로 오신 분들도 많이 계시니, #자기소개 한 번 해 볼까요? 저부터 해보겠습니다.
아무쪼록 잘 부탁드립니다.
Hackers' Pub에 공유할 수 있는 초대 링크 기능을 추가했습니다. 설정 → 초대 페이지에서 초대 링크 생성이 가능하며, 초대 링크는 정원이나 유효 기간, 메시지를 정할 수 있게 되어 있습니다. 아무래도 DM으로 직접 초대 요청을 달라고 하면 쑥스러움이 많은 분들은 요청을 안 하시는 경우가 많은 것 같아서 만들게 되었습니다. 참고로, 초대 링크를 통해 가입한 사용자는 초대 링크를 생성한 사람과 자동으로 맞팔하게 됩니다.
혼자서 일하면 끔찍한 관리자 밑에서 일하는 경험과 끔찍한 프로그래머를 관리하는 경험을 동시에 할수 있다. 개꿀~
An Nyeong (安寧) shared the below article:
lionhairdino @lionhairdino@hackers.pub
이 글은 닉스의 핵심 개념인 derivation에 대해 설명합니다. Derivation은 패키지 빌드에 필요한 속성들의 집합으로, 닉스는 이를 통해 의존 관계를 순수하게 표현합니다. 패키지 A가 B에 의존한다면, A의 derivation이 B의 derivation에 의존하는 방식으로 명세서를 작성하고, 실제 패키지가 필요할 때 realize 동작을 통해 이펙트들의 영향을 받습니다. 이러한 선언적인 명세서 덕분에 닉스는 선언형 패키지 매니저라고 불립니다. Derivation 이름에 내용 기반 해시를 붙여 캐싱과 재현성을 높이지만, 작은 변화에도 해시값이 달라져 디스크 용량과 빌드 시간이 늘어나는 단점도 있습니다. Nixpkgs는 derivation 자체가 아닌, derivation을 생성하는 표현식들의 모음으로 구성됩니다.
Read more →일정 추산은 어려운 일이다. TWP(Two-Week Principle)는 모든 시간 참조를 표준화하는 새로운 시간 척도다. 이 제안에 따르면 시간과 관련된 모든 질문에 반사적으로 "2주"라고 응답해야 한다. https://www.rfc-editor.org/rfc/rfc9759
해커스펍 가로로고랑 정방사이즈 로고만 있으면 어디 부스차려서 스티커 뿌리면서 홍보하기도 괜찮을 것 같은데
https://elixir-lang.org/blog/2025/03/25/cyanview-elixir-case
수퍼볼 같은데서 수백대의 방송장비를 Elixir를 통해서 제어하고, Phoenix LiveView로 시각화하는 사례. Elixir 생태계에 Nerves라는 임베디드 시스템 제어 프레임워크가 있었던걸로 기억하고 있는데, 이게 이렇게 이어지는군아
@kodingwarriorJaeyeol Lee 개인적으로는 Elixir에 하나 아쉬운 게 정적 타입이 아니라는 것… 정적 타입을 사후적으로 붙이는 작업이 진행되고 있다고는 하는데 TypeScript만큼 잘 될까 싶어서요. Python에서의 타이핑도 현실적으로 아쉬운 게 많은 걸 생각하면요.
그래서 저는 Gleam에 좀 기대를 하고 있습니다.
@hongminhee洪 民憙 (Hong Minhee) 꼭 외래어만 그런 건 아니지만 ㅐ와 ㅔ의 혼선이 제법 있는데, 이를테면 lag 랙("렉"으로 틀림) 같은 사례가 있습니다. 그 밖에는 daemon 다이먼(동계어인 demon에 이끌려 "데몬"이 널리 쓰이지만, 애초에 demon의 올바른 표기는 "디먼"임) 같은 게 생각나네요. 뭐 알아도 그렇게 안 쓰는 사람이 너무 많아서 대부분 틀린 표기로 쓰게 되지만...
@yurume유루메 Yurume
@hongminhee洪 民憙 (Hong Minhee) "lag"의 외래어 표기법에 따른 표기는 "랙"이 아니라 "래그"입니다. 유성음으로 끝나기 때문에 "ㅡ"를 붙입니다. "log"가 "록"이 아니라 "로그"인 것도 이것 때문입니다.
지금이 몇년 몇월이죠?
2025년 1월인데요?
아 이런 윤석열 1차 체포 때로군
??? 1차요 ???
RE: https://bsky.app/profile/did:plc:mpqzdj3zmmdc5adx5v3mfc4z/post/3ll77bapebc2t
초대장 뿌리는 기능도 구현해야 하는데… 지금은 그냥 데이터베이스 직접 들어가서
UPDATE account SET left_invitations = least(left_invitations + 1, 3);
날리고 있다. 😓
Hackers' Pub에 드디어 인용 기능이 구현되었습니다. 인용할 글의 링크를 복사한 뒤 단문 작성창에 붙여넣으시면 해당 글을 인용할지 묻는 창이 뜹니다. 확인을 선택하시면 해당 글이 인용되게 됩니다.
참고로 인용할 글은 꼭 Hackers' Pub의 글이 아니어도 ActivityPub을 지원하는 사이트의 아무 글이나 다 가능합니다. 예를 들어 Mastodon 인스턴스에서 글 링크를 복사해서 붙여도 동작합니다.
내가 쓴 글에 누가 어떻게 인용을 했나 궁금하실 경우, 글 아래에 있는 공유 아이콘 오른쪽에 위치한 반응 아이콘을 누르시면 확인할 수 있습니다. (원래는 공유한 사람 탭만 있었는데 인용 탭이 새로 생겼습니다.)
기술적으로는 FEP-e232 오브젝트 링크 스펙과 Misskey의 인용 확장 스펙, Pleroma의 인용 확장 스펙, 그리고 Fedibird의 인용 확장 스펙을 모두 구현하기 때문에, 인용 기능을 지원하는 현존하는 모든 ActivityPub 서비스와 호환됩니다.
RE: https://hackers.pub/@hongminhee/0195c73c-24f5-74c0-883d-1a0a0db14b6d
얼굴인식 사진공유 카메라앱 슈티를 함께 만들 분을 찾습니다. 앱은 출시되어 있어 써보실수 있습니다. 이번달 내로 페디버스 연동을 끝내면 제가 생각한 MVP는 완성입니다. 앞으로도 개발해야할 부분들이 많고, 개중에 기술적으로 흥미로운 문제들도 다수 있습니다.
지금 2025년 상반기 투자유치를 목표로 팀 빌딩을 하고 있습니다. 관심 있으신 분, 또는 잘 모르겠지만 이야기를 나눠보고 싶은 분도 bgl@gwyng.com으로 편하게 연락주세요.
님들이 외국인에게 추천하는 서울 여행지를 가르쳐주세요
해커스 펍에 남기는 첫 글로 진.짜. 술을 파는 해커스 펍을 소개하겠습니다… 도쿄 히가시나카노에 위치한ハッカーズバー(hackers bar)에 가시면 바텐더 분의 라이브코딩을 구경하며 블루스크린, 커널 패닉 등의 이름이 붙여진 칵테일을 마실 수 있어요… 모두가 각자의 랩탑을 들고 와서 자유롭게 코딩하고 이야기 나누는 분위기! 도쿄에서 손에 꼽게 인상적이었던 바였습니다. 도쿄에서 술도 마시고 코딩도 하고 싶으신 분들은 한 번 들러보심이~~!
바로 사왔다
↑ 업무용 회사 맥북 (2023, 14", M2 Max, 32GB)
↓ 개인용 (2022, 13", M2, 24GB)
Hackers' Pub에 행동 강령이 있다는 사실, 아셨나요?
우리 커뮤니티는 단순한 기술 토론을 넘어 모든 구성원이 진정으로 환영받는 포용적인 공간을 만들기 위해 상세한 행동 강령을 마련했습니다.
특히 주목할 만한 점은:
구조적 차별에 대한 명확한 입장: “모든 사람을 동등하게 대우한다”는 명목 하에 현실의 구조적 불평등을 무시하지 않으며, 이를 극복하기 위한 적극적인 노력을 중요시합니다.
기술적 엘리트주의 지양: “이것도 모르세요?”와 같은 조롱, 특정 기술 스택이나 도구에 대한 비하, 초보자의 질문을 무시하는 행위를 명확히 금지합니다.
모든 언어의 동등한 존중: 전 세계의 모든 언어를 동등하게 존중하며, 어떤 언어로도 자유롭게 소통할 수 있습니다.
자세한 내용은 행동 강령 페이지에서 확인하실 수 있습니다.
@hongminhee洪 民憙 (Hong Minhee) Isn't it functionally equivalent to
Result<T, E>
? (except semantic?) The one Java feature I wish TypeScript had.
It's so annoying that exception types don’t get tracked. Even Swift added typed throws in version 6…
@nyeongAn Nyeong (安寧) Yes, functionally they're similar—both enforce error handling at compile time! The key difference is that Java automatically propagates exceptions once declared, while Rust requires explicit
?
for each call. Swift adding typed throws is fascinating validation of the concept.
My blog post explores these differences in depth.
The semantics matter though—Java's approach integrates better with imperative code, while Result<T, E>
types fit functional paradigms. Each has its place!
이제 단문에 포함된 대표 링크에 대해 Open Graph 메타데이터를 추출하여 표시하게 되었습니다. 또한, 링크에 fediverse:creator
메타데이터가 있을 경우, 저자의 연합우주 프로필까지 하단에 표시하게 됩니다.
모든 자바스크립트 개발자들이 단 하나의 패키지 매니저와 단 하나의 빌드 시스템, 단 하나의 모듈 시스템을 사용하면 좋겠다고 진심으로 생각한다
이제 프로필의 링크에 인증 여부가 보이게 됩니다. 링크를 인증하기 위해서는, 링크된 페이지 측에서도 Hackers' Pub 프로필을 rel="me"
속성과 함께 링크해야 합니다. Mastodon이나 GitHub 같은 경우 프로필에 링크를 추가하면 rel="me"
속성이 추가되게 되어 있으니, Mastodon이나 GitHub 프로필 링크를 추가하면 인증은 자동으로 될 겁니다. 개인 웹사이트가 있으신 분들은 Hackers' Pub 프로필을 rel="me"
속성과 함께 링크하면 인증이 됩니다.
참고로 인증은 프로필 설정을 저장할 때 이뤄집니다. 이미 Mastodon이나 GitHub 프로필을 링크해 두신 분들은 인증 표시가 안 뜰 수도 있는데, 그럼 프로필 설정에 들어가셔서 저장 버튼을 한 번 눌러주시면 인증 버튼이 붙을 겁니다.
@dwndiaowinner 님 덕분애 Hackers' Pub에 중국어 번역이 추가되었습니다!
또한, 언어 설정이 추가되어, 자신이 선호하는 복수의 언어를 선택할 수 있게 되었습니다. 이 설정은 당장은 팔로 추천에만 쓰이고 있지만, 앞으로 자동 번역이나 알고리즘 타임라인 등에 요긴하게 쓰일 예정입니다.
이番에 @lqezPark Hyunwoo 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
https://snix.dev/ 저는 Rust를 못해서 기여를 못하지만 유망한 프로젝트라고 생각합니다. Rust 고수분들이 관심가져주시면 좋겠네요.
사람들이 잘 모르는 Markdown 명세 하나. CommonMark, 즉 표준 Markdown에서 URL은 자동으로 링크되지 않는다. 대부분의 Markdown 구현체들이 이를 옵션으로 지원하고, Markdown을 지원하는 웹사이트들이 이 옵션을 켜놓고 있기 때문에 모르는 사람들이 많다. CommonMark에서 URL이나 메일 주소를 링크하려면 <
와 >
로 주소를 감싸야 한다.
이를 잘 이용하면 URL의 앞 뒤에 띄어쓰기를 하지 않고도 링크를 걸 수 있다는 장점도 된다.
Nix를 보며 알수있는건, 사람들이 메타프로그래밍을 하기 좋은 언어로 메타프로그래밍을 하는게 아니라, 런타임이 좋은 언어로 메타프로그래밍을 한다는 것이다.
Nix의 런타임이 좋다는건 일반적인 의미에서(성능이 빠르다거나) 좋다기보다는 '재현가능한 캐싱되는 빌드'라는 런타임이 아주 많은 동작을 커버하는데 Nix가 그걸 구현했다는 얘기다. 그러니까 사람들은 큰 프로그램을 쌓아올릴 대들보가 될만한 런타임이 있으면 거기서 부터 메타프로그래밍을 시작해버린다. Nix가 언어는 구리고(애초에 엄청 잘만들려고 한거같지도 않음) 메타프로그래밍을 잘하기위한 어떠한 장치도 없음에도 가장 아래에 위치할수있어서 그 역할이 맡겨져버린다.
그래서 유용한 런타임과 오브젝트 언어(또는 DSL)을 표현할 문법에 대한 좋은 아이디어가 있으면, 좀더 나은 메타프로그래밍을 하기위한 언어를 만들수 있을거라고 생각한다.
젠장 난 nix랑 org가 너무 좋다