Pull to refresh
0
0
Стас Раскумандрин @raskumandrin

Пользователь

Send message

Let's Encrypt и nginx: настройка в Debian и Ubuntu

Reading time13 min
Views322K

image


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


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


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


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

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments96

Как заставить государство открываться, ч.1: Качаем статистику ДТП своими руками

Reading time8 min
Views37K
Если хорошо поискать, можно обнаружить довольно много полезной, приличного качества, государственной информации. Но к сожалению, это все еще не: ЕГЭ и образование, погода, картография, данные о преступлениях… и ДТП.

Поэтому у меня как бы две жизни: в одной помогаю чиновникам открывать данные, которые просят люди или организации, а в другой — пишу парсеры, которые превращают общедоступные базы особо «упрямых» госорганов в открытые данные и учу этому других, в надежде, что таких проектов станет много, государство смирится с неизбежным и все выложит в удобном нам виде.

Эта статья станет первым мануалом в серии «как получать машиночитаемые данные с госсайтов». Итак, сегодня — про статистику ДТП, а раз государство нам ее не дает, мы научимся забирать ее самостоятельно. По традиции, код и данные — прилагаются.


Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments42

TON: Telegram Open Network. Часть 1: Вступление, сетевой уровень, ADNL, DHT, оверлейные сети

Reading time9 min
Views106K

TON: Telegram Open Network


Уже две недели Рунет шумит про Telegram и ситуацию с его бессмысленной и беспощадной блокировкой Роскомнадзором. Рикошетом задело многих, но всё это — темы для постов на Geektimes. Меня же удивило другое — я до сих пор не видел на Хабре ни одного разбора запланированной к выходу на базе Telegram сети TON — Telegram Open Network. Мне захотелось восполнить этот недостаток, ибо поизучать там есть что — даже несмотря на отсутствие официальных заявлений о нём.


Напомню — ходят слухи о том, что Telegram запустил очень масштабное закрытое ICO, уже собрав в нём невероятные суммы. Предполагается, что уже в этом году будет запущена собственная криптовалюта Gram — и у каждого пользователя Телеграма автоматически появится кошелёк, что само по себе создает немалое преимущество перед остальными криптовалютами.


К сожалению, так как официальных заявлений нет, дальше я могу отталкиваться только от документа неизвестного происхождения, о чём я сразу вас предупреждаю. Конечно, он может оказаться очень искусной подделкой, но не исключено и то, что это — реальный whitepaper будущей системы, написанный Николаем Дуровым (и слитый, вероятно, кем-то из инвесторов). Но даже если это фейк, никто нам не запретит его поизучать и обсудить, верно?


Что же говорится в этом документе? Я попробую пересказать его своими словами, близко к тексту, но по-русски и чуть более человечно (да простит меня Николай со своей склонностью уходить в формальную математику). Имейте в виду, что даже в случае его подлинности, это черновое описание системы и оно, весьма вероятно, изменится к моменту публичного запуска.

Итак, приступим
Total votes 84: ↑83 and ↓1+82
Comments129

Почему создание простенького превью по ссылкам в Википедии заняло четыре года

Reading time5 min
Views25K
История превью страниц.


Когда вы наводите курсор на ссылку, появляются карточки предварительного просмотра (и да, у меня на десктопе мобильный скин Википедии). Текст из статей Википедии об айсбергах и воде, CC BY-SA 3.0. Изображения слева направо, сверху вниз: #1 Ким Хансен, CC BY-SA 3.0; #2 Андреас Вайт, CC BY-SA 4.0; #3 Национальная библиотека Новой Зеландии, CC0

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

На первый взгляд всё очень просто. Такое есть на многих сайтах. На карточке размещается изображение и немного текста — и она отображается при наведении курсора на ссылку. Ничего инновационного… по крайней мере, так может показаться на первый взгляд.

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

Таким образом, нам потребовалось несколько лет, чтобы выкатить фичу до всех. Это может показаться странным, но как и в айсберге, следует оценить подводную часть.
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments35

Составляем карту всего Интернета при помощи кривых Гильберта

Reading time3 min
Views28K
Интернет велик. Очень велик. Вы просто не поверите, насколько умопомрачительно он велик. В смысле, вам может показаться, что диапазон блоков /22, который вы получили как локальный интернет-регистратор (LIR), это очень много — но в масштабах всего Интернета это так, орешки.

