Firebase-tools: ๋ฐฐํฌ ๋‚˜์—ด ๋ฐ ์‚ญ์ œ

์— ๋งŒ๋“  2016๋…„ 09์›” 02์ผ  ยท  62์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: firebase/firebase-tools

Firebase ํ˜ธ์ŠคํŒ… ์‚ฌ์šฉ๋Ÿ‰์ด ์ด์ œ ๊ฑฐ์˜ 1GB์ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์›น ์‚ฌ์ดํŠธ๊ฐ€ 20MB์— ๋ถˆ๊ณผํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ฐ์•ˆํ•  ๋•Œ ์ƒ๋‹นํžˆ ๋งŽ์Šต๋‹ˆ๋‹ค.

nowaker@nwkr-desktop ~/projekty/virtkick/website (git)-[master] % du -hs build 
20M     build

๋ชจ๋“  ์ด์ „ ๋ฐฐํฌ๋Š” Firebase์—์„œ ์œ ์ง€๋˜๋ฉฐ https://console.firebase.google.com/project/PROJECTNAME/hosting/main ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

90๊ฐœ์˜ ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์€ ์˜์‹ฌ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. CLI๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

hosting feature request

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

์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์ธ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฒ„์ „์˜ ์—ญ์‚ฌ๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค(์ด ๋Œ“๊ธ€์— ์ด๋ชจํ‹ฐ์ฝ˜์œผ๋กœ ํˆฌํ‘œ): ์–ด๋–ค ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๊นŒ?

  • :tada: ์ด์ „ ๋ฒ„์ „์„ ๋‚˜์—ดํ•˜๊ณ  ์ผ๊ด„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ
  • :+1: ์ด์ „ ๋ฒ„์ „์€ ์–ด๋–ค ์‹์œผ๋กœ๋“  "๊ณ ์ •"๋˜์ง€ ์•Š๋Š” ํ•œ ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • :heart: ์–ด๋–ค ์‹์œผ๋กœ๋“  "๊ณ ์ •"๋˜์ง€ ์•Š๋Š” ํ•œ ํŠน์ • ์ˆ˜์˜ ์ด์ „ ๋ฒ„์ „๋งŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

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

@Nowaker ์ด๊ฒƒ์€ ํ™•์‹คํžˆ ์šฐ๋ฆฌ์˜ ๋ ˆ์ด๋”์— ์žˆ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @brendanlim ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ํ˜ธ์ŠคํŒ… ๋ชจ๋“ˆ์—์„œ ๋ฌดํ•œ ๋กœ๋”ฉ์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :(

๊ฐ์‚ฌ ํ•ด์š”!

Error: too_big: The data requested exceeds the maximum size that can be accessed with a single request. at r (rs=AON9PunUVzISsT9OTTHxul9qDyFtbYjNGA:8597) at H (third_party/javascript/firebase/firebase_js_minified.jslib:126) at Object.eval [as H] (third_party/javascript/firebase/firebase_js_minified.jslib:206) at eval (third_party/javascript/firebase/firebase_js_minified.jslib:190) at Kh.g.Id (third_party/javascript/firebase/firebase_js_minified.jslib:196) at yh.Id (third_party/javascript/firebase/firebase_js_minified.jslib:186) at qh.eval [as zg] (third_party/javascript/firebase/firebase_js_minified.jslib:184) at th (third_party/javascript/firebase/firebase_js_minified.jslib:178) at WebSocket.ua.onmessage (third_party/javascript/firebase/firebase_js_minified.jslib:177) at WebSocket.b [as __zone_symbol___onmessage] (rs=AON9PunUVzISsT9OTTHxul9qDyFtbYjNGA:8568) at w.invokeTask (rs=AON9PunUVzISsT9OTTHxul9qDyFtbYjNGA:8611) at u.runTask (rs=AON9PunUVzISsT9OTTHxul9qDyFtbYjNGA:8601) at WebSocket.invoke (rs=AON9PunUVzISsT9OTTHxul9qDyFtbYjNGA:8613)

@brendanlim @mbleigh ์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ์˜ ๋ฐฐํฌ ๊ธฐ๋ก์€ ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ CI๋Š” ํ•œ ๋ฒˆ์— ๋นŒ๋“œ๋˜๋ฉฐ, ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์„ ๋”ฐ๋ผ์žก๋Š” ๊ฒƒ์€ ์ธ๊ฐ„์˜ ๋Šฅ๋ ฅ ๋ฐ–์ž…๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์ธ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฒ„์ „์˜ ์—ญ์‚ฌ๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค(์ด ๋Œ“๊ธ€์— ์ด๋ชจํ‹ฐ์ฝ˜์œผ๋กœ ํˆฌํ‘œ): ์–ด๋–ค ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๊นŒ?

  • :tada: ์ด์ „ ๋ฒ„์ „์„ ๋‚˜์—ดํ•˜๊ณ  ์ผ๊ด„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ
  • :+1: ์ด์ „ ๋ฒ„์ „์€ ์–ด๋–ค ์‹์œผ๋กœ๋“  "๊ณ ์ •"๋˜์ง€ ์•Š๋Š” ํ•œ ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • :heart: ์–ด๋–ค ์‹์œผ๋กœ๋“  "๊ณ ์ •"๋˜์ง€ ์•Š๋Š” ํ•œ ํŠน์ • ์ˆ˜์˜ ์ด์ „ ๋ฒ„์ „๋งŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

"์ด์ „ ๋ฒ„์ „์„ ๋‚˜์—ดํ•˜๊ณ  ์ผ๊ด„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ"์€ ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค. API๋Š” ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ๋ˆ„๊ตฌ๋ฅผ ๊ดด๋กญํžˆ์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ๊ฒƒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ @mbleigh).

๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€๋Š” ๋†’์€ ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฉ‹์ง€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ API ๋˜๋Š” firebase-tools ๋ฅผ ํ†ตํ•ด ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜๊ฑฐ๋‚˜ ๊ณ ์ • ํ•ด์ œํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ƒ์ƒํ•  ์ˆ˜ ์žˆ๋“ฏ์ด, ์˜ค๋Š˜๋‚  ์ด์ „ ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ˆ„๊ตฐ๊ฐ€ Firebase UI์˜ ๋ชฉ๋ก์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํด๋ฆญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. :๋กœํ”Œ:

์š”์•ฝํ•˜์ž๋ฉด, ๋†’์€ ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์€ ํ›Œ๋ฅญํ•˜๊ณ  ํ•„์š”ํ•˜์ง€๋งŒ API์˜ CRUD ๊ธฐ๋ณธ ์š”์†Œ๋Š” Google Cloud Platform ๋˜๋Š” Firebase์™€ ๊ฐ™์€ ๋„๊ตฌ์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

@Nowaker ๋‚˜๋Š” ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋‘˜ ๋‹ค ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜๊ณผ ๋‹ค๋ฅธ ๋‘ ์˜ต์…˜ ์‚ฌ์ด์˜ ์ž˜๋ชป๋œ ์ด๋ถ„๋ฒ•์ด๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ํƒ€๋‹นํ•ฉ๋‹ˆ๋‹ค. FWIW, ๋‘ ๋ฒˆ์งธ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด์จŒ๋“  ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ์šฐ๋ฆฌ์˜ ๋ ˆ์ด๋”์— ์žˆ์ง€๋งŒ ์–ธ์ œ ๋ณด์—ฌ์ค„ ๊ฒƒ์ด ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ•œ ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ํ•ญ๋ชฉ/์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๊ณ  ํ•œ ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” ํ™•์ธ๋ž€์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ™•์ธ์„ ์œ„ํ•ด Enter ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ํ™•์ธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๋‹ซ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ ๊ธฐ๋Šฅ์„ ์ˆจ๊ธธ ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋‹น์‹ ์€:

  1. ๋กค์˜ค๋ฒ„ ๋ฐฐํฌ ํ–‰.
  2. ์  3๊ฐœ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ™•์ธ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
  4. ์‚ญ์ œ๋ฅผ ๋‹ค์‹œ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ํ–‰์— ์ž์ฒด ์‚ญ์ œ ๋ฒ„ํŠผ์ด ์žˆ๊ณ  ํ™•์ธ์„ ๋ฌด์‹œํ•˜๊ธฐ ์œ„ํ•ด Shift ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ์žˆ์œผ๋ฉด ํ•ด๋‹น ํ–‰ ์‚ฌ์ด๋ฅผ ๋‚ ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์„ ์ž์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ(๋˜๋Š” firebase-tools์—์„œ ๊ตฌํ˜„ํ•˜๊ณ  PR์„ ์ œ์ถœํ•˜๋ ค๋Š” ๊ฒฝ์šฐ) ๋ฐฐํฌ ๋‚˜์—ด ๋ฐ ์‚ญ์ œ๋ฅผ ์œ„ํ•œ REST API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ฐจ๋‹จ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ๊ฐ์ผ๊ณผ ์œ ์‚ฌํ•œ ๋กœ๋“œ๋งต์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? CLI์—์„œ ์ด์ „ ๋ฐฐํฌ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉด ํ™•์‹คํžˆ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ์ผ์„ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์ด์— ๋Œ€ํ•œ ์†Œ์‹์€ ์—†์ง€๋งŒ ํŒ€์ด ์ ๊ทน์ ์œผ๋กœ ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋‹ค๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ์ˆ˜๋™์œผ๋กœ ํ•˜๋‚˜์”ฉ ์ œ๊ฑฐํ•ด์•ผ ํ•  ๊ฒƒ์ด ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ง„์ „์— ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ๋ฐฐํฌ ์ธํ”„๋ผ์— ๋Œ€ํ•ด ๋งŽ์€ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ฒฐ์‹ค์„ ๋งบ๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ ์ผ์„ ํ•  ๋•Œ ํ™•์‹คํžˆ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@mbleigh ์ด ์ฃผ์ œ๋ฅผ ์ž ๊ทธ๋Š” ๊ฒƒ์€

