В Bazel есть две крайне полезные фичи:stamping – позволяет встроить в артефакт данные о том, от какого коммита можно собрать аналогичный артефакт;remote cache и remote build – позволяет иметь общий кэш между сборщиками или даже собрать артефакты на ферме.Ранее, к сожалению, эти фичи были взаимоисключающими, но с версии Bazel 7.0 можно использовать stamping с remote cache при помощи scrubbing-а. Сегодня вышла версия Bazel 7.1, в которой появилась возможность использовать stamping с remote build…
В этом посте я расскажу, как воспользовался методологией управления инцидентами, чтобы справляться со сложным заболеванием. Надеюсь, вам понравится! Британцы любят выпить. Вы когда-нибудь задумывались, сколько граммов углеводов в пинте пива? А как насчёт бургера с картошкой? Или салата, который в меню обычно указан как блюдо с низким содержанием углеводов? Вы можете ответить: да кого это вообще волнует? Людей заботит съедаемое количество калорий, только когда они пытаются набрать или сбр…
Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр.Что такое Ebiten?Ebiten - это простая и эффективная библиотека для создания 2D игр на языке Go. Она предоставляет удобные инструменты для рисования графики, обработки ввода и управления анимациями.Установка и настройкаПеред тем как начать разработку игры, вам …
Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести минимальное, среднее и максимальное значение. Чтобы упростить задачу, было ещё несколько ограничен…
Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила Slog — высокопроизводительный пакет для структурированного ведения логов в стандартной библиотеке Go. Мы перевели гайд о возможностях slog.ПредысторияПакет Slog берет свое начало в дискуссии на GitHub, открытой Джонатаном …
В поисках работы и фриланс-проектов для разработчиков Golang в 2024 году могут возникнуть некоторые сложности, особенно для новичков. Часто они сталкиваются с дилеммой: не знают, с чего начать, и чувствуют, что устроиться на работу в этой сфере практически невозможно. Однако стоит помнить, что первую работу найти может быть непросто, но если приложить усилия и старания, то все возможно. Давайте рассмотрим список ресурсов, где регулярно публикуются вакансии и фриланс проекты для Go разработчико…
Почему патологоанатомы обычно заняты совсем не вскрытиями, и при чём тут Go?Так, предыдущим вопросом мы завладели вашим вниманием, теперь о главном. В январе мы рассказали Хабру о нашей новой конференции для Go-разработчиков и привели примеры докладов.А теперь, когда GoFunc уже на носу, представляем Хабру полную программу с описаниями всех докладов. Там про самое разное — и инструменты/библиотеки, и архитектуру, и сам язык/рантайм. Ну и о том, чем заняты патологоанатомы, тоже сказано, так уж п…
Это перевод одноименной статьи.Базовое использованиеСериализации JSON в GoВ стандартном пакете encoding/json присутствуют механизмы сериализации marshaling и десериализации unmarshaling JSON.Пример:data, err := json.Marshal(yourVar)Метод Marshal() принимает переменную yourVar любого типа, которую нужно сериализовать в JSON, и возвращает два значения: сериализованные данные в виде байтового массива ([]byte) и ошибку (error), если таковая возникает.Пример:data, err := json.Marshal(yourVar) if e…
Привет, Хабр!Возможно, многие сталкивались с задачей: есть сервер с некими cronjob-ами, результат выполнения которых хотелось бы мониторить определенному числу лиц, но при этом сервер находится в каком-нибудь intranet и не имеет доступа к сети интернет. Вот и у нас однажды возникла подобная проблема. Единственным доступным средством коммуникации с внешним миром у сервера был почтовый шлюз, через который можно было отправить электронную почту. До некоторого времени задача решалась отправкой нес…