[Fedify] ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ - Deprecated๋œ Loader API ์ œ๊ฑฐํ•˜๊ธฐ

2025. 9. 30. 02:13ยทFedify

Issue ๐Ÿ”— https://github.com/fedify-dev/fedify/issues/376

 

Remove deprecated APIs for Fedify 2.0 · Issue #376 · fedify-dev/fedify

Overview This issue tracks the removal of all deprecated APIs that need to be removed in Fedify 2.0.0 as part of the major version cleanup. APIs to Remove 1. Federation Configuration Remove documen...

github.com

 

Fedify 2.0์„ ๋Œ€๋น„ํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API๋“ค์„ ์ •๋ฆฌํ•˜๋Š” ์ด์Šˆ๊ฐ€ ์˜ฌ๋ผ์™”๋‹ค. ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์—†์• ์•ผํ•  API ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ฒ˜์Œ์—๋Š” API๋“ค์„ ์ „๋ถ€ ๋‹ค ์—†์• ๊ณ  PR์„ ์˜ฌ๋ฆด๊นŒ ํ–ˆ์ง€๋งŒ ๋ฉ˜ํ† ๋‹˜์˜ ์กฐ์–ธ์— ๋”ฐ๋ผ API๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•˜๊ณ  PR์„ ์˜ฌ๋ฆฌ๊ธฐ๋กœ ํ–ˆ๋‹ค.


1. documentLoader property ์‚ญ์ œ

documentLoader ์‚ญ์ œ PR ๐Ÿ”— https://github.com/fedify-dev/fedify/pull/393

 

fix: Remove documentLoader property from FederationOptions interface by crohasang · Pull Request #393 · fedify-dev/fedify

Summary Remove documentLoader property from FederationOptions interface (use documentLoaderFactory instead) Related Issue Implemented Remove deprecated APIs for Fedify 2.0 #376 Changes In fedif...

github.com

 

๋จผ์ €, ‘FederationOptions’ interface์— ์žˆ๋Š” ‘documentLoader’ property๋ฅผ ์—†์• ๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋Š” ์ด๋ฏธ ‘documentLoader’๋ฅผ ๋Œ€์‹ ํ•˜๋Š” ‘documentLoaderFactory’๊ฐ€ ์„ ์–ธ๋˜์–ด์žˆ์—ˆ๋‹ค.

  /**
   * A custom JSON-LD document loader.  By default, this uses the built-in
   * cache-backed loader that fetches remote documents over HTTP(S).
   * @deprecated Use {@link documentLoaderFactory} instead.
   */
  documentLoader?: DocumentLoader;

documentLoader๋Š” ActivityPub ๊ฐ์ฒด๋‚˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” JSON-LD ๋ฌธ์„œ๋ฅผ ์›๊ฒฉ URL์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋‚ด์žฅ๋œ ์บ์‹œ ๊ธฐ๋ฐ˜ ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์ปค์Šคํ…€ ๋กœ๋”๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฌธ์„œ ๋กœ๋”ฉ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

JSON-LD ๋ฌธ์„œ๊ฐ€ ๋ญ์ง€?

→ JSON-LD(JSON for Linked Data)๋Š” ๊ฐ„๋‹จํžˆ ๋งํ•ด '์˜๋ฏธ๊ฐ€ ๋ถ€์—ฌ๋œ JSON'์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ JSON ๋ฐ์ดํ„ฐ์— '์ด๊ฒƒ์€ ์‚ฌ๋žŒ ์ด๋ฆ„์ด์•ผ', '์ด๊ฒƒ์€ ์ฃผ์†Œ์•ผ' ์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ์™€ ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ์‹

 

์˜ˆ์‹œ

