๐ ํ์ด์ฌ (Python)
-
sorted() Prototype sorted( , key = , reverse = ) # ๋ฟ ์๋๋ผ, , , ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ์๋ณธ ๋ด์ฉ์ ๋ฐ๊พธ์ง ์๊ณ , ์ ๋ ฌํ ๊ฐ์ ๋ฐํํ๋ค. List, tuple, Dictionary, str์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. key ๋ฅผ ํตํ์ฌ ์ ๋ ฌํ ๊ธฐ์ค์ ์ ํ ์ ์๋ค. reverse ๊ฐ True์ด๋ฉด ๋ด๋ฆผ์ฐจ์, False์ด๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ค. arr = [10, 40, 20, 15] arr = sorted(arr, reverse = True) print(arr) >>>> [40, 20, 15, 10] sort() Prototype .sort(key = , reverse = ) ์๋ณธ ์์ฒด๋ฅผ ์์ ํ๋ค. ๋ฐํ๊ฐ์ None Tuple , Dictionary, Str ์๋ ..
ํ์ด์ฌ (Python) - (์ ๋ ฌ ์ด์ ๋ฆฌ) sort( ), sorted( ) , ํน์ key๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ,์ด์ค ๋ฆฌ์คํธ ์ ๋ ฌ , ๋ค์ค ์กฐ๊ฑด ์ ๋ ฌsorted() Prototype sorted( , key = , reverse = ) # ๋ฟ ์๋๋ผ, , , ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ์๋ณธ ๋ด์ฉ์ ๋ฐ๊พธ์ง ์๊ณ , ์ ๋ ฌํ ๊ฐ์ ๋ฐํํ๋ค. List, tuple, Dictionary, str์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. key ๋ฅผ ํตํ์ฌ ์ ๋ ฌํ ๊ธฐ์ค์ ์ ํ ์ ์๋ค. reverse ๊ฐ True์ด๋ฉด ๋ด๋ฆผ์ฐจ์, False์ด๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ค. arr = [10, 40, 20, 15] arr = sorted(arr, reverse = True) print(arr) >>>> [40, 20, 15, 10] sort() Prototype .sort(key = , reverse = ) ์๋ณธ ์์ฒด๋ฅผ ์์ ํ๋ค. ๋ฐํ๊ฐ์ None Tuple , Dictionary, Str ์๋ ..
2020.02.10 -
*์ง๋ ํฌ์คํ :https://infinitt.tistory.com/113?category=1071293 ํ๋ผ์คํฌ (Flask) - ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 2 (WTF ์ด์ฉํ๊ธฐ) *Flask - WTF ์ง๋ ํฌ์คํ ๋๋ ํ์๊ฐ์ ์ ์ ๋ ฅํ์ง ์์๋๊ฒ์ด ์๋์ง, ๋๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋๋ฒ ์ ๋ ฅํ ๋ ๋ค๋ฅด๊ฒ ์ ๋ ฅํ์ง ์์๋์ง if๋ฌธ์ ์ฌ์ฉํ์ฌ ์๋์ ์ผ๋ก Validation์ ํ์์ต๋๋ค. ์ด๋ฒ์๋ WTF๋ฅผ ์ด์ฉํ์ฌ.. infinitt.tistory.com ํด๋ผ์ด์ธํธ(์ฌ์ฉ์)์ ์๋ฒ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฟ ํค(Cookie)์ ์ธ์ (session). ์ฟ ํค๋ ์๊ฐ์ด ์ง๋๋ฉด ์๋ฉธํ๊ณ , ์๋ฒ์ ์์์ ํ์ฉํ์ง ์๊ณ ํด๋ผ์ด์ธํธ์ชฝ์ ์ ์ฅ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ๋ณด์๊ธฐ๋ฅ์ ํ์ฉํ ๋๋ ์ธ์ ์ ์ฌ์ฉํ๋ค. ํ๋ผ์คํฌ์์๋ ์ธ์ ์ ๋์ ๋๋ฆฌํํ๋ก..
ํ๋ผ์คํฌ (Flask) ๋ก๊ทธ์ธ , ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ (session ํ์ฉ)*์ง๋ ํฌ์คํ :https://infinitt.tistory.com/113?category=1071293 ํ๋ผ์คํฌ (Flask) - ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 2 (WTF ์ด์ฉํ๊ธฐ) *Flask - WTF ์ง๋ ํฌ์คํ ๋๋ ํ์๊ฐ์ ์ ์ ๋ ฅํ์ง ์์๋๊ฒ์ด ์๋์ง, ๋๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋๋ฒ ์ ๋ ฅํ ๋ ๋ค๋ฅด๊ฒ ์ ๋ ฅํ์ง ์์๋์ง if๋ฌธ์ ์ฌ์ฉํ์ฌ ์๋์ ์ผ๋ก Validation์ ํ์์ต๋๋ค. ์ด๋ฒ์๋ WTF๋ฅผ ์ด์ฉํ์ฌ.. infinitt.tistory.com ํด๋ผ์ด์ธํธ(์ฌ์ฉ์)์ ์๋ฒ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฟ ํค(Cookie)์ ์ธ์ (session). ์ฟ ํค๋ ์๊ฐ์ด ์ง๋๋ฉด ์๋ฉธํ๊ณ , ์๋ฒ์ ์์์ ํ์ฉํ์ง ์๊ณ ํด๋ผ์ด์ธํธ์ชฝ์ ์ ์ฅ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ๋ณด์๊ธฐ๋ฅ์ ํ์ฉํ ๋๋ ์ธ์ ์ ์ฌ์ฉํ๋ค. ํ๋ผ์คํฌ์์๋ ์ธ์ ์ ๋์ ๋๋ฆฌํํ๋ก..
2020.02.08 -
Css ํ์ผ, Jsํ์ผ ๋ฑ Staticํ์ผ์ ์ ์ฉํ๋ ค๋ฉด ํด๋๋ฅผ ์์ฑํด์ผํฉ๋๋ค. Flaskํด๋ โ โโโ templates (ํด๋) โ โโโ register.html โ โโโ static โ โโโ app.py (์คํํ์ผ) โโโ db.sqlite (์ด๊ฑด ์๋์ผ๋ก ์์ฑ๋จ) โโโ models.py staticํด๋๋ฅผ ๋ง๋ค์์ผ๋ฉด, JS์ CSSํด๋๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. (ํด๋๋ค์ ์ด๋ฆ์ ์๊ด์์ต๋๋ค.) ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ ๋ง๋ ํ์ผ๋ค์ ๋ฃ๊ณ ๋ค์ ํจ์๋ฅผ ํตํด ์ ์ฉ์ํต๋๋ค. url_for('ํด๋์ด๋ฆ', filename='ํ์ผ์ด๋ฆ')
ํ๋ผ์คํฌ (Flask) Static ํ์ผ ์ ์ฉํ๊ธฐ. (CSS, JS) url_forCss ํ์ผ, Jsํ์ผ ๋ฑ Staticํ์ผ์ ์ ์ฉํ๋ ค๋ฉด ํด๋๋ฅผ ์์ฑํด์ผํฉ๋๋ค. Flaskํด๋ โ โโโ templates (ํด๋) โ โโโ register.html โ โโโ static โ โโโ app.py (์คํํ์ผ) โโโ db.sqlite (์ด๊ฑด ์๋์ผ๋ก ์์ฑ๋จ) โโโ models.py staticํด๋๋ฅผ ๋ง๋ค์์ผ๋ฉด, JS์ CSSํด๋๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. (ํด๋๋ค์ ์ด๋ฆ์ ์๊ด์์ต๋๋ค.) ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ ๋ง๋ ํ์ผ๋ค์ ๋ฃ๊ณ ๋ค์ ํจ์๋ฅผ ํตํด ์ ์ฉ์ํต๋๋ค. url_for('ํด๋์ด๋ฆ', filename='ํ์ผ์ด๋ฆ')
2020.02.07 -
๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ญ์ , ์์ , pop ๋ฑ์ ์ฒ๋ฆฌํ ๋ ๋ฆฌ์คํธ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์์ ์ ์คํํ๊ฒ ๋๋ฉด IndexError: list index out of range ์ ๊ฐ์ ์๋ฌ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์๋ค. ์๋ฅผ๋ค์ด A = [1,2,3] ์ผ๋ print(A[3])์ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ์ด๊ณผํ๋ค. (A์ ์ธ๋ฑ์ค๋ 2๊น์ง๋ผ์) ์ด๋ if ๋ฌธ์ผ๋ก, ๋ฐฐ์ด์ด ๋น์ด์๋์ง๋ฅผ ํ์ธํ๋ฉด ์๋ฌ๋ฅผ ๋ฏธ์ฐ์ ๋ฐฉ์ง ํ ์ ์๋ค. * ์๋ชป๋ ๋ฐฉ์ A = [] if not A[0] : print("๋น ๋ฐฐ์ด์ ๋๋ค") if๋ฌธ์ ์๋ฏธ๋ A์ 0๋ฒ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด, ์ด์ง๋ง ์ด ๊ณผ์ ์์๋ A์ 0๋ฒ ์ธ๋ฑ์ค๋ฅผ ํธ์ถํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ A์ 0๋ฒ์์๋ฅผ ํธ์ถํ์ง๋ง๊ณ A ์์ฒด์ ๋ํ ๊ฒ์ฆ์ ํด๋ณด๋ฉด ๋๋ค. If not A..
ํ์ด์ฌ (python) ๋ฆฌ์คํธ๊ฐ ๋น์ด์๋์ง ํ์ธ, ๋น ๋ฐฐ์ด ํ์ธํ๊ธฐ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ญ์ , ์์ , pop ๋ฑ์ ์ฒ๋ฆฌํ ๋ ๋ฆฌ์คํธ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์์ ์ ์คํํ๊ฒ ๋๋ฉด IndexError: list index out of range ์ ๊ฐ์ ์๋ฌ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์๋ค. ์๋ฅผ๋ค์ด A = [1,2,3] ์ผ๋ print(A[3])์ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ์ด๊ณผํ๋ค. (A์ ์ธ๋ฑ์ค๋ 2๊น์ง๋ผ์) ์ด๋ if ๋ฌธ์ผ๋ก, ๋ฐฐ์ด์ด ๋น์ด์๋์ง๋ฅผ ํ์ธํ๋ฉด ์๋ฌ๋ฅผ ๋ฏธ์ฐ์ ๋ฐฉ์ง ํ ์ ์๋ค. * ์๋ชป๋ ๋ฐฉ์ A = [] if not A[0] : print("๋น ๋ฐฐ์ด์ ๋๋ค") if๋ฌธ์ ์๋ฏธ๋ A์ 0๋ฒ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด, ์ด์ง๋ง ์ด ๊ณผ์ ์์๋ A์ 0๋ฒ ์ธ๋ฑ์ค๋ฅผ ํธ์ถํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ A์ 0๋ฒ์์๋ฅผ ํธ์ถํ์ง๋ง๊ณ A ์์ฒด์ ๋ํ ๊ฒ์ฆ์ ํด๋ณด๋ฉด ๋๋ค. If not A..
2020.02.06 -
*Flask - WTF ์ค์น pip install flask-WTF flask์ form์ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต. CSRF( Cross-site request forgery) protect ์ ํจ์ฑ ๊ฒ์ฆ(validation) 1. csrf protect from flask_wtf.csrf import CSRFprotect if __name__ == "__main__": app.config['SECRET_KEY'] = 'wcsfeufhwiquehfdx' csrf = CSRFProtect() csrf.init_app(app) ์ํฌ๋ฆฟ ํค๋ฅผ ์ค์ ํด์ฃผ๊ณ , (์์๋ ์์๋ก ์ค์ ํ์ต๋๋ค.) csrf ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ app์ํตํด ์ด๊ธฐํํ๋ฉด ๋ฉ๋๋ค. 2. form, Validators, StringField, Pass..
ํ๋ผ์คํฌ (Flask) - ํ์๊ฐ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 2 (flask - WTF ์ด์ฉํ๊ธฐ)*Flask - WTF ์ค์น pip install flask-WTF flask์ form์ ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต. CSRF( Cross-site request forgery) protect ์ ํจ์ฑ ๊ฒ์ฆ(validation) 1. csrf protect from flask_wtf.csrf import CSRFprotect if __name__ == "__main__": app.config['SECRET_KEY'] = 'wcsfeufhwiquehfdx' csrf = CSRFProtect() csrf.init_app(app) ์ํฌ๋ฆฟ ํค๋ฅผ ์ค์ ํด์ฃผ๊ณ , (์์๋ ์์๋ก ์ค์ ํ์ต๋๋ค.) csrf ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ app์ํตํด ์ด๊ธฐํํ๋ฉด ๋ฉ๋๋ค. 2. form, Validators, StringField, Pass..
2020.02.05 -
https://infinitt.tistory.com/17 ํ์ด์ฌ(Python) ๊ธฐ์ด (6) ๋ฐ์ดํฐ ํ์ (Data Type) - ๋ฆฌ์คํธ (list) ์ ํํ (tuple) ๊ทธ๋ฆฌ๊ณ ๊ด๋ จ ํจ์(sort reverse insert remove pop append extend ๋ฑ.. ) ๋ฆฌ์คํธ์ ํํ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์๋ฃํ์ ์ ๋๋ค. ๋ง๊ทธ๋๋ก ๋ฆฌ์คํธ์ ์งํฉ๊ณผ ๊ฐ์ ๊ฐ๋ ์ด๋ฉฐ, ํ๋์ ํํ๊ณผ ๋ฆฌ์คํธ์ ๋ณ์์๋ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ํฌํจ์ํฌ ์ ์์ต๋๋ค. ์ฌ๋ผ์ด์ฑ์ ํ์ฉ์ด ๋ง์ผ.. infinitt.tistory.com ๋ฆฌ์คํธ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ฆฌํ์ด์ง 2์ค for๋ฌธ์ผ๋ก 2์ค ๋ฆฌ์คํธ ์ ์ธ array = [[0 for col in range(11)] for row in range(10)] 11x10 ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ..
ํ์ด์ฌ (Python) 2์ค ๋ฆฌ์คํธ, 2์ฐจ์ ๋ฐฐ์ด ์ ์ธ ๋ฐ ์ถ๋ ฅhttps://infinitt.tistory.com/17 ํ์ด์ฌ(Python) ๊ธฐ์ด (6) ๋ฐ์ดํฐ ํ์ (Data Type) - ๋ฆฌ์คํธ (list) ์ ํํ (tuple) ๊ทธ๋ฆฌ๊ณ ๊ด๋ จ ํจ์(sort reverse insert remove pop append extend ๋ฑ.. ) ๋ฆฌ์คํธ์ ํํ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์๋ฃํ์ ์ ๋๋ค. ๋ง๊ทธ๋๋ก ๋ฆฌ์คํธ์ ์งํฉ๊ณผ ๊ฐ์ ๊ฐ๋ ์ด๋ฉฐ, ํ๋์ ํํ๊ณผ ๋ฆฌ์คํธ์ ๋ณ์์๋ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ํฌํจ์ํฌ ์ ์์ต๋๋ค. ์ฌ๋ผ์ด์ฑ์ ํ์ฉ์ด ๋ง์ผ.. infinitt.tistory.com ๋ฆฌ์คํธ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ฆฌํ์ด์ง 2์ค for๋ฌธ์ผ๋ก 2์ค ๋ฆฌ์คํธ ์ ์ธ array = [[0 for col in range(11)] for row in range(10)] 11x10 ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ..
2020.02.02