Search
Write a publication
Pull to refresh
Ворч Ун @sav1812read⁠-⁠only

Разработчик

Send message

Универсальный https c использованием ГОСТ сертификата

Reading time6 min
Views53K
При попытках организовать https-соединения для различных web-сервисов с использованием ГОСТ-шифрования всегда оставались вопросы с посетителями, браузеры которых не поддерживают ГОСТ-алгоритмы. Логичным казалось решение при установке https-соединения отдавать клиенту сертификат в зависимости от поддерживаемых его системой алгоритмов, но до недавнего времени практические реализации такого подхода мне не встречались.
Читать дальше →

Библиотека, облегчающая разработку форм на сайтах (v3)

Reading time6 min
Views23K

Привет, Хабр!


Как-то, год назад я писал о своей небольшой библиотеке, которая облегчает разработку форм на сайтах. Недавно я выпустил 3-ю версию, которая, по-сути, была переписана с нуля, чтобы стать правильней и удобней. Но в своей статье я не буду повторять README и ДЕМО, а лучше покажу на практике, каким образом она помогает писать меньше кода.

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

Истинное могущество регулярных выражений

Reading time16 min
Views94K
Как частый посетитель тэга PHP на StackOverflow, я очень часто встречаю вопросы о том, как распарсить какие-то конкретные аспекты HTML, используя регулярные выражения. Самый распространённый ответ на это:
«Ты не можешь парсить HTML с помощью регулярных выражений, потому что HTML не является регулярным. Используй XML парсер, и будет тебе счастье»

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

Вышел GIMP 2.9.4

Reading time10 min
Views31K

Отчёт о новых функциях свободного графического редактора


Мы только что выпустили вторую dev-версию GIMP в серии 2.9.x, ставшую результатом полугода работы. GIMP 2.9.4 представляет собой мощное обновление:

  • обновленный интерфейс;
  • серьёзные улучшения в управлении цветом;
  • готовый к использованию инструмент MyPaint Brush;
  • симметричное рисование;
  • сплит-превью для фильтров на GEGL.

Вдобавок, исправлены десятки багов и сделаны многочисленные мелкие улучшения в графическом редакторе.

GIMP 2.9.4 достаточно надёжен для использования в продакшне, но требуется ещё кое-что доделать. Поэтому выпуск стабильной версии 2.10 потребует некоторого времени. Пожалуйста, смотрите дорожную карту со списком основных изменений, которые готовятся в версии GIMP 2.10.
Читать дальше →

Пакетная обработка изображений в GIMP

Reading time4 min
Views29K
Время от времени возникает необходимость выложить в сеть фотоальбом или пакет отсканированных документов. В большинстве случаев изображения предварительно нужно уменьшить, а иногда и произвести дополнительную обработку, добавить надписи. И вот наступил момент, когда выполнять однотипные операции стало совсем лениво. Вспоминаем про замечательные средства автоматизации в замечательном и бесплатном редакторе GIMP.

Допустим, у нас есть куча фотографий разных размеров, с разным соотношением сторон и сохранённых в разных форматах. В общем, тяжёлый случай. Нам нужно весь этот зоопарк выровнять по размерам, учитывая пропорции, и сохранить в JPEG с заданным качеством. Да, и пусть нам иногда захочется задавать размеры не в пикселях, а процентах. Ну и пусть уже тогда захочется файлы выбирать по маске, типа «C:\images\img_01*.jpg».

Садимся, и калякаем на Script-Fu (доступный по умолчанию в GIMP, язык) свой
первый сценарий

Как развивается услуга сохранения номера абонента при смене оператора

Reading time5 min
Views29K


Mobile Number Portabilty (MNP) — это возможность сохранить свой телефонный номер при переходе к другому оператору. Механизм призван стимулировать конкуренцию среди телеком-операторов и оздоравливать рынок. Но на практике внедрение функции переноса номера может приводить к разным результатам. О мировом опыте MNP расскажем под катом.
Читать дальше →

Пастильда — открытый аппаратный менеджер паролей