{
   "@context": "<https://schema.org/>",
   "@type": "Person",
   "name": "ํ™๊ธธ๋™",
   "homepage": "[<https://example.com>](<https://example.com/>)",
   "image": "<https://example.com/profile.jpg>"
}
  • @context : "์ด ๋ฌธ์„œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด๋“ค์€ https://schema.org์— ์ •์˜๋œ ์˜๋ฏธ๋ฅผ ๋”ฐ๋ฅผ ๊ฑฐ์•ผ"๋ผ๊ณ  ์„ ์–ธํ•˜๋Š” ๊ฒƒ → schema.org๋Š” ์›น์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ์šฉ์–ด(์‚ฌ๋žŒ, ์žฅ์†Œ, ์ด๋ฒคํŠธ ๋“ฑ)๋ฅผ ํ‘œ์ค€ํ™”ํ•œ ์ผ์ข…์˜ '์–ดํœ˜ ์‚ฌ์ „'
  • @type: "Person": ์ด ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ๋Š” '์‚ฌ๋žŒ(Person)'์— ๋Œ€ํ•œ ์ •๋ณด๋ผ๊ณ  ๋ช…ํ™•ํžˆ ์•Œ๋ ค์คŒ

์ด์ œ ์ปดํ“จํ„ฐ๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ดํ•ดํ•œ๋‹ค.

"์•„, ์ด๊ฑด schema.org ํ‘œ์ค€์— ์ •์˜๋œ '์‚ฌ๋žŒ(Person)'์— ๋Œ€ํ•œ ์ •๋ณด๊ตฌ๋‚˜. name์€ ๊ทธ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์ด๊ณ , homepage๋Š” ์›น์‚ฌ์ดํŠธ๊ตฌ๋‚˜."

 

๊ทธ๋Ÿฌ๋ฉด ์™œ documentLoader์—์„œ documentLoaderFactory๋กœ ๋ฐ”๊พธ๋Š” ๊ฑธ๊นŒ?

documentLoader๋Š” ์ •์ ์ธ ๊ฐ์ฒด์ธ ๋ฐ˜๋ฉด, documentLoaderFactory๋Š” ๋™์ ์ธ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜

 

documentLoader

documentLoader๋Š” Federation ๊ฐ์ฒด๊ฐ€ ์ฒ˜์Œ ๋งŒ๋“ค์–ด์งˆ ๋•Œ ๋‹จ ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋Š” ๊ณ ์ •๋œ ๋กœ๋” ๊ฐ์ฒด๋‹ค.

→ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด์ง€๋ฉด, ๋ชจ๋“  JSON-LD ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์š”์ฒญ์€ ํ•ญ์ƒ ์ด ๋™์ผํ•œ ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

 

documentLoaderFactory

๊ทธ์— ๋น„ํ•ด documentLoaderFactory๋Š” JSON-LD ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•  ํ•„์š”๊ฐ€ ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค, ๊ทธ ์ƒํ™ฉ์— ๋งž๋Š” ‘DocumentLoader’ ๊ฐ์ฒด๋ฅผ ์ฆ‰์„์—์„œ ์ƒ์„ฑํ•˜๋Š” ๊ณต์žฅ(Factory) ์—ญํ• ์„ ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 
๋ฐฉ์‹

1. JSON-LD ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒ

2. Fedify๋Š” documentLoaderFactory ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ

3. ํ˜„์žฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์ •๋ณด(์˜ˆ: "์ด ์š”์ฒญ์€ 'user-A'์˜ ๊ถŒํ•œ์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ฑฐ์•ผ")์™€ ๊ฐ™์€ ์ปจํ…์ŠคํŠธ๋ฅผ Factory ํ•จ์ˆ˜์— ์ „๋‹ฌ ๊ฐ€๋Šฅ

4. Factory ํ•จ์ˆ˜๋Š” ์ด ์ปจํ…์ŠคํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์ฆ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋งž์ถคํ˜• DocumentLoader ๊ฐ์ฒด๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜

5. Fedify๋Š” ๋ฐฉ๊ธˆ ๋งŒ๋“ค์–ด์ง„ ์ด ๋งž์ถคํ˜• ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์„œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ด

 

์ฆ‰, documentLoader๋ฅผ documentLoaderFactory๋กœ ๋ฐ”๊พผ ์ด์œ ๋Š” ์ •์ ์ธ 'ํ•˜๋‚˜์˜ ๋„๊ตฌ'๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์—์„œ, ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ƒํ™ฉ์— ๋งž๋Š” '๋งž์ถคํ˜• ๋„๊ตฌ'๋ฅผ ์ฆ‰์„์—์„œ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ํ›จ์”ฌ ๋” ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

 

 

์ฝ”๋“œ ๋ณ€๊ฒฝ

