В феврале появилась новая версия Golang — 1.20. Разработчики представили в предварительной версии инструмент оптимизации — profile-guided optimization, или коротко PGO. Этот подход позволяет оптимизировать процесс компиляции приложения за счет использования информации, собранной при профилировании сборки в момент выполнения программы в рабочем окружении.В итоге, опираясь на собранные данные, компилятор в состоянии принимать более качественные решения оптимизации при очередном запуске программы…
Рекомендации по стилю для проектов Google с открытым исходным кодом Лучшие практики Go Этот документ — часть документации по стилю Go в Google. Он не является ни нормативным, ни каноничным, это дополнение к «Руководству по стилю». Подробности смотрите в Обзоре. О документе Здесь приведены рекомендации по лучшим практикам применения требований «Руководства по стилю» для Go. Это руководство охватывает общие и распространенные случаи, но не может применяться к каждому частному случаю. Обсуждение …
Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья — про тулинг верификации контрактов между сервисами. Она для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров. А также для тех, кто уже живет в мире микросервисов, но недоволен результатом и ище…
Давненько я не писал никаких статей на Хабре. Я планировал вести серию заметок о разработке игр на Go и начал я с рендеринга текста, но меня не хватило даже на второй текст. Что же, настало время возвращаться, ведь с того момента я успел создать ещё несколько игрушек. Сегодня я расскажу вам о шейдерах в Ebitengine. Большая часть примеров будет взята из Roboden и Decipherism (обе игры имеют открытые исходные коды и вы можете найти их на гитхабе). Коротко о том, что такое шейдеры Я буду говори…
Go, или Golang, – компилируемый многопоточный язык программирования, разработанный в Google. В 2007 г. работу над ним начали Роб Пайк и Кен Томпсон с целью создать быстрый, производительный и нескучный язык, при этом не потеряв в читабельности и простоте. И в результате у них получился Go – язык, призванный упростить и ускорить разработку программного обеспечения.В этой статье я расскажу про аспекты Golang, на которые стоит обратить внимание в первую очередь, а также приведу ссылки на современ…
Всем привет! Меня зовут Виталий Карпенко, я Go-разработчик в tooling-команде Lamoda Tech. Наша команда занимается разработкой внутренних библиотек и Go-инструментария, а также поддержкой существующих opensource-инициатив.При создании новых сервисов повсеместно используют шаблонизацию, в крайнем случае — в формате ручного копирования кода. Но ручное копирование не исключает ошибок, а еще это муторно и долго. Быстрее и приятнее ответить CLI-утилите на несколько вопросов о будущем проекте и получ…
ВведениеЗдравствуйте, дорогие читатели! Я рад представить вам алгоритм, который разработал для решения задачи нахождения кратчайших путей в графе, когда использование алгоритма Дейкстры было неэффективно из-за ограничений по памяти. Этот алгоритм имеет ряд преимуществ перед традиционным алгоритмом Дейкстры. В данной статье мы рассмотрим ключевые особенности этого алгоритма, его преимущества и недостатки, а так же примеры реализации.Описание алгоритма Алгоритм использует матрицу размером 5xN дл…
Не хочешь создавать проект сам? И не надо - используй cps!Я начинал свой путь в разработке с JavaScript/React и всегда, когда я начинал новый проект, то я просто делал `create-react-app .` и не думал на тот счет, что мне надо будет самому создавать файловую структура своего проекта с нуля.Спустя какое-то время работы с front-end'ом я решил перейти в страшный лес, каким его всегда представляли всякие мемы - back-end. Конечно же я выбрал node.js и начал с express.js. Для меня было необычно, …
Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков программирования, в том числе в продакшен. Эта статья про Go и микросервисную архитектуру написана на основе вебинара для Яндекс Практикума. Рассмотрим, как работает Jaeger, один из популярных инструментов, который помогает рассл…