"์–ด๋–ค ์‹์œผ๋กœ๋“  "๊ณ ์ •"๋˜์ง€ ์•Š๋Š” ํ•œ ํŠน์ • ์ˆ˜์˜ ์ด์ „ ๋ฒ„์ „๋งŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฐ€์ง„ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ์ด ๋ฐฐํฌ ๋ชฉ๋ก์„ ๋ณผ ๋•Œ ์–ด๋Š ๊ฒƒ์ด ์–ด๋Š ๊ฒƒ์ธ์ง€ ์ „ํ˜€ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” package.json์˜ ๋ฒ„์ „๊ณผ "builds"์˜ ๊ฐœ๋…์„ ํฌํ•จํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚ด ์•ฑ์˜ ๋ฒ„์ „์„ ์ง€์ •ํ•˜๋ฏ€๋กœ firebase deploy ๋ฒ„์ „ ๋ฐ/๋˜๋Š” ๋นŒ๋“œ #๋ฅผ ์ œ๊ณตํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ๋œ ๋ฒ„์ „ ๋ชฉ๋ก์— ๋‚˜์—ด๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ํ™˜์ƒ์ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Œ€๋กœ, ๋‚˜๋Š” 100๊ฐœ์˜ ๋ฐฐํฌ๋œ ๋ฒ„์ „์„ ๋ณด๊ณ  ์–ด๋Š ๊ฒƒ์ด ์–ด๋Š ๊ฒƒ์ธ์ง€ ์ „ํ˜€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

@rtm ๋ฐฐํฌ ๋ชฉ๋ก์— ํ‘œ์‹œ๋˜๋Š” ๋ฐฐํฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

firebase deploy --message "build 1234"

์ด ์˜ต์…˜์€ ์„ค๋ช…์„œ ํŽ˜์ด์ง€์— ๋‚˜์—ด๋˜์–ด ์žˆ์ง€ ์•Š์ง€๋งŒ ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ๋•Œ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.
firebase help deploy

@a-xin ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์™„์ „ํžˆ ๋†“์ณค๊ณ  ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  git ์ปค๋ฐ‹์„ ์ง€์†์ ์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  ๊ฐ ๋ฐฐํฌ๋Š” ์ˆ˜๋ฐฑ MB์ด๋ฏ€๋กœ ์ด ๋ฌธ์ œ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ์ €์žฅ์†Œ ์†Œ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด CD ์Šคํฌ๋ฆฝํŠธ์—์„œ ์˜ค๋ž˜๋œ ๋ฐฐํฌ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ช…๋ น๋„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ํŒŒ์ผ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(์ผ๋ถ€ ํ•ด์‹œ์— ๋”ฐ๋ผ)?

์˜ˆ๋ฅผ ๋“ค์–ด Webpack์ด ์•ˆ์ •์ ์ธ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒญํฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: HashedModuleIdsPlugin ) ์ด๋Ÿฌํ•œ ํŒŒ์ผ์ด ๋ชจ๋“  ๋ฐฐํฌ์—์„œ ์—…๋กœ๋“œ๋ฉ๋‹ˆ๊นŒ(์‹ค์ œ๋กœ ๋ณ€๊ฒฝ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ)?

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ ๋ฐฐํฌ์—์„œ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ์˜ ์–‘์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ณต๊ธ‰์—…์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์˜ ํ‚ฌ๋กœ๋ฐ”์ดํŠธ๊นŒ์ง€).

์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ๋‚ฎ์€ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ธํ”„๋ผ๊ฐ€ ์žˆ์ง€๋งŒ ํฐ ๋ณ€ํ™”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ์ผ์„ ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฌ๊ฒ ๋„ค์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
ํ”ผ๋“œ๋ฐฑ๊ณผ ์ธ๋‚ด์‹ฌ.

2018๋…„ 2์›” 25์ผ ์ผ์š”์ผ ์˜คํ›„ 3:32 Denis Loginov [email protected]
์ผ๋‹ค:

์ž„์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ(์ผ๋ถ€ ํ•ด์‹œ์— ๋”ฐ๋ผ)?