Reading time5 min
Views61K
Pastilda — open source аппаратный USB менеджер паролей

Немало заметок и обсуждений посвящены непростому вопросу безопасного хранения паролей, тема интересная и, похоже, актуальной будет ещё долго. Существуют различные программные решения для хранения паролей, о них довольно часто пишут на Хабре (например тут и вот тут), однако многим из них, как нам кажется, в той или иной степени свойственны следующие недостатки:
  • закрытый код снижает доверие и вероятность оперативного устранения уязвимостей
  • для автозаполнения нужно ставить дополнительный софт
  • после ввода мастер-пароля вся база открыта и доступна, в том числе для вредоносного ПО, что особенно актуально на недоверенных устройствах
  • использование мобильных приложений для хранения паролей все равно подразумевает ручной ввод с клавиатуры, например когда требуется залогиниться на стационарном ПК
  • автозаполнение невозможно в некоторых случаях (в bios, консоли)

Мы пришли к выводу, что наиболее удобным решением будет простой и недорогой девайс, позволяющий аппаратно хранить и вводить логины/пароли на любые устройства, без установки какого-либо ПО.
Читать дальше →

Начало разработки для Sailfish OS

Reading time4 min
Views26K
Sailfish OS — это мобильная платформа, основанная на ядре Linux. Прочитать о ней можно на официальном сайте или в одном из обзоров платформы в сети. Например, один из них был опубликован на GeekTimes. В данной статье я хотел бы затронуть сам процесс разработки приложений для Sailfish OS, рассказать о том как начать программировать под данную платформу, а также поделиться некоторыми особенностями разработки.

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

Мониторинг торрентов и автоматическая скачка

Reading time21 min
Views59K

Совсем недавно на Хабре было 2 статьи о том, как автоматизировать процесс скачивания новых серий с торрентов. Авторы обеих статей поделились своими приложениями. Вот уже год мы тоже разрабатываем подобное приложение и мне кажется, пришло время рассказать хабрасообществу о нашем маленьком, но прекрасном проекте Monitorrent, который, возможно, сделает вашу жизнь настолько проще и удобнее, насколько сделал нашу.


Main Page


Веб приложение написано на Python 2 (с поддержкой Python 3). Оно позволяет добавлять новые торренты для мониторинга, автоматически скачивать новые серии и добавлять их в торрент клиент.


Мы им пользуемся на постоянной основе с конца прошлого года, а 1 мая 2016 мы выпустили первую релизную версию, которая без каких-либо сбоев крутится до сих пор на cubietruck в docker контейнере.


За подробностями того как оно работает внутри прошу под

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

Часть 1. Установка и настройка авторитетного DNS сервера на основе решения PowerDNS // Базовая установка

Reading time26 min
Views70K
Добрый день!

В этой статье я опишу настройку авторитетного DNS сервера, на основе решения PowerDNS. PowerDNS — высокопроизводительный, бесплатный DNS сервер с открытым исходным кодом.

PowerDNS — представляет собой высокопроизводительный DNS-сервер, написанный на C++ и лицензируемый под лицензией GPL. Разработка ведётся в рамках поддержки Unix-систем; Windows-системы более не поддерживаются.
Сервер разработан в голландской компании PowerDNS.com Бертом Хубертом и поддерживается сообществом свободного программного обеспечения.
PowerDNS использует гибкую архитектуру хранения/доступа к данным, которая может получать DNS информацию с любого источника данных. Это включает в себя файлы, файлы зон (англ.) BIND, реляционные базы данных или директории LDAP.
PowerDNS по умолчанию настроен на обслуживание запросов из БД.
После выхода версии 2.9.20 программное обеспечение распространяется в виде двух компонентов — (Authoritative) Server (авторитетный DNS) и Recursor (рекурсивный DNS). Официальный сайт: www.powerdns.com

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

Атакуем SS7: анализ защищенности сотовых операторов в 2015 году

Reading time6 min
Views52K


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

