Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Computer/Computer Science 10

[System Engineering] (iOS) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ / ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ (feat. swift ์ฝ”๋“œ๋กœ ๋น„๊ตํ•˜๋ฉฐ ์•Œ์•„๋ณด๊ธฐ)

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ (Programming Paradigm) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ด€์ ์œผ ๋ฝ์ ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ..

[Software Engineering] (iOS/Swift ๊ธฐ์ค€) ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP), OOP ํŠน์ง•, OOP 5์›์น™ SOLID

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ๊ฐ์ฒด (Object) CS์—์„œ ๊ฐ์ฒด๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜๊ฑฐ๋‚˜ ์ถ”์ƒ์ ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ค‘์—์„œ ์ž์‹ ์˜ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋‹ค๋ฅธ๊ฒƒ๊ณผ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ปดํ“จํ„ฐ๋ฅผ ์˜ˆ๋กœ๋“ค๋ฉด, '..

[Operating System] (iOS) ์„ธ๋งˆํฌ์–ด (Semaphore), ๋ฎคํ…์Šค (Mutex)

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ๋“ค์–ด๊ฐ€๋ฉฐ ๐Ÿ”ธ Critical section (์ž„๊ณ„์˜์—ญ) ์ด๋ž€? ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์ˆ˜ํ–‰๋  ๋•Œ, ๊ฐ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋ธ”๋ก ์ฆ‰, ์—ฌ๋Ÿฌ ํ”„..

[Operating System] (iOS) IPC ์ด๋ž€? (Inter-Process Communication)

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  IPC (Inter Process Communication) ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ์ž ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ์„œ๋กœ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ๋ฐฉ๋ฒ•์ด ์—†๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜..

[Operating System] (iOS) PCB์™€ Context Switching

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ๋“ค์–ด๊ฐ€๋ฉฐ ๐Ÿ”ธ Process Management CPU๊ฐ€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋Ÿฌ๊ฐœ์ผ ๋•Œ, CPU ์Šค์ผ€์ฅด๋ง์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. https://velog.io/@hyehello/CS-..

[Operating System] (iOS) System Call (์‹œ์Šคํ…œ์ฝœ, ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด๋ž€?)

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ํŠนํžˆ close ๋œ PR์„ ๋ณด์‹œ๋ฉด, ์–ด๋–ค ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋‚˜๋ˆด๋Š”์ง€ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ๋“ค์–ด๊ฐ€๋ฉฐ ์šด์˜์ฒด์ œ(OS) : Window, DOS, UNIX, Linux, Mac OS ๋“ฑ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ : ํ•œ๊ธ€, ์—‘์…€, ๋ฉ”๋ชจ์žฅ ๋“ฑ ์ปดํ“จํ„ฐ ๋‚ด์˜ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค ์šด์˜์ฒด์ œ ๋Š” ์ปดํ“จ..

[Network] HTTP์™€ HTTPS์˜ ๋™์ž‘๊ณผ์ • ์„ค๋ช…ํ•˜๊ธฐ

https://github.com/JulSaMo/CS-start/pull/31 [Add] http์™€ https ๋‚ด์šฉ ์—…๋กœ๋“œ by deslog · Pull Request #31 · JulSaMo/CS-start ๐ŸŸฃ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ HTTP์™€ HTTPS ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ , ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๐ŸŸฃ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ƒ๊ธด ์˜๋ฌธ์  ์˜๋ฌธ์€ ์—†์Šด๋„ค๋‹ค ๐ŸŸฃ ๊ธฐํƒ€ @Rookie0031 ๊ฐ€ ์š”์•ฝํ•ด๋†“์€๊ฑฐ ๋ณด๊ณ  ๋”ฐ๋ผํ•ด๋ด„ ^____^ github.com ์—ฌ๊ธฐ์„œ HTTPS์˜ ๋™์ž‘๊ณผ์ •์„ ์—…๋กœ๋“œํ–ˆ๋Š”๋ฐ, ๋™๋ฃŒ๋“ค์—๊ฒŒ ๋ช…ํ™•ํ•œ ์ „๋‹ฌ์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด๋ณด์ž!! ๐ŸŸ  HTTP์˜ ๋™์ž‘๊ณผ์ • HTTP๋Š” stateless ํ•œ ํ”„๋กœํ† ์ฝœ ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ ์š”์ฒญ์€ ๋…๋ฆฝ์ ์ธ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๊ธฐ ์ „์— Connec..

[Network] TCP์™€ UDP์˜ ๊ฐœ๋…, ๊ณตํ†ต์ , ์ฐจ์ด์ 

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  ์ „์†ก๊ณ„์ธต (Transport Layer) TCP์™€ UDP ๋Š” OSI ํ‘œ์ค€๋ชจ๋ธ๊ณผ TCP/IP ๋ชจ๋ธ์˜ ์ „์†ก๊ณ„์ธต(transport layer)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. Endpoint ๊ฐ„ ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต ์‹ ๋ขฐ์„ฑ: ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ , ์•ˆ์ •์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ฒŒ๋” ํ•ด์ค€๋‹ค. ์ „์†ก: ํฌ..

[Network] Blocking I/O ์™€ Non-Blocking I/O ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  I/O ์ž‘์—… ์ฃผ๋กœ ํŒŒ์ผ์˜ ์ž…์ถœ๋ ฅ์„ ๋‹ค๋ฃฐ ๋•Œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋„คํŠธ์›Œํฌ์—์„œ๋„ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์˜ˆ๋ฅผ๋“ค์–ด ์†Œ์ผ“์˜ read์™€ send๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ์ด๋‹ค. ๋” ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ๋‘ ๋Œ€ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ๋ผ๋ฆฌ ์„œ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ†ต์‹ ์„ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ํ•œ ์ปดํ“จํ„ฐ์—์„œ ์ถœ๋ ฅ(send)ํ•˜๊ณ , ..

[Network] (Swift) Blocking๊ณผ Non-Blocking , Sync์™€ Asyn์˜ ์ฐจ์ด๋Š”?

์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น repository์— ๊ฐ€๋ฉด ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! https://github.com/JulSaMo/CS-start GitHub - JulSaMo/CS-start: ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ ๐Ÿ“ CS ์ง€์‹ ๋Œ€๋ฐฑ๊ณผ โœจ. Contribute to JulSaMo/CS-start development by creating an account on GitHub. github.com ๐ŸŸ  Blocking (๋ธ”๋กœํ‚น) ์ž์‹ ์˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋‹ค๋ฅธ ์ฃผ์ฒด์˜ ์ž‘์—†์ด ์‹œ์ž‘๋˜๋ฉด ๋‹ค๋ฅธ ์ž‘์—…์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์ž์‹ ์˜ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ ์ฒ˜์Œ์—๋Š” A๊ฐ€ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ B์ž‘์—…์ด ์‹œ์ž‘๋˜๋ฉด, B์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ A๋Š” ๊ฐ€๋งŒํžˆ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. B์ž‘์—…์ด ๋๋‚œ ํ›„์— ๋‹ค์‹œ A ์ž‘์—…์ด ์‹œ์ž‘..

๋ฐ˜์‘ํ˜•