Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

Alexey Naidenov αž“αžΆαž™αž€αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· ITooLabsαž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαž‚αž˜αž“αžΆαž‚αž˜αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž‘αžΌαžšαž‚αž˜αž“αžΆαž‚αž˜αž“αŸαž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Go (Golang)αŸ” Alexey αž€αŸαž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž‘αžΌαžšαž‚αž˜αž“αžΆαž‚αž˜αž“αŸαžŠαŸαž’αŸ†αž”αŸ†αž•αž»αžαž˜αž½αž™αž“αŸ…αž’αžΆαžŸαŸŠαžΈ αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž•αŸ’αž‰αžΎαžŸαžΆαžšαž‡αžΆαžŸαŸ†αž‘αŸαž„ (VoiceMail) αž“αž·αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Virtual PBX (Cloud PBX)αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

Alexey Naydenov (αžαž‘αŸ…αž“αŸαŸ‡ - AN)αŸ– - αžŸαž½αžŸαŸ’αžαžΈβ€‹αž’αŸ’αž“αž€β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆ! αžαŸ’αž‰αž»αŸ†αžˆαŸ’αž˜αŸ„αŸ‡ Alexey Naidenov αŸ” αžαŸ’αž‰αž»αŸ†αž‡αžΆαž“αžΆαž™αž€ ITooLabs αŸ” αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž†αŸ’αž›αžΎαž™αžαžΆ αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž‘αžΈαž•αŸ’αžŸαžΆαžš Bitrix24 (αž•αŸ’αž“αŸ‚αž€ "Telephony") αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ 14 αž“αž·αž„ 36 αžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ (40%) αž‚αžΊαž‡αžΆαž–αž½αž€αž™αžΎαž„αŸ–

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŠαŸƒαž‚αžΌαžšαž”αžŸαŸ‹αž™αžΎαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„ (αžœαŸαž‘αž·αž€αžΆαž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜) - αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž›αž€αŸ‹αž±αŸ’αž™αž–αž½αž€αž‚αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž½αž™αž€αžΆαž€αŸ‹αžαžΌαž…αž˜αž½αž™αŸ” αžαžΆαž˜αž–αž·αžαžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸƒαžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž˜αž€ Go αŸ”

αž›αŸαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αžΊαŸ–

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŠαŸƒαž‚αžΌαž…αŸ†αž“αž½αž“ 44 αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ MegaFon αŸ” αž“αž·αž™αžΆαž™αž‡αžΆαž‘αžΌαž‘αŸ… αž™αžΎαž„αž…αžΌαž›αž…αž·αžαŸ’αžαžŠαŸ†αžŽαžΎαžšαž•αŸ’αžŸαž„αž–αŸ’αžšαŸαž„ αž αžΎαž™αž™αžΎαž„αž–αž·αžαž‡αžΆαž˜αžΆαž“αž’αžαž·αžαž·αž‡αž“ 100 αž›αžΆαž“αž“αžΆαž€αŸ‹αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž…αŸ†αž“αž½αž“ 44 αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž‘αŸαžŸαžšαž»αžŸαŸ’αžŸαŸŠαžΈαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž˜αžΆαž“αž‚αŸ†αž“αž·αžαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžαŸ’αž›αŸ‡ αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžαžΆαž”αŸ‹αž–αž½αž€αž‚αŸαŸ”

  • αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ 5000 αŸ”
  • αž’αŸ’αž“αž€αž‡αžΆαžœαžŸαžšαž»αž” 20 αŸ” αžœαžΆαž‡αžΆ b000b αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ - αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ‚αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  • 300 αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž€αŸ’αž“αž»αž„αž˜αž½αž™αž“αžΆαž‘αžΈαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžαŸ’αž„αŸƒαŸ”
  • 100 αž›αžΆαž“αž“αžΆαž‘αžΈαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž€αžΆαž›αž–αžΈαž†αŸ’αž“αžΆαŸ†αž˜αž»αž“ (αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΆαžšαž–αŸ’αž’) αŸ” αž“αŸαŸ‡αž‚αžΊαžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž€αžΆαžšαž…αžšαž…αžΆαž•αŸ’αž‘αŸƒαž€αŸ’αž“αž»αž„αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸαŸ”

αžαžΎαžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ?

