То чувство, когда сначала необходимо представить не сам инструмент, а предшествующее исследование.
На международной конференции Computer Aided Verification исследователи из Швейцарии и Нидерландов представили инструмент Gobra — автоматизированный модульный верификатор для программ Go, основанный на инфраструктуре верификации Viper. Исследование однозначно стоит прочтения.
Gobra проверяет безопасность памяти, безопасность при сбоях, свободу от гонки данных и спецификации, предоставленные пользователем. В качестве входных данных он принимает программу Go, аннотированную такими утверждениями, как предварительные и постусловия, а также инварианты цикла.
Верификация осуществляется путем кодирования аннотированных программ на промежуточном языке верификации Viper, а затем применив существующий верификатор на основе задачи выполнимости формул в теориях (англ. satisfiability modulo theories, SMT). В случае сбоя проверки Gobra сообщает на уровне программы Go, какие утверждения он не может проверить.
https://proglib.io/w/e15bfdf3
На международной конференции Computer Aided Verification исследователи из Швейцарии и Нидерландов представили инструмент Gobra — автоматизированный модульный верификатор для программ Go, основанный на инфраструктуре верификации Viper. Исследование однозначно стоит прочтения.
Gobra проверяет безопасность памяти, безопасность при сбоях, свободу от гонки данных и спецификации, предоставленные пользователем. В качестве входных данных он принимает программу Go, аннотированную такими утверждениями, как предварительные и постусловия, а также инварианты цикла.
Верификация осуществляется путем кодирования аннотированных программ на промежуточном языке верификации Viper, а затем применив существующий верификатор на основе задачи выполнимости формул в теориях (англ. satisfiability modulo theories, SMT). В случае сбоя проверки Gobra сообщает на уровне программы Go, какие утверждения он не может проверить.
https://proglib.io/w/e15bfdf3
SpringerLink
Gobra: Modular Specification and Verification of Go Programs
Go is an increasingly-popular systems programming language targeting, especially, concurrent and distributed systems. Go differentiates itself from other imperative languages by offering structural subtyping and lightweight concurrency through goroutines…
Выполнение шелл-кода с помощью Go
Из трансляции от Black Hills Information Security (BHIS) вы узнаете об использовании Go для создания вредоносных программ со встроенным шелл-кодом. Напомним, что информация приводится исключительно в учебных целях.
https://proglib.io/w/4836eae3
Из трансляции от Black Hills Information Security (BHIS) вы узнаете об использовании Go для создания вредоносных программ со встроенным шелл-кодом. Напомним, что информация приводится исключительно в учебных целях.
https://proglib.io/w/4836eae3
YouTube
BHIS | Shellcode Execution with GoLang | Joff Thyer | 1 Hour
Join us in the Black Hills InfoSec Discord server here: https://discord.gg/BHIS to keep the security conversation going!
Learn enterprise attacker emulation and c2 implant with Joff Thyer from Antisyphon
Training: https://www.antisyphontraining.com/enterprise…
Learn enterprise attacker emulation and c2 implant with Joff Thyer from Antisyphon
Training: https://www.antisyphontraining.com/enterprise…
🔧 echo — высокопроизводительный минималистичный веб-фреймворк Go.
⭐️ 20798
https://proglib.io/w/067e35be
⭐️ 20798
https://proglib.io/w/067e35be
Руководство по использованию пакета
https://proglib.io/w/549e4e64
text
для управления переводами в приложении Go.https://proglib.io/w/549e4e64
www.alexedwards.net
I18n in Go: Managing Translations - Alex Edwards
Перевод статьи о сборке собственного RPM-пакета, содержащего простую программу на Go.
https://proglib.io/w/0469029c
https://proglib.io/w/0469029c
Хабр
Сборка собственного RPM-пакета, содержащего простую Go-программу
Процесс развёртывания программ обычно состоит из множества этапов. Некоторые из этих этапов могут представлять собой довольно-таки сложные последовательности действий. В наши дни имеется широкое...
Выпущена 3-я версия Centrifugo — сервера сообщений в реальном времени.
Сервер держит постоянные соединения от пользователей приложения и предоставляет API для моментальной рассылки какого-либо уведомления активным пользователям, подписанным на канал уведомления.
Можно использовать для создания чатов, "живых" комментариев, multiplayer игр, стримить данные и метрики (например, быстро меняющиеся курсы валют).
https://proglib.io/w/0ce976f7
Сервер держит постоянные соединения от пользователей приложения и предоставляет API для моментальной рассылки какого-либо уведомления активным пользователям, подписанным на канал уведомления.
Можно использовать для создания чатов, "живых" комментариев, multiplayer игр, стримить данные и метрики (например, быстро меняющиеся курсы валют).
https://proglib.io/w/0ce976f7
GitHub
GitHub - centrifugal/centrifugo: Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub…
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever. - centrifugal/centrifugo
Обновили серию статей о практическом предметно-ориентированном дизайне (Domain-Driven Design, DDD) в Go новыми материалами 👉 https://t.me/goproglib/1949
Telegram
Библиотека Go разработчика
Автор серии статей потратил годы на понимание и практическое применение подхода Domain-Driven Design (DDD) в Go, а теперь рассказывает нам:
- Value Object
- Entity
- Domain Service
- Domain Event
- Module
- Aggregate
- Factory
- Repository
- Value Object
- Entity
- Domain Service
- Domain Event
- Module
- Aggregate
- Factory
- Repository
🔧 Minify — пакет минификаторов (удаляют ненужные символы), написанный на Go.
Пакет предоставляет минификаторы для HTML5, CSS3, JS, JSON, SVG и XML, а также интерфейс для реализации любого другого минификатора.
https://proglib.io/w/dab1b054
Пакет предоставляет минификаторы для HTML5, CSS3, JS, JSON, SVG и XML, а также интерфейс для реализации любого другого минификатора.
https://proglib.io/w/dab1b054
GitHub
GitHub - tdewolff/minify: Go minifiers for web formats
Go minifiers for web formats. Contribute to tdewolff/minify development by creating an account on GitHub.
Mat Ryer, технический директор в Grafana, рассказывает, что с годами подход к написанию HTTP-сервисов с помощью Go сильно изменился. Вот его текущий стиль 👇.
https://proglib.io/w/ba8d3f1a
https://proglib.io/w/ba8d3f1a
Twitter
Mat Ryer
How I write HTTP services in #golang has changed over the years... here's my current style. (Please consider sharing this with somebody you know who's learning Go.) It's a yarn... 🧶 1/13
🔧 Go-app — пакет для создания прогрессивных веб-приложений с помощью Go и Wasm.
https://proglib.io/w/8d4a997c
https://proglib.io/w/8d4a997c
Wikipedia
Прогрессивное веб-приложение
Прогрессивное web-приложение (англ. progressive web app, PWA) — технология в web-разработке, которая визуально и функционально трансформирует сайт в приложение (мобильное приложение в браузере).
#tip
Чтение из закрытого канала вернет значения, которые были отправлены перед закрытием. После того, как все значения будут прочитаны, дальнейшие чтения не будут блокироваться и вернут нулевое значение типа канала. Чтобы узнать, закрыт ли канал, можно использовать синтаксис с несколькими значениями.
Чтение из закрытого канала вернет значения, которые были отправлены перед закрытием. После того, как все значения будут прочитаны, дальнейшие чтения не будут блокироваться и вернут нулевое значение типа канала. Чтобы узнать, закрыт ли канал, можно использовать синтаксис с несколькими значениями.
Автор статьи выделяет любимые функции Scala и объясняет, почему Go выигрывает.
https://proglib.io/w/2cdc5612
https://proglib.io/w/2cdc5612
Medium
The transition from Scala to Go
A year ago, I joined Google as a Software Engineer. My team uses Go to write some of the code that keeps Google Cloud running, literally…
🔧 gosq — Go Simple Query builder. Перед вами инструмент, который предоставляет механизм синтаксического анализа для построения SQL-запросов на основе шаблонов для Go.
Он ориентирован на простоту и предоставляет синтаксис для вставки произвольной части условного запроса.
- Статья, в которой описаны предпосылки создания инструмента
- Репозиторий
Он ориентирован на простоту и предоставляет синтаксис для вставки произвольной части условного запроса.
- Статья, в которой описаны предпосылки создания инструмента
- Репозиторий
Medium
Simple template-based SQL way to query building in Go
It really never needed to be that complex.
Here we Go: получи оффер от Ozon в команду, которую выберешь ты.
Почему стоит попробовать:
▪️ Интервью длится всего 1 час — фактически, можно получить оффер за один день в выходной (23-24 октября).
▪️ Вы сами выбираете тимлидов, с которыми захотите пообщаться — 24 проекта на выбор.
Локация: Формат работы в Ozon — гибрид или полная удаленка.
Стек: GO, Kubernetes, Kafka.
Что делать: Проектировать, разрабатывать и внедрять новые микросервисы в продуктах, которыми пользуются миллионы людей по всей России.
Ссылка: https://your.gms.tech/v/la2EJu2R?tg=apply&s=tg
Почему стоит попробовать:
▪️ Интервью длится всего 1 час — фактически, можно получить оффер за один день в выходной (23-24 октября).
▪️ Вы сами выбираете тимлидов, с которыми захотите пообщаться — 24 проекта на выбор.
Локация: Формат работы в Ozon — гибрид или полная удаленка.
Стек: GO, Kubernetes, Kafka.
Что делать: Проектировать, разрабатывать и внедрять новые микросервисы в продуктах, которыми пользуются миллионы людей по всей России.
Ссылка: https://your.gms.tech/v/la2EJu2R?tg=apply&s=tg