๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Cumputer Science

API ,๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ,ํ”„๋ ˆ์ž„์›Œํฌ

by @ENFJ 2023. 1. 9.

๐Ÿค— API(Application Programming Interface) , Library,  Framework ๋ชจ๋‘ ์ •๋ง ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์šฉ์–ด์™€ ๊ทธ ํŠน์ง•์— ๋Œ€ํ•ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.! 

 

 

API ๋ž€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์šด์˜์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ํ”„๋กœ๊ทธ๋žจ๊ฐ„ ์—ฐ๊ฒฐ์„ ์‹œ์ผœ์ฃผ๋Š” '๋‹ค๋ฆฌ'๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋ง›์ง‘์„ ๊ณต์œ ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ธ€ ๊ณผ ์ง€๋„์˜ ์œ„์น˜๋ฅผ ํ•จ๊ป˜ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธ€์€ ๊ทธ๋ ค๋Ÿฌ๋‹ˆ ๋งŒ๋“ค๊ฒ ์ง€๋งŒ, ์ง€๋„๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ• ์ง€..๋ถ€ํ„ฐ ์‹œ๊ฐ„์ด ๋”ฑ ๋ด๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋Š๋‚Œ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ง€๋„๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•ด์„œ ๋˜ ์ •ํ™•ํ•˜๊ฒŒ ๊ธฐ๊ฐ„๋‚ด์— ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์žฅ๋„ ์—†์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€์ด๋‚˜ ์นด์นด์˜ค์˜ ์ง€๋„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด ๋ฌธ์ œ๋“ค์ด ํ•ด๊ฒฐ์ด ๋ฉ๋‹ˆ๋‹ค.

 ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ตฌ๊ธ€์ด๋‚˜ ์นด์นด์˜ค์—์„œ ์ œ๊ณตํ•˜๋Š” URL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ , ํ•ด๋‹น URL์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€๋„์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด , ๋ง›์ง‘๊ณต์œ  ํ”„๋กœ๊ทธ๋žจ๊ณผ <----->๊ตฌ๊ธ€/์นด์นด์˜ค..์„œ๋น„์Šค ์‚ฌ์ด ๋‹ค๋ฆฌ์—ญํ• ์„ ํ•˜๋Š” ๊ฒŒ ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์„ API๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

API์˜ ํŠน์ง•

1. ๊ตฌํ˜„๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์–‘๋งŒ ์ •์˜๋œ๋‹ค.

2. API์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. JAVA API, ์—ฌ๋Ÿฌ ๊ธฐ์—…๋“ค์˜ ์˜คํ”ˆ API

 

๐Ÿ‘‰ ๊นƒํ—™์— public API ์ •๋ฆฌํ•ด๋‘” ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์–ด ๊ฐ€์ ธ์™”๋‹ค!

https://github.com/public-apis/public-apis

 


Library๋ž€?

์‘์šฉํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ(ํ•จ์ˆ˜)์„ ๋ชจ์•„ ๋†“์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

Library ์˜ ํŠน์ง•

1. ๋…๋ฆฝ์„ฑ์„ ๊ฐ€์ง„๋‹ค. (ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ)

2. ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ๋Šฅ๋™์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 


Framework๋ž€?

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์ˆ˜์›”ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋œ ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ

 

Framework์˜ ํŠน์ง•

1. ์ƒํ˜ธํ˜‘๋ ฅํ•˜๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

2. ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜๋™์ ์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ์— ์‚ฌ์šฉํ•œ๋‹ค.