[Перевод] Ревью кода в распределенной команде


Здесь описаны мои исследования, как сделать ревизию кода в команде более приятным занятием, которое может дать новый опыт всем участникам. У нас полностью географически распределённая команда, все коммуникации выполняются через интернет, и зачастую асинхронно. Мы используем Trello для описания возможностей продуктов, поодиночке создаём код, отправляем в GitHub пулл-реквесты, а также пользуемся встроенной в GitHub функцией их ревью. Это отличается от просмотра кода лицом к лицу в офисе и даже по видеочату.


Если не подходить к делу всерьёз, то асинхронная и письменная ревизия кода может стать причиной катастрофы в команде, приведя к ухудшению взаимодействия и сотрудничества. Но если все участники будут стараться делать всё хорошо, то такой подход может работать очень эффективно.
Читать дальше →
[Перевод] Ревью кода в распределенной команде
Source: habrahabr

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 20

Глава 8 Как выиграть выборы: продолжение. Предвыборная кампания на местах: обход домов избирателей


Когда вы приступаете к ведению предвыборной кампании, перед вами открывается широчайшее поле различных видов деятельности, по-видимому, полезных для успеха на выборах, и каждый вид деятельности какой-нибудь ваш соратник будет ревностно защищать как «Как раз то, что нам нужно!». Если вы не будете самостоятельно тщательно оценивать, чем заниматься нужно, а чем – нет, вы растратите все ваши силы на бессмысленную деятельность, и вдобавок получите нервное истощение. Читать дальше →
Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 20
Source: habrahabr

Создание и тестирование Firewall в Linux, Часть 2.2. Таблицы Firewall. Доступ к TCPIP структурам

Содержание первой части:

Содержание второй части:

2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обрабатываем данные в user space. libnetfilter_queue.
2.4 — Бонус. Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall’а.
Читать дальше →
Создание и тестирование Firewall в Linux, Часть 2.2. Таблицы Firewall. Доступ к TCPIP структурам
Source: habrahabr

Получаем список доменов и IP адресов всех банков мира

Думаю каждый сталкивался с ситуацией, когда в начале месяца у абонента интернет-провайдера баланс уменьшается в ноль или становится отрицательным, а при попытке пополнить счет картой на каком-то этапе страница банка становится не доступной.


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

image
Читать дальше →
Получаем список доменов и IP адресов всех банков мира
Source: habrahabr

Инфраструктура простой электронной подписи. Часть 1: Моделирование использующих систем


Предыдущая статья о простой электронной подписи (ПЭП) сделала акцент на юридические нюансы, и только вскользь затрагивала технические решения. Первый же комментарий к статье отметил этот момент. Отсутствие описания технических решений среди «подводных камней ПЭП» не случайно, так как на законодательном уровне вопросы практического применения ПЭП регламентированы только для сферы государственных услуг. Для частного бизнеса применение ПЭП не стандартизируется, поэтому практический опыт отражает лишь личное видение заинтересованных сторон конкретного проекта. Это сильно ограничивает, но, судя по комментариям, не стандартизированное описание также востребовано. Родилось продолжение статьи, с целью компенсировать этот информационный пробел. Продолжение состоит из нескольких частей, каждая из которых кратко рассматривает шаги анализа и проектирования функциональности ПЭП. Описание базируется на реальных проектах, в частности, на успешном внедрении ПЭП в информационную систему крупного поставщика технологических услуг.
Читать дальше →
Инфраструктура простой электронной подписи. Часть 1: Моделирование использующих систем
Source: habrahabr

end-to-end шифрование файлов в dropbox

image

У каждого есть свои тайны и человечество вечно пыталось находить пути как их скрытия так и разоблачения.

Под катом будет описан один из способов скрыть свои файлы так, чтобы ваш параноик был счастлив

Читать дальше →
end-to-end шифрование файлов в dropbox
Source: habrahabr

Расширение API от Vk для стикеров на Elixir

image

Введение

Во Вк есть наборы стикеров, некоторые из которых даже бесплатные. Но во Вк нет ни какого публичного API для использования данного функционала на сторонних сайта. Задачка состоит в том, чтобы используя функциональный язык Elixir написать расширение над местом хранения стикеров во Вк в виде API.

По моему мнению имена методов, и параметры, которые они принимали были бы следующими. Общим пространством имён для коллекции API методов для работы со стикерами было бы ключевое слово stickers, а сами методы возможно выглядели бы так:

stickers.get — со следующими параметрами: pack_ids, pack_id, fields;
stickers.getById — со следующими параметрами: sticker_ids, sticker_id, fields.

Так как нет возможности создавать или редактировать стикеры, которые есть во Вк, данное API будет иметь только read-only методы. Честно, сложно угадывать, и не хочется подражать разработчикам социальной сети, по этому ограничусь только придумыванием имён методов. И не буду реализовывать API в стиле Вк, хоть это бы и добавило общей идентичности расширению.

Вот такие методы буду реализовывать для работы со стикерами:

Методы для наборов:

GET /packs
GET /packs/{id}
GET /packs/{id}/stickers

Методы для стикеров:

GET /stickers
GET /stickers/{id}
GET /stickers/{id}/pack

Читать дальше →
Расширение API от Vk для стикеров на Elixir
Source: habrahabr

Особенности использования сертификатов от Let's Encrypt и способ настройки nginx

image

Если вдруг вся эта история прошла мимо вас, Let’s Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let’s Encrypt уже используются на более чем 10 миллионах доменов.

Кроме очевидной бесплатности у сертификатов от Let’s Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let’s Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!

Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.

Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let’s Encrypt.

Читать дальше →
Особенности использования сертификатов от Let’s Encrypt и способ настройки nginx
Source: habrahabr

ruby -run

Это копипаст с небольшими правками из моего блога, который я использую для сохранения информации, потенциально полезной для меня, но которую обычно забываю. Посчитал, что инфа может показаться кому-нибудь интересной.

Intro

Относительно недавно искал способ в одну строчку запустить веб-сервер в текущей директории.

На просторах Stack Overflow нашел примерно такую команду:

ruby -run -e httpd -- -p 9090 [DIR]

Что же это за загадочная опция -run и почему ее нет в мануале?

Читать дальше →
ruby -run
Source: habrahabr

[Перевод] “Nano-Framework” для автоматизации добавления скриптов в .{bash/zsh}rc

Как часто приходилось видеть репозиторий с кастомным скриптом по установке своих скриптов .bashrc или .zshrc файлы? Я точно писал такой велосипед и не один раз, для репозиториев, где храню свои личные конфиги. Давайте эту проблему решать.


Читать дальше →
[Перевод] “Nano-Framework” для автоматизации добавления скриптов в .{bash/zsh}rc
Source: habrahabr