4gophers

...

Бесплатные и автоматические SSL сертификаты

Перевод статьи “Free and Automated SSL Certificates with Go“ Сейчас без HTTPS никуда. И это связанно не только с безопасностью. Поисковоки лучше ранжируют сайты работающие по HTTPS в отличии от обычного HTTP. Уже не то время чтобы искаь оправдания и не использовать HTTPS на вашем сайте. В этой статье я я расскажу как написать приложение, которе автоматически генерирует SSL сертификаты и использует их для HTTPS. И самое главное: это совершенно бесплатно!

Инструменты, которые помогут улучшить ваш код

Перевод статьи “Simple tools to improve your go code“ Для Go есть целая куча различных статических анализаторов. С их помощью можно писать более простой и надежный код. Некоторые редакторы уже интегрированы с этими инструментами. При желании вы всегда сможете запустить эти инструменты автономно на ваших исходниках. В этой статье я описал, как мне кажется, самые полезные инструменты. Если у вас появятся идеи сто еще стоит добавить в этот список, то пишите в коментариях.

Strace в 60 строчек код

Перевод статьи Liz Rice “Strace in 60 lines of Go”. Эта статья написана по мотивам моего доклада “A Go Programmer’s Guide to Syscalls”. Вы можете посмотреть код тут. Чтобы объяснить некоторые моменты работы линуксовского ptrace я решила написать свою базовую реализацию strace. И в этой статье я расскажу, как этот самодельный strace работает. Если у вас есть время, то можете посмотреть видео того самого доклада: Брекпоинт в процессе потомке Наша программа перехватывает все сисколы которые были вызваны в процессе работы любой команды, которую мы указываем через аргументы.

Разработка твиттер ботнета на основе цепей Маркова

Перевод “Developing a Twitter botnet based on Markov chains in Go“ Основная идея этой статьи - рассказать как написать твиттер ботнет с автономными ботами которые смогут отвечать на другие твиты текстом сгенерированным с помощью алгоритма цепей Маркова. Так как это обучающий минипроект, то мы будем делать все сами и с самого нуля. Идея совместить алгоритм цепей Маркова и твиттер ботов появилась после общения с x0rz. Цепи Маркова Цепь маркова это последовательность стохастических событий(основанных на вероятности) где текущее состояние переменной или системы не зависит только от предыдущего события и не зависит от всех остальных прошедших событий.

HTTP(S) прокси на Go в 100 строчек кода

Перевод “HTTP(S) Proxy in Golang in less than 100 lines of code“ В этой статье я опишу реализацию HTTP и HTTPS прокси сервера. С HTTP все просто: сначала парсим запрос от клиента, передаем этот запрос дальше на сервер, получаем ответ от сервера и передаем его обратно клиенту. Нам достаточно использовать HTTP сервер и клиент из пакета net/http. С HTTPS все несколько сложнее. Технически это будет туннелирование HTTP с использованием метода CONNECT.

TCP сервер работающий как часы

Перевод статьи “TCP servers that run like clockwork“ Go замечательный язык для написания различных сетевых сервисов. Большинство сервисов используют TCP в качестве базового транспорта. Именно поэтому важно понимать как писать надежные TCP серверы. Кроме того, это позволит лучше разбираться в базовых принципах работы сетевых приложений, которые необходимы нам в повседневной работе. “Кричащий” сервис Начнем с создания простейшего TCP сервера, который будет “кричать” в ответ своим клиентам. Он будет получать некоторое сообщение, переводить его в верхний регистр и отправлять обратно клиенту.