๐Ÿฅณ Project

์นด์นด์˜ค ์˜คํ”ˆ๋นŒ๋”๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด๊ฒ ๋‹ค. [์‹œ๋‚˜๋ฆฌ์˜ค ์ž‘์„ฑ] ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๋ฉด ์›ฐ์ปด : ๋ด‡์„ ์ฒ˜์Œ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ›๊ฒŒ๋˜๋Š” ์‘๋‹ต์„ ์„ค์ •ํ•˜๋Š” ๊ณณ ํด๋ฐฑ : ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์ด ๋งค์นญ๋˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ›์„ ์‘๋‹ต์„ ์„ค์ •ํ•˜๋Š” ๊ณณ ํƒˆ์ถœ : ์‚ฌ์šฉ์ž๊ฐ€ ๋˜๋ฌป๋Š” ์ƒํ™ฉ์—์„œ ๋น ์ ธ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ์„ค์ •ํ•˜๋Š” ๊ณณ ์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ธ”๋ก์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค. ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•œ๋‹ค. ์šฐ์„  ์‹๋‹จ์„ ํ˜ธ์ถœํ•  ๋•Œ ์•„์นจ / ์ ์‹ฌ / ์ €๋…์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์—”ํ‹ฐํ‹ฐ ๋ด‡์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ์–ด๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ์‚ฌ์ „ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ๋ด‡์€ ์‚ฌ์šฉ์ž ๋ฐœํ™”๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž์˜ ์˜๋„์— ๋งž๋Š” ๋™์ž‘ ์ˆ˜ํ–‰์„ ์œ„ํ•œ ์ฃผ์š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด [dinner / ์ €๋…๋ฐฅ / ๋””๋„ˆ / ์ €๋…] ..
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 ๋ฐฉ์‹์ด ์•„๋‹Œ..
_์ฃผ๋…ธ
'๐Ÿฅณ Project' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก