Недавно я узнал про довольно интересный инструмент, встроенный в РНР. Оказывается, в языке нативно поддерживается универсальный формат шаблонов для сообщений, ICU Message Format. В частности, он используется в Symfony Translation Component и в системе интернационализации фреймворка Yii 2. Однако этот функционал доступен и сам по себе, в чистом РНР. И может использоваться не только для создания многоязычных сайтов, но и в качестве простенького шаблонизатора, например для email-рассылок.
Пользователь
Умный ИБП для умного дома
Живу в новостройке и пока тут идут ремонты, изредка, но бывает, что отключается электричество. Чтобы умный дом продолжал работать (а вместе с ним и домашний интернет), купил себе мобильный UPS на AliExpress и немного его доработал.
Что есть ЮАР прямо сейчас
Если долго, долго, долго,
Если долго по тропинке,
Если долго по дорожке
Топать, ехать и бежать,
То пожалуй, то конечно,
То наверно, верно, верно,
То возможно можно, можно,
Можно в Африку прийти!
Очень интересен тот факт, что я не вижу никаких свежих описаний ЮАР на Хабре. А зря. Возможно вам будет интересно это место. В нём есть множество недостатков, но наличествует множество достоинств. Возможно вам приглянется. За подробностями прошу под кат.
Раскрываем секреты загрузочных ISO-образов
В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Домашнее облачко или что можно сделать с Orange Pi 5 (Часть 1)
Прикупил для тестирования SBC Orange PI 5 c 8 ядрами и 16Гб RAM и постарался описать какие бонусы можно получить от использования. Поставил Ubuntu 22, Docker, Portainer, gitlab-ce, minio S3 (домашний S3). Приглашаю к обсуждению, кидайте тапками или предлагайте что нибудь потестировать на новом устройстве.
Встраиваем Lua в PHP через FFI
Foreign Function Interface — это перспективная альтернатива для традиционных PHP-расширений.
Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения.
Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)
Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.
Цель и вебинара и статьи - дать начинающим представление о тех понятиях, которые вынесены в заголовок, чтобы помочь из избежать повсеместной путаницы, сопровождающей эти темы.
Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!
Управление приватными php репозиториями с помощью Composer и Satis
Как у организации, создающей вручную несколько качественных сайтов в год, у нас быстро возникла необходимость извлечения максимальной выгоды из определенного набора базовых средств. Несмотря на то, что некоторые из них были публичными или аутсорсными, как, например, наш фреймворк Wonderwp или библиотека pew.js, остальные мы бы хотели по возможности оставить приватными.
Главным техническим средством в наших процессах сборки является Composer. Мы используем его из-за удобства управления нашими зависимостями, поэтому мы бы очень хотели, чтобы он позаботился и о наших приватных плагинах. Поэтому первым нашим шагом стало изучение официальной документации composer относительно приватных репозиториев. Ниже приведена некоторая квинтэссенция информации, как мне кажется, релевантной для нашей ситуации:
Мониторинг начинается с метрик. Часть 2: серверное ПО
Продолжаем цикл статей об организации мониторинга. В первом материале разбирали, как и куда вообще имеет смысл навешивать алерты. Теперь поговорим о мониторинге базового серверного ПО, которое встречается в работе практически любого веб-проекта. Хочу поделиться метриками и алертами, которые мы в ITSumma используем для мониторинга виртуальных машин, docker/LXC-контейнеров, web- и application-серверов, supervisor’а, кастомных сервисов, а также ping-url’ов, SSL-сертификатов и доменных имен.
Postgresso #2 за 2022 (39)
В эти безрадостные дни многим трудно работать, сочинять и даже читать статьи. Но ИТ-инфраструктура это как водопровод — без неё жизнь уже почти невозможна. И мы продолжаем выпускать Postgresso. По понятным причинам в этом выпуске будет много ссылок, меньше анализа. И главная тема — миграция
Миграция
Проблемы миграции с Oracle на Postgres обычно начинаются там, где приходится иметь дело с различиями в синтаксисе команд и прочими расхождениями в этих СУБД. Об этом и говорится в большинстве статей и видео.
Начнём с Oracle to Postgres Conversion
Это официальный документ сообщества PostgreSQL. Есть список инструментов миграции.
The Complete Oracle to PostgreSQL Migration Guide: Move and convert Schema, Application & Data
Довольно пространное руководство от EDB. Есть матрица возможностей миграционных инструментов.
SQL HowTo: префиксный FTS-поиск с релевантностью по дате
Но, поскольку люди — не компьютеры, то и ищут они примерно как "что-то там такое было от Иванова или от Ивановского… нет, не то, раньше, еще раньше… вот оно!"
То есть технически верное решение — это префиксный полнотекстовый поиск с ранжированием результатов по дате.
Но разработчику это грозит жуткими проблемами — ведь для FTS-поиска в PostgreSQL используются «пространственные» типы индексов GIN и GiST, которые не предусматривают «подсовывания» дополнительных данных, кроме текстового вектора.
Остается только грустно вычитывать все записи по совпадению префикса (тысячи их!) и сортировать или, наоборот, идти по индексу даты и фильтровать все встречающиеся записи на совпадение префикса, пока не найдем подходящие (как скоро найдется «абракадабра»?..).
И то, и другое не особо приятно для производительности запроса. Или что-то все же можно придумать для быстрого поиска?
Какими бывают дисплеи в ноутбуках? Разбор
Разберемся как узнать модель и тип дисплея в вашем ноутбуке? И посмотрим на конкретные примеры ноутов и дисплеев.
Что намазать на зубы, чтобы они не выпали
Хорошо зафиксированный пациент в анестезии не нуждается
По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:
- Как правильно мазать зубы пальцем?
- Хорошо ли растворяются пломбы в кислоте?
- Почему больно, когда сверлят зубы дрелью без анестезии?
- Зачем мазать зубы зеленкой?
- Лечение кариеса на дому
- Глубокое микрофторирование эмали
Немного пробежимся по скучной теме строения зуба и сразу погрузимся в волнующий мир бесчисленных тварей, которые жрут вас заживо, и разнообразных полезных стоматологических пузырьков и тюбиков.
Как сделать многоточечную WebRTC-конференцию MCU с записью и демонстрацией экрана в браузере
Во время карантина, который то ослабевает, то активизируется с удвоенной силой, появилось огромное множество новых профессий. Сторисмейкеры, инфопродюсеры, специалисты по запускам инфопродуктов и прочие неведомые звери - все они освоили новую работу, которая смогла прокормить их в пандемию. Нанимаете сторисмейкера, который прошел какие-то курсы (дай бог, нормальные, а не от инфоцыган) - он пилит за вас вовлекающие истории в Инстаграм и ваш курс продается. С контентмейкерами та же история - просто нанимаете такого человека, он вам и шапку профиля везде оформит, и на каком-нибудь Геткурсе уроки упорядочит, и статьи напишет, которые тоже помогут в продвижении курсов. Полный полет фантазии: если вам кажется, что какой-то профессии не существует, значит вы просто мало сидите в интернете. В принципе онлайн-работа популяризировалась и теперь уже вряд ли кто-то скажет: "Да он фигней какой-то занимается - ТикТоки свои снимает, а лучше бы на заводе вкалывал!".
Полезные консольные Linux утилиты
В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.
Осторожно много скриншотов. Добавил до ката утилиту binenv.
binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.
SafetyNet Attestation — описание и реализация проверки на PHP
В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.
После многочасовых поисков и скрупулёзного изучения официальной документации Google решил поделиться полученным опытом. Потому что, кроме официальной документации, я нашел только отрывочные описания частных примеров реализации на разных ЯП. И ни намека на комплексное объяснение особенностей проверки по SafetyNet на сервере.
Статья будет полезна разработчикам, которые хотят подробнее разобраться с технологией верификации устройств по протоколу SafetyNet Attestation. Для изучения описательной части не обязательно знать какой-либо язык программирования. Я сознательно убрал примеры кода, чтобы сфокусироваться именно на алгоритмах проверки. Сам пример реализации на PHP сформулирован в виде подключаемой через composer библиотеки и будет описан ниже.
А в конце статьи — ссылка на разработанную мной библиотеку на PHP, которая обеспечивает полный цикл верификации JWS.
Docker + php-fpm + PhpStorm + Xdebug
Сказано — сделано. Подробности под катом.
Делаем Linux терминал красивым и удобным
Бразильские дальнобойщики и русские радиопираты: изучаем спутники SATCOM
2009 год. В журнале «Хакер» выходит статья «Хакерское радио: спутники армии США на службе пиратов», повествующая о спутниковом радиопиратстве в Бразилии. Сегодня мы вновь поднимем эту тему и посмотрим, изменилось ли что-то за 11 лет?
Когда речь заходит о спутниках SATCOM, мы сразу оговоримся, что речь пойдет о спутниковой группировке ВМС США — Navy Fleet Satellite Communication (FLTSATCOM). Началось все с корпорации Thompson Ramo Wooldridge Inc., ныне известной как TRW.Inc, руководившей разработкой первой межконтинентальной баллистической ракеты США. Планировалось, что группировка будет состоять из 8 спутников, обеспечивающих связью самолеты, корабли, подводные лодки и наземные станции с военным командованием.
Принцип единственной ответственности: глубокое погружение
Эта статья — попытка дать более глубокое объяснение принципу единственной ответственности, а также показать как его всё таки можно применять на практике. Кому интересно — добро пожаловать под кат.
Информация
- В рейтинге
- Не участвует
- Откуда
- Красноярск, Красноярский край, Россия
- Дата рождения
- Зарегистрирован
- Активность