์˜ˆ๋ฅผ ๋“ค์–ด Webpack์ด ์•ˆ์ •์ ์ธ ํ•ด์‹œ๋กœ ์ฒญํฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ:
HashedModuleIdsPlugin), ์ด๋Ÿฌํ•œ ํŒŒ์ผ์ด ๋ชจ๋“  ๋ฐฐํฌ(์‹ฌ์ง€์–ด
๊ทธ๋“ค์€ ์ •๋ง๋กœ ๋ณ€ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ)?

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ๊ฐ์˜ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ ์–‘์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฐํฌ(๊ณต๊ธ‰์—…์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์—†๋Š” ๊ฒฝ์šฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ kbyte๊นŒ์ง€)
ํ•˜์†Œ์—ฐ).

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธ
https://github.com/firebase/firebase-tools/issues/215#issuecomment-368355645 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAAD_nbNy4j3gsIpTk_YpLyhlAuPtNHOks5tYe2DgaJpZM4J0BKU
.

์ด๊ฒƒ์ด ์šฐ์„ ์ˆœ์œ„๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ €๋Š” Spark ํ”Œ๋žœ์„ ์‚ฌ์šฉ ์ค‘์ด๋ฉฐ ์•ฝ 20MB ์ •๋„์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ฐฐํฌ์— ๋Œ€ํ•ด ์•ฝ๊ฐ„ ์ž์œ ์ฃผ์˜์ ์ด์–ด์„œ 300๊ฐœ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜‚

์—ญ์‚ฌ์ƒ ์ œํ•œ๋œ ์ˆ˜์˜ ๋ฐฐํฌ ์™ธ์—๋„ ํŒŒ์ผ ์žฌ์‚ฌ์šฉ์— ๋Œ€ํ•œ @dinvlad ์˜ ์•„์ด๋””์–ด๋„ ๋งˆ์Œ์—

@sejr ์ œ๊ฐ€ ๋„์›€์ด ๋˜๋Š” ํ•œ ๊ฐ€์ง€๋Š” ํ‚ค๋ณด๋“œ๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ค„์ž„ํ‘œ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์•„๋ž˜์ชฝ ํ™”์‚ดํ‘œ๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ Enter๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ ํƒญ ๋ฒ„ํŠผ์„ 3๋ฒˆ ๋ˆ„๋ฅธ ๋‹ค์Œ Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณตํ•˜์„ธ์š”..... ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@mbleigh ์ด์— ๋Œ€ํ•œ ์†Œ์‹์ด๋‚˜ ์ง„ํ–‰ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@mbleigh ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@mbleigh ๋” ๋งŽ์€ ํˆฌ๋ช…์„ฑ์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ firebase-tools ๋กœ๋“œ๋งต๊ณผ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ณ„ํš์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
(๊ฐ€์žฅ ๋†’์€ ํˆฌํ‘œ๋ฅผ ๋ฐ›์€ ๋ฌธ์ œ btw, ๋‘ ๋ฒˆ์งธ๋กœ ๋†’์€ ํˆฌํ‘œ์— ๋น„ํ•ด ๊ฑฐ์˜ ๋‘ ๋ฐฐ์˜ ํ‘œ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.)

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€์—ฐ๋˜์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ ๋ชฉ๋ก์˜ ์ƒ์œ„์— ์žˆ์ง€๋งŒ ์ด์™€ ๊ฐ™์€ ๋งŽ์€ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ•˜๋Š” ์ธํ”„๋ผ ํ”„๋กœ์ ํŠธ์— ๋ง‰๋Œ€ํ•œ ํˆฌ์ž๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ •ํ™•ํ•œ ์ผ์ •์„ ์žฅ๋‹ดํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ์ด๊ฒƒ์€ ํ™•์‹คํžˆ ์žŠํ˜€์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ์žŠ์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ถ„๋ช…ํžˆ ๋ฌด์‹œ ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ UI์—์„œ ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋‚ด์šฉ์ด API๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋˜์ง€ ์•Š์„ ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Firebase ์ œํ’ˆ ๋กœ๋“œ๋งต๊ณผ Divshot์˜ ์šด๋ช…์— ๋งค์šฐ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ต๋‹ตํ•จ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค, ์ง„์‹ฌ์œผ๋กœ. ์ด ๋ฌธ์ œ๋Š” ์ž‘์—…์œผ๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ€๊นŒ์šด ์žฅ๋ž˜์— ์—ฌ๋Ÿฌ๋ถ„ ๋ชจ๋‘์—๊ฒŒ ์ œ๊ณต๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

2018๋…„ 6์›” 29์ผ ๊ธˆ์š”์ผ ์˜ค์ „ 1:01 Damian Nowak [email protected]์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ์žŠ์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ถ„๋ช…ํžˆ ๋ฌด์‹œ ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ UI์—์„œ - ๋™์ผํ•˜์ง€ ์•Š์„ ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค
API๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. Firebase ์ œํ’ˆ์— ๋งค์šฐ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค.
๋กœ๋“œ๋งต๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Divshot์˜ ์šด๋ช….

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธ
https://github.com/firebase/firebase-tools/issues/215#issuecomment-401279887 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAAD_t_BTD_cT8eWOABg8sfs9Lf1n9g8ks5uBd7SgaJpZM4J0BKU
.

@mbleigh

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ์ผ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฐ ๋ณ€ํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋“ค๋“๋Š” ๋Œ€์ค‘์€ ์ด๋Ÿฌํ•œ ํฐ ๋ณ€ํ™”๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ง€๊ตฌ๋ฅผ ๋’คํ”๋“œ๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ์ ์ ˆํ•˜๊ฒŒ ๋ชจํ˜ธํ•œ ์†์„ ํ”๋“œ๋Š” ๊ฒƒ์— ์˜ํ•ด ์ง„์ •๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์‹คํŒจํ•˜๋ฉด, ๊ฑฐ์˜ 2๋…„ ๋™์•ˆ ์ง„ํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์ด ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์™œ๊ณก๋œ ์†์˜ท์„ ์ž…๋Š” ๊ฒƒ์€ ๋ถˆํ•ฉ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. Firebase ํ˜ธ์ŠคํŒ…์—๋Š” ๊ณต๊ฐœ API๊ฐ€ ์—†์—ˆ์œผ๋ฉฐ ์ฝ˜์†”์—์„œ ๋ฐฐํฌ๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ํ˜„์žฌ ๋ฐฉ๋ฒ•์€ ํ™๋ณด์— ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. CLI๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด๋ฏ€๋กœ ์ด๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋˜๋Š” ๋ชจ๋“  ์ž‘์—…์ด ์ ์ ˆํ•˜๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” Firebase ํ˜ธ์ŠคํŒ…์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ Google ์ธํ”„๋ผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ณผ์ •์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ณ  API๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ณด์œ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ์€ Firebase ํ˜ธ์ŠคํŒ…์˜ ์žฅ๊ธฐ์ ์ธ ์ƒํƒœ์— ๋งค์šฐ ์œ ์šฉํ•˜์ง€๋งŒ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋šœ๋ ทํ•œ ์ง„์ „์ด ์—†๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•œ ํŒ€์—๊ฒŒ๋Š” ์ƒ๋‹นํ•œ ํˆฌ์ž์˜€์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ๋ถ„๋“ค์ด ์ด์— ๋Œ€ํ•ด ๊ฐ•ํ•˜๊ฒŒ ๋Š๋ผ์…จ๋‹ค๋Š” ์ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ง€์›์„ ์š”์ฒญํ•˜๋ฉด ์ž„์‹œ๋กœ ์ด์ „ ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ •ํ™•ํ•œ ๋‚ ์งœ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ์ž‘์—…์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์กฐ๊ธˆ ํ•ด๊ฒฐ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ชจ๋“  Firebase ํ˜ธ์ŠคํŒ… ์‚ฌ์šฉ์ž์—๊ฒŒ ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜„

@mbleigh ์ œ๋ณด ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@mbleigh ์™œ ์ด ์ž‘์—…์„ ๊ณต๊ฐœ API๋‚˜ ์ธํ”„๋ผ ๋ณ€๊ฒฝ์— ์˜์กดํ•ด์•ผ ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋Š” Firebase ์ฝ˜์†”์˜ "์ด์ „ ๋ฐฐํฌ ์ •๋ฆฌ" ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ๊ธฐ๊ฐ„์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”์€ ์ด๋ฏธ ๋ฐฑ์—”๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋“  ๋ฐฐํฌ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ์‚ญ์ œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์˜ API๋Š” ๋ฐฐ์น˜ ๋ฐฐ์น˜ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฏ€๋กœ ์ด ๋ฒ„ํŠผ์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฐฐ์น˜์™€ ๋™๊ธฐ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ์š”์ ์€ ๋ฐฑ์—”๋“œ์— ์ด๋ฏธ ์„ค์ •๋œ API์— ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋Š” ๊ฒฝ์šฐ ์†”๋ฃจ์…˜์„ ๊ณผ๋„ํ•˜๊ฒŒ ์—”์ง€๋‹ˆ์–ด๋งํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์‚ฌ์šฉ์ž๊ฐ€ 2๋…„์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

