πŸ•Έ Golang для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Π Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ прСимущСства ΠΈ нСдостатки языка Go для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ рассказываСм ΠΎ написанных Π½Π° Π½Π΅ΠΌ (ΠΈ для Π½Π΅Π³ΠΎ) прилоТСниях, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Go особСнности ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ истории

Go (Golang) прСдставляСт собой ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ, статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык. Он Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Google Π² 2007 Π³ΠΎΠ΄Ρƒ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ высоконагруТСнных сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΊ языку ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ»ΠΈΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ трСбования:

  • Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² большом ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с большим количСством зависимостСй.
  • Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ понятСн Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ с C программистам. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Google Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Π»Π°Π΄Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌΠΈ языками ΠΈΠ· сСмСйства C. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ быстро ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ спСциалистов Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Go Π½Π΅ ΠΈΠΌΠ΅Π» Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΎΡ‚ Π½ΠΈΡ….
  • Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ соврСмСнным. C, C++ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни Java – довольно старыС. Они Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π΄ΠΎ появлСния многоядСрных машин, сСтСй ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ соврСмСнного ΠΌΠΈΡ€Π° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ встроСнной конкурСнтности.

Go – ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для создания простых, Π½ΠΎ эффСктивных Π²Π΅Π±-сСрвисов. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ основныС ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы этого языка для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

  • Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Go быстро ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ для рСдактирования ΠΊΠΎΠ΄Π° прямо Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с C. Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ многочислСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, созданныС для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых распространСнных языков.
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ мноТСство областСй. Π’ Go Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π²Π΅Π±-сСрвСр ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.
  • ДокумСнтация ΠΊΠ°ΠΊ стандартная функция. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ прямо ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².
  • Π‘Π±ΠΎΡ€ΠΊΠ° мусора (автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ) – ΠΊΠ»ΡŽΡ‡Π΅Π²Π°Ρ функция языка Go. Он Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ распрСдСлСниСм памяти ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ. По ΠΌΠ΅Ρ€Π΅ развития ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвисов приходится ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, Π²Ρ€ΠΎΠ΄Π΅ доставки HTML Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹. Go ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, связанных с ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ: Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ goroutines ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹. Goroutines – Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. ΠšΠ°Π½Π°Π»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ goroutines Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ возмоТностях Golang Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

НСдостатки

  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ парамСтричСского ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ нСбСзопасным прСобразованиям Ρ‚ΠΈΠΏΠΎΠ².
  • НулСвой интСрфСйс Π½Π΅ Ρ€Π°Π²Π΅Π½ интСрфСйсу Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π² сочСтании с отсутствиСм алгСбраичСских Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ трудностям ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сбоСв ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… случаСв.
  • Go Π½Π΅ допускаСт появлСния ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС, Ρ‡Ρ‚ΠΎ заставляСт программистов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡΡ‚ΠΈΠ»ΡŒ скобок.
  • Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Go Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни основана Π½Π° сСмантикС POSIX ΠΈ ΠΎΠ½ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ самыми распространСнными ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ камнями Go, Π° Ρ‚Π°ΠΊΠΆΠ΅ сравнСниСм Python ΠΈ Golang ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ характСристикам.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Go

Go примСняСтся Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ΠœΡ‹ собрали ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ самых интСрСсных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с возмоТностями языка.

АутСнтификация

  • Authboss – ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ систСма, которая позволяСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Casbin – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ контроля доступа, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ACL, RBAC ΠΈ ABAC.
  • Go-email-normalizer – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для обСспСчСния каноничСского прСдставлСния адрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.
  • Go-Guardian – эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° обСспСчиваСт простой, понятный ΠΈ идиоматичСский способ создания соврСмСнного API ΠΈ Π²Π΅Π±-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ LDAP, Π±Π°Π·ΠΎΠ²ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Ρ‚ΠΎΠΊΠ΅Π½-Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½Π° основС сСртификатов.
  • Go-oauth2-server – Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ сСрвСр OAuth2, написанный Π½Π° Golang ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ спСцификациям.
  • Permissions2 – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для отслСТивания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, состояний Π²Ρ…ΠΎΠ΄Π° ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ бСзопасныС Ρ„Π°ΠΉΠ»Ρ‹ cookie ΠΈ bcrypt.

