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

TIL -์ผ๊ฐ„ํ•™์Šต๊ธฐ๋ก31

Use effect ์˜ defendency array ์— ๋Œ€ํ•˜์—ฌ use effect 2022. 5. 23.
๋„์ปค๋กœ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ Achievement Goals ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ด ๋ฌด์—‡์ธ์ง€, ๋„์ปค๊ฐ€ ์™œ ํ•„์š”ํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์™€ ์ด๋ฏธ์ง€, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์ธ Docker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์„œ๋กœ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. Docker CLI์—์„œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ/์ˆ˜์ •/๋ฐฐํฌํ•˜๊ณ , ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋„์ปค ์„ค์น˜ ํ•˜๊ธฐ [์šฐ๋ถ„ํˆฌ] Ubuntu ์œ ์ €์šฉ Docker Engine ์„ค์น˜ ์•ˆ๋‚ด Docker Engine์˜ ์„ค์น˜๊ฐ€ ๋๋‚˜๋ฉด, Docker Compose์˜ ์„ค์น˜๋„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Install Docker Engine on Ubu.. 2022. 3. 29.
๋„คํŠธ์›Œํฌ Achievement Goals HTTP ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ ํ๋ฆ„์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. TCP/IP ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ ํ๋ฆ„์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. TCP/IP ํŒจํ‚ท์ด ์™œ ํ•„์š”ํ•œ ์ง€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. TCP์™€ UDP์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. HTTP ๊ธฐ๋ณธ ๋™์ž‘๊ณผ ํŠน์ง•์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒํƒœ์œ ์ง€(Stateful)๊ณผ ๋ฌด์ƒํƒœ(Stateless)์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. HTTP ๋ฉ”์‹œ์ง€ ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. HTTP ํ—ค๋”์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ํ‘œํ˜„, ์ฝ˜ํ…์ธ  ํ˜‘์ƒ ๋“ฑ ๋‹ค์–‘ํ•œ ํ—ค๋”์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์บ์‹œ๊ฐ€ ์™œ ํ•„์š”ํ•œ ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ, ํ”„๋ก์‹œ ์บ์‹œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์กฐ๊ฑด๋ถ€ ์š”์ฒญ, ์บ์‹œ ๋ฌดํšจํ™” ๋ฐฉ๋ฒ• ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 2022. 3. 23.
์ปดํ“จํ„ฐ ๊ณตํ•™ ๊ธฐ์ดˆ - ๋ฌธ์ž์—ด, ๊ทธ๋ž˜ํ”ฝ ใ…‡ 2022. 3. 21.
์ธ์ฆ๋ณด์•ˆ - ์„ธ์…˜&์ฟ ํ‚ค ์•”ํ˜ธํ™”์™€ hashing, salting ๋“ฑ์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. HTTP์™€ HTTPS์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ถŒํ•œ ๋ถ€์—ฌ(Authorization)์™€ ์ธ์ฆ(Authentication)์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฟ ํ‚ค์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค ์„ธ์…˜ ๋ฐ ์ฟ ํ‚ค / ํ† ํฐ / OAuth๋ฅผ ํ†ตํ•ด ์ธ์ฆ ๊ตฌํ˜„์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „์ฒด ๋™์ž‘์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ๋“ฑ์˜ ์œ ์ € ์ธ์ฆ์— ๋Œ€ํ•ด ๊ตฌํ˜„ํ•˜๊ณ  ์ดํ•ดํ•œ๋‹ค. ์„œ๋น„์Šค์˜ ๋ณด์•ˆ๊ณผ ๊ด€๋ จ๋œ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  ์›๋ฆฌ ๋ฐ ์žฅ์  ๋ฐ ๋‹จ์ ์„ ์ดํ•ดํ•œ๋‹ค. 2022. 3. 16.
NOSQL - Mongo DB NoSQL์˜ ์žฅ์  ๋ฐ ํŠน์ง• MongoDB์˜ ๋„ํ๋จผํŠธ(Document)์™€ ์ปฌ๋ ‰์…˜(Collection) -JSON๊ณผ BSON์˜ ์ฐจ์ด์  -๋„ํ๋จผํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ, ๋‚ด๋ณด๋‚ด๊ธฐ MongoDB์˜ Atlas -ํด๋Ÿฌ์Šคํ„ฐ(Cluster)์™€ ๋ ˆํ”Œ๋ฆฌ์นด ์„ธํŠธ(Replica set) -Atlas๋ฅผ GUI(Graphical User Interface)์™€ shell ์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ ์‚ฌ์šฉ MongoDB์—์„œ CRUD -Insert(C), Find(R), Update(U), Delete(D)์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฌธ -์—ฐ์‚ฐ์ž์™€ ํ”„๋กœ์ ์…˜(Projection)์„ ์‚ฌ์šฉ -๋ฐฐ์—ด๊ณผ ์„œ๋ธŒ ๋„ํ๋จผํŠธ๋ฅผ ์ฟผ๋ฆฌ Aggregation Framework๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ aggregate ๋ช…๋ น์–ด๋กœ ์ฟผ๋ฆฌ -$match, $project, $group ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ 2022. 3. 15.
[SQL] im-sprint-learn-sql ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ SQL์„ ๊ณต๋ถ€ํ–ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด CRUD๋ฅผ ํ• ์ˆ˜์žˆ๋Š” ์–ธ์–ด์ธ SQL ๋ฌธ๋ฒ•์„ ์Šคํ”„๋ฆฐํŠธ ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด์ž. ์Šคํ”„๋ฆฐํŠธ๋Š” part 5๊นŒ์ง€ ์žˆ๊ณ , part1,2๋Š” mysql ํ€ด์ฆˆ์™€ ์„ค์น˜๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์–ด ์–ด๋ ต์ง€ ์•Š์œผ๋ฏ€๋กœ part3๋ถ€ํ„ฐ ๋‹ค๋ฃจ๊ธฐ๋กœ ํ•œ๋‹ค. Part 3์˜ ๋ชฉํ‘œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ์ฃผ์–ด์ง„ ์Šคํ‚ค๋งˆ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก SQL ๋ฌธ ์ž‘์„ฑ. vscode์—์„œ ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ์„ค์น˜ํ•ด๋‘”mysql์— ์ ‘์†ํ•ด์•ผ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ• ์ˆ˜์žˆ๋‹ค. /migrations/schema.sql ์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ์˜ ํ•ต์‹ฌ์ด๊ณ , ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„. ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ์„ ์ƒ์„ฑํ•ด์•ผ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ• ์ˆ˜์žˆ๋‹ค. ๋งŒ๋“ค์–ด์•ผํ•˜๋Š” ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋ฅผ ๋ณด๊ณ  ํ•„์š”ํ•œ๋ถ€๋ถ„์„ ์ฑ„์šด๋‹ค USE learnmysql; /* D.. 2022. 3. 9.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค lv.2 ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ๋ฐ˜๋ณต๋ฌธ, ์žฌ๊ท€, DP์—์„œ ๊พธ์ค€ํžˆ ๋‹ค๋ค„์˜จ ๋ถ€๋ถ„์ด๋ผ ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋‹น์—ฐํžˆ, ํ”ผ๋ณด๋‚˜์น˜๋Š” ์žฌ๊ท€์ง€.. ํ•˜๊ณ  1์ฐจ ์‹œ๋„ ํ–ˆ์œผ๋‚˜.. function solution(n) { let fibo = (n) => { // if (arr[n] !== undefined){ return arr[n]; } arr[n] = fibo(n-1)+fibo(n-2); return arr[n]% 1234567; } return fibo(n); } //์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋กœ ์Šคํƒ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋„˜๋Š” ํ•จ์ˆ˜ํ˜ธ์ถœ. ๋’ค์ชฝ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ํ†ต๊ณผ์•ˆ๋จ 2์ฐจ์‹œ๋„ function solution(n) { let memo = [0, 1, 1]; for(let i = 3; i 2022. 3. 6.
API, UseEffect๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ Use Effect๊ฐ€ ์•„์ง ์–ด๋–ค ๋…€์„์ธ์ง€ ์ž˜๋ชจ๋ฅด๊ฒ ๋‹ค.. ๊ณต์‹๋ฌธ์„œ ํ™•์ธ ๊ณ ๊ณ  UseEffect = ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ side Effect ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. *Side Effect๋ž€ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ํ•จ์ˆ˜์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š” ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ํ–‰์œ„์ด๋‹ค. ex) ํ•จ์ˆ˜๋‚ด์—์„œ ์ „์—ญ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝ์‹œํ‚ค๊ฑฐ๋‚˜ ํ•จ์ˆ˜์™ธ๋ถ€ ๋ฒ„ํŠผ์˜ ํ…์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•˜๋Š” ๊ฒƒ๋“ฑ์ด ์žˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋Š” ํ•ญ์ƒ ์ผ๊ด€๋˜๊ณ  ์˜ˆ์ธก ํ• ์ˆ˜์žˆ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ ํ”„๋กœ๊ทธ๋žจ์ด ์‰ฝ๊ณ  ๋‹จ์ˆœํ•˜๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ ํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฆฌ์•กํŠธ์—๋Š” ์ ˆ์ฐจํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ”ํžˆ ์กด์žฌํ•˜๋Š” ์ž‘์—…์ธ Side Effect ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Use Effect() ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ํ™œ์šฉ.. 2022. 2. 17.