Search
Write a publication
Pull to refresh
4
0
xRay @xRay

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

Send message

PHP-Дайджест № 193 (16 – 30 ноября 2020)

Reading time5 min
Views12K

Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи.

Приятного чтения!


Сегментация данных с видеокамеры

Reading time4 min
Views5.5K

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

Подробнее

Как посмотреть плоские фильмы в 3D

Reading time7 min
Views8.5K

Это сильно расширенная версия моей публикации на Medium

Недавно я сидел в баре с другом зашел разговор о том, в каких задачах в принципе может быть эффективен нейросетевой подход, а где они совершенно излишни. Один класс примеров, где нейросети часто наголову превосходят классические алгоритмы - обработка изображений. Точность решения задачи распознования объектов на изображении может даже превосходить человеческое восприятие. Кроме того, интересны и задачи переноса стиля, генерации реалистичных изображений, superresolution итд. Нейросети могут быть очень эффективны также в задачах типа pixtopix, когда происходит генерация одного изображения из другого. Тогда у меня и возникла идея попробовать применить данные алгоритмы для преобразования 2d фильмов в 3d.

Читать далее

Короче, сделал столетний блокбастер цветным

Reading time22 min
Views44K

Синопсис

Раскраска фильмов до этого года стоила сотни тысяч долларов, требовала участия массы специалистов и занимала много времени. Теперь всё изменилось. Развитие проекта Deoldify дошло до такого состояния, что результаты его работы можно комфортно смотреть, расслабив фейспалм. Из текста вы узнаете подробности успешного эксперимента по оцветнению фильма без денежных затрат, завершенного за несколько недель силами одного человека.


верни картинку взад
Читать дальше →

Самая сложная задача в Computer Vision

Reading time13 min
Views75K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.

PHP 8 — Что нового?

Reading time19 min
Views142K

PHP, начиная с 7 версии, кардинально изменился. Код стал куда быстрее и надёжнее, и писать его стало намного приятнее. Но вот, уже релиз 8 версии! Ноябрь 26, 2020 — примерно на год раньше, чем обещали сами разработчики. И всё же, не смотря на это, мажорная версия получилась особенно удачной. В этой статье я попытаюсь выложить основные приятные изменения, которые мы должны знать.


1. JIT


Как говорят сами разработчики, они выжали максимум производительности в 7 версии (тем самым сделав PHP наиболее шустрым среди динамических ЯПов). Для дальнейшего ускорения, без JIT-компилятора не обойтись. Справедливости ради, стоит сказать, что для веб-приложений использование JIT не сильно улучшает скорость обработки запросов (в некоторых случаях скорость будет даже меньше, чем без него). А вот, где нужно выполнять много математических операций — там прирост скорости очень даже значительный. Например, теперь можно делать такие безумные вещи, как ИИ на PHP.
Включить JIT можно в настройках opcache в файле php.ini.
Подробнее 1 | Подробнее 2 | Подробнее 3


2. Аннотации/Атрибуты (Attributes)


Все мы помним, как раньше на Symfony код писался на языке комментариев. Очень радует, что такое теперь прекратится, и можно будет использовать подсказки любимой IDE, функция "Find usages", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →

Война за цифровую свободу идёт внутри наших принтеров

Reading time8 min
Views37K
image

С момента своего основания в 1930-х компания Hewlett-Packard стала синонимом инноваций: многие инженеры отдавали должное её надёжным генераторам, мини-компьютерам, серверам и PC. Однако на рубеже веков компания сменила своё название на HP и сосредоточилась на использовании сомнительных способов избавления несчастных владельцев принтеров от денег. Производители принтеров уже долгое время отличались этой порочной практикой, однако HP поистине стала новатором, настоящим Дартом Вейдером этой отрасли, всегда готовым силой заставить пользователя пойти на «сделку», а потом изменить её правила, ещё сильнее увеличив свою выгоду.

Недавно компания побила свой собственный рекорд, превратив свою программу «Бесплатные чернила на всю жизнь» в «Плати мне по 0,99 доллара ежемесячно до конца своей жизни, или принтер перестанет работать».

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета

Reading time4 min
Views37K

CrowdSec

Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Например, джейл для авторизации по SSH включён с дефолтными настройками 5 попыток авторизации за 10 минут, после чего происходит бан IP-адреса на 10 минут. Отличный способ отфильтровать мусорный трафик от разных сканеров и защита от DDoS.

Fail2Ban и SSHGuard — лучшие инструменты в своей области. Однако новый опенсорсный проект CrowdSec представляется интересной альтернативой. Это локальная замена Fail2Ban, а потенциально нечто большее — глобальная база репутации IP-адресов типа иммунной системы интернета.
Читать дальше →

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk

Reading time6 min
Views43K
По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2.

В данном обзоре я не буду описывать «пагубность» влияния CO2, а также низкой влажности на самочувствие и здоровье человека. Также, как и не буду доказывать, что без этого девайса не прожить. Об этом уже написаны тонны статей, как и споров в комментах. Я постараюсь лаконично описать создание максимально бюджетного устройства, но при этом измерительного устройства, а не показометра.

Также для максимальной простоты повторения, в обзоре выложу прошивку для ESP32 и проект Blynk.
Читать дальше →

Как устроен билд APK файла внутри

Reading time6 min
Views31K

Процесс создания APK и компиляции кода


Рассматриваемые темы


  • Архитектура процессоров и необходимость для виртуальной машины
  • Понимание Java виртуальной машины
  • Компиляция исходного кода
  • Виртуальная машина Андроид
  • Процесс компиляции в .dex файл
  • ART против Dalvik
  • Описание каждой части билд процесса
  • Исходный код
  • Файлы ресурсов
  • AIDL файлы
  • Модули библиотек
  • AAR библиотеки
  • JAR библиотеки
  • Android Asset Packaging Tool
  • resources.arsc
  • D8 и R8
  • Dex и Multidex
  • Подписывание APK файла
  • Ссылки

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

WPScan — мощный фреймворк для пентеста WordPress

Reading time5 min
Views32K


Сегодня более половины всех сайтов работают на CMS, а согласно данным W3Techs 63,7% из них используют WordPress. Если ваш сайт один из таких, тогда в этой статье вы узнаете о том, как проверить его на прочность с помощью одного из самых мощных инструментов для пентеста Wordpress – WPScan.


Содержание:


  • Введение
  • Сканирование версии WordPress
  • Сканирование установленных тем оформления
  • Сканирование установленных плагинов
  • Сканирование пользователей
  • Сканирование тем, плагинов и пользователей одной командой
  • Брутфорс с помощью WPScan
  • Загрузка шелла с помощью Metasploit
  • Использование уязвимостей в плагинах
  • Сканирование через прокси-сервер
  • Сканирование с включенной HTTP-аутентификацией

Введение


«WPScan» – blackbox сканер уязвимостей WordPress, написанный на Ruby. Позволяет выявлять уязвимости в:


  • В версии движка.
  • Темах оформления.
  • Плагинах.

WPScan уже предустановлены в ряде ОС для белого хакинга, таких как:


  • Kali Linux
  • SamuraiWTF
  • Pentoo
  • BlackArch

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


Возможности WPScan:


  • Определяет версию установленного на данный момент WordPress.
  • Обнаруживает конфиденциальные файлы, такие как:
    • readme;
    • robots.txt;
    • файлы замены базы данных и т. Д.
  • Обнаруживает включенные функции на текущем установленном сервере WordPress, таких как file_upload.
  • Перечисляет темы оформления и плагины вместе с их версиями. Вдобавко WPScan сообщает о том, устарели они или нет.
  • Находит все доступные имена пользователей.
Читать дальше →

Кто сказал «мяу»: бывший разработчик из Amazon создал переводчик с кошачьего

Reading time2 min
Views25K

Технический менеджер компании Akvelon Хавьер Санчес создал приложение — переводчик с кошачьего. По его мнению, «MeowTalk» поможет выйти отношениям с питомцами на новый уровень.
Читать дальше →

Создание устройства качания детских кроваток с дугообразным полозом