Π‘ΠΎΡ‚Ρ‹

  • Ephemeral-roles – Π±ΠΎΡ‚ Discord для управлСния эфСмСрными ролями Π½Π° основС присутствия участника голосового ΠΊΠ°Π½Π°Π»Π°.
  • Go-chat-bot – Π±ΠΎΡ‚ для IRC, Slack ΠΈ Telegram, написанный Π½Π° Go.
  • Go-tgbot – ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° API-интСрфСйса Pure Golang Telegram Bot, созданная ΠΈΠ· Ρ„Π°ΠΉΠ»Π° swagger, сСансового ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.
  • Hanu – Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для написания Π±ΠΎΡ‚ΠΎΠ² Slack.
  • Slack-bot – Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ использованию Slack Bot для Π»Π΅Π½ΠΈΠ²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Jenkins, Jira, Bitbucket, Github.
  • Tenyks – сСрвис-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ IRC-Π±ΠΎΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Redis ΠΈ JSON для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями.

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • Bbolt – встроСнная Π±Π°Π·Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Go.
  • Bcache – согласованная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для распрСдСлСнного кэша Π² памяти.
  • Bitcask – это встраиваСмая, постоянная ΠΈ быстрая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (KV), написанная Π½Π° чистом Go. ΠžΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ΡΡ прСдсказуСмой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ чтСния/записи, Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΈ высокой пропускной ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ благодаря Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маски Π½Π° дискС (LSM + WAL).
  • CovenantSQL – Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… SQL Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅.
  • Databunker – слуТба хранСния Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, созданная Π² соотвСтствии с GDPR ΠΈ CCPA.
  • Hare – простая систСма управлСния Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая Ρ‚Π°Π±Π»ΠΈΡ†Π° хранится Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° JSON с раздСлитСлями-строками.
  • Ledisdb – Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ NoSQL, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Redis ΠΈ основанный Π½Π° LevelDB.
  • Rqlite – лСгкая распрСдСлСнная рСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, построСнная Π½Π° SQLite.
  • Go-mysql – Π½Π°Π±ΠΎΡ€ инструмСнтов Go для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MySQL ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Kingshard – Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прокси для MySQL Π½Π° Π±Π°Π·Π΅ Golang.
  • Pg_timetable – Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для PostgreSQL.

DNS

  • DNS – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с DNS.
  • Go-powerdns – привязки API PowerDNS для Golang.
  • Mdns – простая ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° mDNS (Multicast DNS) для Golang.
  • DDNS – ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ DDNS с DNS Digital Ocean Networking Π² качСствС сСрвСрной части.
  • Dyndns – процСсс Background Go для рСгулярной автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ IP-адрСса ΠΈ внСсСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько динамичСских записСй DNS для Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Google ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.
  • GoDNS – написанный Π½Π° Go клиСнтский инструмСнт динамичСского DNS, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ DNSPod ΠΈ HE.net.

ΠŸΠΎΡ‡Ρ‚Π°

  • Chasquid – SMTP-сСрвСр, написанный Π½Π° Go.
  • Email – надСТная ΠΈ гибкая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ для Go.
  • Go-dkim – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DKIM для подписания ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.
  • Go-imap – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° IMAP для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ сСрвСров.
  • Go-simple-mail – ΠΎΡ‡Π΅Π½ΡŒ простой ΠΏΠ°ΠΊΠ΅Ρ‚ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ элСктронных писСм с SMTP Keep Alive ΠΈ двумя Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°ΠΌΠΈ: Connect ΠΈ Send.
  • Hectane – Π»Π΅Π³ΠΊΠΈΠΉ SMTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ HTTP API.
  • MailHog – тСстированиС элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ SMTP с Π²Π΅Π±-интСрфСйсом ΠΈ интСрфСйсом API.

