Home ๐Ÿ“ธ 2022-09-18
Post
Cancel

๐Ÿ“ธ 2022-09-18

๐Ÿ”ฅ ์˜ค๋Š˜ ์–ด๋””์— ๋„์ „ํ•ด๋ณด์…จ๊ณ , ๋ฌด์—‡์„ ๋ฐฐ์šฐ์…จ๋‚˜์š”?

๐ŸŒŠ ํ•™์Šตํ•˜์‹œ๋ฉด์„œ ๊ถ๊ธˆํ•˜์‹  ๋ถ€๋ถ„์ด๋‚˜, ์–ด๋ ค์› ๋˜ ์ ์€ ๋ญ˜๊นŒ์š”?

  • API๋กœ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ณ  ์›ํ•˜๋Š”๋Œ€๋กœ ๊ฐ€๊ณตํ•˜๊ธฐ

๐ŸŒŸ ๋‚ด์ผ์€ ์–ด๋–ป๊ฒŒ ํ•ด๋ณด๊ณ  ์‹ถ์œผ์„ธ์š”?


2022 ์ž๋น„์Šค์•ค๋นŒ๋Ÿฐ์ฆˆ ๊ฐœ๋ฐœ์ž ๊ณต๊ฐœ์ฑ„์šฉ ์ฑŒ๋ฆฐ์ง€ ํ›„๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฑŒ๋ฆฐ์ง€์—์„œ ๊ณต๊ณ ๋ฅผ ๋ฐœ๊ฒฌํ•ด์„œ ์ง€์›ํ–ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๋กœ ์ง€์›ํ•˜์—ฌ JavaScript๋กœ ์‘์‹œํ–ˆ๋‹ค. 3์‹œ๊ฐ„๋™์•ˆ ์ด 4๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ–ˆ๊ณ  ๋‚œ 2๋ฌธ์ œ๋งŒ ์„ฑ๊ณตํ–ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ์นด์šดํŠธ๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. Map๊ณผ ๋ฐฐ์—ด์˜ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋„ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์นด์šดํŠธ๋ฅผ ์„ธ์„œ ์ตœ์†Œ, ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์—ฌ๊ธฐ์„œ๋„ Map์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ Map์—์„œ value๊ฐ€ Number์ผ ๋•Œ ์ตœ์†Œ ์ตœ๋Œ€๊ฐ’์„ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. for...of๋กœ ๋ชจ๋“  key-value๋ฅผ ๋น„๊ตํ•ด์„œ ์ตœ์†Œ, ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ–ˆ๋‹ค.

๋‚˜๋จธ์ง€ ๋ฌธ์ œ๋“ค์€ ๊ทธ๋ฆผ๋งŒ ๋ด๋„ ๋ณดํ†ต์ด ์•„๋‹ˆ๋‹ค ์‹ถ์—ˆ๋‹ค. ์œ„์— 2๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์•ฝ 2์‹œ๊ฐ„์ด ์†Œ์š”๋๊ณ  ์ดํ›„์— ์ผ์ •์ด ์žˆ์–ด ์ œ๋Œ€๋กœ ํ’€์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ๋‚˜์ค‘์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์ฃผ๋ฉด ๋‹ค์‹œ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

์‹ ํ•œ DS ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰ ๊ณผ์ œ ํ…Œ์ŠคํŠธ ํ›„๊ธฐ

์–ผ๋–จ๊ฒฐ์— ์ง€์›ํ•œ ๋’ค์— ์šด์ข‹๊ฒŒ ์„œ๋ฅ˜๊ฐ€ ๋ถ™์–ด์„œ ๊ณผ์ œ ํ…Œ์ŠคํŠธ๋„ ์‘์‹œํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ณผ์ œ๋ฅผ 2์‹œ๊ฐ„ ๋‚ด์— ํ’€์–ด์•ผ ํ–ˆ๋‹ค.

๋ณธ ํ…Œ์ŠคํŠธ ์ „ ๋ฐ๋ชจ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ด์คฌ๋Š”๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ํŒŒ์ผ ์ƒ์„ฑํ•˜๋Š” shell ํŒŒ์ผ๋“ค์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ์‰ฝ์ง€ ์•Š๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์€ ํ–ˆ์—ˆ์ง€๋งŒ ๋ณธ ํ…Œ์ŠคํŠธ๋„ ๊ฝค ์–ด๋ ค์› ๋‹ค. NodeJS๋„ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ shell ํŒŒ์ผ์ด๋‚˜ sample์— Java๊ฐ€ ์žˆ์–ด์„œ Java๋กœ ์ฝ”๋”ฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ฃผ์–ด์ง„ API๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜จ ํ›„ ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š”๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณต ํ›„ ์ง€์ •๋œ ๊ฒฝ๋กœ์— JSON ํŒŒ์ผ์„ ์ €์žฅํ•ด์•ผํ–ˆ๋‹ค. Java๋ฅผ ์•ˆ์“ด์ง€ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๋ผ๊ธฐ๋„ ํ–ˆ๊ณ  ์›Œ๋‚™ ๋‹ค๋ฅธ ์†Œ์Šค๋“ค์„ ์ฐธ๊ณ ํ•ด์„œ ์ฝ”๋”ฉํ•œ ๊ธฐ์–ต๋ฟ์ด๋ผ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ๋„ ๊ตฌ๊ธ€๋ง์„ ํ–ˆ๋‹ค. String์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ํŒŒ์‹ฑํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ง‰ํ˜”๋‹คใ… ใ…  VSCode ํ™˜๊ฒฝ์—์„œ Java๋ฅผ ์‚ฌ์šฉํ•œ ์ ๋„ ์ฒ˜์Œ์ด๊ณ  shell ํŒŒ์ผ์— ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ผ๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ ๋ฌด์Šจ ๋ง์ธ์ง€ ์ดํ•ด๊ฐ€ ์•ˆ๋๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€ ํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๊ณ  ๋„์ €ํžˆ ์ง„์ „์ด ์—†์–ด ํฌ๊ธฐํ–ˆ๋‹ค.

API๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๋ฌธ์ œ๋Š” ์ด์ „์—๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ๋ณธ ๊ธฐ์–ต์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— NodeJS๋กœ๋ผ๋„ ๊ธฐ๋ณธ์œผ๋กœ ์•Œ์•„๋‘ฌ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

This post is licensed under CC BY 4.0 by the author.

ํŠธ๋ฆฌ๋ฅผ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•

๐Ÿ“ธ 2022-09-19