αžαžΎβ€‹αž˜αž“αž»αžŸαŸ’αžŸβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœβ€‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžœαŸαž‘αž·αž€αžΆβ€‹αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”αžŽαžΆ? αžœαžΆαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž™αž€αž‘αŸ…αž–αž·αž…αžΆαžšαžŽαžΆαž•αž„αžŠαŸ‚αžšαžαžΆ αž™αžΎαž„αž˜αžΆαž“αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ "αžŸαž αž‚αŸ’αžšαžΆαžŸαžšαžΉαž„" αž αžΎαž™αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž“αŸ…αž–αŸαž›αžœαŸαž›αžΆαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ†αž•αž»αžαž“αŸƒαž†αŸ’αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž αž‚αŸ’αžšαžΆαžŸ! αžœαžΆβ€‹αž‡αžΆβ€‹αž–αŸαž›β€‹αžœαŸαž›αžΆβ€‹αžŠαŸβ€‹αžšαžΈαž€αžšαžΆαž™ αž–αŸαž›β€‹αž’αŸ’αž“αž€β€‹αž˜αž€β€‹αžšαž€β€‹αž’αžαž·αžαž·αž‡αž“ αž αžΎαž™β€‹αž“αž·αž™αžΆαž™β€‹αžαžΆβ€‹αŸ– "αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž˜αŸβ€‹αž–αžΈαžšβ€‹αž”αžΈβ€‹αž‘αŸ€αž"αŸ” αž αžΎαž™αž’αžαž·αžαž·αž‡αž“αŸ– β€œαž”αžΆαž‘ αž˜αž·αž“αž”αžΆαž…αŸ‹αžŸαž½αžšαž‘αŸ! αž™αžΎαž„αž˜αžΆαž“αžŠαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ rack αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž’αŸ’αžœαžΎ Oracle, Java, WebSphere, Db2 αž“αž·αž„αž’αŸ’αžœαžΈαŸ—αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž–αž·αžαžŽαžΆαžŸαŸ‹ αž™αžΎαž„αž”αžΆαž“αž™αž€αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž›αž€αŸ‹αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αž αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž–αž½αž€αžœαžΆ αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αž™αž€αžœαžΆαž…αŸαž‰αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αž›αŸαž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αžœαžΆαž“αžΉαž„αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž•αŸ’αž‘αŸƒαž€αŸ’αž“αž»αž„αž”αŸ‚αž”αž“αŸαŸ‡αŸ”

αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 2009 αŸ” αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2006 αž˜αž€ αž™αžΎαž„αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž™αŸ‰αžΆαž„αž‡αž·αžαžŸαŸ’αž“αž·αž‘αŸ’αž’αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš αž˜αž·αž“αžαžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž˜αž½αž™ αž¬αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž PBXs αž“αž·αž˜αŸ’αž˜αž·αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž˜αž½αž™αž…αŸ†αž“αž½αž“ (αžŠαžΌαž…αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αžαžΆαž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰)αŸ– αž™αžΎαž„αž”αžΆαž“αž˜αžΎαž› αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαžœαžΆαž›αŸ’αž’ αž αžΎαž™αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαžΆαž„αž€αŸ’αž“αž»αž„αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž™αž€ VMWare αŸ” αž…αžΆαž”αŸ‹β€‹αžαžΆαŸ†αž„β€‹αž–αžΈβ€‹αž™αžΎαž„β€‹αž€αŸ†αž–αž»αž„β€‹αžαŸ‚β€‹αžŠαžΎαžšβ€‹αžŠαŸ„αž™β€‹αžαŸ’αž›αž½αž“β€‹αž™αžΎαž„β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αž”αŸ„αŸ‡β€‹αž”αž„αŸ‹β€‹αž—αŸ’αž›αžΆαž˜β€‹αŸ—β€‹αž’αŸ’αž“αž€β€‹αž›αž€αŸ‹β€‹αžŠαŸβ€‹αžαŸ’αžšαž‡αžΆαž€αŸ‹β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž•αŸ’αž‘αž»αž€β€‹αŸ” αž™αžΎαž„αžŠαžΉαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸαŸ– αž€αžΆαžšαžŸαž“αŸ’αž™αžΆαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™ 3 αž αžΎαž™αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αž»αžŽαž“αžΉαž„ 10 αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎ DirDB αž‡αžΆαžŠαžΎαž˜αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž›αžΌαžαž›αžΆαžŸαŸ‹αŸ” αžŸαŸαžœαžΆβ€‹αž…αŸαž‰β€‹αžœαž·αž€αŸ’αž€αž™αž”αžαŸ’αžšβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž‘αŸ…β€‹αž“αŸαŸ‡ αž–αŸ’αžšαŸ„αŸ‡β€‹αžœαŸαž‘αž·αž€αžΆβ€‹αž“αŸαŸ‡β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αž”αžΆαž“β€‹αž‘αŸ€αžβ€‹αž‘αŸαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αŸαž‰αžœαž·αž€αŸ’αž€αž™αž”αžαŸ’αžšαž–αžΈ MySQL αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž˜αŸ‰αž»αž„αž αŸ’αž‚αŸ„αŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž‘αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ–

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„ αž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž›αž€αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαž€αŸ†αž–αž»αž„αžœαž·αž› - αž“αž»αž™αž€αŸ’αž›αŸαž’αŸŠαŸ‚αžšαžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αž›αžΆαž”αŸ‹αž™αž€αŸ” αž”αŸ’αžšαž αŸ‚αž›αž“αŸ…αž…αž»αž„αž†αŸ’αž“αžΆαŸ† 2011 αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αž–αžΈαžαŸ’αž›αž½αž“αž™αžΎαž„αžαžΆ αž§αž”αžŸαž‚αŸ’αž‚αž…αž˜αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„ αž–αž·αžαžŽαžΆαžŸαŸ‹αž“αžΉαž„αž‡αžΆαž•αž›αž·αžαž•αž›αž–αž·αžŸαŸαžŸαž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αžšαžαŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαŸ” αž™αžΎαž„αžƒαžΎαž‰αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž˜αž½αž™αž“αŸ…αž–αžΈαž˜αž»αžαž™αžΎαž„ αžŠαŸ‚αž›αž™αžΎαž„αžšαžαŸ‹αž–αŸαž‰αž•αŸ’αž›αžΌαžœ αžαžŽαŸˆαžŠαŸ‚αž›αž’αžαž·αžαž·αž‡αž“αžŠαžΎαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ”
αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž‡αžΆαž…αŸ’αžšαžΎαž“αž›αžΎαž•αž›αž·αžαž•αž›αž•αŸ’αžŸαŸαž„αŸ— αž‘αžΆαŸ†αž„αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž  αž“αž·αž„αž’αŸ’αž“αž€αž›αž€αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αžšαžŸαŸ‹αž“αŸ…αž›αžΎαžšαžΏαž„αž“αŸαŸ‡αž‘αŸαž₯αž‘αžΌαžœαž“αŸαŸ‡ - αž“αŸ„αŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž…αŸ†αžŽαž»αž…αž‘αŸαŸ” αž€αžΆαžšαž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž™αžΎαž„αž‚αž·αžαž’αŸ†αž–αžΈαž‚αžΊαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžœαŸαž‘αž·αž€αžΆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž‘αžΈαž”αŸ†αž•αž»αž αž™αžΎαž„αž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸαŸ‡αŸ” αž αŸαžαž»αž’αŸ’αžœαžΈ? αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž’αŸ’αž“αž€αž›αž€αŸ‹ αž“αž·αž„αž•αž›αž·αžαž•αž›αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž€αžΆαž›αž–αžΈ 10 αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“αŸ” αž’αž‰αŸ’αž…αžΉαž„αž”αžΎαž€αŸ’αž˜αŸαž„αž’αžΆαž™αž»αŸ‘αŸ αž†αŸ’αž“αžΆαŸ† αž αžΎαž™αžαŸ’αž›αŸ‡αž‘αŸ€αž! αž‡αž˜αŸ’αžšαžΎαžŸαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αŸ– αž‘αžΆαŸ†αž„αž™αžΎαž„αž“αž·αž™αžΆαž™αž›αžΆαž…αŸ†αž–αŸ„αŸ‡αž‚αŸ†αž“αž·αžαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž’αŸ†αž–αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸαž›αŸ’αž’αž˜αž½αž™ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸƒαž‚αžΌαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš αž“αž·αž„αžαŸ’αž›αž½αž“αž™αžΎαž„) αž¬αž™αžΎαž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ”

