Всем привет! Меня зовут Юрий, я руковожу группой прикладной разработки в департаменте мультивендорных решений и экспертизы YADRO. Мы занимаемся развитием собственного сервисного инструмента «Гегелло», который позволяет работать с диагностическими данными различного оборудования и визуализировать проблемы в системах. Какую задачу решает платформа, почему это не просто «Grafana у нас дома» и что в основе архитектуры «Гегелло» — читайте в статье.Предпосылки появления «Гегелло»Мой коллега Артём Сми…
Уже с первого курса университета — или даже раньше — вы могли догадаться, что писать arr[len(arr)] — плохая затея. И вряд ли так кто-то может ошибиться, правда? Мы тоже так думали, пока не проверили 1000 проектов.На всякий случай объясню ошибкуЛюбой разработчик на Go знает, что встроенная функция len() принимает значение и возвращает длину в соответствии с типом значения.Обратимся к документации и подробнее рассмотрим сигнатуру функции:func len(v Type) int Встроенная функция len возвращает длин…
Go часто называют простым языком. Но простота синтаксиса не отменяет конкурентности, рантайма, сборщика мусора, интерфейсов, особенностей памяти и реального production-опыта. Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Владимиром Балуном — разработчиком на C++ и Go, автором YouTube-канала «Владимир Балун» о программировании и основателем школы программирования. В этом выпуске мы разбираем, почему Go стал таким востребованным, кому он подходит, как на него переходить, а такж…
Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся на онлайн-встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — подключайтесь к трансляции и слушайте тех, кто работает с Go каждый день.Что в программеСвоим опытом поделятся инженеры YADRO и Postgres Professional. В самом начале Руслан Барсуков, ведущий инженер по разработке ПО, расскажет о планах московского Go-сообщества и проектах, над которыми работают Go-раз…
Предыстория Современный разработчик не упускает возможностей — отказаться от мок-собеса в Яндекс я не смог. Отдельная благодарность двум людям, без которых этого опыта не было бы: Оле Рыбаковой, которая предложила попробовать себя в прохождении мока — и это дорогого стоит, когда человек помогает, не будучи обязан это делать. И Наде Безносовой, продюсеру мероприятия — она ввела нас в формат и сделала всё для нашего комфорта.Предложение пришло в удачный момент: между проектами, когда я закрывал…
ВведениеПривет, Хабр! Текущая статья будет полезна тем, кто уже знаком с основами языка программирования Golang и хочет более углублённо изучить его. Исходя из названия стати понятно, что речь пойдёт об аллокаторах, основных видах, плюсах и минусах, а также о том, какой аллокатор используется в Go. Я настоятельно рекомендую прочитать статью целиком, прежде, чем приступать к чтению части конкретно относящейся к аллокатору Go.Что такое аллокатор?Аллокатор - это некоторая сущность (программа), кот…
Меня зовут Станислав Герасимов. Я программист С++/Qt, а также Go и выпускник магистратуры НИУ ВШЭ. С детства живу с тяжёлым неврологическим заболеванием — вторичной генерализованной дистонией с выраженными гиперкинезами. После многих лет лечения, нескольких нейрохирургических операций и многочисленных отказов в дальнейшем лечении в России я прошёл повторную операцию глубокой стимуляции мозга (DBS) в Турции у профессора Аттилы Йылмаза. На этом сайте я делюсь своей историей, рассказываю о лечении…
В свободное время пишу на чистом Go порт DAP. DAP, Distributed Aggregation Protocol - это протокол распределённой агрегации для приватных измерений, из IETF, рабочая группа PPM (Privacy Preserving Measurement). Идея простая: собрать статистику по куче пользователей так, чтобы ни один сервер по дороге не увидел ни одного отдельного значения. Реализаций DAP несколько (daphne у Cloudflare, divviup-ts), а я целюсь в Janus на Rust, реализацию ISRG - тех же людей, что делают Let’s Encrypt. Взял его п…
Привет! На связи Влад, разработчик product-facade — сердца витрины Ozon и одного из самых высоконагруженных сервисов, который выдерживает до 2,2 млн RPS. В прошлой моей статье я рассказывал об одном из архитектурных вызовов, с которым мы столкнулись в процессе работы. В этот раз продолжим тему микросервисной архитектуры и поговорим о том, что происходит, когда привычная строгость контрактов начинает мешать.Одна из ключевых причин использования gRPC для связи между сервисами — строгий protobuf-к…