๐ฅ ์ค๋ ์ด๋์ ๋์ ํด๋ณด์ จ๊ณ , ๋ฌด์์ ๋ฐฐ์ฐ์ จ๋์?
- 2022 ์๋น์ค์ค๋น๋ฐ์ฆ ๊ฐ๋ฐ์ ๊ณต๊ฐ์ฑ์ฉ ์ฑ๋ฆฐ์ง
- ์ ํDS - ๊ฐ๋ฐ ์ญ๋ ๊ณผ์ ํ ์คํธ
๐ ํ์ตํ์๋ฉด์ ๊ถ๊ธํ์ ๋ถ๋ถ์ด๋, ์ด๋ ค์ ๋ ์ ์ ๋ญ๊น์?
- 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๋ก๋ผ๋ ๊ธฐ๋ณธ์ผ๋ก ์์๋ฌ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.