Конечно, на самом деле, он оказался не настолько уж и велик — не просто же так нам потребовался IPv6. Однако, это уже другая история.

Дело в том, что IPv4 (самая широко используемая версия протокола IP) задает лимит адресов, равный 2³². Это означает, что у вас есть примерно 4,2 миллиарда IP-адресов, с которыми вы можете работать — хотя по правде это не совсем так, поскольку крупные секции недоступны для использования:
Диапазон IP Применение
0.0.0.0/8 Локальная система
10.0.0.0/8 Локальная LAN
127.0.0.0/8 Loopback
169.254.0.0/16 Link Local
172.16.0.0/12 Локальная LAN
224.0.0.0/4 Мультивещание (Multicast)
240.0.0.0/4 “Для использования в будущем”
Диапазоны адресов (показанные в виде записи с применением бесклассовой адресации, CIDR) перечисленные выше, для нас «убираются» — а это 588 316 672 адресов, или примерно 13% от всего количества адресов.

Однако, учитывая, что у нас остается 3 706 650 624 адресов, это вроде бы не так уж и много, и находится в идеальной достижимости для отправки пакета каждому из них.

Итак… Это конечно же не первый раз, когда кто-то пытается сделать подобное — в Интернете хватает достаточного количества «фонового шума» (незатребованных пакетов), большинство из них создается системами, которые пытаются взломать другие системы.
Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments26

Telegram в России могут блокировать из-за планов Дурова запустить собственную криптовалюту

Reading time3 min
Views11K

Источник: газета.ру

Борьба Роскомнадзора с Telegram не прекращается ни на минуту. Заблокированы миллионы IP-адресов, и хотя сам мессенджер продолжает работать, ведомство не обращает на это внимания, занося в черный список новые блоки адресов. Сейчас из-за блокировки в РФ недоступны многие ресурсы, чья работа зависела от облачных сервисов Amazon, Google и ряда других провайдеров.

В ряде СМИ утверждалось, что блокирование Telegram пытаются осуществить в силу того, что Павел Дуров не предоставил правоохранителям доступ к зашифрованным чатам пользователей мессенджера. Но вполне возможно, что причина заключается в другом. На днях сотрудник ФСБ отправил своим коллегам письмо-разъяснение, в котором утверждается, что настоящая причина блокировки мессенджера заключается в желании главы Telegram запустить «полностью неконтролируемую финансовую систему».
Читать дальше →
Total votes 55: ↑23 and ↓32-9
Comments43

Краткая сводка о заблокированных адресах

Reading time3 min
Views65K

Здравствуйте, друзья! По просьбе lostpassword решил написать краткую сводку о состоянии блокировки на текущий день. В данной статье используются данные полученные из неофициальной выгрузки РКН. В данной сводке не будут представлены отдельные IP-адреса различных проектов, а будут рассмотрены только префиксы размером от /24.

Читать дальше →
Total votes 92: ↑88 and ↓4+84
Comments1134

Vim по полной: Деплой

Reading time3 min
Views12K

Оглавление


  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

Мне нравится, когда клиент может сразу увидеть результаты моих трудов. Я могу корректировать развитие проекта согласно желаниям заказчика, что сильно спасает от недопонимания. Думаю и клиенты не против быть в курсе, куда уходит бюджет и на каком этапе их проект. Добиться этого достаточно просто, благо есть даже целая методология, называемая «Непрерывной интерграцией», позволяющая в кратчайшие сроки деплоить мелкие изменения, но как сделать, чтобы это было достаточно удобно для программиста? Ведь никому не хочется писать код, а после переключаться в контекст системы деплоя или даже использовать ssh соединение чтобы развернуть мелкие изменения на продакшене (или на dev сервере).

Именно нежелание часто переключать внимание между редактором и системой деплоя побудило меня реализовать плагин, о котором я вам хочу рассказать.
Развернуть
Total votes 14: ↑13 and ↓1+12
Comments2

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Total votes 192: ↑185 and ↓7+178
Comments321

Как «простой эксперимент» принёс Обаме 60 миллионов долларов [перевод]

Reading time4 min
Views63K
21 октября 2010 года президент Барак Обама посетил Пало-Альто. Для привлечения денег на его предвыборную кампанию был организован званый ужин, стоимость участия в котором составляла 30 400 $. Это крайне эффективный метод привлечения средств, правда он может сработать только в том случае, если вы имеете возможность пригласить к себе президента. Как же привлечь средства, если у вас есть только веб-сайт, который не видел никто, кроме вашей бабушки? Именно в такой ситуации мы оказались в далеком 2007 году, когда Обама выдвигался в президенты, а отставание от ближайшего конкурента выражалось двузначным числом процентов.


Читать дальше →
Total votes 117: ↑74 and ↓43+31
Comments55

Золотой ключик от Google Adwords — Памятка по (за)ведению кампаний

Reading time9 min
Views5.1K
imageAdWords, сервис контекстной рекламы от корпорации неравнозначия Google, ещё не так хорошо приживается на российском рынке. Рядового пользователя-держателя небольшого интернет-магазинчика, набитый словно бабушкин пирожок черникой на областной станции, интерфейс сразу отпугивает. Да и проблемы с русской морфологией, а также неудобство расчёта месячного бюджета рекламной кампании, для мало-мальски среднечастотных запросов обычно перерастающее в невозможность, зачастую служат разочарованием начинающего предпринимателя и основанием для окончания знакомства с сервисом на самой ранней стадии. Агентства относятся к AdWords более лояльно и даже с пониманием, но всё равно жалуют не часто. Тут против них играют неудобства при расчёте без НДС, платный API и, конечно же, отсутствие агентских комиссионных от Google. Но всё-таки, если ещё и учесть поисковых партнёров Google (тот же Mail.ru), кусок от аудитории предлагается достаточно приличный, чтобы его полностью игнорировать.

Хотя клиентов, соглашающихся вести рекламу в AdWords, раза в 3-4 меньше, чем в Яндекс.Директ, наше рекламное агентство всё равно научилось ценить эту систему контекстной рекламы и мы стараемся быть в курсе всех её нововведений. А благодаря недавнему звонку от агентского консультанта Google, по-крайней мере, я смог более структурировано определить необходимые основы для заведения новой рекламной кампании в AdWords и правки существующей, основы, которые могут существенно увеличить Ваш CTR, конверсии, а соответственно и прибыль.

Предлагаю этот полезный материал и вам...
Total votes 38: ↑37 and ↓1+36
Comments13

Яндекс. Директ. Анализируем конкурентное окружение

Reading time4 min
Views16K

Представьте ситуацию. Вы разрабатываете сайты. Хорошие сайты для хороших людей. Ваши рекламные кампании работают давно, вы вышли на хороший уровень ROI, заказы идут с завидной периодичностью. Все казалось бы хорошо, пока в один прекрасный день мы не получаем кучу писем от Директа, о том что мы кем-то вытеснены с насиженных позиций. Мы идем в выдачу и видим на своей любимой позиции незнакомый сайт конкурента. Естественным нашим желанием будет узнать что это за фрукт и на основании этой информации принять стратегическое решение – ввязываться ли в войну бюджетов (если это серьезный и жирный конкурент) или подпереть снизу и помочь слить бюджет (если это мелочевка).

«Но это же невозможно!» – Скажете вы. – «Любая система контекстной рекламы руководствуется принципами закрытого аукциона и не предоставляет своим рекламодателям информацию о конкурентах. Мы ведь не знаем ни ключевых запросов конкурента, ни настроек его РК. Не знаем использует он минус-слова или кавычки. Самое главное – мы не знаем его ставок и CTR»

Спокойствие, только спокойствие! (с)

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

Читать дальше →
Total votes 94: ↑89 and ↓5+84
Comments34

Яндекс.Директ. Кавычки против минус-слов или как отделить жемчужины от навоза

Reading time4 min
Views16K

Цель настройки любой рекламной кампании сводится к двум основным стремлениям рекламодателя.
— Четко нацелиться на целевую аудиторию, выжать из нее максимум посетителей себе на сайт (если кто-либо из целевой аудитории, запрашивает ключевое слово – мы должны сделать все, чтобы заполучить его себе на сайт)
— Ни в коем случае не допустить показов нецелевой аудитории (показы этой аудитории понизят драгоценный CTR и повысят стоимость клика, а возможные случайные клики этой аудитории – съедят кусок бюджета)
Для выполнения этих целей Директ предоставляет нам 2 инструмента: Оператор «кавычки» и минус-слова. О них и речь в этой статье.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments14

