- ์ด ๋๋ ํ ๋ฆฌ์ ๋ด๊ธด ํ์ผ๋ค์ kmlaonline.net์์ ๊ธ์์ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ๋ด๋นํ๊ณ ์์ต๋๋ค.
- ๊ธ์ ์ ๋ณด๊ฐ ์ต์ข ์ ์ผ๋ก ๋ด๊ธฐ๋ ํ์ผ์ ์ด ๋๋ ํ ๋ฆฌ ์์ ์๋ data.json์ด๋ฉฐ, ์ด์ธ ํ์ผ๋ค์ ์ด json ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
1. ๊ธ์ ์ ๋ณด๋ ์ธ๋ถ java api๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ธ์ค๋ฉฐ, ์ด ๋ฐ์ดํฐ๋ฅผ ์ด 2๋ฒ ๊ฐ๊ณตํด json ํ์ผ์ ์์ฑํฉ๋๋ค.
2. ์ฒซ ๋ฒ์งธ ๊ฐ๊ณต์ Food.class ํ์ผ์์ ์ด๋ฃจ์ด์ง๋๋ค. API๋ฅผ ์ด์ฉํด ์ฌํด์ ๊ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์ ํด์ง ํ์์ผ๋ก ์ถ๋ ฅ์ ํฉ๋๋ค (Food.java ํ์ผ ์ฐธ์กฐ).
3. ์ด ์ถ๋ ฅ๊ฐ์ makeJSON.py์์ ์
๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ํ ๋ฒ ๋ ํ์ฑํฉ๋๋ค. ๊ธ์ ๋ค์ ์๋ ์ซ์์ &(ampersand) ๊ธฐํธ๋ฅผ ์์ค ๋ค, json ํ์ผ์ ์์ฑํด๋
๋๋ค.
๋ชจ๋ ๊ธ์ ์ ๋ณด api ๋ฐ ๋ฐ์ดํฐ ๊ฐ๊ณต์ GetFood.py ๋ด์์ ์ด๋ฃจ์ด์ง๋๋ค.
๊ธ์ ์ ๋ณด๋ ๋์ด์ค api๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋์ด์ค ๋งํฌ api ์ธ์ฆํค๊ฐ ๋ง๋ฃ๋ ์ผ์ ์์ง๋ง, ๋ง์ฝ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ฉด ์ ์ฌ์ดํธ์์ ์๋ก ๋ฐ๊ธ๋ฐ์ config.json ํ์ผ์ "FOOD_KEY" : "[์ธ์ฆํค]" ํ์์ผ๋ก ์ ์ฅํ์๋ฉด ๋ฉ๋๋ค.
- ์์ ์์ ์ /scripts/food/update.sh ๋ผ๋ shell script๋ฅผ ์ด์ฉํด ์๋ํ ํฉ๋๋ค.
cd /scripts/food
python3 ./GetFood.py
- cron ์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ด์ฉํด ๋งค์ผ ์์ ์ ์คํํฉ๋๋ค.
- ์ ๊ธฐ์ ์ผ๋ก ์คํ๋์ด ์ ๋ฐ์ดํธ๊ฐ ๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ํ ํ์๋ ์๋ค.
- ํน์ ๊ธ์์ด ๋ณด์ด์ง ์๋ ๋ ์ด ์๋ค๋ฉด update.sh๋ฅผ ์ง์ ์คํํด ์ ๋ฐ์ดํธ๋ฅผ ํด๋ณด์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
-
์ด ๋๋ ํฐ๋ฆฌ ์ ํ์ผ๋ค์ ๋ชจ๋ ํ ๊ณณ์ ์์ด์ผ ํฉ๋๋ค. ๊ฐ๊ฐ ๋ค๋ฅธ ๊ณณ์ ๋๊ธฐ๋ฅผ ํฌ๋งํ์ ๋ค๋ฉด ์์ค ์ฝ๋๋ฅผ ์ ์์งํ์ ์ดํ ๊ฒฝ๋ก ๊ฐ์ ์ ์ ํ ๋ณํํด ์ ์์ ์ธ ์๋์ ์ง์ฅ์ด ์๋๋ก ํด์ฃผ์ธ์.
-
data.json์ ๊ฒฝ๋ก๊ฐ ๋ฐ๋๋ค๋ฉด! lib.php์์ ๋ฐ๋ ๊ฒฝ๋ก๋ก ์์ค ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
-
cron์์๋ update.sh๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์คํํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฒฝ๋ก ์ ๋ณด๊ฐ ๋ช ํํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ update.sh์ ๊ฒฝ๋ก๊ฐ ๋ฐ๋๋ค๋ฉด! cron์ ์คํํด ๊ทธ ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ๋ฐ๋ ๊ฒ์ผ๋ก ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.