Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🔟 10 суровых истин, которые должен знать каждый джун
Вы думаете, что карьера в ИТ — это сплошные плюшки? Забудьте! Реальность жестока: низкие зарплаты на старте, бесконечные задачи и битва за релокацию. Откройте глаза на суровые реалии прямо сейчас!
👉 Читать статью
👉 Зеркало
Вы думаете, что карьера в ИТ — это сплошные плюшки? Забудьте! Реальность жестока: низкие зарплаты на старте, бесконечные задачи и битва за релокацию. Откройте глаза на суровые реалии прямо сейчас!
👉 Читать статью
👉 Зеркало
👍4🥰2
#дайджест новостей по PHP за неделю:
🔎PHP 8.3.4 и 8.2.17 выпущен! — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.3.4. и 8.2.17. Это баг-фикс релиз.
🔎Laravel Herd выпускает v1.5.0 с новыми сервисами. — Laravel Herd v1.5 представляет новую захватывающую функцию: Services.
🔎Вышел Laravel 11 — Вот список нововведений
🔎Выпущен CakePHP 5.0.6 — Улучшения включают в себя: исправление проверки экземпляров Chronostime. Исправление дескриптора файла в stubconsoleinput и многое другое!
🔎Неделя Symfony #898 (11-17 марта 2024 г.)
🔎PHP 8.3.4 и 8.2.17 выпущен! — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.3.4. и 8.2.17. Это баг-фикс релиз.
🔎Laravel Herd выпускает v1.5.0 с новыми сервисами. — Laravel Herd v1.5 представляет новую захватывающую функцию: Services.
🔎Вышел Laravel 11 — Вот список нововведений
🔎Выпущен CakePHP 5.0.6 — Улучшения включают в себя: исправление проверки экземпляров Chronostime. Исправление дескриптора файла в stubconsoleinput и многое другое!
🔎Неделя Symfony #898 (11-17 марта 2024 г.)
❤6
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?
Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.
Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.
👉 Ссылка на опрос 👈
Прохождение займёт примерно 4 минуты
Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.
Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.
👉 Ссылка на опрос 👈
Прохождение займёт примерно 4 минуты
👍2🌚1
Оптимизированные файлы конфигурации в Laravel 11
в Laravel 11 была проведена работа по оптимизации конфигурационных файлов, чтобы уменьшить шум и упростить процесс настройки приложения.
Было решено удалить все конфигурационные файлы из стандартной установки и вместо этого предоставить возможность добавить только те файлы и опции, которые действительно нужны. Это позволяет создавать более компактные и чистые конфигурационные файлы, что может упростить процесс разработки и поддержки приложения.
в Laravel 11 была проведена работа по оптимизации конфигурационных файлов, чтобы уменьшить шум и упростить процесс настройки приложения.
Было решено удалить все конфигурационные файлы из стандартной установки и вместо этого предоставить возможность добавить только те файлы и опции, которые действительно нужны. Это позволяет создавать более компактные и чистые конфигурационные файлы, что может упростить процесс разработки и поддержки приложения.
Laravel News
Laravel 11 streamlined configuration files - Laravel News
Understand how the new Laravel 11 streamlined config works
🥱7👏3🌚1
Магический API Resource в Laravel
В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Рассказывается здесь!
В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Рассказывается здесь!
Хабр
Магический API Resource в Laravel
В Laravel есть удобные API ресурсы , с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в...
👍7🥱3
phpy
Библиотека для соединения экосистем Python и PHP. Вы можете использовать функции и библиотеки Python в PHP или использовать пакеты PHP в Python.
Библиотека для соединения экосистем Python и PHP. Вы можете использовать функции и библиотеки Python в PHP или использовать пакеты PHP в Python.
GitHub
GitHub - swoole/phpy: Connecting the Python and PHP ecosystems together
Connecting the Python and PHP ecosystems together. Contribute to swoole/phpy development by creating an account on GitHub.
🤔13🥱5🔥1
Назовите 3-4 нормальные формы реляционных БД.
В реляционных базах данных, нормальные формы используются для оценки и улучшения структуры данных, чтобы минимизировать избыточность и аномалии данных. Вот некоторые из основных нормальных форм:
Первая нормальная форма (1NF): В этой форме все атрибуты в таблице являются атомарными, то есть каждая ячейка содержит только одно значение.
Вторая нормальная форма (2NF): Вторая нормальная форма требует, чтобы каждый неключевой атрибут полностью зависел от ключа, то есть не должно быть частичной зависимости.
Третья нормальная форма (3NF): В этой нормальной форме устраняются транзитивные зависимости. Это означает, что если A зависит от B, а B зависит от C, то A не должно зависеть от C.
Бойса-Кодда нормальная форма (BCNF): Это расширение третьей нормальной формы, которое гарантирует, что каждое неключевое поле зависит только от ключа целиком, а не от его части.
Эти нормальные формы представляют собой последовательные шаги в процессе нормализации, который помогает в проектировании эффективных и надежных реляционных баз данных.
#вопросы_с_собеседований
В реляционных базах данных, нормальные формы используются для оценки и улучшения структуры данных, чтобы минимизировать избыточность и аномалии данных. Вот некоторые из основных нормальных форм:
Первая нормальная форма (1NF): В этой форме все атрибуты в таблице являются атомарными, то есть каждая ячейка содержит только одно значение.
Вторая нормальная форма (2NF): Вторая нормальная форма требует, чтобы каждый неключевой атрибут полностью зависел от ключа, то есть не должно быть частичной зависимости.
Третья нормальная форма (3NF): В этой нормальной форме устраняются транзитивные зависимости. Это означает, что если A зависит от B, а B зависит от C, то A не должно зависеть от C.
Бойса-Кодда нормальная форма (BCNF): Это расширение третьей нормальной формы, которое гарантирует, что каждое неключевое поле зависит только от ключа целиком, а не от его части.
Эти нормальные формы представляют собой последовательные шаги в процессе нормализации, который помогает в проектировании эффективных и надежных реляционных баз данных.
#вопросы_с_собеседований
👍13❤1
Laravel Zero — создание TCP-сервера
🔍 Описание задачи:
Автор начинает, описывая цель: создание TCP-сервера для участия в ежегодном CTF. 🛡️ Команда выбирает Laravel Zero для разработки консольного приложения.
🌐 Основы TCP-серверов:
Объясняется, что TCP-серверы принципиально важны, а затем описывается процесс их работы и важность создания сервера для обработки входящих соединений от клиентов.
🚀 Создание сервера:
Здесь показано, как устанавливать Laravel Zero и Swoole и создавать команду для запуска сервера. Затем описываются этапы создания TCP-сервера с использованием событий Start, Connect, Receive и Close.
🖼️ Использование Blade и Tailwind CSS:
Автор обсуждает использование шаблонов Blade для форматирования логов и ответов сервера, а также применение Tailwind CSS для стилизации консольных приложений.
🔍 Описание задачи:
Автор начинает, описывая цель: создание TCP-сервера для участия в ежегодном CTF. 🛡️ Команда выбирает Laravel Zero для разработки консольного приложения.
🌐 Основы TCP-серверов:
Объясняется, что TCP-серверы принципиально важны, а затем описывается процесс их работы и важность создания сервера для обработки входящих соединений от клиентов.
🚀 Создание сервера:
Здесь показано, как устанавливать Laravel Zero и Swoole и создавать команду для запуска сервера. Затем описываются этапы создания TCP-сервера с использованием событий Start, Connect, Receive и Close.
🖼️ Использование Blade и Tailwind CSS:
Автор обсуждает использование шаблонов Blade для форматирования логов и ответов сервера, а также применение Tailwind CSS для стилизации консольных приложений.
👍7
Система уведомлений в ресурсах Laravel
В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.
В этой вводится новая бизнес-потребность под названием «нотификации». Их суть в том, чтобы вместе с ответом на запрос добавлять информацию о каких-либо действиях.
В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.
В этой вводится новая бизнес-потребность под названием «нотификации». Их суть в том, чтобы вместе с ответом на запрос добавлять информацию о каких-либо действиях.
Telegram
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Магический API Resource в Laravel
В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями?…
В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями?…
😁6👍3
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3
Обновление сайтов Symfony на AssetMapper
Здесь описывается процесс перехода с использования Webpack Encore на AssetMapper в Symfony приложениях. Начиная с описания проблем с Webpack Encore, связанных с сложностью настройки и медленным развертыванием из-за необходимости сборки ассетов при каждом деплое, статья переходит к объяснению преимуществ AssetMapper и процесса их внедрения.
Первый шаг — установка AssetMapper с помощью Composer. Затем создается файл importmap.php, который указывает, какие ассеты используются в приложении, и заполняется с помощью команд importmap:require для каждой зависимости. После этого запускается команда importmap:install, которая загружает ассеты в директорию assets/vendor/. Энтрипоинты (точки входа) также определяются в файле importmap.php, а также производятся небольшие изменения в файлах ассетов и шаблонах.
Здесь также говорится о переходе с Sass на чистый CSS и упоминается использование Tailwind CSS. Изменения в CI/CD процессе также описываются, а в заключении авторы отмечают значительное упрощение и улучшение производительности после перехода на AssetMapper.
Здесь описывается процесс перехода с использования Webpack Encore на AssetMapper в Symfony приложениях. Начиная с описания проблем с Webpack Encore, связанных с сложностью настройки и медленным развертыванием из-за необходимости сборки ассетов при каждом деплое, статья переходит к объяснению преимуществ AssetMapper и процесса их внедрения.
Первый шаг — установка AssetMapper с помощью Composer. Затем создается файл importmap.php, который указывает, какие ассеты используются в приложении, и заполняется с помощью команд importmap:require для каждой зависимости. После этого запускается команда importmap:install, которая загружает ассеты в директорию assets/vendor/. Энтрипоинты (точки входа) также определяются в файле importmap.php, а также производятся небольшие изменения в файлах ассетов и шаблонах.
Здесь также говорится о переходе с Sass на чистый CSS и упоминается использование Tailwind CSS. Изменения в CI/CD процессе также описываются, а в заключении авторы отмечают значительное упрощение и улучшение производительности после перехода на AssetMapper.
Symfony
Upgrading Symfony Websites to AssetMapper (Symfony Blog)
We recently upgraded all Symfony websites from Webpack Encore to AssetMapper. This article explains the upgrade process in detail.
🔥5👍1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️PHP-разработчик
Новомосковск. Экспресс РМС — спектр услуг для интернет-магазинов и компаний дистанционной торговли
Подробнее
▪️PHP-разработчик
Москва. Д-проджект — проектирование и разработкa интернет-систем
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP программист
Санкт-Петербург. СОФТПАРТ — разработкa веб-сервисов для сферы торговли автозапчастями
Подробнее
▪️PHP-разработчик
Удаленка. Офис в Екатеринбурге. Электронные платформы — EdTech стартап
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Веб-разработчик
Москва. Стройтерминал — разработка ПО
Подробнее
▪️PHP-разработчик
Удаленка. Офис в Санкт-Петербурге. ЭБС Лань — технологическая компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️PHP-разработчик
Новомосковск. Экспресс РМС — спектр услуг для интернет-магазинов и компаний дистанционной торговли
Подробнее
▪️PHP-разработчик
Москва. Д-проджект — проектирование и разработкa интернет-систем
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP программист
Санкт-Петербург. СОФТПАРТ — разработкa веб-сервисов для сферы торговли автозапчастями
Подробнее
▪️PHP-разработчик
Удаленка. Офис в Екатеринбурге. Электронные платформы — EdTech стартап
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Веб-разработчик
Москва. Стройтерминал — разработка ПО
Подробнее
▪️PHP-разработчик
Удаленка. Офис в Санкт-Петербурге. ЭБС Лань — технологическая компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
novomoskovsk.hh.ru
Вакансия PHP-разработчик (junior) в г. НОВОМОСКОВСК (не удаленно) в Новомосковске, работа в компании Экспресс РМС (вакансия в архиве…
Зарплата: от 50000 ₽ за месяц. Новомосковск (Тульская область). Требуемый опыт: не требуется. Полная занятость. Дата публикации: 22.03.2024.
❤4
Какими площадками/соцсетями вы активно пользуетесь кроме Telegram'а?
Anonymous Poll
28%
инстаграм
6%
фейсбук
27%
вк
13%
линкед
8%
твиттер
7%
VC
37%
Хабр
10%
реддит
74%
ютуб
❤2
Реализация маршрутизации с использованием атрибутов PHP
Здесь представлен экспериментальный пример реализации маршрутизации с использованием атрибутов PHP. Проект управляется с помощью Composer для управления зависимостями.
В приложении определены два маршрута: CreateUser (для создания пользователя) и RetrieveUser (для получения информации о пользователе). Каждый маршрут представлен в виде отдельного класса, который расширяет базовый класс RouterBase.
Для управления маршрутами используется класс RouterHandler, который регистрирует маршруты из соответствующих файлов и обрабатывает запросы, соответственно подбирая соответствующий маршрут на основе URI и метода запроса.
Также представлен класс Route, который представляет собой атрибут, содержащий метод и конечную точку маршрута. Этот атрибут применяется к методам в классах маршрутов для определения их характеристик.
В итоге, для добавления нового маршрута в приложение необходимо создать новый класс маршрута с методом index() и применить к нему атрибут Route с указанием метода и конечной точки маршрута.
Общий подход позволяет легко добавлять и управлять маршрутами в приложении с помощью атрибутов, что делает код более чистым и модульным.
Здесь представлен экспериментальный пример реализации маршрутизации с использованием атрибутов PHP. Проект управляется с помощью Composer для управления зависимостями.
В приложении определены два маршрута: CreateUser (для создания пользователя) и RetrieveUser (для получения информации о пользователе). Каждый маршрут представлен в виде отдельного класса, который расширяет базовый класс RouterBase.
Для управления маршрутами используется класс RouterHandler, который регистрирует маршруты из соответствующих файлов и обрабатывает запросы, соответственно подбирая соответствующий маршрут на основе URI и метода запроса.
Также представлен класс Route, который представляет собой атрибут, содержащий метод и конечную точку маршрута. Этот атрибут применяется к методам в классах маршрутов для определения их характеристик.
В итоге, для добавления нового маршрута в приложение необходимо создать новый класс маршрута с методом index() и применить к нему атрибут Route с указанием метода и конечной точки маршрута.
Общий подход позволяет легко добавлять и управлять маршрутами в приложении с помощью атрибутов, что делает код более чистым и модульным.
DEV Community
Routing implementation using PHP attributes
Overview In this article I want to show an experimental example of routing implementation...
😁5
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
This media is not supported in the widget
VIEW IN TELEGRAM
⚡5❤3🥱3👍1🥰1
Можно ли компоновать traits в trait?
В PHP, с версии 5.4 и выше, поддерживаются трейты (traits), которые позволяют компоновать поведение в классах без необходимости наследования. Трейты могут использоваться для компоновки поведения внутри других трейтов, что может быть полезным для структурирования и организации кода.
В приведенном примере трейт TraitC использует (use) два других трейта (TraitA и TraitB) и предоставляет дополнительный метод methodC. Класс Example затем использует трейт TraitC, что позволяет ему наследовать все методы из TraitA, TraitB и TraitC.
Таким образом, в PHP можно компоновать трейты внутри других трейтов для организации и переиспользования кода.
#вопросы_с_собеседований
В PHP, с версии 5.4 и выше, поддерживаются трейты (traits), которые позволяют компоновать поведение в классах без необходимости наследования. Трейты могут использоваться для компоновки поведения внутри других трейтов, что может быть полезным для структурирования и организации кода.
В приведенном примере трейт TraitC использует (use) два других трейта (TraitA и TraitB) и предоставляет дополнительный метод methodC. Класс Example затем использует трейт TraitC, что позволяет ему наследовать все методы из TraitA, TraitB и TraitC.
Таким образом, в PHP можно компоновать трейты внутри других трейтов для организации и переиспользования кода.
#вопросы_с_собеседований
👍8🤔7👏3
⚡️Proglib запускает каналы про нейросети
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
По каждому направлению отдельно! А именно:
⭐Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
⭐Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
⭐Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
⭐Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей
И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.
Подписывайтесь!
❤1👍1
Как измерить производительность в приложениях Laravel
Существует много различных инструментов и методов для измерения производительности приложений и API, начиная с внешних метрик, таких как скорость загрузки страницы и количество запросов, и заканчивая более глубокими аспектами, такими как время выполнения запросов к базе данных и использование памяти.
Здесь представлены инструменты такие как ab (Apache Benchmark) и jmeter для быстрой оценки производительности, а также более сложные инструменты, такие как Inspector и Laravel Telescope, которые предоставляют более подробную информацию о внутренних процессах приложения.
Также обсуждается OpenTelemetry для ручного профилирования кода и XDebug с qcachegrind для низкоуровневого анализа производительности. Он подчеркивает, что каждый инструмент имеет свои преимущества и ограничения, и что выбор инструмента зависит от конкретной ситуации и целей измерения производительности.
Существует много различных инструментов и методов для измерения производительности приложений и API, начиная с внешних метрик, таких как скорость загрузки страницы и количество запросов, и заканчивая более глубокими аспектами, такими как время выполнения запросов к базе данных и использование памяти.
Здесь представлены инструменты такие как ab (Apache Benchmark) и jmeter для быстрой оценки производительности, а также более сложные инструменты, такие как Inspector и Laravel Telescope, которые предоставляют более подробную информацию о внутренних процессах приложения.
Также обсуждается OpenTelemetry для ручного профилирования кода и XDebug с qcachegrind для низкоуровневого анализа производительности. Он подчеркивает, что каждый инструмент имеет свои преимущества и ограничения, и что выбор инструмента зависит от конкретной ситуации и целей измерения производительности.
martinjoo.dev
Blog for Laravel Artisans
I'm Martin Joo, a software engineer and content creator. This blog is about PHP, Laravel, Domain-Driven Design, Test-Driven Development, APIs.
❤1