В статье будет затронут способ с применением ревёрсинга траффика Android-устройства для обнаружения endpoints, по которым можно взять то, что лежит в более приятной форме, нежели получаемое через парсинг HTML-дерева.
User
КВЧ-радары изменят нашу жизнь. Военная технология идёт в смартфоны
Слева направо: эволюция датчиков КВЧ-излучения со встроенным радаром, источник: Google AI
Миллиметровые волны (ММВ) или крайне высокие частоты (КВЧ) — диапазон радиоволн с длиной волны от 10 мм до 1 мм, что соответствует частоте от 30 ГГц до 300 ГГц. Они используются в военных и полицейских радарах, сканерах безопасности, КВЧ-терапии для лечения многих болезней, астрономических инструментах.
Но сейчас наступает эпоха, когда радары миллиметрового излучения (mmWave, 60 ГГц) созрели для широкого коммерческого применения. Скоро их разрешат встраивать в обычные смартфоны. Это открывает кардинально новые возможности по использованию портативных гаджетов: распознавание жестов в автомобилях, дистанционный мониторинг сна, отслеживание перемещения всех людей в офисе и многое другое.
Хакаем CAN шину авто. Мобильное приложение вместо панели приборов
Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.
По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.
Как мы разработали интерактивную веб-схему для зрительных залов
Недавно мы писали о скроллинге диаграмм с помощью d3.js, а сейчас хотим поделиться другим кейсом. Рассказываем, как с помощью Canvas можно разработать интерактивную схему зала, которую просто встраивать в любые веб-приложения.
Расширенная настройка web сервера (Apache2 + Nginx)
В этом руководстве мы рассмотрим процедуру установки и настройки работы двух web-серверов с целью использования преимуществ каждого из них, руководство подразумевает как отдельное настраивание, так и взаимное.
В этой статье будет идти речь о настройке сервера с использованием: Apache2, Nginx, ngx_pagespeed, PHP, PHP-FPM, MariaDB и MemCached.
Автоматизация квартиры
Предыстория
Давняя мечта об автоматизации квартиры начала свое превращение в реальность с покупки квартиры в новостройке. Уже на этапе планирования ремонта вырисовались основные требования к инженерным сетям:
- гибкое управление освещением, водоснабжением, вентиляцией, отоплением и силовыми нагрузками;
- возможность реализации сценариев;
- удаленное управление и оповещение;
- централизованное отключение всего освещения;
- централизованное отключение неприоритетных нагрузок и водоснабжения;
- в перспективе – возможность голосового управления.
Comet — PHP-фреймворк для быстрых REST API
Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но тащить их в проекты не хотелось — слишком много батареек, за которые приходится расплачиваться крутой кривой входа в проект и производительностью.
В итоге появился Comet — современный фреймворк на базе PHP для разработки быстрых API, использующий наработки команд SlimPHP и Workerman. Десятки тысяч RPS на обычной виртуальной машине и латенси менее миллисекунды!
Обезл***вание д***ных — это не просто рандомизация
В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования.
Казалось бы, достаточно просто поменять всё на какие-нибудь несимметричные хеши, и всё будет хорошо.
Так вот, не будет.
Дело в том, что база данных банка — это множество связанных между собой таблиц. Где-то они связаны по ФИО и номеру счёта клиента. Где-то по его уникальному идентификатору. Где-то (тут начинается боль) через хранимую процедуру, которая вычисляет сквозной идентификатор на основе этой и соседней таблицы. И так далее.
Обычная ситуация, что разработчик первой версии системы уже десять лет как умер или уехал, а системы ядра, запущенные в старом гипервизоре внутри нового гипервизора (чтобы обеспечить совместимость) ещё в проде.
То есть прежде чем всё это обезличить, сначала надо разобраться в базе данных.
Полная домашняя автоматизация в новостройке
Панель управления квартирой в феврале 2020 года (Home Assistant)
В этой статье расскажу о выборе технологий умного дома, используемых в квартире, а также приведу мои схемы разводки, фотографии всего что было сделано, получившиеся электрические щиты и конфигурации всех устройств, дам ссылку на гитхаб.
Строительство нашего дома в процессе — ноябрь 2016 года
Ресайз изображений на лету с помощью Nginx и LuaJIT (OpenResty)
Уже довольно давно, вдохновившись статьей Ресайз изображений на лету был настроен ресайз изображений с помощью ngx_http_image_filter_module и все работало как надо. Но появилась одна проблема, когда менеджеру понадобилось получать изображения с точными размерами для заливки на некоторые сервисы, т.к. это были их технические требования. К примеру, если мы имеем оригинал изображения размером 1200x1200, и при ресайзе мы пишем что-то вроде ?resize=600x400, то получим пропорционально уменьшенное изображение по наименьшему краю, размером 400x400. Так же невозможно получить изображение с бОльшим разрешением (upscale). Т.е. ?resize=1500x1500 вернет все тоже изображение 1200x1200
На помощь пришла статья OpenResty: превращаем NGINX в полноценный сервер приложений для понимания как работает Nginx с Lua и сама библиотека для Lua isage/lua-imagick — Lua pure-c bindings to ImageMagick. Почему было выбрано такое решение, а не, скажем, что-нибудь на python — потому что это быстро и удобно. Вам даже не понадобится создавать никаких файлов, все прямо в конфиге Nginx (не обязательно).
Бот в telegram, который следит за доменом
В процессе изучения PHP, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков.
Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату регистрации и добавлять этот домен в БД (mysql), с последующий привязкой к пользователю и уведомлением в telegram.
Исходный код в моем репозитории на гите.
Мне захотелось использовать MVC структуру, что оказалось на мой взгляд не совсем верным, так как view не был задействован и это уже нельзя назвать mvc, но да ладно…
Как перестать растрачивать время разработчиков на технический долг
Вы знаете, каково это. Впихнуть всё необходимое в спринт и так весьма непросто, а ведь ещё нужно где-то найти дополнительные
Но сделать это можно, и в этом руководстве мы выясним, как именно.
Методика реконструкции утраченных зданий по фотографиям
Вытаскиваем видео с камеры по DVRIP с помощью PHP
Так уж вышло, что с асинхронностью в мире серверного web ассоциируется все что угодно, но не PHP.
Ну потому что, ну вы знаете, вот эта умирающая модель, утечки памяти, да и вообще в PHP из коробки нет ничего, кроме stream_select() и stream_set_blocking().
Где-то там, на PECL, есть какой-то libuv, который в принципе всего лишь обертка для сишных функций оригинальной библиотеки, поэтому его использование как есть бросает вам некоторые вызовы. Да и вообще, кто в здравом уме будет этим заниматься?
Но если мы перестанем жить в мире PHP4 и немного вернемся в современные реалии, то увидим, что за последние годы дела несколько изменились. У нас появились такие интересные инструменты как ReactPHP и AmPHP, компоненты которых хорошо покрывают функционал Node.js, а наличие генераторов позволяет писать асинхронный код в удобном стиле, подобном async/await, избегая всех вот этих бесконечных коллбеков в коллбеках и километровых цепочек .then().then().then().
Так что поэтому сейчас, как мне кажется, практически нет тех задач из мира Node.js, которые не мог бы решить PHP. Но если таковые еще остались, то все упирется только в наличие каких-то отдельных библиотек, а не отсутствие возможностей как таковых.
It may surprise people to learn that the PHP standard library already has everything we need to write event-driven and non-blocking applications. We only reach the limits of native PHP’s functionality in this area when we ask it to poll thousands of file descriptors for IO activity at the same time. Even in this case, though, the fault is not with PHP but the underlying system select() call which is linear in its performance degradation as load increases.
amphp.org/amp/event-loop
Преимущества облачного распознавания лиц
Близкое будущее
Существует несколько методов, по которым работают системы распознавания лиц, но в целом речь идёт о технологии, способной идентифицировать человека по цифровому изображению или кадру из видеоисточника.
Многие владельцы смартфонов каждый день используют face recognition, но в мобильных устройствах скорость распознавания не критична, а число пользователей редко больше одного-двух человек. Для офисных и уличных систем (при массовом распознавании) применяются другие технологии.
Недавно на Хабре обсуждали новость: московские сетевые кофейни «Правда кофе» и OneBucksCoffee начали тестировать в своих заведениях сервис распознавания лиц.
Кофейни используют наше техническое решение. И сегодня мы расскажем о нём подробнее. Конечно, о самой технологии мы уже говорили, но появилось кое-что новое — решение стало по-настоящему облачным. А это всё меняет.
Digital-мероприятия в Москве c 21 по 28 октября
Подборка мероприятий на неделю
Международный Форум «Открытые инновации»
- 21 октября (понедельник) — 23 октября (среда)
- Большой бул 42корп1
- от 1 500 р.
- Форум «Открытые инновации», проходящий ежегодно с 2012 года, — крупнейшее в России и одно из самых масштабных в мире конгрессно-выставочных мероприятий, демонстрирующее основные тенденции и ключевые достижения в инновационных сферах экономики.
- 22 октября (вторник)
- ВТБ Арена, Ленинградский просп. 36
- бесплатно
- 22 октября на ВТБ Арене пройдет большая конференция про бизнес, сквозную аналитику и эффективный маркетинг Callday 2019. Организаторы: МегаФон и Calltouch.
Основатели и топ-менеджеры таких компаний, как amoCRM, Cian, Hoff, Dostavista Global, Tilda Publishing, ВсеИнструменты.ру, Ярмарка Мастеров (livemaster. ru), МегаФон и Calltouch расскажут, как из одного офисного стола стать всероссийской компанией. Как пережить кризисы. Как расширять рынки. Как поставить на кон всё и выиграть.
На ВТБ Арене соберется более 5 000 участников – владельцев бизнеса, digital-директоров, предпринимателей и маркетологов.
Для тех, кто не сможет приехать лично, предусмотрена онлайн-трансляция. На Сахалине, во Владивостоке, Санкт-Петербурге или Краснодаре – будьте с нами на Callday 2019.
И, самое главное, все участники смогут открыто обсудить и задать вопросы спикерам в телегам-канале.
Станьте частью действительно масштабного события.
Участие бесплатное. Количество мест ограничено, регистрируйтесь прямо сейчас.
Локализация пуш-сообщений в мобильных приложениях
В своем сообщении я расскажу, как можно сделать локализацию пуш-сообщений в топиках на стороне бэкенда мобильного приложения.
Windows 10 + Python = VS Code + WSL
Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше…
Для разработчиков ПО они так же не скупятся. C#, Azure, Visual Studio… Но сейчас пойдет речь о Python, ведь для него местечко здесь тоже пригрели.
Кратко о WSL
С обновлением Windows появилась возможность использовать такую штуку, как WSL (Windows Subsystem for Linux). Не так давно появилась WSL2 с ОЧЕНЬ крутыми доработками. WSL2 использует новейшую и самую новую технологию виртуализации для запуска ядра Linux внутри упрощенной служебной виртуальной машины. Это значит, что такие атрибуты, как изоляция и замедление работы здесь отсутствуют.
9 полезных браузерных расширений для разработчиков (cписок на 2020 год)
Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода.
Не за горами 2020 год. Появилось много новых расширений. Я собрал наиболее полезные расширения для веб-разработчиков и поместил их в один список.
Refined GitHub
Refined Github упрощает интерфейс GitHub и добавляет полезные улучшения.
Refined Github
«Надеемся, что GitHub заметит как необходимы эти улучшения и добавит некоторые из них. Поэтому, если вам нравится какое-либо из этих улучшений напишите, пожалуйста, в службу поддержки GitHub об этом».
— создатели Refined Github.
Немецкая полиция взяла штурмом военный бункер, в котором разместился объявивший независимость дата-центр
Схема бункера. Рисунок: полиция Германии
CyberBunker.com — пионер анонимного хостинга, который начал работу в 1998 году. Компания разместила серверы в одном из самых необычных мест: внутри бывшего подземного комплекса НАТО, построенного в 1955 году как защищённый бункер на случай ядерной войны.
Клиенты становились в очередь: все серверы обычно были заняты, несмотря на завышенные цены: VPS стоил от €100 до €200 в месяц, без учёта платы за установку, при этом планы VPS не поддерживали Windows. Зато хостер успешно игнорировал любые жалобы DMCA из США, принимал биткоины и не требовал от клиентов никакой личной информации, кроме адреса электронной почты.
Но теперь «анонимному беспределу» пришёл конец. Ночью 26 сентября 2019 года бойцы немецкого спецназа и полиции штурмом взяли защищённый и охраняемый бункер. Захват произведён под предлогом борьбы с детской порнографией.
Information
- Rating
- Does not participate
- Location
- Узбекистан
- Date of birth
- Registered
- Activity