golang (22)

Пишемо рушій повнотекстового пошуку на Go

Повнотекстовий пошук - один з тих інструментів, які ми використовуємо практично кожен день, коли шукаємо якусь інформацію в інтернеті. Full-Text Search (FTS) - це метод пошуку тексту в колекції документів. Документ може посилатися на веб-сторінку, га...

Alex · 21 вересня 2020 · 112

Let's Go! Три підходи до структурування коду на Go

Мова Go була вперше анонсована в кінці 2009 року, а офіційний реліз відбувся в 2012 році, але лише в останні кілька років стала набувати серйозного визнання. Go була однією з найшвидше зростаючих мов в 2018 році і третьою по затребуваності...

Alex · 31 серпня 2020 · 202

Глибоке занурення у систему типів Go

Go має дуже цікаву систему типів. Вона уникає класів й наслідування на користь інтерфейсів та композицій, але, з іншого боку, у неї нема шаблонів чи узагальнень (generics). Спосіб, яким вона обробляє колекції, також досить унікальний. Система типів G...

Codeguida · 18 січня 2018 · 45

Просунутий паралелізм Go

Якщо ви використовували Go деякий час, ви, ймовірно, знаєте деякі з основних примітивів паралелізму Go: Ключове слово go для створення підпрограм Канали, для зв'язку між підпрограмами Контекстний пакет для поширення скасування (propagating cancellat...

Alex · 19 вересня 2023 · 97

Інтерфейси в Go

Об'єктно-орієнтована модель Go побудована навколо інтерфейсів. Інтерфейси є важливою конструкцією мови, і всі проектні рішення мають бути орієнтовані, в першу чергу, на них. Ви дізнаєтеся, що таке інтерфейс у Go, як їх реалізувати і які обмеження маю...

Codeguida · 10 серпня 2017 · 10

SRE: Аналіз продуктивності. Спосіб установки з використанням простого вебсервера на Go

Аналіз продуктивності і тюнінг — потужний інструмент для перевірки того що продуктивність відповідає  вимогам. Аналіз продуктивності можна застосовувати для перевірки вузьких місць у програмі, застосовуючи науковий підхід при перевірці ек...

Alex · 13 серпня 2020 · 76

Як скомпілювати код у браузері за допомогою WebAssembly

Браузери стали потужними. Спочатку вони використовувалися для обміну науковими роботами в CERN, а тепер в браузері можна запускати Google Earth, грати в Unity 3D- ігри  та навіть проєктувати будівлі в AutoCAD. Чи може браузер, з такою поту...

Alex · 11 листопада 2020 · 310

Розробка веб-серверів на Go

Стандартна бібліотека мови Go містить безліч корисних і функціональних компонентів «з коробки», які дозволяють легко розробляти серверні застосунки. У статті ми вивчимо, як написати вебсервер на Go. Почнемо з базового «Hello World!&...

Alex · 24 вересня 2020 · 350

7 дивних особливостей Go

Коли ми починаємо писати новою мовою програмування яка нам здається не комфортною ми почитаємо помічати особливості яки нас найбільше дратують.  Новачкові буває складно зрозуміти причини такого дизайну мови. Своїм студентам ми даємо необхідний...

Alex · 19 жовтня 2020 · 203

Архітектура веб-застосунків на прикладі Golang

З недавнього часу я пишу на Go. До цього здебільшого використовував Python/Django. Як виявилось в світі Golang ще немає купи класних фреймворків, які вирішують більшість завдань, тому треба було самому реалізовувати архітектуру застосунку. І це класн...

Codeguida · 15 червня 2018 · 172

3 речі, які роблять Go особливим

Go можна впевнено назвати особливою мовою, адже вона привнесла багато нового завдяки своєму підходу до програмування і тим принципам, які вона просуває. Не дивлячись на те, що деякі з її авторів були ранніми піонерами С, вона з перших хвилин знайомст...

Codeguida · 05 вересня 2017 · 1

gogrep: структурний пошук і заміна Go коду

Gogrep — це одна з моїх найулюбленіших утиліт для роботи з Go. Вона дозволяє знаходити код за синтаксичними шаблонами, фільтрувати результати за типами виразів, а також виконувати заміну (теж за шаблоном). У цій замітці я розповім як викор...

Alex · 07 липня 2020 · 112