๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[Network] TCP๋Š” ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ• ๊นŒ? (3-Way-Handshake & 4-Way-Handshake) TCP ์ง€๋‚œ ๊ธ€์—์„œ TCP๋Š” ์•ˆ์ „ํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ๋‹ค๋ค˜์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด TCP๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•œ ๊ฒƒ์ผ๊นŒ? ์šฐ์„  TCP๋Š” ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 1๋Œ€ 1๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค. ์ฆ‰, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์ด๋‹ค. 3-Way-Handshake ์ด ๋•Œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌ๋˜๋ ค๋ฉด ์—ฐ๊ฒฐ์ด ํ™•์‹คํ•˜๊ฒŒ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ "3-Way-Handshake" ์ด๋‹ค. ์ด๋ฆ„์ด 3 way handshake์ธ ์ด์œ ๋Š” 3๋ฒˆ ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 1. ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋จผ์ € ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํŠน์ • ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค. 2. ์„œ๋ฒ„.. 2022. 4. 8.
[Network] TCP์™€ UDP์˜ ์ฐจ์ด (Difference between TCP and UDP) TCP์™€ UDP ๊ณตํ†ต์  ์ด์ „ ๊ธ€์—์„œ 'OSI 7 ๊ณ„์ธต์ด๋ž€?' ์—์„œ OSI 7๊ณ„์ธต์„ 'ํ”„๋กœํ† ์ฝœ์ด๋ž€?' ์—์„œ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋ฉด์„œ ๋ชจ๋‘ TCP์™€ UDP๋ฅผ ์–ธ๊ธ‰ํ–ˆ์—ˆ๋‹ค. ๋‹จ์ˆœํ•˜๊ฒŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ์—” ์ค‘์š”๋„๊ฐ€ ํฐ ๊ฒƒ ๊ฐ™์•„์„œ ๋” ์ž์„ธํžˆ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋จผ์ € ๊ณตํ†ต์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. TCP์™€ UDP๋Š” ๋ชจ๋‘ Transport(์ „์†ก) ๊ณ„์ธต์— ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ณ ๋กœ Network ๊ณ„์ธต์— ์žˆ๋Š” IP ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์ „์†ก๋œ ํŒจํ‚ท ๋ฐ์ดํ„ฐ๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋กœ Session ๊ณ„์ธต์— ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. TCP์™€ UDP์˜ ์ฐจ์ด 1. ์—ฐ๊ฒฐ์„ฑ TCP๋Š” ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์ชฝ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ์ชฝ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. UDP๋Š” ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์ชฝ์ด ์ผ.. 2022. 4. 7.
[Network] ํ”„๋กœํ† ์ฝœ(Protocol)์ด๋ž€? (What is a protocol?) Protocol ๐Ÿ“ƒ Protocol์˜ ์‚ฌ์ „์  ์˜๋ฏธ๋Š” "์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ๋‚˜ ๋‹จ๋ง๊ธฐ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์›ํ™œํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ†ต์‹  ๊ทœ์•ฝ" ์ด๋‹ค. ์ฆ‰, ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด ๋ฐ”๋กœ ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค. ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์€ ์‰ฝ๊ฒŒ ๋งํ•ด ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์•ฝ์†์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. ๊ตฌ์„ฑ ๐Ÿ”— ํ”„๋กœํ† ์ฝœ์€ ๋ฌผ๋ฆฌ์  ์ธก๋ฉด๊ณผ ๋…ผ๋ฆฌ์  ์ธก๋ฉด ์ด๋ ‡๊ฒŒ 2๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ฌผ๋ฆฌ์  ์ธก๋ฉด ๋ฌผ๋ฆฌ์  ์ธก๋ฉด์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ฌผ๋ฆฌ์ ์ธ ๊ธฐ๊ธฐ์˜ ์–ด๋–ค ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์‹ค์ œ ์–ด๋–ค ์žฅ๋น„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๊ฒƒ์ด๋ฉฐ, ์–ด๋–ค ๋‹จ์ž๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ, ํšŒ์„ ์˜ ๊ทœ๊ฒฉ์€ ์–ด๋Š ์ •๋„๋กœ ์„ค์ •ํ• ์ง€๊ฐ€ ์—ฌ๊ธฐ์— ํฌํ•จ๋œ๋‹ค. ๋…ผ๋ฆฌ์  ์ธก๋ฉด ๋…ผ๋ฆฌ์  ์ธก๋ฉด์€ ๋ฌผ๋ฆฌ์ ์ธ ๊ฒƒ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ ๋…ผ๋ฆฌ์ ์ธ ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ๊ฒƒ์ด๋ฉฐ, ์–ด๋–ค ํ˜•์‹ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  .. 2022. 4. 6.
[Network] OSI 7๊ณ„์ธต์ด๋ž€? (What is OSI 7 Layer?) OSI ๋ชจ๋ธ์ด๋ž€? Open System Interconncetion์˜ ์•ฝ์ž๋กœ ๊ตญ์ œ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ(ISO)๊ฐ€ ๊ฐœ๋ฐœํ•œ ๋ชจ๋ธ๋กœ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ๋””์ž์ธ๊ณผ ํ†ต์‹ ์„ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช…ํ•œ ๊ฒƒ์ด๋‹ค. ํŠนํžˆ ์ด ๋ชจ๋ธ์€ ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์ธ๋ฐ, ๊ฐ ๊ณ„์ธต์€ ํ•˜์œ„ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ๋งŒ์„ ์ด์šฉํ•˜๊ณ , ์ƒ์œ„ ๊ณ„์ธต์—๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜์œ„ ๊ณ„์ธต๋“ค์€ ํ•˜๋“œ์›จ์–ด๋กœ, ์ƒ์œ„ ๊ณ„์ธต๋“ค์€ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ๋‹ค. OSI 7๊ณ„์ธต์ด๋ž€? ์œ„ OSI ๋ชจ๋ธ์„ ๋ฌผ๋ฆฌ, ๋ฐ์ดํ„ฐ๋งํฌ, ๋„คํŠธ์›Œํฌ, ์ „์†ก, ์„ธ์…˜, ํ‘œํ˜„, ์‘์šฉ ์ด๋ ‡๊ฒŒ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 1. Physical 7๋‹จ๊ณ„ ์ค‘ ๊ฐ€์žฅ ์•„๋ž˜์— ์žˆ๋Š” ๊ณ„์ธต์œผ๋กœ, ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹œ์ž‘์„ ๋‹ด๋‹นํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ ๋กœ ์ „์†ก์„ ํ•˜๋ฉฐ, ์ „๊ธฐ ์‹ ํ˜ธ(0๊ณผ 1)๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ธฐ.. 2022. 4. 5.
[SwiftUI] GeometryReader๋ž€? (feat. GeometryProxy,CoordinateSpace) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ SwitUI๋ฅผ ์ด์šฉํ•ด์„œ Layout์„ ์žก์„ ๋•Œ ์•„์ฃผ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” GeometryReader์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ GeometryReader๋ž€? ์ด๋ฆ„์„ ์ง์—ญํ•˜๋ฉด Geometry๋Š” ๊ธฐํ•˜ํ•™์„ ๋‚˜ํƒ€๋‚ด๋‹ˆ๊น, ๊ธฐํ•˜ํ•™์ ์ธ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ๊ณต์‹ ๋ฌธ์„œ์—๋„ ์ด๋ฆ„์„ ์ง์—ญํ•œ ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๊ฒŒ "์ปจํ…์ธ ์˜ ํฌ๊ธฐ์™€ ์œ„์น˜๋ฅผ ํ•จ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ทฐ์•ผ!" ๋ผ๊ณ  ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. GeometryReader๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ปจํ…์ธ ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ GeometryProxy๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ญ๋‹ˆ๋‹ค. GeometryProxy๋ž€? ๊ทธ๋ ‡๋‹ค๋ฉด GeometryProxy๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ์šฐ์„  Proxy์˜ ๋œป์€ ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ๋Œ€์‹  ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. .. 2022. 4. 4.
[TS] Extends์™€ Implements ์ฐจ์ด (Difference between extends and implements) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ TS์—์„œ ํด๋ž˜์Šค ์˜†์— extends์™€ implements๊ฐ€ ์ˆœ๊ฐ„ ํ—ท๊ฐˆ๋ ค์„œ ์ •ํ™•ํžˆ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Extends ์ƒ์†๋ฐ›๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ. ์ฆ‰, extends์— ์›ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋ช…์‹œํ•˜๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„๋„ ์ธ์Šคํ„ด์Šค์—์„œ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด "๋ถ€๋ชจ๊ฐ€ ๊ฐ€์ง„ ๊ฑฐ ๋„ˆ ๋ง˜๋Œ€๋กœ ์จ๋„ ๋ผ~" ๋ผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. class Parent { public lastName: string = "An"; public speakKorean() { console.log("์•ˆ๋…•ํ•˜์„ธ์š”"); } public eatWithChopsticks() { co.. 2022. 4. 2.
[SwiftUI] ์ž์—ฐ์Šค๋Ÿฌ์šด ํ™”๋ฉด์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„ํ•˜๊ธฐ (feat. matchedGeometryEffect,Namespace) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ํ‰์†Œ์— AppStore๋ฅผ ๋ณด๋ฉด ํ™”๋ฉด ๊ฐ„ ์ „ํ™˜ํ•  ๋•Œ ์ž์—ฐ์Šค๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋งŽ์ด ๋ณด์•˜๋Š”๋ฐ, '์ด๊ฑด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ–ˆ์„๊นŒ' ๋ผ๋Š” ์ƒ๊ฐ์ด ๋งŽ์ด ๋“ค์–ด ๊ธ€์„ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Preview @Namespace ํ™”๋ฉด ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„  @Namespace ํ”„๋กœํผํ‹ฐ ๋ž˜ํผ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. @Namespace๋Š” ๊ณต์‹ ๋ฌธ์„œ์—” ์•„๋ž˜์™€ ๊ฐ™์ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ๊ฐœ์ฒด(์˜ˆ: view)์˜ ์˜๊ตฌ ID๋กœ ์ •์˜๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋™์  ์†์„ฑ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜๋ฉด ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ID์™€ ํ•จ๊ป˜ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋Š” ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. ์ด ID๋ฅผ ํ†ตํ•ด์„œ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ๋ทฐ์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๊ฒƒ์„ ํ†ตํ•ด ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๊ฐ€๋Šฅํ•ด ์ง‘๋‹ˆ๋‹ค. ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹์€ ์•„.. 2022. 3. 28.
[Swift] 2019 KAKAO BLIND RECRUITMENT ๋ธ”๋ก ๊ฒŒ์ž„ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ธ”๋ก ๊ฒŒ์ž„ [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2 programmers.co.kr Solution 1. ๋จผ์ € ๊ฒ€์€ ๋ธ”๋ก์„ ๋–จ์–ด๋œจ๋ ค ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ธ”๋ก๋“ค์„ ์ฐพ์•„๋‚ธ๋‹ค. ์ฃผ์–ด์ง„ ๋ธ”๋ก์€ ์ฐจ๋ก€๋Œ€๋กœ 1๋ฒˆ ๋ธ”๋ก์˜ 0,1,2,3 ํƒ€์ž…, 2๋ฒˆ ๋ธ”๋ก์˜ 0,1,2,3 ํƒ€์ž… , 3๋ฒˆ ๋ธ”๋ก์˜ 0,1,2,3ํƒ€์ž…์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ๊ฒ€์€ ๋ธ”.. 2022. 3. 28.
[Angular] ํšŒ์›๊ฐ€์ž… ์ž…๋ ฅํ™”๋ฉด ๋งŒ๋“ค์–ด๋ณด๊ธฐ (Register Validation Form) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ํšŒ์›๊ฐ€์ž…์„ ํ•  ๋•Œ ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋งž๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ํ™”๋ฉด ํผ์„ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Set up angular material ์•ต๊ทค๋Ÿฌ์—์„œ๋Š” ๋จธํ„ฐ๋ฆฌ์–ผ ๋””์ž์ธ๋œ UI ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ์ด๋™ํ•˜์‹œ๋ฉด ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ API๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Angular Material UI component infrastructure and Material Design components for Angular web applications. material.angular.io ํ„ฐ๋ฏธ๋„์— angular material์„ ์„ค์น˜ํ•ด ์ค๋‹ˆ๋‹ค. ng add @angular/material ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๋’ค์— ๋ช‡๊ฐ€์ง€ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์น˜ํ•  ๊ฑด์ง€.. 2022. 3. 24.
[Angular] Router์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ (feat. ํ™”๋ฉด์ด๋™) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Angular์—์„œ ํ™”๋ฉด์„ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ Router์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํ”„๋กœ์ ํŠธ ์„ค์ • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ์— "Would you like to Angular routing?(๋„ˆ ์•ต๊ทค๋Ÿฌ ๋ผ์šฐํŒ… ์‚ฌ์šฉํ• ๊ฑฐ์•ผ?)" ๋ผ๊ณ  ๋ฌป๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ y๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. login(๋กœ๊ทธ์ธ) ํ™”๋ฉด์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ng g c pages/login register(ํšŒ์›๊ฐ€์ž…) ํ™”๋ฉด์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ng g c pages/register app-routing.modules.ts Routes์— ์›ํ•˜๋Š” endPoint์™€ component(ํ™”๋ฉด)๋“ค์„ ์„ธํŒ…ํ•ด์ค๋‹ˆ๋‹ค. const routes: Routes = [ { path: 'login', component: LoginCompon.. 2022. 3. 24.
[iOS/UI] UIBezierPath์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ (feat. ๋ชจ์–‘,๊ณก์„ ,์ง์„  ๊ทธ๋ฆฌ๊ธฐ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์›ํ•˜๋Š” ๋ชจ์–‘์„ ์ง์ ‘ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” UIBezierPath์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ „๋ถ€ํ„ฐ ๋‹ค๋ฃจ๊ณ  ์‹ถ์€ ์ฃผ์ œ์˜€๋Š”๋ฐ ๋“œ๋””์–ด ์ •๋ฆฌํ•˜๊ฒŒ ๋˜๋„ค์š”..! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ UIBezierPath๋ž€? UIBezierPath๋Š” UIKit์—์„œ ๊ทธ๋ฆฌ๊ธฐ(Drawing)์— ์†ํ•ด์žˆ๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์–ด๋–ค ๊ฒƒ์„ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ๋“ค์ด ์†ํ•ด์žˆ๊ฒ ์ฃ ? ์• ํ”Œ ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. A path that consists of straight and curved line segments that you can render in your custom views. ํ•ด์„ํ•˜๋ฉด view์—์„œ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ์ง์„ ๊ณผ ๊ณก์„ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฒฝ๋กœ๋ผ๊ณ  ํ•˜๋„ค์š”. Initializer Bez.. 2022. 3. 21.
[Git] Git์œผ๋กœ ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ• ์•Œ์•„๋ณด๊ธฐ (feat. Git-Flow) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์— Github์œผ๋กœ ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ธ€์„ ์ž‘์„ฑํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (Github Flow) (ํ˜น์‹œ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ํ•˜์ง€๋งŒ Github-Flow๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Gitlab-Flow,Git-Flow ๋“ฑ ๋‹ค์–‘ํ•œ Work-Flow๋“ค์ด ์žˆ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์ข€ ๋” ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ ์ „๋žต์ธ Git-Flow์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Git-Flow๋ž€? Vincent Driessen๊ฐ€ ๋งŒ๋“  Git์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠน์ง•์€ 5์ข…๋ฅ˜์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ €์žฅ์†Œ๋ฅผ ์šด์˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 5์ข…๋ฅ˜์˜ ๋ธŒ๋žœ์น˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. Master(main) Release Develop Feature Hotf.. 2022. 3. 18.
728x90
๋ฐ˜์‘ํ˜•