Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/5027bc1e
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
VIEW IN TELEGRAM
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Mago — комплексная цепочка инструментов для PHP, которая помогает разработчикам писать более качественный код.
Вдохновленный экосистемой Rust, Mago привносит удобство, надежность и уникальный опыт разработчиков в PHP-проекты любого размера.
Фишки:
🔸Анализ и подсветка: выявление проблем в коде с помощью настраиваемых правил и плагинов.
🔸Автоматические исправления: Применяйте исправления к проблемам, связанным с линтингом, для поддержания чистоты кодовой базы.
🔸Последовательное форматирование: Стандартизируйте стиль кода с помощью мощных инструментов форматирования.
🔸Семантические проверки: Убедитесь в корректности кода с помощью надежного семантического анализа.
🔸Визуализация AST: Изучите структуру кода с помощью разбора абстрактного синтаксического дерева (AST).
Установка через curl в одну строку:
💻 Github
#интсрументы
Вдохновленный экосистемой Rust, Mago привносит удобство, надежность и уникальный опыт разработчиков в PHP-проекты любого размера.
Фишки:
🔸Анализ и подсветка: выявление проблем в коде с помощью настраиваемых правил и плагинов.
🔸Автоматические исправления: Применяйте исправления к проблемам, связанным с линтингом, для поддержания чистоты кодовой базы.
🔸Последовательное форматирование: Стандартизируйте стиль кода с помощью мощных инструментов форматирования.
🔸Семантические проверки: Убедитесь в корректности кода с помощью надежного семантического анализа.
🔸Визуализация AST: Изучите структуру кода с помощью разбора абстрактного синтаксического дерева (AST).
Установка через curl в одну строку:
curl --proto '=https' --tlsv1.2 -sSf https://carthage.software/mago.sh | bash
💻 Github
#интсрументы
GitHub
GitHub - carthage-software/mago: Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better…
Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better code. - carthage-software/mago
👍3❤1
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Какие модификаторы видимости есть в РНР?
Если модификатор доступа не указан явно, то он будет считаться как
public
— свойства или методы, объявленные как public, могут быть доступны в любом месте.protected
— свойства или методы доступны только внутри класса, а также в дочерних классах.private
— доступ к private свойствам и методам имеет только класс, в котором эти свойства или методы объявлены.Если модификатор доступа не указан явно, то он будет считаться как
public
.👍7🥱7
Запуск Laravel Reverb в фоновом режиме с помощью systemd
В этой статье показано, как настроить и запустить сервер Reverb WebSocket в фоновом режиме с помощью systemd. Такой подход гарантирует, что ваш WebSocket-сервер запускается вместе с системой и автоматически перезапускается в случае сбоя.
🔗Читать статью
В этой статье показано, как настроить и запустить сервер Reverb WebSocket в фоновом режиме с помощью systemd. Такой подход гарантирует, что ваш WebSocket-сервер запускается вместе с системой и автоматически перезапускается в случае сбоя.
🔗Читать статью
👍5
🧩 Упакуйте свой код правильно
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
👉Читать полностью
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
👉Читать полностью
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📊 Как себя чувствует IT-рынок в 2025 году?
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
This media is not supported in your browser
VIEW IN TELEGRAM
🛠️ navi — утилита для командной строки
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
➡️ Как использовать
1️⃣ Устанавливаем через Homebrew:
2️⃣ Запускаем командой:
navi — доступ ко всем шпаргалкам
3️⃣ Встраиваем как shell-виджет или tmux-виджет для быстрого доступа
4️⃣ Создаем свои шпаргалки или импортируем из других источников (например, tldr или cheat.sh)
🌻 Что еще умеет
▪️ Поддерживает кастомные конфиги, цвета и пути для шпаргалок
▪️ Работает в любом терминале или через Tmux
▪️ Можно использовать как скриптовый инструмент или даже через Alfred
🔗 Репозиторий
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
➡️ Как использовать
1️⃣ Устанавливаем через Homebrew:
brew install navi
2️⃣ Запускаем командой:
navi — доступ ко всем шпаргалкам
3️⃣ Встраиваем как shell-виджет или tmux-виджет для быстрого доступа
4️⃣ Создаем свои шпаргалки или импортируем из других источников (например, tldr или cheat.sh)
🌻 Что еще умеет
▪️ Поддерживает кастомные конфиги, цвета и пути для шпаргалок
▪️ Работает в любом терминале или через Tmux
▪️ Можно использовать как скриптовый инструмент или даже через Alfred
🔗 Репозиторий
👍4❤1
Автотесты | Как мокировать классы с помощью PHPUnit
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
👍3❤1
⬆️ Используйте состояния фабрик
Знаете ли вы, что фабрики Laravel позволяют определять состояния? Вы можете использовать несколько состояний для описания объекта и применять к нему различные модификации. Это также делает код более читабельным 🚀
#совет
Знаете ли вы, что фабрики Laravel позволяют определять состояния? Вы можете использовать несколько состояний для описания объекта и применять к нему различные модификации. Это также делает код более читабельным 🚀
#совет
👍8❤1🔥1🌚1
PVM — менеджер версий PHP
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
🔗Github
#инструменты
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
curl -o /usr/local/bin/pvm https://raw.githubusercontent.com/smoqadam/pvm/main/pvm
chmod +x /usr/local/bin/pvm
export PATH="$HOME/.pvm/current:$PATH
"🔗Github
#инструменты
👍29😁4❤1
Как использовать кэширование в Laravel?
Кэширование в Laravel — это мощная функция, которая может значительно улучшить производительность вашего веб-приложения за счет хранения часто используемых данных в кэше.
1. Конфигурация: Сначала убедитесь, что ваше приложение Laravel правильно настроено для кэширования. Файл конфигурации находится в config/cache.php, где вы можете указать драйвер кэша по умолчанию и другие параметры. Laravel поддерживает различные драйверы кэша, такие как file, database, redis, memcached и другие.
2. Хранение данных в кэше: Вы можете хранить данные в кэше, используя фасад Cache или вспомогательную функцию cache(). Например, чтобы сохранить значение в кэше на 10 минут, вы можете использовать:
3. Извлечение данных из кэша: Чтобы получить данные из кэша, вы можете использовать метод get:
// или используя вспомогательную функцию
4. Проверка наличия данных: Перед извлечением данных вы можете проверить, существуют ли они в кэше:
5. Удаление данных из кэша: Чтобы удалить данные из кэша, используйте метод forget:
6. Очистка всего кэша: Если вам нужно очистить весь кэш, вы можете использовать метод flush:
#вопросы_с_собеседований
Кэширование в Laravel — это мощная функция, которая может значительно улучшить производительность вашего веб-приложения за счет хранения часто используемых данных в кэше.
1. Конфигурация: Сначала убедитесь, что ваше приложение Laravel правильно настроено для кэширования. Файл конфигурации находится в config/cache.php, где вы можете указать драйвер кэша по умолчанию и другие параметры. Laravel поддерживает различные драйверы кэша, такие как file, database, redis, memcached и другие.
2. Хранение данных в кэше: Вы можете хранить данные в кэше, используя фасад Cache или вспомогательную функцию cache(). Например, чтобы сохранить значение в кэше на 10 минут, вы можете использовать:
Cache::put('key', 'value', 600);
3. Извлечение данных из кэша: Чтобы получить данные из кэша, вы можете использовать метод get:
$value = Cache::get('key');
// или используя вспомогательную функцию
$value = cache('key');
4. Проверка наличия данных: Перед извлечением данных вы можете проверить, существуют ли они в кэше:
Cache::has('key');
5. Удаление данных из кэша: Чтобы удалить данные из кэша, используйте метод forget:
Cache::forget('key');
6. Очистка всего кэша: Если вам нужно очистить весь кэш, вы можете использовать метод flush:
Cache::flush();
#вопросы_с_собеседований
👍8
✅ RFC: Поддержка замыканий в константных выражениях
В PHP 8.5 появится возможность использовать замыкания в:
🔸В параметрах атрибутов,
🔸В значениях по умолчанию свойств и параметров.
🔸В константах и константах классов.
👉Читать на сайте PHP
В PHP 8.5 появится возможность использовать замыкания в:
🔸В параметрах атрибутов,
🔸В значениях по умолчанию свойств и параметров.
🔸В константах и константах классов.
👉Читать на сайте PHP
🤔11🤩10👾2
🐋 История создания идеального Docker для Laravel
Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions — дело пяти минут. Однако, как это часто бывает, реальность оказалась сложнее. Это история о возвращении к разработке на PHP и решении накопившихся проблем с деплоем Laravel-проекта. О том, как готовился Docker-образ, несколько раз переписывался процесс деплоя, находились компромиссы там, где это было возможно, и полностью перестраивалась архитектура там, где компромиссы были неприемлемы.
💻 Хабр
Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions — дело пяти минут. Однако, как это часто бывает, реальность оказалась сложнее. Это история о возвращении к разработке на PHP и решении накопившихся проблем с деплоем Laravel-проекта. О том, как готовился Docker-образ, несколько раз переписывался процесс деплоя, находились компромиссы там, где это было возможно, и полностью перестраивалась архитектура там, где компромиссы были неприемлемы.
💻 Хабр
👍8
Знакомство с новыми стартовыми наборами Laravel
Laravel 12 представил три новых стартовых набора для React, Vue и Livewire. Каждый из них также доступен в варианте с WorkOS AuthKit. Эти наборы обеспечивают удобное начало работы как с кодом, так и с пользовательским интерфейсом.
💬 Официальный сайт
Laravel 12 представил три новых стартовых набора для React, Vue и Livewire. Каждый из них также доступен в варианте с WorkOS AuthKit. Эти наборы обеспечивают удобное начало работы как с кодом, так и с пользовательским интерфейсом.
💬 Официальный сайт
👍4❤1
Офер от Сбера за один клик 💼
Мечтаешь работать в Сбере, теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить офер?
📌 Зарегистрируйся
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
После прохождения твои ответы получат рекрутеры и свяжутся с тобой в течение нескольких дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxS96Na
Мечтаешь работать в Сбере, теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить офер?
📌 Зарегистрируйся
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
После прохождения твои ответы получат рекрутеры и свяжутся с тобой в течение нескольких дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxS96Na
🥱4😢2🤔1👾1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
Удаленно/Офис (Санкт-Петербург)
от 250 000 до 350 000 ₽
#php@proglib_jobs
SoftWise — компания в сфере adtech, которая создает сложные программные решения для бизнеса: programmatic-платформы для рекламных бирж, мобильные игры, технологии ретаргетинга, интерфейсы для пользователей ПО.
Требования:
— Знание одного из PHP-фреймворков, Symfony/Laravel (пишем бизнес-код, используем компоненты фреймворков).
— Работа с СУБД PostgreSQL, на уровне оптимизации таблиц и написания запросов как простых, так и сложных (приветствуются знания ОRM Doctrine, Active Record).
— Английский на уровне чтения технической документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1