🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤1
Как проверить емейл в PHP: regex, filter_var() и API
Существует три способа проверки емейл адреса:
Функция filter_var(): Эта встроенная функция проста и эффективна для базовой проверки, обеспечивая правильность формата электронной почты.
Регулярные выражения (Regex): Предлагают настраиваемую проверку путем определения определенных шаблонов, но требуют тщательной проработки для обработки всех допустимых форматов электронной почты.
API: Эти службы обеспечивают расширенную проверку, проверяя не только формат, но и существование и возможность доставки адреса электронной почты.
У каждого метода есть свои преимущества и варианты использования в зависимости от требуемого уровня проверки.
Подробные объяснения и примеры кода читайте в полной версии статьи здесь.
Существует три способа проверки емейл адреса:
Функция filter_var(): Эта встроенная функция проста и эффективна для базовой проверки, обеспечивая правильность формата электронной почты.
Регулярные выражения (Regex): Предлагают настраиваемую проверку путем определения определенных шаблонов, но требуют тщательной проработки для обработки всех допустимых форматов электронной почты.
API: Эти службы обеспечивают расширенную проверку, проверяя не только формат, но и существование и возможность доставки адреса электронной почты.
У каждого метода есть свои преимущества и варианты использования в зависимости от требуемого уровня проверки.
Подробные объяснения и примеры кода читайте в полной версии статьи здесь.
DEV Community
How to Validate Emails in PHP: regex, filter_var(), and API Explained
Be it marketing or transactional emails, email address validation is a necessity, or you could risk...
❤6👍2👾2
💬 Что вас мотивирует в работе?
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
❤️ — развитие своих профессиональных скиллов
👍 — преимущественно деньги
🤔 — я просто не хочу умереть с голоду
🌚 — одобрение коллег, поддержка определённого статуса
👾 — я верю, что занимаюсь чем-то полезным и ценным
#интерактив
👍98❤44🤔31👾24🌚5
CSV Blueprint
Строгая и автоматизированная построчная проверка CSV на основе настраиваемых схем Yaml.
За считанные секунды вы можете убедиться, что каждый символ в гигабайтном файле соответствует вашим ожиданиям.
Строгая и автоматизированная построчная проверка CSV на основе настраиваемых схем Yaml.
За считанные секунды вы можете убедиться, что каждый символ в гигабайтном файле соответствует вашим ожиданиям.
GitHub
GitHub - JBZoo/CSV-Blueprint: CSV Validator - Strict and automated line-by-line CSV checking tool based on customizable Yaml schemas
CSV Validator - Strict and automated line-by-line CSV checking tool based on customizable Yaml schemas - JBZoo/CSV-Blueprint
👍4
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️Веб-разработчик
Тула. ИнтерЛабс — маркетинговое агентство полного цикла
Подробнее
▪️PHP-разработчик
Волгоград. ИНТЕРВОЛГА — веб-разработка, маркетинг, сопровождение нагруженных проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик
Набережные Челны. PROFFIT GO — разработка ПО
Подробнее
▪️PHP Laravel разработчик
Удаленка. Офис в Казани. Акцент на результат — маркетинговое агентство
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Программист Full Stack
Удаленка. Офис в Москве. Астони — сопровождение и SEO-продвижение сайтов
Подробнее
▪️Fullstack разработчик
Удаленка. Офис в Екатеринбурге. amgroup — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️Веб-разработчик
Тула. ИнтерЛабс — маркетинговое агентство полного цикла
Подробнее
▪️PHP-разработчик
Волгоград. ИНТЕРВОЛГА — веб-разработка, маркетинг, сопровождение нагруженных проектов
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️Backend разработчик
Набережные Челны. PROFFIT GO — разработка ПО
Подробнее
▪️PHP Laravel разработчик
Удаленка. Офис в Казани. Акцент на результат — маркетинговое агентство
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Программист Full Stack
Удаленка. Офис в Москве. Астони — сопровождение и SEO-продвижение сайтов
Подробнее
▪️Fullstack разработчик
Удаленка. Офис в Екатеринбурге. amgroup — разработка ПО
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
tula.hh.ru
Вакансия Веб-разработчик (junior) в Туле, работа в компании ИнтерЛабс (вакансия в архиве c 12 июня 2024)
Зарплата: от 50000 ₽ за месяц. Тула. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 09.06.2024.
😁9❤2👍2
Symfony — это фреймворк, основанный на конфигурации или соглашениях?
Symfony — это фреймворк, основанный на соглашениях. Документ Coding Standards иллюстрирует нормы кодирования для проектов Symfony, а также внутренних и сторонних пакетов. Он определяет стандарты кодирования и соглашения, используемые в ядре фреймворка, чтобы сделать его более единообразным и предсказуемым.
#вопросы_с_собеседований
Symfony — это фреймворк, основанный на соглашениях. Документ Coding Standards иллюстрирует нормы кодирования для проектов Symfony, а также внутренних и сторонних пакетов. Он определяет стандарты кодирования и соглашения, используемые в ядре фреймворка, чтобы сделать его более единообразным и предсказуемым.
#вопросы_с_собеседований
🌚6❤🔥1
Преобразование запросов и ответов API в Laravel 11
Автор рассказывает о своем опыте работы с приложением, использующим Next.js на фронтенде и Laravel на бэкенде в качестве традиционного REST API. Он столкнулся с проблемой различных соглашений по именованию в PHP и JavaScript, где в первом случае принято использовать snake_case, а во втором — camelCase. Это вызвало трудности при форматировании API-ответов, так как таблицы и колонки базы данных также использовали snake_case.
Для решения этой проблемы предложено использовать Laravel resources для создания чистых API-ответов, где каждый ключ можно было указать в camelCase. Он представил класс ProductResource, который наследует JsonResource и позволяет преобразовывать ресурс в массив с ключами в camelCase.
Однако, поскольку форматирование каждого API-ответа в camelCase может быть трудоемким, особенно при наличии отношений Eloquent, которые также нужно форматировать, автор предложил создать базовый класс BaseResource, который расширяет класс JsonResource и форматирует все ключи в camelCase. Этот класс использует метод Str::camel() из Laravel для преобразования ключей и рекурсивно обрабатывает вложенные массивы.
В результате, у автора получилось два сценария использования:
1. Простое наследование от класса BaseResource для отображения видимых полей таблицы без форматирования отношений или скрытых полей, исключенных из API-ответа.
2. Форматирование API-ответа с сохранением snake_case, расширением класса BaseResource и реализацией метода toCamelCase().
Автор рассказывает о своем опыте работы с приложением, использующим Next.js на фронтенде и Laravel на бэкенде в качестве традиционного REST API. Он столкнулся с проблемой различных соглашений по именованию в PHP и JavaScript, где в первом случае принято использовать snake_case, а во втором — camelCase. Это вызвало трудности при форматировании API-ответов, так как таблицы и колонки базы данных также использовали snake_case.
Для решения этой проблемы предложено использовать Laravel resources для создания чистых API-ответов, где каждый ключ можно было указать в camelCase. Он представил класс ProductResource, который наследует JsonResource и позволяет преобразовывать ресурс в массив с ключами в camelCase.
Однако, поскольку форматирование каждого API-ответа в camelCase может быть трудоемким, особенно при наличии отношений Eloquent, которые также нужно форматировать, автор предложил создать базовый класс BaseResource, который расширяет класс JsonResource и форматирует все ключи в camelCase. Этот класс использует метод Str::camel() из Laravel для преобразования ключей и рекурсивно обрабатывает вложенные массивы.
В результате, у автора получилось два сценария использования:
1. Простое наследование от класса BaseResource для отображения видимых полей таблицы без форматирования отношений или скрытых полей, исключенных из API-ответа.
2. Форматирование API-ответа с сохранением snake_case, расширением класса BaseResource и реализацией метода toCamelCase().
DEV Community
Transforming API requests and responses in Laravel 11 - The easy way
The problem I've been working on an application using Next.js on the front-end and Laravel...
👍5🌚1
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Библиотека задач по PHP | тесты, код, задания
какая из следующих функций используется для получения значения предыдущего элемента массива
Anonymous Quiz
8%
last()
22%
previous()
8%
before()
62%
prev()
🥱6👍3⚡1😁1
Использование Symfony Messenger для управления очередями сообщений в Symfony
Symfony Messenger — компонент, который помогает приложениям отправлять и получать сообщения между другими приложениями или через очереди сообщений.
Messenger предоставляет шину сообщений с возможностью отправки сообщений и немедленной обработки их в вашем приложении или отправки через транспорты (например, очереди) для обработки позже.
В Symfony Messenger вы создаете два класса:
🟢Класс сообщения, который содержит данные.
🟢Обработчик(и) сообщения, который будет вызван при отправке этого сообщения. Обработчик читает класс сообщения и выполняет одну или несколько задач.
Middleware — это компоненты, которые могут обрабатывать сообщения, когда они передаются через шину. Middleware могут выполнять различные задачи, такие как логирование, валидация сообщения, начало транзакции и т. д.
Envelope — это специфичный для Messenger концепт, который оборачивает сообщения, позволяя добавлять полезную информацию через envelope stamps. Envelope stamps — это метаданные, которые можно прикрепить к сообщению, например, контекст сериализации для транспорта или маркеры, идентифицирующие полученное сообщение.
Symfony Messenger также поддерживает различные транспорты для асинхронной обработки сообщений, такие как очереди.
Symfony Messenger — компонент, который помогает приложениям отправлять и получать сообщения между другими приложениями или через очереди сообщений.
Messenger предоставляет шину сообщений с возможностью отправки сообщений и немедленной обработки их в вашем приложении или отправки через транспорты (например, очереди) для обработки позже.
В Symfony Messenger вы создаете два класса:
🟢Класс сообщения, который содержит данные.
🟢Обработчик(и) сообщения, который будет вызван при отправке этого сообщения. Обработчик читает класс сообщения и выполняет одну или несколько задач.
Middleware — это компоненты, которые могут обрабатывать сообщения, когда они передаются через шину. Middleware могут выполнять различные задачи, такие как логирование, валидация сообщения, начало транзакции и т. д.
Envelope — это специфичный для Messenger концепт, который оборачивает сообщения, позволяя добавлять полезную информацию через envelope stamps. Envelope stamps — это метаданные, которые можно прикрепить к сообщению, например, контекст сериализации для транспорта или маркеры, идентифицирующие полученное сообщение.
Symfony Messenger также поддерживает различные транспорты для асинхронной обработки сообщений, такие как очереди.
DEV Community
Using Symfony Messenger to Manage Message Queues in Symfony
Symfony, the famous PHP framework, offers a wide range of powerful tools and components for...
🔥5👍1
🗝️ 40 незаменимых API для разработчиков
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
🔗 Читать статью
🔗 Зеркало
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
#дайджест новостей по PHP за неделю:
🔎Выпущен CakePHP 5.1.0-RC1 — Улучшения: Connection теперь создает уникальные драйверы чтения и записи, если ключи read или write присутствуют в конфигурации. При добавлении ассоциаций с дублирующимися именами теперь будут возникать исключения + многое другое.
🔎Выпущена версия Symfony 7.1.0-RC1
🔎Открыта программа раннего доступа к PhpStorm 2024.2
🔎Неделя Symfony #907 (13-19 мая 2024 года)
🔎Выпущен CakePHP 5.1.0-RC1 — Улучшения: Connection теперь создает уникальные драйверы чтения и записи, если ключи read или write присутствуют в конфигурации. При добавлении ассоциаций с дублирующимися именами теперь будут возникать исключения + многое другое.
🔎Выпущена версия Symfony 7.1.0-RC1
🔎Открыта программа раннего доступа к PhpStorm 2024.2
🔎Неделя Symfony #907 (13-19 мая 2024 года)
👍2
Работа с DynamoDB в Laravel
В статье:
✔️DynamoDB — это облачная NoSQL база данных, предоставляемая Amazon Web Services (AWS). Она мощная и гибкая благодаря своему полностью управляемому, бессерверному и масштабируемому дизайну.
✔️Рассматривается, как использовать DynamoDB для кэширования данных в Laravel. Для этого вам потребуется создать ключи доступа в панели управления AWS, чтобы Laravel мог получить доступ к DynamoDB.
✔️Объясняется, как хранить модели Laravel в DynamoDB с использованием пакета baopham/laravel-dynamodb.
✔️Содержатся инструкции по установке пакета для работы с DynamoDB.
✔️Объясняется, как использовать индексы для запроса моделей.
✔️Рассматривается, как синхронизировать модели в DynamoDB и традиционной базе данных.
В статье:
✔️DynamoDB — это облачная NoSQL база данных, предоставляемая Amazon Web Services (AWS). Она мощная и гибкая благодаря своему полностью управляемому, бессерверному и масштабируемому дизайну.
✔️Рассматривается, как использовать DynamoDB для кэширования данных в Laravel. Для этого вам потребуется создать ключи доступа в панели управления AWS, чтобы Laravel мог получить доступ к DynamoDB.
✔️Объясняется, как хранить модели Laravel в DynamoDB с использованием пакета baopham/laravel-dynamodb.
✔️Содержатся инструкции по установке пакета для работы с DynamoDB.
✔️Объясняется, как использовать индексы для запроса моделей.
✔️Рассматривается, как синхронизировать модели в DynamoDB и традиционной базе данных.
ashallendesign.co.uk
Working with DynamoDB in Laravel
Learn about how to use DynamoDB in Laravel for caching and storing Laravel models.
❤1
❤️ Активация с первого взгляда: как влюбить пользователя в продукт
Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.
🔗 Читать статью
🔗 Зеркало
Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.
🔗 Читать статью
🔗 Зеркало
❤1👍1
Книга: «Laravel. Полное руководство. 3-е издание»
Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро разобраться с темой, чтобы реализовать проект на Laravel. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро разобраться с темой, чтобы реализовать проект на Laravel. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
Хабр
Книга: «Laravel. Полное руководство. 3-е издание»
Привет, Хаброжители! Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро...
🥱9❤6👍3
PHPStreamServer
PHP-сервер и менеджер процессов, написанный на PHP поверх revoltphp/event-loop. В некоторой степени похож на php-pm/php-pm.
PHP-сервер и менеджер процессов, написанный на PHP поверх revoltphp/event-loop. В некоторой степени похож на php-pm/php-pm.
GitHub
GitHub - phpstreamserver/phpstreamserver: PHPStreamServer is a high-performance PHP application server and process manager written…
PHPStreamServer is a high-performance PHP application server and process manager written in PHP. - phpstreamserver/phpstreamserver
👍4🥱1🌚1
Объясните задачи, выполняемые контроллером, и определите правила для создания методов в контроллере в Symfony?
В Symfony контроллер является важной частью архитектуры MVC (Model-View-Controller). Он отвечает за обработку HTTP-запросов и возврат HTTP-ответов. Ниже мы рассмотрим задачи, выполняемые контроллером, и правила создания методов в нем:
Задачи, выполняемые контроллером Symfony:
1. Прием запросов: Контроллеры начинают работу с приема HTTP-запроса.
2. Выполнение логики приложения: Они содержат логику, которая определяет, что происходит при переходе по URL. Это может быть запрос к базе данных, обработка данных формы или вызов других сервисов.
3. Создание ответов: После обработки запроса контроллеры создают и возвращают объект Response. Этим ответом может быть HTML-страница, JSON, XML, загрузка файла, перенаправление, ошибка 404 или что-либо еще, что приложение должно вернуть клиенту.
Правила создания методов в контроллере Symfony:
✔️Соглашение об именовании: Методы внутри класса контроллера часто называют «действиями». По традиции имена методов заканчиваются на 'Action', хотя в последних версиях Symfony это не является обязательным.
✔️Возвращение ответов: Каждое действие должно возвращать объект Response. Если вы не возвращаете Response напрямую, то, скорее всего, вы используете вспомогательный метод, например $this->render(), который в конечном итоге возвращает Response.
✔️Доступ к сервисам: Контроллеры имеют доступ к контейнеру сервисов, что означает, что вы можете использовать инъекцию зависимостей для доступа к сервисам в ваших методах.
✔️Сопоставление маршрутов: Каждый метод контроллера должен быть сопоставлен с маршрутом. Это можно сделать с помощью аннотаций, YAML, XML или PHP-файлов. Аннотации — это распространенный способ определения маршрутов непосредственно над методами контроллера.
✔️Аргументы метода: Вы можете вводить аргументы в методы контроллера для автоматической инъекции сервисов или параметров, например Request $request или UserInterface $user.
✔️Лучшие практики: Следуйте правилу 5-10-20: определяйте не более 5 переменных, содержите не более 10 действий и включайте не более 20 строк кода в каждое действие.
#вопросы_с_собеседований
В Symfony контроллер является важной частью архитектуры MVC (Model-View-Controller). Он отвечает за обработку HTTP-запросов и возврат HTTP-ответов. Ниже мы рассмотрим задачи, выполняемые контроллером, и правила создания методов в нем:
Задачи, выполняемые контроллером Symfony:
1. Прием запросов: Контроллеры начинают работу с приема HTTP-запроса.
2. Выполнение логики приложения: Они содержат логику, которая определяет, что происходит при переходе по URL. Это может быть запрос к базе данных, обработка данных формы или вызов других сервисов.
3. Создание ответов: После обработки запроса контроллеры создают и возвращают объект Response. Этим ответом может быть HTML-страница, JSON, XML, загрузка файла, перенаправление, ошибка 404 или что-либо еще, что приложение должно вернуть клиенту.
Правила создания методов в контроллере Symfony:
✔️Соглашение об именовании: Методы внутри класса контроллера часто называют «действиями». По традиции имена методов заканчиваются на 'Action', хотя в последних версиях Symfony это не является обязательным.
✔️Возвращение ответов: Каждое действие должно возвращать объект Response. Если вы не возвращаете Response напрямую, то, скорее всего, вы используете вспомогательный метод, например $this->render(), который в конечном итоге возвращает Response.
✔️Доступ к сервисам: Контроллеры имеют доступ к контейнеру сервисов, что означает, что вы можете использовать инъекцию зависимостей для доступа к сервисам в ваших методах.
✔️Сопоставление маршрутов: Каждый метод контроллера должен быть сопоставлен с маршрутом. Это можно сделать с помощью аннотаций, YAML, XML или PHP-файлов. Аннотации — это распространенный способ определения маршрутов непосредственно над методами контроллера.
✔️Аргументы метода: Вы можете вводить аргументы в методы контроллера для автоматической инъекции сервисов или параметров, например Request $request или UserInterface $user.
✔️Лучшие практики: Следуйте правилу 5-10-20: определяйте не более 5 переменных, содержите не более 10 действий и включайте не более 20 строк кода в каждое действие.
#вопросы_с_собеседований
👍6🤔3❤1😁1👾1
HTML Embed Code: