SlideShare a Scribd company logo
2017 ์—ฌ๋ฆ„ Go ์Šคํ„ฐ๋””
๊น€๋ช…์žฌ
2017. 6. 19
KIWorkshop
๋ชฉ์ฐจ
โ€ข ๊ด‘์ผ๊ณต๋ฐฉ
โ€ข Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
โ€ข ์ฑ…์˜ ๊ตฌ
โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์ฃผ์˜์‚ฌํ•ญ
๊ด‘์ผ๊ณต๋ฐฉ
www.kiworkshop.org
๋ชฉ์ฐจ
โ€ข ๊ด‘์ผ๊ณต๋ฐฉ
โ€ข Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
โ€ข ์ฑ…์˜ ๊ตฌ
โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์ฃผ์˜์‚ฌํ•ญ
Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
Ken Thompson Rob Pike Robert Griesemer
Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
Ken Thompson
โ€ข Bell ์—ฐ๊ตฌ์†Œ ์ถœ์‹ 
โ€ข B์–ธ์–ด ๊ฐœ๋ฐœ์ž
โ€ข ์œ ๋‹‰์Šค์˜ ์•„๋ฒ„์ง€
โ€ข ์œ ๋‹‰์Šค๋ฅผ ๋งŒ๋“  ๊ณต๋กœ๋กœ ํŠœ๋ง์ƒ ์ˆ˜์ƒ
โ€ข ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜์™€ ํ•จ๊ป˜ C์–ธ์–ด ๊ฐœ๋ฐœ
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข UTF-8 ๊ฐœ๋ฐœ
โ€ข Plan 9 ๋ถ„์‚ฐ ์šด์˜์ฒด์ œ ํ•ต์‹ฌ ๊ฐœ๋ฐœ์ž
โ€ข Concurrency๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด Newsqeak ๊ฐœ๋ฐœ
โ€ข ์•ฝ 30๋…„๊ฐ„ Concurrency ์—ฐ๊ตฌ ์ง„ํ–‰
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Rob Pike
Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข Java HotSpot Compiler ๊ฐœ๋ฐœ
โ€ข ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์˜ JavaScript ์—”์ง„ ๊ฐœ๋ฐœ
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Robert Griesemer
Go์— ๋Œ€ํ•ด์„œ
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข C๊ณ„ํ†ต์˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ์„œ ๊ฐœ๋ฐœ๋จ
โ€ข ๋งŒ๋“ค์–ด๋†“๊ณ  ๋ณด๋‹ˆ ์ผ๋ฐ˜ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ๋„ ์†์ƒ‰์ด ์—†๋‹ค(= python, java)
โ€ข ์ •์  ํƒ€์ž… ์–ธ์–ด (์ปดํŒŒ์ผ ํƒ€์ž„์— ๋” ๋งŽ์€ ์˜ค๋ฅ˜๋ฅผ ์žก์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ์•ˆ์ „์„ฑ ๋†’์Œ)
โ€ข ํƒ€์ž… ์ถ”๋ก ์„ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์  ํƒ€์ž… ์–ธ์–ด์˜ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•จ
โ€ข ์™„๋ฒฝํ•œ Garbage collection
โ€ข Concurrency
Go์— ๋Œ€ํ•ด์„œ
โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด)
... ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์ ‘ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” C/C++ ์ž…๋‹ˆ๋‹ค.1972๋…„์— C๊ฐ€ ์„ธ์ƒ์—
๋‚˜์™”๊ณ , 1983๋…„ C++๊ฐ€ ์„ธ์ƒ์— ๋‚˜์™”์œผ๋‹ˆ ๊ฐ๊ฐ 40๋…„, 30๋…„ ์ด์ƒ ์ง€๋‚ฌ๋„ค์š”. ๊ทธ๋งŒํผ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ
๋งŒ๋“ค๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๋œป์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์ ˆ๋Œ€์ ์œผ๋กœ
ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ํŠน์ • ์ฝ˜์…‰ํŠธ๋งŒ ๊ฐ€์ง€๊ณ  ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋ฅผ
๋งŒ๋“ค์–ด ๋ณธ ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ฉด ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์—„๋‘๊ฐ€ ์•ˆ ๋‚˜๋Š” ์ผ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด)
Go์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•œ ์ด๋“ค์„ ์‚ดํŽด๋ณผ๊นŒ์š”? ์ผ„ ํ†ฐ์Šจ์ด ์œ ๋‹‰์Šค๋ผ๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋กญ ํŒŒ์ดํฌ์™€ ํ•จ๊ป˜
Plan 9 ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋ฒ„ํŠธ ๊ทธ๋ฆฌ์Šค๋จธ๋Š” Java ๊ฐ€์ƒ ๋จธ์‹ ์„ ์„ค๊ณ„ํ•œ ์‚ฌ๋žŒ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
์šด์˜์ฒด์ œ์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” ์ด๋“ค์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
C์–ธ์–ด๊ฐ€ ๋‚˜์˜จ์ง€ 40๋…„์ด ์ง€๋‚˜์„œ์•ผ ํ˜„๋Œ€์˜ ์š”๊ตฌ์— ์ œ๋Œ€๋กœ ๋งž๋Š” ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ๋‚˜์™”๋‹ค๊ณ  ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋งŒ๋“ค๊ธฐ๋„ ์‰ฝ์ง€ ์•Š์ง€๋งŒ ์ผ๋‹จ ๋ฟŒ๋ฆฌ๋ฅผ ๋‚ด๋ฆฌ๋ฉด ์ƒ๋‹นํžˆ ๊ธด ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์ง€๋˜๋Š” ํŠน์„ฑ์ด
์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Go ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ์—์„œ ๋…๋ณด์ ์ธ ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋Š”
ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ARM๊ณผ x86์„ ์™„๋ฒฝํžˆ ์ง€์›ํ•˜๊ณ  ์šด์˜์ฒด์ œ๋กœ๋Š” ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค, ๋งฅ์„ ์ง€์›ํ•˜๋ฏ€๋กœ Go
์–ธ์–ด๋ฅผ ๋›ฐ์–ด๋„˜๋Š” ์‹œ์Šคํ…œ ์–ธ์–ด๊ฐ€ ๊ณผ์—ฐ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋Š” ํšŒ์˜๊ฐ๋งˆ์ € ๋“ญ๋‹ˆ๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด)
ํ˜„์žฌ์˜ ๊ตฌ๊ธ€์ด ์•„๋‹ˆ๋ฉด ์ด๋Ÿฐ ํˆฌ์ž๋„ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ์ด๊ณ  ์ด๋ ‡๊ฒŒ ํ›Œ๋ฅญํ•œ ๊ฐœ๋ฐœ์ž๋ฅผ ํ•œ ๊ณณ์— ๋ชจ์œผ๊ธฐ๋„ ์‰ฝ์ง€ ์•Š์•˜์„
๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ง€์†๋˜๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋ถ„์•ผ์—์„œ ์–ผ๋งˆ๋‚˜ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š”์ง€์˜ ๊ด€์ ์œผ๋กœ ๋ดค์„ ๋•Œ,
Go ์–ธ์–ด๋Š” ์ƒ๋‹นํžˆ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋„๋ฆฌ ํ™œ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ์–ธ์–ด ํŠน์„ฑ (Concurrency, ๋™์‹œ์„ฑ)
Go์–ธ์–ด๋Š” ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์—์„œ ๋กญ ํŒŒ์ดํฌ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•  ๋•Œ
์–ธ๊ธ‰ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ, Go ์–ธ์–ด๋Š” ๋กญ ํŒŒ์ดํฌ๊ฐ€ 30๋…„ ์ด์ƒ ๋™์‹œ์„ฑ ๊ด€๋ จ ๋ถ„์•ผ์—์„œ ์—ฐ๊ตฌํ•œ ๊ฒฐ๊ณผ๋ผ๊ณ  ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Go ์–ธ์–ด ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ๋™์‹œ์„ฑ์„ ๊ณ ๋ คํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์–ธ์–ด๋ณด๋‹ค ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ 
์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Go ์–ธ์–ด๊ฐ€ ์ง€์›ํ•˜๋Š” ์ฑ„๋„์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค
์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ด์œ ์—์„œ ๋™์‹œ๋‹ค๋ฐœ๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ Go ์–ธ์–ด๋ฅผ ํ™œ๋ฐœํžˆ
์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
Go์— ๋Œ€ํ•ด์„œ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com)
Parse.com์€ 2011๋…„ Ruby๋กœ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ด ์„ฑ๊ณต์ ์œผ๋กœ ๋Ÿฐ์นญํ–ˆ๋‹ค. ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์ฝ”๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ
์ฒ˜์Œ์œผ๋กœ ์ง๋ฉดํ•œ ๋ฌธ์ œ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•  ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 1๋…„ ๋ฐ˜์ด ์ง€๋‚œ 2012๋…„ ๋ง์—๋Š” ์„œ๋ฒ„์—์„œ
์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ๋Š˜๋ฉด์„œ ์ฝ”๋“œ ๋ฐฐํฌ๋‚˜ ๋กค๋ฐฑ์— 20๋ถ„ ์ •๋„๊ฐ€ ์†Œ์š”๋˜์—ˆ๋‹ค. 20๋ถ„ ๋™์•ˆ API ์ฒ˜๋ฆฌ์— ์˜ํ–ฅ์„ ์ฃผ์ง€
์•Š์œผ๋ ค๊ณ  ๋ณต์žกํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ ๊ฐ™์€ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๋‹ค. ์ดํ›„๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ‰์ฆํ•ด
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„ ๋Š˜๋ ค์•ผ ํ•˜๋Š” ์‹œ๊ธฐ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๋”๋Š” Ruby on rails๋กœ ์‚ฌ์šฉ์ž์˜ ์„œ๋ฒ„ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๋‹นํ•˜๊ธฐ
์–ด๋ ค์› ๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com)
๋น„๋™๊ธฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋Š” ๋ฐ ์˜๊ฒฌ์„ ๋ชจ์•˜๋‹ค. ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด ํ–ฅํ›„ 10๋ฐฐ ์ด์ƒ
์„œ๋ฒ„ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋”๋ผ๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์•ˆ์„ ์ฐพ๊ณ ์ž ํ–ˆ๊ณ , ๋‹ค์–‘ํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ์œ„ํ•ด ์„ ํƒ ๊ฐ€๋Šฅํ•œ
๊ธฐ์ˆ ์„ ์กฐ์‚ฌํ–ˆ๋‹ค. ๋จผ์ € ๋ฃจ๋น„์™€ ๊ด€๋ จ๋œ ๊ธฐ์ˆ ์ธ EventMachine, Jruby ๋“ฑ์„ ์กฐ์‚ฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฃจ๋น„ ์ž์ฒด๊ฐ€ ๋น„๋™๊ธฐ
๋ฐฉ์‹ ์ง€์›์— ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ  ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ์— ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ๋‹ค๋ฅธ ๋Œ€์•ˆ์œผ๋กœ ํŒ€ ๋‚ด์— C++
๊ฒฝํ—˜์ด ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ์–ด C++๋„ ๊ณ ๋ คํ–ˆ์ง€๋งŒ, ๋””๋ฒ„๊น…์ด๋‚˜ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋‹ค. ๋‹ค์Œ์œผ๋กœ๋Š”
C#์„ ๊ผฝ์•˜๋Š”๋ฐ, Async์™€ Await๋กœ ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๋Š” ์ตœ๊ณ ์˜ ํ›„๋ณด์ž๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ๋ˆ…์Šค์—์„œ C#์€
์ ์ ˆํ•ด ๋ณด์ด์ง€ ์•Š์•˜๋‹ค.
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
Go์— ๋Œ€ํ•ด์„œ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com)
๋‹ค์Œ ํ›„๋ณด๊ฐ€ Go ์–ธ์–ด์˜€๋‹ค. ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๊ณ  Parse์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๊ฐ€ MongoDB์˜€๋Š”๋ฐ, ์—ฌ๊ธฐ์—
์‚ฌ์šฉํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ Go ์–ธ์–ด์—์„œ ์ด๋ฏธ ๋‚˜์™€ ์žˆ์—ˆ๊ณ  ๊ถํ•ฉ๋„ ์ž˜ ๋งž์•˜๋‹ค. ๋˜ํ•œ, goroutine์„ ์ด์šฉํ•ด ์Šค๋ ˆ๋“œ๋ณด๋‹ค
ํ›จ์”ฌ ์ ์€ ๋ฆฌ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์‹ค์ œ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ๋Š” ๊ฐ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์‹œ 4KB ์ •๋„์˜ ๋žจ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€
์‚ฌ์šฉ๋˜์–ด ๊ธฐ์กด๋ณด๋‹ค ํšจ์œจ์ ์ด์—ˆ๋‹ค. ์ด์ „์—๋Š” ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋‹น 250K ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ์œผ๋‚˜ Go ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 
๋‚˜์„œ๋Š” 150๋งŒ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค.
Parse.com์˜ ๊ฒฝ์šฐ ๋ฃจ๋น„์—์„œ Go ์–ธ์–ด๋กœ ๊ฐˆ์•„ํƒ€๊ธฐ์— ์„ฑ๊ณตํ•œ ๊ฒƒ์„ ๋„˜์–ด ์„ฑ๋Šฅ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ๋“ฑ์—์„œ๋„ ํš๊ธฐ์ ์ธ
์„ฑ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ถœ์ฒ˜: http://goo.gl/suhhHJ
(ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
๋ชฉ์ฐจ
โ€ข ๊ด‘์ผ๊ณต๋ฐฉ
โ€ข Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
โ€ข ์ฑ… ์†Œ๊ฐœ
โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์ฃผ์˜์‚ฌํ•ญ
์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ฑ… ์ œ๋ชฉ: ๋””์Šค์ปค๋ฒ„๋ฆฌ Go
โ€ข ์ €์ž: ์—ผ์žฌํ˜„
โ€ข ์ถœ๊ฐ„: 2016๋…„
โ€ข ๊ฐ€๊ฒฉ
โ€ข ์ •๊ฐ€ 22,000์›
โ€ข 10%ํ• ์ธ๊ฐ€ 19,800์›
โ€ข ์ „์ž์ฑ… 15,400์›
โ€ข ๊ตฌ๊ธ€ eBook 13860์›
https://goo.gl/L1RkMc
์ฑ…์— ๋Œ€ํ•ด์„œ
์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
์„œ์šธ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€์—์„œ ์ข‹์•„ํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ณต๋ถ€๋ฅผ ํ•˜์˜€๋‹ค. ํ•™๊ต
์กธ์—… ํ›„์—๋Š” 8๋…„ ์ •๋„ ๊ตฌ๊ธ€์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ๊ทผ๋ฌดํ•˜์˜€๋‹ค. ๊ด€
์‹ฌ ๋ถ„์•ผ๋Š” ์ž๋™ํ™”์ธ๋ฐ, ๊ทธ์ค‘์—์„œ๋„ ์ปดํ“จํ„ฐ๋กœ ํ•˜๊ธฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ธ๊ฐ„ ์ง€
๋Šฅ์˜ ์ž๋™ํ™”๋‹ค. ๋ฌด์—‡์ด๋“  ๋น„ํ‹€์–ด๋ณด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๊ณ  ์†Œ์‹œ๋ฏผ์  ์‚ถ์„ ์‚ด๋ฉด
์„œ ์ž‘์€ ๊ณ ์ •๊ด€๋…์„ ๊นจ๋ณด๋Š” ๊ฒƒ์ด ์ทจ๋ฏธ๋‹ค. ํ˜„์žฌ ๋ฏธ๊ตญ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๋งˆ์šดํ‹ด
๋ทฐ์— ๊ฑฐ์ฃผํ•œ๋‹ค.
์ฑ…์— ๋Œ€ํ•ด์„œ
์ฑ…์— ๋Œ€ํ•ด์„œ
์ฑ…์— ๋Œ€ํ•ด์„œ
์ฑ…์— ๋Œ€ํ•ด์„œ
์ฑ…์— ๋Œ€ํ•ด์„œ
๋ชฉ์ฐจ
โ€ข ๊ด‘์ผ๊ณต๋ฐฉ
โ€ข Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
โ€ข ์ฑ… ์†Œ๊ฐœ
โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์ฃผ์˜์‚ฌํ•ญ
์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์Šคํ„ฐ๋””๋Š” 6์›” ๋งˆ์ง€๋ง‰ ์ฃผ๋ถ€ํ„ฐ 6์ฃผ๋™์•ˆ ๋งค์ฃผ 1ํšŒ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
โ€ข ํ•œ ๋ฒˆ ๋ชจ์ž„์— ์•ฝ ๋‘์‹œ๊ฐ„ ์ •๋„ ์†Œ์š”๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.
โ€ข 6๊ฐœ์˜ ์ฑ•ํ„ฐ๋ฅผ ๋Œ์•„๊ฐ€๋ฉด์„œ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค.
โ€ข ๋ฐœํ‘œ๋Š” ์ž์œ ๋กญ๊ฒŒ ํ•˜์‹œ๋˜, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข ๋‚ด์šฉ ์š”์•ฝ
โ€ข ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋Š๋‚€ ๊ฐ์ •(์˜ˆ: ํŠน์ดํ•˜๋‹ค, ์‹ ๊ธฐํ•˜๋‹ค, ์™œ ์ด๋”ฐ๊ตฌ๋กœ ๋งŒ๋“ค์—ˆ์„๊นŒ ๋“ฑ๋“ฑ)
โ€ข ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด. ์ž์‹ ์˜ ์ฝ”๋“œ ์„ค๋ช….
โ€ข (+ ์ž˜ ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋‚˜ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๋Š” ๊ฒƒ๋“ค, ํ˜น์€ ํ† ์˜ํ•  ๋งŒํ•œ ์ฃผ์ œ)
+ Peer review?
์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
6์›” ๋งˆ์ง€๋ง‰ ์ฃผ
(=7์›” ์ฒซ์งธ์ฃผ)
7์›” ๋‘˜์งธ์ฃผ
7์›” ์…‹์งธ์ฃผ
7์›” ๋„ท์งธ์ฃผ
7์›” ๋‹ค์„ฏ์งธ์ฃผ
8์›” ์ฒซ์งธ์ฃผ
โ€ข ์ผ์ •
โ€ป 1,2์žฅ์€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์Šคํ„ฐ๋””๋Š” 3์žฅ๋ถ€ํ„ฐ ํ•ฉ๋‹ˆ๋‹ค.
๋ชฉ์ฐจ
โ€ข ๊ด‘์ผ๊ณต๋ฐฉ
โ€ข Go์— ๋Œ€ํ•ด์„œ
โ€ข Go์˜ ๊ฐœ๋ฐœ์ž
โ€ข ์–ธ์–ด ํŠน์„ฑ
โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ
โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ
โ€ข ์ €์ž
โ€ข ์ฑ… ์†Œ๊ฐœ
โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ
โ€ข ์ฃผ์˜์‚ฌํ•ญ
์ฃผ์˜์‚ฌํ•ญ
โ€ข ์œ„ ์‚ฌํ•ญ๋“ค์„ ์ง€ํ‚ฌ ์ž์‹ ์ด ์—†์œผ์‹œ๋ฉด ์Šคํ„ฐ๋””์— ์ฐธ์—ฌํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
๋ถ„์œ„๊ธฐ๋ฅผ ํ๋ ค ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ํ”ผํ•ด๋ฅผ ์ฃผ๋Š” ์ผ์ด ์—†๋„๋ก ํ•ฉ์‹œ๋‹ค.
โ€ข ์ œ๊ฒŒ ์Šคํ„ฐ๋””๋ผ๋Š” ๊ฒƒ์€ ๊ณต๋ถ€ํ•˜๊ณ ์ž ๋งˆ์Œ๋จน์€ ๊ฒƒ์„ ๋๊นŒ์ง€ ์™„์ˆ˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์žฅ์น˜์ž…๋‹ˆ๋‹ค.
โ€ข ์Šคํ„ฐ๋””๋Š” ์ฐธ์„์ž ๋ชจ๋‘ ๊ท€ํ•œ ์‹œ๊ฐ„์„ ๋‚ด์„œ ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—,
์•„๋ž˜์™€ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
1. ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๊ฒƒ์„ ์–ป์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ตœ์„ ์„ ๋‹คํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ฐธ์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
2. ๊ฒฐ์„์€ ๋ถˆํ—ˆํ•ฉ๋‹ˆ๋‹ค
3. ํ”ผ์น˜ ๋ชปํ•  ์‚ฌ์ •์œผ๋กœ ๋น ์ง€์‹œ๋˜, ๋‘ ๋ฒˆ์งธ ๊ฒฐ์„๋ถ€ํ„ฐ๋Š” ๊ณ„์† ๊ฒฐ์„ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
Reference
โ€ข (๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ) ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go ์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015
โ€ข ๋””์Šค์ปค๋ฒ„๋ฆฌ Go, ์—ผ์žฌํ˜„ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด,2016
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

More Related Content

Similar to 2017 summer go_study

๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
NAVER D2
ย 
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ตGithub แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
nexusz99
ย 
3์ฃผ์ฐจ language
3์ฃผ์ฐจ language3์ฃผ์ฐจ language
3์ฃผ์ฐจ language
์ค€ํ˜ ์ด
ย 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)Channy Yun
ย 
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
Lee WonJae
ย 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
Chris Ohk
ย 
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๋ณต์—ฐ ์ด
ย 
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
OpenStack Korea Community
ย 
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
Jinsoo Jung
ย 
Introduction to Golang v2
Introduction to Golang v2Introduction to Golang v2
Introduction to Golang v2
Hyejong
ย 
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
Leonardo Taehwan Kim
ย 
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
Devrelationswoowahan
ย 
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ ์ž์‹ ์ด ์—†์„๊นŒ?
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ์ž์‹ ์ด ์—†์„๊นŒ?Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ์ž์‹ ์ด ์—†์„๊นŒ?
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ ์ž์‹ ์ด ์—†์„๊นŒ?
Minsuk Lee
ย 
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐSlack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
Eunchong Yu
ย 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
Kenu, GwangNam Heo
ย 
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜Sung-tae Ryu
ย 
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
hyu_jaram
ย 
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
Jay Park
ย 
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
๊ฐ• ๋ฏผ์šฐ
ย 
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌ
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌแ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌ
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌSungju Jin
ย 

