๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง36 ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.11.์ Today I Learn 220511 ์ค๋์ Vuex์ ๋ํด ํ์ตํ์๋ค. Vuex๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ค์ํ ์ปดํฌ๋ํธ๋ค์ด ์์ ๋ ๊ธฐ์กด์ Vueํ๊ฒฝ์ ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ๋ง๋ค data๋ฅผ ๋ค๊ณ ์์ง๋ง, ๊ทธ๋ ๊ฒ ๋๋ฉด emit๊ณผ props๋ฅผ ๊ณ์ ๊ฑฐ์ณ ํต์ ํด์ผ ํ๊ณ ๋์ ๊ฐ์ ๋๊ธฐ component์ ๋ํํ ๋๋ ์ฌ๋ฌ๋ช ์ ๊ฑฐ์ณ ํต์ ํด์ผ ํ๋ค. ์ด๋ฌํ ๋ถํธํจ์ ํด์ํ๊ธฐ ์ํด Vuex๋ฅผ ์ฌ์ฉํ๋ค! Vuex์์๋ index.js๋ผ๋ ๊ณณ์์ (๋ง์น ๊ณต์ฉํต์ฅ) data๋ฅผ ๊ด๋ฆฌํ๋ค. ๊ทธ๋์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ๊ณต์ฉ์ผ๋ก ์ฌ์ฉํ๋ค๋ณด๋ ํธ๋ฆฌ์ฑ์ ์ฆ๊ฐ ๋ ๋ฐ๋ฉด ์ํ๊ด๋ฆฌ๋ฅผ ์ ํด์ผํ๋ ๋จ์ ์ด ์๊ฒผ๋ค! ์ด์จ๋ , Vuex์ core ๊ฐ๋ ์ ๋ค์๊ณผ ๊ฐ๋ค. - State โ ์ค์์์ ๊ด๋ฆฌํ๋ ๋ชจ๋ ์ํ ์ ๋ณด (data) .. 2022. 5. 11. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.10.ํ Today I Learn 220510 ์ด์ ๋ง๋ค์๋ ๊ณผ์ ์์ ์ฌ์ค /lotto/6์ผ๋ก ๋์ด๊ฐ์ง ์๋ ์ค๋ฅ๊ฐ ์์ด์ path๋ฅผ '/lotto/6'์ผ๋ก ์ง์ ํด์ ํด๊ฒฐํ๋๋ฐ, ์ค๋ ์ ๋์ด๊ฐ์ง ์์๋์ง ๋ฐ๊ฒฌํ์๋ค..! ์ญ์๋ ํด๋จผ์๋ฌ์๊ณ params๋ฅผ parmas๋ผ๊ณ ์ ์ด์ ์๊ธด ์ค๋ฅ์๋ค....!! ๋ ๋ก๋ ํ์ด์ง์์ ์ซ์ 6๊ฐ๋ฅผ ๋ฝ๋ ํจ์์์ this.$router.params.lottoNum์ด๋ผ ์ ์ด์ ์ค๋ฅ๊ฐ ์๊ฒผ์๋ค!!! this.$route.params.lottoNum์ผ๋ก ํด์ผ ํ๋๋ฐ, lunchํ์ด์ง์์ lottoํ์ด์ง๋ก ๋์ด๊ฐ ๋ this.$router.push๋ผ๊ณ ์ ์ด์ route์ router๊ฐ ํท๊ฐ๋ ธ๋ค! ์ lunchํ์ด์ง์์๋ ๋ค๋ฅธ URL๋ก ์ด๋ํ๋ ค๋ฉด this.$router.push๋ผ ์ฐ๋ .. 2022. 5. 10. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.09.์ workshop - Vue CLI ์ค๋์ Node.js๋ฅผ ์ค์นํ๊ณ Vue CLI๋ฅผ ์ด์ฉํด Vue Router์ฑ์ ์ค์นํ๊ณ ์ด๋ฅผ ํตํด ๋ก๋๋ฒํธ ์ถ์ฒจ๊ธฐ(?)์ ์ ์ฌ๋ฉ๋ด๋ฅผ ๊ณ ๋ฅด๋ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ ๊ณผ์ ๋ฅผ ํ๋ค. javascript๋ง์ ์ด์ฉํด ์ด ํ์ด์ง๋ฅผ ๊ตฌํํ ๋๋ ์ฌ์ค ์ข ํ๋ค์๋๋ฐ, lodash๋ฅผ importํด์ ์ฐ๋ ์ซ์๋ฅผ ๊ฐ์ ธ์ค๋๊ฒ๋ ํจ์ฌ ์ ๋ฒ๋ณด๋ค ํธํ๋ค!๋ํ ์ ์ฌ๋ฉ๋ด ๊ณ ๋ฅด๋ ๊ฒ๋ lodash๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๊ฐ ํ๊ฒฐ ๊ฐ๋ตํด์ง๊ฑฐ ๊ฐ๋ค. ๋ํ, Vue CLI๋ฅผ ํตํด ํ๋ฉด์ ๊ตฌํํ๋ ์ ๋ณด๋ค ํจ์ฌ ๊น๋ํ๊ณ ๋น๋๊ธฐํ ์ํค๋ ๊ฒ๋ ์์์ ๋๋๊น ์ข์๊ฑฐ ๊ฐ๋ค. ์ง๋์ฃผ์ ๊ทธ์ ์ฃผ์๋ javascript์ ์ ์ํ๋๋ผ ํ๋ค์์ง๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด ๊ตฌํํ๋๊ฑด ์์ง ์ด๋ ค์๋ ์ฌ๋ฐ๋๊ฑฐ ๊ฐ๋ค. App.vue Lunch | L.. 2022. 5. 9. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.06.๊ธ Today I Learn 220506 ์ค๋์ AJAXํต์ ์ ์ด์ฉํด ์๋ฒ์์ JSON๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋น๋๊ธฐ๋ก ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๊ณผ์ ๋ฅผ ์งํํ์๋ค. ์ธ์ ๋ ๊ทธ๋ ๋ฏ ์ค๋ฅ๋ฅผ ๋ง๋ฌ๋ค. ์์ง axios๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์ต์ํ์ง ์์์ ํด๋จผ์๋ฌ๊ฐ ๋ง์ด ๋ฌ์๋ค. ์ด๋ ค์ ๋ ์ ์ ์ ํ๋ก์ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๋๋ฐ url์ ์ฐฉ๊ฐํด์ accounts/pk/follow/๊ฐ ๋์ด์ผ ํ๋๋ฐ, accounts/username/follow๋ก ๋ง๋ค์๋ค. ๊ทธ๋์ 404 ์ค๋ฅ๋ฅผ ๋ง๋์ 1์๊ฐ ๋๊ฒ ๊ตฌ๊ธ๋ง ํ๋ค๊ฐ network ๋ณด๋๋ฒ์ ๊ณต๋ถํ๋ค...^.ใ ๊ทธ ์ค ๋์ค์ ๊ธฐ์ตํ๊ธฐ ์ํด ๋จ๊ฒจ๋๋ ๋ธ๋ก๊ทธ ๋งํฌ(https://github.com/Lagom92/TIL/blob/master/web/400%20%EC%97%90%EB%9F%AC%20%ED%95.. 2022. 5. 6. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.03.ํ ๋ณดํธ๋์ด ์๋ ๊ธ ์ ๋๋ค. 2022. 5. 3. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.05.02.์ Today I Learn 220502 ์ค๋์ ๋น๋๊ธฐ์ ๋๊ธฐ์ ๋ํด ๋ฐฐ์ ๋ค. ๋น๋๊ธฐ์ ๋๊ธฐ์ ๊ฐ๋ ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋๊ธฐ :์์ฐจ์ , ์ง๋ ฌ์ Task ์ํ , ์์ฒญ์ ๋ณด๋ธ ํ ์๋ต์ ๋ฐ์์ผ๋ง ๋ค์ ๋์์ด ์ด๋ฃจ์ด์ง (blocking) ๋น๋๊ธฐ :๋ณ๋ ฌ์ Task ์ํ, ์์ฒญ์ ๋ณด๋ธ ํ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ๋์์ด ์ด๋ฃจ์ด์ง (non-blocking) JavaScript๋ single threaded์ฌ์ ์ปดํจํฐ๊ฐ ์ฌ๋ฌ๊ฐ์ CPU๋ฅผ ๊ฐ์ง๊ณ ์์ด๋ main thread๋ผ ๋ถ๋ฆฌ๋ ๋จ์ผ ์ค๋ ๋์์๋ง ์์ ์ ์ํํ๋ค. ์ด๋ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ Call Stack์ด ํ๋๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด JavaScript๋ ์ฆ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ ์ด๋ฒคํธ๋ค์ ๋ค๋ฅธ๊ณณ (Web API)์ผ๋ก ๋ณด๋ด์ ์ฒ๋ฆฌํ๋๋ก ํ๊ณ , ์ฒ๋ฆฌ.. 2022. 5. 2. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.28.๋ชฉ Today I Learn 220428 setAttribute()๋ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์ setAttribute๋ ๋๋ฌด ๊ฐ๋ ฅํด์ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์. ์ด๋ inline์ผ๋ก ์คํ์ผ์ ์ ์ฉํ๋ ๊ฒ์ด๋ผ CSS ํ์ผ์์ ์ ์ฉํ ์ค์ ๋ณด๋ค ์ฐ์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค. ๋๋ฌธ์ ์ ์ฌ์ฉํ์ง ์๋๋ค!! ๋ฐ๋ผ์, ์ ํํ๋ setAttribute()์ classList๊ฐ ๋ค๋ฃจ๊ณ ์๋ ๋์์ ๋ฒ์๊ฐ ๋ค๋ฆ #setAttribute()๋ HTML ์์์ inline ์คํ์ผ๋ก ์ด๋ ํ ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ -class ์์ฑ -style ์์ฑ -href ์์ฑ -....๋ฑ๋ฑ #classList()๋ ์์์ ์ฌ๋ฌ ์์ฑ ์ค ํ๋์ธ ํด๋์ค ์์ฑ๋ง์ ๋ค๋ฃจ๋ ๊ฒ ์์์ ํด๋์ค๋ฅผ ์ถ๊ฐ/๋ณ๊ฒฝ/์ ๊ฑฐ ํ๋์์ผ๋ก ์์๋ฅผ ๋์ ์ผ๋ก ๋ค๋ฃจ๊ณ ์ถ๋ค๋ฉด, classList๋ฅผ .. 2022. 5. 2. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.27.์ Today I Learn 220427 ์ค๋์ JavaScript์ Dom ์กฐ์์ ๋ํด ๋ฐฐ์ ๋ค. ์๊ณ ์๋ html&css ๊ฐ๋ ์ ๋์ง์ด์ค๋ ค๋ ์ข ํท๊ฐ๋ ธ๋ค. ์ด๋ฒ์ฃผ ๊ธ์์ผ์ ๋ค์ ํ ๋ฒ ์ฑ ํ์ด๋ด์ผ๊ฒ ๋ค. ์ค๋ ์ํฌ์ต ๊ณผ์ ๋ฅผ ํ๋๋ฐ ์ฝ๊ฐ ๋ด์ฉ์ด ์ดํด๊ฐ ์๋์ด์ ๊ณผ์ ํ์ดํ๋๋ฐ ์ด๋ ค์์ด ์์๋ค. ์์ฑ๊ฐ ์ง์ ํด์ฃผ๋๊ฑด ์ ํ๋๋ฐ, tag๋ฅผ ์ฐ๊ฒฐํด ์ค ๋ ์ฝ๊ฐ ํท๊ฐ๋ ธ๊ณ // div#app ์์ ์ ํ const divTag = document.querySelector('#app') // h1 ํ๊ทธ๋ฅผ createElement ๋ก ์์ฑ const h1Tag = document.createElement('h1') // ์์ฑํ h1ํ๊ทธ์ ๋ด์ฉ์ '์ค๋์ Todo' ๋ก ์ค์ h1Tag.innerText = '์ค๋์ Todo' .. 2022. 5. 2. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.25.์ ์ค๋์ JavaScript๋ฅผ ์๋ก ๋ฐฐ์ฐ๊ธฐ ์์ํ๋ค. ๋ํ ์ค๋์ Java์ ์กฐ๊ฑด๋ฌธ์ ๋ํด์ ๊ณต๋ถํ๋ค. ์ค๋ ๋ ์๊ฐ์ ์ต๊ทผ์ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ์ํ์ ๊ณต๋ถํ๋ฉด์ ๋ณด์๋ Java๋ C์ธ์ด ์ฝ๋๋ค์ด ์ง๊ธ ๋ฐฐ์ฐ๋ JavaScript์ ๊ฒฐ์ด ๋น์ทํ๋ค๊ณ ์๊ฐ๋์๋ค. ํ์ด์ฌ์ ๋จผ์ ๋ฐฐ์ฐ๊ณ ๋ฐฐ์ฐ๋ค๋ณด๋, ํ์ด์ฌ์ ์ด๋ฐ๋ฐ ๊ตณ์ด...? ์ด๋ ๊ฒ ์ฐ๋ค... ์ด๋ฐ ์๊ฐ์ด ๊ฐ๋ ๋ค์ง๋ง ๊ฐ๊ฐ์ ์ธ์ด๋ง๋ค ์ฅ๋จ์ ์ด ์๋ค๊ณ ์๊ฐํ๋ค. ์ค๋ ๋ฐฐ์ฐ๋ฉด์ ์ ๊ธฐํ๋ ์ ! JavasScript๋ ๋ธ๋ผ์ฐ์ ์กฐ์ํ๋ ์ ์ผํ ์ธ์ด์ด๋ค. ๊ทธ๋์ F12 ๊ฐ๋ฐ์๋๊ตฌ์ console์ฐฝ์ ์ด์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค๋ ์ ์ด ์ ๊ธฐํ๊ฒ ๋ค๊ฐ์๋ค. JavaScript๋ฅผ ๋ฐฐ์ฐ๋ ์ด์ ๋ ๋ธ๋ผ์ฐ์ (BOM)๊ณผ ๊ทธ ๋ด๋ถ์ ๋ฌธ์(DOM)๋ฅผ ์กฐ์ํ๊ธฐ ์ํด ํ์ตํ๋ค. ์ค๋์ ๋.. 2022. 4. 25. ๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.22.๊ธ ์ค๋์ M:N์ ์ด์ฉํ๊ณ REST API๋ฅผ ํ์ฉํ ํ์ด์ง ๊ตฌํ์ ํ์๋ค. ์ฌ์ค M:N์ ๊ฐ๋ ์ด ์์ง ๋ช ํํ๊ฒ ์ ๋ฆฝ๋์ง ์์์ models.py์ serializers.py๋ฅผ ์์ฑํ๋๋ฐ ํ๋ค์๋ค. ๋ํ, python manage.py loaddata movies/actors.json movies/movies.json movies/reviews.json ํ ๋ ๊ณ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค. ๊ทธ๋์ models.py ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ๋ค. from django.db import models # Create your models here. class Actor(models.Model): name = models.CharField(max_length=100) class Movie(models.Model): title.. 2022. 4. 22. ์ด์ 1 2 3 4 ๋ค์