์ „ํ˜€ ์ „๋ฌธ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค๋“ค ๋ญ” ์š•์„ ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”. ์˜ค๋ž˜๋œ ๋ฐฐํฌ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์€ ๋งˆ์Œ์ด ํŽธํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ 72๊ฐœ์˜ ๋ฐฑ๋กœ๊ทธ๋ฅผ ์ง€์› ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชจ๋‘ ์–ป์—ˆ๋Š”์ง€ ๋‹ค์‹œ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค(ํ•˜๋‚˜๋Š” ๋†“์ณค์Šต๋‹ˆ๋‹ค). ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋งค์šฐ ๋งŒ์กฑ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋•์„ ๋Š๊ผˆ๊ณ  ๊ฐํžˆ SUPERIOR๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋Œ๋ณด๋Š” ๊ฒƒ; ์‹ค์‚ฌ. ๊ผผ๊ผผํ•œ ํ–‰์ •! ๋‚ด ์œ ์ผํ•œ ํ›„ํšŒ๋Š” ์ •๋ฆฌํ•  ๋” ๋งŽ์€ ๊ฒƒ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์‹ค์ œ๋กœ ๋‹ค์Œ ์ž‘์—…์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๊ธฐ๋ถ„์ด ์ข‹์•„์ง€๊ธฐ ์œ„ํ•ด ํ•œ ์‹œ๊ฐ„ ๋™์•ˆ ์†”๋ฆฌํ…Œ์–ด ๊ฒŒ์ž„์„ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋Šฅ์„ ์–ป๋Š” ๋ฐ 2๋…„(๊ทธ๋ฆฌ๊ณ  ๊ณ„์‚ฐ ์ค‘)์ด?!? ํ› ํ› ํ›  ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ๋ง‰๋Œ€ํ•œ ์˜ˆ์‚ฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๋ง์€ WAYMO์™€ Alphabet์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์ด ์ทจํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋ ฅ์„ ์ƒ๊ฐํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Google์€ ์ด ๊ธฐ๋Šฅ์— ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ํˆฌ์ž…ํ•  ์—ฌ๋ ฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž์ผ ๋ฟ์ž…๋‹ˆ๋‹ค! ๋”๋ธ” Pfftt. DEVELOPERS๋ฅผ ๋Œ€๊ธฐ์—ด์˜ ์„ ๋‘์— ๋ฐฐ์น˜ํ•˜์—ฌ Google์ด ์–ด๋–ป๊ฒŒ ์‚ด์•„๋‚จ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜์‹ญ๋‹ˆ๊นŒ?!? ๋‚ด ๋ง์€ ์ •๋ง!

์•„๋‹ˆ์š”, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ์ด์ต, ํŠนํžˆ ์šฐ๋ฆฌ์˜ ์›ฐ๋น™์„ ์œ„ํ•ด ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์—ฌ๊ธฐ ๊ฐœ๋ฐœ์ž ํŒ€์ด ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— ์ตœ์†Œ 2๋…„ ๋™์•ˆ ์ด ์ž‘์—…์„ ๊ณ„์†ํ•  ๊ฒƒ์— ํˆฌํ‘œํ•ฉ๋‹ˆ๋‹ค. ๋ง™์†Œ์‚ฌ ์กฐ์‹ฌํ•ด! ์„ฑ๊ธ‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์„œ๋‘๋ฅด์ง€ ๋งˆ!

๊ทธ๋ฆฌ๊ณ  ํ•˜๋Š˜์„ ์œ„ํ•ด, ๋น ๋ฅธ ์‚ญ์ œ ๋ฒ„ํŠผ๊ณผ ๊ฐ™์€ ์ž„์‹œ ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ถฉ๋™์ ์ธ ํ–‰๋™์„ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ทธ๊ฒƒ์€ ํ›จ์”ฌ ๋” ์ค‘์š”ํ•œ ๊ฒƒ๋“ค์—์„œ ์ž์›์„ ๋Œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์ด ์žˆ๋Š” ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ๋ณ€๊ฒฝ๊ณผ ๊ฐ™์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค!

