📌Должность: Ведущий разработчик Golang
Форма занятости: Полная занятость
Место работы: Удаленно
Заработная плата: От 4,000 до 6000 долларов США в месяц
Мы дружный коллектив серийных предпринимателей, за плечами которых более 5 успешных стартапов на мировом рынке.
В нашей команде открыта вакансия Ведущего разработчика Golang, который умеет выстраивать архитектуру проекта, мыслит как разработчик, и не просто "специалист с YouTube". Вы будете работать над передовым проектом по автоматизации социальной активности и анализу поведения.
Основные обязанности:
- Руководство разработкой архитектуры проекта
- Разработка бэкенда нашего продукта
- Руководство командой разработчиков
- Участие во всех фазах жизненного цикла разработки
- Перевод сложных функциональных и технических требований в подробную архитектуру и дизайн
Требования:
- Опыт разработки на Golang не менее 4 лет
- Опыт работы с Go, RabbitMQ, MySQL, и Redis
- Знание различных дизайнов, архитектурных шаблонов и инструментов
- Сильные навыки решения проблем и отладки
- Навыки письменной и устной коммуникации
- Умение эффективно руководить командой и выдвигать проекты вперед
Если вы опытный разработчик Golang и ищете роль руководителя, мы хотели бы с вами встретиться. Для получения дополнительной информации, пожалуйста, свяжитесь с @miminator.
#go #golang #lead
Форма занятости: Полная занятость
Место работы: Удаленно
Заработная плата: От 4,000 до 6000 долларов США в месяц
Мы дружный коллектив серийных предпринимателей, за плечами которых более 5 успешных стартапов на мировом рынке.
В нашей команде открыта вакансия Ведущего разработчика Golang, который умеет выстраивать архитектуру проекта, мыслит как разработчик, и не просто "специалист с YouTube". Вы будете работать над передовым проектом по автоматизации социальной активности и анализу поведения.
Основные обязанности:
- Руководство разработкой архитектуры проекта
- Разработка бэкенда нашего продукта
- Руководство командой разработчиков
- Участие во всех фазах жизненного цикла разработки
- Перевод сложных функциональных и технических требований в подробную архитектуру и дизайн
Требования:
- Опыт разработки на Golang не менее 4 лет
- Опыт работы с Go, RabbitMQ, MySQL, и Redis
- Знание различных дизайнов, архитектурных шаблонов и инструментов
- Сильные навыки решения проблем и отладки
- Навыки письменной и устной коммуникации
- Умение эффективно руководить командой и выдвигать проекты вперед
Если вы опытный разработчик Golang и ищете роль руководителя, мы хотели бы с вами встретиться. Для получения дополнительной информации, пожалуйста, свяжитесь с @miminator.
#go #golang #lead
👍5
🥳 Вышел Go 1.23.0!
📝 Release notes: https://go.dev/doc/go1.23
⬇️ Download: https://go.dev/dl/#go1.23.0
#golang
👉 @golang_lib
📝 Release notes: https://go.dev/doc/go1.23
⬇️ Download: https://go.dev/dl/#go1.23.0
#golang
👉 @golang_lib
👍7🤯2👎1
Как использовать defer в Go
Defer — это ключевое слово в Go, которое позволяет отложить выполнение функции до момента завершения выполнения текущей функции. Это относительно простой способ управлять ресурсами.
В этой статье мы и рассмотрим как использовать defer в Golang.
https://habr.com/ru/companies/otus/articles/833702/
#golang
👉 @golang_lib
Defer — это ключевое слово в Go, которое позволяет отложить выполнение функции до момента завершения выполнения текущей функции. Это относительно простой способ управлять ресурсами.
В этой статье мы и рассмотрим как использовать defer в Golang.
https://habr.com/ru/companies/otus/articles/833702/
#golang
👉 @golang_lib
👍5
12 личных приёмов работы с Go, которые повысили мою продуктивность
Возможно, вы не встречали эти техники раньше, так как я разработал их специально для использования в моей команде.
https://blog.devtrovert.com/p/12-personal-go-tricks-that-transformed
#golang
👉 @golang_lib
Возможно, вы не встречали эти техники раньше, так как я разработал их специально для использования в моей команде.
https://blog.devtrovert.com/p/12-personal-go-tricks-that-transformed
#golang
👉 @golang_lib
Реализация in-memory кэша на Go
В постоянно развивающемся мире разработки программного обеспечения производительность является ключевым фактором. Независимо от того, создаёте ли вы веб-приложение, микросервис или любую другую программную систему, оптимизация задержки ваших API (времени отклика) может улучшить пользовательский опыт и снизить операционные затраты (ЦП/память). Один из эффективных методов повышения производительности — использование кэша в памяти. В этом блоге мы углубимся в реализацию кэша в памяти на Go (как с использованием дженериков, так и без них).
https://www.mohitkhare.com/blog/go-in-memory-cache/
#golang
👉 @golang_lib
В постоянно развивающемся мире разработки программного обеспечения производительность является ключевым фактором. Независимо от того, создаёте ли вы веб-приложение, микросервис или любую другую программную систему, оптимизация задержки ваших API (времени отклика) может улучшить пользовательский опыт и снизить операционные затраты (ЦП/память). Один из эффективных методов повышения производительности — использование кэша в памяти. В этом блоге мы углубимся в реализацию кэша в памяти на Go (как с использованием дженериков, так и без них).
https://www.mohitkhare.com/blog/go-in-memory-cache/
#golang
👉 @golang_lib
👍4
«Бобер выдыхай»: Go, WinAPI и ассемблер
Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.
https://habr.com/ru/articles/837454/
#golang
👉 @golang_lib
Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.
https://habr.com/ru/articles/837454/
#golang
👉 @golang_lib
Как мы ускорили Golang-тесты на CI
В этой статье я расскажу о том, как желание улучшить свой рабочий процесс CI помогло ускорить все golang-пайплайны в PaaS СберМаркета.
В СберМаркете микросервисная архитектура. В качестве CI/CD используется GitLab. На CI гоняются вполне типовые задачи по тестированию, различным проверкам, сборкам образов и т. д. Часть job предоставляется самим сервисом, часть — внедряется в пайплайн сервиса нашей платформой.
Во всех golang-сервисах пишут тесты на свой код. В разных сервисах подход к тестированию немного различается, но сейчас я не буду углубляться в виды тестирования. Общее между всеми сервисами — «в среднем по больнице» тесты гоняются на CI более 5 минут.
Я пришел в СберМаркет в конце августа 2023 года. Глядя на набор Unit-тестов в одном из наших сервисов Odin, я немного расстроился. Каждый раз нужно было ждать на CI больше 6 минут, чтобы узнать, все ли хорошо с тестами. Их в наборе было около 400.
Я подумал, что неплохо было бы разобраться со скоростью. Предположил, что проблема может быть связана с базой данных, неоптимальным сидированием, что можно улучшить очистку и добавить параллелизма. И даже начал накидывать в голове план ускорения...
https://habr.com/ru/companies/kuper/articles/806725/
#golang
👉 @golang_lib
В этой статье я расскажу о том, как желание улучшить свой рабочий процесс CI помогло ускорить все golang-пайплайны в PaaS СберМаркета.
В СберМаркете микросервисная архитектура. В качестве CI/CD используется GitLab. На CI гоняются вполне типовые задачи по тестированию, различным проверкам, сборкам образов и т. д. Часть job предоставляется самим сервисом, часть — внедряется в пайплайн сервиса нашей платформой.
Во всех golang-сервисах пишут тесты на свой код. В разных сервисах подход к тестированию немного различается, но сейчас я не буду углубляться в виды тестирования. Общее между всеми сервисами — «в среднем по больнице» тесты гоняются на CI более 5 минут.
Я пришел в СберМаркет в конце августа 2023 года. Глядя на набор Unit-тестов в одном из наших сервисов Odin, я немного расстроился. Каждый раз нужно было ждать на CI больше 6 минут, чтобы узнать, все ли хорошо с тестами. Их в наборе было около 400.
Я подумал, что неплохо было бы разобраться со скоростью. Предположил, что проблема может быть связана с базой данных, неоптимальным сидированием, что можно улучшить очистку и добавить параллелизма. И даже начал накидывать в голове план ускорения...
https://habr.com/ru/companies/kuper/articles/806725/
#golang
👉 @golang_lib
👍4
Huma — REST/HTTP API фреймворк для Golang с поддержкой OpenAPI 3.1
Современный, простой, быстрый и гибкий микрофреймворк для создания HTTP REST/RPC API на Go, поддерживаемый OpenAPI 3 и JSON Schema.
https://github.com/danielgtaylor/huma
#golang
👉 @golang_lib
Современный, простой, быстрый и гибкий микрофреймворк для создания HTTP REST/RPC API на Go, поддерживаемый OpenAPI 3 и JSON Schema.
https://github.com/danielgtaylor/huma
#golang
👉 @golang_lib
👍5
Использование миграций баз данных в Go
Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В нашем проекте команда решила не использовать ORM (Object-Relational Mapping), а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.
https://habr.com/ru/articles/809301/
original https://blog.stackademic.com/using-database-migrations-with-golang-7f6736f580c8
#golang
👉 @golang_lib
Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В нашем проекте команда решила не использовать ORM (Object-Relational Mapping), а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.
https://habr.com/ru/articles/809301/
original https://blog.stackademic.com/using-database-migrations-with-golang-7f6736f580c8
#golang
👉 @golang_lib
👍5
Функциональные опции в Go
Салют! Меня зовут Дима, я руковожу командой разработки ядра цифровой медицины в Республике Узбекистан. Сегодня я хочу поделиться своими знаниями о паттерне, который может значительно упростить работу, если ты пишешь на Go. Речь пойдет о функциональных опциях.
Поначалу это может показаться немного сложным, но на самом деле идея и реализация очень просты. Поверь, как только ты разберешься, твой код станет немного гибче и проще.
К сожалению в Go нет богатого функционала управления “обязательными” и “необязательными” аргументами функции, также нет приятного способа присваивания дефолтных значений этим аргументам, однако есть небольшой лайфхак, об этом сегодня и пойдет речь.
Представь что у тебя есть функция, у которой много параметров для конфигурации. Как обычно пишутся такие функции? Ты создаешь структуру, пихаешь в неё все имеющиеся параметры, затем пишешь для неё конструктор, в который также суешь все эти параметры в виде аргументов. Теперь при вызове функции приходится каждый раз прописывать одни и те же аргументы для конфигурации. Это может быстро превратиться в кошмар, особенно если этих параметров становится 10, 15 или даже 20. Запутаться или ошибиться в таком случае очень легко, так как функция превращается в свалку аргументов.
https://habr.com/ru/articles/842594/
#golang
👉 @golang_lib
Салют! Меня зовут Дима, я руковожу командой разработки ядра цифровой медицины в Республике Узбекистан. Сегодня я хочу поделиться своими знаниями о паттерне, который может значительно упростить работу, если ты пишешь на Go. Речь пойдет о функциональных опциях.
Поначалу это может показаться немного сложным, но на самом деле идея и реализация очень просты. Поверь, как только ты разберешься, твой код станет немного гибче и проще.
К сожалению в Go нет богатого функционала управления “обязательными” и “необязательными” аргументами функции, также нет приятного способа присваивания дефолтных значений этим аргументам, однако есть небольшой лайфхак, об этом сегодня и пойдет речь.
Представь что у тебя есть функция, у которой много параметров для конфигурации. Как обычно пишутся такие функции? Ты создаешь структуру, пихаешь в неё все имеющиеся параметры, затем пишешь для неё конструктор, в который также суешь все эти параметры в виде аргументов. Теперь при вызове функции приходится каждый раз прописывать одни и те же аргументы для конфигурации. Это может быстро превратиться в кошмар, особенно если этих параметров становится 10, 15 или даже 20. Запутаться или ошибиться в таком случае очень легко, так как функция превращается в свалку аргументов.
https://habr.com/ru/articles/842594/
#golang
👉 @golang_lib
👍5❤1
Как построить полноценное распределенное файловое хранилище на Golang
https://www.youtube.com/watch?v=bymQakvTY40
#golang
👉 @golang_lib
https://www.youtube.com/watch?v=bymQakvTY40
#golang
👉 @golang_lib
YouTube
How To Build A Complete Distributed File Storage In Golang
► Join my Discord community for free education 👉 https://discord.com/invite/Ac7CWREe58
► Exclusive Videos, Mini courses, Resume reviews, and coaching 👉 http://thetotalcoder.com
► 33% OFF on my Go + HTMX + Templ Course 👉https://bit.ly/3UFruxO
► Enjoy a…
► Exclusive Videos, Mini courses, Resume reviews, and coaching 👉 http://thetotalcoder.com
► 33% OFF on my Go + HTMX + Templ Course 👉https://bit.ly/3UFruxO
► Enjoy a…
👍8