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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(103)
[UML]UML(Unified Modeling Language) ์ด๋ž€? ๐Ÿ”ฅ UML(Unified Modeling Language) ์ด๋ž€? โœ”๏ธ ๊ฐœ๋ฐœ ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๊ธฐํš์ž, ๊ฐœ๋ฐœ์ž, ์•„ํ‚คํ…์ณ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์˜์‚ฌ ์†Œํ†ต ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ชจ๋ธ๋ง ์–ธ์–ด โœ”๏ธ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ๋ถ„์„๊ณผ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ๋ง ์–ธ์–ด ๊ฐ์ฒด์ง€ํ–ฅ(OOP) VS ์ ˆ์ฐจ์ง€ํ–ฅ(PP) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒด์ง€ํ–ฅ, ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •์˜, ํŠน์ง•, ์žฅ๋‹จ์ , ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๋น„๊ตํ•ด๋ณด์ž ๊ทธ์ „์—, ๐Ÿ”ฅ ๊ฐ„๋‹จ ์ดํ•ด ๐Ÿ”ฅ โœ”๏ธ ์ ˆ์ฐจ์‹ ๋ฐฉ๋ฒ•์€ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ ๊ทธ๋ฆผ๊ฐ™์ด ๋ฐ์ดํ„ฐ์™€ ๊ธฐ๋Šฅ(ํ•จ์ˆ˜)์œผ๋กœ ๋‚˜๋ˆ„ lxxyeon.tistory.com โœ”๏ธ ์ •ํ•ด์ง„ ๊ธฐํ˜ธ(symbol)์™€ ๋‹ค์ด์–ด๊ทธ๋žจ(diagram)์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์‚ฐ์ถœ๋ฌผ์„ ๊ฐ€์‹œํ™”, ๊ตฌ์ถ•, ๋ฌธ์„œํ™”ํ•˜๋Š” ๋„๊ตฌ ๐Ÿ”ฅUML(Unified Model..
[Web] URL ๊ตฌ์„ฑ์š”์†Œ 1. ํ”„๋กœํ† ์ฝœ ์‹๋ณ„์ž (protocol) ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ ๊ฐ„์— ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์•ฝ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์™€ ๋‚ด์šฉ์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•  ๊ทœ์น™ ์ด๋ฆ„. ์›น ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ๋Š” http(Hyper Text Transfer Protocol)๋ฅผ ์‚ฌ์šฉ. ํ”„๋กœํ† ์ฝœ ์‹๋ณ„์ž ์„ค๋ช… http(Hyper Text Transfer Protocol)/ https ์›น์„œ๋ฒ„ ์ ‘์† ftp ํŒŒ์ผ์„œ๋ฒ„ ์ ‘์† mailto ์ „์ž๋ฉ”์ผ ์„œ๋ฒ„ ์ ‘์† talnet ์›๊ฒฉ์ง€ ์ ‘์† 2. ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ (host) ์›น ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ์„œ๋ฒ„์˜ ์ด๋ฆ„. ์„œ๋ฒ„ ์ด๋ฆ„์€ "lxxyeon.tistory.com/"์™€ ๊ฐ™์€ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด๋‚˜ "127.0.0.1"๊ณผ ๊ฐ™์€ IP์ฃผ์†Œ๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Œ ์ด๋•Œ, ๋„๋ฉ”์ธ์€ ์ƒ์œ„๋„๋ฉ”์ธ, ๋„๋ฉ”์ธ์ด๋ฆ„, ํ˜ธ์ŠคํŠธ๋ช…์œผ๋กœ ๊ตฌ์„ฑ. 3. ํฌํŠธ๋ฒˆํ˜ธ ..
[iOS] SceneDelegate ์‚ญ์ œํ•˜๊ธฐ SceneDelegate ์‚ญ์ œํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋ณด์ž SceneDelegate๋Š” iOS 13๋ถ€ํ„ฐ ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜์–ด Xcode11๋ถ€ํ„ฐ SceneDelegate๊ฐ€ ๊ธฐ๋ณธ iOS ์•ฑ ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ž๋™์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์ง€์šฐ๊ณ  ๋นŒ๋“œํ•˜๋ฉด ๊ฒ€์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์Œ ๊ณผ์ •์„ ๋”ฐ๋ฅด๋ฉด ํ™•.์‹ค.ํ•˜.๊ฒŒ. ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค๐Ÿ‘ป 1. Info.plist์—์„œ Application Scene Manifest ์‚ญ์ œ ์‚ญ์ œ ์•ˆํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜ ์—๋Ÿฌ๋ฐœ์ƒ >> 13:23:49.218883+0900 FunctionList_Objc[45720:3662506] [SceneConfiguration] Info.plist configuration "Default Configuration" for UIWindowSceneSessionRoleApplic..
[Site] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ์ถ”์ฒœ์‚ฌ์ดํŠธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ ์ถ”์ฒœ์‚ฌ์ดํŠธ๋“ค์ž…๋‹ˆ๋‹ค. ์ด์ œ๋Š” IT ๊ธฐ์—… ์ฑ„์šฉ์‹œ ํ•„์ˆ˜๊ฐ€ ๋œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ! ! ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋Š” ํ•„์ˆ˜์ธ ๋งŒํผ ์ถ”์ฒœํ•˜๋Š” ์‚ฌ์ดํŠธ๋“ค์„ ๋ณด๊ณ  ๋ณธ์ธ์—๊ฒŒ ํ•„์š”ํ•œ, ์ ํ•ฉํ•œ ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜์„ธ์š”!! ๋˜ํ•œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์‚ฌ์ดํŠธ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์„ ํƒ๊ณผ ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.๐Ÿ‘๐Ÿป 1. ๋ฐฑ์ค€ (Baekjoon) 2. ์‚ผ์„ฑ SW ์ต์ŠคํผํŠธ ์•„์นด๋ฐ๋ฏธ (Samsung SW Expert Academy) 3. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Programmers) 4. ์ฝ”๋“œ์—… (CodeUp) 5. ๋ฆฌํŠธ์ฝ”๋“œ (LeetCode) 6. ์ฝ”๋“œํฌ์Šค (Codeforces) 7. ํ•ด์ปค๋žญํฌ (Hackerrank) 8. ๊ตฌ๋ฆ„DEVTH 1. ๋ฐฑ์ค€ (Baekjoon) ์‚ผ์„ฑ ๊ธฐ์ถœ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๋น„์Šทํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ๋งŽ์ด ํ’€๊ณ ์ž ํ•  ๋•Œ ์œ ..
[Swift] ํด๋กœ์ €(Closure) vs ๋ธ”๋ก(Block) ํ•จ์ˆ˜ ์บก์ณ๋ฐฉ์‹ ๋น„๊ต ํด๋กœ์ €(Closure) vs ๋ธ”๋ก(Block) ํ•จ์ˆ˜๋ฅผ ๋น„๊ตํ•ด๋ณด์ž Swift์˜ Closure์™€ Objective-C์˜ ๋ธ”๋กํ•จ์ˆ˜๋Š” ์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜๋กœ ๊ฐœ๋…์ด ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋‘˜์€ ๊ฐ’์„ ์บก์ณํ•˜๋Š” ๋ฐฉ์‹์— ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ญ '๊ฐ’์„ ์บก์ณํ•œ๋‹ค'์˜ ์˜๋ฏธ๋ถ€ํ„ฐ ๋‘˜์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1. Capturing Values: ํด๋กœ์ € ์บก์ณ๋ž€? ๋จผ์ € ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด, closure๋Š” ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€ ๋ณ€์ˆ˜์ธ runningTotal, amount ๋ผ๋Š” Value ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, runningTotal, amount์˜ ๊ฐ’์ด ์บก์ณ๋˜์—ˆ๋‹ค ๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— message๋ž€ ๋ณ€์ˆ˜๋Š” closure ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์บก์ณ๋˜์ง€ ์•Š์Šต..
[Swift] ํด๋กœ์ ธ(Closure) ๊ธฐ๋ณธ ํด๋กœ์ €(Closure) ๋ž€? - ํด๋กœ์ €(Closure)๋ž€ ์ฝ”๋“œ์—์„œ ์ „๋‹ฌ๋˜๊ณ  ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ž์ฒด์ ์ธ(self-contained) ํ•จ์ˆ˜ ๋ธ”๋ก - ์Šค์œ„ํ”„ํŠธ์—์„œ์˜ ํด๋กœ์ €๋Š” C์™€ Objective-C์—์„œ์˜ ๋ธ”๋ก๊ณผ ์œ ์‚ฌํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” ๋žŒ๋‹คํ•จ์ˆ˜์™€ ์œ ์‚ฌ - ํด๋ž˜์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฐธ์กฐ ํƒ€์ž…!! - ํด๋กœ์ € ํ‘œํ˜„์€ ์ตœ์ ํ™” ๋˜์–ด์„œ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•, ์ฝ”๋“œ์˜ ๋ช…ํ™•์„ฑ๊ณผ ์˜๋„๋ฅผ ์žƒ์ง€ ์•Š์œผ๋ฉด์„œ๋„ ๋ฌธ๋ฒ•์„ ์ถ•์•ฝํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ๋ฒ•์˜ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต ํด๋กœ์ €(Closure) ํ•จ์ˆ˜ ํ˜•ํƒœ (Closure Expression Syntax) { (๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก) -> ๋ฐ˜ํ™˜ํƒ€์ž… in ์‹คํ–‰ ์ฝ”๋“œ } ์˜ˆ๋ฌธ) sorted(by: )๋ฉ”์†Œ๋“œ์™€ ํด๋กœ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด ์ •๋ฆฌํ•˜๊ธฐ. reversedNames = names.sorted(b..
[iOS/Swift] ์œ ๋‹ˆ๋ฒ„์…œ ๋งํฌ(Universal Link) ์ ์šฉํ•˜๊ธฐ, ๋™์  ๋งํฌ ์ˆ˜์‹ ํ•˜๊ธฐ ์œ ๋‹ˆ๋ฒ„์…œ ๋งํฌ(Univeral Link) ๋ž€? iOS์—์„œ ๋”ฅ๋งํฌ*๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์›น์—์„œ ์•ฑ์„ ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ! *๋”ฅ๋งํฌ(Deep Link) : ํŠน์ • ์ฃผ์†Œ๋‚˜ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด ์•ฑ์ด ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์•ฑ ๋‚ด ํŠน์ • ํŽ˜์ด์ง€์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋งํฌ URI ์Šคํ‚ด ๋ฐฉ์‹ : ์•ฑ์— URI ์Šคํ‚ด(scheme) ๊ฐ’์„ ๋“ฑ๋กํ•˜์—ฌ ๋”ฅ๋งํฌ ์‚ฌ์šฉ ์•ฑ๋งํฌ(App Link) : Android ์ œ๊ณต - ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•œ ๋”ฅ๋งํฌ ์‚ฌ์šฉ ์œ ๋‹ˆ๋ฒ„์…œ ๋งํฌ (Universal Link) : iOS ์ œ๊ณต - ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•œ ๋”ฅ๋งํฌ ์‚ฌ์šฉ *Dynamic Link : ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ๋”ฅ๋งํฌ์˜ ์ผ์ข… ์œ ๋‹ˆ๋ฒ„์…œ ๋งํฌ๋ฅผ ์ด์šฉํ•˜๋ฉด, ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž๊ฐ€ ๋งํฌ ์ ‘๊ทผ ์‹œ, ์•ฑ์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์•ฑ์œผ๋กœ ์ด๋™ํ•˜๊ณ  ์—†์œผ..
[GitHub] ๊นƒ ํ† ํฐ ์ธ์ฆํ•˜๊ธฐ - Github ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์—†์ด pull/push ํ•˜๊ธฐ, Git requested URL returned Error 403 ํ•ด๊ฒฐ๋ฐฉ๋ฒ•, ์†Œ์ŠคํŠธ๋ฆฌ push ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ์ด๋ฒˆ ์›์ธ์€ 21๋…„ 8์›” 13์ผ ์ดํ›„, 'ํŒจ์Šค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ธ์ฆ'์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ! ์ฆ‰, Git CLI๋‚˜ GitHub์— ์ ‘๊ทผํ•˜๋Š” ๊ธฐํƒ€ ์„œ๋น„์Šค ๋“ฑ์—์„œ ๋”๋Š” ํŒจ์Šค์›Œ๋“œ๋กœ ์ธ์ฆ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋œป์œผ๋กœ ํŒจ์Šค์›Œ๋“œ๋ฅผ ํ†ตํ•œ ์ธ์ฆ์ด ๋งŒ๋ฃŒ๋˜๋ฉด Personal Access Token ๋˜๋Š” SSH Key๋ฅผ ํ†ตํ•ด์„œ ์ธ์ฆ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ : remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-..

๋ฐ˜์‘ํ˜•