αž–αž½αž€αž™αžΎαž„αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αŸ’αž›αŸ‚αž€!

αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžœαŸαž‘αž·αž€αžΆ

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αžšαž™αŸˆαž–αŸαž›αž™αžΌαžš (αž’αŸ’αž“αž€αž€αŸαž„αž”αŸ’αžšαžœαŸαž‰αŸ’αž…αž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαž‘αŸƒ) αž“αŸ„αŸ‡αž‚αŸ†αž“αž·αžαž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αž”αžΆαž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ– αžαžΎαžαŸ’αž‰αž»αŸ†αž’αŸ’αžœαžΎαž™αŸ‰αžΆαž„αž˜αŸ‰αŸαž…αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„? αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆαž‡αžΆαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ (αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž’αŸ’αž“αž€αž›αž€αŸ‹ αž‚αŸ’αž˜αžΆαž“αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ) αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž‡αžΆαž™αžΌαžšαžŽαžΆαžŸαŸ‹αž˜αž€αž αžΎαž™ αž αžΎαž™αž–αž½αž€αž‚αŸαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αŸ–

  1. αž›αŸ’αž”αžΏαž“αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž–αžŸαŸ‹αŸ” αž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž›αž€αŸ‹αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αžΆαžšαž»αžŽαž€αž˜αŸ’αž˜αž™αžΎαž„αž˜αž·αž“αžŸαž˜αž“αžΉαž„αž™αžΎαž„αžαžΆαŸ†αž„αž–αžΈαžŠαŸ†αž”αžΌαž„αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž™αžΌαžšαž“αž·αž„αž™αžΊαžαŸ” αž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“αž›αžΏαž“ - αž™αžΎαž„αž˜αžΆαž“αž‚αŸ†αž“αž·αžαž‡αžΆαž…αŸ’αžšαžΎαž“! αž™αžΎαž„β€‹αž“αŸ…β€‹αž˜αžΆαž“β€‹αž‚αŸ†αž“αž·αžβ€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž”αž‰αŸ’αž‡αžΈβ€‹αž“αŸƒβ€‹αž‚αŸ†αž“αž·αžβ€‹αž‚αžΊβ€‹αžŠαžΌαž…β€‹αž‡αžΆβ€‹αžœαžΆβ€‹αž αžΆαž€αŸ‹β€‹αžŠαžΌαž…β€‹αž‡αžΆβ€‹αžŠαž”αŸ‹β€‹αž†αŸ’αž“αžΆαŸ†β€‹αžαžΆαž„β€‹αž˜αž»αžαŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  2. αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž‡αžΆαžαž·αžŠαŸ‚αž€αž–αž αž»αžŸαŸ’αž“αžΌαž›αŸ” αž“αŸαŸ‡αž€αŸαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αžŠαŸ‚αžš αž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž˜αžΆαž“αžαŸ‚αžŸαŸ’αž“αžΌαž›αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„αŸ—αŸ”
  3. αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹αžαŸ’αž–αžŸαŸ‹αŸ” αž’αŸ’αž“αž€β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž™αŸ†β€‹αžŠαŸ‚αžšαŸ”
  4. αž€αžΆαžšαž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹αž€αŸ†αž αž»αžŸαžαŸ’αž–αžŸαŸ‹αŸ”
  5. αž™αžΎαž„αž…αž„αŸ‹αž”αž‰αŸ’αž…αž”αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‡αž˜αŸ’αžšαžΎαžŸαž—αžΆαžŸαžΆαŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž–αžΈαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž·αžαž•αž›αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž›αž½αž“αž™αžΎαž„ αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆαžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαž‘αžΌαž‡αžΈαžαž›αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αŸ”

  1. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αž αž»αžŸαŸ’αž“αžΌαž› αž“αŸ„αŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαŸ”
  2. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž—αžΆαžŸαžΆαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž˜αž·αž“αž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸ„αŸ‡αžœαžΆαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹:
    • αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž‚αžΊαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αžŸαŸ‚αž–αžΈαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαžŸαŸ’αž“αžΌαž›αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”
    • αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ αž‡αžΆαž–αž·αžŸαŸαžŸαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαž‚αžΊαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž—αžΆαžŸαžΆ (αž¬αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αŸ’αžœαžΈαž€αŸαžŠαŸ„αž™) αž‡αž½αž™αž›αžΆαž€αŸ‹αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž˜αž€αž–αžΈαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαŸ”
  3. αžŸαŸ’αžαŸαžšαž—αžΆαž–αžαŸ’αž–αžŸαŸ‹αŸ” αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αž„αŸ’αž€αŸ„αž˜ αž αžΎαž™αžœαžΆαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž“αŸ…αž›αžΎαž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž›αž€αŸ‹αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž™αžΎαž„αž–αž·αžαž‡αžΆαž˜αž·αž“αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž…αŸ’αžšαžΎαž“αž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αŸ” αž‘αžΈαž˜αž½αž™ Erlang - αž™αžΎαž„αžŸαŸ’αžšαž›αžΆαž‰αŸ‹αžœαžΆ αž αžΎαž™αžŠαžΉαž„αžαžΆαžœαžΆαž‡αžΆαž…αŸ†αžŽαžΌαž›αž…αž·αžαŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž‘αžΈαž–αžΈαžš Java αž˜αž·αž“αž˜αŸ‚αž“ Java αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž–αž·αžŸαŸαžŸαž‚αžΊ ScalaαŸ” αž‘αžΈαž”αžΈ αž—αžΆαžŸαžΆαžŠαŸ‚αž›αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡αž™αžΎαž„αž˜αž·αž“αžŠαžΉαž„αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡ - αž‘αŸ…αŸ” αžœαžΆαž‘αžΎαž”αžαŸ‚αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡ αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αžœαžΆαž˜αžΆαž“αž’αžΆαž™αž»αž€αžΆαž›αž”αŸ’αžšαž αŸ‚αž›αž–αžΈαžšαž†αŸ’αž“αžΆαŸ†αž αžΎαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž‘αžΆαž“αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸ…αž‘αžΎαž™αž‘αŸαŸ”

