Пятиминутка PHP
2.87K subscribers
334 photos
27 videos
827 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
Распределённый p2p аналог GitHub: https://radicle.xyz/
💩13🤔9👍3🥴3🔥1
Зачем нужно много ядер CPU? Чтобы эффективно проверять проект с PHPStan!
😁56👍14😱10🤨4
Forwarded from Авва
В мире компьютерной безопасности сегодня интересный день. Точнее, он начался вчера вечером, когда немецкий разработчик Андрес Фройнд опубликовал отчет о тайной лазейке (бэкдор), которую он обнаружил в новых версиях широко используемой библиотеки для сжатия liblzma (часть архиватора xz). Лазейка позволяет взломщикам заходить через SSH на системы, в которых установлены эти новые версии - к счастью, похоже, что это всего несколько дистрибутивов Линукса в их до-релизовых версиях.

Всех очень впечатлило, насколько эта лазейка была сделана хитро, и как взломщик или взломщики серьезно поработали над тем, чтобы замести следы:

- взломщик под именем/псевдонимом Jia Tan почти два года (!) участвовал в разработке опенсорсного пакета xz, завоевал доверие его мейнтейнеров и получил доступ к прямому коммиту в его репозиторию. Он сделал больше 700 коммитов, лишь малая часть которых медленно подготовила код для лазейки

- основной код лазейки спрятан в тестовых файлах проекта (примеры "плохих" и "хороших" архивов)

- исходный код, который включает лазейку в собственно библиотеку, вообще не является частью основной репозитории в Github. Он спрятан в тар-архивах двух последних релизов, которые обычно используются мейнтейнерами дистрибутивов. То есть есть таг релиза, есть архив, якобы собранный из репозитории в момент этого тага, но на самом деле в нем есть крохотная добавка; в самой репозитории ее нет

- эта добавка прячется в конфигурационной магии autoconf, которую все ненавидят лютой ненавистью и никто никогда не заглядывает внутрь

- она проверяет, когда исходники конфигурируют именно для постройки дебиан-пакета или RPM-пакета (т.е. то, что будут делать мейтейнеры дистрибутивов), и только в этом случае вынимает из тестовых файлов определенные куски и добавляет в код библиотеки

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

- интересно, что openssh, стандартный SSH-сервер под линуксом, не использует библиотеку liblzma, в которую вставили эту лазейку, но несколько популярных дистрибутивов добавляют в него поддержку уведомлений системы, systemd, а библиотека libsystemd уже в свою очередь использует liblzma.

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

Взломщик допустил только одну ошибку: код лазейки, когда он работает как часть openssh, довольно медленно обрабатывает эти символьные таблицы, или что он еще там делает, и даже неудачная попытка логина на такую систему занимает на полсекунды дольше, чем обычно. Андрес Фройнд заметил эти полсекунды задержки. Они его раздражали. Он решил найти, какой новый баг к этому приводит, и нашел эту лазейку.

Если бы все происходило быстро и не было задержки в полсекунды, очень может быть, что это не заметили бы месяцы и годы, и этот код попал бы в основные дистрибутивы, в версии Линукса, которые запускаются у основных облачных провайдеров итд. Они реально очень, ОЧЕНЬ хорошо замели следы.

Теперь все думают, что надо было/надо теперь делать по-другому, и как обнаружить следующую лазейку такого типа - или предыдущую, если она уже есть и никто не знает! - не опираясь на удачу и героическую занудливость Андреаса Фройнда.
😱54👍17🔥9👏4🌚1
Пишу код, указал строковый ключ в массиве, Copilot привычно для меня автодополнил значением после => (в данном случае верно угадал значение по окружающему контексту).

Но я заметил кое-что необычное, Copilot написал для меня комментарий в конце строки.

В комментарии написано: опечатка в 'default - пригляделся, и правда, я опечатался!

Такого поведения я ещё не видел, интересно.
👍54🤔12👎4🗿3😐2👀2😁1🫡1
Статья с обзором расширений для Raycast (macOS) на тему PHP и Laravel: https://aleksandertabor.com/blog/best-raycast-extensions-for-laravel-php-developers

В основном эти расширения дают быструю навигацию по документации.
👎9🥴3👍1
Опробовал новый ИИ-чат от Яндекса, пока отвечает уверенно: https://a.ya.ru/
😁63👍15👎6💯6🔥21🤔1
Привет! На связи Podlodka Crew, организатор IT-мероприятий по разным технологиям и языкам.
Уже 22 апреля мы запускаем четвертый сезон конференции по PHP. Тема — практика работы с базами данных. 💻

Этот сезон прольёт свет на все, даже самые неожиданные, аспекты работы с базами. Приготовьтесь: будет много практики и реальных кейсов. Redis, Doctrine, Elasticsearch, нюансы PostgreSQL, изучим уровни изоляции транзакций, проектирование и масштабирование, и множество интересных инструментов и решений.

💚 Научимся проектировать базы данных. Николай Кокоулин из ВсеИнструменты проведёт воркшоп по проектированию и рефакторингу. В том числе разберём нестандартные типы данных и антипаттерны. А ещё узнаем, как ускорить работу с данными и проанализируем методы индексации.

💙 Выясним, как использовать Redis в качестве внешней памяти приложений. Вместе с Дмитрием Кирилловым, CTO 1С-Старт выйдем за границы кэша и начнём управлять памятью.

💚 Полюбим Doctrine и попрактикуемся его использовать. Обсудим требования, возможные проблемы и сценарии вместе с Михаилом Камориным из Skyeng.