Π€ΠΎΡ€ΠΌΡ‹

  • Binding – связываСт Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ JSON ΠΈΠ· запроса net/http со структурой.
  • Form – Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ url.Values ​​в значСния Go ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ значСния Go Π² url.Values. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Dual Array ΠΈ Full map.
  • Forms – Π½Π΅ зависящая ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ составныС Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹.
  • Qs – ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Go для кодирования структур Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ URL.

Π’Π΅Π± GUI

  • App – ΠΏΠ°ΠΊΠ΅Ρ‚ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с GO, HTML ΠΈ CSS. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ MacOS (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).
  • Go-sciter – встраиваСмый Π΄Π²ΠΈΠΆΠΎΠΊ HTML/CSS/скриптов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса соврСмСнного Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола.
  • Webview – кроссплатформСнноС ΠΎΠΊΠ½ΠΎ Π²Π΅Π±-просмотра с простыми двусторонними привязками JavaScript (Windows/macOS/Linux).

ОбмСн сообщСниями

  • Asynq – простая, надСТная ΠΈ эффСктивная распрСдСлСнная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π°Π΄Π°Ρ‡ для Go, построСнная Π½Π° основС Redis.
  • Beaver – сСрвСр ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для создания ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² прилоТСниях, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ³Ρ€, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π°Ρ‚Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств.
  • Confluent-kafka-go – ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Golang ΠΎΡ‚ Confluent для Apache Kafka ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Confluent.
  • Drone-line – ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Line с использованиСм Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π΄ΠΎΠΊΠ΅Ρ€Π° ΠΈΠ»ΠΈ Drone CI.
  • Glue – надСТная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сокСтов Go ΠΈ Javascript.
  • Gorush – сСрвСр push-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ с использованиСм APNs2 ΠΈ google GCM.
  • Jazz – простой ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции RabbitMQ для администрирования ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ использования сообщСний.

Π‘Π΅Ρ‚ΠΈ

  • DHCP6 – Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ сСрвСр DHCPv6, ΠΊΠ°ΠΊ описано Π² RFC 3315.
  • Fortio – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ тСстирования ΠΈ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ эхо-сСрвСр ΠΈ Π²Π΅Π±-интСрфСйс. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ΅ΠΊΡƒΠ½Π΄Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ гистограммы Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ статистику ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ TCP, HTTP ΠΈ gRPC.
  • Ftpserverlib – ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° FTP-сСрвСра.
  • Gmqtt – гибкая, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° MQTT, которая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MQTT V3.1.1.
  • Go-stun – рСализация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° STUN (RFC 3489 ΠΈ RFC 5389).
  • Goshark – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ tshark для дСкодирования IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ создания структуры Π΄Π°Π½Π½Ρ‹Ρ… для Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
  • Gosnmp – собствСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с SNMP.

HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹

  • Heimdall – ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с возмоТностями ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π° ΠΈ hystrix.
  • Resty – простой HTTP- ΠΈ REST-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Go, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Ruby rest-client.
  • Sling – клиСнтская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go HTTP для создания ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов API.

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ прилоТСния

  • Algernon – Π²Π΅Π±-сСрвСр HTTP/2 со встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Lua, Markdown, GCSS ΠΈ Amber.
  • Fider – открытая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для сбора ΠΈ систСматизации ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².
  • Jackal – XMPP-сСрвСр, написанный Π½Π° Go.
  • RoadRunner – Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ PHP, балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ процСссов.