Офис компании Boomburum

Reading time19 min
Views411K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →
Total votes 738: ↑625 and ↓113+512
Comments438

Небольшой мастер-класс. Как создать хорошую контекстную рекламную кампанию

Reading time4 min
Views3.6K
Привет, %username%!

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

Что будет в этом посте:

— Что такое контекстная реклама и почему не SEO?
— Почему выгодно делать хорошие объявления?
— Как сделать хорошее объявление?
— 5 простых способов повысить CTR объявления.
— И это далеко не все…
Узнать как делать хорошие тексты...
Total votes 129: ↑114 and ↓15+99
Comments75

Прямые рассылки на службе малого бизнеса

Reading time5 min
Views18K
image
Увлекаясь последнее время прочтением бизнес-литературы, обратил внимание, что многие авторы рекомендуют использовать директ-рассылки для продвижения своего товара. Я, как владелец двух интернет-магазинов, решил, что пора увеличивать продажи, и начал искать подходящее решение. И вскоре выяснил, что можно делать рассылки самому, с помощью программы, либо через сервисы рассылок. Посмотрев, что на всех этих сервисах система подписки, и платить придется каждый месяц, решил сначала попробовать программы.

Причем, естественно, я ярый ненавистник спама (а кто его любит?), и поэтому, прежде чем начать, попытался выполнить требования, которые Google считает необходимыми для «не спама»:
  • Аффилированность лиц (что-то купил на моем сайте, сам подписался),
  • Возможность отписки (3 способа во всем письме),
  • Обращение по имени (так как это клиенты моего интернет-магазина, все имена я знаю).

Читать дальше →
Total votes 74: ↑52 and ↓22+30
Comments61

Разбираем и собираем обратно стек USB

Reading time14 min
Views105K
Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

Три «замечательных» уровня стека USB


Меня не устроил вид стека USB, который можно встретить чаще всего на просторах сети:

Не сильно полезный стек USB

Уровень шины, логический, функциональный… Это, конечно, замечательные абстракции, но они скорее для тех, кто собирается делать драйвер или прикладной софт для хоста. На стороне же микроконтроллера я ожидаю шаблонный конечный автомат, в узлы которого мы обычно встраиваем свой полезный код, и он сперва будет по всем законам жанра глючить. Или же глючить будет софт на хосте. Или драйвер. В любом случае кто-то будет глючить. В библиотеках МК тоже с наскока не разобраться. И вот я смотрю на трафик по шине USB анализатором, где происходящие события на незнакомом языке с тремя замечательными уровнями вообще не вяжутся. Интересно, это у меня от гриппозной лихорадки в голове такой диссонанс?

Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:



Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
Разобрать стек USB
Total votes 72: ↑70 and ↓2+68
Comments23

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Полезные мелочи в работе веб-разработчика или «Как я мог без этого жить»

Reading time4 min
Views8.5K
Злой троянец увел у меня аккаунт на хабр, после чего под моим аккаунтом начали публиковаться какие-то тупые мультики. К сожалению узнал я об этом только когда НЛО перевело меня в read-only, а рейтинг ушел в отрицательное значение. Не беда: повод наконец написать пост, который давно собирался.

Веб-разработчику консоль нужна, но не на столько что бы бросив все дела начинать читать толстенные книжки по линуксу. Именно поэтому я учился консольным хитростям от случая к случаю и, судя по моим сотрудникам, многие поступают точно так же. Раскрою пару удобных секретов, без которых я уже не могу жить.
Читать дальше →
Total votes 129: ↑116 and ↓13+103
Comments66

Оставьте ссылку на свой профиль — и добавьте к себе одного хабражителя

Reading time3 min
Views30K
image Привет!
Всё просто. Вы берёте и пишете, кто вы, что делаете, и оставляете ссылку на свой профиль. Или на свой проект.

Причин две:
  • Во-первых, меня регулярно просят посоветовать дизайнера, художника, разработчика и так далее. Я не знаю другого способа сделать это лучше.
  • Во-вторых, я что-то реально опасаюсь перспектив развития Рунета, и поэтому хочу соединить друг с другом напрямую как можно больше людей. Добавляйтесь в профили к тем, кто вам близок.
Читать дальше →
Total votes 147: ↑106 and ↓41+65
Comments314

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity