Search
Write a publication
Pull to refresh
24
0
Назар Мокринский @nazarpc

Open Source enthusiast

Send message

Удалённый сервер с 100% шифрованием и защитой от маски-шоу

Reading time4 min
Views46K
На написание сего шедевра меня сподвигла статья «Мечта параноика или Еще раз о шифровании». Очень замечательная и полезная за одним исключением — если придут «маски-шоу», то они заберут сервер вместе со всеми флэшками и ключами. Отсюда вопрос — как сделать так, чтобы на сервере вообще не было никаких следов шифрования, ключей и т.п.?
Ответ банален — не хранить их на сервере. И рядом с сервером не хранить. И вообще где-либо в районе досягаемости потенциального злоумышленника.
Читать дальше →

Зачем на самом деле используют микроразметку. Обзор от Яндекса

Reading time8 min
Views43K
Мы уже писали о том, как устроен мир семантической разметки и почему стандартов синтаксиса так много. Теперь хотим рассказать, зачем все это нужно. Зачем разработано столько стандартов и где они используются. Почему всем это полезно знать?

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



Поисковые системы стремятся к улучшению выдачи: разрабатывают колдунщики, запускают партнерские программы, собирают «базы знаний». Большая часть этих задач решается с помощью разметки. Сайты могут получить красивый сниппет, передать данные для Яндекс.Островов, а «базы знаний», которые есть почти у всех поисковых систем (Google Knowledge Graph, Bing Satori, Яндекс Entity Search), получают свежие данные.

Facebook был заинтересован в развитии индустрии приложений, поэтому дал разработчикам возможность продвигать свои проекты в социальных сетях и связываться с другими приложениями. Так — тоже с помощью разметки — Open Graph публикует записи приложений в социальных сетях, а Applinks позволяет приложениям легко ссылаться друг на друга. Позже публиковать свои записи стало возможно и в Google+.

Читайте дальше и узнайте подробнее, как перечисленные ниже задачи решаются с помощью семантической разметки в разных продуктах и сервисах:
  • Улучшение выдачи в поисковиках: сниппеты в Яндексе, Google, Bing и Yahoo!
  • Пополнение Баз знаний: Яндекс Entity Search, Google Knowledge Graph, Bing Satori.
  • Другие варианты использования: приложения, глубокие ссылки и почта.
Читать дальше →

Автоматическое выравнивание кода

Reading time7 min
Views39K


Доброго времени суток.

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

  • Подсветка синтаксиса
  • Использование отступов
  • Вертикальное выравнивание

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

Читать дальше →

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Reading time5 min
Views221K
Добрый день! В интернете уже накопилось достаточное количество статей по сборке DIY VR шлемов и хабр тому не исключение. Но в большинстве случаев при сборке используются смартфоны с относительно не большими дисплеями, что не позволяет получить широкий угол обзора. Сегодня же мы будем собирать шлем на основе Nexus 7, потратив всего 600 рублей в ближайшем гипермарките. Ну и т.к. главный лозунг этой статьи «Меньше теории, больше практики», хватит лишних слов, начинаем!



Читать дальше →

О размере экрана, пикселя и элемента

Reading time9 min
Views196K


Привет, username. Свой первый пост я хочу посвятить актуальной проблеме, связанной с появлением большого количества новых форматов дисплеев и непрекращающейся гонкой за плотностью пикселей. В свете появления таких устройств, как очки дополненной реальности, смартчасов, 4к-мониторов и еще более широкого спектра планшетов и ноутбуков, возникает вопрос: какой размер графического элемента/текста следует считать оптимальным и в чем его измерять. Android-разработчики, несомненно, тут же воскликнут: «Да, конечно, в dp!». Но практика показывает, что дела обстоят несколько сложнее.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #21

Reading time3 min
Views57K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Python


Автор этого огромного списка полезностей для питонистов также как и автор похожего репозитория для сисадминов из прошлой моей подборки был вдохновлен проектом Awesome PHP. Это просто отличная тенденция, которая не может не радовать.

Chart.js



Потрясающие интерактивные графики и диаграммы на HTML5 Canvas. Chart.js не зависит от сторонник библиотек, работает во всех современных браузерах и даже в IE7/8 с полифилом, адаптивный к мобильный устройствам, очень гибкий и модульный. Выглядит все на самом деле очень красиво, но признаюсь я не настолько детально изучил проект, чтобы сказать чем он лучше DC.js из моего 19 выпуска. Дело в том, что Chart за несколько дней собрал почти 10 000 звезд на GitHub.

Ну и для того, чтобы добить тему визуализации данных, оставлю ссылку на Amcharts. Проект не open-source, но вы можете пользоваться им бесплатно, если будете размещать логотип. Хочу обратить ваше внимание на то, что с этой библиотекой работают Microsoft, Amazon, IBM, Bank of America, NASA, P&G, PayPal и многие другие мировые корпорации.
Читать дальше →

Работа с геолокациями в режиме highload

Reading time6 min
Views60K
При разработке ПО часто возникают интересные задачи. Одна из таких: работа с гео-координатами пользователей. Если вашим сервисом пользуются миллионы пользователей и запросы к РСУБД происходят часто, то выбор алгоритма играет важную роль. О том как оптимально обрабатывать большое количество запросов и искать ближайшие гео-позиции рассказано под катом.

image
Читать дальше →

Wi-Fi сети: проникновение и защита. 3) WPA. OpenCL/CUDA. Статистика подбора

Reading time24 min
Views365K


Баста карапузики, кончилися танцы.

В предыдущей части мы детально рассмотрели «читерские» приёмы обхода «защит» (скрытие SSID, MAC-фильтрация) и защит (WPS) беспроводных сетей. И хотя работает это в половине случаев, а иногда и чаще — когда-то игры заканчиваются и приходится браться за тяжёлую артиллерию. Вот тут-то между вашей личной жизнью и взломщиком и оказывается самое слабое звено: пароль от WPA-сети.

В статье будет показан перехват рукопожатия клиент-точка доступа, перебор паролей как с помощью ЦП, так и ГП, а кроме этого — сводная статистика по скоростям на обычных одиночных системах, кластерах EC2 и данные по разным типам современных GPU. Почти все они подкреплены моими собственным опытом.

К концу статьи вы поймёте, почему ленивый 20-значный пароль из букв a-z на пару солнц более стоек, чем зубодробительный 8-значный, даже использующий все 256 значений диапазона.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
По традиции, под катом ещё 15 страниц

Wi-Fi сети: проникновение и защита. 2) Kali. Скрытие SSID. MAC-фильтрация. WPS

Reading time20 min
Views654K


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

В этой статье мы поговорим о том, как можно обнаружить «скрытые» сети, обойти MAC-фильтрацию на точке доступа и почему же WPS (QSS в терминологии TP-LINK) — это «бэкдор в каждом доме». А перед этим разберёмся, как работает беспроводной адаптер и антенна и как Kali Linux (ex. Backtrack) поможет нам в тестах на проникновение в беспроводные сети.

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

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

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Много текста. Очень.

Отладка электронной почты при помощи MailCatcher

Reading time4 min
Views25K
imageВы используете в своем приложении электронную почту, не так ли? Это, в общем-то, риторический вопрос, конечно используете. Ей уже больше 30 лет, а это по прежнему самое популярное средство коммуникации на планете. Вот некоторые статистические данные от Pingdom:
  • 2,2 млрд. — Количество пользователей электронной почты по всему миру
  • 144 млрд.- Объем отправляемых электронных писем ежедневно во всем мире
  • 4,3 млрд.- Количество почтовых клиентов во всем мире

Потрясающе!

Зачем нужна эта статья?


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

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

Тесты проходят, вы хвалите себя и продолжаете работу. Но спустя некоторые время вы получаете звонок от своего заказчика. Он жалуется, что его клиенты получили странные. Он расстроен и хочет получит ответ.

Было такое? Не хочется, чтобы повторилось? Есть решение — MailCatcher. Если вы не слышали о нем то вкратце:
… Супер-простой SMTP-сервер, который перехватывает любое отправленное сообщение и выводит его в веб-интерфейсе. Запустите mailcatcher, в настройках вашего приложения укажите smtp://127.0.0.1:1025 вместо SMTP-сервера по умолчанию, и затем просматривайте почту, которая была отправлена по адресу 127.0.0.1:1080


Неплохо звучит, верно? Независимо от того, устали ли вы, перегружены работой, есть ли новенький в команде или еще какая беда — MailCatcher гарантирует, что электронная почта останется в пределах вашей сети, или даже вашей виртуальной машины.

Сейчас я хочу показать вам, как настроить, запустить и использовать MailCatcher.
Ну-ка, поглядим...

SIP через WebRTC на продакшне. Как мы к этому шли и какие проблемы решали

Reading time5 min
Views52K
Доброго времени суток всем!

