Hoonni
ํ›„๋‹ˆ's Blog

์ „์ฒด ๊ธ€

Hi There ! ๐Ÿ–๏ธ I am FrontEnd Developer ๐Ÿ’ป I'm studying AI, Backend, React-Native Now.
Algorithm/Notion

๋ณต์žก์„ฑ ๋ถ„์„

๋ณต์žก์„ฑ ๋ถ„์„(Complexity Analysis)์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋ชจ๋‘ ์ฐพ๋Š” ๊ฒƒ์„ ํฌํ•จํ•œ๋‹ค.์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€, ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ๋” ๋‚˜์€์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ์‹คํ–‰๋˜๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜๋Š” ๊ธฐ์ค€Big O ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค. ๊ณต๊ฐ„ ๋ณต์žก์„ฑ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ณด์กฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ฐจ์ง€ํ•˜๋Š”์ง€ ์ธก์ •ํ•˜๋Š” ๊ธฐ์ค€Big O ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.

NodeJS

NodeJS์˜ ์ž‘์—… ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•

NodeJS๊ฐ€ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•NodeJS๋Š” ํ•˜๋‚˜์˜ JavaScript ์Šค๋ ˆ๋“œ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฌธ์ œ์ ๊ฐ ์š”์ฒญ๋งˆ๋‹ค ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๊ฒฐ๊ตญ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋  ๊ฒƒ์ด๋‹ค.์ด์— ๋”ฐ๋ผ ๋ณด์•ˆ ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์ œ๊ธฐ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ๋งŒ์•ฝ ์š”์ฒญ A๋ฅผ ์•„์ง ์ฒ˜๋ฆฌ ์ค‘์ด๋ผ๋ฉด, ์š”์ฒญ B๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ผ๊นŒ ?โžก๏ธ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค ! ๋‘˜ ๋‹ค ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค ! ์–ด๋–ป๊ฒŒ ๋‘˜ ๋‹ค ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊นŒ ?1. fs(ํŒŒ์ผ ์‹œ์Šคํ…œ)์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ, ํŒŒ์ผ์„ ๋‹ค๋ฃจ๋Š” ์ž‘์—…์€ ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.์ด์— ๋”ฐ๋ผ, ๋“ค์–ด์˜จ ์š”์ฒญ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์„ ๋•Œ, ์ƒˆ๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์€ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜, ๊ฑฐ๋ถ€๋  ์ˆ˜ ์žˆ๋‹ค. 2. ์ด๋ฒคํŠธ ๋ฃจํ”„๋ฅผ ์ด์šฉํ•œ๋‹ค.์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” Node.js๊ฐ€ ์‹œ์ž‘ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ..

SKN Family AI Camp/Machine Learning

๋จธ์‹ ๋Ÿฌ๋‹์ด๋ž€ ?

๋จธ์‹ ๋Ÿฌ๋‹์ด๋ž€ ?์ปดํ“จํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ธฐ์ˆ ์„ ํ†ต์นญํ•œ๋‹ค.์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ ์ˆ˜ํ•™, ํ†ต๊ณ„๊ฐ€ ๋ชจ๋‘ ํ•„์š”ํ•œ ๋ถ„์•ผ์ด๋‹ค.ํ˜„์ƒ์„ ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์šฉ๋„๋กœ ํ™œ์šฉํ•œ๋‹ค.  ๋จธ์‹ ๋Ÿฌ๋‹์˜ ์œ ํ˜•์ง€๋„ํ•™์Šต(Supervised Learning)์ž…๋ ฅ ๋ฐ์ดํ„ฐ(X)์™€ ํƒ€๊ฒŸ๊ฐ’(Y)๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ , ์ด๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ํ•™์Šต ๋ฐฉ๋ฒ•์ด๋‹ค.์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํ•™์Šต๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉํ•œ๋‹ค.ํ•จ์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด, y = f(X)์— ํ•ด๋‹นํ•œ๋‹ค. ์ด ๋•Œ์˜ y๋Š” ํƒ€๊ฒŸ๊ฐ’, f๋Š” ๋ชจ๋ธ, X๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ํ•ด๋‹นํ•œ๋‹ค.์ง€๋„ํ•™์Šต์€ Y์˜ ํ˜•ํƒœ์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ๋ถ„๋ฅ˜(Classification), ๋‘ ๋ฒˆ์งธ๋Š” ํšŒ๊ท€(Regression)์ด๋‹ค.๋ถ„๋ฅ˜(Classification)ํƒ€๊ฒŸ๋ณ€์ˆ˜ Y๊ฐ€ ์ด์‚ฐํ˜• ๋ณ€์ˆ˜์ธ ๊ฒฝ์šฐ์ด๋‹ค. (์ด์‚ฐ..

Vue

Reactivity(๋ฐ˜์‘ํ˜•)

Reactivityreactive()๋ฐ˜์‘ํ˜• ์ƒํƒœ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” reactive() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.๊ฐ์ฒดํƒ€์ž…์—๋งŒ ๋ฐ˜์‘ํ•œ๋‹ค.๊ธฐ๋ณธํƒ€์ž…(number, string, boolean)์„ ๋ฐ˜์‘ํ˜•์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ref ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.์˜ˆ์‹œโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธ  ref๋ณ€์ด๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.์ด ๊ฐ์ฒด์—๋Š” value๋ผ๋Š” ํ•˜๋‚˜์˜ ์†์„ฑ๋งŒ ํฌํ•จํ•œ๋‹ค.value ๊ฐ’์€ ref() ๋ฉ”์„œ๋“œ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.์ด ๊ฐ์ฒด๋Š” ๋‚ด๋ถ€์˜ value ๊ฐ’์— ๋Œ€ํ•œ ๋ฐ˜์‘ํ˜• ์ฐธ์กฐ ์—ญํ• ์„ ํ•œ๋‹ค.์˜ˆ์‹œโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰ ๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธํ…œํ”Œ๋ฆฟ์—์„œ ref์— ์ ‘๊ทผํ•  ๋•Œ๋Š” .value๋ฅผ ๋นผ๊ณ  ์ž‘์„ฑํ•ด๋„ ์ž˜ ์ž‘๋™ํ•œ๋‹ค.  toRef/toRefs์˜ˆ์‹œ : ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹นโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰ ๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธโฌ‡๏ธโฌ‡๏ธ ์ฝ˜์†” ์‹คํ–‰ ๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธ์ฝ˜์†” ์‹คํ–‰..

Vue

Template Syntax

ํ…์ŠคํŠธ ๋ณด๊ฐ„๋ฒ•๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธํ˜•ํƒœ๋Š” {{ data }}๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.{{ }} ์•ˆ์—๋Š” data๋ฟ๋งŒ ์•„๋‹ˆ๋ผ JavaScript ํ‘œํ˜„์‹๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.{{ message }}์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ ์ธ์Šคํ„ด์Šค์˜ message ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค.message ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๊ฐฑ์‹ ๋œ๋‹ค.  v-onceํ•œ ๋ฒˆ๋งŒ ๋ Œ๋”๋ง์„ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ๊ฐฑ์‹ ๋˜์ง€ ์•Š๊ฒŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.์ผํšŒ์„ฑ ๋ณด๊ฐ„์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.์˜ˆ์‹œ  ๋‘ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์˜ ์ฐจ์ด์˜ˆ์‹œโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰ ๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธ  v-htmlv-html ๋””๋ ‰ํ‹ฐ๋ธŒ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹ค์ œ HTML๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.์›น์‚ฌ์ดํŠธ์—์„œ ์ž„์˜์˜ HTML์„ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋ฉด XSS ์ทจ์•ฝ์ ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์–ด์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ˜ํ…์ธ ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค.์˜ˆ์‹œโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰ ..

SKN Family AI Camp/Memoir

SK Networks Family AI Camp 8th ํšŒ๊ณ ๋ก(24.06.24-24.06.28)

๊ธฐ๊ฐ„2024.06.24 ~ 2024.06.28  ๊ทธ๋™์•ˆ ..๊ทธ ๋™์•ˆ FastAPI, Vue, Machine Learning, Deep Learning ์ „์ฒ˜๋ฆฌ ๋ฐ ์˜ˆ์ธก/ํ•™์Šต/์ถ”๋ก  ๋“ฑ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ๊ณ ,ํ•™์Šตํ•œ ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒ€ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.์šฐ์„ , ์šฐ๋ฆฌ ํŒ€์˜ ํ”„๋กœ์ ํŠธ๋Š” OTT์™€ ๋ฐฐ๋‹ฌ์„ ๋ฏน์Šคํ•˜์—ฌ, ์˜ํ™”๋ฅผ ๋ณด๋ฉด์„œ ์น˜ํ‚จ๊ณผ ๋งฅ์ฃผ ๋“ฑ์„ ์ถ”๊ฐ€๋กœ ๊ตฌ๋งคํ•˜๋ฉด ๋ฐฐ๋‹ฌ(?)๊นŒ์ง€ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ด๋‹ค.๋ฌผ๋ก , ๋ฐฐ๋‹ฌ๊นŒ์ง€ ํ•ด์ฃผ๋Š”๊ฑด ๋ฐฐ๋ฏผ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ๊ฒฐํ•ฉํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ง์ด ์•ˆ๋˜๊ธฐ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ์ƒ์—…์ ์ธ ์š”์†Œ๊นŒ์ง€๋Š” ์ƒ๊ฐ์„ ๋ฐฐ์ œํ•˜๊ณ , "์ผ๋‹จ ๋งŒ๋“ค์–ด๋ณด์ž"๊ฐ€ ์šฐ๋ฆฌํŒ€์˜ ์ทจ์ง€์ด๋‹ค. ๋‚˜๋Š” ์šฐ์„ , ์ง€๊ธˆ๊นŒ์ง€ ๊ฑฐ์˜ ํ”„๋ก ํŠธ์ชฝ ์ž‘์—…๋งŒ ๋งก์•„์„œ ํ•˜๊ฒŒ๋˜์—ˆ๊ณ , ์•„๋ž˜๋Š” ๋‚ด๊ฐ€ ๋งŒ๋“  ํŽ˜์ด์ง€์˜ ๊ฒฐ๊ณผ์ด๋‹ค.ํŽ˜์ด์ง€๋Š” ๋‹ค๋ฅธ ์œ ๋ช…ํ•œ OTT ํ”Œ๋žซํผ์ธ ๋„ทํ”Œ๋ฆญ์Šค, ํ‹ฐ๋น™ ๋“ฑ์˜ ์‚ฌ..

Vue

setup() ํ•จ์ˆ˜

Composition API ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ง„์ž…์  ์—ญํ• ์„ ํ•œ๋‹ค.๋ผ์ดํ”„์‚ฌ์ดํด(lifecycle)์—์„œ ์ปดํฌ๋„ŒํŠธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋œ๋‹ค.๋ฐ˜์‘ํ˜• API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ์ƒํƒœ๋ฅผ ์„ ์–ธํ•˜๊ณ  setup()์—์„œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ์— ๋…ธ์ถœ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.setup()์˜ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” props์ด๊ณ , ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” setup context ๊ฐ์ฒด์ด๋‹ค.์˜ˆ์‹œโฌ‡๏ธโฌ‡๏ธโฌ‡๏ธ ์‹คํ–‰ ๊ฒฐ๊ณผ โฌ‡๏ธโฌ‡๏ธโฌ‡๏ธ  setup() ์•ˆ์—์„œ ๋ฐ˜์‘ํ˜• ์ƒํƒœ๋ฅผ ์„ ์–ธํ•˜๊ณ  ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋˜๋ฉด template๊ณผ ์ปดํฌ๋„ŒํŠธ ์ธ์Šคํ„ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ด ๋•Œ setup() ์•ˆ์—์„œ ๋ฐ˜์‘ํ˜• ์ƒํƒœ๋ฅผ ์„ ์–ธํ–ˆ์œผ๋ฉด, ๋ฐ˜๋“œ์‹œ return์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.๋ฉ”์„œ๋“œ ๋˜ํ•œ ๋ฐ˜์‘ํ˜• ์ƒํƒœ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์ด ๋˜‘๊ฐ™๋‹ค.  propssetup ํ•จ์ˆ˜์˜ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜์ด๊ณ , ..

Vue

Composition API

Composition API๋Š” ์˜ต์…˜(data, methods, ...)์„ ์„ ์–ธํ•˜๋Š” ๋Œ€์‹  ๊ฐ€์ ธ์˜จ ํ•จ์ˆ˜(ref, onMounted, ...)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Vue ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” API ์„ธํŠธ๋ฅผ ๋งํ•œ๋‹ค.Composition API๋Š” ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ๋ฐ˜์‘ํ˜• API(Reactivity API), ๋ผ์ดํ”„ ์‚ฌ์ดํด ํ›…(Lifecycle Hooks), ์ข…์†์„ฑ ์ฃผ์ž…(Dependency Injection) API๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ๋ฐ˜์‘ํ˜• API(Reactivity API)๋ฐ˜์‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ API ์„ธํŠธ์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ref(), isRef(), reactive()์™€ ๊ฐ™์€ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ reactive state(๋ฐ˜์‘ ์ƒํƒœ), computed state(๊ณ„์‚ฐ๋œ ์ƒํƒœ), watchers(๊ฐ์‹œ์ž)์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋งŒ๋“ค ์ˆ˜ ..