๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป 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)๊ฐ€ ๋กœ๊ทธ..