inflearn logo
inflearn logo

ๆœฌๅฝ“ใซ็ฐกๅ˜Go่จ€่ชžๅ…ฅ้–€

Go่จ€่ชžใซ่ˆˆๅ‘ณใŒใ‚ใ‚Œใฐใ€ไฝ•ใฎ่จ€่ชžใ‚‚็Ÿฅใ‚‰ใชใ„้ž้–‹็™บ่€…ใŒ่žใ„ใฆใ‚‚็†่งฃใงใใ‚‹ใ‚ˆใ†ใซไธ€ใคไธ€ใค่ฉณใ—ใๆ•™ใˆใฆใใ‚Œใพใ™ใ€‚ ใงใใ‚‹ใ ใ‘ๅคšใใฎไพ‹ใจ็ทด็ฟ’ใ‚’็››ใ‚Š่พผใ‚“ใ ่ฌ›็พฉใ‚’ๆง‹ๆˆใ—ใพใ—ใ‚‡ใ†ใ€‚

้›ฃๆ˜“ๅบฆ ๅ…ฅ้–€

ๅ—่ฌ›ๆœŸ้–“ ็„กๅˆถ้™

Go
Go
Go
Go

ๅญฆ็ฟ’ใ—ใŸๅ—่ฌ›่€…ใฎใƒฌใƒ“ใƒฅใƒผ

ๅญฆ็ฟ’ใ—ใŸๅ—่ฌ›่€…ใฎใƒฌใƒ“ใƒฅใƒผ

5.0

5.0

๊น€ํƒœํ˜•

100% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

่‰ฏใ„่ฌ›็พฉใ‚’ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

5.0

saechimdaeki

100% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

ๆฅฝใ—ใใ‚ˆใ่ฆ‹ใพใ—ใŸๅญฆ็”Ÿๆ™‚ไปฃใซ้ซ˜ๅ†ทๆ’ฎใฃใฆใฟใฆใ€็ด„4ๅนดใถใ‚Šใซใ‚ดใƒฉใƒณใ‚’่ฆ‹ใ‚‹ใฎใซ่ฆšใˆใฆใ„ใพใ›ใ‚“ใงใ—ใŸใŒใ€ๅŸบๆœฌๆ–‡ๆณ•ใ‚’ๅญฆใถใฎใซๅๅˆ†ใช่ฌ›็พฉใฎใ‚ˆใ†ใงใ™ใ€‚

5.0

junseo0501

100% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

ใ„ใ„ใญ๏ผ

ๅ—่ฌ›ๅพŒใซๅพ—ใ‚‰ใ‚Œใ‚‹ใ“ใจ

  • Go่จ€่ชžๅŸบ็คŽๆ–‡ๆณ•

  • Go่จ€่ชžๅŸบ็คŽๅฎŸ็ฟ’

GO่จ€่ชžใฏ้›ฃใ—ใ„ใงใ™ใ‹๏ผŸ
ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚‚ใงใใพใ™๏ผ ๐Ÿค—

GO่จ€่ชžใฎๆ–‡ๆณ•ใจไพ‹ใ‚’ไธ€ๅบฆใซ๐Ÿ“–

ๅฎŸๅ‹™ใ‚’้€šใ˜ใฆGO่จ€่ชžใ‚’ไฝฟใฃใฆใฟใ‚‹ใจใ€ๅพŒ่ผฉ้–‹็™บ่€…ใŸใกใŒGO่จ€่ชžใŒ้›ฃใ—ใ„ใจใ„ใ†ๅ…ˆๅ…ฅ่ฆณใ‚’ๆŒใฃใฆ้–‹ๅง‹ใ‚‚ใงใใชใ„ใ‹ใ€ไธญ้€”ๆ”พๆฃ„ใ™ใ‚‹ๅ ดๅˆใ‚’ใ‚ˆใ่ฆ‹ใพใ—ใŸใ€‚ใ“ใฎ็‚นใŒๆฎ‹ๅฟตใงใ€้–‹็™บใซใคใ„ใฆ็Ÿฅ่ญ˜ใŒไธ่ถณใ—ใฆใ„ใ‚‹ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใฎๆ–นใ€…ใ‚‚็†่งฃใงใใ‚‹่ฌ›็พฉใ‚’ไผ็”ปใ™ใ‚‹ใ“ใจใซใชใ‚Šใพใ—ใŸใ€‚

ใ“ใฎ่ฌ›็พฉใงใฏใ€GO่จ€่ชžใฎๅŸบๆœฌ็š„ใชๆ–‡ๆณ•ใจ็Ÿฅ่ญ˜ใ‚’ไพ‹ใจๅฎŸ่ทตใ‚’้€šใ—ใฆๅญฆใณใพใ™ใ€‚ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚‚็†่งฃใงใใ‚‹ใ‚ˆใ†ใซใ€้–ข้€ฃIT็Ÿฅ่ญ˜ใ‚„่ƒŒๆ™ฏ่ชฌๆ˜Žใ‚’ไธ€็ท’ใซใ™ใ‚‹ใชใฉใ€็ฐกๅ˜ใซ่งฃใ„ใฆ่ชฌๆ˜Žใ—ใพใ—ใŸใ€‚ใ•ใพใ–ใพใช็ทด็ฟ’ๅ•้กŒใจๅฎŸ็ฟ’ๅ•้กŒใ‚’ไธ€็ท’ใซ่งฃใใชใŒใ‚‰ๅญฆใ‚“ใ ๆ–‡ๆณ•ใ‚’็ขบๅฎŸใซ็ฟ’ๅพ—ใ™ใ‚‹ๆ™‚้–“ใ‚‚ๆŒใฃใฆใฟใ‚ˆใ†ใจๆ€ใ„ใพใ™ใ€‚

