[AWS] ๋‚ด๊ฐ€ ๋ณผ๋ ค๊ณ  ์ ์€ AWS ์„œ๋น„์Šค ์ •๋ฆฌ๋ณธ
ยท
ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ
์ด ๊ธ€์„ ์“ฐ๊ฒŒ ๋œ ๋™๊ธฐAWS Cloud practitioner ์ž๊ฒฉ์ฆ์„ ์ค€๋น„ํ•˜๋ฉด์„œ, ํ—ท๊ฐˆ๋ฆฌ๋Š” AWS ์„œ๋น„์Šค๋“ค์ด ๋งŽ์•„ ๋‘๊ณ ๋‘๊ณ  ๋ณด๊ณ  ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ์ •๋ฆฌ ๋…ธํŠธ๋ฅผ ์ž‘์„ฑํ• ๋ ค๊ณ  ํ•œ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์ŠคAmazon ECSElastic Container ServiceAWS ์ œ๊ณตํ•˜๋Š” ์™„์ „๊ด€๋ฆฌํ˜• ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์„œ๋น„์ŠคAWS์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‰ฝ๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์ŠคEC2 ๋˜๋Š” Fargate ์œ„์—์„œ ์‹คํ–‰ ๊ฐ€๋ŠฅAmazon EKSElastic Kubernetes Service์™„์ „๊ด€๋ฆฌํ˜• ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ๋น„์ŠคAmazon Fargate์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์—”์ง„EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์„œ๋ฒ„ ์—†๋Š” ECS/EKS ์‹คํ–‰ ๋ฐฉ์‹ECS..
[AWS] ๋„คํŠธ์›Œํ‚น ๋ฐ ๋ณด์•ˆ ๋„คํŠธ์›Œํ‚น ๊ณผ์ •
ยท
ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ
ํ”„๋กค๋กœ๊ทธAmazon Virtual Private Cloud(VPC)๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์—์„œ AWS ๋ฆฌ์†Œ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒฉ๋ฆฌ๋œ AWS ํด๋ผ์šฐ๋“œ ์„น์…˜์„ ํ”„๋กœ๋น„์ €๋‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์ธํ„ฐ๋„ท์— ์ง์ ‘ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ํผ๋ธ”๋ฆญ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๊ณ , ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋ผ์ด๋น—์ผ ์ˆ˜ ์žˆ๋‹ค. ํผ๋ธ”๋ฆญ ๋˜๋Š” ํ”„๋ผ์ด๋น— ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน์„ ์„œ๋ธŒ๋„ท์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์„œ๋ธŒ๋„ท์€ VPC์— IP ์ฃผ์†Œ์˜ ๋ฒ”์œ„๋‹ค.๐Ÿ“Œ ์„œ๋ธŒ๋„ท์ด๋ž€? ์„œ๋ธŒ๋„คํŠธ์›Œํฌ๋Š” ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ์ž‘์€ ๋„คํŠธ์›Œํฌ๋‹ค. 1์žฅ VPC(Amazon Virtual Private Cloud)์ˆ˜๋งŽ์€ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š”๋ฐ ์ด ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ฒฝ๊ณ„๊ฐ€ ์—†์œผ๋ฉด ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ œํ•œ ์—†์ด ๋ฆฌ์†Œ์Šค ๊ฐ„์— ํ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. → AWS ๋ฆฌ์†Œ์Šค์— ๊ฒฝ๊ณ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํ‚น ์„œ..
[ํ”„๋ก ํŠธ์—”๋“œ] Node.js๋ž€ ๋ฌด์—‡์ธ๊ฐ€
ยท
ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
์„œ๋ก  ํฌ๋กฌ์ด ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ๋ณด๋‹ค๋„ ์„ฑ๋Šฅ์ด ์ข‹์€๋ฐ ์ด์œ ๋Š” V8์—”์ง„์ด๋ผ๊ณ  ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ๋•Œ๋ฌธ์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ๋ฐ ์ด๋ฅผ ์‚ฌ๋žŒ์ด ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ ๋ฌธ๋ฒ•์„ ์ปดํ“จํ„ฐ๊ฐ€ ํ•ด์„ํ•ด์„œ ๋™์ž‘ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ์ด ์–ธ์–ด๋ฅผ ํ•ด์„ํ•ด์„œ ์ปดํ“จํ„ฐ์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—”์ง„์ด๋ผ๋Š”๊ฒŒ ํ•„์š”ํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์จ์„œ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ์—์„œ๋Š” ์ฐจํฌ๋ผ๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ณ  ํŒŒ์ด์–ดํญ์Šค์—์„œ๋Š” ์ŠคํŒŒ์ด๋” ๋ชฝํ‚ค๋ผ๋Š” ์—”์ง„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” V8์—”์ง„์ด๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค. V8์—”์ง„์€ ์„ฑ๋Šฅ์ด ๋น ๋ฅธ๋ฐ ์ด๋Š” ๋ฒค์น˜๋งˆํฌ ํˆด์„ ํ†ตํ•ด์„œ ์ˆซ์ž๋กœ ์ •๋Ÿ‰์ ์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํฌ๋กฌ์€ ๊ทธ๋Ÿด ํ•„์š” ์—†์ด ๋งจ๋ˆˆ์œผ๋กœ๋งŒ ๋ด๋„ ๋น ๋ฅด๋‹ค๊ณ  ๋А๋‚„ ์ •๋„์ด๋‹ค. ์ด๊ฒŒ ๋ฐ”๋กœ ํฌ๋กฌ๊ณผ ์ต์Šคํ”Œ๋กœ๋Ÿฌ์˜ ์ฐจ์ด..
[AWS] AWS Summit ํ›„๊ธฐ โœจ
ยท
ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ
์ผ์‹œ: 2025.05.14 - 05.15 ์žฅ์†Œ: ์„œ์šธ ์ฝ”์—‘์Šค ์ปจ๋ฒค์…˜ ์„ผํ„ฐ ๐Ÿ—’๏ธ ๋“ค์—ˆ๋˜ ๊ฐ•์—ฐ ๋ชฉ๋ก ( ๋‘˜์งธ๋‚ ๋งŒ ์ฐธ์„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.)11:10 ~ 11: 50 : ์„ฑ๊ณต์ ์ธ ์ƒ์„ฑํ˜• AI ํ˜์‹  ๋น„๊ฒฐ: ํ”„๋กœํ† ํƒ€์ž… ์‹คํ—˜์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜ ์‹คํ˜„12:50 ~ 13:30 : Amazon Q Developer ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜„๋Œ€ํ™”์˜ ์‹ (็ฅž)13:50 ~ 14:10 : ๋‚˜๋งŒ์˜ AI ์—…๋ฌด๋น„์„œ ์—์ด๋‹ท ๋น„์ฆˆ, ์ด์ œ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ์—…๋ฌด๋Š” ์—์ด๋‹ท ๋น„์ฆˆ์—๊ฒŒ ๋งก๊ธฐ๊ณ  ํ•ต์‹ฌ์—…๋ฌด์— ์ง‘์ค‘ํ•˜์„ธ์š”.16:30 ~ 17:10 : ๋ณต์žกํ•œ VPC ์—ฐ๊ฒฐ์€ ์ด์ œ ๊ทธ๋งŒ! PrivateLink์™€ VPC Lattice ๋กœ ๋” ์Šค๋งˆํŠธํ•˜๊ฒŒ ์„œ๋ก  AWS์— ํ‰์†Œ ๊ด€์‹ฌ์ด ์žˆ์–ด Cloud Practitioner ์ž๊ฒฉ์ฆ์„ ์ค€๋น„ํ•˜๋ฉฐ ํด๋ผ์šฐ๋“œ ๊ธฐ์ดˆ ์ง€..
[AWS] AWS VPC Lattice์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž โœจ
ยท
ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ
๐Ÿ“Œ Amazon VPC Lattice ๐Ÿ“— VPC (Virtual Private Cloud)- ์‚ฌ์šฉ์ž ์ „์šฉ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ- AWS ํด๋ผ์šฐ๋“œ ์•ˆ์—์„œ ๊ฒฉ๋ฆฌ๋œ ํ”„๋ผ์ด๋น—ํ•œ ๊ณต๊ฐ„- ๊ตฌ์„ฑ์š”์†Œ: ์„œ๋ธŒ๋„ท, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(๋„คํŠธ์›Œํฌ์˜ ํ๋ฆ„ ๊ฒฐ์ •), ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด, ๋ณด์•ˆ๊ทธ๋ฃน, ACL ๐Ÿ“— ๊ธฐ์กด์—๋Š” VPC ์•ˆ์—์„œ ์„œ๋น„์Šค๋ผ๋ฆฌ ํ†ต์‹ ํ•˜๋ ค๋ฉด, ์—ฌ๋Ÿฌ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •๊ณผ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. 1๏ธโƒฃ ๊ฐ™์€ VPC์•ˆ์—์„œ ํ†ต์‹ - ๋‚ด๋ถ€ IP + ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •๊นŒ์ง€ [EC2: Service A] ↔ (Internal IP ํ†ต์‹ ) ↔ [EC2: Service B] 2๏ธโƒฃ ๋‹ค๋ฅธ VPC ๊ฐ„ ํ†ต์‹ VPC Peering, Transit Gateway, PrivateLink ๋“ฑ ์‚ฌ์šฉ 1) AWS Transit Gateway- ์—ฌ๋Ÿฌ ..
[AWS] AWS์˜ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋น„์Šค โœจ
ยท
ํด๋ผ์šฐ๋“œ์— ๊ด€ํ•˜์—ฌ โ˜๏ธ
โ˜๏ธ AWS ์Šคํ† ๋ฆฌ์ง€ & ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์™„์ „ ์ •๋ฆฌํด๋ผ์šฐ๋“œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ์•Œ์•„์•ผ ํ•  AWS์˜ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋น„์Šค!์ด ๊ธ€์—์„œ๋Š” ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€๋ถ€ํ„ฐ ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€, ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€, ๋‹ค์–‘ํ•œ DB ์„œ๋น„์Šค๊นŒ์ง€ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๐Ÿ“ฆ ๋ธ”๋ก ์ˆ˜์ค€ ์Šคํ† ๋ฆฌ์ง€SSD, ํ•˜๋“œ๋””์Šคํฌ๐Ÿ“Œ SSD๋ž€, Solid State Drive ์ค„์ž„๋ง๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์žฅ์น˜๊ธฐ์กด์˜ ํ•˜๋“œ๋””์Šคํฌ(HDD)๋Š” ํšŒ์ „ํ•˜๋Š” ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ์›€์ง์ด๋Š” ๋ถ€ํ’ˆ ์—†์ด, ๋ฐ˜๋„์ฒด ์นฉ์— ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ → ๋น ๋ฅด๊ณ  ์กฐ์šฉํ•˜๊ณ  ํŠผํŠผ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์€ ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ €์žฅํ•˜๋Š” ์ €์žฅ๋ฐฉ์‹EC2 ์ธ์Šคํ„ด์Šค์—๋„ ํ•˜๋“œ๋””์Šคํฌ๊ฐ€ ์žˆ๋‹ค.์œ ํ˜•์— ๋”ฐ๋ผ ์ธ์Šคํ„ด์Šค ์Šคํ† ์–ด ๋ณผ๋ฅจ์ด๋ผ๊ณ  ํ•˜๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ณผ๋ฅจ์€ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹ค์ œ๋กœ ..
[ETC] ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ „์Ÿ (ํฌ๋กฌ์˜ ๋“ฑ์žฅ)
ยท
ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
์„œ์‚ฌ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์™œ ๋งŒ๋“ค์–ด์กŒ์„๊นŒ? ๋ฐ”๋กœ ์›น ํŽ˜์ด์ง€์˜ ์—˜๋ฆฌ๋จผํŠธ์š”์†Œ๋ฅผ ๋™์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ฒ˜์Œ ์ธํ„ฐ๋„ท์„ ๋Œ€์ค‘ํ™”์‹œํ‚จ ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฌด์—‡์ผ๊นŒ? ๋ฐ”๋กœ ๋„ท์Šค์ผ€์ดํ”„์•„๋ผ๋Š” ํšŒ์‚ฌ์˜ ๋ชจ์ž์ดํฌ๋ผ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ตœ์ดˆ์˜€๋‹ค.  ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ์˜ ๋“ฑ์žฅ ๊ทธ์— ๋น„ํ•ด 2๋…„ ๋’ค์— ์ถœ์‹œํ•œ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ๋Š” ๋„ท์Šค์ผ€์ดํ”„์— ๋น„ํ•ด ๋›ฐ์–ด๋‚œ ๊ธฐ์ˆ ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ๋Š” ๊ฑด ์•„๋‹ˆ์—ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ดˆ๊ธฐ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ 1.0์€ ๊ธฐ์ˆ ๋ ฅ ๋ถ€์กฑ์œผ๋กœ ๊ฒฝ์Ÿ์‚ฌ์ธ ๋„ท์Šค์ผ€์ดํ”„์—๊ฒŒ ๋ผ์ด์„ผ์Šค ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๊ณ  ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์—…๊ฐ€ ๋นŒ๊ฒŒ์ด์ธ ๋Š” ๊ฝค๋‚˜ ์‹ฌ๋ฐ•ํ•œ ๋งˆ์ผ€ํŒ… ์ „๋žต์„ ๋‚ด์„ธ์šฐ๋ฉฐ '์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ'๋Š” ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ์˜ 1๋“ฑ ์ ์œ ์œจ์˜ ํƒ€์ดํ‹€์„ ์–ป๊ฒŒ ๋œ๋‹ค.์ฒซ๋ฒˆ์งธ ์„ฑ๊ณต ์š”์ธ์€ ์ „๋ฉด ๋ฌด๋ฃŒํ™”์˜€๋‹ค. ๋„ท์Šค์ผ€์ดํ”„๋Š” ๋ชจ์ž์ดํฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํšŒ์‚ฌ์˜ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ..
[์•”ํ˜ธํ™”] RSA ์•”ํ˜ธํ™” ์ •๋ฆฌ โœจ
ยท
ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
๐Ÿ’ป ์•”ํ˜ธํ™” ์ข…๋ฅ˜๋Œ€์นญ ์•”ํ˜ธํ™”๋™์ผํ•œ ํ‚ค ์‚ฌ์šฉ์˜ˆ) ๊ณ ๊ธ‰ ์•”ํ˜ธํ™” ํ‘œ์ค€(AES)๋น„๋Œ€์นญ ์•”ํ˜ธํ™” (RSA)์•”ํ˜ธํ™”์—๋Š” ๊ณต๊ฐœ ํ‚ค, ๋ณตํ˜ธํ™”์—๋Š” ๊ฐœ์ธ ํ‚ค๐Ÿ“Œ ๊ณต๊ฐœํ‚ค ๊ธฐ๋ฒ• (๋น„๋Œ€์นญ ์•”ํ˜ธ) - RSA์•”ํ˜ธํ™”RSA์˜ ์ด๋‹ˆ์…œ์€ ์ฒ˜์Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ณต๊ฐœํ•œ ์ˆ˜ํ•™์ž ์ด๋ฆ„(Rivest Shamir Adleman)๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋‹ฌ๋ฆฌ ๊ณต๊ฐœํ‚ค์™€ ๋น„๋ฐ€ํ‚ค ์„œ๋กœ ๋‹ค๋ฅธ ๋‘๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™”๊ณต๊ฐœํ‚ค: ๋ˆ„๊ตฌ๋‚˜ ์•Œ์•„๋„ ๋˜๋Š” ํ‚ค๋น„๋ฐ€ํ‚ค: ์†Œ์œ ์ž๋งŒ ์•„๋Š” ํ‚ค๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” → ๋น„๋ฐ€ํ‚ค ๋ณตํ˜ธํ™”๋น„๋ฐ€ํ‚ค ์•”ํ˜ธํ™” → ๊ณต๊ฐœํ‚ค ๋ณตํ˜ธํ™”๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ณด๋‹ค ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์‹œ์ง€๋‚˜ ์ „์ฒด ํŒŒ์ผ์„ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋Š”๋‹ค.SSH ๊ฐ™์€ ๋งŽ์€ ํ”„๋กœํ† ์ฝœ์€ RSA ์•”ํ˜ธํ™” ๋ฐ ๋ณด์•ˆ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ๋œ๋‹ค.๐Ÿ“ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ์˜ˆ์‹œ๊ณต๊ฐœํ‚ค๋Š” ๋ˆ„๊ตฌ๋‚˜..
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] string ๋ฉ”์„œ๋“œ ์ •๋ฆฌ โœจ
ยท
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ •์„ ๐ŸŸก
`concat()`๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ํ˜ธ์ถœ ๋ฌธ์ž์—ด์— ๋ถ™์ธ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜const str1 = 'hello'const str2 = 'world'str1.concat(' ', str2) `includes()`ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์ด ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํŒ๋ณ„๊ฒฐ๊ณผ๋ฅผ true false๋กœ ๋ฐ˜ํ™˜const sentence = 'The quick brown fox jumps over the lazy dog.';const word = 'fox';sentence.includes(word) ? 'is' : 'is not' `indexOf()``string` ๊ฐ์ฒด์—์„œ ์ฃผ์–ด์ง„ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜๊ฐ’์ด ์—†์œผ๋ฉด -1๋กœ ๋ฐ˜ํ™˜const paragraph = "I think Ruth's dog is ..
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ œ๋„ˆ๋ ˆ์ดํ„ฐ ํ•จ์ˆ˜, ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด โœจ
ยท
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ •์„ ๐ŸŸก
๐Ÿ“ function*generator ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋Š” ์ค‘๊ฐ„์— ์›ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๋ฉˆ์ถ”๊ฑฐ๋‚˜, ๊ทธ ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ€์ง„ ํ•จ์ˆ˜์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ํ•จ์ˆ˜๋ฅผ ์œ„ํ•œ iterator ๊ฐ์ฒด๊ฐ€ ๋ฐ˜ํ™˜iterator์˜ next() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด genrator ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜์–ด yield ๋ฌธ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ์ง„ํ–‰ํ•˜๊ณ , ํ•ด๋‹น ํ‘œํ˜„์‹์ด ๋ช…์‹œํ•˜๋Š” iterator๋กœ๋ถ€ํ„ฐ์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ๋ฐ˜ํ™˜yield* ํ‘œํ˜„์‹์„ ๋งˆ์ฃผ์น  ๊ฒฝ์šฐ, ๋‹ค๋ฅธ generator ํ•จ์ˆ˜๊ฐ€ ์œ„์ž„๋˜์–ด ์ง„ํ–‰๋œ๋‹ค.์ดํ›„ next() ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ง„ํ–‰์ด ๋ฉˆ์ท„๋˜ ์œ„์น˜์—์„œ๋ถ€ํ„ฐ ์žฌ์‹คํ–‰๋œ๋‹ค.next()๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ์ฒด๋Š” yield ๋ฌธ์ด ๋ฐ˜ํ™˜ํ•  ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” value ์†์„ฑ๊ณผ generator ํ•จ์ˆ˜ ์•ˆ์˜ ๋ชจ๋“  yield ๋ฌธ์˜ ์‹คํ–‰ ์—ฌ๋ถ€๋ฅผ ํ‘œ์‹œํ•˜๋Š” boolean ํƒ€์ž…..
[Redux] Redux ๋ฌธ๋ฒ•
ยท
ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
๐Ÿ” reducer๐Ÿ’ป action๊ณผ reduceraction์€ store๋กœ ์šด๋ฐ˜ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค. ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ๋‹ด์€ ๊ฐ์ฒด์ด ์•ก์…˜์ด reducer๋ผ๋Š” ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ ๋˜๊ณ  ์ด ํ•จ์ˆ˜๊ฐ€ ๋„˜๊ฒจ ๋ฐ›์€ action์€ ๊ฐ€์ง€๊ณ  ์ƒˆ๋กœ์šด state๋ฅผ ๋งŒ๋“ ๋‹ค.action → reducer → storelet user = createSlice({ name: 'userName', initialState: 'brgndy', reducers: { changeName(state) { return state + 'jeon'; } }})reducer๋ฅผ ์ด์šฉํ•ด์„œ changeName์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค.์ € ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด๊ฐ„ state๋Š” ๊ธฐ์กด์— ์žˆ๋˜ ์ดˆ๊ธฐ state ๊ฐ’์ด๋‹ค. ๐Ÿ’ป reducer๋กœ ๋งŒ๋“  ํ•จ์ˆ˜ ..
[CSS] CSS selector ์ •๋ฆฌ โœจ
ยท
ํ”„๋ก ํŠธ์—”๋“œ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
์ฐธ๊ณ ์ž๋ฃŒ1 CSS ์„ ํƒ์ž - CSS: Cascading Style Sheets | MDNCSS ์„ ํƒ์ž๋Š” CSS ๊ทœ์น™์„ ์ ์šฉํ•  ์š”์†Œ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.developer.mozilla.org โœจCSS ์„ ํƒ์ž ๐Ÿ“• ๊ธฐ๋ณธ ์„ ํƒ์ž๐Ÿ’ป ์ „์ฒด ์„ ํƒ์ž* { color: green;} ๐Ÿ’ป ์œ ํ˜• ์„ ํƒ์ž๐Ÿ’ป ํด๋ž˜์Šค ์„ ํƒ์ž๐Ÿ’ป ID ์„ ํƒ์ž ๐Ÿ’ป ํŠน์„ฑ ์„ ํƒ์ž โญ๏ธ- `[attr]` : ์ด๋ฆ„์˜ ํŠน์„ฑ์„ ๊ฐ€์ง„ ์š”์†Œ๋ฅผ ์„ ํƒ- `[attr=value]`: attr์ด๋ผ๋Š” ์ด๋ฆ„์˜ ํŠน์„ฑ๊ฐ’์ด ์ •ํ™•ํžˆ value์ธ ์š”์†Œ๋ฅผ ์„ ํƒํ•จ- `[attr~=value]` : ์ด๋ฆ„์˜ ํŠน์„ฑ๊ฐ’์ด ์ •ํ™•ํžˆ value์ธ ์š”์†Œ๋ฅผ ์„ ํƒ. ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Œ- `[attr|=value]` : attr์ด๋ผ๋Š” ํŠน์„ฑ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์ •ํ™•ํžˆ va..