์•ˆ๋…•ํ•˜์„ธ์š”? ์ด๋ฒˆ ๊ธ€์€ Bluemix๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””์ž์ธํ•˜๊ณ  ๋งŒ๋“ค์–ด ๊ฐ€๋Š” ๊ณผ์ •์„ ๋‚ด์šฉ์œผ๋กœ ์—ฐ์žฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ฐธ๊ณ  ๋ถ€ํƒ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


  1. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ดํ•ด
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ƒ ๋ฐ ์š”๊ฑด ์ •์˜
  3. ์š”๊ฑด์— ๋Œ€ํ•œ Usecase ๋ฐ Wireframe ์ž‘์„ฑ
  4. ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„
  5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ์ค€๋น„
  6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„
  7. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part1
  8. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part2
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part3
  10. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ DevOps ํ™˜๊ฒฝ ๊ตฌ์„ฑ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ์ค€๋น„

์ง€๋‚œ ๊ธ€์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„๋ฅผ ์„ค๊ณ„ํ–ˆ์œผ๋ฉฐ, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์‹ค์ œ ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์„œ๋ฒ„ ํ™˜๊ฒฝ์ด ์žˆ์œผ๋‚˜, Cloud Foundry ์‹คํ–‰ ํ™˜๊ฒฝ๊ณผ Docker Container ์‹คํ–‰ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” IBM Bluemix ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์ด์šฉํ•˜์—ฌ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ตฌ์„ฑ ๊ณ„ํš

์ง€๋‚œ ๊ธ€์—์„œ ์ •์˜ํ•œ ์„œ๋น„์Šค๋ฅผ Bluemix ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ข…๋ฅ˜ ํ”Œ๋žซํผ ๋Ÿฐํƒ€์ž„ ์˜๊ตฌ ์ €์žฅ์†Œ ํŠน์ง•
๋ฐฉ๋ฌธ ์ •๋ณด ์„œ๋น„์Šค Cloud Foundry Node.js Cloudant Stateless
์ž„์‹œ ์ถœ์ž… ์นด๋“œ ์„œ๋น„์Šค Cloud Foundry Node.js Cloudant Stateless
์‚ฌ์šฉ์ž ์ •๋ณด ์„œ๋น„์Šค Cloud Foundry Node.js Cloudant Stateless
์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค Cloud Foundry Node.js Cloudant Stateless
ํ™”๋ฉด UI Cloud Foundry Node.js Session

์ด์ œ ํ™”๋ฉด UI๊ฐ€ ์„œ๋น„์Šค API๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์„œ๋น„์Šค๋“ค์€ ๋…๋ฆฝ์ ์ธ URL์„ ๊ฐ€์ง€๊ณ  REST API๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Web Browser์—์„œ ์ด API๋ฅผ AJAX ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉ
  2. ํ™”๋ฉด UI๊ฐ€ ๊ตฌ๋™๋˜๋Š” ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ CURL์ด๋‚˜ HTTP Connection์„ ์ด์šฉํ•œ ํ˜ธ์ถœ ๋ฐฉ์‹

