Nginx์์ ์์ฒญ ์, ํ์ผ ํฌ๊ธฐ ์ ํ ํด์ ํ๋ ๋ฒ๐คฉ
MySQL Error 1093 : You can't specify target table 'tablename' for update in FROM clause
MySQL Error 3780 - ์๋ํค ์ ์ฝ(Foreign Key Constraint)
Wecode์ ๋ํ ํ๊ธฐ์ 2020๋ ๋๋ฅผ ๋์๋ณด๋ ๋ง์์ผ๋ก ๊ธ์ ์ฐ๋ ค ํฉ๋๋ค.
์ค๋๋ถํฐ ๋ณธ๊ฒฉ์ ์ผ๋ก DRF๋ฅผ ๊ณต๋ถํ๊ธฐ๋ก ํ๋ค. ์์์ API Guide์ View์ด๋ค.
selectrelated์ prefetchrelated์ ์ฐจ์ด์ ์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํ๋ค. ๋จผ์ ์์ 2๊ฐ์ ๊ธ์์ QuerySet๊ณผ ORM์ ๋ํด ๊ธ์ ์ผ์๋ค. QuerySet์ ์ผ๋ฐ์ ์ผ๋ก Lazy-Loading(์ง์ฐ ๋ก๋ฉ)๋ฐฉ์์ ํํ๋ค.
์ ๋ง ๊ฐ๋จํ๊ฒ TCP์ UDP์ ๋ํด, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฐจ์ด๋ ๋ญ์ง ์์๋ณด๋ ค๊ณ ํ๋ค.
์ ๋ฒ ๊ธ์์๋ Lazy Loading๊ณผ Cache(Caching)์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๋ค. QuerySet์ ๊ธฐ๋ณธ์ ์ผ๋ก Lazy Loading ๋ฐฉ์์ ์ ํํ๋ค. ํ์ง๋ง SQL๋ก ํ ๋ฒ์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋๊ฐ ์์ ๊ฒ์ด๋ค.
PyCon Korea์์ ์ข์ ์์์ด ํ๋ ์ฌ๋ผ์๋ค.Django ORM(QuerySet)์ ๋ํ ๋ด์ฉ์ด๋ค.์ฃผ๋์ด๋ค์ด ORM์ ๊ณต๋ถํ๋ฉด์ ๋์น๊ธฐ ์ฝ๊ฑฐ๋ ๋ชฐ๋๋ ๋ด์ฉ์ด ๋ง์๊ณต๋ถํ๋๋ฐ ์ ๋ง ๋์์ด ๋ง์ด ๋์๋ค.ORM์ ํน์ง์ ๋ํด ๋ค๋ค๋ณด๋ ค๊ณ ํ๋ค.
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ํ๋ค ๊ธฐ๊ฐ๋งฅํ ํจ์๋ฅผ ํ๋ ๋ฐ๊ฒฌํ๋ค. ๋ฐ๋ก ์ด๋ ํ ๋ฌธ์์ด์ ๋ํด์ ๊ทธ ๋ฌธ์์ด์ด ๋ฌธ์์ธ์ง ์ซ์์ธ์ง True False๋ก ๋ฆฌํดํด์ฃผ๋ ํจ์ isalpha()์ isdigit()์ด๋ค.
์ ์๊ฐ์ ํ๋ก์ธ์ค์ ๋ํด ์์๋ดค๋ค. ์ด๋ฒ์ ์ค๋ ๋์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํ๋ค.
์๋ ์๋ ๋ฌด์์ ๋ค์ด๋ก๋ํ๋ฉด์ ๋ง์ฐ์ค๊ฐ ์์ง์ด์ง ์์๊ณ , ํค๋ณด๋๋ ์ ๋ ฅ๋์ง ์์๊ณ , ๊ทธ๋ฅ ์ง์ง ํ๋์ ์ผ๋ง ๊ฐ๋ฅํ๋ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ค๋๋ ์๋ ์ ๋ง ๋ง์ ์์ ์ ํ ๋ฒ์ ํ ์๊ฐ ์๋ค.
์ฅ๊ณ ์์ ์ค๋ธ์ ํธ๊ฐ ์กด์ฌํ์ง ์์ ๋์ ์๋ฌ๋ฅผ ํจ์จ์ (?)์ผ๋ก ์ก์์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ค๋ฃจ๋ ค๊ณ ํ๋ค.
๋ช ์ผ์ , python์์ list์ ๋ํ ์ด๊ธฐํ ๋ฐฉ๋ฒ๊ณผ ๊ทธ ์ฐจ์ด์ ๋ํด ๋ค๋ฃจ์๋ค.
์ฅ๊ณ ์์ Unit Test๋ฅผ ํ๊ธฐ์ํด test๋ฅผ ๋๋ฆฌ๋ฉด ํ ์คํธDB(๊ฐ์์ DB)๋ฅผ ๋ง๋ค์ด์ ํ ์คํธ๋ฅผ ์งํํ๊ฒ ๋๋ค. ๋ก์ปฌ์ด๋ RDS์ ์๋ DB๋ฅผ ์ง์ ์ฌ์ฉํ์ฌ ํ ์คํธ๋ฅผ ํ ์ ์์๊น? ๋ผ๋ ์๋ฌธ์ ๊ฐ์ง๊ณ ์ด ๊ธ์ด๋ค.
๊ฐ์๊ธฐ ํ์ด์ฌ ๋ฆฌ์คํธ์ clear ๋ฉ์๋๊ฐ ์ ์๋์ง ๊ถ๊ธํ๋ค.
Wednesday_Oct_21 - MySQL์๋ 4๊ฐ์ง์ ๋ ์ง์ ์๊ฐ๊ด๋ จ ํ๋๊ฐ ์กด์ฌํ๋ค.๋ฑ ๋ด๋DATE๋ '2020-10-21'์์ ํ์TIME์ '15:18:43'์ ํ์๊ทธ๋ฐ๋ฐ DATETIME๊ณผ TIMESTAMP๋ '๋ ์ง ์๊ฐ'์ ํ์์ธ ๊ฒ ๊ฐ์๋ฐ..ํ์์ ์ฐจ์ด๋
Monday_Sep_14