๐ฉ๐ป๐ป Programming/programming (12) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [React] mac ๊ฐ๋ฐํ๊ฒฝ ์ธํ : node.js, npm ์ค์น โช๏ธNode.js๋ ๊ณต์ ํํ์ด์ง๋ฅผ ๋ณด๋ฉด "Node.js®๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ ๋๋ค."๋ผ๊ณ ์ ์ํ๊ณ ์๋ค. * ๋ฐํ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์ ๋งํจ ์ฝ๋์ ๊ฐ์๋ฅผ ๋ค์ ๋ด์ฉ์ ์ธ์ฉํ์ฌ ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, ์๋ฐ ์คํฌ๋ฆฝํธ๋ ๋ธ๋ผ์ฐ์ ๋ด์์๋ง ์คํ์ด ๊ฐ๋ฅํ๋ฐ ๋ธ๋ผ์ฐ์ ๋ฐ์์๋ ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ๊ฐ๋ฅํ๊ฒ ๋์์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก Node.js ์ด๋ค! ํ๋ก ํธ์๋์์๋ ๋ณด์กฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค๊ณ ํ๋ฉฐ, ์์ธํ ๋ด์ฉ์ ์ถํ ํ์ตํด์ผ๊ฒ ๋ค. ์ฐธ๊ณ ๋ก npm์ Node Package Manager์ ์ฝ์๋ก, ๋ง ๊ทธ๋๋ก node js์์ ์คํํ ํจํค์ง๋ฅผ ๊ด๋ฆฌํ๊ณ ์คํํ๋ ๋๊ตฌ์ด๋ค. ์์ธํ ๋ด์ฉ์ ์ํค๋ฐฑ๊ณผ Node.js ์ฐธ๊ณ . โช๏ธNode.js ์ค์น ๋๋ ์์ ์ฑ๊ณผ.. [Django] ์ ์ ์์คํ : ๋์ฅ๊ณ ํ๋ก์ ํธ ์์์ ์ํ pre setting ๋จ๊ณ๋ณ ์ ๋ฆฌ ๐ ๋์ฅ๊ณ ์ ๋ํ ๊ธฐ์ด์ ์ธ ๋ด์ฉ์ ๋ค๋ฅธ ํฌ์คํ ์ ์ฐธ๊ณ !(๊ธ ์ ์ผ ํ๋จ์ ์ ๋ฆฌํด๋์์ต๋๋ค) django.contrib.auth, django-allauth์ ๋ํ ๋ด์ฉ์ ์ถํ ํฌ์คํ ์์ :) 1๏ธโฃ์ฌ์ ์ค๋น 1. ํด๋ ๋ง๋ค๊ธฐ mkdir {ํด๋ ์ด๋ฆ} example) mkdir django-coplate ๋์ฅ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ณต๊ฐ 2. ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ pyenv virtualenv {ํ์ด์ฌ ๋ฒ์ } {๊ฐ์ํ๊ฒฝ ์ด๋ฆ} example) pyenv virtualenv 3.9.10 django_coplate_env ์์ฑ ํ ์ค์น๋ python ๋ฒ์ ๋ฐ ํ๊ฒฝ ํ์ธ : pyenv versions 3. ๊ฐ์ํ๊ฒฝ ์ง์ 1์์ ๋ง๋ค์ด์ค ํด๋๋ก ์ด๋ ํ ๋ช ๋ น์ด ์ ๋ ฅ pyenv local {๊ฐ์ํ๊ฒฝ ์ด๋ฆ} pyenv loc.. [Django] Project์ App ๊ตฌ์กฐ & Reusable App ๐ Django ์น ๊ฐ๋ฐ์ ์ ์ ์๊ฒ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ธ ํ๋ก ํธ์๋์ ๋ฐ์ดํฐ์ ๋ก์ง์ ๋ด๋นํ๋ ๋ฐฑ์๋๊ฐ ์์ผ๋ฉฐ, Django๋ ๋ชจ๋ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ ํ์คํ ํ๋ ์์ํฌ๋ฅผ ๋งํจ ๐ Project vs App Project : ์น ์๋น์ค ์ ์ฒด App : ๊ธฐ๋ฅ์ ๋ํ๋ด๋ ๋จ์ (example: ํ์๊ฐ์ , ์ฅ๋ฐ๊ตฌ๋๋ด๊ธฐ, ๊ตฌ๋งคํ๊ธฐ ๋ฑ) โช๏ธProject ๊ตฌ์กฐ ์ฅ๊ณ ์์ ํ๋ก์ ํธ๋ ์น์ฌ์ดํธ๋ฅผ ๋งํจ 1. Project Root ์ต์์ ๋๋ ํ ๋ฆฌ์ธ ํ๋ก์ ํธ ๋ช ๋๋ ํ ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฒด ํ์ผ์ด ๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ 2. manage.py ํ๋์ Django ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ช ๋ น ์ ํธ๋ฆฌํฐ Django ์ฑ ์์ฑ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๊ธฐ๋ฅ์ ์ํ, ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์คํ ๋ฑ์ ์๋ฌด์ํ ํ๋ก์ ํธ๋ฅผ ์์ฑ.. [Django & ๊ฐ์ํ๊ฒฝ] pyenv ๋ช ๋ น์ด ๋ชจ์ ๋ฐ ๊ฐ๋ ์ ๋ฆฌ โช๏ธpython tool 1. pyenv ํ์ด์ฌ ๋ฒ์ ๊ด๋ฆฌ ํด ํ๋์ ์ปดํจํฐ์ ๋ค์ํ ํ์ด์ฌ ๋ฒ์ ์ค์น ๋ฐ ๊ด๋ฆฌ pyenv git hub documentation 2. pyenv-vitrualenv ํ์ด์ฌ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํ๋ ํด์ธ virtualenv์ pyenv ํ๋ฌ๊ทธ์ธ pyenv-vitrualenv git hub documentation 3. pip ํ์ด์ฌ ํจํค์ง ์ค์น ๋ฐ ๊ด๋ฆฌ ํด pip documentation v22.0.4 โช๏ธglobal & local 1. global ๊ฐ์ํ๊ฒฝ ์์คํ ์ ์ญ์ ์ ์ฉํ๋ ํ๊ฒฝ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง์์ผ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก global ๊ฐ์ํ๊ฒฝ ์ฌ์ฉ 2. local ๊ฐ์ํ๊ฒฝ ํน์ ๋๋ ํ ๋ฆฌ ๋ด๋ถ์์๋ง ์ ์ฉ๋๋ ํ๊ฒฝ global ํ๊ฒฝ์ด ์ง์ ๋์ด์๋๋ผ๋ ๋ฌด์ํ๊ณ , local ํ๊ฒฝ์ด ์ ์ฉ(์ฐ.. [Django & ๊ฐ์ํ๊ฒฝ] pyenv ์ค์น ๋ฐ ํ๊ฒฝ ์ค์ (feat.mac M1) โช๏ธError message Django ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ํด pyenv, pyenv-virtualenv๋ฅผ ์ค์นํ๋ ค๊ณ ํ์์ผ๋ M1์ด๋ผ ๋ค์๊ณผ ๊ฐ์ Error๋ฅผ ์ง๋ฉดํ์์ต๋๋ค. - ์๋ฌ ๋ฉ์ธ์ง ํ์ธ Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ... To install under x86_64, install Homebrew into /usr/local. ์ฐธ๊ณ ๋ก ์ mac์ MacBook Pro(14ํ, 2021๋ ๋ชจ๋ธ)๋ก, Apple M1 Pro์นฉ์ด ๋ด์ฅ๋์ด์์ต๋๋ค.๐ โช๏ธsolution ๊ฐ๋จํ์ง๋ง, ์๋ฌ๋ฉ์ธ์ง์ ์ ํ๋๋ก .. [๋ง์ธ๋๋งต ์๊ฐํ ํด ์ถ์ฒ] ์ฝ๊ธ(coggle) ๐Hello World! I'm Dona! ๋ถํธ ์บ ํ์์ ์ฌํ๊ป ๊ณต๋ถํ๋ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๊ณ ์ ๋ง์ธ๋๋งต์ผ๋ก ์๊ฐํ๋ฅผ ํด๋ณด์์ต๋๋ค. '์ฝ๊ธ' ์ด๋ผ๋ ํด์ธ๋ฐ์, ์ ๋ฒ์ ํ๋ก์ ํธ๋ฅผ ์ค๋นํ๋ฉด์ ์ฒ์ ์ ํ๋๋ฐ, ๊น๋ํ๊ณ ๊ฐ์์ฑ๋ ์ข์์ ์๊ฐํ๋ ค๊ณ ํด์โจ ๋์ค์ ํ๋ก์ ํธ, ํฌํธํด๋ฆฌ์ค ๋ง๋ค ๋๋ ํ์ฉํด ๋ณด๋ ค๊ณ ํฉ๋๋ค :) ์ฝ๊ธ(coggle) : https://coggle.it/ Coggle - Simple Collaborative Mind Maps Coggle is a collaborative mind-mapping tool that helps you make sense of complex things. Create unlimited mind maps and easily share them with friends a.. [home brew&git] Mac M1pro home brew๐บ & git ์ค์นํ๊ธฐ ๐Hello world! I'm Dona! ์ต๊ทผ์ ๋งฅ๋ถ M1pro๋ฅผ ๊ตฌ๋งคํด์ ๊ฐ์ข ํ๊ฒฝ, ํด๋ค์ ํ๋์ฉ ์ค์นํ๋ฉฐ ๊ฒช์๋ ์ผ๋ค์ ๋ํด ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค! ์ค๋์ home brew์ ๋๋ค! ๐บ๐บ ๋งฅ๋ถ ์ด์ ์๋ ์์ด๋งฅ์ ์ฌ์ฉํ๊ธด ํ์์ง๋ง, ์ธํ ์นฉ์ด ๋ค์ด์์๋๋ฐ, ์ด๋ฒ ๋งฅ๋ถ์ M1์ด๋ผ์ ์กฐ๊ธ ๋ค๋ฅด๋๋ผ๊ณ ์! ์ฐจ๊ทผ์ฐจ๊ทผ ๋ณด๋ฉด์ ๋ฐ๋ผ ํ๋ฉด ์ฝ๊ฒ ์์ ์ค์น๊ฐ ๊ฐ๋ฅํ ๊ฑฐ์์! ๐บ๊ทธ๋์ home brew๊ฐ ๋ญ์ผ? ํ๋ธ๋ฃจ๋ ์์ -์คํ ์์ค ์ํํธ์จ์ด ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ ํ๋๋ก์ ์ ํ์ macOS ์ด์ ์ฒด์ ์ ์ํํธ์จ์ด ์ค์น๋ฅผ ๋จ์ํ๊ฒ ๋ง๋ค์ด์ค๋ค. ์๋ ๋งฅ์ค ํธ์ฐ์ด ๊ฐ๋ฐํ ์ด ํจํค์ง ๊ด๋ฆฌ์๋ ๋ฃจ๋น ์จ ์จ์ผ์ฆ ๊ณต๋์ฒด์์ ์ธ๊ธฐ๋ฅผ ์ป์์ผ๋ฉฐ ํ์ฅ์ฑ์ผ๋ก ํธํ์ ๋ฐ์๋ค. - ์ํค๋ฐฑ๊ณผ๐ ๊ฐ๋จํ๊ฒ ์์ฝํ๋ฉด ๋งฅOS ์ฉ ํจํค์ง ๊ด๋ฆฌ์๋ผ๊ณ ์๊ฐ.. [HTTPS]๋์นญํค์ ๋น๋์นญํค & ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์ Hello, I'm Dona! ์ง๋ ํฌ์คํ ์ ์ธ๊ธํ HTTPS ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์์ ๋ํ์ฌ ๊ฐ๋ตํ๊ฒ ํฌ์คํ ํ๋ ค ํฉ๋๋ค. ์ง๋ ํฌ์คํ ์ด ๋๋ฌด ๊ธธ์ด์ ธ ๋ถ๋ฆฌํ๊ณ ์ถ์์ต๋๋ค. ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ๋ฅผ ๊ณต๋ถํ๋ฉด์ ํด๋น ๊ฐ๋ ์ ๋ํด์ ์ฒ์ ์ ํ์๋๋ฐ, ์์ฆ์ ๋ ์ค๋ฅด๊ณ ์๋ ๋ธ๋ก์ฒด์ธ์์๋ ์ฌ์ฉ์ ํ๋ค๊ณ ํด์! ์ฐ์ ๊ฐ๋ ์ ๋ฝ๊ฐ๋ด ์๋ค! ๋์นญํค์ ๋น๋์นญํค์ ์๋ฆฌ ๊ทธ๋ฆผ๊ณผ ํจ๊ป ์ดํดํด๋ด ์๋ค! ๋์นญํค๋ ๋๊ฐ์ด ๋์นญ์ ์ผ๋ก ์๊ฒจ์ ๋์นญํค์ ๋๋ค. ๊ฐ์ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ ์ ์์ด์. ๋น๋์นญํค ๋ค๋ฅด๊ฒ ์๊ฒจ์ ๋น๋์นญํค์ ๋๋ค. ์ํธํ์ ๋ณตํธํ์ ๊ฐ๊ฐ ๋ค๋ฅธ ํค๋ฅผ ์ฌ์ฉํ๋ ์ํธํ ๋ฐฉ์์ด์์! ๊ทธ๋์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก "๊ณต๊ฐํค์ ๊ฐ์ธํค"๋ผ๊ณ ๋ ํ๋๋ฐ ์ด์ ๋ ์๋์์ ์๊ฒ ๋์ค ๊ฑฐ์์! ๋์นญํค ๋ฐฉ์ ๊ตฌ๊ธ๊ณผ ์ฌ์ฉ์(=User=Client)๊ฐ ๋ก๊ทธ.. ์ด์ 1 2 ๋ค์