Reading time7 min
Views18K

В предыдущих статьях (раз, два) я описывал устройство качания детской кроватки с маятниковым механизмом. Прошло всего каких-то пять лет – и теперь вашему вниманию хочу представить следующую разработку – устройство качания для кроватки с дугообразным полозом. Ах, да! Предвидя вопросы: «а зачем качать?», «а качать-то, наверное, вредно?», «а вот у меня дети никогда в кроватке не качались – и выросли достойными людьми!», «не нужно приучать детей к качанию, в Спарте таких вообще не любили!» и т.д. – отвечаю: это не предмет рассмотрения данной статьи. Если звезды зажигают – сами понимаете. Всегда качали – это в культуре, причем разных народов. Люльки, колыбели, «бешики» – вот это вот всё. И сейчас тоже – кроватки-качалки, кроватки с маятниковым механизмом. Качали, качают и качать будут. И мы с женой – тоже качали, конечно.

А раз так – будем автоматизировать!

Как я подключил официальный бизнес API WhatsApp через Twilio

Reading time8 min
Views27K
Как известно, WhatsApp не так давно начал предоставлять доступ к своему официальному бизнес API, который так необходим для создания чат-ботов для этого мессенджера «белыми» методами.

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

Одним из таких доступных партнеров является американская компания Twilio. Самое основное их преимущество на мой взгляд, это невысокая стоимость использования WhatsApp Business API.

Я подключил через Twilio официальный бизнес API WhatsApp и сейчас подробно расскажу, как это сделать.

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

Дефицит цветов в современных фильмах

Reading time4 min
Views53K

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

Read more

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

Reading time4 min
Views7.5K

image


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

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

PHP-Дайджест № 190 (5 – 19 октября 2020)

Reading time4 min
Views12K
Фото: Илья Шихалеев.

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 2, Xdebug 3 beta, PhpStorm EAP с поддержкой PHPStan и Psalm, порция полезных инструментов, статьи, видео, митапы.

Приятного чтения!


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

Прочитай меня полностью! Как спасти данные с неисправного или заблокированного телефона?

Reading time2 min
Views50K
Показываю наглядно самый простой способ восстановить данные с NAND памяти смартфона, независимо от причины, по которой Вам это необходимо. В некоторых случаях телефон неработоспособен из-за повреждения процессора, залитой платы без возможности восстановления, в некоторых телефон заблокирован, а данные необходимо сохранить.

image

Мне посчастливилось работать в компании fix-oscomp, подразделении компании ОСКОМП по ремонту цифровой техники. Здесь я и познакомился на практике с этим способом.
Читать дальше →

SQL HowTo: ломаем мозг об дерево — упорядочиваем иерархию с рекурсией и без

Reading time10 min
Views9.5K
Видимо, это осень так влияет, что за последний месяц на PostgreSQL уже и в «Морской бой» играли, и «Жизнь» Конвея эмулировали… Что уж оставаться в стороне! Давайте и мы потренируем мозг в реализации нетривиальных алгоритмов на SQL.

Тем более, сегодняшняя тема родилась из обсуждения моей же статьи «PostgreSQL Antipatterns: «Бесконечность — не предел!», или Немного о рекурсии», где я показал, как можно заменить рекурсивное чтение иерархичных данных из таблицы на линейное.

Прочитать-то мы прочитали, но ведь чтобы для вывода упорядочить элементы дерева в соответствии с иерархией, уж точно придется воспользоваться рекурсией! Или нет? Давайте разберемся, а заодно решим на SQL пару комбинаторных задач.

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

Создание сложного списка элементов за 20 минут в Android на базе Groupie

Reading time7 min
Views9.7K

Списки являются основным способом представления различного контента в мобильных приложениях. Будь то социальная сеть, приложение для чтения книг или интернет-магазин, в большинстве таких приложений встречаются списки с разными видами ячеек, разного уровня вложенности. Самый наглядный пример, известный любому Android-разработчику — это приложение Google Play, начальный экран которого является сложным списком с множеством вложенных элементов.


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

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

Information

Rating
Does not participate
Registered
Activity