Я уже писал о своем опыте работы с WebRTC тут, но учитывая то, что в последнее время всё больше статей на эту тему появляется на хабре и то, что я давно хотел написать о том, как мы добились стабильной работы SIP телефонии через WebRTC на продакшне, я решил написать через что мы прошли.

А прошли мы через многое: боль, панику, истерики, кучу матов и пожелания добра мейнтейнерам.
Сейчас же это всё в прошлом. Мы избавились от всех костылей, которые мы делали, и сделали так, чтобы операторы звонили и всё работало стабильно.
В статье, я как можно подробнее описал все проблемы, с которыми мы сталкивались, используя как можно меньше кода и конфигов.

Кому интересно, прошу под кат.
Читать дальше →

Обновление шрифта Fira Sans

Reading time1 min
Views23K
image
На прошлых выходных известный специалист Erik Spiekermann анонсировал выход новой версии шрифта Fira Sans(3.1). До этого шрифт был доступен в восьми начертаниях: (light, regular, medium и bold)*italic и отдельный Fira Mono в начертаниях regular и bold. В новой версии появилось дополнительно 24 начертания, от hair до ultra. Таким образом шрифт стал одним из самых насыщенных из всех бесплатных шрифтов.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #17

Reading time5 min
Views35K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Intercooler.js


Кто нибудь помнит FullAjax — разработку Руслана Синицкого sirus (нынешний основатель Jelastic)? Вкратце это библиотека для работы с AJAX с помощью объявления определенных атрибутов у элементов, а подробнее об этом написано в постах «Прямые ссылки на AJAX веб-сайтах – наша технология Fullajax Direct Link», «Полный AJAX. Теория и Примеры. Фишки и Фичи» и «Fly AJAX — пишите меньше, имейте больше. Нестандартный AJAX и индексация поисковиками». Вернемся к Intercooler, это нечто похожее:

<div id="targetDiv">Results Div...</div>
<i id="indicator" style="display:none" class="fa fa-spinner fa-spin">
<input id="hiddenInput" type="hidden" name="hidden" value="42"/>

<div ic-trigger-on="click" ic-verb="POST" ic-src="/example" ic-include="#hiddenInput" ic-indicator="#indicator" ic-target="#targetDiv" ic-transition="none">
    Click Me!
</div>

После клика по div, отправляется POST запрос со значением поля с #hiddenInput, а в процессе будет отображаться #indicator. Ответ будет передан в блок #targetDiv. Разве не здорово?

Читать дальше →

Pautomount — демон автоматического монтирования, запуска скриптов и всего такого прочего

Reading time10 min
Views13K
image

Возникла передо мной задача — автоматически выполнять действие при вставке какого-нибудь storage device в Дебиане. К примеру, просто автоматически монтировать его. А может, монтировать и синхронизировать данные, если устройство известно. А может, проверять его clamav на всякую фигню и запускать на нём что-нибудь типа USB-вакцины. Может, и включить сирену, если владельца рядом с компьютером нет =)

К примеру, есть у меня флешки, штук этак 5-7. На каждой записано что-то своё, одна — загрузочная, одна с документами, одна с программами, одна с музыкой и с фотками… И стоит дома сервер, на котором все-все копии того, что на флешках, есть. Хотелось бы мне, чтобы с одной флешкой синхронизировались документы, с другой — музыка и фотки, с третьей — загрузочные образы, и так далее. Только вот нужно это дело как-то автоматически запускать, потому как не годится каждый раз через SSH на сервер лезть и ручками всё править. Поэтому нужно что-то, где можно было бы флешки прописать и действия, нужные при подключении, задать. А там один раз скрипт синхронизации написал — и готово.

Только вот ничего готового и полностью подходящего в Гугле не нашлось. Часть решений тянут за собой кучу зависимостей и не рассчитаны на headless-установку, часть устарели, часть не имеют всего необходимого функционала, а часть позволяют это сделать, только вот слишком муторно, настраивать трудно, и вообще, NIH ;-) Поэтому написал я свой демон автоматического монтирования, ну и выкладываю его сюда, может, пригодится кому-то ещё, может, такому же владельцу домашнего сервера, который точно так же хочет синхронизировать флешки с домашним NAS. Да и хочется, чтобы кто-нибудь код покритиковал, на ошибки указал и решения некоторых проблем подсказал — смотреть в конце топика.
Читать дальше →

Раздвоение личности или еще раз о MultiseatX

Reading time10 min
Views15K
Хочу рассказать одну историю успеха, произошедшую в моей семье.

