Давненько я не писал никаких статей на Хабре. Я планировал вести серию заметок о разработке игр на 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, один из популярных инструментов, который помогает рассл…
В #CloudMTS мы активно используем Go. Например, Go основной язык в балансировщике нагрузки (GSLB), в сервисах создания и управления кластерами PostgreSQL и Redis. Благодаря производительности, скорости, встроенной поддержке параллелизма, упрощенному синтаксису, Go становится естественным выбором при написании облачных сервисов. Сегодня поговорим об инструментарии и подходах, которые помогают получить читаемый и поддерживаемый код, а вместо с ним — производительные и надежные сервисы. Back…
Привет, Хабр! 25 мая в Петербурге и онлайн проведём митап для разработчиков любого уровня, тимлидов и целых команд, которые задумываются о переходе на Go или уже начали применять его в коммерческой разработке. У нас большой опыт в этом — в YADRO существует практика, когда разработчики переходят на Go с других языков программирования. В рамках митапа наши инженеры поделятся подходами, которые помогают быстро изучить нюансы и влиться в работу на новой технологии. Поговорим, как писать производит…
Всем привет! Я Илья Сергунин, веб-разработчик из продуктовой команды Авито. Мы пишем на Go сервис для выкупа мобильных телефонов, про MLP которого уже писали в блоге. В качестве примеров я буду использовать всем знакомый интернет-магазин, чтобы показать, как создать репозиторий через менеджер транзакций. Важное замечание: в Go нужно явно прописывать обработку каждой ошибки. В некоторых примерах я скрываю эту часть кода, чтобы они легче читались.Для чего нам нужен менеджер транзакцийПаттерн Rep…