Victor Dudochkin 16 ноября 2021
Бпонсорский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»

πŸ“± Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ хостинг для мобильного прилоТСния. Π§Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ: Node.js ΠΈ Go – прСимущСства ΠΈ нСдостатки

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ языки программирования ΠΈ срСды исполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ аспСктам, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс Π²Ρ‹Π±ΠΎΡ€Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая довольно слоТным. Π‘Ρ€Π°Π²Π½ΠΈΠΌ прСимущСства ΠΈ нСдостатки Node.js ΠΈ Go – Π΄Π²ΡƒΡ… популярных срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² всСго ΠΌΠΈΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅.
2
πŸ“± Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ хостинг для мобильного прилоТСния. Π§Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ: Node.js ΠΈ Go – прСимущСства ΠΈ нСдостатки

Π Π°Π±ΠΎΡ‚Π° ΠΌΠ΅Ρ‡Ρ‚Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ πŸ’Ό

Π Π°Π±ΠΎΡ‚Π° Π² Π‘Π±Π΅Ρ€Π΅: ΠΏΡ€ΠΎΠΉΠ΄ΠΈ собСсСдованиС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΎΡ„Ρ„Π΅Ρ€ Π·Π° 15 ΠΌΠΈΠ½ΡƒΡ‚

πŸ’­ΠœΠ΅Ρ‡Ρ‚Π°Π΅ΡˆΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π‘Π±Π΅Ρ€Π΅, Π½ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π΅ΡΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³ΠΎΠ² HR-собСсСдований? Π’Π΅ΠΏΠ΅Ρ€ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ!

πŸ’‘AI-ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ Π·Π° 15 ΠΌΠΈΠ½ΡƒΡ‚ – ΠΈ Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π½Π° шаг Π±Π»ΠΈΠΆΠ΅ ΠΊ своСй Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ„Ρ„Π΅Ρ€?
πŸ“Œ ЗарСгистрируйся
πŸ“Œ ΠŸΡ€ΠΎΠΉΠ΄ΠΈ AI-ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ
πŸ“Œ ΠŸΠΎΠ»ΡƒΡ‡ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь сразу ΠΆΠ΅!

HR большС Π½Π΅ тянут врСмя – Ρ€Π΅ΠΊΡ€ΡƒΡ‚Π΅Ρ€Ρ‹ свяТутся с Ρ‚ΠΎΠ±ΠΎΠΉ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Π΄Π½Π΅ΠΉ! πŸš€

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ПАО Π‘Π‘Π•Π Π‘ΠΠΠš, ИНН 7707083893. Erid 2VtzquscAwp


Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… частях написанного совмСстно с Selectel Ρ†ΠΈΠΊΠ»Π° статСй ΠΌΡ‹ рассмотрСли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ сСтСвого взаимодСйствия, систСмы Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ инструмСнты ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Π­Ρ‚ΠΎ Π΄Π°Π»ΠΎ Π½Π°ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎ трСбованиях ΠΊ процСссору, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ дисковой подсистСмС сСрвСра.

БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ прилоТСния Π²ΠΎΠΏΠ»ΠΎΡ‰Π°Π΅Ρ‚ Π² Тизнь всю бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ прилоТСния опрСдСляСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ: ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ эффСктивно ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ запросы ΠΈ возмоТностями ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ систСмы.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΌΡ‹ сосрСдоточимся Π½Π° Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…: Go ΠΈ Node.js. Π’ послСднСС врСмя ΠΎΠ½ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠΌΠΈ сСрвСрными тСхнологиями.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ†ΠΈΠΊΠ»Π°:

πŸ“± Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ хостинг для мобильного прилоТСния. Π§Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ: Node.js ΠΈ Go – прСимущСства ΠΈ нСдостатки

Node.js

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

Как появился Node.js

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Node.js начинаСтся с JavaScript, ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… языков программирования всСх Π²Ρ€Π΅ΠΌΠ΅Π½. JavaScript Π±Ρ‹Π» создан Π² 1995 Π³ΠΎΠ΄Ρƒ ΠΈ Π² Ρ‚ΠΎ врСмя использовался ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ язык программирования сцСнариСв Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JS Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°?
Π’ 2009 Π³ΠΎΠ΄Ρƒ Π Π°ΠΉΠ°Π½Ρƒ Π”Π°Π»ΡŽ ΠΏΡ€ΠΈΡˆΠ»Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ блСстящая идСя: ΠΎΠ½ взял Π΄Π²ΠΈΠΆΠΎΠΊ Chrome V8 ΠΈ встроил Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° C++. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ΡΡ Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΎ свСт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Node. Π’Π°ΠΊ родился Node.js!

Node.js ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для выполнСния ΠΊΠΎΠ΄Π° Π½Π° сСрвСрной сторонС, Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ JavaScript возмоТности, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Node.js ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» программистам ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ JavaScript Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ!

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Node.js

Node.js идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…, рСсурсоСмких ΠΈ Π΄Π°ΠΆΠ΅ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ связано с Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ асинхронной ΠΏΡ€ΠΈΡ€ΠΎΠ΄ΠΎΠΉ срСды. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Π’ Node.js ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обслуТивания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… запросов. Когда поступаСт запрос, для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ. Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для получСния ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΊΠΎΡ€Π΅Π΅ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ запросам, ΠΈ ΠΊΠΎΠ³Π΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π³ΠΎΡ‚ΠΎΠ²Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ событий. ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ постоянно контролируСтся Node.js, поэтому ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ.

УправляСмая событиями Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° (ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°) Π΄Π΅Π»Π°Π΅Ρ‚ Node.js ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сотСн тысяч ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов.

Благодаря Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ асинхронным Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Node.js идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с интСнсивным использованиСм Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с высокими трСбованиями ΠΊ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго срока слуТбы.

πŸ“± Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ хостинг для мобильного прилоТСния. Π§Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ: Node.js ΠΈ Go – прСимущСства ΠΈ нСдостатки

Go

Go (GoLang) – это статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ сборщик мусора. Он Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ быстр (прилоТСния Π½Π° Go ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ сразу Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) ΠΈ эффСктивСн, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ построСн с использованиСм языка C. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Go ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ ΠΎΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ ΠΊΡ€ΠΈΠ²ΠΎΠΉ обучСния.

НСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ простоту, Go Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Он Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстСн ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° для многоядСрных машин, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π±-сСрвСры. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π±Ρ‹Π» ΠΈ остаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‡Π΅Ρ€Ρ‚ GoLang.

Как появился язык программирования Go

Π―Π·Ρ‹ΠΊ Go Π±Ρ‹Π» создан Π² Google ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 2008 – 2009 Π³ΠΎΠ΄Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ тСхнологичСскому Π³ΠΈΠ³Π°Π½Ρ‚Ρƒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ…, сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅Π±-сСрвисов. По словам создатСлСй GoLang (КСн Вомпсон, Π ΠΎΠ±Π΅Ρ€Ρ‚ Π“Ρ€ΠΈΠ·Π΅ΠΌΠ΅Ρ€ ΠΈ Π ΠΎΠ± Пайк), старыС языки Π½Π΅ Ρ€Π΅ΡˆΠ°Π»ΠΈ, Π° ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ соврСмСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ потрСбностям бизнСса.

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, GoLang Π±Ρ‹Π» создан ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΈ характСристики языка ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ упростили обслуТиваниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², построСнных с использованиСм GoLang.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Go

GoLang – это Π² основном сСрвСрный язык, хотя ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ примСнСния ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ растСт. Он Π±Ρ‹Π» создан для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ соврСмСнных тСхничСских Π·Π°Π΄Π°Ρ‡, ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сСбя Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… областях:

  • сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  • ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° большого количСства Π΄Π°Π½Π½Ρ‹Ρ…;
  • ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния;
  • машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅;
  • ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Π΅ΠΎ-Π΄Π°Π½Π½Ρ‹Ρ…;
  • микросСрвисы;
  • Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΌ Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ;
  • инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
Π˜Ρ‚Π°ΠΊ, Go – это популярный статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, исполняСмый Π½Π° сторонС сСрвСра ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, ΡƒΠΌΠ΅ΡŽΡ‰ΠΈΠΉ эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (с использованиСм сборщика мусора) ΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства многоядСрных процСссоров. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Go постоянно растСт.

Node.js vs Go

Node.js ΠΏΡ€ΠΎΡ‚ΠΈΠ² Go – довольно спорноС сравнСниС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнта Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Они ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ классам Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: языкам программирования ΠΈ срСдам выполнСния соотвСтствСнно. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Node.js ΠΈ GoLang – Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Π²Π΅Ρ‰ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ нСльзя ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ микроскоп с тСлСскопом!
  • GoLang – это статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со сборкой мусора, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Node.js – это кроссплатформСнная срСда выполнСния (Π° Π½Π΅ язык ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ). Если Go, Ссли ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сам ΠΏΠΎ сСбС, Ρ‚ΠΎ Node.js Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ JavaScript Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ сСрвСрный язык.
  • Оба ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π£ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ сообщСство ΠΈ армия ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ², ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ИВ-компаниях, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π³Ρ€ΠΎΠΌΠΊΠΈΠ΅ названия, ΠΊΠ°ΠΊ Google, Netflix ΠΈ PayPal. Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° общая Ρ‡Π΅Ρ€Ρ‚Π° – ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² основном для backend-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Node.js ΠΈ Go ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ нСльзя ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой: Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Π½Π΅ Ρ…ΡƒΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π’ Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ слишком ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π½Π° инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ярлыки ΠŸΠ›ΠžΠ₯О ΠΈΠ»ΠΈ Π₯ОРОШО, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая тСхнология ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Если Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ΄ΠΈΠ½ инструмСнт дСйствуСт Β«Ρ…ΡƒΠΆΠ΅Β», Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΎΠ½ просто Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ‚Π°ΠΊΠΎΠ³ΠΎ использования?
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эффСктивно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π°. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Go vs Node.js, стоит ΡƒΡ‡Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–1: Π·Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ

Π₯отя Go Π±Ρ‹Π» прСдставлСн Π² 2009 Π³ΠΎΠ΄Ρƒ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Ρ€Π΅Π»Ρ‹ΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ инструмСнтом. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Node.js дСмонстрируСт Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ зрСлости ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π˜Ρ‚Π°ΠΊ, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния зрСлости Node.js ΠΈ GoLang ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–2: чистая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Google Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Go ΠΈΠ·-Π·Π° разочарования спСциалистов Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языках программирования. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Node.js, Go – Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для чистой (raw) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ вычислСний.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Node.js являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ JavaScript ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Go, Node.js Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‡ΠΈΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ЦП ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡, связанных с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Node.js ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ»ΠΈ уТасно, Π² зависимости ΠΎΡ‚ качСства ΠΊΠΎΠ΄Π° ΠΈ спСцифики вашСго прилоТСния.

Π’ сравнСнии ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Go прСвосходит Node.js Π² срСднСм Π² Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π° ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–3: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ

Go ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² Π΄Π²Π° Ρ€Π°Π·Π° Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Node.js Π΄Π°ΠΆΠ΅ Π² стандартном исполнСнии. Помимо Ρ‚ΠΎΠ³ΠΎ Go ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π“Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ использованиС Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½ (сопрограмм) совмСстно с Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ (Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… + кСш) ΠΈΠ»ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° основС партиционирования ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эту Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ сущСствСнной.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–4: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Π² Go Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Ошибки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции ΠΈ выполнСния ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ создаСт слоТности для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Node.js Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Ρ‚ΠΈΠΏΠ° throw-catch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ довольно популярСн срСди программистов. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ошибки ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ исполнСниСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Бравнивая ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок GoLang ΠΈ Node.js, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ находят Node.js Π»ΡƒΡ‡ΡˆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ throw-catch.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–4: кривая обучСния

Go – это Π·Ρ€Π΅Π»Ρ‹ΠΉ ΠΈ Π² Ρ‚ΠΎΠΆΠ΅ врСмя ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык с собствСнными концСпциями, процСссами, ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈ интСрфСйсами. Π•ΠΌΡƒ посвящСно мСньшС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурсов, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ исслСдования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ достойноС прСдставлСниС ΠΎ языкС.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, JavaScript – Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ язык программирования. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Node.js, Ссли Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΎ JavaScript. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ JavaScript сущСствуСт Π΄Π°Π²Π½ΠΎ, доступно мноТСство ΠΎΠ½Π»Π°ΠΉΠ½- ΠΈ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½-рСсурсов для ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ сообщСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСлится ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‰ΡŒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² сравнСнии ΠΊΡ€ΠΈΠ²ΠΎΠΉ обучСния Go ΠΈ Node.js ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚ послСдний.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–5: ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ – сильная сторона Go, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… высоконагруТСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тысяч запросов. Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π₯отя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ свои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Go, это, ΠΊ соТалСнию, Π½Π΅ относится ΠΊ Node.js.

Node.js являСтся ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° событий, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ всС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ порядкС ΠΈ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.

Π˜Ρ‚Π°ΠΊ, Π² этом Ρ€Π°ΡƒΠ½Π΄Π΅ Go vs Node.js, Go – Ρ‡Π΅ΠΌΠΏΠΈΠΎΠ½!

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–6: ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

Go Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² Π±ΠΈΡ‚Π²Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Go vs Node.js. Π“ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ эффСктивно ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Node.js ΠΌΠ΅Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Node.js Π½Π΅ рСкомСндуСтся для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ·-Π·Π° слабой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ исполнСния.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–7: инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Go поставляСтся с ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½ΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Node.js Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ доступно мСньшС Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… инструмСнтов.

Π§Ρ‚ΠΎ касаСтся Node.js, ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для создания всСвозмоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρƒ JS Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ сообщСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для всСх Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Go ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΈΡ‚Π²Ρƒ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ касаСтся инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„–8: Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Найти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Go ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТнСС, Ρ‡Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Node.js. Однако ситуация ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСняСтся ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ это Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΡΡ‚ΠΎΠ»ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„– 9: БообщСство