๋จผ์ €, fedify/src/federation/federation.ts์—์„œ documentLoader ์†์„ฑ์„ ์—†์•ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  cli/src/inbox.tsx์—์„œ createFederation์— documentLoader๋ฅผ ์ง์ ‘ ์ „๋‹ฌํ•˜๋Š” ๋Œ€์‹ , getDocumentLoader() ํ•จ์ˆ˜๋กœ ๋กœ๋”๋ฅผ ๋”ฑ ํ•œ๋ฒˆ ๋งŒ๋“ค๊ณ  ๊ณ„์† ๋™์ผํ•œ ๋กœ๋”๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

 

fedify/src/federation/middleware.ts์—์„œ๋Š” documentLoader๋ฅผ documentLoaderFactory ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด์„œ, allowPrivateAddress์™€ userAgent ๊ฒ€์‚ฌ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, documentLoaderFactory์„ ํ†ตํ•ด ํ•ด๋‹น ์†์„ฑ๋“ค์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ, fedify/src/federation/middleware.test.ts์—์„œ๋Š” ๋ณ€๊ฒฝ๋œ ๊ธฐ๋Šฅ์— ๋งž์ถฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ documentLoaderFactory ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค.

 

๋˜ํ•œ, ํ…Œ์ŠคํŠธ ๊ฐ„์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์—ญํ• ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ ์ž ์ด์ „์—๋Š” ํ•˜๋‚˜๋กœ ์‚ฌ์šฉํ•˜๋˜ ํ…Œ์ŠคํŠธ์šฉ ๊ฐ€์งœ ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ์ผ๋ฐ˜ ๊ฐ์ฒด ์กฐํšŒ์šฉ(/object)๊ณผ ์ธ์ฆ ํ™•์ธ์šฉ(/auth-check)์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ถ„๋ฆฌํ–ˆ๋‹ค.

 


2. contextLoader property ์‚ญ์ œ

contextLoader ์‚ญ์ œ PR ๐Ÿ”— https://github.com/fedify-dev/fedify/pull/393 

 

fix: Remove documentLoader property from FederationOptions interface by crohasang · Pull Request #393 · fedify-dev/fedify

Summary Remove documentLoader property from FederationOptions interface (use documentLoaderFactory instead) Related Issue Implemented Remove deprecated APIs for Fedify 2.0 #376 Changes In fedif...

github.com

 

๊ทธ๋ฆฌ๊ณ  ์ด์ œ contextLoader property๋ฅผ ์‚ญ์ œํ•ด๋ณด์ž. ์œ„์—์„œ documentLoader๋Š” ActivityPub ๊ฐ์ฒด๋‚˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” JSON-LD ๋ฌธ์„œ๋ฅผ ์›๊ฒฉ URL์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ทธ๋Ÿฌ๋ฉด contextLoader๋Š” ๋ฌด์—‡์ผ๊นŒ?

→ contextLoader๋Š” JSON-LD ๋ฌธ์„œ์˜ ์˜๋ฏธ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ @context๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ActivityPub์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹์ธ JSON-LD๋Š” @context๋ผ๋Š” ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด @context ํ•„๋“œ์—๋Š” ์ฃผ๋กœ ‘์–ดํœ˜ ์‚ฌ์ „’ ํŒŒ์ผ์˜

์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” URL์ด ๋“ค์–ด๊ฐ„๋‹ค. ์ด ์‚ฌ์ „์„ ์ฐธ์กฐํ•จ์œผ๋กœ์จ, ์ปดํ“จํ„ฐ๋Š” "์ด ๋ฌธ์„œ์—์„œ Person์€ '์‚ฌ์šฉ์ž ํ”„๋กœํ•„'์„, Note๋Š” '๊ฒŒ์‹œ๋ฌผ'์„ ์˜๋ฏธํ•œ๋‹ค"์™€ ๊ฐ™์ด ๊ฐ ์šฉ์–ด์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์ฝ”๋“œ ๋ณ€๊ฒฝ

๋จผ์ €, fedify/src/federation/federation.ts์—์„œ contextLoader ์†์„ฑ์„ ์—†์•ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  fedify/src/federation/middleware.ts์—์„œ๋Š” allowPrivateAddress ๊ฐ™์€ ๋ณด์•ˆ ์˜ต์…˜์„ ์ผฐ๋‹ค๋ฉด, documentLoaderFactory์™€ contextLoaderFactory๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

 

