Category : golang

golang
Как работает рекурсия?

В этой статье вы узнаете о рекурсии и о том, как она работает.Примеры в этой статье на языке Go, но концепция рекурсии одинакова для любого языка программирования.Что такое рекурсия?В большинстве языков программирования функция может вызывать другую функцию. Но функция также может вызывать саму себя. Рекурсия - это техника, при которой функция вызывает саму себя.Пример:// Функция для вычисления факториала с использованием рекурсии func factorial(n int) int { if n == 0 { // Базовый случай: факт…

  • вторник, 28 января 2025 г. в 00:00:08
golang
Гайд по подготовке к собеседованию для Backend-разработчиков

Тимур Мухитдинов, Senior Software Development Engineer в Booking.com, поделился своими советами по подготовке к собеседованию на позицию backend‑разработчика.Недавно я провёл своё 40-е собеседование в Booking.com, где оцениваю кандидатов по кодингу, системному дизайну и код‑ревью. Я хорошо понимаю ожидания от кандидатов на разные уровни: core developer, senior developer и engineering manager. Эти знания могут быть полезны для тех, кто готовится к собеседованию в Booking.com или других крупных к…

  • вторник, 28 января 2025 г. в 00:00:07
golang
Benchmark — тесты в Go

Позвольте мне начать с вопроса: Как бы вы протестировали производительность части кода или функции в Go? Если вы уже опытный разработчик здесь вы ничего нового не узнаете, но для новичков это отличная возможность узнать что-то новое и попрактиковаться.В этом уроке я покажу вам, очень подробно, как использовать потрясающий инструмент бенчмаркинга, который встроен в пакет тестирования Golang.Давайте начнёмЧто такое Benchmark - тестыВ Go Benchmark - тесты используются для измерения производительн…

  • понедельник, 27 января 2025 г. в 00:00:05
golang
Как я программирую при помощи больших языковых моделей

От переводчика.Под катом я помещаю для вас перевод статьи знаменитого и влиятельного инженера из Кремниевой Долины Дэвида Крошо (David Crawshaw), сооснователя и технического директора (CTO) компании Tailscale. Ранее Дэвид более 9 лет работал программистом-исследователем в компании Google и в настоящее время является одним из самых авторитетных практикующих специалистов по языку Go. В частности, именно Дэвид адаптировал Go для платформ iOS и Android. В статье Дэвид делится своими наблюдениями о …

  • воскресенье, 26 января 2025 г. в 00:00:09
golang
Benchmark — тесты (Golang)

Здравствуйте, уважаемые, Гоферы 👋Позвольте мне начать с вопроса: Как бы вы протестировали производительность части кода или функции в Go? Если вы уже опытный разработчик здесь вы ничего нового не узнаете, но для новичков это отличная возможность узнать что-то новое и попрактиковаться.В этом уроке я покажу вам, очень подробно, как использовать потрясающий инструмент бенчмаркинга, который встроен в пакет тестирования Golang.Давайте начнёмЧто такое Benchmark - тестыВ Go Benchmark - тесты использу…

  • суббота, 25 января 2025 г. в 00:00:11
golang
Алгоритмы сортировки в Go: какие есть и как работают

Сортировка — это процесс упорядочивания элементов в массиве или списке по определенному критерию (например, по возрастанию или убыванию). В программировании это одна из базовых задач, которая помогает эффективно искать, обрабатывать и анализировать данные. Давайте разберем основные алгоритмы сортировки, их принципы работы и сложность на примерах реализации на языке Go.Введение в алгоритмы сортировкиСуществует несколько способов сортировки данных. Основные алгоритмы можно разделить на две катего…

  • пятница, 24 января 2025 г. в 00:00:11
golang
Паттерны проектирования в Golang

Рассмотрим в этой статье несколько наиболее распространенных паттернов проектирования в Golang, дополнив их практическими примерами.Фасад, Стратегия, Прокси, АдаптерПаттерн "Фасад"Фасад — это паттерн проектирования, который предоставляет простой интерфейс для работы с сложной системой. Вместо того чтобы разбираться с множеством деталей и компонентов, мы можем использовать фасад, который берёт на себя всю работу "под капотом". Простыми словами Фасад — это как кнопка "Выполни…

  • пятница, 24 января 2025 г. в 00:00:10
golang
Декларативная платформа управления доступом: от ролей к динамическим политикам

Зачем нужна авторизация? Какие проблемы она решает и в каких ситуациях будет полезна? Рассмотрим модели организации контроля доступа и способы их реализации.Привет, Хабр! Меня зовут Олег Козырев. Senior Golang инженер в BigTech-компании, ментор и блогер. Обучаю людей backend-разработке и консультирую по вопросам IT. Веду каналы «IT и жизнь»: в телеграме и на Ютюб. А главным героем этой статьи по мотивам моего доклада для GolangConf будет мой кот. Он проведёт нас по тернистому пути создания плат…

  • пятница, 24 января 2025 г. в 00:00:09
golang
Go 1.24

Здравствуйте, уважаемые, Гоферы 👋Go 1.24 уже на подходе, и это обновление обещает различные улучшения. Давайте посмотри ключевые нововведения, которые Go 1.24 принесет разработчикам.1. Обобщенная типология (Generics)Итак, что такое определение типа? Определение типа, это когда мы создаем новый тип int или управляем новым типом из int, создавая новый отдельный тип на основе существующего. Это позволяет добавить поведение к новому типу, определив его методы. Так, здесь я могу определить метод v…

  • четверг, 23 января 2025 г. в 00:00:11