💙Узнаем, насколько просто начать использовать Elasticsearch вместе с Игорем Филипповым из Zendrop. На этом воркшопе каждый сможет выполнить несколько задач и освоить базовые операции с технологией из PHP кода.

💚Обсудим масштабирование и оптимизацию проектов на PHP вместе с Александром Макаровым, CEO ASAPIRL.

💙 И, наконец, посмотрим на эпичную битву сторонников и противников использования ORM в лице Кирилла Несмеянова и Валентина Удальцова.

Это не все сессии конференции, ещё больше подробностей — в следующем анонсе.
А пока успейте забрать билет со скидкой для ранних пташек:
https://podlodka.io/phpcrew
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Forwarded from OpenNews (HK-47)
Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
В стандартной Си-библиотеке Glibc выявлена уязвимость (CVE-2024-2961), приводящая к переполнению буфера при преобразовании специально оформленных строк в кодировке ISO-2022-CN-EXT функцией iconv(). Выявивший проблему исследователь планирует 10 мая выступить на конференции OffensiveCon с докладом, в анонсе которого упоминается возможность эксплуатации уязвимости через приложения на языке PHP. Заявлено, что проблема затрагивает всю экосистему PHP и некоторые приложения.
😱27👍4🤔3😢1
Приветствую всех PHP-разработчиков!
Подготовка второго выпуска игры-викторины в стиле "Своей игры" в разгаре! Валентин Удальцов, Алексей Гагарин и Пётр Мязин уже который день штудируют библиотеки чтобы поразить вас своей эрудицией. Каждый из них рассчитывает только на победу!

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

Приглашаем поддержать участников, проверить свои знания и просто хорошо провести время. До встречи на викторине!

https://www.youtube.com/watch?v=ef0LPaVNJLs

Вопросы участникам можно задать тут
👍22🥴4🗿3
Я обновил свой PhpStorm до 2024.1 - одна из ключевых фишек это новое AI автодополнение "Full Line Code Completion", которое работает локально и в пресс-релизе звучало многообещающе (https://blog.jetbrains.com/blog/2024/04/04/full-line-code-completion-in-jetbrains-ides-all-you-need-to-know/), т.к. ответ от AI проходит дополнительную проверку средствами IDE и неподходящие варианты отсеиваются.

Что на самом деле:
1. Сама версия PhpStorm 2024.1 очень забагована, много типового функционала сломано, работать тяжело
2. Новое AI автодополнение работает примерно как на картинке ниже.

Я бы ещё потестировал этот новый Full Line Code Completion от JetBrains, но, к сожалению, общая забагованность PhpStorm 2024.1 вынудила меня откатиться обратно на 2023.3.

Печально, но факт: последние пару лет после выхода каждой новой мажорной версии PhpStorm - самый первый релиз чаще всего слишком сырой и я постоянно возвращаюсь к предыдущему. Нужно ждать пару минорных обновлений, прежде чем начинать работать.
💯31
Forwarded from PHP умирает?!
Стремительно погружаюсь в невероятный мир ИИ...
🤣95👍3🤬2🙈1
🎉18🤔5👻2🤮1💩1🤡1😍1
https://php-rfc-watch.beberlei.de/ - сайт на котором можно следить за процессом голосования за RFC к PHP.

Что меня привлекло в этом сайте и почему решил поделиться ссылкой на канале: сайт по сути является одной большой страницей с длинным списком RFC разных лет, очень интересно прочитать всё сверху вниз, вспомнить, что когда-то было на повестке дня или открыть что-то новое для себя.
👍214
This media is not supported in your browser
VIEW IN TELEGRAM
Уведомления из Sentry после релиза на prod
😁107👍3😱2👻2
Компания Google анонсировала поддержку Laravel в своей online среде разработки IDX: https://idx.google.com/new/laravel

Новость сама по себе «сомнительно, но ок».

Но сегодня прочитал в PHP Annotated (дайджест от JetBrains - https://blog.jetbrains.com/phpstorm/2024/06/php-annotated-may-2024/), что поддержка Laravel есть, а поддержки простого «голого» PHP нет - вот это неожиданно! И одновременно подчёркивает популярность Laravel.
🤷‍♂20😁12👍5💩4🤔1
Редактор: «Нам надо изменить слово Тинькофф на Т-банк на всем сайте».
Программист: «Ни слова больше»
😁106🤣71🤔3
В рабочих проектах я использую JetBrains Space (аля GitLab).

Что в нём нравится: отзывчивый веб-интерфейс, удобнейший code review через веб (привет тормозящему GitLab 👋), отличное мобильное приложение, крутая интеграця Code Review внутри PhpStorm (хотя, говорят, интеграции Code Review GitHub и GitLab тоже крутые, я не сравнивал).

Из недостатков: простой issue tracker внутри (мало фич, слабо смотрится, не хватает многого) и CI/CD пайплайны с которыми пришлось помучаться, информации в интернете мало, сухая документация, ChatGPT тоже не очень в курсе.

Прочитал только что в блоге: «продукт не взлетел, закрываем и перезапускаем в новом виде «SpaceCode» - фокус нового продукта на Git хостинге и Code Review.»

Выходит, что те фичи, которые по моему мнению хорошо удались остаются в виде SpaceCode, а всё прочее прекращает своё развитие и существование. Логично, разумно, но всё-таки жалко, что у JetBrains не получилось создать крутой облачный комбайн для разработки «всё в одном» 😢

Кстати, у JetBrains уже был продукт сфокусированный на CodeReview, назывался Upsource, его закрыли.

https://blog.jetbrains.com/space/2024/05/27/the-future-of-space/
👍10🥱7🤯211🤔1😢1