์ฒซ ๋ฒˆ์งธ AJAX ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ Web Browser์—์„œ API๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์ค€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. CORS (Cross Origin Resource Sharing) ๊ฐ€๋Šฅ
2. API Authentication ๋ฐฉ๋ฒ• ์ œ์‹œ
3. API Access Control ๋ฐฉ๋ฒ• ์ œ์‹œ
  1. CORS (Cross Origin Resource Sharing)

    ์ผ๋ฐ˜์ ์œผ๋กœ Web Browser๋Š” AJAX ํ˜ธ์ถœ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰ํ•˜๋Š” domain name๊ณผ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์˜ domain name์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋ณด์•ˆ์— ์œ„ํ˜‘์ด ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ •์ƒ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋ผ๋ฉด ์–ด๋–ค domain์—์„œ ์ ‘๊ทผ์„ ํ•˜๋”๋ผ๋„ ์ฒ˜๋ฆฌ ๋  ์ˆ˜ ์žˆ๋„๋ก CORS ์„ค์ •์„ ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. API Authentication

    ๋‘ ๋ฒˆ์งธ๋กœ, API ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ• ์ œ์‹œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ œ๊ณต ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ํ˜ธ์ถœ ์‹œ Basic Authentication ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ์‹์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๋ฏธ๋ฆฌ ์ง€์ •ํ•œ Security Token ์ •๋ณด๋ฅผ Request Header๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ณ , O-Auth์™€ ๊ฐ™์ด ์ธ์ฆ ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ทธ๋Ÿฌ๋‚˜, Basic Auth๋‚˜ Security Token์ธ ๊ฒฝ์šฐ Web Browser์—์„œ ํ•ด๋‹น ์ •๋ณด๊ฐ€ ๋…ธ์ถœ์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒ์ˆ˜๊ฐ€ ์•„๋‹Œ ์œ ํšจ ์‹œ๊ฐ„์„ ๊ฐ€์ง„ ํ˜•ํƒœ๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. O-Auth์˜ ๊ฒฝ์šฐ๋Š” ๋ณ„๋„๋กœ ๊ตฌ์ถ•๋œ ์ธ์ฆ์„œ๋ฒ„๋ฅผ ํ†ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ์ œ์ผ ์•ˆ์ „ํ•˜๊ธด ํ•ฉ๋‹ˆ๋‹ค๋งŒ API๊ฐ€ ๋ถ„์‚ฐ์ด ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ๊ฐ ์„œ๋น„์Šค ๋ณ„๋กœ ์ธ์ฆ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. API Access Control

    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž์— ๋”ฐ๋ผ์„œ ํŠน์ • API์˜ ์‚ฌ์šฉ ์ œํ•œ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฐ ์„œ๋น„์Šค๋ณ„๋กœ ์ธ์ฆ ์ •๋ณด์™€ ์‚ฌ์šฉ์ž ์ •๋ณด ๋ฐ ์ ‘๊ทผ ์ œํ•œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๊ณต์œ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ, ํ™”๋ฉด UI๊ฐ€ ๊ตฌ๋™๋˜๋Š” ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ CURL์ด๋‚˜ HTTP Connection์„ ์ด์šฉํ•œ ํ˜ธ์ถœ ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ๋Š” ํ™”๋ฉด UI์—์„œ API์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ˜•ํƒœ๋กœ ํ™”๋ฉด UI์™€ ์„œ๋น„์Šค ์‚ฌ์ด์— ๊ด€๊ณ„๋งŒ ๋ช…ํ™•ํ•œ ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. UI ์„œ๋น„์Šค์—์„œ API์— ๋Œ€ํ•œ End point๋ฅผ ์ œ๊ณตํ•˜๋Š” ์…ˆ์ด๋ฏ€๋กœ ์ธ์ฆ์ด๋‚˜ ์ ‘๊ทผ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๊ธฐ๋Šฅ ์ œ๊ณต์„ ์œ„ํ•œ API๋ฅผ ์„œ๋น„์Šค๋กœ relayํ•˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ๋Š” API ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ UI ์„œ๋น„์Šค์˜ ๋ถ€๋‹ด์ด ๋Š˜์–ด๋‚˜๋Š” ๋‹จ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ณธ ์˜ˆ์ œ์—์„œ๋Š” Web Browser์—์„œ ์ด API๋ฅผ AJAX ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์œ„์— ์„ธ ๊ฐ€์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ์žˆ์Šต๋‹ˆ๋‹ค๋งŒ, ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ†ต๊ณผ๋˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ๊ฐ ์„œ๋น„์Šค๊ฐ€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋  ๊ฒƒ์œผ๋กœ ์ค€๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Bluemix ํ™˜๊ฒฝ ๊ตฌ์„ฑ

  • Bluemix ํšŒ์› ๊ฐ€์ž…

Bluemix๋Š” IBM Cloud Platform ์„œ๋น„์Šค๋กœ ์ตœ์ดˆ ๊ฐ€์ž… ํ›„ 30์ผ ๋™์•ˆ ๋ณ„๋„ ๊ฒฐ์ œ ์ •๋ณด ์—†์ด trial๋กœ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://bluemix.net์—์„œ ํšŒ์›์„ ๊ฐ€์ž…์„ ์ง„ํ–‰ ํ•ฉ๋‹ˆ๋‹ค.

  • UI App ์ƒ์„ฑ

