๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

ยทDBMS
1. ๋™์  ? ์ •์ ? ์‰ฝ๊ฒŒ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ์ •์  ํŽ˜์ด์ง€ = html ๋™์  ํŽ˜์ด์ง€ = ajax ๋! ํ•˜๊ณ  ์ดํ•ด๊ฐ€ ๋œ๋‹ค๋ฉด ์ข‹๊ฒ ์ง€๋งŒ, ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์„ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋ง๋ถ™์ด์ž๋ฉด, html๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ํ™”๋ฉด์„ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ํ™”๋ฉด์ด ๊นœ๋นก! ๊ฑฐ๋ฆฐ๋‹ค. ๊ทผ๋ฐ html ์•ˆ์˜ ajax๋กœ ๊ตฌ์„ฑ๋œ ๋™์  ํŽ˜์ด์ง€(์˜ˆ๋ฅผ ๋“ค์–ด ๋Œ“๊ธ€์ฐฝ)๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•œ๋‹คํ•ด์„œ ๊ทธ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ๊นœ๋นก! ๊ฑฐ๋ฆฌ์ง„ ์•Š๋Š”๋‹ค. ์ด ๊นœ๋นก! ๊ฑฐ๋ฆด๋•Œ ๋จผ๊ฐ€ ์š”์ฒญ์ด ์™”๋‹ค ๊ฐ”๋‹ค ํ•˜๋Š”๋ฐ, ์ด ๊ณผ์ •์ด ์ƒ~๋‹นํžˆ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ํ’ˆ์ด ๋งŽ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ํŽ˜์ด์ง€๋“ค์€ ajax๋กœ ๊ตฌ์„ฑ๋œ ๋ถ€๋ถ„์„ ํฌํ•จํ•˜๊ณ  ์žˆ๊ณ , ์šฐ๋ฆฌ๊ฐ€ ํฌ๋กค๋ง ํ•  ๋ถ€๋ถ„์ด ์—ฌ๊ธฐ์— ํ•ด๋‹น๋  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทผ๋ฐ, ๊ธฐ์กด ํฌ์ŠคํŒ…ํ•œ ๋‚ด์šฉ๋Œ€๋กœ ๊ธฐ์ดˆ selenium ํ™œ์šฉ๋ฒ•๋งŒ์„ ์‚ฌ์šฉํ•ด ํฌ๋กค๋ง์„ ์ง„ํ–‰ํ•˜๋ฉด, ์ด ๋™์  ํŽ˜์ด์ง€๋Š” ๊ธ์–ด์˜ฌ ์ˆ˜ ์—†๋‹ค. ์™œ๋ƒ..
ยทDBMS
What is the Headless Chrome?? - ๋จธ๋ฆฌ ์—†๋Š” ํฌ๋กฌ์ด ๋Œ€์ฒด ๋ฌด์—‡? ใ…‹ใ…‹ ๊ทธ๋ƒฅ ์ฐฝ์ด ์—†๋Š” ํฌ๋กค๋ง์ด๋‹ค. ๊ตณ์ด ํ™”๋ฉด์„ ๋„์šฐ์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธ์–ด์™€์„œ ์ €์žฅ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์ „์—๋Š” PhantomJS๋ผ๋Š” ๊ฒƒ์„ ์ผ์ง€๋งŒ ์š”์ฆ˜์—๋Š” ๊ฐ„ํŽธํ•˜๊ฒŒ selenium webdriver์— ์˜ต์…˜๊ฐ’์„ ์ค˜์„œ ๊ฐ„ํŽธํžˆ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. chrome_options = webdriver.ChromeOptions() #์ฐฝ ๋„์šฐ์ง€ ์•Š๋Š” ์˜ต์…˜ chrome_options.add_argument('headless') chrome_options.add_argument('window-size=1920x1080') #gpu ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ต์…˜ chrome_options.add_argument('disable-gpu') # ์„œ๋ฒ„์— ์š”์ฒญ..
ยทDBMS
์šฐ์„  selenium์ด ๋ญ˜ํ•˜๋Š” ๊ฑด์ง€ ์ผ๋‹จ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. selenium์€ ์ž๋™ํ™”ํ•˜๋Š” ํ”„๋ ˆ์ž„ ์›์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์‰ฝ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์ž๋™ํ™”๋งŒ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ˆ˜๋™์ ์œผ๋กœ html์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ด๊ฐ€๋ฉด์„œ ํƒœ๊ทธ์˜ ์†์„ฑ๊ฐ’๋“ค์„ ์ฐพ์•„์„œ ์ด๊ฑธ ๊ฐ€์ ธ์˜ค๋Š” ๋จธ ๊ทธ๋Ÿฐ ๊ท€์ฐฎ์€ ์ผ๋“ค์„ ๋Œ€์‹ ํ•ด์ฃผ๋Š” ์ผ๋“ค์„ ๋‹ด๋‹นํ•œ๋‹ค. ์™œ ๊ตณ์ด? ์ด๋ ‡๊ฒŒ? ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ์‚ฌ์‹ค ํฌ๋กค๋ง์ด ๋”ฑํžˆ ํ•ฉ๋ฒ•์ ์ธ ๋Š๋‚Œ์€ ์•„๋‹ ๊ฒƒ์ด๋‹ค. ๋‚ด๊ฐ€ ์–ด๋–ค ํŽ˜์ด์ง€์˜ ์ฃผ์ธ์ธ๋ฐ ๋ˆ„๊ฐ€ ๋‚ด ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ง‰ ๊ธ์–ด๊ฐ€๋ฉด ๊ธฐ๋ถ„์ด ์ฉ ์ข‹์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์ดํŠธ๋“ค์€ ์ด๋Ÿฐ ๊ฑธ ๋ง‰์•„ ๋†“์•˜๋Š”๋ฐ, ์…€๋ ˆ๋‹ˆ์›€์œผ๋กœ ํ•˜์—ฌ๊ธˆ ๋งˆ์น˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธ์–ด์˜ค๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ๊ฐ™์€ ์•„์ดํ”ผ๋กœ ๊ณ„์† ์ ‘๊ทผํ•˜๋ฉด ์ด๊ฒƒ๋„ ๋ง‰ํžˆ๊ธด ํ•œ๋‹ค ใ…Žใ…Žใ…Žใ…Ž "๋‹น์‹ ์€ ๋กœ๋ด‡์ž…๋‹ˆ๊นŒ?" ์š”๋Ÿฐ๊ฑฐ๋„ ๊ทธ์ค‘์— ..
ยทDBMS
๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ์•„์ฅฌ ์ดˆ์„! ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘! ํฌ๋กค๋ง์„ ์‹œ์ž‘ํ•ด๋ด์•ผ๊ฒ ๋‹ค VScode๋กœ ์ฝ”๋“œ ์ž…๋ ฅํ•ด๊ฐ€๋ฉด์„œ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์‚ฌ์‹ค jupyter notebook์ด ๊ฐ„ํŽธํ•˜๋ฏ€๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ํ”„๋กฌํ”„ํŠธ์— ์‚ฌ์šฉํ•  ๊ฐ€์ƒํ™˜๊ฒฝ์„ activate ํ•ด์ฃผ๊ณ  1. Selenium ์„ค์น˜ 2. OS ํ™˜๊ฒฝ, chrome ๋ฒ„์ „์— ๋งž๋Š” webdriver ๋‹ค์šด๋กœ๋“œ https://sites.google.com/a/chromium.org/chromedriver/ ChromeDriver - WebDriver for Chrome WebDriver for Chrome sites.google.com ํฌ๋กฌ ๋ฒ„์ „ ํ™•์ธ์€ ํฌ๋กฌ ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๋”๋ณด๊ธฐ(์  ์„ธ๊ฐœ) > ๋„์›€๋ง > ํฌ๋กฌ ์ •๋ณด ์—์„œ ํ™•์ธ๊ฐ€๋Šฅ ํ™•์ธ ํ›„ os ์— ๋งž๊ฒŒ ๋‹ค์šด ๋ฐ›๋Š”๋ฐ, ๋‚ด ..
selenium.common.exceptions.webdriverexception: message: unknown error: cannot find chrome binary ์žฅ์žฅ ํ•œ 5์‹œ๊ฐ„์„ ํ—ค๋ฉ˜ ๊ฒƒ ๊ฐ™๋‹ค..ใ…Ž.. ์—๋Ÿฌ ์›์ธ์€ chrome ๊ณผ chrome driver๊ฐ€ ๊ฐ™์€ ๊ฒฝ๋กœ์— ์žˆ์–ด์•ผํ•˜๋Š”๋ฐ wsl์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ ˆ๊ฑฐ์‹œ crawler๋ฅผ ๊ตฌ๋™ํ•ด๋ณด๋ ค๋Š” ์™€์ค‘์— ( ๋ ˆ๊ฑฐ์‹œ ํ™˜๊ฒฝ์€ ํŠธ๋ฃจ linux๋‹ค ) ์ƒ๊ธด ๋ฌธ์ œ.. ๊ทธ๋ฅด๋‹ˆ๊น ํฌ๋กฌ์€ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ๊น”๊ณ , ์ฐพ๋Š”๊ฑด linux ๋ฒ„์ „์—์„œ ์ฐพ์œผ๋ ค๋‹ˆ๊น ์ด๊ฒŒ ๊ฒฝ๋กœ๊ฐ€ ์•ˆ ์ฝํžˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค ์ค‘๊ฐ„์— ๊ฑ ์•„..์œˆ๋„์šฐ ๋ฒ„๋ฆด๊นŒ?ใ…Ž ์‹ถ์—ˆ๋‹ค ใ…Žใ…Ž...; ์•”ํŠผ๊ฐ„์—~~ 1. chrome driver path์—๋‹ค๊ฐ€ chrome ์„ ๋˜ ์„ค์น˜ํ•ด์ค€๋‹ค wget https://dl.google.com/l..
๋‚จ๊ตฌ๋กœ ๊ทผ์ฒ˜์— ์ •์„ ๋‹ญ๊ฐ•์ •์ด ์ƒ๊ฒจ์„œ ํฌ์žฅ์„ ํ•ด๋ดค๋‹ค. ํ˜„์žฌ ์ด๋ฒคํŠธ (~9์›” 22์ผ) ์ค‘์ด๋ผ ํ›„๋ผ์ด๋“œ๋ž‘ ์–‘๋… ์ค‘ ์‚ฌ์ด์ฆˆ๋ฅผ 1000์›์”ฉ ํ• ์ธ + ์น˜์ฆˆ๋ณผ 2๊ฐœ ์ฆ์ • ํ•˜๊ณ ์žˆ๋‹ค. ์ด๋ฒคํŠธ ๊ธฐ๊ฐ„์—๋Š” ์†Œ ์‚ฌ์ด์ฆˆ๋Š” ์ฃผ๋ฌธ์ด ์•ˆ๋œ๋‹ค๊ณ  ํ•˜๋‹ˆ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž. ์ค‘ ์‚ฌ์ด์ฆˆ ๋งค์šด๋ง›, ์น˜์ฆˆ์†Œ์Šค ์ถ”๊ฐ€ ํ–ˆ๋Š”๋ฐ, ์–‘์€ ๊ฝค ํ˜œ์ž๊ณ , ์น˜์ฆˆ์†Œ์Šค๊ฐ€ ํŠนํžˆ ๋‹ค๋ฅธ ์ง‘ ๊ตญ๋ฌผ ์ฃผ๋Š” ์šฉ๊ธฐ์— ๋“ค์–ด์žˆ๋‹ค. ๋งŽ์ด ํ˜œ์ž์ธ๊ฑฐ ๊ฐ™๋‹ค. ๊ทผ๋ฐ ๋‚œ ์ด๋Ÿฐ ์น˜์ฆˆ๋ณผ์€ ๋ณ„๋ฃจ. ๋„ˆ๋ฌด ๋–ก๊ฐ™๋‹ค. ์ด‰์ด‰ํ•œ ๋‹ญ๋‹ค๋ฆฌ์‚ด๋กœ ๋˜์–ด์žˆ๊ณ , ํฌ๊ธฐ๊ฐ€ ์ž‘์•„๋ณด์ด์ง€๋งŒ ๊ทธ๋ž˜์„œ ๋” ๋ง›์žˆ๋Š” ๋น„๋ฒ•์ด ์•„๋‹๊นŒ์‹ถ๋‹ค. ์ฃผ๋ฌธ ๋ฐ›๋Š” ์ฆ‰์‹œ ์กฐ๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ ธ์„œ ๊ทธ๋Ÿฐ๊ฐ€ ํ•œ์ฐธ ์ง€๋‚˜๋„ ๋„ˆ๋ฌด ๋ง›์žˆ๋‹ค. ๋ถ€๋”” ์ด ๋ง›์„ ์žƒ์ง€ ์•Š๊ธฐ๋ฅผ.. ๋ง›์žˆ๋Š” ๋‹ญ๊ฐ•์ •์ง‘์ด ์ƒ๊ฒจ์„œ ๋„ˆ๋ฌด ์ข‹๋‹ค.
๋“œ๋””์–ด ๋‚˜๋„ ๋ฐฑ์‹  1์ฐจ ์ ‘์ข…์„ ์™„๋ฃŒํ–ˆ๋‹ค. 1์ฐจ๋Š” ์‚ฌ๋žŒ๋“ค์ด ํŒ”๋งŒ ๋ป๊ทผํ•˜๋‹ค๊ณ  ํ•˜๋˜๋ฐ ๋ป๊ทผํ•œ ์ค„๋„ ๋ชจ๋ฅผ.. ๊ทผ๋ฐ ๋ฐฉ๊ตฌ๊ฐ€ ์—„์ฒญ ๋‚˜์˜จ๋‹ค ใ„ทใ„ท.. ๋ฐฑ์‹  ์ ‘์ข…์„ ํ•˜๊ณ  ๋‚˜๋ฉด ์ ‘์ข…์ฆ๋ช…์„œ๋ฅผ ์ฃผ๋Š”๋ฐ ์šฐ๋ฆฌ ํšŒ์‚ฌ ๊ฐ™์€ ๊ฒฝ์šฐ์—” ์ด๊ฑธ ์ œ์ถœํ•ด์•ผํ•œ๋‹ค. ์ •๋ถ€24๋‚˜ ์˜ˆ๋ฐฉ์ ‘์ข…๋„์šฐ๋ฏธ ๋ˆ„๋ฆฌ์ง‘์—์„œ๋„ ๋ฐœ๊ธ‰ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•˜๋‹ˆ, ์žƒ์–ด๋ฒ„๋ ธ๋‹ค ํ•ด๋„ ๋‹นํ™ฉํ•˜์ง€ ๋ง์ž. ์—ฌํŠผ, ๋ฐฑ์‹ ์„ ์™„๋ฃŒํ•˜๊ณ  ์–ดํ”Œ '์ฟ ๋ธŒ'๋ฅผ ๋‹ค์šด ๋ฐ›์œผ๋ฉด ์ €๋ ‡๊ฒŒ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์˜ˆ๋ฐฉ์ ‘์ข… ์ฆ๋ช…์„œ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋‚ด ๋™๋…„๋ฐฐ๋“ค์€ ๋‹ค ์ €๊ฑฐ ์ธ์Šคํƒ€ ์Šคํ† ๋ฆฌ์— ์ธ์ฆํ•˜๋˜๋ฐ ๋‚˜๋„ ๋“œ๋ŽŒ ํ•ด๋ฒ” ใ…Žใ…Žใ…Žใ…Ž ๋‚˜๋ž‘ ์˜ˆ๋ž‘์ด๋Š” ๊ฐ™์ด ๋งž์•˜๋Š”๋ฐ ๋‘˜๋‹ค ๋ฐฉ๊ตฌ๊ฐ€ ์‹ฌํ•˜๊ฒŒ ์žฆ์•˜๋‹ค;; ์ฐพ์•„๋ณด๋‹ˆ ํ™”์ด์ž ๋ถ€์ž‘์šฉ ์ค‘์˜ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ ..; ใ…‹ใ…‹..๋ถ€์ž‘์šฉ์น˜๊ณค ๊ดœ์ฐฎ์•„์„œ ๊ทธ๋‚˜๋งˆ ๋‹คํ–‰์“ฐ ๊ทธ๊ฑฐ ๋ง๊ณค ํŒ”๋„ ์•ˆ์•„ํ”„๋‹น
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋งŒ๋“œ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ • ์„ธํŒ… ๊ณผ์ • pyenv๋Š” nvm rvm์ฒ˜๋Ÿผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์ž์ฒด์˜ ๋ฒ„์ „๊นŒ์ง€ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํฐ ๊ฐœ๋…์ด๊ณ , virtualenv๋Š” ๊ทธ์•ˆ์˜ ์„ธ์„ธํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ๋‚˜๋ˆ ์ฃผ๋Š” ์—ญํ• ์ด๋‹ค. ์ฆ‰, pyenv + virtualenv ๋ฅผ ์“ฐ๋ฉด ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธํ•  ํ™˜๊ฒฝ์„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฒ„์ „๊นŒ์ง€ ํŽธํ•˜๊ฒŒ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ ์•„์ง๊นŒ์ง„ ํ•„์š” ์—†๊ฒ ์ง€๋งŒ ์“ฐ๋Š” ๊น€์— ์จ๋ณด๋Š” ๋„ˆ๋‚Œ์“ฐ ์ผ๋‹จ os ํ™˜๊ฒฝ์€ 16.04 ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค pyenv ์‚ฌ์šฉํ•˜๊ธฐ 1. pyenv ์„ค์น˜ git clone https://github.com/pyenv/pyenv.git ~/.pyenv 2. bash ์„ค์ • # vi ~/.bashrc export PYENV_ROOT="$HOME/.pyenv export PATH="$PYENV_ROOT/bin..
์ ํ”„ ํˆฌ ํŒŒ์ด์ฌ์—์„œ๋Š” ํŒŒ์ด์ฐธ์„ ๊ถŒ์žฅํ•˜์ง€๋งŒ vscode๋งŒ ์จ์™”๋˜ ๋‚˜๋Š” ํŒŒ์ด์ฐธ์€ ๋ฌ˜ํ•˜๊ฒŒ ์ดํด๋ฆฝ์Šค ๊ฐ™์•„์„œ ์‹ซ๋‹ค ใ…‹ใ…‹ ๊ทธ๋ž˜์„œ vscode์—์„œ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. 1. F1์„ ๋ˆ„๋ฅด๊ณ  select interpreter ์—์„œ interpreter path ์ฆ‰, ๊ฒฝ๋กœ์ฐพ๊ธฐ๋ฅผ ํ•œ๋‹ค ์šฐ๋ฆฌ๊ฐ€ ์•ž์ „์— ๋งŒ๋“ค์–ด ๋†“์€ venv/flask_sample_pjt ํ•˜์œ„์˜ Scripts ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— python.exe ํŒŒ์ผ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค ์š”๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ์„œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ด๋‹ค. ํŒŒ์ด์ฌ์ด ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ธ ๊ฑธ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์€ ์—†๊ฒ ์ง•? 2. ctrl + ` ๋กœ cmd ์ฐฝ์„ ์—ด์–ด๋ณธ๋‹ค ( ๋ถ€์ œ. ์—๋Ÿฌ ์žก๊ธฐ) 1๋ฒˆ์˜ ์ž‘์—…์œผ๋กœ ์—ฐ๊ฒฐ๊นŒ์ง€๋Š” ์™„๋ฃŒ ๋œ๊ฑด๋ฐ, ์—ด์—ˆ์„ ๋•Œ ๋ฐ”๋กœ ๊ฐ€์ƒํ™˜๊ฒฝ์œผ๋กœ ์ ‘์†์ด..
https://wikidocs.net/book/4542 ์ ํ”„ ํˆฌ ํ”Œ๋ผ์Šคํฌ **์ ํ”„ ํˆฌ ํ”Œ๋ผ์Šคํฌ ์˜คํ”„๋ผ์ธ ์ฑ… ์ถœ๊ฐ„ !! (2020.11)** * [์ฑ… ๊ตฌ์ž… ์•ˆ๋‚ด](https://wikidocs.net/102760) wikidocs.net ์šฐ์„  ์ด ๋งํฌ๋ฅผ ์—ด์‹ฌํžˆ ๋”ฐ๋ผํ–ˆ๋‹ค๋Š” ์  ์•Œ๋ฆฌ๊ณ  ์‹œ์ž‘ํ•œ๋‹ค..! ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์•„๋‚˜์ฝ˜๋‹ค๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์„ค์ •ํ–ˆ๋˜ ๊ฑฐ์ฒ˜๋Ÿผ ๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•  ๋•Œ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ํ™˜๊ฒฝ ์„ค์ • ๊ตฌ์„ฑ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋จผ์ € ์„ค์ • ํ•ด์ฃผ๊ธฐ๋กœ ํ•œ๋‹ค. ์ผ๋‹จ ๋‚˜๋Š” ์ € ๋งํฌ์— ๋‚˜์™€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์œˆ๋„์šฐ os ์œ ์ €๋ผ์„œ ๊ฑ ๋””๋ ‰ํ† ๋ฆฌ๋งŒ ๋‚ด ๋ง˜๋Œ€๋กœ ์„ค์ •ํ•˜๋ฉด์„œ ์ž˜ ๋”ฐ๋ผํ•ด๋ดค๋‹ค ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋Š” sample_pjt๋กœ ์ •ํ•˜๊ณ  ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” flask_sample_pjt๋กœ ์ •ํ–ˆ๋‹ค. venvs๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ์Œ ๋””..
ํ‚จ์ง€ (Kinzie)
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (10 Page)