Node.js – это Π·Ρ€Π΅Π»Ρ‹ΠΉ инструмСнт с большим ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΌ сообщСством. Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π³ΠΎΠ΄ своСго сущСствования Ρ„ΠΎΠ½Π΄ Node.js сформировал ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ отвСтствСнных Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ профСссионалов ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» долгосрочный ΠΏΠ»Π°Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. На сСгодняшний дСнь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Node.js ΠΈΠΌΠ΅Π΅Ρ‚ 82100 Π·Π²Π΅Π·Π΄ ΠΈ 21400 Ρ„ΠΎΡ€ΠΊΠΎΠ² Π½Π° GitHub, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π² 197000 участников Π½Π° Reddit.

БообщСство Go с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Google – довольно вСская Ρ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°. Π•ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ GopherCon собираСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² со всСго ΠΌΠΈΡ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ возмоТности ΠΈ измСнСния. Π­Ρ‚Π° конфСрСнция ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ количСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², заинтСрСсованных Π² участии Π² сообщСствС ΠΈ Π² связанных с Go. На сСгодняшний дСнь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GoLang ΠΈΠΌΠ΅Π΅Ρ‚ 90400 Π·Π²Π΅Π·Π΄ ΠΈ 13300 Ρ„ΠΎΡ€ΠΊΠΎΠ² Π½Π° GitHub, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π² 159000 участников Π½Π° reddit.com.

Рассматривая Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Π·Π²Π΅Π·Π΄Ρ‹ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΊΠΈ Π½Π° Github, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ количСствСнном ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΡ… Π²ΠΊΠ»Π°Π΄ Π² Π½Π΅Π΅.

Π˜Ρ‚ΠΎΠ³

Go Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ прСвосходит Node.js Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ сцСнариСв, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ простоту, Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Node.js Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Go Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ растСт, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ большС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инструмСнтов.

МногиС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Node.js) Π½Π° Go, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для создания прилоТСния тСсно связан со Π·Π½Π°Π½ΠΈΠ΅ΠΌ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ вашСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Поиск Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ… знакомство со стСком Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ часто являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° JavaScript ΠΈ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Node.js, эквивалСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдоступСн для Go, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ссли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Go Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° для вашСго прилоТСния, Node.js ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Π²Ρ‹Π±ΠΎΡ€ Π½Π° Go!

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части я упомянул кастомныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для построСния эффСктивных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… RocksDB ΠΈ BadgerDB. Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Ρ‡Ρ‚ΠΎ BadgerDB – ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для Π³Ρ€Π°Ρ„ΠΎΠ²ΠΎΠΉ систСмы управлСния Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Dgraph, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ написано Π½Π° Go. А эти ΠΏΠ°Ρ€Π½ΠΈ Π·Π½Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΠΊ Π² построСнии Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΌΠ΅ΡŽΡ‚ Π²Ρ‹ΠΆΠ°Ρ‚ΡŒ максимум ΠΈΠ· инструмСнта. Π’ случаС Π²Ρ‹Π±ΠΎΡ€Π° Go для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСрной части Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
***
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° инфраструктуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ соотвСтствуСт трСбованиям вашСго рСсурса: объСм накопитСля, процСссор ΠΈ количСство ядСр, объСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ СТСмСсячного Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, быстрая тСхничСская ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ написана совмСстно с нашим ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠΌ – ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Selectel.

Selectel ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ сСрвСры, оснащСнныС 4-768 Π“Π‘ ΠžΠ—Π£, 2-72 ядрами ЦП, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ графичСский ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² качСствС сСрвСра Π΄Π°ΠΆΠ΅ Raspberry Pi 4 (4/64 Π“Π‘) ΠΈ Mac mini для iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

 
 
17 ноября 2021

Классная ΡΡ‚Π°Ρ‚ΡŒΡ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ мСчСтся с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Однако стоило Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ go Ρ‡Π°Ρ‰Π΅ всСго примСняСтся Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вычислСниях, Π³Π΄Π΅ ΠΎΠ½ просто вСздСсущ (вспомним docker ΠΈ kubernetes). И ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ стоит Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ взгляд Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° удобство ΠΈ могущСство языка, Π½ΠΎ ΠΈ экосистСму, которая Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ ΠΈ/ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ создана.

19 ноября 2021

ΠŸΡ€ΡƒΡ„ поТалуйста Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Go "Ρ‡Π°Ρ‰Π΅ всСго примСняСтся Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вычислСниях". ΠžΡ‚ΠΊΡƒΠ΄Π° такая информация?

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

LIVE >

Подпишись

Π½Π° push-увСдомлСния