αž…αžΆαž‰αŸ‹αž αžΎαž™!

αž”αŸ’αžšαžœαžαŸ’αžαž·αžšαž”αžŸαŸ‹ Go

αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžœαŸαž‘αž·αž€αžΆαž˜αž½αž™αž“αŸ…αž›αžΎαžœαžΆαŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž–αž“αŸ’αž™αž›αŸ‹αž–αžΈαž˜αžΌαž›αž αŸαžαž»αŸ”

αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαž„αŸ’αžαŸαž”αž“αŸƒ Go αŸ” αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2007 αž”αžΎαž€αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2009 αž€αŸ†αžŽαŸ‚αžŠαŸ†αž”αžΌαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2012 (αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αž»αž“αž–αŸαž›αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž›αžΎαž€αžŠαŸ†αž”αžΌαž„) αŸ” αž’αŸ’αž“αž€αž•αŸ’αžαž½αž…αž•αŸ’αžαžΎαž˜αž‚αŸ†αž“αž·αžαž‚αžΊ Google αžŠαŸ‚αž›αž…αž„αŸ‹αž‡αŸ†αž“αž½αžŸαžŠαžΌαž…αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžŸαŸαž™ Java αŸ”

αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž›αŸ’αž”αžΈαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αŸ–

  • Ken Thomson αžŠαŸ‚αž›αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™ Unix αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž UTF-8 αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’ Plan 9 αŸ”
  • Rob Pike αžŠαŸ‚αž›αž”αžΆαž“αžšαž…αž“αžΆ UTF-8 αž‡αžΆαž˜αž½αž™ Ken αž€αŸαž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž›αžΎ Plan 9, Inferno, Limbo αž“αŸ… Bell Labs;
  • Robert Gizmer αžŠαŸ‚αž›αž™αžΎαž„αžŸαŸ’αž‚αžΆαž›αŸ‹ αž“αž·αž„αžŸαŸ’αžšαž›αžΆαž‰αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž Java HotSpot Compiler αž“αž·αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ V8 (αž’αŸ’αž“αž€αž”αž€αž”αŸ’αžšαŸ‚ Javascript αžšαž”αžŸαŸ‹ Google);
  • αž“αž·αž„αž’αŸ’αž“αž€αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αž‡αžΆαž„ 700 αž“αžΆαž€αŸ‹ αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αŸ†αžŽαŸ‡αžαŸ’αž›αŸ‡αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž˜αžΎαž›αž˜αž½αž™αž—αŸ’αž›αŸ‚αž

αž™αžΎαž„β€‹αžƒαžΎαž‰β€‹αžαžΆβ€‹αž—αžΆαžŸαžΆβ€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αžŸαžΆαž˜αž‰αŸ’αž‰β€‹αž¬β€‹αžαž·αž…β€‹αž αžΎαž™β€‹αž’αžΆαž…β€‹αž™αž›αŸ‹β€‹αž”αžΆαž“αŸ” αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ– αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈβ€‹αžαŸ’αž›αŸ‡β€‹αž–αž½αž€αž‚αŸβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αŸ’αžšαž€αžΆαžŸ αž αžΎαž™β€‹αžαŸ’αž›αŸ‡αž‘αŸ€αžβ€‹αž–αž½αž€αž‚αŸβ€‹αž˜αž·αž“β€‹αž’αŸ’αžœαžΎ (αž˜αžΆαž“αž“αŸαž™αžαžΆβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹αžαŸ’αžšαžΌαžœαž”αžΆαž“β€‹αžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“β€‹αž™αŸ‰αžΆαž„β€‹αžŽαžΆβ€‹αž€αŸαžŠαŸ„αž™)αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαžœαžΆαž‡αžΆαž˜αŸ‰αžΌαžαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž‚αŸ†αž“αž·αžαž“αŸƒαž‘αŸ’αžšαž“αž·αž…αž˜αž½αž™ (αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžŸαž‰αŸ’αž‰αžΆαž•αŸ’αž€αžΆαž™αž‚αžΊ) αŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαž€αžΆαžŸαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαž’αžΆαžšαŸαž“αž·αž„αž’αžΆαžšαŸαž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αŸ”

αž’αžΆαž…αž™αž›αŸ‹αž”αžΆαž“ - αž’αŸ’αž“αž€αž’αžΆαž…αžšαžŸαŸ‹αž“αŸ…αž”αžΆαž“αŸ” αž–αŸ’αž™αžΆαž™αžΆαž˜αžŸαžšαžŸαŸαžš Hello, world:

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αžαžΎαž™αžΎαž„αžƒαžΎαž‰αž’αŸ’αžœαžΈ? αž“αŸαŸ‡αž‡αžΆαžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ C-like, semicolon αž‚αžΊαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ” αžœαžΆβ€‹αž’αžΆαž…β€‹αž‡αžΆβ€‹αžŸαž‰αŸ’αž‰αžΆβ€‹αž”αŸ†αž”αŸ‚αž€β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αž–αžΈαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž›αž»αŸ‡αžαŸ’αžšαžΆβ€‹αžαŸ‚β€‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αžŸαŸ†αžŽαž„αŸ‹β€‹αž–αžΈαžšβ€‹αžŠαŸ‚αž›β€‹αžŸαŸ’αžαž·αžβ€‹αž“αŸ…β€‹αž›αžΎβ€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αžαŸ‚β€‹αž˜αž½αž™β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž™αžΎαž„αžƒαžΎαž‰αžαžΆαžαž„αŸ’αž€αŸ€αž”αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžαŸ’αžαž»αž”αž‰αŸ’αž‡αžΆ (αž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΈ 14) αž‚αžΊαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αž„αŸ’αž€αžΆαž‰αŸ‹αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαŸ” αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž€αžΆαžšαžœαžΆαž™αž’αž€αŸ’αžŸαžšαž‚αžΊαž‹αž·αžαž·αžœαž“αŸ’αžαŸ” Tim αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡αž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‡αžΆαž„ Hello, world αž’αž˜αŸ’αž˜αžαžΆαž”αž“αŸ’αžαž·αž… - αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž„αŸ’αž αžΆαž‰αžαžΆαž˜αžΆαž“αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αŸ”

αžαžΎβ€‹αž™αžΎαž„β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸ€αžβ€‹αžŠαŸ‚αž›β€‹αžŸαŸ†αžαžΆαž“αŸ‹? αž›αŸαžαž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž‡αžΆαž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαž€αž‰αŸ’αž…αž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž“αžΆαŸ†αž…αžΌαž›αžœαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αžΆαŸ†αž…αžΌαž› - αž“αŸαŸ‡αž€αŸαžŸαŸ†αžαžΆαž“αŸ‹αž•αž„αžŠαŸ‚αžšαŸ” αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ - αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž’αžŸαŸ’αž…αžΆαžšαŸ’αž™!

