Category : golang

golang
В Go меняется фундаментальная вещь — цикл

Если раньше в циклах были проблемы с замыканиями, так как переменная цикла имела скоуп всего цикла, а не одной его итерации, то в 1.22 это поведение поменяют. проще показать на примере: funcs := []func(){} for i := 0; i < 5; i++ { funcs = append(funcs, func() { fmt.Println(i) }) } funcs[0]() Последняя строка примера напечатает 5 в go 1.21, но в go 1.22 будет уже интуитивно понятный 0. С одной стороны, это нарушение обратной совместимости, но зато не надо писать пугающее новичко…

  • четверг, 21 сентября 2023 г. в 00:00:34
golang
Планирование в Go: Часть III — Конкурентность

Это третья статья из серии, состоящей из трёх частей, в которой мы рассмотрим механику и семантику планировщика в Go. Эта статья посвящена посвящено конкурентности.ВведениеКогда я решаю какую-либо проблему, особенно если это новая проблема, я изначально не задумываюсь о том, подходит ли мне конкурентность или нет. Сначала я ищу последовательное решение и убеждаюсь, что оно работает. Затем, после проверки читабельности и технических характеристик, я начинаю задавать вопрос о целесообразности и …

  • вторник, 19 сентября 2023 г. в 00:00:20
golang
Книги для Golang-разработчиков: подборка для программистов с опытом

Привет, Хабр! Относительно недавно мы уже публиковали подборку книг по Go для начинающих разработчиков. Теперь пришёл черёд изданий для специалистов с опытом. В этой статье рассказываем о книгах для программистов, у которых уже есть опыт работы с Golang и кто готов двигаться дальше. Книги актуальные, написаны как на русском, так и на английском языке. Как всегда, просьба: если у вас есть собственные предпочтения, расскажите о них в комментариях.Язык программирования GoАвторы: Алан Донован, Бра…

  • вторник, 19 сентября 2023 г. в 00:00:19
golang
Конкурентность — это не параллелизм

Это полное изложение замечательного доклада Роба Пайка "Concurrency is Not Parallelism". Иллюстрации и диаграммы воссозданы, исходный код взят дословно со слайдов, за исключением комментариев, которые в некоторых местах были расширены.ВведениеМир параллелен: начиная с основ вычислительной техники, таких как многоядерные процессоры, и заканчивая реальными объектами, людьми, планетами и Вселенной в целом - всё происходит одновременно. Однако имеющиеся у нас вычислительные средства не оче…

  • вторник, 19 сентября 2023 г. в 00:00:18
golang
Дебажим Golang с помощью Delve

В этой статье мы рассмотрим, как дебажить программы, написанные на Golang, с помощью Delve. Delve — это сторонний отладчик для Go, скачать на github по ссылке. Это хорошая альтернатива отладчику GDB golang, так как Delve куда больше возможностей для работы. Delve лучше, чем GDB, понимает среду выполнения Go, структуры данных и выражения. В настоящее время Delve поддерживает Linux, OSX и Windows в версии amd64. Наиболее актуальный список поддерживаемых платформ приведен в документации Delve.Вы…

  • пятница, 15 сентября 2023 г. в 00:00:23
golang
Приглашаем на Ozon Tech Community Go Meetup

Всем привет! Я – Влад, руководитель группы поисковой оптимизации в Ozon. Go повсюду. И, конечно, ни при каких обстоятельствах мы не могли пройти мимо него в самом крупном направлении компании –  разработке маркетплейса.Направление отвечает за разработку инструментов, которыми активно пользуются наши покупатели и продавцы. Сюда входит абсолютно всё, что нужно для того, чтобы продавец смог предложить товар или услугу, а покупатель — сделать заказ.И нам есть чем поделиться. Приглашаем на открытый…

  • пятница, 15 сентября 2023 г. в 00:00:22
golang
Книга «Golang для профи: Создаем профессиональные утилиты, параллельные серверы и сервисы, 3-е изд.…

Привет, Хаброжители! Язык Go — это простой и понятный язык для создания высокопроизводительных систем будущего. Используйте Go в реальных производственных системах. В новое издание включены такие темы, как создание серверов и клиентов RESTful, знакомство с дженериками Go и разработка серверов и клиентов gRPC. Третье издание «Golang для профи» исследует практические возможности Go и описывает такие продвинутые темы, как параллелизм и работа сборщика мусора Go, использование Go с Docker, разр…

  • пятница, 15 сентября 2023 г. в 00:00:22
golang
Разворачиваем приложение в кластере Kubernetes под управлением Deckhouse c помощью werf

В статье мы рассмотрим, как подступиться к миру Kubernetes в первый раз — развернуть кластер под управлением платформы Deckhouse, разработать и подготовить приложение, развернуть его с помощью утилиты werf, предназначенной для построения рабочего процесса по принципам CI/CD, а также настроить сертификаты для доступа по HTTPS.Развертывание кластера    Вводные данные    Подготовка конфигурации    Настройка кластера    Проверка работоспособности    Включение HTTPS для компонентов кластера    Наст…

  • среда, 13 сентября 2023 г. в 00:00:19
golang
Стоит ли идти на курсы IT преподавателем?

В рамках данного текста я попробую ответить вам и себе на вопрос из заголовка. Будет честно, если также я обозначу, что далее вы не найдете ответа на вопрос: стоит ли идти на IT-курсы учиться.Я решил написать этот текст после четырех лет чтения лекций. Я вел лекции в Otus по курсу GO и несколько раз появлялся на курсе "Архитектор высоких нагрузок". Сейчас я преподаю уже не так часто, но меня еще можно услышать/увидеть на курсе Golang.”Почему я пошел читать лекцииКогда-то у меня было мн…

  • вторник, 12 сентября 2023 г. в 00:00:28