fedify/src/federation/middleware.test.ts์—์„œ๋Š” contextLoader๋ฅผ contextLoaderFactory๋กœ ๊ต์ฒดํ•ด์ฃผ์—ˆ๋‹ค.


์ด๋ ‡๊ฒŒ documentLoader์™€ contextLoader, ๋‘ ๊ฐœ์˜ API๋ฅผ ์ •๋ฆฌํ–ˆ๋‹ค. ์ด๋ฒˆ ์ž‘์—…์„ ํ†ตํ•ด documentLoader์™€ contextLoader๊ฐ€ Fedify์—์„œ ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด Loader๋“ค์„ Factory ํ•จ์ˆ˜๋“ค๋กœ ๋Œ€์ฒดํ•จ์œผ๋กœ์จ ๋‹จ์ผ ๋กœ๋” ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜ ์ƒํ™ฉ์— ๋งž๋Š” ๋งž์ถคํ˜• ๋กœ๋”๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถœ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์œ„์— ์–ธ๊ธ‰ํ–ˆ๋˜ ์ด์Šˆ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋ณด๋ฉด Loader๋“ค ์ด์™ธ์—๋„ CreateFederationOptions, fetchDocumentLoader ๋“ฑ ์ •๋ฆฌํ•ด์•ผ๋  API๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์กด์žฌํ•œ๋‹ค. ์ด API๋“ค์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…์„ ์•ž์œผ๋กœ๋„ ๊ณ„์† ํ•œ๋‹ค๋ฉด Fedify๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Fedify' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Fedify] ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ - ํ„ฐ๋ฏธ๋„์ด ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ƒ‰์ƒ์„ ๋นผ๋ณด์ž  (3) 2025.08.05
[Fedify] ์ฒซ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณด์ž  (2) 2025.07.20
[Fedify] ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•˜๋ฉฐ ๋‚˜๋งŒ์˜ ์—ฐํ•ฉ์šฐ์ฃผ ๋งˆ์ดํฌ๋กœ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์ž  (0) 2025.07.20
'Fedify' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Fedify] ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ - ํ„ฐ๋ฏธ๋„์ด ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ƒ‰์ƒ์„ ๋นผ๋ณด์ž
  • [Fedify] ์ฒซ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณด์ž
  • [Fedify] ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•˜๋ฉฐ ๋‚˜๋งŒ์˜ ์—ฐํ•ฉ์šฐ์ฃผ ๋งˆ์ดํฌ๋กœ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์ž
ํ€ต์ฐจ๋ถ„
ํ€ต์ฐจ๋ถ„
Web Developer ๐Ÿฅ
  • ํ€ต์ฐจ๋ถ„
    QC's Devlog
    ํ€ต์ฐจ๋ถ„
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178)
      • Frontend (31)
      • Fedify (4)
      • Study (42)
        • NestJS (2)
        • Node.js (3)
        • Modern JS Deep Dive (13)
        • SQL (1)
        • Network (1)
        • ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง (4)
        • ์ธ๊ณต์ง€๋Šฅ (9)
        • ์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ (11)
        • ์„ ํ˜•๋Œ€์ˆ˜ํ•™ (1)
      • Intern (4)
      • KUIT (21)
      • Algorithm (48)
        • Baekjoon(C++) (26)
        • Programmers(JavaScript) (22)
      • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • Project (10)
        • crohasang_page (3)
        • PROlog (4)
        • Nomadcoder (2)
      • ์ƒ๊ฐ (4)
      • Event (7)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    HTML
    ์˜ค๋ธ”์™„
    ๋ฐฑ์ค€
    KUIT
    ์Œ์•…์ถ”์ฒœ
    fedify
    ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
    ๋ฆฌ์•กํŠธ
    typescript
    next.js
    ์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์ธ๊ณต์ง€๋Šฅ
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    react
    ํ”„๋ก ํŠธ์—”๋“œ
    javascript
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
ํ€ต์ฐจ๋ถ„
[Fedify] ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ - Deprecated๋œ Loader API ์ œ๊ฑฐํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”