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

๐Ÿ–ฅ๏ธ Computer Science4

[Network] TLS/SSL ์•”ํ˜ธํ™” ํ†ต์‹  ํ”„๋กœํ† ์ฝœSSL(Secure Socket Layer) / TLS(Transport Layer Security)๋Š” ๋ชจ๋‘ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์›น ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. SSL์€ ์›น ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์‚ฌ์—์„œ ๋งŒ๋“  ํ”„๋กœํ† ์ฝœ๋กœ ์ธํ„ฐ๋„ท ๊ธฐ์ˆ  ํ‘œ์ค€ํ™” ๋‹จ์ฒด์ธ IETF๊ฐ€ TLS๋กœ ๋‹ค์‹œ ์„ค๊ณ„ํ•˜์—ฌ ์ธํ„ฐ๋„ท ํ‘œ์ค€์œผ๋กœ ์‚ผ์•˜๋‹ค.๐Ÿ“– ์žฅ์ ๊ธฐ๋ฐ€์„ฑ(์•”ํ˜ธํ™”) : ์„œ๋ฒ„์™€ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์Šค๋‹ˆํ•‘ ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ : ํŒจํ‚ท ์ „๋‹ฌ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ 3์ž์— ์˜ํ•ด์„œ ์•…์˜๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.์„œ๋ฒ„ ์ธ์ฆ : ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋ผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•œ๋‹ค.๐Ÿ“– ์•”ํ˜ธํ™”TLS๋Š” ๋ณด์•ˆ๊ณผ ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ ๋‘ ๊ฐ€์ง€ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์„ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ํ‚ค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.์ด๋•Œ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๋Š”.. 2024. 10. 28.
[ํŒจ๋Ÿฌ๋‹ค์ž„] ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ, ๋ฏผํŠธ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜ˆ WWDC Swift Macro๋ฅผ ๋ณด๋‹ค ๋ณด๋‹ˆ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง•์„ ๋งŽ์ด ์‚ด๋ฆฐ ๊ฒƒ ๊ฐ™์•„์„œ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์—๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐˆ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํƒœ ๋ณ€๊ฒฝ๊ณผ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ˆœ์ˆ˜ ํ•จ์ˆ˜์™€ ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํ•œ ๋งˆ๋””๋กœ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๊ฐ€ ์—†๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ , ๋ถ€์ž‘์šฉ(Side Effect)์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŠน์ง•๋“ค์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ด…์‹œ๋‹ค.Random ํ•จ์ˆ˜๋Š” ์ ˆ๋Œ€ ์ˆœ์ˆ˜ํ•  ์ˆ˜ ์—†๋‹ค.์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? ๋™์ผํ•œ Input์—๋Š” ์–ธ์ œ๋‚˜ .. 2024. 10. 23.
[Swift ๋ฐฑ์ค€]1620๋ฒˆ_Dictionary VS Array ๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ์ƒ๊ธด ์ผ์ด๋‹ค. https://www.acmicpc.net/problem/1620 1620๋ฒˆ: ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ ์ฒซ์งธ ์ค„์—๋Š” ๋„๊ฐ์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ๊ฐœ์ˆ˜ N์ด๋ž‘ ๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ ธ. N๊ณผ M์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ธ๋ฐ, ์ž์—ฐ์ˆ˜๊ฐ€ ๋ญ”์ง€๋Š” ์•Œ์ง€? ๋ชจ๋ฅด๋ฉด www.acmicpc.net 1. Array๋งŒ ์‚ฌ์šฉ (์‹œ๊ฐ„ ์ดˆ๊ณผ) ๋งจ ์ฒ˜์Œ์—๋Š” Array๋งŒ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. Index๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฒˆํ˜ธ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ƒ๊ฐ์ด์—ˆ๋‹ค. func ๋‚˜๋Š”์•ผ_ํฌ์ผ“๋ชฌ๋งˆ์Šคํ„ฐ_์ด๋‹ค์†œ() { let input = readLine()!.split(separator: " ").compactMap { Int($0) } var pokedex = [String]() va.. 2024. 1. 27.
[๋””์ž์ธ ํŒจํ„ด]Delegate Pattern delegate pattern์€ ์ฃผ๋กœ ํ™”๋ฉด์˜ ์ „ํ™˜์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ํ™”๋ฉด์€ ์–ด๋–ป๊ฒŒ ์ „ํ™˜๋ ๊นŒ?1๋ฒˆ ํ™”๋ฉด๊ณผ 2๋ฒˆ ํ™”๋ฉด์ด ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, 1๋ฒˆ view controller์™€ 2๋ฒˆ view controller๊ฐ€ ์žˆ๋‹ค. 1๋ฒˆ view controller์—์„œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ 2๋ฒˆ view controller๋กœ ํ™”๋ฉด์ด ๋„˜์–ด๊ฐˆ ๋•Œ, 1๋ฒˆ ํ™”๋ฉด์€ ๋‹จ์ˆœํžˆ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. 2๋ฒˆ ํ™”๋ฉด์ด 1๋ฒˆ ํ™”๋ฉด์˜ ์œ„์— ์Œ“์ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ 2๋ฒˆ ํ™”๋ฉด์ด ์ƒ๊ธฐ๋ฉด์„œ 2๋ฒˆ view conroller๋Š” ์ดˆ๊ธฐํ™”๋˜์–ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์œผ๋กœ 1๋ฒˆ view controller๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋“ค์„ ๋ฐ›์•„์˜ค๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์ผ 2๋ฒˆ ํ™”๋ฉด์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ๋‹ค์‹œ 1๋ฒˆ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? 1๋ฒˆ ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด์„œ ์ƒˆ๋กญ๊ฒŒ 1๋ฒˆ view control.. 2024. 1. 27.