αžαŸ„αŸ‡αžŸαžΆαž€αž›αŸ’αž”αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‡αžΆαž„αž“αŸαŸ‡αŸ– αžŸαž½αžŸαŸ’αžαžΈ αž–αž·αž—αž–αž›αŸ„αž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ http αŸ” αžαžΎαž™αžΎαž„αžƒαžΎαž‰αž’αŸ’αžœαžΈαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αŸ…αž‘αžΈαž“αŸαŸ‡?

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž‘αžΈαž˜αž½αž™αž˜αž»αžαž„αžΆαžšαžŠαžΎαžšαžαž½αž‡αžΆαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž‚αžΊαž‡αžΆ "αž–αž›αžšαžŠαŸ’αž‹αž›αŸ†αžŠαžΆαž”αŸ‹αž‘αžΈαž˜αž½αž™" αž αžΎαž™αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαžšαžΏαž„αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜αž˜αž»αžαž„αžΆαžšαŸ” αž™αžΎαž„αžƒαžΎαž‰αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αž·αž“αž“αžΉαž€αžŸαŸ’αž˜αžΆαž“αžŠαž›αŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ– αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αžΆαŸ†αž…αžΌαž›αžŸαŸ†αžŠαŸ…αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„ GitHub αŸ” αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž αžΎαž™ αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž‚αžΊ - αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž“αŸ„αŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ Go αž§αž”αž€αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŸαž€αž›αžšαž”αžŸαŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž‚αžΊαž‡αžΆ url αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Goget αž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž‘αžΆαž‰αž™αž€αž–αž½αž€αžœαžΆ αžŠαŸ†αž‘αžΎαž„αž–αž½αž€αžœαžΆ αž…αž„αž€αŸ’αžšαž„αž–αž½αž€αžœαžΆ αž“αž·αž„αžšαŸ€αž”αž…αŸ†αž–αž½αž€αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ Goget αžŠαžΉαž„αž–αžΈ html-meta αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž’αŸ’αž“αž€αž’αžΆαž…αžšαž€αŸ’αžŸαžΆαžαžαž―αž€αžŸαžΆαžš http αžŠαŸ‚αž›αž“αžΉαž„αž˜αžΆαž“αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ (αžŠαžΌαž…αžŠαŸ‚αž›αž™αžΎαž„αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž’αŸ’αžœαžΎ)αŸ”

αžαžΎαž™αžΎαž„αžƒαžΎαž‰αž’αŸ’αžœαžΈαž‘αŸ€αž? Http αž“αž·αž„ Json αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž’αž˜αŸ’αž˜αžαžΆαŸ” αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž˜αžΆαž“αžœαž·αž…αžΆαžšαžŽαž€αžαžΆ - αž€αžΆαžšαž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„ αžŠαŸ‚αž›αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠ / json αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αŸ†αž“αž½αžŸαžœαžαŸ’αžαž»αž”αŸ†αž–αžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαŸ”

αž™αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆ αž αžΎαž™αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“ 20 αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαž€αžΌαžŠαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŠαŸ‚αž›αž…αž„αž€αŸ’αžšαž„ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž”αž“αŸ’αž‘αž»αž€αž˜αž’αŸ’αž™αž˜αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ (αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αžœαžΆαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš)αŸ”
αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž‘αŸ€αžαžŠαŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž‘αžΈαž“αŸαŸ‡? αžœαžΆαž…αž„αž€αŸ’αžšαž„αž‡αžΆαž‚αŸ„αž›αž–αžΈαžšαž‹αž·αžαž·αžœαž“αŸ’αž (buinary) αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ„αž›αž–αžΈαžšαž“αŸαŸ‡αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž’αžΆαžŸαŸ’αžšαŸαž™αž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž‚αŸ’αž˜αžΆαž“αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‘αŸ! αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŽαžΆαž˜αž½αž™ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž—αŸ’αž›αžΆαž˜αŸ— αž αžΎαž™αžœαžΆαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž™αžΎαž„αž”αž“αŸ’αžαž‘αŸ…αž˜αž»αžαž‘αŸ€αžαŸ”

αž‘αŸ…αŸ– αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αž·αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹

Go αž˜αžΆαž“αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαž€αžΆαžŸαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŽαžΆαž˜αž½αž™αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž“αŸαŸ‡αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‡αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αžΆαž…αž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž€αŸ’αž›αŸ‚αž„αž€αŸ’αž›αžΆαž™αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαž€αžΆαžŸαžˆαŸ’αž˜αŸ„αŸ‡αž€αŸ’αž›αŸ‚αž„αž€αŸ’αž›αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ N32 αž“αž·αž„αžŸαžšαžŸαŸαžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαŸ”

αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžš stupor αž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„ ... αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆ Go αž˜αž·αž“αž˜αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹αžŠαžΌαž…αž“αŸ„αŸ‡αž‘αŸαŸ” αž’αŸ’αž“αž€αžŠαŸ‚αž›αžŸαŸ’αž‚αžΆαž›αŸ‹ Go αž’αžΆαž…αž“αž·αž™αžΆαž™αžαžΆαž˜αžΆαž“αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž”αŸ’αžšαž—αŸαž‘ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αž€αžΆαž“αŸ‹αžαŸ‚αž†αžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžˆαž”αŸ‹αž‚αž·αžαžαžΆαžœαžΆαž‡αžΆαž˜αžšαžαž€ αž“αŸ„αŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαŸ” αž˜αž·αž“αž˜αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Go αž αžΎαž™αž€αŸαž˜αž·αž“αž˜αžΆαž“αž˜αžšαžαž€αžŠαŸ‚αžšαŸ”

αžŸαŸ†αž“αž½αžš! αžαžΎαž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αžŠαŸ‚αž›αžŠαžΉαž€αž“αžΆαŸ†αžŠαŸ„αž™ Google αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž™αžΎαž„αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž“αŸƒαž–αž·αž—αž–αž›αŸ„αž€? αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž•αŸ’αžŠαž›αŸ‹β€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹!

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŸαžΆαž˜αž‰αŸ’αž‰αž αžαŸ’αžαž›αŸαžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž”αŸ’αžšαž—αŸαž‘αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αžΆαž“ (αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·) αž“αžΉαž„αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αŸαŸ‡αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆ αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž…αžŸαžšαžŸαŸαžšαž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž“αžΉαž„αž”αŸ’αžšαž—αŸαž‘αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αŸ„αŸ‡)αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€ αž”αŸ’αžšαž€αžΆαžŸβ€‹αž’αžαŸαžšβ€‹αž“αŸƒβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž“αŸƒβ€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹β€‹αž“αŸαŸ‡ αž αžΎαž™β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžœαžαŸ’αžαž»β€‹αž‘αžΆαŸ†αž„β€‹αž“αŸαŸ‡β€‹αž‘αŸ…β€‹αžœαžΆαŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαžšαžΉαž„αžšαžΌαžŸ αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“αžαžΆαž’αžαŸαžšαž“αŸαŸ‡αž–αž·αžαž‡αžΆαž˜αžΆαž“αž‘αŸ’αžšαž“αž·αž…αž–αžΈαžšαŸ– αž˜αž½αž™αž‘αŸ…αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž˜αž½αž™αž‘αŸ€αžαž‘αŸ…αžαžΆαžšαžΆαž„αž–αžŽαŸŒαž“αžΆαž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαž—αŸαž‘αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸαŸ‡αž…αŸ†αž–αŸ„αŸ‡αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž“αŸαŸ‡αŸ” αž“αŸ„αŸ‡αž‚αžΊαž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αž”αŸ‚αž”αž“αŸαŸ‡αž“αŸƒαž’αŸ’αž“αž€αž–αžŽαŸŒαž“αžΆαž“αŸ…αž–αŸαž›αž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž…αž„αŸ’αž’αž»αž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž…αžΆαžαŸ‹αž‘αž»αž€αž‡αžΆαž˜αŸ„αžƒαŸˆαž“αŸ…αž€αŸ’αž“αž»αž„ Go αŸ” αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™ {} (αž‡αžΆαž˜αž½αž™αžŠαž„αŸ’αž€αŸ€αž”αž’αž„αŸ’αž€αžΆαž‰αŸ‹αž–αžΈαžš) αž‚αžΊαž‡αžΆαž’αžαŸαžšαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž…αž„αŸ’αž’αž»αž›αž‘αŸ…αžœαžαŸ’αžαž»αžŽαžΆαž˜αž½αž™αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαŸ”
αžšαž αžΌαžβ€‹αž˜αž€β€‹αžŠαž›αŸ‹β€‹αž–αŸαž›β€‹αž“αŸαŸ‡β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž‚αžΊβ€‹αž˜αžΆαž“β€‹αžŸαžŽαŸ’αžαžΆαž”αŸ‹β€‹αž’αŸ’αž“αžΆαž”αŸ‹β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž‚αžΊβ€‹αž’αŸ’αž›αžΆαž”αŸ‹β€‹αžŸαŸ’αž‚αžΆαž›αŸ‹αŸ” αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›αž‘αŸαŸ”

αž‘αŸ…αŸ– αž‘αž˜αŸ’αž›αžΆαž”αŸ‹

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž˜αž€αžŠαž›αŸ‹αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ– αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αžšαžΆαž› - αž αŸ’αž‚αžΌαžšαžΌαž’αžΈαž“ (αž αŸ’αž‚αžΌαžšαžΌαž’αžΈαž“) αž“αŸ…αž€αŸ’αž“αž»αž„αž–αžΆαž€αŸ’αž™ Go αŸ”

Alexey Naidenov αŸ” ITooLabs αŸ” αž€αžšαžŽαžΈαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Go (Golang) αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1

  1. αžŠαŸ†αž”αžΌαž„αž–αž½αž€αž‚αŸαž–αž·αžαž‡αžΆαžŸαŸ’αžšαžΆαž› (αžαž·αž…αž‡αžΆαž„ 2 Kb) αŸ”
  2. αž‘αžΈαž–αžΈαžšαž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž goroutine αž”αŸ‚αž”αž“αŸαŸ‡αž‚αžΊαž˜αžΆαž“αž€αžΆαžšαž’αŸ’αžœαŸαžŸαž”αŸ’αžšαž αŸ‚αžŸ: αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžœαžΆαž˜αž½αž™αž–αžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ - αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αž‘αŸαŸ”
  3. αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αžšαžΎαžŠαŸ„αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŠαŸ‚αž›αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αž‘αŸαžšαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž–αžΈ goroutine αž˜αž½αž™αž‘αŸ…αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”
  4. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜:
    • αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αžŸαŸαž…αž€αŸ’αžαžΈβ€‹αžαŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšαžŽαŸβ€‹αž‘αŸ…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‡αž½αž”β€‹αž”αŸ’αžšαž‘αŸ‡ (αž”αŸ’αžšαžŸαž·αž“αž”αžΎ goroutine αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ goroutine αž”αž“αŸ’αž‘αžΆαž”αŸ‹);
    • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž”αž·αž‘αž€αžΆαžšαž αŸ…αž…αžΌαž›/αž…αŸαž‰αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αŸ”
    • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αž‘αžΎαž„;
    • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž‡αžΆαž˜αž½αž™αž†αžΆαž“αŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”

αž“αŸ„αŸ‡αž‚αžΊαž“αŸ…αž–αŸαž›αžŽαžΆαžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Go αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš αžœαžΆαžšαž€αžƒαžΎαž‰αž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš (αž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž¬αž…αŸ†αž“αž½αž“αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž”αŸ’αžšαžΆαž”αŸ‹αžœαžΆ)αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž›αžΆαž™αž‘αž˜αŸ’αž„αž“αŸ‹αžŸαŸ’αžšαžΆαž›αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž›αžΎαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž›αž“αžΈαž˜αž½αž™αŸ—αŸ”

αž‚αž½αžšαž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαžαž·αžŠαŸ‚αž€αŸ” αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰ αž™αžΎαž„αž’αŸ’αžœαžΎαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’ DPI αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αž˜αŸ’αžšαžΎ 40 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™αž―αž€αžαžΆ (αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡)αŸ”

αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αž»αž“αž–αŸαž› Go αž€αŸαžŠαŸ„αž™ αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž“αŸαŸ‡αŸ– αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αžαž½αžšαž€αŸ’αž”αžΆαž› αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž”αŸ’αžαžΌαžšαž”αžšαž·αž”αž‘ OS αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„ (αžŠαŸ‚αž›αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž™αžΌαžšαžŽαžΆαžŸαŸ‹)αŸ” αžαŸ’αž‰αž»αŸ†αž“αž·αž™αžΆαž™αž˜αŸ’αžαž„αž‘αŸ€αžαŸ– αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž‡αžΆαžαž·αžŠαŸ‚αž€αŸ”

αž§αž‘αžΆαž αžšαžŽαŸ 21-line αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ‚αž›αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αŸ’αžœαžΎαž’αŸαž€αžΌ-server αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž…αŸ†αžŽαžΆαŸ†αžαžΆαž˜αž»αžαž„αžΆαžšαž”αž˜αŸ’αžšαžΎαž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αžœαžΆαž‡αžΆαž›αžΈαž“αŸαž’αŸŠαŸ‚αžšαŸ” αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž αŸ…αžαŸ’αžšαž›αž”αŸ‹αž˜αž€αžœαž·αž‰αž‘αŸαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžšαŸ†αžαžΆαž“αž αžΎαž™αž‚αž·αžαž‘αŸ ... αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž“αž“αž·αž„αžŸαžšαžŸαŸαžš!

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αžΆαž“ αž“αž·αž„αžŸαžšαžŸαŸαžš αžœαžΆαž–αž·αžαž‡αžΆαž‚αž½αžšαžαŸ‚αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹ - αž‘αž˜αŸ’αž›αžΆαž”αŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαž˜αŸ’αžšαž„αŸ‹αž‡αž½αžš αž“αž·αž„αž™αž€αžŠαŸ„αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αŸαž› αž“αŸ…αž–αŸαž›αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž’αžΆαž…αž€αžΎαžαž‘αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αž€αžΌαžŠβ€‹αžŸαžΆαž˜αž‰αŸ’αž‰β€‹αž“αŸαŸ‡β€‹αž’αžΆαž…β€‹αžŠαžΎαžšαžαž½β€‹αž‡αžΆβ€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž”αž˜αŸ’αžšαžΎβ€‹αž’αŸαž€αžΌβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αžαž—αŸ’αž‡αžΆαž”αŸ‹β€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαžΌαž…β€‹αžŠαŸ‚αž›β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž“αŸ…β€‹αž›αžΎβ€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž“αŸαŸ‡β€‹αž“αžΉαž„β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ”

αž“αžΉαž„αž”αž“αŸ’αžαž€αŸ’αž“αž»αž„αž–αŸαž›αž†αžΆαž”αŸ‹αŸ—αž“αŸαŸ‡...

αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“πŸ™‚

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžŸαŸ’αž“αžΆαž€αŸ‹αž“αŸ…αž‡αžΆαž˜αž½αž™αž–αž½αž€αž™αžΎαž„αŸ” αžαžΎαž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαž’αžαŸ’αžαž”αž‘αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸ? αž…αž„αŸ‹αž˜αžΎαž›αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž‘αŸ? αž‚αžΆαŸ†αž‘αŸ’αžšαž™αžΎαž„αžŠαŸ„αž™αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž¬αžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž˜αž·αžαŸ’αžαž—αž€αŸ’αžαž·, cloud VPS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž…αžΆαž”αŸ‹αž–αžΈ $4.99, analogue αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αž˜αŸ’αžšαž·αžαž’αžΆαžαž» αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž–αž½αž€αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αŸ– αž€αžΆαžšαž–αž·αžαž‘αžΆαŸ†αž„αž˜αžΌαž›αž’αŸ†αž–αžΈ VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps αž…αžΆαž”αŸ‹αž–αžΈ $19 αž¬αžšαž”αŸ€αž”αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ? (αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‡αžΆαž˜αž½αž™ RAID1 αž“αž·αž„ RAID10 αžšαž αžΌαžαžŠαž›αŸ‹ 24 cores αž“αž·αž„αžšαž αžΌαžαžŠαž›αŸ‹ 40GB DDR4)αŸ”

Dell R730xd 2x αžαŸ„αž€αž‡αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™ Equinix Tier IV αž“αŸ…αž‘αžΈαž€αŸ’αžšαž»αž„ Amsterdam? αž“αŸ…αž‘αžΈαž“αŸαŸ‡ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV αž…αžΆαž”αŸ‹αž–αžΈ $199 αž“αŸ…αž”αŸ’αžšαž‘αŸαžŸαž αžΌαž‘αž„αŸ‹! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - αž…αžΆαž”αŸ‹αž–αžΈ $99! αž’αžΆαž“β€‹αž’αŸ†αž–αžΈ αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Dell R730xd E5-2650 v4 αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒ 9000 αž’αžΊαžšαŸ‰αžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž½αž™αž€αžΆαž€αŸ‹?

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