Статьи

Post Thumbnail

Пишем свой BitTorrent клиент на Go

В этом посте мы реализуем BitTorrent протокол на уровне, достаточном для скачивания образа Debian. Можете сразу посмотреть исходный код и пропустить все подробные объяснения. Можете начинать с исходного кода и потом переходить к подробным объяснениям

Post Thumbnail

VPN это просто

Сейчас очень много говорят о VPN, mesh-сетях и других технологиях для анонимизации или создания защищенных соединений. К сожалению, я довольно далек от этой темы, но иногда нужно окунаться в неизвестную область - хорошая разминка для мозгов

Post Thumbnail

Unsafe

С помощью пакета unsafe можно делать множество интересных хаков без оглядки на систему типов Go. Он дает доступ к низкоуровневому АПИ почти как в C. Но использование unsafe - это легкий способ выстрелить себе в ногу, поэтому нужно соблюдать определенные правил...

Post Thumbnail

Пример использования RSA

Как вы вероятно знаете, большинство самых используемых криптографических библиотек написано на С (или С++). Go весь пропитан духом C, он небольшой но весьма эффективный язык с удобной инфраструктурой и такими низкоуровневыми возможностями, как указатели. Кроме...

Post Thumbnail

Замыкания

Замыкания - это такие функции, которые вы можете создавать в рантайме и им будет доступно текущее окружение, в рамках которого они были созданы. Другими словами, функции, определенные как замыкания, "запоминают" окружение, в котором они были созданы.

Post Thumbnail

Свой балансировщик

Если вы делаете сервисы, которые должны справляться с большим объёмом трафика, то необходим механизм распределения этот трафик между серверами где запущены ваши сервисы. Для этого вам понадобиться балансировщик нагрузки. Конечно, сейчас множество балансировщик...

Post Thumbnail

Арены своими руками

Перевод статьи "Cheating the Reaper in Go". Автор рассказывает про кастомную реализацию арен (Golang memory arena) с ручным управлением памятью. Не думаю, что как Golang разработчик вы будете применять это в рабочих задачах, но это очень интересный эксперимент...

Post Thumbnail

Пишем свой SMTP сервер на Go

Перевод статьи "Build Your Own SMTP Server in Go". В Valyent мы разрабатываем открытое программное обеспечение для разработчиков. Как часть этой миссии мы разработали Ferdinant - наш сервис рассылки почты для разработчиков(пока в альфе).