์นด์นด์ค ์คํ๋น๋๋ฅผ ํตํด ๋ฐฐํฌ๋ฅผ ํด๋ณด๊ฒ ๋ค. [์๋๋ฆฌ์ค ์์ฑ] ์๋๋ฆฌ์ค์ ๋ํด ๊ฐ๋จํ ์์๋ณด๋ฉด ์ฐ์ปด : ๋ด์ ์ฒ์ ์คํํ ๋ ์ฌ์ฉ์๊ฐ ๋ฐ๊ฒ๋๋ ์๋ต์ ์ค์ ํ๋ ๊ณณ ํด๋ฐฑ : ์ฌ์ฉ์์ ์
๋ ฅ์ด ๋งค์นญ๋์ง ์์ ๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ ์๋ต์ ์ค์ ํ๋ ๊ณณ ํ์ถ : ์ฌ์ฉ์๊ฐ ๋๋ฌป๋ ์ํฉ์์ ๋น ์ ธ๋๊ฐ๋ ๊ฒ์ ์ค์ ํ๋ ๊ณณ ์ผ๋ก ๋๋๋ฉฐ ์ฌ์ฉ์๊ฐ ๋ธ๋ก์ ๋ง๋ค ์๋ ์๋ค. ์๋๋ฆฌ์ค๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ๋ค. ์ฐ์ ์๋จ์ ํธ์ถํ ๋ ์์นจ / ์ ์ฌ / ์ ๋
์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์ํฐํฐ๋ฅผ ๋ง๋ค์๋ค. ์ํฐํฐ ๋ด์ด ์ดํดํ ์ ์๋ ์ฉ์ด๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌํ ๋ฐ์ดํฐ ์ฌ์ ์ํฐํฐ๊ฐ ์ ์๋์ด ์๋ค๋ฉด, ๋ด์ ์ฌ์ฉ์ ๋ฐํ๋ก๋ถํฐ ์ฌ์ฉ์์ ์๋์ ๋ง๋ ๋์ ์ํ์ ์ํ ์ฃผ์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด [dinner / ์ ๋
๋ฐฅ / ๋๋ / ์ ๋
] ..
๐ฅณ Project
Spring MVC๋ก ์์ฑํ ํ๋ก์ ํธ๋ฅผ ์๋ฒ์ ์ฌ๋ ค๋ณด๊ฒ ๋ค. ์ฐ์ ์ฐ๋ถํฌ(EC2)์ jdk์ tomcatdmf ์ค์นํ๋ค. [jdk ์ค์น] sudo apt-get install openjdk-8-jre sudo apt-get install openjdk-8-jdk ์๋ฐ๊ฐ ์ค์น๋์๋์ง ํ์ธํ๋ค. javac -version java -version ํ๊ฒฝ ๋ณ์ ์ค์ ์ ์ํด sudo vi /etc/profile๋ก export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH ๋ฅผ ์ถ๊ฐํด์ค๋ค. ์ดํ source /etc/profile๋ก ์์ธํ ๋ด์ฉ์ h..
cron์ UNIX ๊ณ์ด์์ ์ฌ์ฉ๋๋ ์๊ฐ๊ธฐ๋ฐ Job ์ค์ผ์ค๋ฌ๋ค. ์์
์ ๊ณ ์ ๋ ์๊ฐ, ๋ ์ง, ๊ฐ๊ฒฉ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ ์ ์๋๋ก ์ค์ผ์ค๋งํ๊ธฐ ์ํด cron์ ์ฌ์ฉํ๋ค. * : ๋ชจ๋ ๊ฐ์ ์๋ฏธํ๋ค. ? : ํน์ ํ ๊ฐ์ด ์์์ ์๋ฏธํ๋ค. - : ๋ฒ์๋ฅผ ํํํ๋ค. (์์์ผ ~ ์์์ผ์ MON-WED๋ก ํํ) , : ํน๋ณํ ๊ฐ์ผ ๋๋ง ๋์ (์,์,๊ธ์ MON,WED,FRI๋ก ํํ) / : ์์์๊ฐ / ๋จ์๋ฅผ ์๋ฏธํ๋ค. (0๋ถ๋ถํฐ ๋งค 5๋ถ์ 0/5๋ก ํํ) L : ์ผ์์ ์ฌ์ฉํ๋ฉด ๋ง์ง๋ง ์ผ, ์์ผ์์๋ ๋ง์ง๋ง ์์ผ(ํ ์์ผ) W : ๊ฐ์ฅ ๊ฐ๊น์ด ํ์ผ์ ์๋ฏธํ๋ค. (15W๋ 15์ผ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ํ์ผ (์ ~ ๊ธ)์ ์ฐพ๋๋ค.) # : ๋ช์งธ์ฃผ์ ๋ฌด์จ ์์ผ์ ํํํ๋ค. (์) 3#2 : 2๋ฒ์งธ์ฃผ ์์์ผ cronta..
๋ง์ ํฌ๋กค๋งํ๋ ์ฝ๋๋ ์งฐ์ง๋ง Python์ผ๋ก ๋ก์ปฌ๋ก ์ผ์ผํ ๋๋ฌ์ฃผ๋ฉด์ ์ค์ ํ ์๋ ์๋ค. ์ด๋ฐ ๋ถ๋ถ์ ์๋ฒ์์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋ฉด ์ข์ ๊ฒ์ด๋ค. AWS๋ฅผ ํ๋ฒ๋ ์ฌ์ฉํด๋ณด์ง ์์๊ณ , ๋งจ๋
์ ํค๋ฉํด๊ฐ๋ฉด์ ์ด ๊ธ์ด๋ผ์ ์ ํํ๊ณ ์ธ๋ถ์ ์ธ ์ ๋ณด๋ ๋ชจ๋ฅด์ง๋ง ์ผ๋จ ๊ฒฝํํด๋ณธ ๊ฒ์ ์ ๋ฆฌํด๋๊ณ ์ ํ๋ค. 1. AWS ๊ฐ์
2. AWS ์ธ์คํด์ค ์์ฑ 3. AWS MySQL ์์ฑ 1. AWS ๊ฐ์
์ฐ์ AWS์ ๊ฐ์
์ ํด๋ณด๊ณ ์ ํ๋ค. ์ค๋ฅธ์ชฝ ์์ ์๋ ๊ณ์ ์์ฑ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ด ์ ๋ณด๋ฅผ ์
๋ ฅํ๋ ๋์ด ๋์จ๋ค. ์ฐ๋ฝ์ฒ ์ ๋ณด๊น์ง ๋ค ์ ์ผ๋ฉด ์นด๋๋ฅผ ๋ฑ๋กํ๊ฒ ๋๋ค. ํ๋ฆฌํฐ์ด ํ๋๋ฅผ ์ด๊ณผํ๊ฒ ๋๋ฉด ์ถ๊ฐ๊ฒฐ์ ๊ฐ ๋๋ ํ์์ด๋ผ๊ณ ํ๋ค. ์ด๊ฒ๊น์ง ์ ์ผ๋ฉด ์ง์ํ๋์ ์ ํํ๊ฒ ๋๊ณ ๊ธฐ๋ณธํ๋์ผ๋ก ๋ฑ๋กํ๋ค. ํ์ง๋ง ๊ฒฐ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํด๋จ๊ธฐ์ ์๋ชปํ๋ฉด..
์๋ ๋งํฌ๋ ์ฐ๋ฆฌํ๊ต์์ ์๋จ ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๋ ์ฌ์ดํธ๋ค. https://coop.koreatech.ac.kr/dining/menu.php ํด๋น ์ฌ์ดํธ์์ ์ ๋ณด๋ฅผ ์ฝ์ด์์ DB์ ์ ์ฅํด๋ณผ ๊ฒ์ด๋ค. [์ฌ์ฉ ๋๊ตฌ] ์ธ์ด : Python 3.8.2 IDE : Pycharm DB : MySQL 5.7 [์ฝ๋] from urllib.request import urlopen from bs4 import BeautifulSoup import ssl import re import pymysql context = ssl._create_unverified_context() URL = urlopen("https://coop.koreatech.ac.kr/dining/menu.php", context=context) bs = B..
1๋ฌ์ด๋ผ๋ ๊ธฐ๊ฐ๋์ ์นด์นด์ค ์ฑ๋ด์ ์ด์ฉํ ์๋น์ค๋ฅผ ๊ตฌํํด๋ณด๊ณ ์ ํ๋ค. ์์ ํ์ฑํฐ๊ฐ ๋ง๋ฌด๋ฆฌ ๋ ๋๋ง๋ค ๋ธ๋ก๊น
ํ ์์ ์ด๋ค. [์ฃผ์ ์ ๊ธฐ๋ฅ ์ค์ ] ํ๊ต์ ๊ด๋ จํ์ฌ ์ฌ๋ฌ ์ ๋ณด๋ค์ ์๋ ค์ค ์ ์๋ ๋ด์ด๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ์ด๋ฐ ์ ๋ฐ ๊ธฐ๋ฅ์ ์๊ฐํด๋ณด์๋ค. ์๋จ ๋ฒ์ค ๊ฐ์ข
๊ณต์ง์ฌํญ์ ์ค์๊ฐ ์
๋ฐ์ดํธ ์ฌ๋ถ (์
๋ฐ์ดํธ ์ ์นดํก ์๋ฆผ) ์๊ฐํ ๋ฑ๋ก ๋ฐ ์์
์๋ฆผ (๋ถ๊ฐ์ฌํญ) [๊ฒํ ] ์ ๋ฐฐ๋๊ป ๊ธฐ๋ฅ๋ณ ์ฐ์ ์์๋ฅผ ๋๊ณ ํ๋์ฉ ๊ตฌํํด๋ณด๋๊ฒ์ ๋ชฉํ๋ก ํ๋๊ฒ์ด ์ข๊ฒ ๋ค๋ ํผ๋๋ฐฑ์ ๋ฐ์๋ค. ์ฐ์ ์๊ฐํด๋ ๊ธฐ๋ฅ 3๊ฐ์ง { ์๋จ, ๋ฒ์ค, ๊ณต์ง์ฌํญ ์๋ด }๊ฐ ์๋๋ฐ (์๊ฐํ๋ฅผ ์ ์ธํ๊ณ ) ์๋จ → ๋ฒ์ค → ๊ณต์ง์ฌํญ ์๋ด ์์๋ก ์ฐ์ ์์๋ฅผ ๋๊ธฐ๋ก ํ๋ค. ๊ณต์ง์ฌํญ์ด ์ฌ๋ผ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์ ํก์ ๋ณด๋ด๊ณ ์ถ์๋๋ฐ ์ฌ์ฉ์์ request ๋ฐฉ์์ด ์๋..