В 2015 году специалисты Positive Technologies осуществили 16 проектов по анализу защищенности сетей SS7 ведущих мобильных операторов регионов EMEA и APAC. Результаты восьми наиболее информативных проектов попали в нашу статистику. В этой статье мы рассмотрим уровень защищенности абонентов сотовых сетей, а также всех промышленных и IoT-устройств, от банкоматов до GSM-систем контроля давления на газопроводе, которые также являются абонентами сотовых сетей. В отчете описаны основные обнаруженные проблемы и пути их решения.
Читать дальше →

Код Rust включен в Firefox 48

Reading time3 min
Views32K
Компонент, написанный на Rust, впервые заменил компонент на C++ в браузере Firefox, и это только начало!

Mozilla любит Rust


Трудно поверить, что прошло почти семь лет с тех пор как Mozilla Research впервые начала спонсировать разработку Rust — системного языка программирования, нацеленного на безопасную работу с памятью, скорость и параллельное выполнение кода. В то время это был не более чем амбициозный исследовательский эксперимент, вокруг которого образовалось небольшое, но преданное сообщество. Удивительно, что несмотря на долгую историю изобретений и открытий, Rust сохранил свой ключевые принципы. Изначально разработчики хотели создать безопасную альтернативу C++, повысить эффективность системного программирования, защитить критическое программное обеспечение от эксплоитов памяти, упростить работу с параллельными алгоритмами — вот почему Mozilla поддержала проект Rust и, в конечном счёте, начала использовать Rust в стабильной версии браузера.
Читать дальше →

Знакомство с АОП

Reading time10 min
Views131K

Парадигмы программирования


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

У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
  • инструкция (императивное программирование, FORTRAN/C/PHP),
  • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
  • прототип (прототипное программирование, JavaScript),
  • объект (объектно-ориентированное программирование, С++/Java),
  • факт (логическое программирование, PROLOG).

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

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

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

Анонс публичной бета-версии NGINX Amplify

Reading time5 min
Views19K


Мы рады представить бету NGINX Amplify, нашего нового инструмента для мониторинга NGINX и NGINX Plus. Используя NGINX Amplify, вы сможете отслеживать и контролировать NGINX и приложения, которые он обслуживает. Новый инструмент позволит быстро решать проблемы с производительностью и доступностью отдельных сервисов и инфраструктуры в целом. На текущий момент он включает в себя гибко настраиваемую панель мониторинга с механизмом оповещений, а также систему автоматических рекомендаций по оптимизации производительности и улучшению безопасности.

Узнать больше и увидеть NGINX Amplify в действии можно записавшись на онлайн вебинар, который пройдет 13 июля в 20:00 по московскому времени.

Также, вы можете начать бесплатно использовать NGINX Amplify прямо сейчас, пройдя регистрацию.
Подробности

Целесообразность и преимущества применения серверных накопителей, построение RAID-массивов, стоит ли экономить и когда?

Reading time7 min
Views24K
На рынке доступно большое количество накопителей различных скоростей, различных производителей. Далеко не все четко понимают, какой диск лучше приобрести и для какой задачи и зачем порой лучше заплатить больше, а когда можно сэкономить. В этой статье я постараюсь прояснить основные моменты и сделать проблему выбора более простой. Статья будет полезна не только тем, кто хочет купить/арендовать выделенный сервер, но и тем, кто хочет получить надежное хранилище информации дома. После прочтения материала станет понятным, почему не всегда целесообразно арендовать desktop-решения в low-cost дата-центрах и лучше остановить выбор на более надежном, серверном железе.
Читать дальше →

ONLYOFFICE: открытый как никогда

Reading time3 min
Views22K
Друзья, будем краткими: в честь нашего шестого дня рождения мы выпустили в open source новейшую версию ONLYOFFICE. С этого дня вы сможете найти на GitHub всё, о чем нас просили: новую версию редакторов с быстрым совместным редактирование как в Google Docs и последнюю версию сервера для совместной работы (Community server).

Подробности релиза, что, где и под какой лицензией читайте далее.


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