Similar to 2017 summer go_study (20)

๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
๊ฒฝํฌ๋Œ€ ํ•ด์ปค ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜ - Git hub์œผ๋กœ ํ•™๊ต ํŒ€ํ”„๋กœ์ ํŠธ ํ•˜๊ธฐ(์กฐ์„ฑ์ˆ˜)
ย 
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ตGithub แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
Github แ„‹แ…ณแ„…แ…ฉ แ„’แ…กแ†จแ„€แ…ญ แ„แ…ตแ†ท แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ แ„’แ…กแ„€แ…ต
ย 
3์ฃผ์ฐจ language
3์ฃผ์ฐจ language3์ฃผ์ฐจ language
3์ฃผ์ฐจ language
ย 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
ย 
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ - ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ
ย 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
ย 
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ใ€Žแ„‹แ…ตแ†ทแ„‡แ…ฆแ„ƒแ…ตแ„ƒแ…ณ แ„‹แ…กแ†ซแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ตแ„ƒแ…ณใ€ - ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ย 
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
[12์›” ๋ฒˆ์—ญ Meetup] แ„‚แ…กแ„‹แ…ด แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ณแ„แ…ขแ†จ แ„‡แ…ฅแ†ซแ„‹แ…งแ†จ contributing แ„‰แ…กแ†ธแ„Œแ…ตแ†ฏ แ„€แ…งแ†ผแ„’แ…ฅแ†ทแ„€แ…ต
ย 
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
Slipp แ„‡แ…กแ†ฏแ„‘แ…ญ แ„Œแ…กแ„…แ…ญ 20151212
ย 
Introduction to Golang v2
Introduction to Golang v2Introduction to Golang v2
Introduction to Golang v2
ย 
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
์„œ๋น„์Šค ๊ธฐํš๋ถ€ํ„ฐ ๋Ÿฐ์นญ๊นŒ์ง€ ๊ณผ์ • + ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•!
ย 
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
7์›” ์šฐ์•„ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜ "์ฃผ๋‹ˆ์–ด๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•๋“ค" ์ฒซ๋ฒˆ์งธ ์„ธ์…˜
ย 
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ ์ž์‹ ์ด ์—†์„๊นŒ?
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ์ž์‹ ์ด ์—†์„๊นŒ?Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ์ž์‹ ์ด ์—†์„๊นŒ?
Deview 2013 - ๋‚˜๋Š” ์™œ ๊ฐœ๋ฐœ์ž์ธ๋ฐ ์ž์‹ ์ด ์—†์„๊นŒ?
ย 
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐSlack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
Slack๊ณผ Rust๋กœ Amazon ECS์—์„œ ์„œ๋น„์Šค ๋ฐฐํฌํ•˜๊ธฐ
ย 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
ย 
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜
2013 แ„€แ…ฉแ†ผแ„€แ…ขSWแ„ƒแ…ฆแ„‹แ…ต ๋ฐœํ‘œ - ๊ตฌ๋ฆ„IDE์˜ ๋ฐœ์ž์ทจ์™€ ๋ฏธ๋ž˜
ย 
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
31๊ธฐ ๊ณ ์ง€์›… "๊ตฌ๊ธ€์˜คํ”ˆ์†Œ์Šค"
ย 
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
(๋…์„œ๊ด‘) ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ 20์ฃผ๋…„ ๊ธฐ๋…ํŒ
ย 
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
[IGC 2017] ๋„ฅ์ŠคํŠธํ”Œ๋กœ์–ด ๊น€์˜์ˆ˜ - Protocol:hyperspace Diver ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ชจํ…œ
ย 
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌ
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌแ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌ
แ„‹แ…ฉแ„‘แ…ณแ†ซแ„‰แ…ฉแ„‰แ…ณ แ„€แ…ณแ„…แ…ตแ„€แ…ฉ แ„€แ…ตแ„’แ…ฌ
ย 