ํšŒ์› ๊ฐ€์ž…์ด ๋˜์—ˆ๋‹ค๋ฉด ์ด์ œ UI ์•ฑ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Bluemix Catalog์—๋Š” ๋‹ค์–‘ํ•œ Runtime๊ณผ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ํ‘œ์ค€์œ ํ˜•(Boilerplate)์„ ์ด์šฉํ•˜๋ฉด ์ผ์ข…์˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌ์„ฑํ•œ ํ˜•ํƒœ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cloudant DB์™€ ์—ฐ๋™ํ•˜๋Š” ๊ฐ„๋‹จํ•œ Web UI๋ฅผ ์ œ๊ณตํ•˜๋Š” Node.js Cloudant DB Web Starter๋ฅผ ์ด์šฉํ•˜์—ฌ UI ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค API์šฉ App ์ƒ์„ฑ

์„œ๋น„์Šค API๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ Cloud Foundry App์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ Runtime์œผ๋กœ ๊ตฌ์„ฑํ•ด๋„ ๋˜์ง€๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด ๋ณผ ์ˆ˜ ์žˆ๋Š” SDK for Node.js๋กœ API ์„œ๋น„์Šค์šฉ ์•ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ข…๋ฅ˜ ์œ ํ˜• ํ˜ธ์ŠคํŠธ ์ด๋ฆ„
๋ฐฉ๋ฌธ ์ •๋ณด ์„œ๋น„์Šค SDK for Node.js smv-visit
์ž„์‹œ ์ถœ์ž… ์นด๋“œ ์„œ๋น„์Šค SDK for Node.js smv-badge
์‚ฌ์šฉ์ž ์ •๋ณด ์„œ๋น„์Šค SDK for Node.js smv-userinfo
์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค SDK for Node.js smv-userauth

์ฐธ๊ณ ๋กœ, Bluemix ์• ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์€ mybluemix.net ๋„๋ฉ”์ธ์—์„œ ์œ ์ผํ•œ ์ด๋ฆ„์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ธฐ์กด์— ์ž‘์„ฑ๋œ ์•ฑ์ด ์žˆ์–ด ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฃผ์˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฐํƒ€ ํ•„์š”ํ•œ ์„œ๋น„์Šค ์ƒ์„ฑ

์„œ๋น„์Šค API์™€ UI์—์„œ ํ•„์š”๋กœํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ์ ‘๊ทผ์„ ๊ด€๋ฆฌ ์ •๋ณด ๊ณต์œ ๋ฅผ ์œ„ํ•œ Mem cache ์„œ๋น„์Šค์ธ Redis for Cloud๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ทผ๋ฐ Redis for Cloud์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์„ ํƒ plan์ด 5GB๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ Free plan์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Free plan์ธ ๊ฒฝ์šฐ 30MB ์ •๋„์— ์ ‘์†์— ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค๋งŒ ์˜ˆ์ œ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

Bluemix ์„œ๋น„์Šค ์—ฐ๊ฒฐ

์ƒ์„ฑ๋œ CF App๊ณผ Redis Service๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ํ™•์ธ ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ์ž‘์„ฑ์„ ํด๋ฆญํ•˜์—ฌ UI ์•ฑ๊ณผ ์„œ๋น„์Šค ์•ฑ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ์ด ๋œ ์ƒํƒœ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค๋ฅผ IBM Bluemix ํ”Œ๋žซํผ์— ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ธ€์—์„œ๋Š” Bluemix CF App ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋กœ์ปฌ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


  1. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ดํ•ด
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ƒ ๋ฐ ์š”๊ฑด ์ •์˜
  3. ์š”๊ฑด์— ๋Œ€ํ•œ Usecase ๋ฐ Wireframe ์ž‘์„ฑ
  4. ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„
  5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ์ค€๋น„
  6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„
  7. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part1
  8. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part2
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part3
  10. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ DevOps ํ™˜๊ฒฝ ๊ตฌ์„ฑ

์ฐธ๊ณ 

ํ† ๋ก  ์ฐธ๊ฐ€

์ด๋ฉ”์ผ์€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ž…๋ ฅ์ฐฝ์€ * ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.