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

Go *

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

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

Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

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

Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести минимальное, среднее и максимальное значение. Чтобы упростить задачу, было ещё несколько ограничений, однако я проигнорировал те, что относятся только к Java.

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

Новости

Структурированное логирование в Go с помощью Slog

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

Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила Slog — высокопроизводительный пакет для структурированного ведения логов в стандартной библиотеке Go. Мы перевели гайд о возможностях slog.

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

Где искать работу Go разработчику в 2024 году

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


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

Часто они сталкиваются с дилеммой: не знают, с чего начать, и чувствуют, что устроиться на работу в этой сфере практически невозможно. Однако стоит помнить, что первую работу найти может быть непросто, но если приложить усилия и старания, то все возможно. 

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

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

Что расскажут на GoFunc: язык, инструменты, архитектура и патологоанатомы

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

Чем обычно заняты патологоанатомы, и при чём тут Go?

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

А теперь, когда GoFunc уже на носу, представляем Хабру полную программу с описаниями всех докладов. Там про самое разное — и инструменты, и архитектуру, и сам язык. Ну и о том, чем заняты патологоанатомы и при чём тут Go, тоже сказано.

Программа GoFunc 2024
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 0

Истории

JSON in GO

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

Это перевод одноименной статьи.

Базовое использование

Сериализации JSON в Go

В стандартном пакете encoding/json присутствуют механизмы сериализации marshaling и десериализации unmarshaling JSON.

Пример:

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

Уведомления через Telegram-бота при помощи почтового триггера Yandex Cloud Functions

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

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

Возможно, многие сталкивались с задачей: есть сервер с некими cronjob-ами, результат выполнения которых хотелось бы мониторить определенному числу лиц, но при этом сервер находится в каком-нибудь intranet и не имеет доступа к сети интернет. Вот и у нас однажды возникла подобная проблема. Единственным доступным средством коммуникации с внешним миром у сервера был почтовый шлюз, через который можно было отправить электронную почту. До некоторого времени задача решалась отправкой нескольких копий письма, но со временем стало понятно, что гораздо  удобнее читать уведомления в Telegram. Такую настройку мы произвели с помощью Yandex Cloud Functions.

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

Прокси-сервер для Android на Go

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

Реализация простого HTTP CONNECT прокси-сервера на Go, квест с маркировкой сетевых пакетов и запуск программы в Android.

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

Электронные подписи. Но что мы знаем о мультиподписях?

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

Небольшое введение в технологии MPC и мультиподписей.

Краткое описание набора протоколов и используемой реализации мультиподписи.

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

Как я пишу HTTP-сервисы спустя 13 лет работы с Go

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

Примерно шесть лет назад я написал пост о том, как пишу HTTP-сервисы на Go, и сегодня я снова хочу рассказать, как пишу HTTP-сервисы.

Тот пост оказался довольно популярным и вызвал обсуждения, повлиявшие на то, как я делаю это сегодня. И спустя годы ведения подкаста Go Time, обсуждения Go в X/Twitter и поддержки подобного кода я решил, что настало время обновить информацию.

(Если вы педант и скажете, что Go не совсем 13 лет, то я отвечу, что начал писать HTTP-сервисы на Go версии .r59.)

В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go

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

Обзор библиотеки Go Kit

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

Салют, Хабр!

Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные протоколы, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.

Мотивацию создания этой либы разработчики описали так:

Go стал языком сервера, но он по-прежнему недостаточно представлен в так называемых «современных корпоративных» компаниях, таких как Facebook, Twitter, Netflix и SoundCloud. Многие из этих организаций обратились к стекам на основе JVM для создания своей бизнес-логики, во многом благодаря библиотекам и экосистемам, которые напрямую поддерживают их микросервисные архитектуры.

Чтобы достичь следующего уровня успеха, Go нужно нечто большее, чем простые примитивы и идиомы. Ему нужен всеобъемлющий набор инструментов для последовательного распределенного программирования в целом. Go Kit — это набор пакетов и лучших практик, которые обеспечивают комплексный, надежный и надежный способ создания микросервисов для организаций любого размера.

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

Go 1.22: Rangefunc Experiment

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

Разработчики Go в версии 1.22 добавили предварительную экспериментальную реализацию итераторов на уровне языка.

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

Шаблон телеграмм бота на go

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

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

В него можно легко добавлять новые модули, расширяющие возможности бота.
Не тратьте время на банальности, его уже потратили для Вас !

Run Go, Run !
Всего голосов 17: ↑7 и ↓10 -3
Комментарии 7

Обзор библиотеки bleve в Golang

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

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

В этой статье рассмотрим основной функционал этой библиотеки.

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

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

Moscow QA #3 — митап по тестированию ПО
Дата 14 марта
Время 18:30 – 21:30
Место
Москва Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Шаблонизатор GO text template для новичков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Go 1.22


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задача

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

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

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

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

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

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

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

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

Работа

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