Библиотека пхпшника PHP
Канал про современный PHP и его инструменты.
Руководитель ставит сотруднику KPI, который невозможно выполнить своими силами, но все остальные так работают. Кто прав?
Anonymous Poll
10% - Прав руководитель. Раз работают — значит все возможно
18% - Прав работник, который не хочет брать на себя ответственность
45% - Как всегда — у каждого своя правда
2% - Свой вариант (напишу в комментариях)
26% - Посмотреть результаты
Предупреждение для всех, кто использует PHP
Серьёзная уязвимость была обнаружена в GLIBC, что может привести к вмешательству в PHP-сайты по всему миру. Смотрите это в этом видео.
YouTube
this is a warning to everyone using phpAn 8/10 vulnerability has been found in glibc, that could lead to the compromise of PHP around the world. Check it out in this video.
https://nvd.nist.gov/vuln/detail/CVE-2024-2961
🏫 COURSES 🏫 Learn to code in C at https://lowlevel.academy
🛒 GREAT BOOKS…
Пользовательские настройки в приложениях Symfony с JBtronics/Settings-Bundle
Это руководство по использованию пакета jbtronics/settings-bundle в Symfony для управления настройками приложения. Основная идея заключается в том, что параметры настроек организованы вокруг классов, что обеспечивает типобезопасность и удобство разработки.
DEV Community
User-configurable settings in Symfony applications with jbtronics/settings-bundle (Part 1)Symfony offers vast configuration possibilities using container parameters and environment variables....
Что такое «PHP Extension Community Library» (PECL), и как её использовать для расширения функциональности PHP?
Библиотека сообщества расширений PHP (PECL) служит репозиторием для PHP-расширений. PHP-расширения представляют собой модули, написанные на C, которые могут быть динамически загружены в PHP для предоставления дополнительной функциональности. Эти расширения могут взаимодействовать с PHP на более низком уровне, чем обычные скрипты PHP, позволяя разработчикам использовать системные ресурсы, взаимодействовать с базами данных и выполнять другие задачи, которые могут быть более эффективно реализованы на языке более низкого уровня.
Цель PECL заключается в предоставлении централизованного места для разработчиков, где они могут делиться и распространять PHP-расширения. Это гарантирует, что разработчики PHP могут легко находить, устанавливать и использовать расширения для расширения возможностей PHP.
Чтобы использовать PECL для расширения функциональности PHP, обычно следуют следующим шагам:
Установка PECL: Убедитесь, что PECL установлен на вашей системе. Обычно он поставляется вместе с установками PHP, но в зависимости от вашей конфигурации может потребоваться установить его отдельно.
Поиск расширений: Просмотрите веб-сайт PECL или используйте команду pecl search, чтобы найти расширения, предоставляющие необходимую функциональность.
Установка расширений: После того как вы нашли нужное расширение, вы можете установить его с помощью команды pecl install, за которой следует имя расширения.
Включение расширения: После установки расширения вам нужно включить его в файле конфигурации PHP (php.ini). Вы можете сделать это вручную, добавив строку вроде extension=имя_расширения.so в файл php.ini, или с помощью команды phpenmod, если вы используете систему с хранилищем расширений и приложений PHP (PEAR)
Перезапуск веб-сервера: После включения расширения необходимо перезапустить веб-сервер (например, Apache или Nginx), чтобы изменения вступили в силу.
Тестирование расширения: Наконец, вы можете протестировать функциональность, предоставляемую расширением, в ваших PHP-скриптах. Вы можете использовать функции или классы расширения, как это указано в его документации.
#вопросы_с_собеседований
Как создать LLM чат на WebSocket с помощью llama.cpp
Туториал описывает процесс настройки функционала чата с использованием Large Language Model (LLM) в веб-приложении.
PHP Resonance Framework
How to Create LLM WebSocket Chat with llama.cpp?Learn how to setup a WebSocket server and create basic chat with an open source LLM.
💬Расскажите, какой из своих проектов вы могли бы назвать бесполезным? Или поделитесь примером такого проекта, который наблюдали со стороны.
Ждём вас в комментариях👇
#интерактив
Forwarded From Библиотека джависта | Java, Spring, Maven, Hibernate
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.
Читать статью
#почитать
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Почему FilamentPHP — это хорошее решение для создания CMS
В жизни каждого PHP-разработчика рано или поздно настаёт момент, когда его просят написать корпоративный сайт, новостной портал или очередной интернет-магазин.
Конечно, в этом случае можно взять готовое решение вроде Bitrix. Однако порой эти огромные комбайны оказываются действительно слишком уж огромными, и для управления тремя с половиной табличками проще написать свое решение.
Хабр
Почему FilamentPHP — это хорошее решение для создания CMSПривет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA . В этой статье расскажу вам о FilamentPHP. В документации говорится , что это набор красивых Fullstack-компонентов для...
PHP умирает? Что “рождено чтобы умирать” - умереть не может! Wikipedia, Wordpress, Tumblr, MailChimp, Bumble/Badoo - все они построены на PHP и обслуживают многомиллионные аудитории. Как это делается? Что является узкими местами в больших проектах, и как они маштабируются?
Приходи в апреле на два авторских образовательных трека от ex-CTO Badoo - компании, которая дала миру php-fpm SAPI. Выбирай свой курс для прокачки навыков архитектора и проектировщика, которые помогут тебе расти профессионально.
- с курсом «Системный дизайн высоконагруженных проектов» получишь навыки проектирования высоконагруженных проектов, изучишь все основные хайлоад-паттерны и попрактикуешься в системном дизайне (рассмотрим несколько больших проектов типа социальной сети, e-commerce платформы, мессенжера, CDN, сервиса доставки - но ты можешь принести на рассмотрение любой кейс)
Приятным бонусом в этом потоке будет приглашенная лекция от эксперта по большим проектам, очередям и Tarantool, регулярный спикер и член ПК конференций Highload, создатель S3 в VK Cloud, Mons Anderson aka Владимир Перепелица (ex-VK, Tarantool)
- Буткэмп «Производительность и масштабируемость» позволит погрузиться в мир highload за максимально короткий срок и получить 6 месяцов хардкорной практики на собственной инфраструктуре: получишь фундамент компетенций архитектора сложных и высоконагруженных систем, навыки управления своей собственной инфраструктурой, нагрузочного тестирования и тюнинга Linux-серверов, масштабирования бекенд-систем.
Автор курса – Алексей Рыбак, ex-CTO Badoo и Vezet, член программного комитета Highload с многолетним опытом разработки ПО и управления технологическими организациями.
Старт уже в апреле, записывайся! Если учишься за свои как физлицо, то забирай скорее 10% скидку по промокоду “PAAMAYIM_NEKUDOTAYIM”, действует 3 дня.
Реклама. ИП Рыбак А.А. ИНН 771407709607
В Symfony инструкции не всегда достаточны, но Symfony имеет интеграцию с Doctrine ORM, что круто! 🎉
🛠️ Проблема:
Как выполнить запросы к БД на основе данных формы?
📋 Решение:
Предлагается использовать объект типа DTO (DataTransferObject), созданный на основе данных формы, чтобы передавать структурированные данные в методы запросов. Это делает код более надежным и предсказуемым.💼
Далее показывается пример создания формы и обработки данных из неё в контроллере Symfony. Автор использует созданный объект DTO для передачи данных в метод запроса репозитория.
Затем переходим к рассмотрению метода findByFilter в репозитории событий (EventRepository). Этот метод выполняет запрос к базе данных на основе данных из формы, применяя различные фильтры в зависимости от выбранных пользователем параметров. Автор обсуждает компактность и эффективность этого метода, а также его возможность повторного использования благодаря отделению от остального кода.🛠️
🔧 Преимущества:
Код становится более читаемым и надежным 📖
Запросы становятся короткими, эффективными и переиспользуемыми 💪
Можно выполнять стандартные проверки кода на SQL-запросах 👨💻
Короткие, эффективные и переиспользуемые запросы к БД — круто! 🚀
Какая система типов используется в PHP? Опишите плюсы и минусы.
В PHP используется динамическая система типов, что означает, что тип переменной определяется во время выполнения программы и может изменяться в процессе работы. Вот некоторые плюсы и минусы такой системы типов:
Плюсы:
✔️Гибкость: Динамическая типизация делает PHP очень гибким языком программирования, позволяя быстро писать и изменять код.
✔️Простота использования: Не нужно явно объявлять типы переменных, что упрощает написание кода, особенно для новичков.
✔️Легкость внесения изменений: Поскольку типы переменных могут быть изменены в любой момент, изменение структуры данных или логики программы может быть более легким и менее разрушительным.
✔️Меньше кода: Нет необходимости явно приводить типы или выполнять проверки на соответствие типов, что может сократить объем кода.
Минусы:
❗Потенциальные ошибки времени выполнения: Поскольку типы определяются во время выполнения, ошибки, связанные с несоответствием типов, могут возникнуть только во время выполнения программы, что может затруднить их обнаружение и отладку.
❗Уменьшение производительности: Проверка типов во время выполнения может негативно сказаться на производительности приложения, особенно в больших и сложных проектах.
❗Меньшая надежность: Поскольку типы переменных могут изменяться во время выполнения, это может привести к неожиданному поведению программы и усложнить ее понимание и поддержку.
❗Трудности в документации и отладке: Из-за динамической типизации может быть сложно определить типы переменных и их ожидаемое поведение, что может затруднить документирование кода и отладку ошибок.
#вопросы_с_собеседований
TypeLang Parser
Библиотека для анализа и проверки синтаксиса и преобразования его в AST ноды
GitHub
GitHub - php-type-language/parser: Library for parsing and validating TypeLang syntax and converting it into AST nodesLibrary for parsing and validating TypeLang syntax and converting it into AST nodes - php-type-language/parser
Настраиваем Windows WSL для локальной разработки Laravel
В этой небольшой статье рассказывается, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows.
Хабр
Настраиваем Windows WSL для локальной разработки LaravelВсем привет! В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и...