Обновить
137.37

Go *

Компилируемый, многопоточный язык программирования

Сначала показывать
Период
Уровень сложности

Конвертируем диапазон IP в бесклассовую адресацию (CIDR) и обратно в Go

Время на прочтение4 мин
Охват и читатели37K
При прохождения очередного собеседования мне задали небольшое тестовое задание, написать на Go сетевой сканер открытых портов. Задание в принципе не сложное, но одним из условий было, что в качестве параметра может быть передан как IP-адрес, так и диапазон сетевых адресов в виде сетевой маски: 192.168.8.0/21.

Тема скорее всего очень тривиальная для сетевых инженеров и администраторов и, наверно, даже скучная. Моя цель просто изложить тут алгоритм перевод диапазона IP в сетевую маску (дальше по тексту CIDR) и обратно из CIDR в диапазон адресов.
Читать дальше →

Пирожки в Go

Время на прочтение4 мин
Охват и читатели8.7K


В продолжение эпопеи с дистрибутивно-семантическими пирожками (и в погоне за модными тенденциями) решил переписать веб-сервис с лапидарного Питона на прогрессивный Go. Заодно был вынужден перенести и всю «интеллектуальную» часть (благо, не бином Ньютона). Сделать это оказалось куда проще и приятней, чем предполагал в начале. Впрочем, на медово-синтаксическом празднике жизни не обошлось без ложки дёгтя — самая быстрая гошная «числодробилка», какую смог найти (mat из gonum) таки уступила по скорости питоновской связке numba + numpy.
Читать дальше →

OpenShift.IO: all-in-one платформа для разработки и CI/CD

Время на прочтение4 мин
Охват и читатели11K
Тотальная контейнеризация и переосмысление роли контейнеров в процессе девелопмента и развития инфраструктуры не могла не сподвигнуть главных адептов open source мира на дальнейшие свершения. Red Hat уверенно гнет свою линию, и если несколько лет назад OpenShift был всего лишь PaaS-ом, то сегодня — это нечто большее. Сам по себе OpenShift понятен, но не прост. Сделать процесс управления контейнерами и развертывания приложений как можно более безболезненным и безопасным — главная задача, которую преследует OpenShift, и стоит отметить, ребята из Red Hat преуспели в этом. Но, сам по себе OpenShift никак не приближает к заветной мечте — предоставить девелоперу, ПМу, QA инженеру окружение, где будет все. Это такой себе идеальный мир без Jira или RedMine, без нескончаемых Jenkins слейвов, незаконченных обновлений стейджинга, различных IDE, которые по разному ведут себя с разными проектами, без ручных настроек проектов на GitHub. Этот идеальный мир — проект, который Red Hat анонсировали относительно недавно, а именно в мае 2017, и имя ему openshift.io.
Читать дальше →

Почему вам стоит изучить Go?

Время на прочтение7 мин
Охват и читатели101K
Всем привет! Представляю вашему вниманию мой перевод статьи (включая графики) Кевала Патела Why should you learn Go? Статья содержит много интересных фактов, которые, по моему мнению, будет полезно узнать новичкам в Go.

P.S.: Статья, как и большинство статей, на мой взгляд, отражает опыт и мнение автора, которое может не совпадать с вашим, и это нормально — сколько людей, столько и мнений.
Gophers

Изображение взято с ресурса kirael-art.deviantart.com/art/Go-lang-Mascot-458285682

“Go станет серверным языком будущего.” — Tobias Lütke, Shopify

За последние пару лет произошёл мощный рост нового языка программирования: Go, или Golang. Согласитесь, ничто так не может свести с ума разработчика, как новый язык программирования. Поэтому, я начал изучать Go 4-5 месяцев назад и вот что я могу сказать о том, почему вам стоит изучить этот новый язык.
Читать дальше →

Ещё один способ отображения строк в Go

Время на прочтение3 мин
Охват и читатели3.6K
Как-то сидя на работе, и занимаясь написанием кода на Go, я вспомнил про старую задачку, суть которой заключалась в том, что нам необходимо реализовать деление любого числа на заранее заданное в условии задачи. Казалось бы просто, но было два ограничения:

1. Нельзя использовать числа в явном виде, кроме 0.
2. Количество разрешённых математических операций тоже было ограничено.

Повторять её на Go я не стал, но решил применить один из вариантов решения, для отображения строки. Идея эта не нова, и на полноправное авторство не претендую, просто решил поделиться.
Читать дальше →

«Велосипед» проверки версии сайта

Время на прочтение3 мин
Охват и читатели4.7K
Всем добрый день.

В связи с растущей нагрузкой на один из сайт компании, в которой я числюсь системным администратором, было принято решение воспользоваться балансировщиком Keepalived. Останавливаться на этом продукте не буду, опишу возникшую проблему.

Раскладка происходит из gitlaba. Для того, чтобы отдел тестирование был в курсе того, что он вообще тестирует, давным давно на каждый отдельный сайт был добавлен файл. Обычный txt файл, который генерировался при раскладке. В себе этот файл содержал информацию о текущей версии (бранч, ревизию, хэш последнего коммита и список последних 300 коммитов.) То есть благодаря этому файлу, тестировщик знает, что именно он тестирует. Выглядит это примерно так:


Читать дальше →
12 ...
100

Вклад авторов