GO่จ€่ชžใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใจ
ๅ‘ณ่ฆ‹ใฎไพ‹

ๆง˜ใ€…ใช
GO่จ€่ชžๅฟ…้ ˆๆ–‡ๆณ•

ใ‚ณใƒณใ‚ปใƒ—ใƒˆใซๅŸบใฅใ
GOๅฎŸ่ทตไพ‹


ใชใœGO่จ€่ชžใงใ™ใ‹๏ผŸ ๐Ÿ˜ฏ

GO่จ€่ชžใฏใ€C++ใฎ่ค‡้›‘ใ•ใ‚’่ฃœใ†ใŸใ‚ใซ่จญ่จˆใ•ใ‚ŒใŸ่จ€่ชžใงใ€GoogleใŒ้–‹็™บใ—็ฎก็†ใ™ใ‚‹ใ‚ชใƒผใƒ—ใƒณใ‚ฝใƒผใ‚น่จ€่ชžใงใ™ใ€‚ใ‚ญใƒผใƒฏใƒผใƒ‰ใŒ25ๅ€‹ใงๆ–‡ๆณ•ใŒ็ฐกๆฝ”ใงๅ…ฅ้–€ใ—ใ‚„ใ™ใ„ๆ–นใซๅฑžใ™ใ‚‹่จ€่ชžใงใ™ใ€‚ๅŒๆ™‚ๆ€ง๏ผˆConcurrency๏ผ‰ใจๅผทๅŠ›ใชใƒฉใ‚คใƒ–ใƒฉใƒชใพใง็ต„ใฟ่พผใพใ‚Œใฆใ„ใพใ™ใ€‚

ไธŠใฎ็”ปๅƒใฏใ€GitHibใฎPull RequsetใซๅŸบใฅใ„ใŸใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใฎใƒฉใƒณใ‚ญใƒณใ‚ฐใงใ™๏ผˆ2022ๅนด็ฌฌ3ๅ››ๅŠๆœŸใƒ™ใƒผใ‚น๏ผ‰ใ€‚ GO่จ€่ชžใŒ4ไฝใงใ‚ใ‚‹ใ“ใจใŒ็ขบ่ชใงใใพใ™ใ€‚ไบบๆฐ—ๅบฆใจๆญฃ็ขบใซๆฏ”ไพ‹ใ™ใ‚‹ใจใฏๆ€ใˆใพใ›ใ‚“ใŒใ€็พๅœจGO่จ€่ชžใŒๆดป็™บใซไฝฟ็”จใ•ใ‚Œใฆใ„ใ‚‹ใ“ใจใŒใ‚ใ‹ใ‚Šใพใ™ใ€‚


ไบˆๆƒณใ•ใ‚Œใ‚‹่ณชๅ• Q&A ๐Ÿ’ฌ

Q.ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚‚่žใ‘ใ‚‹่ฌ›็พฉใงใ™ใ‹๏ผŸ

ใฏใ„ใ€้–‹็™บใซใคใ„ใฆใ‚ˆใ็Ÿฅใ‚‰ใชใ„ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚‚่žใใ“ใจใŒใงใใ‚‹ใ‚ˆใ†ใซใ€ใงใใ‚‹ใ ใ‘่ฉณใ—ใ่ฌ›็พฉใ—ใพใ—ใŸใ€‚

Q.ใชใœGo่จ€่ชžใ‚’ๅญฆใถในใใงใ™ใ‹๏ผŸ

Go่จ€่ชžใฏ่ปฝใใฆ้ซ˜้€Ÿใงใ™ใ€‚่ปฝใใฆ้€Ÿใๅ‹•ไฝœใ™ใ‚‹ใ‚ˆใ†ใซ้–‹็™บใ•ใ‚ŒใŸ่จ€่ชžใ ใ‹ใ‚‰ใงใ™ใ€‚ใใ‚Œใงใ€้–‹็™บ่€…ใŒไปŠๅพŒๅญฆใณใŸใ„่จ€่ชžใงใ™ใ€‚ใกใชใฟใซ2020ๅนดStack Overflowใ‚ขใƒณใ‚ฑใƒผใƒˆ่ชฟๆŸปใฎ็ตๆžœใ€ๆœ€ใ‚‚ๆ„›ใ™ใ‚‹่จ€่ชž5ไฝใ€ๅญฆใณใŸใ„่จ€่ชž3ไฝใซไธŠใŒใ‚Šใพใ—ใŸใ€‚

Q.ๆŽˆๆฅญๅ†…ๅฎนใ‚’ใฉใฎใƒฌใƒ™ใƒซใพใงๆ‰ฑใ„ใพใ™ใ‹๏ผŸ

ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚‚็†่งฃใงใใ‚‹ใ‚ˆใ†ใซITๅŸบ็คŽ็Ÿฅ่ญ˜ใ‚‚่ชฌๆ˜Žใ—ใชใŒใ‚‰ใ€ใงใใ‚‹ใ ใ‘่ฉณใ—ใ่ชฌๆ˜Žใ•ใ›ใฆใ„ใŸใ ใใพใ™ใ€‚ใใ‚Œใงใ‚‚ๅˆ†ใ‹ใ‚‰ใชใ„้ƒจๅˆ†ใฏไปŠๅพŒ่ณชๅ•ใ—ใฆ้ ‚ใ‘ใ‚Œใฐ่ช ๅฎŸใซๅ›ž็ญ”ใ„ใŸใ—ใพใ™ใ€‚


็Ÿฅ่ญ˜ๅ…ฑๆœ‰่€…ใฎ็ดนไป‹โœ’๏ธ

ๅฑฅๆญด

ๆ–ฐใ—ใ„ๆŠ€่ก“ใ‚’ๅ‹‰ๅผทใ—ใฆๅฎŸ้š›ใซไฝฟใ†ใฎใŒๅฅฝใใช้–‹็™บ่€…ใƒ–ใƒซใƒผใƒ ใƒ•ใ‚ฃใƒซใ‚ฟใƒผใฎใ‚ญใƒ ใƒปใ‚ธใƒณใƒจใƒณใงใ™ใ€‚ 20ๅนด่ฟ‘ใใ‚คใƒณใ‚ฟใƒผใƒใƒƒใƒˆๅบƒๅ‘Šไผš็คพใซๅ‹คๅ‹™ใ—ใ€็พๅœจใฏใƒ•ใƒชใƒผใƒฉใƒณใ‚นใฎ้–‹็™บ่€…ใจใ—ใฆๆดปๅ‹•ใ—ใฆใ„ใพใ™ใ€‚


ใ“ใ‚“ใชๆ–นใซ
ใŠใ™ใ™ใ‚ใงใ™

ๅญฆ็ฟ’ๅฏพ่ฑกใฏ
่ชฐใงใ—ใ‚‡ใ†๏ผŸ

  • ๅˆๅฟƒ่€…ใƒ—ใƒญใ‚ฐใƒฉใƒžใƒผ

  • Go่จ€่ชžใซ่ˆˆๅ‘ณใŒใ‚ใ‚‹ๆ–น

ใ“ใ‚“ใซใกใฏ
bloomfilterใงใ™ใ€‚

219

ๅ—่ฌ›็”Ÿ

11

ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ

3

ๅ›ž็ญ”

5.0

่ฌ›ๅบง่ฉ•ไพก

2

่ฌ›ๅบง

็พ๏ผ‰ใƒ–ใƒซใƒผใƒ ใƒ•ใ‚ฃใƒซใ‚ฟใƒผไปฃ่กจ

ๅ…ƒ๏ผ‰ใ‚คใƒณใ‚ฟใƒผใƒใƒƒใƒˆๅบƒๅ‘Šใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ไผๆฅญใซ20ๅนดไฝ™ใ‚Šๅ‹คๅ‹™

ใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ 

ๅ…จไฝ“

17ไปถ โˆ™ (4ๆ™‚้–“ 21ๅˆ†)

่ฌ›ๅบงๆŽฒ่ผ‰ๆ—ฅ: 
ๆœ€็ต‚ๆ›ดๆ–ฐๆ—ฅ: 

ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ

ๅ…จไฝ“

7ไปถ

5.0

7ไปถใฎๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ

  • hanmuson18725๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    hanmuson18725

    ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ 31

    โˆ™

    ๅนณๅ‡่ฉ•ไพก 5.0

    5

    35% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

    • dwk๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      dwk

      ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ 3

      โˆ™

      ๅนณๅ‡่ฉ•ไพก 5.0

      5

      65% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

      • hamlet๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        hamlet

        ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ 3

        โˆ™

        ๅนณๅ‡่ฉ•ไพก 5.0

        5

        65% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

        • sagace6675๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          sagace6675

          ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ 8

          โˆ™

          ๅนณๅ‡่ฉ•ไพก 5.0

          5

          35% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

          • diddu91891342๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            diddu91891342

            ๅ—่ฌ›ใƒฌใƒ“ใƒฅใƒผ 2

            โˆ™

            ๅนณๅ‡่ฉ•ไพก 5.0

            5

            100% ๅ—่ฌ›ๅพŒใซไฝœๆˆ

            ่‰ฏใ„่ฌ›็พฉใ‚’ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

            ไผผใฆใ„ใ‚‹่ฌ›ๅบง

            ๅŒใ˜ๅˆ†้‡Žใฎไป–ใฎ่ฌ›ๅบงใ‚’่ฆ‹ใฆใฟใพใ—ใ‚‡ใ†๏ผ

            ๏ฟฅ5,402