Как стать автором
Обновить
90.95

Go *

Компилируемый, многопоточный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Шаблонизатор GO text template

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.1K

Шаблоны - это инструмент программирования, который позволяет создавать структурированный и повторно используемый контент или код. Они имеют много применений в различных областях, включая веб-разработку, генерацию отчетов, форматирование текста и многое другое. В целом, шаблоны предоставляют удобный способ создания структурированного и гибкого контента или кода, что упрощает создание контента для различных приложений и веб-сайтов.

Все инструкции шаблона заключаются в символы.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 3

Новости

Представляем gqlgen: генератор серверов GraphQL для Go

Время на прочтение 9 мин
Количество просмотров 1.7K

В 99designs мы находимся на пути деконструкции нашего PHP-монолита в микросервисную архитектуру, при этом большинство новых сервисов пишется на Go. В этот период наша фронтенд-команда также применила безопасность типов, перейдя с Javascript на TypeScript и React.

После того как мы внедрили безопасность типов в бэкенд и фронтенд, стало очевидно, что наши конечные точки REST, созданные на заказ, не могут преодолеть разрыв между типами. Нам нужен был способ объединить эти системы типов и распутать наши конечные точки API.

Нам нужна была система безопасности типов для API. GraphQL выглядел многообещающе. Однако, изучив его, мы поняли, что не существует серверного подхода, который бы отвечал всем нашим требованиям. Поэтому мы разработали свой собственный, который мы назвали gqlgen.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 4

Domain Driven Design в Go – это почти не больно

Время на прочтение 13 мин
Количество просмотров 4.3K

Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.

Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 6

Go 1.22: Интерактивные заметки к релизу

Время на прочтение 8 мин
Количество просмотров 2.7K

Go 1.22


Вчера вышел Go 1.22, и многие новые фичи можно попробовать прямо из браузера. Давайте пройдемся по ним!

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 8

Истории

Где изучать Golang в 2024

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 8.5K

2024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. 

Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки программного обеспечения. Он идеально подходит для создания масштабируемых и высокопроизводительных веб-серверов, микросервисов и распределенных систем. Благодаря своей простоте и эффективности, Golang также находит применение в области разработки сетевых приложений, обработки данных, а также в сфере искусственного интеллекта и машинного обучения.

Еще одним преимуществом изучения Golang является его активное сообщество разработчиков. Go имеет обширную документацию, мощные библиотеки и инструменты, которые помогут вам эффективно разрабатывать приложения на этом замечательном языке. Благодаря активному сообществу вы сможете быстро получить поддержку и решить любые возникающие проблемы.

Ежедневно в наш чат приходят новички и задают один и тот же вопрос, посоветуйте ресурсы для начинающего, сегодня вышла новая версия версия Go 1.22.0в честь этого мы собрали список бесплатных курсов и полезных источников. Мы уже писали про многие из них в нашем канале для Golang разработчиков – залетайте, там много всего полезного. 

Надеюсь, этот список будет вам полезен)

Давайте начнем!

Читать
Всего голосов 18: ↑13 и ↓5 +8
Комментарии 5

Задача «Получить значение у N url из списка» с собеседования на Go

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 4.5K

На данный момент нахожусь в активном поиске нового проекта, поэтому активно хожу на собеседования.

Решил поделиться своими мыслями о решении задачи, которую (как мне кажется) часто дают на собеседованиях.

Задача

Написать функцию, которая принимает несколько url адресов, а отдает сумму адресов и ошибку, если что-то пошло не так.

Интересно обсудить варианты решения?

Интересно Читать Далее
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 36

Делим монорепозиторий библиотеки Go на отдельные модули и адаптируем их для локальной разработки

Время на прочтение 3 мин
Количество просмотров 2.5K

Библиотека Go в Авито увеличилась с 4 драйверов до 7, и на всё стало не хватать единого модуля. Рассказал, как разделил монорепозиторий на отдельные модули и адаптировал его для разработки в локальной среде.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

Делаем RPG на Go: часть 0

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 9.2K

Один из самых частых вопросов в нашем сообществе разработке игр на Go — это с чего начать.


В этой серии статей мы будем изучать движок Ebitengine и создадим RPG в процессе.


Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 6

Ускоряем Go: известные и не очень методы оптимизации и связанные с ними штуки

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 5.4K

Привет, Хабр)

В этой статье хотел бы поделиться приёмами, которые позволяют повысить производительность Golang-кода. Некоторые из этих вещей довольно известные и их могут делать за вас линтеры, например go-critic, noctx (эти 2 касаются defer и отправки запросов без контекста).

Обсудим:

простые правила, которые не стоит забывать

мифы о производительности в духе "А я слышал, что X повышает скорость на Y%"

более интересные штуки, типо замены switch на map, проведём пару тестов, поэкспериментируем

Ну и помним, что преждевременная оптимизация — корень всех зол, не стоит сразу пытаться писать скоростной код, это может быть не так просто.

Поехали!

Читать далее
Всего голосов 18: ↑13 и ↓5 +8
Комментарии 18

Проверяем актуальность go.mod и go.sum

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 1.7K

При ревью запроса на слияние периодически приходится сталкиваться с подозрительными изменениями go.mod и go.sum. Например, когда изменяется только один файл из двух, или когда в Go коде мы не видим то, что могло бы привести к изменениям go.mod и go.sum.

В таких случаях возникают закономерные вопросы: нужны ли эти изменения? почему они появились?

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 4

Погружение в Web RTC или пишем SFU своими силами

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.1K

Web RTC уже давно имеет поддержку в большинстве браузеров, поэтому обходить стороной технологию довольно глупо. Вот и я так подумал, поэтому в качестве пет-проекта решил написать sfu-сервер на golang.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Анонимный обмен файлами в реалиях глобального наблюдателя

Уровень сложности Сложный
Время на прочтение 20 мин
Количество просмотров 6K

Сегодня уже ни для кого не секрет, что каждое отправляемое нами сообщение из любой точки мира может быть успешно перехвачено, проанализировано и отфильтровано компаниями, корпорациями и государственными спец службами. Каждый наблюдатель в такой ролевой модели преследует выполнение своих, точно заданных задач. Но когда таковые наблюдатели объединяются в одного, сию же минуту рождается, как новая звезда в космическом пространстве, глобальный наблюдатель, противодействий которому будет недостаточно со стороны классических анонимных сетей, будь то Tor, I2P или Mixminion.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 7

Fitter —  сшиватель API/Website's.  Большое обновление

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.4K

Добрый вечер всем!

С момента выхода предидущей статьи про Fitter прошла достаточно много времени и в связи с этим я хотел поделиться обновлениями, которые были сделаны.

Итак, что появилось:

Читать далее
Рейтинг 0
Комментарии 0

Ближайшие события

One Day Offer от УЦСБ
Дата 17 февраля
Время 10:00
Место
Онлайн

Баги, которые мы пишем, ищем и исправляем

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 1.6K

Привет! Меня зовут Денис, я - разработчик ПО SEDMAX. Это промышленное ПО для сбора и визуализации данных в энергетике. Как и у всех, у нас бывают баги. Мне бы хотелось поделиться опытом в поиске таких багов, а так же порассуждать на тему того, что необходимо было сделать, чтобы баг не появился. У нас серверная часть написана на go в виде некоторого множества сервисов, поэтому специфика большинства багов будет асинхронное взаимодействие, а код примеров представлен на go.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 7

Некоторые возможности ssh в golang

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.3K

Создать ssh-сервер на Go можно при помощи модуля golang.org/x/crypto/ssh.

А при помощи пакета github.com/gliderlabs/ssh можно разработать ssh-сервер легко и быстро. Ssh подразумевает не только доступ к оболочке(shell), но и прочие возможности: файловый сервер(sftp), проброс портов.

README пакета gliderlabs/ssh содержит минимальный пример, выводящий строку "Hello world" любому подключенному ssh-клиенту.

Реализуем же полноценный терминальный интерфейс.

go next()
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 1

GoFunc: новая конференция по Go

Время на прочтение 6 мин
Количество просмотров 1.9K

Разработка на Go — особый мир. Этот язык не так популярен, как Python или JavaScript, но благодаря этому и дурацкой шумихи вокруг него меньше. Популярность приманивает «случайно проходивших мимо» и вызывает много глупых холиваров. А тем временем Go собирает людей, которые хорошо понимают, зачем они здесь, и хотят эффективно решать реальные задачи. 

В этом могут помочь конференции. Для многих других разработчиков мы уже давно их проводим (вроде HolyJS или С++ Russia). А в марте впервые проведём новую конференцию GoFunc. Главное, что нужно о ней знать:

Полностью в онлайне, можно подключиться откуда угодно. 
 Технические доклады без воды и маркетинга.
 Если вы сами готовы выступить, сейчас последние дни подачи заявок.

А подробнее — в полном тексте:

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0

Сравниваем форматы сериализации на Go: скорость и удобство

Время на прочтение 6 мин
Количество просмотров 7.1K

Дмитрий Королёв, бэкенд-разработчик в Авито, разобрал на примерах, чем отличаются друг от друга форматы сериализации данных, и как выбрать самый удобный.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 7

SOLID и DRY в Go

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 4.8K

Привет, Хабр!

Все знают, что SOLID и DRY делают код более чистым, гибким и, что немаловажно, понятным для других разрабов. Каждый компонент выполняет свою функцию и вместе они создают гармонию.

В этой статье рассмотрим как эти принципы применяются в golang.

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 8

RPC на примере gRPC. Когда применять и как работает

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 9.3K

Доброго времени суток, коллеги. Я go разработчик, по-этому примеры будут преимущественно на нём. Хочу порассуждать о методах взаимодействия сервисов. Тема очень обширна. Зачастую мы пользуемся реализациями, которые не всегда подходят, т.к. не знаем куда применить ту или иную технологию. Я хочу попытаться начать закрывать этот пробел как у себя, так и у людей. Любые комментарии и конструктивные исправления приветствуются.

В данной статье хочу разобрать как работает gRPC, что он может, а так же когда и зачем его использовать.

Узнать ->
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 6

Go — 100 вопросов/заданий с собеседований

Уровень сложности Средний
Время на прочтение 87 мин
Количество просмотров 35K

Приветствую тебя, хаброжитель!

В этой статье разберём 100 вопросов, они покрывают львиную долю того, что могут спросить на собеседовании джуниор Go-разработчика с практически любой специализацией. Конечно же, в реальной работе на Go требуются немного другие скиллы, чем умение быстро ответить на любой вопрос. Однако сложилась добрая традиция делать из собеседования викторину с главным призом в виде трудоустройства — к этому нужно быть готовым.

Читать далее
Всего голосов 51: ↑42 и ↓9 +33
Комментарии 12

Вклад авторов

Работа

Go разработчик
142 вакансии