์•—, ๊ฐ€์•ผ ํ•ด์š”. ๋‚ฎ์ž ์„ ์ž˜ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค(๋ชจ๋“  ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ง‘์ค‘๋„์— ์ง€์ณค์Šต๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์ƒ์‚ฐ์ ์ธ ์‹œ๊ฐ„ ์™ธ์—๋„ ๋‚˜๋Š” ํ™•์‹คํžˆ ํœด๊ฐ€๋ฅผ ๋ณด๋‚ผ ์ž๊ฒฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค!

์‚ญ์ œํ•ด์•ผ ํ•  125๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค” ์–ด์ฉ์ง€ ์ด ์Šค๋ ˆ๋“œ์—์„œ ์•ฝ๊ฐ„์˜ ๋น„๊ผฌ๋Š” ์ผ์ด ๋ฒŒ์–ด์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์š”... ๐Ÿ™ƒ

์—ฌ๋Ÿฌ๋ถ„, ์ •๋ง ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์˜๊ฒฌ์—์„œ ์–ธ๊ธ‰ํ•œ ๋‚ด์šฉ์„ ๋ฐ˜๋ณตํ•˜์ž๋ฉด: ์ง€์›ํŒ€ ์— ์—ฐ๋ฝํ•˜๋ฉด ์ž„์‹œ๋กœ ์ด์ „ ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ด์ „ ๋ฒ„์ „์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์€์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์šฐ๋ฆฌ๊ฐ€ ์ž„์‹œ ๋ฐ˜์ฐฝ๊ณ  ์†”๋ฃจ์…˜์„ ์ถœ์‹œํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•ด ๋งํ•˜์ž๋ฉด, ์ง€์› ๊ฐœ์ž…์€ ๋ฐ˜์ฐฝ๊ณ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ต์ฒด๋ฅผ ์œ„ํ•ด ์ ๊ทน์ ์œผ๋กœ ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ์ œํ•œ๋œ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋ชจํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ฒฐ๊ตญ ์–ด๋ ค์šด ์ƒํ™ฉ์— ์ด๋ฅด๊ฒŒ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

Hang In There, Baby

์˜ค ๋ด, ๋ˆ„๊ตฐ๊ฐ€ ์ด ์Šค๋ ˆ๋“œ์™€ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์š”์  ์„

Ducks Out

์ถ”์‹ : ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋” ๋‚˜์€ ์ž๋™ํ™” ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœ ์ค‘์ด์ง€๋งŒ ๊ทธ ๋™์•ˆ์—๋Š” ์ด๊ฒƒ์ด ํ›จ์”ฌ ๋” ๋‚˜์€ ๋ฐ˜์ฐฝ๊ณ ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜ผ

์‹œ๊ฐ„์„ ๋‚ด์–ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์š”์ ์— ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฒ„์ „ ์‚ญ์ œ ์ธก๋ฉด์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ๋‚ด ์Šคํ† ๋ฆฌ์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(๋ฒ„์ „ ์‚ญ์ œ ํ›„ ์ด๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋‚˜์š”?)

๋ฒ„์ „์„ ์‚ญ์ œํ•œ ํ›„ ์ด๊ฒƒ์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋‚˜์š”?

์ œ ๊ฒฝํ—˜์ƒ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. GUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ ํšŸ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

ํ›จ์”ฌ ๋” ๋‚˜์€ ๋ฐ˜์ฐฝ๊ณ  ๋ฅผ ์ œ๊ณตํ•ด์ฃผ์‹ 

@mbleigh์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ˜ธ์ŠคํŒ… ๋‚˜๋จธ์ง€ API @alexanderwhatley ๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๊นŒ? ui ์†”๋ฃจ์…˜์€ ์•„๋‹ˆ์ง€๋งŒ ์ƒˆ๋กœ์šด Hosting Rest API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐํฌ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

REST API ํ˜ธ์ŠคํŒ…

@jackcw ๋ฅผ ์‚ดํŽด create ๋ฐ list ๋ฉ”์„œ๋“œ๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. delete ๋ฉ”์„œ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์‹ค์ œ๋กœ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ฒ„์ „ ๋์ ์— ์‚ญ์ œ ๊ฐ€ ์žˆ๊ณ  ๋ฆด๋ฆฌ์Šค ๋ชฉ๋ก์— ๋ฒ„์ „ ๊ฐœ์ฒด

๋ฏธ์•ˆํ•ฉ๋‹ˆ๋‹ค ์ œ ์ž˜๋ชป์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „ ๋ฐ ๋ฆด๋ฆฌ์Šค์˜ ์˜๋ฏธ๋ฅผ ์ž˜๋ชป ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„์ „์ด๋ผ๊ณ  ํ•˜๋Š” ์ด์ „ ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ด์ „ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด cron ์ž‘์—…์œผ๋กœ ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ์‹คํ–‰๋˜๋Š” ์ž‘์€ ์…ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ ์š”์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. JSON์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋ ค๋ฉด jq ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ @jackcw๊ฐ€ ์ž‘์„ฑํ•œ ๋Œ€๋กœ

์ €๋Š” ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋‚˜ jq ์ž‘์„ฑ ์ „๋ฌธ๊ฐ€๋Š” ์•„๋‹ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” ์ €์—๊ฒŒ ๋งค์šฐ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

๋‚ด๋ถ€ ์ถ”์  ID: 113235359

์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ™œ๋ฐœํžˆ ์ง„ํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

์•ˆ๋…• ๋ชจ๋‘๋“ค!

์ด์ œ Firebase ์ฝ˜์†”์—์„œ ๋ฒ„์ „ ๊ธฐ๋ก ๋ณด๊ด€์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Screen Shot 2019-03-11 at 10 08 56 AM

๋Œ€๊ทœ๋ชจ ์‚ฌ์ดํŠธ๋ฅผ ๋ณด์œ ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋‘์˜ ์ด์ต์„ ์œ„ํ•ด @samtstern ์ด ๋งํ•˜๋Š” ์œ„์˜ ๊ธฐ๋Šฅ์€ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์—… ์ค‘์ด๋ผ๊ณ  ๋งํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ๋ฒ„์ „ ๊ธฐ๋ก์„ ์ž˜ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

๊ธฐ๋Šฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๊ทธ๋ž˜๋„ ์•„์ง ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

save_fail_firebase_versions gif

@twistedpair :cry: ํ—ˆ, Firebase ์ง€์›ํŒ€์— ์—ฐ๋ฝํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ๋„คํŠธ์›Œํฌ ํŒจ๋„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„ค์ •์— 1๊ฐœ ๋ฒ„์ „์˜ ์ƒํ•œ์ด ์žˆ์ง€๋งŒ ๋ชฉ๋ก์—๋Š” ์‚ญ์ œ๋˜์ง€ ์•Š์€ ๋ฒ„์ „์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค!

@์ƒค๋ฅด๋…ธ

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๋นŒ๋“œ๋Š” 10๊ฐœ๋กœ ์ œํ•œ๋˜๋ฉฐ ๋นŒ๋“œ 11๋ถ€ํ„ฐ๋Š” "์ž๋™ ์‚ญ์ œ"๋ฉ๋‹ˆ๋‹ค.

@billiaug ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํŠน์ • ์ˆซ์ž๋กœ ๋‹ค์‹œ ์„ค์ •ํ•˜๊ณ  ์ž‘๋™ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ด ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์—ด๊ณ  1์„ ๋ณด์•˜์„ ๋•Œ ์ด๋ฏธ ์ ์šฉ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ–ˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@sharno์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์€ ๊ฐ’์„ 1๋กœ ์„ค์ •ํ•˜์ง€๋งŒ ์„ค์ •์ด ์—ด๋ฆฌ๊ณ  ์ฒ˜์Œ์œผ๋กœ _์ €์žฅ_์„ ํด๋ฆญํ•  ๋•Œ๊นŒ์ง€๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„์— ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ Firebase ํ”„๋กœ์ ํŠธ์—์„œ ๋ณต์ œํ•˜๋ ค๋ฉด ๋ฆด๋ฆฌ์Šค ๊ธฐ๋ก์— ๋ช‡ ๊ฐ€์ง€ ๋ฐฐํฌ๊ฐ€ ์žˆ๋„๋ก ์‚ฌ์ดํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ 1์„ ํ‘œ์‹œํ•˜๋Š” _๋ฒ„์ „ ๊ธฐ๋ก ์„ค์ •_์„ ์—ฐ ๋‹ค์Œ _์ €์žฅ_์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๋ฉด ํ˜„์žฌ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์ด์ „ ๋ฐฐํฌ์˜ ์ƒํƒœ๊ฐ€ _Auto-deleted_์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ _Version history settings_ ๋ชจ๋‹ฌ์€ ์„ค์ •์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์–ธ๊ธ‰ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ:
image
๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ์„ค์ • ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ฒƒ:
image

์ตœ์†Œํ•œ์˜ Firebase ๋„์›€๋ง - ๋ณด๊ด€๋œ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ œํ•œ์„ ์„ค์ • ํ•˜๋ฉด ๊ธฐ๋ณธ๊ฐ’์„ ๋” ์ž˜ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„์Šทํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ Firebase ํ˜ธ์ŠคํŒ…์ด ์•„๋‹ˆ๋ผ Firebase ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ ๋ฐฐํฌ์—๋Š” 400MB ์ด์ƒ์˜ Firebase ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” firebase cli์˜ ์ „๋ฌธ ์‚ฌ์šฉ์ž๋Š” ์•„๋‹ˆ์ง€๋งŒ GCP ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ์ด๋™ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•˜๋Š” ์˜ต์…˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Firebase ์ฝ˜์†”์€ ํ˜„์žฌ ํ˜ธ์ŠคํŒ… ๋ฆด๋ฆฌ์Šค์—์„œ์™€ ๊ฐ™์ด ์ด์ „ ๊ธฐ๋Šฅ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋‚˜์š”?

์ถ”์‹ : ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@DibyodyutiMondal์€ ํ™•์‹คํžˆ ์ƒˆ๋กœ์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

@DibyodyutiMondal - ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๊ณณ์— ๋งํฌ๋ฅผ ๊ฑธ์–ด๋‘์‹œ๋ฉด ์‰ฝ๊ฒŒ ์ฐพ์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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