Работа с большими JSON-файлами и расширение класса Request
В этой статье используется подход, который увеличивает лимит памяти, когда целевыми являются определенные маршруты, и он, скорее всего, подходит для приложений с несколькими маршрутами, которые должны обрабатывать большие файлы с максимальным размером 50 МБ (грубо говоря) или меньше.
В этой статье используется подход, который увеличивает лимит памяти, когда целевыми являются определенные маршруты, и он, скорее всего, подходит для приложений с несколькими маршрутами, которые должны обрабатывать большие файлы с максимальным размером 50 МБ (грубо говоря) или меньше.
Geoligard
Handling large JSON payloads and extending the Request class
See how to easily modify and override methods found in the framework's Request class in order to handle specific routes with sizeable payloads.
🥱1
Надеемся, что все отлично отпраздновали день программиста. А нам за два дня пришло много ответов на нашу задачу.
У нас есть победитель, он выбран рандомно среди правильных ответов:
erdnya — аккаунт закрытый. Свяжитесь с @mdudarevcontact
Мы с ним свяжемся и дадим доступ к любому из следующих курсов
Курсы на выбор:
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое TransformersPHP?
Это PHP-пакет, позволяющий запускать предварительно обученные модели из HuggingFace прямо в PHP — не требуется ни API, ни дополнительного сервера.
Пакет разработан как функционально эквивалентный популярной библиотеке Python Transformers. Поэтому его легко начать использовать, если вы знакомы с ML.
Вот несколько примеров использования:
🔸Создание инструмента для удаления фона с помощью Laravel и TransformersPHP.
🔸Как программно переводить контент с помощью AI и TransformersPHP.
🔸Как автоматически генерировать Alt-текст изображения с помощью AI и Transformers PHP.
🔸Машинное обучение с помощью PHP.
Под капотом используется ONNX Runtime и Math libray Rindow через FFI. И самое приятное, что он делает все за вас, даже загружает все либы в соответствии с вашей ОС с помощью небольшого плагина Composer: CodeWithKyrian/transformers-libsloader.
Это PHP-пакет, позволяющий запускать предварительно обученные модели из HuggingFace прямо в PHP — не требуется ни API, ни дополнительного сервера.
Пакет разработан как функционально эквивалентный популярной библиотеке Python Transformers. Поэтому его легко начать использовать, если вы знакомы с ML.
Вот несколько примеров использования:
🔸Создание инструмента для удаления фона с помощью Laravel и TransformersPHP.
🔸Как программно переводить контент с помощью AI и TransformersPHP.
🔸Как автоматически генерировать Alt-текст изображения с помощью AI и Transformers PHP.
🔸Машинное обучение с помощью PHP.
Под капотом используется ONNX Runtime и Math libray Rindow через FFI. И самое приятное, что он делает все за вас, даже загружает все либы в соответствии с вашей ОС с помощью небольшого плагина Composer: CodeWithKyrian/transformers-libsloader.
👍4🌚1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️Backend разработчик
Краснодар. ИнТОП — разработка сайтов, порталов, приложений, виджетов
Подробнее
▪️PHP-программист
Удаленка. ЛЕКО — разработка крупных интернет-проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка. ТЕХНЕЗИС — разработка ПО для транспорта
Подробнее
▪️Веб-программист PHP
Удаленка. SmartSites — агентство диджитал-маркетинга
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Разработчик парсеров на PHP
Удаленка. Alef — нейросетевой обработчик отзывов на маркетплейсах
Подробнее
▪️PHP Developer
Удаленка. КВАДО.РУ — продуктовая IT-компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️Backend разработчик
Краснодар. ИнТОП — разработка сайтов, порталов, приложений, виджетов
Подробнее
▪️PHP-программист
Удаленка. ЛЕКО — разработка крупных интернет-проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Удаленка. ТЕХНЕЗИС — разработка ПО для транспорта
Подробнее
▪️Веб-программист PHP
Удаленка. SmartSites — агентство диджитал-маркетинга
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Разработчик парсеров на PHP
Удаленка. Alef — нейросетевой обработчик отзывов на маркетплейсах
Подробнее
▪️PHP Developer
Удаленка. КВАДО.РУ — продуктовая IT-компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
krasnodar.hh.ru
Вакансия PHP Junior backend разработчик / программист в Краснодаре, работа в компании Агентство ИнТОП (вакансия в архиве c 13 октября…
Зарплата: от 40000 до 90000 ₽ за месяц. Краснодар. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 10.10.2024.
😁3👍2🔥2
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
👍1
CipherSweet
Это библиотека, разработанная компанией Paragon Initiative Enterprises для реализации шифрования на уровне полей с возможностью поиска.
Это библиотека, разработанная компанией Paragon Initiative Enterprises для реализации шифрования на уровне полей с возможностью поиска.
GitHub
GitHub - paragonie/ciphersweet: Fast, searchable field-level encryption for PHP projects
Fast, searchable field-level encryption for PHP projects - paragonie/ciphersweet
Какие строковые функции вы знаете?
echo() — Выводит одну или несколько строк
explode() — Разбить строку на массив
ltrim() — Удаляет лишние символы или пробелы с левой стороны строки.
parse_str() — Разбирает строку запроса на переменные
str_replace() — Заменяет указанные символы строки
str_split() — Разбивает строку на массив символов
str_word_count() — Количество слов в строке
strlen() — Вычисляет длину строки
strncmp() — Сравнивает первые несколько символов строки
Остальные функции можно посмотреть в документации.
echo() — Выводит одну или несколько строк
explode() — Разбить строку на массив
ltrim() — Удаляет лишние символы или пробелы с левой стороны строки.
parse_str() — Разбирает строку запроса на переменные
str_replace() — Заменяет указанные символы строки
str_split() — Разбивает строку на массив символов
str_word_count() — Количество слов в строке
strlen() — Вычисляет длину строки
strncmp() — Сравнивает первые несколько символов строки
Остальные функции можно посмотреть в документации.
😁11🌚1
Статья описывает путь разработчика по улучшению вывода типов в PHPStan, инструменте статического анализа для PHP, с особым акцентом на то, как массив $matches ведет себя после вызова функции preg_match. Цель заключалась в том, чтобы точно определить структуру массива $matches в зависимости от различных факторов, таких как группы захвата в регулярном выражении, необязательные или условные группы, а также флаги, такие как PREG_UNMATCHED_AS_NULL.
Автор столкнулся с рядом вызовов, включая:
✔️Определение, какие группы захвата присутствуют и как они структурированы.
✔️Обработка необязательных и условных групп.
✔️Управление тем, как функция preg_match влияет на $matches в разных ветках конструкций if-else.
Для решения этих задач разработчик экспериментировал с «хаками» для регулярных выражений, а затем перешел на более надежный метод анализа с использованием абстрактного синтаксического дерева (AST) через библиотеку Hoa\Regex, несмотря на проблемы с её поддержкой. Он также реализовал расширения в PHPStan для работы с переменными, переданными по ссылке, такими как $matches, и убедился, что эти улучшения могут быть полезны другим библиотекам, использующим обертки для preg_match.
Автор столкнулся с рядом вызовов, включая:
✔️Определение, какие группы захвата присутствуют и как они структурированы.
✔️Обработка необязательных и условных групп.
✔️Управление тем, как функция preg_match влияет на $matches в разных ветках конструкций if-else.
Для решения этих задач разработчик экспериментировал с «хаками» для регулярных выражений, а затем перешел на более надежный метод анализа с использованием абстрактного синтаксического дерева (AST) через библиотеку Hoa\Regex, несмотря на проблемы с её поддержкой. Он также реализовал расширения в PHPStan для работы с переменными, переданными по ссылке, такими как $matches, и убедился, что эти улучшения могут быть полезны другим библиотекам, использующим обертки для preg_match.
My developer experience
Array Shapes For Preg Match Matches
In August 2023, I started into an adventure which in the end took me 10 months to figure out. It’s another part about my ongoing efforts to close blind spots in PHPStan’s type inference.
🎉2
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/27630c86
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования.
🧐 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны». У вас будет собственный корабль, который научится летать по полю битвы, стрелять основным оружием и применять секретное оружие.
👉 Подробная программа обучения
Промокод
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Manticore + Laravel + Scout
Простая интеграция поискового движка Manticore Search с фреймворком Laravel при помощи Laravel Scout и неофициального драйвера manticore-scout-engine.
Простая интеграция поискового движка Manticore Search с фреймворком Laravel при помощи Laravel Scout и неофициального драйвера manticore-scout-engine.
Хабр
Manticore + Laravel + Scout
Простая интеграция поискового движка Manticore Search с фреймворком Laravel при помощи Laravel Scout и неофициального драйвера manticore-scout-engine . Не смотря на то, что драйвер неофициальный, он...
👏4
Какой шрифт вы используете для написания кода? 🤓
Anonymous Poll
10%
Consolas
16%
Fira Code
66%
JetBrains Mono
4%
Source Code Pro
4%
Monaco
2%
Cascadia Code
10%
Другой (напишите в комментариях)
Привет, друзья! 👋
Готовим статью «Лучшие шрифты для программирования» и хотим узнать ваше мнение! 🖥✨
Готовим статью «Лучшие шрифты для программирования» и хотим узнать ваше мнение! 🖥✨
Что для вас самое важное в шрифте для кода? 🧐
Anonymous Poll
47%
Четкость символов
9%
Поддержка лигатур
31%
Различимость похожих символов (0 и O, 1 и l)
0%
Наличие курсивного начертания
7%
Компактность
6%
Другое (уточните в комментариях)
Поделитесь своим опытом: какой шрифт, на ваш взгляд, самый удобный для долгих сессий кодинга и почему? 💻🕰
Ждем ваши ответы в комментариях! Самые интересные и полезные советы войдут в нашу статью. 📝💡
Ждем ваши ответы в комментариях! Самые интересные и полезные советы войдут в нашу статью. 📝💡
👍3😁2❤1
👨💻 Шпаргалка по проектированию реляционных баз данных
Реляционная база данных — это составленная по реляционной модели база данных, в которой данные, занесенные в таблицы, имеют изначально заданные отношения.
Сами таблицы в такой базе данных также соотносятся друг с другом строго определенным образом. Реляционные базы данных используют целый комплекс инструментов, которые обеспечивают целостность данных, т. е. их точность, полноту и единообразие.
На иллюстрации представлены ключевые моменты, которые следует знать о проектировании реляционных баз данных.
👉 Источник
Реляционная база данных — это составленная по реляционной модели база данных, в которой данные, занесенные в таблицы, имеют изначально заданные отношения.
Сами таблицы в такой базе данных также соотносятся друг с другом строго определенным образом. Реляционные базы данных используют целый комплекс инструментов, которые обеспечивают целостность данных, т. е. их точность, полноту и единообразие.
На иллюстрации представлены ключевые моменты, которые следует знать о проектировании реляционных баз данных.
👉 Источник
😁12👍1🥰1🎉1🥱1
#дайджест новостей по PHP за неделю:
🔎CakePHP 5.1.0 официально выпущен — Команда CakePHP рада сообщить о скором выходе CakePHP 5.1.0. Она вводит небольшое количество предупреждений об устаревании. Любые изменения, введенные сейчас, сохранят свое поведение до их удаления в версии 6.0.0.
🔎Chaperone, Defer, Cache::flexible и многое другое теперь доступно в Laravel 11.23 — На этой неделе команда Laravel выпустила версию 11.23 с обновлениями для Laracon, такими как defer(), concurrency, contextual container attritubes и другие.
🔎PHP 8.4.0 Beta 5 доступен для тестирования — Команда PHP рада сообщить о выходе PHP 8.4.0, Beta 5. Это третья бета-версия, продолжающая цикл выпуска PHP 8.4.
🔎Неделя Symfony #924 (9-15 сентября 2024 года) — На этой неделе активность разработчиков Symfony была направлена на исправление ошибок в существующих ветках: мы предоставили обходной путь для ошибки parse_url(), обновили данные wcswidth в компоненте String до Unicode 16, а также обновили данные ICU до версии 75.1.
🔎CakePHP 5.1.0 официально выпущен — Команда CakePHP рада сообщить о скором выходе CakePHP 5.1.0. Она вводит небольшое количество предупреждений об устаревании. Любые изменения, введенные сейчас, сохранят свое поведение до их удаления в версии 6.0.0.
🔎Chaperone, Defer, Cache::flexible и многое другое теперь доступно в Laravel 11.23 — На этой неделе команда Laravel выпустила версию 11.23 с обновлениями для Laracon, такими как defer(), concurrency, contextual container attritubes и другие.
🔎PHP 8.4.0 Beta 5 доступен для тестирования — Команда PHP рада сообщить о выходе PHP 8.4.0, Beta 5. Это третья бета-версия, продолжающая цикл выпуска PHP 8.4.
🔎Неделя Symfony #924 (9-15 сентября 2024 года) — На этой неделе активность разработчиков Symfony была направлена на исправление ошибок в существующих ветках: мы предоставили обходной путь для ошибки parse_url(), обновили данные wcswidth в компоненте String до Unicode 16, а также обновили данные ICU до версии 75.1.
🔥1
Эффективность контейнеров в модульных монолитах: Symfony vs. Laravel
Для сравнения контейнеров Laravel и Symfony автор провел тест, который симулировал создание сложных зависимостей в приложении и измерял время и память, затраченные на создание сервисов. Результаты показали, что контейнер Symfony значительно быстрее и эффективнее благодаря предкомпиляции конфигурации и использованию общих (shared) экземпляров сервисов по умолчанию. В Laravel же каждый раз пересоздаются зависимости, что приводит к большему времени и расходу памяти.
Для сравнения контейнеров Laravel и Symfony автор провел тест, который симулировал создание сложных зависимостей в приложении и измерял время и память, затраченные на создание сервисов. Результаты показали, что контейнер Symfony значительно быстрее и эффективнее благодаря предкомпиляции конфигурации и использованию общих (shared) экземпляров сервисов по умолчанию. В Laravel же каждый раз пересоздаются зависимости, что приводит к большему времени и расходу памяти.
Kamil Ruczyński
Container Efficiency in Modular Monoliths - Symfony vs. Laravel
In the evolving landscape of software development, modular monolith architectures have gained significant traction. This approach offers a balanced middle ground between traditional monolithic applications and microservices. However, choosing the right PHP…
👍18😁5