Уязвимость ThinkPwn в прошивках компьютеров оказалась серьезнее чем представлялось ранее

Reading time2 min
Views13K
Несколько дней назад мы писали о 0day Local Privilege Escalation (LPE) уязвимости в UEFI-прошивке ноутбуков Lenovo ThinkPad, которой было посвящено интересное исследование security-ресерчера под ником Cr4sh. Продемонстрированный вектор эксплуатации уязвимости позволяет отключить встроенную аппаратную защиту под названием SPI Protected Ranges, которая используется для защиты SPI flash-памяти чипа от записи данных. Сама уязвимость присутствует в одном из UEFI-драйверов прошивки под названием SystemSmmRuntimeRt и позволяет исполнить произвольный привилегированный SMM-код в системе.



В свою очередь, Lenovo выпустила уведомление безопасности, в котором указала, что не занималась разработкой уязвимого драйвера, так как обращается за этим к производителям прошивок BIOS/UEFI, которые, в свою очередь, используют наработки Intel и AMD. После этого стало понятно, что спектр ноутбуков и компьютеров, уязвимых для ThinkPwn, не ограничивается компанией Lenovo. Хотя кроме Lenovo никто из производителей компьютеров и материнских плат не обмолвился об этой уязвимости, стало известно что ей подвержены ноутбуки Hewlett-Packard Pavilion, компьютеры с материнскими платами от GIGABYTE (Z68-UD3H, Z77X-UD5H, Z87MX-D3H, и др), ноутбуки Fujitsu LIFEBOOK, а также Dell.

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

Facebook Messenger начал тестировать end-to-end шифрование на протоколе Signal

Reading time2 min
Views13K


Facebook Messenger начал внедрение секретных чатов — системы end-to-end шифрования коммуникаций между пользователями. В отличие от Telegram, где используется собственный нестандартный протокол MProto, компания Facebook выбрала известное и проверенное решение — современный и открытый Signal Protocol, разработанный в Open Whisper Systems.
Читать дальше →

Сигналы и слоты в PHP. Такие же как в Qt. Ну почти

Reading time5 min
Views12K
Сигналы и слоты — подход, используемый в некоторых языках программирования и библиотеках (например, Boost и Qt) который позволяет реализовать шаблон «наблюдатель», минимизируя написание повторяющегося кода. Концепция заключается в том, что компонент (часто виджет) может посылать сигналы, содержащие информацию о событии (например: был выделен текст «слово», была открыта вторая вкладка). В свою очередь другие компоненты могут принимать эти сигналы посредством специальных функций — слотов. Система сигналов и слотов хорошо подходит для описания Графического интерфейса пользователя. Также механизм сигналов/слотов может быть применён для асинхронного ввода-вывода (включая сокеты, pipe, устройства с последовательным интерфейсом, др.) или уведомления о событиях. В библиотеке Qt благодаря Метаобъектному компилятору (англ.)русск. отпадает необходимость писать код регистрации/дерегистрации/вызова, так как эти шаблонные участки кода генерируются автоматически.
Говорит нам Википедия.
Зачем это в php?

Сравнение коммуникационных протоколов DLMS/COSEM, SML и IEC 61850 для приложений интеллектуального учета потребления

Reading time17 min
Views9.8K
Технологии связи играют всё более важную роль в растущем рынке AMI. Статья представляет собой полный анализ и сравнение четырех протоколов прикладного уровня, применяемых для интеллектуального учета потребления. Рассматриваются следующие протоколы: DLMS/COSEM, SML (Smart Message Language), а также MMS и SOAP отображение IEC 61850. В работе сделан акцент на использование этих протоколов совместно с TCP/IP стеком. Протоколы сначала сравниваются относительно качественных критериев, например, возможность синхронизации времени и др. После этого сравнивается размер сообщений и анализируется эффективность кодирования.

AMI (Advanced metering infrastructure) — это интегрированная система интеллектуальных приборов учета, коммуникационных сетей и систем управления данными, которая включает двухстороннюю связь между поставщиком услуг и потребителем.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity