์ „์ฒด ๊ธ€

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] Git๋ช…๋ น์–ด | ์‹ค์Šต | ํ˜•์ƒ๊ด€๋ฆฌ 2

์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ ์ƒํƒœ โ‰ซ Untracked : ๋ณ€๊ฒฝ์ ์€ ๋ฐœ์ƒํ–ˆ์œผ๋‚˜, Git์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜์ง€ ์•Š์€ ํŒŒ์ผ ๋‹จ ํ•œ๋ฒˆ๋„ Staging Area์— ํฌํ•จ๋˜์ง€ ์•Š์€ ํŒŒ์ผ โ‰ซ Tracked : Git์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” ํŒŒ์ผ Staging Area์— ํ•œ ๋ฒˆ ์ด์ƒ ํฌํ•จ๋œ ํŒŒ์ผ commit ํ•˜๋Š” ๋ฒ• 1. git commit ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ 2. :wq๋กœ ์ €์žฅํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋ฉด, Commit ์™„๋ฃŒ โ€ป ์—๋””ํ„ฐ ์‹คํ–‰ ์—†์ด ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, git commit -m "์ปค๋ฐ‹๋ฉ”์„ธ์ง€" ๋กœ ์ปค๋ฐ‹ ์ƒ์„ฑ! ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ํ™•์ธ โ‰ซ git log - commit: ์ปค๋ฐ‹์˜ ID - Author: ์ปค๋ฐ‹์„ ๋ฐ˜์˜ํ•œ ๋‹ด๋‹น์ž ์ •๋ณด - Date: ์ปค๋ฐ‹ ๋ฐ˜์˜ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐ ์ด๋ฏธ ์ปค๋ฐ‹์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, 1) ์ปค๋ฐ‹์˜ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ โ‰ซ ..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] ์ž…๋ฌธ | ๊ธฐ๋ณธ ์šฉ์–ด | ํ˜•์ƒ๊ด€๋ฆฌ 1

ํ˜•์ƒ๊ด€๋ฆฌ (Software Configuration Management, SCM) ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๊ฐ ๋‹จ๊ณ„์—์„œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณ€๊ฒฝ์ ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ถ”์ ·๊ด€๋ฆฌํ•˜๋Š” ์ผ๋ จ์˜ ๋ชจ๋“  ํ™œ๋™ # ํ˜•์ƒ๊ด€๋ฆฌ์˜ ์ค‘์š”์„ฑ : ๋ณ€๊ฒฝ์ ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ถ”์ ํ•˜๋Š” ๊ณผ์ •์€ ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณต์žก์„ฑ์ด๋‚˜ ๊ทœ๋ชจ๊ฐ€ ์ ์  ๋†’์•„์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜•์ƒ๊ด€๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ํ™•๋ณดํ•˜๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ ๊ณผ์ •์ด ๋๊ณ , ์ค‘์š”์„ฑ์ด ์ ์  ๋†’์•„์กŒ๋‹ค. # ํ˜•์ƒ๊ด€๋ฆฌ์˜ ๋Œ€์ƒ : SW ๊ฐœ๋ฐœ ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‚ฐ์ถœ๋ฌผ (ex. ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ์ข… ๋ฌธ์„œ, ์Šคํ† ๋ฆฌ๋ณด๋“œ, ์†Œ์Šค์ฝ”๋“œ, API ๋ฌธ์„œ ๋“ฑ) Git ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ˜•์ƒ๊ด€๋ฆฌ ๋„๊ตฌ, '๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ' ๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ Git์˜ ๋ชฉํ‘œ -..

๐Ÿ Programming/HTML, CSS

Flask ์‹คํ–‰ ์˜ค๋ฅ˜ | UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 0: invalid start byte ํ•ด๊ฒฐ๋ฒ•

๊ฐ„๋‹จํ•œ flask ๋ช…๋ น์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•œ ํ›„ Pycharm์—์„œ ์‹คํ–‰์„ ์‹œ์ผฐ๋”๋‹ˆ from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'This is Home!' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True) ์•„๋ž˜์˜ ๋งจ ๋งˆ์ง€๋ง‰์ค„ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ open()ํ•จ์ˆ˜์˜ encoding ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•˜์—ฌ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ 'euc-kr' ๋˜๋Š” 'cp949' ๋“ฑ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง€์ •ํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ๋‚˜๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ธฐ๋ณธ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ ค๋Š” ๊ฒƒ์ด๋‹ค ๋ณด๋‹ˆ ์–ด๋””์„œ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ดค๋‹ค. ..

IT ์ง€์‹

Oven (๋‹ค์Œ ์นด์นด์˜ค)

Oven ์ด๋ž€? ์˜จ๋ผ์ธ ํ”„๋กœํ† ํƒ€์ดํ•‘ ํˆด โ€ป ํ”„๋กœํ† ํƒ€์ดํ•‘(prototyping): ๊ฐœ๋ฐœ์ ‘๊ทผ๋ฒ•์˜ ํ•˜๋‚˜๋กœ์„œ ๊ฐœ๋ฐœ์ดˆ๊ธฐ์— ์šฐ๋ฆฌ๊ฐ€ ์‹œ์Šคํ…œ์„ ์‹ค์ œ๋กœ ๋งŒ๋“ค๊ธฐ ์ „์— ๋ชจํ˜•, ๊ทธ๋ฆผ ๋“ฑ์„ ํ†ตํ•ด ์œ ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด๋Š” ํ™œ๋™ ๋˜๋Š” ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด ์ง„ ๊ฒƒ โ–ถ Oven์˜ ํŠน์ง• 1. ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ 2. ๊ฝค ํฐ ์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•จ โ–ถ ์˜จ๋ผ์ธ ํ”„๋กœํ† ํƒ€์ดํ•‘ ํˆด์˜ ์žฅ์  - ๋งŒ๋“œ๋Š” ์‹œ๊ฐ„์ด ์ ๊ฒŒ ๋“ค์Œ - ๊ฒฐ๊ณผ๋ฌผ์˜ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์Œ - ๊ฐ„๋‹จํ•œ ์ธํ„ฐ๋ ‰์…˜์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Œ - ์‹ค์ œ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ์ž‘ํ•  ๋•Œ ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์ด ๋งŽ์ด ๋“ค๊ณ , ์ž˜๋ชป ๋งŒ๋“ค์—ˆ์„ ๊ฒฝ์šฐ ๊ทธ ํƒ€๊ฒฉ๋„ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ๋งŒ๋“ค๊ธฐ์— ์•ž์„œ ๊ทธ๊ฒƒ์ด ์ œ๋Œ€๋กœ ๋œ ๊ธฐํš๋ฌผ์ธ์ง€, ์ฐธ์—ฌ ๊ตฌ์„ฑ์›๋“ค์ด ๋™์ผํ•œ ๊ฒƒ์„ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ๋งŒ๋“œ๋Š” ๊ฒƒ๋“ค - ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ํ”„๋กœ..

๐Ÿ ๊ธฐํƒ€/์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ_FE

์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ | Flask ์‚ฌ์šฉํ•˜๊ธฐ

Flask ๊ฐ„๋‹จํ•œ ์›น ์‚ฌ์ดํŠธ, ํ˜น์€ ๊ฐ„๋‹จํ•œ API ์„œ๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ์— ํŠนํ™” ๋˜์–ด์žˆ๋Š” Python Web Framework · Flask ํ”„๋ ˆ์ž„์›Œํฌ : ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™์‹œ์ผœ์ฃผ๋Š” ํŽธํ•œ ์ฝ”๋“œ ๋ชจ์Œ (ํฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) # Flask ๊ธฐ๋ณธ ์‹œ์ž‘ ์ฝ”๋“œ from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'This is Home!' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True) # Flask ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ - Flask ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค ๋•Œ, ํ•ญ์ƒ ํ”„๋กœ์ ํŠธ ํด๋” ์•ˆ์— ใ„ดstatic ํด๋” (์ด๋ฏธ์ง€, css ํŒŒ์ผ์„ ๋„ฃ์–ด ๋‘ ) ใ„ดtemplates ํด๋” (html ํŒŒ์ผ์„..

๐Ÿ ๊ธฐํƒ€/์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ_FE

์ง€๋‹ˆ๋ฎค์ง ํฌ๋กค๋งํ•˜๊ธฐ

์ด๋ฒˆ ์ฃผ์ฐจ๋Š” ์ง€๋‹ˆ๋ฎค์ง์˜ 1~50์œ„ ๊ณก์„ ์ˆœ์œ„ / ๊ณก ์ œ๋ชฉ / ๊ฐ€์ˆ˜ ๋ฅผ ์Šคํฌ๋ž˜ํ•‘ํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด import requests from bs4 import BeautifulSoup headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} data = requests.get('https://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20211101',headers=headers) soup = BeautifulSoup(data.text, 'html.parser') #bo..

Dhey
dh.log