Category : golang

golang
Простые языки программирования

Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём заключается такая простота, осветить пару причин, по которым она так важна. Я предложу пять ключевых идей, которые должны быть реализованы в простом языке программирования: Возможности, которые всегда под рукой Быстрые ц…

  • четверг, 28 марта 2024 г. в 00:00:10
golang
Эффективные трассировки в Go

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.Магия трассировки заключается в том, что она может легко выявить такие вещи в программе, которые трудно увидеть другими способами. …

  • суббота, 23 марта 2024 г. в 00:00:22
golang
Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек

Мир веб-разработки предлагает бесконечное количество вариантов HTTP-фреймворков для разных языков программирования. Но как разработчикам понять, какие из них обеспечивают действительно высокую производительность? Под катом команда блога CodeReliant* проводит прямое сравнение некоторых из лучших претендентов на быстродействие. Рассматривает популярные варианты на Javascript/Bun, Java, C#, Go и Rust, проводит бенчмаркинг, оценивает их пропускную способность и время отклика при тестировании.Выбра…

  • суббота, 23 марта 2024 г. в 00:00:22
golang
Анонимная P2P-сеть внутри централизованного HTTPS-сервера: вшиваем паразитный трафик всеми правдами…

Государственная цензура есть многогранный монстр, закрывающий путь не только к зарубежной информации посредством блокировки ресурсов и их методов обхода, в лице Proxy, VPN, Tor, но также и постоянно пытающийся подавлять неподконтрольные безопасные и анонимные коммуникации внутри самого себя. Гос.структуры ради этого готовы пойти буквально на любые ухищрения и запугивания, включая штрафы (дело Threema, отказ передачи ключей шифрования), уголовные преследования (дело Дмитрия Богатова, дело по VI…

  • четверг, 21 марта 2024 г. в 00:00:18
golang
Исследуем лицензирование Cockroach DB до Enterprise или не случившийся хард-реверс-инжиниринг

Добрый день, меня зовут Богдан мой профиль - java-разработка, о рабочих буднях и прочих оклоджавовых штуках рассказываю в своем телеграмм канале, но сегодня не о java, ну вернее почти не о ней :)ДИСКЛЕЙМЕР: вся информация в статье представлена с исследовательской целью и не преследует никаких деструктивных мотивов, анализ выполнен на основе открытых исходных кодов, все персонажи вымышлены, а совпадения случайны.Пролог. Как известно java компилируется в байт-код, скомпилированные классы также б…

  • среда, 20 марта 2024 г. в 00:00:17
golang
Monkey patching в Go, или грабли от Apple

Модель - Stable Diffusion v1-5Все началось с того, что я в очередной раз немного поменял структуры БД, и в некоторых SQL-запросах добавилась новая колонка. Нормальная ситуация - взять и легким движением руки сломать половину unit test’ов, потому что БДшные моки ожидают определенный текст запроса.Хрупкость тестов раздражала меня давно, но в тот раз я был не в настроении, и решил, что хватит, пора что-то с этим сделать. Ясное дело, если я меняю запрос в функции, это ломает тесты для этой функции…

  • среда, 20 марта 2024 г. в 00:00:16
golang
Основы тестирования в Go: mock-объекты, fuzzing и property-based testing

Привет, Хабр!Golang как ЯП очень хорош для разработки высокопроизводительных приложений. В любом проекте наступает момент, когда нужно проверить, насколько хорошо все работает на самом деле, это можно сделать с помощью тестирования.Тестирование в Go можно выполнять с помощью mock-объектов, fuzzing и property-based testing. В этой статье мы рассмотрим эти механизмы.Mock-объектыMock-объекты — это такие подставные объекты, используемые в тестировании для имитации поведения реальных компонентов си…

  • среда, 20 марта 2024 г. в 00:00:15
golang
Простой CRUD на chi. Часть 1

ВведениеСогласно официальному сайту, chi — это легковесный, идиоматический и композируемый маршрутизатор для создания HTTP-сервисов на Go. Он на 100% совместим с net/http и довольно легок в обращении, однако его документация предназначена скорее для опытных разработчиков, чем для новичков, поэтому я решил написать серию статей, в ходе которых мы будем постепенно развивать и перерабатывать простейший CRUD, написанный на chi.В рамках данной части мы напишем код, который ляжет в основу дальнейш…

  • понедельник, 18 марта 2024 г. в 00:00:17
golang
Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения

Привет! Меня зовут Павел Агалецкий, я ведущий разработчик юнита Platform as a Service в Авито. Kubernetes — один из самых популярных инструментов для деплоя приложений и сервисов. В Авито мы используем его не только в продакшене, но и в качестве среды для локального запуска сервисов на машинах разработчиков. В этой статье я подробно разбираю, как поднять маленький кластер Kubernetes на своём компьютере с помощью общедоступных инструментов и деплоить простейшие приложения.Подготовка к работе: у…

  • суббота, 16 марта 2024 г. в 00:00:15