Swift ์„œ๋ฒ„ ์›Œํ‚น ๊ทธ๋ฃน ์—ฐ๋ก€ ๋ณด๊ณ ์„œ

Swift์— ๋Œ€ํ•œ ์„œ๋ฒ„ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์—ฐ๊ตฌํ•˜๊ณ  ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด 1๋…„ ์ „์— ๋งŒ๋“ค์–ด์ง„ SSWG(Swift Server Work Group)์˜ ์—ฐ๋ก€ ๋ณด๊ณ ์„œ๊ฐ€ ์˜ค๋Š˜ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ทธ๋ฃน์€ ์–ธ์–ด์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ์„ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ธํ๋ฒ ์ด์…˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐœ๋ฐœ์ž๋Š” ์•„์ด๋””์–ด๋ฅผ ๋‚ด๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ SSWG ์ž์ฒด์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์ด๋ฅผ Swift ํŒจํ‚ค์ง€์˜ ์„œ๋ฒ„์ธก ์ธ๋ฑ์Šค์— ์ˆ˜์šฉํ•ฉ๋‹ˆ๋‹ค. 9๊ฐœ์˜ ์ œ์•ˆ์ด ์ธํ๋ฒ ์ด์…˜ ํ”„๋กœ์„ธ์Šค์˜ ์ „์ฒด ์ฃผ๊ธฐ๋ฅผ ๊ฑฐ์ณ ์ง€์ˆ˜์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋„์„œ๊ด€

  • ์Šค์œ„ํ”„ํŠธ๋‹ˆ์˜ค โ€” ์„œ๋ฒ„์ธก Swift์˜ ํ•ต์‹ฌ์ธ ๋„คํŠธ์›Œํฌ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ๋น„์ฐจ๋‹จ ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

  • ์ถ”๊ฐ€: ๋กœ๊น… API, HTTP์šฉ ํด๋ผ์ด์–ธํŠธ, HTTP/2, PotsgreSQL, Redis, Prometheus, ๋ฉ”ํŠธ๋ฆญ API ๋ฐ ์ด์— ๋Œ€ํ•œ statsd ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„.

Swift ๋ฐ Linux ๋„๊ตฌ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์™ธ์—๋„ ๊ทธ๋ฃน์€ Swift ์ž์ฒด์™€ Linux์šฉ ๋„๊ตฌ๋„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Swift 3, 4, 5์˜ ๊ณต์‹ ์ด๋ฏธ์ง€๋Š” Docker ํ—ˆ๋ธŒ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ตœ์†Œ ์ด๋ฏธ์ง€์™€ ํ™•์žฅ ์ด๋ฏธ์ง€๊ฐ€ ๋ชจ๋‘ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

  • Linux์—์„œ ์—ญ์ถ”์ ์„ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ(libbacktrace ๊ธฐ๋ฐ˜) Swift ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ๊ฒฐํ•ฉ ๊ฐ€๋Šฅ์„ฑ๋„ ๊ณ ๋ ค๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Swift 4.2.2 ๋ฒ„์ „๋ถ€ํ„ฐ ๋งค์›” Linux์šฉ ๋ฒ„๊ทธ ์ˆ˜์ • ํŒจ์น˜๊ฐ€ ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค.

2020๋…„ ๊ณ„ํš

  • MongoDB, MYSQL, SQLite, Zookeeper, Cassandra, Kafka ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์œ„ํ•œ ํ›จ์”ฌ ๋” ๋งŽ์€ ์ˆ˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์‚ฐ ์ถ”์ ์€ ๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ์˜ ์„ธ ๋ฒˆ์งธ ๊ธฐ๋‘ฅ์ž…๋‹ˆ๋‹ค(๋กœ๊ทธ ๋ฐ ๋ฉ”ํŠธ๋ฆญ์€ ์ด๋ฏธ ์ค€๋น„๋˜์–ด ์žˆ์Œ).

  • ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ’€.

  • ์˜คํ”ˆAPI.

  • ๋” ๋งŽ์€ Linux ๋ฐฐํฌํŒ ์ง€์›(ํ˜„์žฌ Ubuntu๋Š” ์ง€์›๋จ)

  • ๋ฐฐํฌ ๊ฐ€์ด๋“œ ์ž‘์„ฑ

  • Swift ์„œ๋ฒ„ ๊ธฐ๋Šฅ ์‹œ์—ฐ. ํ˜„์žฌ ์ผ๋ถ€ ๊ธฐ์—…์—์„œ๋Š” ์ด๋ฏธ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๋‹ค.

SSWG๋Š” Swift ์„œ๋ฒ„ ํ”Œ๋žซํผ์šฉ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋…๋ฆฝ ๊ฐœ๋ฐœ์ž์™€์˜ ํ˜‘๋ ฅ์— ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

๋‰ด์Šค ์ž‘์„ฑ์ž์˜ ์˜๊ฒฌ: ์•„๋งˆ๋„ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์•„์•„, ๋กœ๊น…์€ ์ด๋ฏธ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค).

Swift๋Š” MacOS ๋ฐ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Objective-C๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด 2014๋…„์— ๋ฐœํ‘œ๋˜์—ˆ์ง€๋งŒ ๋ฒ”์šฉ ์–ธ์–ด์ด๋ฉฐ Server Swift ํ”„๋กœ์ ํŠธ๋Š” ๋ฐฑ์—”๋“œ ์–ธ์–ด๋กœ์„œ์˜ ๊ธฐ๋Šฅ์„ ์ž…์ฆํ•˜๋ ค๋Š” ์‹œ๋„์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€