ВСстированиС

  • Failpoint – рСализация Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΡ‚ΠΊΠ°Π·Π° для Golang.
  • Rod – Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Devtools для упрощСния Π²Π΅Π±-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ парсинга.
  • Testsql – Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ тСстовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² SQL ΠΏΠ΅Ρ€Π΅Π΄ тСстированиСм ΠΈ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΈΡ… послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.
  • Testfixtures – ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ для Rails-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… тСстовых инструмСнтов, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для тСстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
  • Restit – ΠΌΠΈΠΊΡ€ΠΎ-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для написания ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСста RESTful API.
  • Assert – базовая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ вмСстС с собствСнным тСстированиСм Go.

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ API

  • Airtable – клиСнтская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для API Airtable.
  • Anaconda – клиСнтская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для API Twitter 1.1.
  • Aws-sdk-go – ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ SDK AWS для языка программирования Go.
  • Discordgo – привязки Go для Discord Chat API.
  • Ethrpc – привязки Go для Ethereum JSON RPC API.
  • Gami – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для интСрфСйса Asterisk Manager.
  • Geo-golang – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для доступа ΠΊ Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox ΠΈ API гСокодирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ гСокодирования OpenStreetMap.
  • Github – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для доступа ΠΊ GitHub REST API v3.
  • Medium – SDK Golang для API OAuth2 Medium.
  • Patreon-go – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для Patreon API.

Π’Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ

  • Aero – Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Go, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Ρ‹ΡΡˆΠΈΠ΅ Π±Π°Π»Π»Ρ‹ Π² Lighthouse.
  • Banjo – ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ быстрый Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Go.
  • Fiber – Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Express.js ΠΈ построСнный Π½Π° Fasthttp.
  • Flamingo Commerce – прСдоставлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ элСктронной ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ с использованиСм чистой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (Π²Ρ€ΠΎΠ΄Π΅ DDD), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π³ΠΈΠ±ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • Gizmo – Π½Π°Π±ΠΎΡ€ микросСрвисных, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ New York Times.
  • Goyave – ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ инфраструктура REST API, нацСлСнная Π½Π° чистый ΠΊΠΎΠ΄ ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.
  • Microservice – Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания микросСрвисов.
  • Rex – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, основанная Π½Π° gorilla/mux ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимая с net/http.
  • WebGo – ΠΌΠΈΠΊΡ€ΠΎ-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

WebAssembly

  • Dom – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DOM.
  • Go-canvas – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для использования HTML5 Canvas Π² ΠΊΠΎΠ΄Π΅ go.
  • Tinygo – компилятор Go: ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, WebAssembly ΠΈ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° основС LLVM.
  • Vert – взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями Go ΠΈ JS.
  • Wasmbrowsertest – запускаСт тСсты Go WASM Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.
  • Webapi – привязки для DOM ΠΈ HTML, созданныС ΠΈΠ· WebIDL.
***

Π₯ΠΎΡ‡Ρƒ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ слоТно Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСпростая Ρ‚Π΅ΠΌΠ° для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ изучСния: Π½Π΅ Ρƒ ΠΊΠΎΠ³ΠΎ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ запустили курс «Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…Β», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π±ΠΈΠ½Π°Ρ€ΠΎΠ² Π²Ρ‹:

  • ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ слСнг, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорят всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ нСзависимо ΠΎΡ‚ языка программирования: язык Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…;
  • Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
  • ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ ΠΊ тСхничСскому собСсСдованию ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

ΠšΡƒΡ€Ρ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ junior, Ρ‚Π°ΠΊ ΠΈ middle-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
23 ноября 2018

Go vs Python: ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ основ языка Go Π² сравнСнии с Python

Π­Ρ‚ΠΎ Π½Π΅ сорСвнованиС Π΄Π²ΡƒΡ… языков, Π° просто Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ обучСния. Рассмат...
admin
19 сСнтября 2018

TOП-3 языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎ 2019

Π­Ρ‚ΠΎ Π½Π΅ просто Ρ‚Ρ€ΠΈ Π»ΡƒΡ‡ΡˆΠΈΡ… языка программирования, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС ΠΏΠΎΠΏΡ‹Ρ‚...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
27 октября 2017

30 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ для освоСния языка программирования Go

Π˜Ρ‰Π΅Ρ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Go? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ 30 книг для освоСния языка программирования...