2017 summer go_study

  • 1. 2017 ์—ฌ๋ฆ„ Go ์Šคํ„ฐ๋”” ๊น€๋ช…์žฌ 2017. 6. 19 KIWorkshop
  • 2. ๋ชฉ์ฐจ โ€ข ๊ด‘์ผ๊ณต๋ฐฉ โ€ข Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž โ€ข ์ฑ…์˜ ๊ตฌ โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์ฃผ์˜์‚ฌํ•ญ
  • 4. ๋ชฉ์ฐจ โ€ข ๊ด‘์ผ๊ณต๋ฐฉ โ€ข Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž โ€ข ์ฑ…์˜ ๊ตฌ โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์ฃผ์˜์‚ฌํ•ญ
  • 5. Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž Ken Thompson Rob Pike Robert Griesemer
  • 6. Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž Ken Thompson โ€ข Bell ์—ฐ๊ตฌ์†Œ ์ถœ์‹  โ€ข B์–ธ์–ด ๊ฐœ๋ฐœ์ž โ€ข ์œ ๋‹‰์Šค์˜ ์•„๋ฒ„์ง€ โ€ข ์œ ๋‹‰์Šค๋ฅผ ๋งŒ๋“  ๊ณต๋กœ๋กœ ํŠœ๋ง์ƒ ์ˆ˜์ƒ โ€ข ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜์™€ ํ•จ๊ป˜ C์–ธ์–ด ๊ฐœ๋ฐœ (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 7. Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข UTF-8 ๊ฐœ๋ฐœ โ€ข Plan 9 ๋ถ„์‚ฐ ์šด์˜์ฒด์ œ ํ•ต์‹ฌ ๊ฐœ๋ฐœ์ž โ€ข Concurrency๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด Newsqeak ๊ฐœ๋ฐœ โ€ข ์•ฝ 30๋…„๊ฐ„ Concurrency ์—ฐ๊ตฌ ์ง„ํ–‰ (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015) Rob Pike
  • 8. Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข Java HotSpot Compiler ๊ฐœ๋ฐœ โ€ข ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์˜ JavaScript ์—”์ง„ ๊ฐœ๋ฐœ (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015) Robert Griesemer
  • 9. Go์— ๋Œ€ํ•ด์„œ โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข C๊ณ„ํ†ต์˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ์„œ ๊ฐœ๋ฐœ๋จ โ€ข ๋งŒ๋“ค์–ด๋†“๊ณ  ๋ณด๋‹ˆ ์ผ๋ฐ˜ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ๋„ ์†์ƒ‰์ด ์—†๋‹ค(= python, java) โ€ข ์ •์  ํƒ€์ž… ์–ธ์–ด (์ปดํŒŒ์ผ ํƒ€์ž„์— ๋” ๋งŽ์€ ์˜ค๋ฅ˜๋ฅผ ์žก์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ์•ˆ์ „์„ฑ ๋†’์Œ) โ€ข ํƒ€์ž… ์ถ”๋ก ์„ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์  ํƒ€์ž… ์–ธ์–ด์˜ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•จ โ€ข ์™„๋ฒฝํ•œ Garbage collection โ€ข Concurrency
  • 10. Go์— ๋Œ€ํ•ด์„œ โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด) ... ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์ ‘ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” C/C++ ์ž…๋‹ˆ๋‹ค.1972๋…„์— C๊ฐ€ ์„ธ์ƒ์— ๋‚˜์™”๊ณ , 1983๋…„ C++๊ฐ€ ์„ธ์ƒ์— ๋‚˜์™”์œผ๋‹ˆ ๊ฐ๊ฐ 40๋…„, 30๋…„ ์ด์ƒ ์ง€๋‚ฌ๋„ค์š”. ๊ทธ๋งŒํผ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๋œป์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์ ˆ๋Œ€์ ์œผ๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ํŠน์ • ์ฝ˜์…‰ํŠธ๋งŒ ๊ฐ€์ง€๊ณ  ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค์–ด ๋ณธ ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ฉด ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์—„๋‘๊ฐ€ ์•ˆ ๋‚˜๋Š” ์ผ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 11. Go์— ๋Œ€ํ•ด์„œ โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด) Go์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•œ ์ด๋“ค์„ ์‚ดํŽด๋ณผ๊นŒ์š”? ์ผ„ ํ†ฐ์Šจ์ด ์œ ๋‹‰์Šค๋ผ๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋กญ ํŒŒ์ดํฌ์™€ ํ•จ๊ป˜ Plan 9 ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋ฒ„ํŠธ ๊ทธ๋ฆฌ์Šค๋จธ๋Š” Java ๊ฐ€์ƒ ๋จธ์‹ ์„ ์„ค๊ณ„ํ•œ ์‚ฌ๋žŒ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” ์ด๋“ค์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. C์–ธ์–ด๊ฐ€ ๋‚˜์˜จ์ง€ 40๋…„์ด ์ง€๋‚˜์„œ์•ผ ํ˜„๋Œ€์˜ ์š”๊ตฌ์— ์ œ๋Œ€๋กœ ๋งž๋Š” ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ๋‚˜์™”๋‹ค๊ณ  ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋งŒ๋“ค๊ธฐ๋„ ์‰ฝ์ง€ ์•Š์ง€๋งŒ ์ผ๋‹จ ๋ฟŒ๋ฆฌ๋ฅผ ๋‚ด๋ฆฌ๋ฉด ์ƒ๋‹นํžˆ ๊ธด ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์ง€๋˜๋Š” ํŠน์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Go ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ์—์„œ ๋…๋ณด์ ์ธ ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋Š” ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ARM๊ณผ x86์„ ์™„๋ฒฝํžˆ ์ง€์›ํ•˜๊ณ  ์šด์˜์ฒด์ œ๋กœ๋Š” ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค, ๋งฅ์„ ์ง€์›ํ•˜๋ฏ€๋กœ Go ์–ธ์–ด๋ฅผ ๋›ฐ์–ด๋„˜๋Š” ์‹œ์Šคํ…œ ์–ธ์–ด๊ฐ€ ๊ณผ์—ฐ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋Š” ํšŒ์˜๊ฐ๋งˆ์ € ๋“ญ๋‹ˆ๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 12. Go์— ๋Œ€ํ•ด์„œ โ€ข ์–ธ์–ด ํŠน์„ฑ (์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด) ํ˜„์žฌ์˜ ๊ตฌ๊ธ€์ด ์•„๋‹ˆ๋ฉด ์ด๋Ÿฐ ํˆฌ์ž๋„ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ์ด๊ณ  ์ด๋ ‡๊ฒŒ ํ›Œ๋ฅญํ•œ ๊ฐœ๋ฐœ์ž๋ฅผ ํ•œ ๊ณณ์— ๋ชจ์œผ๊ธฐ๋„ ์‰ฝ์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์–ธ์–ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ง€์†๋˜๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋ถ„์•ผ์—์„œ ์–ผ๋งˆ๋‚˜ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š”์ง€์˜ ๊ด€์ ์œผ๋กœ ๋ดค์„ ๋•Œ, Go ์–ธ์–ด๋Š” ์ƒ๋‹นํžˆ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋„๋ฆฌ ํ™œ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 13. Go์— ๋Œ€ํ•ด์„œ โ€ข ์–ธ์–ด ํŠน์„ฑ (Concurrency, ๋™์‹œ์„ฑ) Go์–ธ์–ด๋Š” ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์—์„œ ๋กญ ํŒŒ์ดํฌ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•  ๋•Œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ, Go ์–ธ์–ด๋Š” ๋กญ ํŒŒ์ดํฌ๊ฐ€ 30๋…„ ์ด์ƒ ๋™์‹œ์„ฑ ๊ด€๋ จ ๋ถ„์•ผ์—์„œ ์—ฐ๊ตฌํ•œ ๊ฒฐ๊ณผ๋ผ๊ณ  ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Go ์–ธ์–ด ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ๋™์‹œ์„ฑ์„ ๊ณ ๋ คํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์–ธ์–ด๋ณด๋‹ค ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Go ์–ธ์–ด๊ฐ€ ์ง€์›ํ•˜๋Š” ์ฑ„๋„์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ด์œ ์—์„œ ๋™์‹œ๋‹ค๋ฐœ๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ Go ์–ธ์–ด๋ฅผ ํ™œ๋ฐœํžˆ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 15. Go์— ๋Œ€ํ•ด์„œ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com) Parse.com์€ 2011๋…„ Ruby๋กœ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ด ์„ฑ๊ณต์ ์œผ๋กœ ๋Ÿฐ์นญํ–ˆ๋‹ค. ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์ฝ”๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ฒ˜์Œ์œผ๋กœ ์ง๋ฉดํ•œ ๋ฌธ์ œ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•  ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 1๋…„ ๋ฐ˜์ด ์ง€๋‚œ 2012๋…„ ๋ง์—๋Š” ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ๋Š˜๋ฉด์„œ ์ฝ”๋“œ ๋ฐฐํฌ๋‚˜ ๋กค๋ฐฑ์— 20๋ถ„ ์ •๋„๊ฐ€ ์†Œ์š”๋˜์—ˆ๋‹ค. 20๋ถ„ ๋™์•ˆ API ์ฒ˜๋ฆฌ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ ค๊ณ  ๋ณต์žกํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ ๊ฐ™์€ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๋‹ค. ์ดํ›„๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ‰์ฆํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„ ๋Š˜๋ ค์•ผ ํ•˜๋Š” ์‹œ๊ธฐ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๋”๋Š” Ruby on rails๋กœ ์‚ฌ์šฉ์ž์˜ ์„œ๋ฒ„ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๋‹นํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 16. Go์— ๋Œ€ํ•ด์„œ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com) ๋น„๋™๊ธฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋Š” ๋ฐ ์˜๊ฒฌ์„ ๋ชจ์•˜๋‹ค. ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด ํ–ฅํ›„ 10๋ฐฐ ์ด์ƒ ์„œ๋ฒ„ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋”๋ผ๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์•ˆ์„ ์ฐพ๊ณ ์ž ํ–ˆ๊ณ , ๋‹ค์–‘ํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ์œ„ํ•ด ์„ ํƒ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ ์„ ์กฐ์‚ฌํ–ˆ๋‹ค. ๋จผ์ € ๋ฃจ๋น„์™€ ๊ด€๋ จ๋œ ๊ธฐ์ˆ ์ธ EventMachine, Jruby ๋“ฑ์„ ์กฐ์‚ฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฃจ๋น„ ์ž์ฒด๊ฐ€ ๋น„๋™๊ธฐ ๋ฐฉ์‹ ์ง€์›์— ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ  ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ์— ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ๋‹ค๋ฅธ ๋Œ€์•ˆ์œผ๋กœ ํŒ€ ๋‚ด์— C++ ๊ฒฝํ—˜์ด ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ์–ด C++๋„ ๊ณ ๋ คํ–ˆ์ง€๋งŒ, ๋””๋ฒ„๊น…์ด๋‚˜ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋‹ค. ๋‹ค์Œ์œผ๋กœ๋Š” C#์„ ๊ผฝ์•˜๋Š”๋ฐ, Async์™€ Await๋กœ ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๋Š” ์ตœ๊ณ ์˜ ํ›„๋ณด์ž๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ๋ˆ…์Šค์—์„œ C#์€ ์ ์ ˆํ•ด ๋ณด์ด์ง€ ์•Š์•˜๋‹ค. (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 17. Go์— ๋Œ€ํ•ด์„œ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ (Parse.com) ๋‹ค์Œ ํ›„๋ณด๊ฐ€ Go ์–ธ์–ด์˜€๋‹ค. ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๊ณ  Parse์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๊ฐ€ MongoDB์˜€๋Š”๋ฐ, ์—ฌ๊ธฐ์— ์‚ฌ์šฉํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ Go ์–ธ์–ด์—์„œ ์ด๋ฏธ ๋‚˜์™€ ์žˆ์—ˆ๊ณ  ๊ถํ•ฉ๋„ ์ž˜ ๋งž์•˜๋‹ค. ๋˜ํ•œ, goroutine์„ ์ด์šฉํ•ด ์Šค๋ ˆ๋“œ๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ๋ฆฌ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์‹ค์ œ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ๋Š” ๊ฐ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์‹œ 4KB ์ •๋„์˜ ๋žจ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋˜์–ด ๊ธฐ์กด๋ณด๋‹ค ํšจ์œจ์ ์ด์—ˆ๋‹ค. ์ด์ „์—๋Š” ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋‹น 250K ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ์œผ๋‚˜ Go ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜์„œ๋Š” 150๋งŒ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. Parse.com์˜ ๊ฒฝ์šฐ ๋ฃจ๋น„์—์„œ Go ์–ธ์–ด๋กœ ๊ฐˆ์•„ํƒ€๊ธฐ์— ์„ฑ๊ณตํ•œ ๊ฒƒ์„ ๋„˜์–ด ์„ฑ๋Šฅ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ๋“ฑ์—์„œ๋„ ํš๊ธฐ์ ์ธ ์„ฑ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ถœ์ฒ˜: http://goo.gl/suhhHJ (ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015)
  • 18. ๋ชฉ์ฐจ โ€ข ๊ด‘์ผ๊ณต๋ฐฉ โ€ข Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž โ€ข ์ฑ… ์†Œ๊ฐœ โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์ฃผ์˜์‚ฌํ•ญ
  • 19. ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ฑ… ์ œ๋ชฉ: ๋””์Šค์ปค๋ฒ„๋ฆฌ Go โ€ข ์ €์ž: ์—ผ์žฌํ˜„ โ€ข ์ถœ๊ฐ„: 2016๋…„ โ€ข ๊ฐ€๊ฒฉ โ€ข ์ •๊ฐ€ 22,000์› โ€ข 10%ํ• ์ธ๊ฐ€ 19,800์› โ€ข ์ „์ž์ฑ… 15,400์› โ€ข ๊ตฌ๊ธ€ eBook 13860์› https://goo.gl/L1RkMc
  • 21. ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž ์„œ์šธ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€์—์„œ ์ข‹์•„ํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ณต๋ถ€๋ฅผ ํ•˜์˜€๋‹ค. ํ•™๊ต ์กธ์—… ํ›„์—๋Š” 8๋…„ ์ •๋„ ๊ตฌ๊ธ€์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ๊ทผ๋ฌดํ•˜์˜€๋‹ค. ๊ด€ ์‹ฌ ๋ถ„์•ผ๋Š” ์ž๋™ํ™”์ธ๋ฐ, ๊ทธ์ค‘์—์„œ๋„ ์ปดํ“จํ„ฐ๋กœ ํ•˜๊ธฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ธ๊ฐ„ ์ง€ ๋Šฅ์˜ ์ž๋™ํ™”๋‹ค. ๋ฌด์—‡์ด๋“  ๋น„ํ‹€์–ด๋ณด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๊ณ  ์†Œ์‹œ๋ฏผ์  ์‚ถ์„ ์‚ด๋ฉด ์„œ ์ž‘์€ ๊ณ ์ •๊ด€๋…์„ ๊นจ๋ณด๋Š” ๊ฒƒ์ด ์ทจ๋ฏธ๋‹ค. ํ˜„์žฌ ๋ฏธ๊ตญ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๋งˆ์šดํ‹ด ๋ทฐ์— ๊ฑฐ์ฃผํ•œ๋‹ค.
  • 27. ๋ชฉ์ฐจ โ€ข ๊ด‘์ผ๊ณต๋ฐฉ โ€ข Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž โ€ข ์ฑ… ์†Œ๊ฐœ โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์ฃผ์˜์‚ฌํ•ญ
  • 28. ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์Šคํ„ฐ๋””๋Š” 6์›” ๋งˆ์ง€๋ง‰ ์ฃผ๋ถ€ํ„ฐ 6์ฃผ๋™์•ˆ ๋งค์ฃผ 1ํšŒ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. โ€ข ํ•œ ๋ฒˆ ๋ชจ์ž„์— ์•ฝ ๋‘์‹œ๊ฐ„ ์ •๋„ ์†Œ์š”๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. โ€ข 6๊ฐœ์˜ ์ฑ•ํ„ฐ๋ฅผ ๋Œ์•„๊ฐ€๋ฉด์„œ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. โ€ข ๋ฐœํ‘œ๋Š” ์ž์œ ๋กญ๊ฒŒ ํ•˜์‹œ๋˜, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. โ€ข ๋‚ด์šฉ ์š”์•ฝ โ€ข ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋Š๋‚€ ๊ฐ์ •(์˜ˆ: ํŠน์ดํ•˜๋‹ค, ์‹ ๊ธฐํ•˜๋‹ค, ์™œ ์ด๋”ฐ๊ตฌ๋กœ ๋งŒ๋“ค์—ˆ์„๊นŒ ๋“ฑ๋“ฑ) โ€ข ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด. ์ž์‹ ์˜ ์ฝ”๋“œ ์„ค๋ช…. โ€ข (+ ์ž˜ ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋‚˜ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๋Š” ๊ฒƒ๋“ค, ํ˜น์€ ํ† ์˜ํ•  ๋งŒํ•œ ์ฃผ์ œ) + Peer review?
  • 29. ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ 6์›” ๋งˆ์ง€๋ง‰ ์ฃผ (=7์›” ์ฒซ์งธ์ฃผ) 7์›” ๋‘˜์งธ์ฃผ 7์›” ์…‹์งธ์ฃผ 7์›” ๋„ท์งธ์ฃผ 7์›” ๋‹ค์„ฏ์งธ์ฃผ 8์›” ์ฒซ์งธ์ฃผ โ€ข ์ผ์ • โ€ป 1,2์žฅ์€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์Šคํ„ฐ๋””๋Š” 3์žฅ๋ถ€ํ„ฐ ํ•ฉ๋‹ˆ๋‹ค.
  • 30. ๋ชฉ์ฐจ โ€ข ๊ด‘์ผ๊ณต๋ฐฉ โ€ข Go์— ๋Œ€ํ•ด์„œ โ€ข Go์˜ ๊ฐœ๋ฐœ์ž โ€ข ์–ธ์–ด ํŠน์„ฑ โ€ข ํ™œ์šฉํ•˜๋Š” ๊ณณ โ€ข ์ฑ…์— ๋Œ€ํ•ด์„œ โ€ข ์ €์ž โ€ข ์ฑ… ์†Œ๊ฐœ โ€ข ์Šคํ„ฐ๋””์— ๋Œ€ํ•ด์„œ โ€ข ์ฃผ์˜์‚ฌํ•ญ
  • 31. ์ฃผ์˜์‚ฌํ•ญ โ€ข ์œ„ ์‚ฌํ•ญ๋“ค์„ ์ง€ํ‚ฌ ์ž์‹ ์ด ์—†์œผ์‹œ๋ฉด ์Šคํ„ฐ๋””์— ์ฐธ์—ฌํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋ถ„์œ„๊ธฐ๋ฅผ ํ๋ ค ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ํ”ผํ•ด๋ฅผ ์ฃผ๋Š” ์ผ์ด ์—†๋„๋ก ํ•ฉ์‹œ๋‹ค. โ€ข ์ œ๊ฒŒ ์Šคํ„ฐ๋””๋ผ๋Š” ๊ฒƒ์€ ๊ณต๋ถ€ํ•˜๊ณ ์ž ๋งˆ์Œ๋จน์€ ๊ฒƒ์„ ๋๊นŒ์ง€ ์™„์ˆ˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์žฅ์น˜์ž…๋‹ˆ๋‹ค. โ€ข ์Šคํ„ฐ๋””๋Š” ์ฐธ์„์ž ๋ชจ๋‘ ๊ท€ํ•œ ์‹œ๊ฐ„์„ ๋‚ด์„œ ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ž˜์™€ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 1. ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๊ฒƒ์„ ์–ป์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ตœ์„ ์„ ๋‹คํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ฐธ์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2. ๊ฒฐ์„์€ ๋ถˆํ—ˆํ•ฉ๋‹ˆ๋‹ค 3. ํ”ผ์น˜ ๋ชปํ•  ์‚ฌ์ •์œผ๋กœ ๋น ์ง€์‹œ๋˜, ๋‘ ๋ฒˆ์งธ ๊ฒฐ์„๋ถ€ํ„ฐ๋Š” ๊ณ„์† ๊ฒฐ์„ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • 32. Reference โ€ข (๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ) ํ•˜๋ฃป๋ฐค์— ์ฝ๋Š” Go ์–ธ์–ด ์ด์•ผ๊ธฐ, ์‹ ์ œ์šฉ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015 โ€ข ๋””์Šค์ปค๋ฒ„๋ฆฌ Go, ์—ผ์žฌํ˜„ ์ง€์Œ, ํ•œ๋น›๋ฏธ๋””์–ด,2016 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.