What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
0
0
2
0
0
1
0
1
2
1
0
0
1
0
1
0
1
2
0
0
0
0
0
1
0
0
1
1
1
0
0
0

可能是我現在很需要這方面的引路
所以不論是書籍或是IG圖文
都看到了關於「期待」的討論

究竟是要抱有期待呢
還是不期不待,不受傷害?

過程中有從不同的角度去探討
就我自己的綜合結論是

可以抱有合理的期待,並且做到課題分離

還是可以期待那些美好的事物出現在生活中
但是要分清楚哪些是自己可控的
針對不可控的就不要糾結內耗
可控的部分就盡自己所及的改善就好

畢竟如果什麼都不期待
生活也是會變得蠻乏味的

0
0
0
0

성평등을 ‘성평등’이라 말하지 못하고···민주당 젠더 공약 퇴보 조짐 www.khan.co.kr/article/2025... "민주당과 이 후보가 젠더 공약에 소극적인 데는 지난 대선에서 2030 남성의 지지를 받지 못해 패배했다는 인식이 작용한 것으로 해석된다. 민주당 여성위 관계자는 “당에선 이준석 개혁신당 후보 등이 2030 성별 갈라치기를 하며 ‘재미보는’ 것에 당하지 않겠다는 생각일 것”이라고 말했다."

성평등을 ‘성평등’이라 말하지 못하고···민주당 젠더 ...

0
2
1
0
0
1
1
0
0
0
1

Hey folks! We're excited to share a preview of a new API coming in 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder.

As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder pattern helps solve this by separating the configuration phase from instantiation.

Instead of this:

// federation.ts
import { createFederation } from "@fedify/fedify";

export const federation = createFederation<AppContext>({
  kv: new DbKvStore(), 
  queue: new RedisMessageQueue(),
  // Other options...
});

// Now we need to import this federation instance in other files
// to register dispatchers and listeners...

You can now do this:

// builder.ts
import { createFederationBuilder } from "@fedify/fedify";

export const builder = createFederationBuilder<AppContext>();

// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";

builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
  // Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";

builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
  .on(Follow, async (ctx, follow) => {
    // Follow handling
  });
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";

// Build the Federation object with actual dependencies
export const federation = await builder.build({
  kv: new DbKvStore(),
  queue: new RedisMessageQueue(),
  // Other options...
});

This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation instance.

The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!

Want to try it right now? You can install the development version from JSR or npm:

# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01

# Node.js
npm add @fedify/fedify@1.6.0-dev.777

# Bun
bun add @fedify/fedify@1.6.0-dev.777

0
0
0
0