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

Programming

(55)
[Swift Tutorial] Swift UI Layout ์•ˆ์ „ ์˜์—ญ / ํ™”๋ฉด ์ „์ฒด ์ฑ„์šฐ๊ธฐ # Swift ์—ฌ๋ฐฑ ์—†์• ๊ธฐ / ํ™”๋ฉด ์ „์ฒด ์ฑ„์šฐ๊ธฐ 1. ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€ํ•˜๊ธฐ ์ถ”๊ฐ€ํ•œ view๋ฅผ ์„ ํƒ ํ›„ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์˜ ์ œ์•ฝ์‚ฌํ•ญ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•ด์„œ view์˜ ์ œ์•ฝ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋ถ‰์€ ํ™”์‚ดํ‘œ๋กœ ํ‘œ์‹œ๋˜์–ด์žˆ๋Š” ์„ ์„ ํด๋ฆญํ•˜์—ฌ ๋‹ค๋ฅธ view์™€ ์ƒ๋Œ€์ ์ธ ๊ฑฐ๋ฆฌ ์ œ์•ฝ์„ ๋งŒ๋“ ๋‹ค. 4๋ฉด์„ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด ๊ฑฐ๋ฆฌ ์ œ์•ฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. (์œ„ ์‚ฌ์ง„์€ ๊ฑฐ๋ฆฌ ์ œ์•ฝ์„ 0์œผ๋กœ ๋งŒ๋“ฆ) ๊ฑฐ๋ฆฌ ์ œ์•ฝ์„ 0์œผ๋กœ ํ–ˆ์Œ์—๋„ ์—ฌ๋ฐฑ์ด ์ƒ๊ธด ์ด์œ ๋Š” ๊ฑฐ๋ฆฌ ์ œ์•ฝ์ด ์ƒ๋‹จ์˜ ๋…ธ์น˜๊ฐ€ ์Šคํฌ๋กค ๋ฐ”๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ๋Š” ์•ˆ์ „์˜์—ญ(Safe area)๊ณผ ์ด๋ค„์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํŒŒ๋žœ์ƒ‰ view๋ฅผ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ์ œ์•ฝ์‚ฌํ•ญ์„ safe area๊ฐ€ ์•„๋‹Œ ์ „์ฒด view๋กœ ๋งž์ถฐ์ฃผ๋ฉด ๋œ๋‹ค. 2. ์ œ์•ฝ ์‚ฌํ•ญ ๊ฐ์ฒด ๋ฐ”๊พธ๊ธฐ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์™ผ์ชฝ view controller์—์„œ cons..
[Swift Tutorial] Swift ๋‚œ์ˆ˜ ์ƒ์„ฑ, ๋ฐฐ์—ด ๋žœ๋ค ์ ‘๊ทผ Swift ๋‚œ์ˆ˜ ์ƒ์„ฑํ•˜๊ธฐ Swift๋Š” ์ •์ˆ˜, ์‹ค์ˆ˜, ๋…ผ๋ฆฌํ˜• ํƒ€์ž…์˜ random ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. //๋‚œ์ˆ˜ ์ƒ์„ฑ Int.random(in: 0...10) //0~10 ์ •์ˆ˜ ๋žœ๋ค(0, 10 ํฌํ•จ) Int.random(in: 0..
[Swift Tutorial] Swift print ๋ฌธ ์•ˆ์— ์ˆ˜์‹ ๋ฐ ๋ณ€์ˆ˜ ๋„ฃ๊ธฐ Swift print๋ฌธ ๋ฌธ์ž์—ด ์•ˆ์— ์ˆ˜์‹ ๋ฐ ๋ณ€์ˆ˜ ๋„ฃ๊ธฐ Swift์˜ ๊ฒฝ์šฐ, Java, JavaScript, python ๋ฌธ์ž์—ด ์‚ฌ์ด์— + ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ˆ˜์‹์ด๋‚˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์—†๋‹ค. ๋Œ€์‹ , ๋ฌธ์ž์—ด ์•ˆ์— \([์ˆ˜์‹ ๋ฐ ๋ณ€์ˆ˜]) ์ฒ˜๋Ÿผ ์—ญ์Šฌ๋ž˜์‰ฌ ๊ด„ํ˜ธ ์•ˆ์— ๊ฐ’์ด๋‚˜ ์ˆ˜์‹์„ ์ง์ ‘ ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. // ์ˆ˜์‹ ์ง์ ‘ ์ž…๋ ฅ print("1 + 1 = \(1+1)") //๋ณ€์ˆ˜ ์‚ฝ์ž… var result = 3 print("1 + 2 = \(result)")
[Xcode] Xcode 15 playground ์ž๋™ ์‹คํ–‰ ์„ค์ • Xcode 15 ๋ฒ„์ ผ playground ์ž๋™ ์‹คํ–‰ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๊พน ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ "Aoutomatically Run"์„ ์„ ํƒํ•ด ์ค€๋‹ค. "Manually Run"์„ ์„ ํƒํ•˜๋ฉด ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์‹คํ–‰ํ•˜๋Š” ์ˆ˜๋™์‹์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
[Swift Tutorial] Xcode UIImage imageLiteral / imageLiteralResourceName ์‚ฌ์šฉ ์˜ˆ์‹œ UIImageView ๊ฐ์ฒด์˜ value๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ imageLiteral / imageLiteralResourceName ์‚ฌ์šฉ ์˜ˆ์‹œ 1. Asset์— ์ด๋ฏธ์ง€ ์ž์‚ฐ์„ ๋“ฑ๋ก ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ Assets ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— ๋„ฃ์Šต๋‹ˆ๋‹ค. 2. UIImageView ๊ฐ์ฒด ์ค€๋น„ diceImageViewOne ์ด๋ผ๋Š” ์ด๋ฆ„์˜ UIImageView ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ ๋ฐ ๋งํฌ ์—ฐ๊ฒฐ๋œ ๋ชจ์Šต 3. ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๊ฐ’(value)๋ฅผ ํ• ๋‹น ๊ฐ์ฒด.์†์„ฑ = ๊ฐ’ ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ• 2๊ฐ€์ง€ 3-1 imageLiteral ์‚ฌ์šฉ ๊ฐ’(value)์˜ ์œ„์น˜์— "#imageLiteral(" ๊นŒ์ง€ ํƒ€์ดํ•‘ํ•˜๋ฉด imageLiteral์ด ์ž๋™์™„์„ฑ ๋œ๋‹ค. ์ž๋™์™„์„ฑ๋œ iamgeLiteral์€ ์™ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ด๋ฏธ์ง€ ์•„..
[๊ธˆ์œต IT] EAI / MCI / MCA ๊ธˆ์œต IT ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด MCI ๊ฑฐ๋ž˜, EAI ๊ฑฐ๋ž˜ ๋“ฑ์˜ ์šฉ์–ด๋ฅผ ์ž์ฃผ ๋“ค์„ ์ˆ˜ ์žˆ๋‹ค. MCI(Multi Channel Integration), MCA(Multi Channel Architecture) ์€ ๋ถ€๋ฅด๋Š” ์šฉ์–ด๊ฐ€ ๋‹ค๋ฅธ๋ฟ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. MCI, EAI ๋ชจ๋‘ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ์—ฐ๊ณ„ํ•˜๊ธฐ(๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ) ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๊ตฌ์„ฑํ•œ ์‹œ์Šคํ…œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด์„œ ํŒ๋งคํ•˜๋Š” ๊ณณ์ด ์†”๋ฅ˜์…˜ ์—…์ฒด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. MCI๋Š” ์œ ์‚ฌํ•œ ์‹œ์Šคํ…œ(๊ฐœ๋ฐœ ์–ธ์–ด ๋“ฑ์ด ๋™์ผํ•œ)๋ผ๋ฆฌ์˜ ๊ฑฐ๋ž˜์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. EAI๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ(๊ฐœ๋ฐœ ์–ธ์–ด๋‚˜ ํ™˜๊ฒฝ์ด ๋‹ค๋ฅธ)๋ผ๋ฆฌ ๊ฑฐ๋ž˜์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์ถœ์ฒ˜ : ๋ฉ”๊ฐ€ํˆฌ์Šค http://www.megatus.com/product/product.asp ๊ธˆ์œต๊ถŒ..
[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ฌด์ธ๋„ ์—ฌํ–‰ ํŒŒ์ด์ฌ ํ’€์ด import sys sys.setrecursionlimit(10000) def dfs(x, y, maps, visit): val = 0 if x = len(maps[0]): return val if y = len(maps): return val if visit[y][x] is True: return val if maps[y][x] == "X": return val visit[y][x] = True return int(maps[y][x]) + dfs(x - 1 , y, maps, visit) + dfs(x + 1 , y, maps, visit) + dfs(x, y - 1, maps, visit) + dfs(x, y + 1, maps, visit) def solution(..
[HTML] input radio ๋ฒ„ํŠผ checked ์•ˆ๋จ. HTML radio button์˜ checked ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฑด ์ƒ๋‹นํžˆ ์˜ค๋žœ๋งŒ์— ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์ด์œ ๊ฐ€ ์กฐ๊ธˆ ํ™ฉ๋‹นํ•˜๋‹ค. ์ตœ๊ทผ ํšŒ์‚ฌ์—์„œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ ๊ฐœ๋ฐœ๋„ ๋งก๊ฒŒ ๋˜์–ด์„œ ์•ฝ๊ฐ„์˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฑด์ด ์žฆ์•„์กŒ๋‹ค. ์˜ค๋Š˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋‹ค input tag์˜ radio ๋ฒ„ํŠผ์˜ checked ์†์„ฑ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ด๋Ÿฌํ–ˆ๋‹ค. "๋ฒ„ํŠผ1"๊ณผ "๋ฒ„ํŠผ3"์ด checked ์†์„ฑ์œผ๋กœ ๊ธฐ๋ณธ load์‹œ checked๊ฐ€ ๋˜์–ด์•ผํ•˜๋Š”๋ฐ ์ด์ƒํ•˜๊ฒŒ "๋ฒ„ํŠผ1"์ด checked๊ฐ€ ๋˜์ง€์•Š๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ํผ๋ธ”๋ฆฌ์‹ฑ์ด๋‚˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋งŽ์ด ํ•˜์…จ๋˜ ๋ถ„๋“ค์ด๋ผ๋ฉด ๋ˆˆ์น˜์ฑ„๊ฒ ์ง€๋งŒ ๋‚ด ์ฝ”๋“œ๋Š” ์ด๋Ÿฌํ–ˆ๋‹ค. ๋ฒ„ํŠผ1 ๋ฒ„ํŠผ2 ๋ฒ„ํŠผ3 ๋ฒ„ํŠผ4 ๋ฌธ์ œ๋Š” ๋ฐ”๋กœ input tage ์•ˆ์˜ name ์†์„ฑ์˜ ๊ฐ’์ด ๊ฐ™๋‹ค๋Š” ๊ฒƒ ์ด์—ˆ๋‹ค. radio butt..

728x90