Как известно, производительность типичного домашнего компьютера, даже без дорогих компонентов уже настолько высока, что для обычной «офисной» работы его хватает с большим запасом, так что идея сделать один компьютер с несколькими терминалами родилась сама собой. И тут я задумался: а что насчет игр? Ведь на домашнем компьютере, в отличии от офисного обычно еще и играют.

И если сделать multiseat для офисного применения очень просто, а также существует много способов (начиная от терминального подключения к серверу, заканчивая запуском нескольких виртуальных машин с жесткой ассоциацией локального железа с ними).
Когда-то, очень давно, меня посещала эта идея, но в то время в компьютерах еще был разъем AGP, который не подразумевал установку более одной полноценной видеокарты. Сейчас в ходу PCIe, а материнской платой с несколькими разъёмами PCIe никого не удивишь, так что проблема с установкой нескольких полноценных видеокарт уже не стоит.

Так что ограничений по линии железа нет(хотя подводные камни есть, их я опишу позже), осталось разобраться какой софт для этого использовать.
Последние 8 лет на моем домашнем компьютере установлена Linux, так что я буду использовать ее, конкретно — kubuntu, но для интереса поискал решения для Windows. Судя по отзывам, программа АСТЕР позволяет это сделать, но я пока не тестировал ее, так что конкретно сказать не могу. Кстати ПО платное — около 2000 руб. Не забыт также Windows MultiPoint Server, но видео там не используешь. Делать это на OS X как минимум нецелесообразно из-за цены, как максимум из-за того что просто нет компьютеров Apple с мощной игровой графикой (даже две самые мощные FirePro последнего Mac Pro проигрывают одной GTX780).
Читать дальше →

Разъяснение http2

Reading time25 min
Views196K
На днях Даниэль Штенберг, один из участников группы HTTPbis IETF, которая ведёт разработку протокола http2, опубликовал в своём блоге крайне интересный документ «http2 explained». Небольшой PDF-документ на 26 страницах весьма доступным языком рассказывает о предпосылках и деталях реализации протокола http2.

Как мне кажется, на сегодняшний день это одно из самых лучших разъяснений о том, что такое протокол http2, зачем он нужен, как он повлияет на веб-разработку и какое будущее ждёт Интернет в связи с его появлением. Думаю, что всем людям, причастным к веб-разработке и веб-строению, информация будет полезна, ведь ожидается, что стандарт http2 будет принят уже в июне этого года после завершающей встречи группы HTTPbis в Нью Йорке.
Читать дальше →

waSlideMenu.js. Многоуровневое прокручивающееся меню

Reading time3 min
Views16K
jQuery-плагин, который превращает вложенное (древовидное) меню в систему прокручивающихся меню.

Репозиторий: github.com/webasyst/waslidemenu
Попробовать: jsfiddle.net/7LnSY/
Пример: demo-ru.webasyst.com
Подробнее о плагине

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

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

Причин две:
  • Во-первых, меня регулярно просят посоветовать дизайнера, художника, разработчика и так далее. Я не знаю другого способа сделать это лучше.
  • Во-вторых, я что-то реально опасаюсь перспектив развития Рунета, и поэтому хочу соединить друг с другом напрямую как можно больше людей. Добавляйтесь в профили к тем, кто вам близок.
Читать дальше →

Двухфакторная аутентификация в OpenSSH: ключ+одноразовый код

Reading time4 min
Views31K
В предыдущей статье я рассказал, как добавить проверку одноразовых кодов при логине на свой сервер по SSH. Статья завершалась словами «если ходим по ключу — двухфакторная аутентификация не работает (не используется PAM)».

С недавнего времени, после выпуска OpenSSH версии 6.2, ситуация поменялась к лучшему.

+

Читать дальше →

TYPO3 CMS кластер в облаке Jelastic

Reading time5 min
Views6.5K
TYPO3 — отличное решение для веб-сайтов любых размеров, от небольших до корпоративных. Эта CMS позволяет с легкостью создавать и управлять многоязычными корпоративными сайтами для больших организаций. Такие веб-сайты могут масштабироваться и адаптироваться к любым возникающим потребностям.

Jelastic дает возможность сделать ваш сайт на TYPO3 не только очень гибким и доступным, но также стабильным и высокопроизводительным. Для достижения такого результата необходимо настроить высокодоступный кластера с двумя серверами приложений Apache, балансером NGINX, нодой Memcached и двумя реплицированными базами данных MySQL.

typo cluster
Читать дальше →

Information

Rating
Does not participate
Registered
Activity