Feathers: ๊นƒํ„ธ Auk ๋ฆด๋ฆฌ์Šค

์— ๋งŒ๋“  2016๋…„ 04์›” 13์ผ  ยท  22์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: feathersjs/feathers

๊นƒํ„ธ ์˜ฅ

์ด๊ฒƒ์€ ๋ชจ๋“  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ์›€์ง์ด๋Š” ๋ถ€๋ถ„์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฆด๋ฆฌ์Šค ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ƒ ๊ณต์‹ ์ถœ์‹œ ๋‚ ์งœ๋Š” 2016๋…„ 4๋ถ„๊ธฐ์ž…๋‹ˆ๋‹ค.

์ด ๋ฆด๋ฆฌ์Šค์˜ ์ฃผ์š” ์ดˆ์ ์€ ์ฃผ์š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ์ผ๋ถ€ ๋ณด์กฐ ์„œ๋น„์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ „ํˆฌ ํ…Œ์ŠคํŠธ ํ›„ ์ธ์ฆ์„ ๊ฐ•ํ™”ํ•˜๊ณ , ๋ฏธ๋ž˜์— ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๋„๋ก CLI ๋ฐ Generator๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ๋” ๋งŽ์€ ๋ฌธ์„œ์™€ ์˜ˆ์ œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

imgp0339
_Auk๋Š” ๋‹น์‹ ์—๊ฒŒ ๋งค์šฐ ์†Œ๋ฆ„ ๋ผ์น˜๊ณ  ๋ƒ‰์ •ํ•œ ์‘์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค_

์ฝ”์–ด ๋ฐ ์ฝ”์–ด ๋ชจ๋“ˆ

  • [x] [feathers-config์—์„œ JSON ์™ธ์— JS ๊ตฌ์„ฑ ํŒŒ์ผ ์ง€์›](https://github.com/feathersjs/feathers-configuration/issues/12).
  • [x] ๊ณตํ†ต ํ›„ํฌ๋ฅผ ์ž์ฒด ์ €์žฅ์†Œ์— ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๊นƒํ„ธ ๊ฐˆ๊ณ ๋ฆฌ ๊ณตํ†ต
  • [x] [JSON ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ](https://github.com/feathersjs/feathers-bootstrap)
  • [x] ์„œ๋น„์Šค์˜ ๋น„๋™๊ธฐ ์ดˆ๊ธฐํ™” ๋˜๋Š” ๊ธฐํƒ€ ์ง€์›. _feathers -bootstrap ์„ ํ†ตํ•ด ์ˆ˜ํ–‰ _
  • [x] feathers-reactive ๋ฅผ ํ†ตํ•œ "๋ผ์ด๋ธŒ ์ฟผ๋ฆฌ"
  • [x] [ํ›„ํฌ์— first , last , error ์ง€์› ์ถ”๊ฐ€](https://github.com/feathersjs/feathers-hooks/pull/110)

    ์ž…์ฆ

  • [x] [๊นƒํ„ธ ์ธ์ฆ 1.0](https://github.com/feathersjs/feathers-authentication/milestones/1.0)

์„œ๋น„์Šค ์–ด๋Œ‘ํ„ฐ

[ํŽธ์ง‘] ์—ฌ๊ธฐ์—์„œ ์ผ๋ถ€ ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๊ฒƒ์„ ์‹ค์ œ๋กœ ์†Œ์œ ํ•˜๊ณ  ํ•ต์‹ฌ ํŒ€์˜ ์ผ์›์ด ๋˜๊ณ  ์‹ถ์–ดํ•œ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” โค๏ธ ์•ฝ๊ฐ„์˜ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2017๋…„ ์–ด๋Š ์ •๋„๊นŒ์ง€๋Š” ๊ณต์‹์ ์œผ๋กœ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด CLI ๋ฐ ์ƒ์„ฑ๊ธฐ

์ง„ํ–‰ ์ค‘

  • [x] [๊นƒํ„ธ CLI 2.0](https://github.com/feathersjs/feathers-cli/milestones/2.0)
  • [x] [๊นƒํ„ธ ์ƒ์„ฑ๊ธฐ 1.0](https://github.com/feathersjs/feathers-generator/milestones/1.0)

๋ฌธ์„œ ๋ฐ ๊ฐ€์ด๋“œ

  • [x] [Vue.js ์ฑ„ํŒ… ์•ˆ๋‚ด](https://github.com/feathersjs/feathers-docs/pull/152) _@niallobrien_์˜ ์ •์„ฑ ๐ŸŽ‰
  • [ ] [Sequelize์™€์˜ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„](https://github.com/feathersjs/feathers-docs/issues/51) _@ekryski ์ง„ํ–‰ ์ค‘_
  • [x] [์†Œ์…œ ๋กœ๊ทธ์ธ ๋ฐฉ๋ฒ•](https://github.com/feathersjs/feathers-docs/issues/60)
  • [x] [ํ›…์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ง๋ ฌํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•](https://github.com/feathersjs/feathers-docs/issues/134)
  • [x] [๋‹ค์ค‘ ๋ถ€ํ’ˆ ์–‘์‹ ๋ฐ์ดํ„ฐ](https://github.com/feathersjs/feathers-docs/issues/111)
  • [x] [์‚ฌ์šฉ์ž ์ง€์ • ํ˜•์‹ ์˜ค๋ฅ˜](https://github.com/feathersjs/feathers-docs/issues/122)
  • [ ] [Heroku์— ๋ฐฐํฌ](https://github.com/feathersjs/feathers-docs/issues/66) _@ekryski ์ง„ํ–‰ ์ค‘_
  • [ ] [Feathers ์•ฑ ๋„ํ‚น](https://github.com/feathersjs/feathers-docs/issues/63) _@slajax ์ง„ํ–‰ ์ค‘_
  • [ ] [ํด๋Ÿฌ์Šคํ„ฐํ˜• ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค](https://github.com/feathersjs/feathers-docs/issues/70)
  • [x] [์ข€ ๋” ์ ‘๊ทผํ•˜๊ธฐ ์‰ฝ๊ณ  API ์ค‘์‹ฌ์ ์ด๋ฉฐ ๋” ๋น ๋ฅด๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šฌ๋ฆผํ™” ๋ฐ ์žฌ๊ตฌ์„ฑ](https://github.com/feathersjs/feathers-docs/issues/251)
  • [ ] [๊ฐ€์ด๋“œ๋ฅผ Medium์œผ๋กœ ์ด๋™](https://github.com/feathersjs/feathers-docs/issues/250)

    ์˜ˆ

  • [x] [์ธ์ฆ์„ ์œ„ํ•ด Auth0 ์‚ฌ์šฉ](https://github.com/feathersjs/feathers-demos/issues/10)

  • [x] [์†Œ์…œ ๋กœ๊ทธ์ธ ๋ฐฉ๋ฒ•](https://github.com/feathersjs/feathers-demos/issues/3)
  • [x] [์„œ๋ฒ„ ์ธก ํ…œํ”Œ๋ฆฟ ๋ Œ๋”๋ง ๋ฐฉ๋ฒ•](https://github.com/feathersjs/feathers-demos/issues/8)
  • [ ] [Sequelize์™€์˜ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„](https://github.com/feathersjs/feathers-demos/issues/9) _์ง„ํ–‰ ์ค‘ @ekryski_
  • [x] [๋™ํ˜• ๋ฆฌ์•กํŠธ ์Šคํƒ€ํ„ฐ](https://github.com/feathersjs/feathers-demos/issues/2)
Discussion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ชจ๋‘์˜ ์ธ๋‚ด์‹ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Auk์˜ 90%๋Š” ์ด๋ฏธ ์™„์„ฑ๋˜์—ˆ์ง€๋งŒ ๋งŽ์€ ํ˜ผ๋ž€์ด ๋ฌธ์„œ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฑฐ์˜ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@daffl ๊ณผ ๋Œ€ํ™”ํ•œ ํ›„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๋นจํŒ์„ ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ์—…๋ฐ์ดํŠธ(์ฃผ๋ฌธ ๋ฌธ์ œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค...

  • [x] ์ธ์ฆ API ๋ฌธ์„œ
  • [x] ํ›„ํฌ ๋ฌธ์„œ
  • [x] feathers-hooks-common ์˜ v3์„ ์ผ๋ฐ˜ ๋ฉ”์ธ๋ผ์ธ ๋ฆด๋ฆฌ์Šค๋กœ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] ์ฑ„ํŒ… ๊ฐ€์ด๋“œ ์—…๋ฐ์ดํŠธ
  • [x] auk ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉ
  • [x] Finalize Feathers ๊ธฐ๋ณธ ๊ฐ€์ด๋“œ
  • [x] ๋‚จ์€ ๋ฐœ์ „๊ธฐ ์ˆ˜์ • ์‚ฌํ•ญ

    • [x] ๋ฐœ๊ฒฌ๋œ ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ

    • [x] feathers-common-hooks ์—…๋ฐ์ดํŠธ

    • [x] feathers-authentication ์—…๋ฐ์ดํŠธ

    • [x] ์‚ฌ์šฉ์ž ์•”ํ˜ธ๋ฅผ ์ œ๊ฑฐํ–ˆ๋Š”์ง€ ํ™•์ธ

  • [x] ์ผ๋ฐ˜ ๋ฉ”์ธ๋ผ์ธ ๋ฆด๋ฆฌ์Šค๋กœ ์ƒ์„ฑ๊ธฐ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] feathers-cli๋ฅผ ์ผ๋ฐ˜ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋กœ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] ๊นƒํ„ธ ์ฑ„ํŒ… ์—…๋ฐ์ดํŠธ ๋ณ‘ํ•ฉ
  • [x] feathers-client API ๋ฌธ์„œ ์™„๋ฃŒ
  • [x] Feathers RN ์ฑ„ํŒ… ์•ฑ ์—…๋ฐ์ดํŠธ
  • [ ] ์ด์ „/์ œ์•ˆ๋œ ๊ฐ€์ด๋“œ๋ฅผ ๊ฐ€์ด๋“œ ์„น์…˜์œผ๋กœ ์ด๋™/์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋งค์ฒด์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ๋กœ ์ด๋™
  • [x] feathers-docs master ๋ถ„๊ธฐ์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  pre-auk ๋ถ„๊ธฐ๋ฅผ ์ž๋ฆ…๋‹ˆ๋‹ค(์ด๋ฆ„์€ ์•„์ง ๋ฏธ์ •).
  • [x] feathers-docs auk ๋ฅผ master ์— ๋ณ‘ํ•ฉํ•˜๊ณ  ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • [x] ์ถœ์‹œ ๋ฐœํ‘œ!

์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ์•ฝ๊ฐ„์˜ ๋ฒ”์œ„๊ฐ€ (์ผ๋ถ€๋Š” ์ •๋‹นํ™”๋˜๊ณ  ์ผ๋ถ€๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Œ) ์žˆ์—ˆ์ง€๋งŒ ๋งŽ์€ ์งˆ๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์„ ๋„์™”๊ณ  ์ˆ˜๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๊ฝค ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. .

๋ชจ๋“  22 ๋Œ“๊ธ€

Feathers Apple ํ‘ธ์‹œ ์•Œ๋ฆผ 1.0
Feathers Google ํ‘ธ์‹œ ์•Œ๋ฆผ 1.0

์ด ๋‘ ์„œ๋น„์Šค๊ฐ€ ์ค€๋น„ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋˜๋Š” ๊ธˆ์•ก์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ?

#254์—์„œ ์•ฝ๊ฐ„์˜ ๋…ผ์˜๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€ ๋” ์ด์ƒ์˜ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„์ง ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„ ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์˜ ๋กœ๋“œ๋งต์—์„œ ์ œ์™ธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Twitter ์ธ์ฆ์ด Auk ๋‚ด์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๊นŒ?

@thosakwe ๋„ค, @ekryski ๋Š” Twitter OAuth๋ฅผ ๋ฆด๋ฆฌ์Šค์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŽ‰

[email protected] ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊นƒํ„ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. feathers-authentication-management ๋ชจ๋“ˆ(auk์˜ ์ผ๋ถ€์ž„)์ด ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฝค ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ €๋Š” auk ๋ฆด๋ฆฌ์Šค๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋ฆฌ๋ฆด๋ฆฌ์ฆˆ npm install ๋งŒ ์‚ฌ์šฉํ•˜์ง€๋งŒ feathers-cli ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ uk ๋ฆด๋ฆฌ์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ฐธ๊ณ ๋กœ feathers-authentication-management ๋Š” feathers ๋ฐ feathers-authentication ์˜ ํ˜„์žฌ pre-Auk ๋ฒ„์ „์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ‹์ง„! @eddyystop ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ณด๊ฒŒ ๋˜์–ด ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ SPA๋ฅผ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๋ฏ€๋กœ ๋ฒ„์ „ 2๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์•„๋‹ˆ๋ฉด AUK๊ฐ€ ํ”„๋กœ๋•์…˜ ์ค€๋น„๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ถœ์‹œ์ผ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@lobosan ๋‹ค์Œ ์„ ์‹คํ–‰ํ•˜์—ฌ ์ƒˆ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npm install feathers-cli<strong i="7">@pre</strong> -g
mkdir testproject
cd testproject
feathers generate app

@daffl ๋‹น์‹ ์€ feathers-cli ์„ค์น˜๋ฅผ ์œ„ํ•ด -g๋ฅผ ์žŠ์—ˆ์Šต๋‹ˆ๊นŒ?

๋„ค ํ™•์‹คํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋‘์˜ ์ธ๋‚ด์‹ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Auk์˜ 90%๋Š” ์ด๋ฏธ ์™„์„ฑ๋˜์—ˆ์ง€๋งŒ ๋งŽ์€ ํ˜ผ๋ž€์ด ๋ฌธ์„œ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฑฐ์˜ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@daffl ๊ณผ ๋Œ€ํ™”ํ•œ ํ›„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๋นจํŒ์„ ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ์—…๋ฐ์ดํŠธ(์ฃผ๋ฌธ ๋ฌธ์ œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค...

  • [x] ์ธ์ฆ API ๋ฌธ์„œ
  • [x] ํ›„ํฌ ๋ฌธ์„œ
  • [x] feathers-hooks-common ์˜ v3์„ ์ผ๋ฐ˜ ๋ฉ”์ธ๋ผ์ธ ๋ฆด๋ฆฌ์Šค๋กœ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] ์ฑ„ํŒ… ๊ฐ€์ด๋“œ ์—…๋ฐ์ดํŠธ
  • [x] auk ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉ
  • [x] Finalize Feathers ๊ธฐ๋ณธ ๊ฐ€์ด๋“œ
  • [x] ๋‚จ์€ ๋ฐœ์ „๊ธฐ ์ˆ˜์ • ์‚ฌํ•ญ

    • [x] ๋ฐœ๊ฒฌ๋œ ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ

    • [x] feathers-common-hooks ์—…๋ฐ์ดํŠธ

    • [x] feathers-authentication ์—…๋ฐ์ดํŠธ

    • [x] ์‚ฌ์šฉ์ž ์•”ํ˜ธ๋ฅผ ์ œ๊ฑฐํ–ˆ๋Š”์ง€ ํ™•์ธ

  • [x] ์ผ๋ฐ˜ ๋ฉ”์ธ๋ผ์ธ ๋ฆด๋ฆฌ์Šค๋กœ ์ƒ์„ฑ๊ธฐ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] feathers-cli๋ฅผ ์ผ๋ฐ˜ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋กœ ๋ฆด๋ฆฌ์Šค(ํ˜„์žฌ ์‹œํ—˜ํŒ)
  • [x] ๊นƒํ„ธ ์ฑ„ํŒ… ์—…๋ฐ์ดํŠธ ๋ณ‘ํ•ฉ
  • [x] feathers-client API ๋ฌธ์„œ ์™„๋ฃŒ
  • [x] Feathers RN ์ฑ„ํŒ… ์•ฑ ์—…๋ฐ์ดํŠธ
  • [ ] ์ด์ „/์ œ์•ˆ๋œ ๊ฐ€์ด๋“œ๋ฅผ ๊ฐ€์ด๋“œ ์„น์…˜์œผ๋กœ ์ด๋™/์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋งค์ฒด์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ๋กœ ์ด๋™
  • [x] feathers-docs master ๋ถ„๊ธฐ์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  pre-auk ๋ถ„๊ธฐ๋ฅผ ์ž๋ฆ…๋‹ˆ๋‹ค(์ด๋ฆ„์€ ์•„์ง ๋ฏธ์ •).
  • [x] feathers-docs auk ๋ฅผ master ์— ๋ณ‘ํ•ฉํ•˜๊ณ  ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • [x] ์ถœ์‹œ ๋ฐœํ‘œ!

์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ์•ฝ๊ฐ„์˜ ๋ฒ”์œ„๊ฐ€ (์ผ๋ถ€๋Š” ์ •๋‹นํ™”๋˜๊ณ  ์ผ๋ถ€๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Œ) ์žˆ์—ˆ์ง€๋งŒ ๋งŽ์€ ์งˆ๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์„ ๋„์™”๊ณ  ์ˆ˜๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๊ฝค ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. .

์ด๊ฒƒ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜„

์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ„์ ˆํžˆ ๋ฐ”๋ผ๋Š” "RELEASE ANNOUNCEMENT!"
์ž˜ ํ–ˆ์–ด!

์ด๋ฒˆ ์ฃผ ์ดˆ์— ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋ฐฐ์†กํ–ˆ์œผ๋ฉฐ ์ด์ „ ๋ฌธ์„œ๋ฅผ https://legacy.docs.feathersjs.com/์œผ๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ด๋“œ์˜ ์ผ๋ถ€ ์„น์…˜์€ ์•ฝ๊ฐ„์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์ „๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  API ๋ฌธ์„œ๊ฐ€ ์ œ์ž๋ฆฌ์— ์žˆ๊ณ  ์ตœ์‹  ์ƒํƒœ์ด๋ฉฐ ์‹œํ—˜ํŒ์ด์—ˆ๋˜ ๋ชจ๋“  ๋ชจ๋“ˆ์ด ๊ณต์‹์ ์œผ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ์ด์ œ ๊ณต์‹์ ์œผ๋กœ ํ์‡„๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ’ฅ

๋ฆด๋ฆฌ์Šค ๋ฐœํ‘œ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ https://blog.feathersjs.com/the-auk-takes-flight-c4b3c070c6d์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ๋Š” Medium์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ๋กœ ์ด์ „ ๊ฐ€์ด๋“œ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์˜ˆ์ •์ด์ง€๋งŒ ๊ทธ ๋™์•ˆ์—๋Š” ๋‹ค์Œ ์œ„์น˜์—์„œ ๊ณ„์† ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค!!!

๋„ˆ๋ฌด ๋ฉ‹์ง„ ๋…€์„๋“ค. ๋‹น์‹ ์˜ ํ›Œ๋ฅญํ•œ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
์–ธ์  ๊ฐ€๋Š” ์ฃผ์š” ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์ž˜ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ฉ‹์ง„ JavaScript ํ™˜๊ฒฝ๊ณผ ํ”Œ๋žซํผ์„ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์œ ์„ฑ์ด ๋ง‰ ๋‚˜์™”์„ ๋•Œ์™€ ๊ฐ™์€ ๋งˆ๋ฒ• ๊ฐ™์€ ๊ฒƒ. ๊ทธ ํ”Œ๋žซํผ์—์„œ ๋‚˜๋Š” ์‰ฝ๊ฒŒ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์„ ์‚ฌ๋ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‹ค์‹œ๊ฐ„ Enterprise๋ฅผ ๊ธฐ๋ก ์‹œ๊ฐ„์— ์ค€๋น„ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ๋ฐ ํ…Œ์ŠคํŠธ ๋ผ์ด๋ธŒ ์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜์˜ ๋ช…๋ น์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด ํ•œ ๊ณณ๋ฟ์ž…๋‹ˆ๋‹ค.

PHP, MySQL, PostgreSQL, WordPress, JQuery, Joomla, ExtJS, Java, C, C++, Windows์—์„œ ์˜จ ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ •๋ง ๋ฉ‹์ง„ ์ผ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณด๋‹ค ๊ฐœ๋ฐฉ์ ์ด๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ์ง„๋ณด์ ์ธ ํ”Œ๋žซํผ์„ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • FeathersJS AUK(๋ฐฑ์—”๋“œ)
  • VueJS, ReactJS, ํด๋ฆฌ๋จธ, Angular, Inferno(ํ”„๋ก ํŠธ์—”๋“œ)
  • ๋ชจ๋ฐ”์ผ ํผ์ŠคํŠธ, ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ, IO, Windows, ์›น, ๋ฐ์Šคํฌํƒ‘(์œ ๋‹ˆ๋ฒ„์„ค)
  • ์˜คํ”„๋ผ์ธ, ๋ฐ˜์‘ํ˜•, ์‹ค์‹œ๊ฐ„, ํ‘ธ์‹œ ์•Œ๋ฆผ, SSR, SEO ์นœํ™”์ , ๊ธฐ๋ณธ, ๋น ๋ฅด๊ณ , ์•ˆ์ „ํ•œ
  • Graphql, Rest API, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ(์Šคํ‚ค๋งˆ)
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์ง€๋งŒ ArangoDB ๋˜๋Š” CauchDB , MongoDB, Redis, Neo4J ์กฐํ•ฉ๊ณผ ๊ฐ™์€ ๋‹ค์ค‘ ๋ชจ๋ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์šฐ์„  ์ˆœ์œ„ ๋ถ€์—ฌ
  • ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ VueJS ์ƒํƒœ ํ‘œ์‹œ๊ธฐ๊ฐ€ ์žˆ๋Š” ์ง€๋Šฅํ˜• CLI๋ฅผ ํ†ตํ•ด ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ๋ณด์•ˆ ๊ณ„์ธต์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ GraphCool๊ณผ ๊ฐ™์€ ๊ตฌ์ถ• ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ๋‚ด ๊ฟˆ์˜ ํ”Œ๋žซํผ์€ ๋””๋ฒ„๊น… ๋„๊ตฌ, ์„ฑ๋Šฅ ์กฐ์–ธ ๋ฐ ๋ณด์•ˆ ์ธ์‹์œผ๋กœ ๊ฐ€๋“ ์ฐฌ ์›น ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์œผ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹ค์‹œ๊ฐ„, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ง€์›, PWA๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Meteor๋Š” ๋ฏธํ™” 3,000๋งŒ ๋‹ฌ๋Ÿฌ๋ฅผ ์ง€์ถœํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Feathers๋Š” ์™ธ๋ถ€ ์ž๊ธˆ์ด ์—†๋Š” 6๋ช…์˜ ์‹œ๊ฐ„์ œ ์ง์›์˜ ํ•ต์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ Feathers ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.

์–ธ๊ธ‰ํ•œ ํ•ญ๋ชฉ ์ค‘ ํ•˜๋‚˜์—์„œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์œ„ ๋‹ต๋ณ€์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์–ธ๊ธ‰ํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ Feathers ํŒ€์˜ ๋˜ ๋‹ค๋ฅธ ํ•ด ๋™์•ˆ ๊ฑฐ์˜ ๊ฐ์‚ฌํ•˜์ง€ ์•Š์€ ์ผ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

Feathers ํŒ€์— ๊ฐ์‚ฌ์™€ ์ถ•ํ•˜๋ฅผ ์ „ํ•ฉ๋‹ˆ๋‹ค!

"๊ฟˆ์˜ ํ”Œ๋žซํผ" ๋Œ“๊ธ€๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋„ˆ๋ฌด ๋งŽ์€ ๋งˆ๋ฒ•์€ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ œ์–ด๋ ฅ์„ ๋–จ์–ด๋œจ๋ฆฝ๋‹ˆ๋‹ค. Feather์˜ ๋ชจ๋“ˆ์‹ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ "๋…ธ๋“œ ๋ฐฉ์‹"์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ˜ โœŒ๏ธ

์ด ๋ฌธ์ œ๋Š” ๋‹ซํžŒ ํ›„ ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„๊ทธ์— ๋Œ€ํ•ด์„œ๋Š” ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ๋Š” ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ฌ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