CS๊ณต๋ถ€/๐Ÿชจ[๊ฐœ๋ฐœ์ž ํ•„์ˆ˜์ง€์‹]_ํฐ๋Œ์˜ ํ„ฐ์ „ 5

API์‹ค์Šต#2 Node.js๋กœ ๊ฐ„๋‹จํ•œ API๋งŒ๋“ค๊ธฐ

API์˜ ์žฅ์ ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž! ์ œ๊ณต์ž์˜ ๊ฒฝ์šฐ API๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ๋•Œ ๋งค๋ฒˆ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, API๊ฐ€ ์ˆ˜์ •์ด ์•ˆ๋˜๊ฒŒ๋” ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋‚ด๋ถ€๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜์–ด๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„์„ ์ฃผ์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. { //listen: ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. console.log(`http://127.0.0.1:${port}`); }); ๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ a.json์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•จ ํ•˜์ง€๋งŒ ๋˜‘๊ฐ™์Œ API์˜ ์žฅ์  ๋ญ๋ผ๊ณ  ํ–ˆ์ง€, file์ด ์ˆ˜์ •์ด ๋˜์–ด๋„ API๊ฐ€ ์ˆ˜์ •์ด ์•ˆ๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜์žˆ๋‹ค๊ณ  ํ–ˆ์Œ ๊ทธ๊ฑฐ๋ฅผ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด์—ฌ์ค€๊ฒƒ, ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€. https://link.coupang.com/a/UtQJN ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ:๋””์ž์ธ ํŒจํ„ด ์šด์˜์ฒด์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž๋ฃŒ ๊ตฌ์กฐ ๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœ์ž..

API์‹ค์Šต#1 OPEN API๋ฅผ ์ด์šฉํ•ด ๋‚ ์”จ์˜ˆ์ธก์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ

๋‚ ์”จ ์˜ˆ์ธก๊ฐ™์€ ๊ฑด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์งˆ๊นŒ? - ์ˆ˜์น˜๋ชจ๋ธ ์ด์šฉ - ์ธ๊ณต์ง€๋Šฅ ์ด์šฉ ์šฐ๋ฆฌ๋Š” ์˜ˆ์ธก์„ ํ•˜๋Š” ๊ฒƒ ๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๋Š” ์ˆ˜์น˜๋ชจ๋ธ์ด๋‚˜ ์ธ๊ณต์ง€๋Šฅ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ  ์‹ค์ œ๋กœ ์„œ์šธ์— ์˜จ๋„์˜ˆ์ธก์„ ํ•œ ์ฐจํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ˆ˜์น˜๋ชจ๋ธ์ด๋‚˜ ์ธ๊ณต์ง€๋Šฅ์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์–ด๋–ป๊ฒŒ ์ด๊ฑธ ๊ตฌํ˜„ํ–ˆ์„๊นŒ? ์ด๋Ÿฐ ๊ฑธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ OPEN API๋ฅผ ํ†ตํ•ด์„œ ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•˜๋‹ค. ์ €๋ฒˆ์‹œ๊ฐ„์— ์šฐ๋ฆฌ๋Š” API๋ฅผ ํ†ตํ•ด์„œ XML์ด๋‚˜ JSON๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด JSON์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€์„œ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ด๋ƒ, ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ๊ฐ€๊ณต์„ ํ•ด๊ฐ€์ง€๊ณ  ์ฐจํŠธ๋กœ ํ‘œํ˜„ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๊ฑฐ์ฃ , ์•„๋ฌดํŠผ, OPEN API์—๊ฒŒ ์š”์ฒญ์„ ํ•ด์„œ ์ฐจํŠธ๋ฅผ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ๋งŒ๋“ค์–ด๋ดค๋Š”๋ฐ, ์ฐจ๊ทผ ์ฐจ๊ทผ ์•Œ๋ ค๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Œ API์‹ค์Šต#1 OPEN API๋ฅผ ์ด์šฉํ•ด ๋‚ ์”จ์˜ˆ์ธก..

๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐํฌ๋งท: JSON

๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ ์ด๋ก ์„ ์„ธ์šฐ๋Š” ๋ฐ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ์‚ฌ์‹ค. ๋˜๋Š” ๋ฐ”ํƒ•์ด ๋˜๋Š” ์ž๋ฃŒ๋‚˜ ๊ด€์ฐฐ์ด๋‚˜ ์‹คํ—˜, ์กฐ์‚ฌ๋กœ ์–ป์€ ์‚ฌ์‹ค์ด๋‚˜ ์ž๋ฃŒ ๋“ฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ํ•˜์ง€์š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฌ๋Ÿฌ ํฌ๋งท์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํฌ๋งท์ค‘ ํ•˜๋‚˜์ธ JSON์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐ๋ฅผ ํ•ด๋ณด์ž. ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์žฌ๊ท€์ ์ธ ๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋Š” ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๊น”๋”ํ•˜๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ, ์žฌ๊ท€์ ์ธ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๋ณต์žกํ•˜๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค. -> ๋ฐ์ดํ„ฐ๋Š” ๋ณต์žก์„ฑ์„ ์ง€๋‹™๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ฃผ๊ณ ๋ฐ›์„๋ ค๋ฉด ์–ด๋–ค ์•ฝ์†(ํฌ๋งท)์„ ์ •ํ•˜๊ณ  ์ฃผ๊ณ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์–ด๋–ป๊ฒŒ "ํ‘œํ˜„"ํ•˜๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋‹ต์ธ ๊ฒƒ์ด์ฃ , ๋Œ€ํ‘œ์ ์œผ๋กœ JSON, XML์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ ค๋ฉด ํฌ๋งท์„ ์ง€ํ‚ค๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์•„์•ผํ•œ๋‹ค. JSO..

API์˜ ์˜๋ฏธ ์žฅ์  ์ข…๋ฅ˜๊นŒ์ง€

API(Application Programming Interface)๋Š” ๋‘˜ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์„œ๋กœ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์ž ์ปดํ“จํ„ฐ ์‚ฌ์ด์— ์žˆ๋Š” ์ค‘๊ณ„ ๊ณ„์ธต์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ A์™€ ์ปดํ“จํ„ฐ B๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ A๊ฐ€ B์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, B๊ฐ€ A์—๊ฒŒ ์ค„ API๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ๋†“๋Š” ๊ฒƒ 1. ์ด API์—๋Š” ๋ญ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋ƒ, ํ†ต์‹  ๋ฐฉ๋ฒ• : Http / Https ๋ฐฉ๋ฒ• : Get, Post ๋ฐ์ดํ„ฐ : XML, JSON ์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋“ค์ด ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  2. ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ ์‚ฌ์ด ์ค‘๊ณ„ ๊ณ„์ธต ์—ญํ• ์„ ํ•œ๋‹ค. _ ๋‹ค๋ฆฌ๊ฐ™์€ ์—ญํ•  -> ์ด๊ฒŒ ๋ฐ”๋กœ API ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 1. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค UI๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค UI๋Š” ์ปดํ“จํ„ฐ์™€ ์‚ฌ๋žŒ์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์‚ผ์„ฑ ์Šค๋งˆํŠธํฐ์„ ๋ณด์„ธ์š”, ์•ฑ์„ ์‹คํ–‰์‹œํ‚ค๋ ค๋ฉด ํด๋ฆญ์„ ํ•ด..

๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐํฌ๋งท XML

JSON_๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ { "CSKnowledgeList":[{ "name":"๋””์ž์ธ ํŒจํ„ด", "difficult" :5 }, { "name":"๋„คํŠธ์›Œํฌ", "difficult":4 } ] } ์ด๊ฒƒ์ด JSON์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• " , { ์ด๋Ÿฐ ๊ฒƒ์œผ๋กœ ์ด๊ฒƒ์„ xml ํฌ๋งท์œผ๋กœ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ? ๋””์ž์ธ ํŒจํ„ด 5 ๋„คํŠธ์›Œํฌ ์ด๋Ÿฐ ์‹์œผ๋กœ ํƒœ๊ทธ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„œ ์—ด๋ฆฐ ํƒœ๊ทธ ๋‹ซํžŒ ํƒœ๊ทธ ์ด๋Ÿฐ ์‹์œผ๋กœ ๋งŒ๋“œ๋Š”๊ฒŒ xml ํ”„๋กค๋กœ๊ทธ ๋ฒ„์ „๊ณผ ์ธ์ฝ”๋”ฉ ๋‚˜์˜ต๋‹ˆ๋‹ค. JSON๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋‹ซํžŒ ํƒœ๊ทธ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— 1. JSON๊ณผ ๋น„๊ตํ•˜๋ฉด ๋ฌด๊ฒ์Šต๋‹ˆ๋‹ค. -> JSON์ด ๊ฐ€๋ณ๋‹ค. JSON์˜ ๊ฒฝ์šฐ, parse๋ผ๋Š” ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ javaScriptObject๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. xml๋„ ๋ฌผ๋ก  ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ JS..