Злой полицейский
1.62K subscribers
1.47K photos
98 videos
7 files
3.33K links
Тимлид/разработчик/SOER. Делюсь мыслями про веб, программирование, инструменты, #WordPress, Joomla, Laravel, MoonShine, мотивацию, психологию, фильмы, сериалы.

Сайт - https://kobzarev.com

Администратор - @mihdan.
Download Telegram
Все про soft skills: что это, какие нужны и как развивать

Технически вы идеальный кандидат: опыт, скиллы, сертификаты — все при вас. А оффер ушел другому. Ну, тому, который на созвоне не мямлил, внятно обосновывал и не вызывал у HR-а лютое желание выключить камеру через три минуты.

В чем секрет «энергии кота Бориса»? Прокачанные soft skills — гибкие навыки, которые нельзя подтвердить дипломом. Но без них диплом может так и остаться в рамочке на стене. В статье поговорим, какие софт скиллы реально влияют на карьеру и как их прокачать.

👉 https://vc.ru/hr/2631361-soft-skilly-chto-eto-kak-razvivat

#SoftSkills #teamlead

👮‍♂️ Злой полицейский
2
📺 Продвинутая архитектура приложений на PHP

Многие, даже опытные PHP-разработчики теряются при выборе подходящей архитектуры для нового проекта.

Что лучше использовать:

- Богатые или анемичные модели?
- Стоит ли сразу хвататься за CQRS или Event Sourcing?
- Как правильно проектировать сущности, если вам нужен REST API?

В результате вы:

- узнаете, как упростить разработку с помощью грамотно выстроенной архитектуры
- научитесь осознанно выбирать инструмент под задачу
- посмотрите на полезные практические приёмы

Авторский вебинар Дмитрия Кириллова посвящён научному подходу к архитектуре в зависимости от специфики конкретного проекта с примерами на PHP.

👉 https://vkvideo.ru/video-145052891_456248209

#php #arch

👮‍♂️ Злой полицейский
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Разбираемся с FSD — самой надёжной архитектурой для фронтенда

Сегодня, когда бизнес-требования меняются, бывает сложно найти подходящую и надёжную программную архитектуру и придерживаться неё. Нужна архитектура, которая была бы гибкой, легко масштабировалась, поддерживалась, а также была бы понятна – чтобы новички могли быстро вкатываться в работу с ней.

Вот почему в этой статье мы хотим рассказать вам об архитектуре FSD (Feature-Sliced Design, дословно «послойное проектирование фич»), одной из самых современных, надёжных и спроектированной специально для фронтенд-проектов. Она подходит почти для любых бизнес-условий, позволяет решать повседневные проблемы и интуитивно понятна разработчикам-новичкам.

👉 https://habr.com/ru/companies/piter/articles/744824/

#arch #fsd

👮‍♂️ Злой полицейский
👍3
📦 Пакет Laravel Data от Spatie

Открыл для себя великолепный пакет Laravel Data от бельгийского разработчика Spatie. Пакет позволяет создавать DTO на стероидах, DTO внутри DTO и делать валидацию на аннотациях.

Раньше для этих целей я просто брал пакет symfony/validator и игрался с ним.

Symfony Validator

1. DTO:


use Symfony\Component\Validator\Constraints as Assert;

class UserDto
{
#[Assert\NotBlank, Assert\Email]
public string $email;

#[Assert\NotBlank, Assert\Length(min: 2, max: 255)]
public string $name;

#[Assert\NotBlank(groups: ['create']), Assert\Length(min: 8)]
public string $password;
}


2. Валидация в сервисе:


use Symfony\Component\Validator\Validator\ValidatorInterface;

class UserService
{
public function __construct(private ValidatorInterface $validator) {}

public function createUser(array $data): UserDto
{
$dto = new UserDto();
$dto->email = $data['email'];
$dto->name = $data['name'];
$dto->password = $data['password'];

$violations = $this->validator->validate($dto, null, ['create']);

if (count($violations) > 0) {
throw new ValidationException($violations);
}

return $dto;
}
}


Оно работало так достаточно долго, но выглядело немного инородно, пока я не встретил пакет Laravel Data, который отлично интегрирован в Laravel и кажется ламповым и родным.

Laravel Data от Spatie

1. DTO:


use Spatie\LaravelData\Data;
use Spatie\LaravelData\Attributes\Validation\{
Email, Required, Max, Min
};

class UserData extends Data
{
public function __construct(
#[Required, Email]
public string $email,

#[Required, Max(255), Min(2)]
public string $name,

#[Required, Min(8)]
public string $password,
) {}
}


2. Валидация в сервисе


use Spatie\LaravelData\Data;

class UserService
{
public function createUser(array $data): UserData
{
$userData = UserData::from($data);

return $userData;
}
}


👉 https://spatie.be/docs/laravel-data/v4/introduction

#php #laravel #dto #LaravelData

👮‍♂️ Злой полицейский
🔥6
Agile — философия, которая изменила подход к управлению проектами

Если на рабочем совещании коллеги вдруг заговорили про Agile-разработку, а вы все еще не до конца понимаете, что это такое, — не переживайте.
Agile — это не тайный метод IT-специалистов и не мода из Кремниевой долины. Это способ работы, при котором можно не планировать все на полгода вперед, не сидеть ночами в дедлайнах и все-таки сдавать задачи вовремя.

В статье разберемся, что такое методология управления Agile, зачем она нужна и почему ее выбирают как стартапы, так и крупные компании. Расскажем, как внедрить методологию с помощью популярных инструментов планирования проектов и задач.

👉 https://singularity-app.ru/blog/agile/

#teamlead #agile

👮‍♂️ Злой полицейский
🔥3
Репозиторий дня: Requestly

Requestly - мощный API-клиент для замены Postman и Charles Proxy.

Его можно использовать прямо в браузере через расширения Chrome или установить как настольное приложение.

Это Bruno на максималках.

👉 https://github.com/requestly/requestly
👉 https://requestly.com

#RepositoryOfTheDay #Requestly

👮‍♂️ Злой полицейский
3👍2
📺 Transaction Outbox под нагрузкой: как не потерять ни одного события при 100k+ RPS

Когда ваш сервис обрабатывает сотни тысяч транзакций в секунду, потеря даже одного события может стоить бизнесу миллионы.

Transaction Outbox кажется простым паттерном, пока не начинает ломаться под реальной нагрузкой: WAL переполняется, реплики отстают на часы, а CDC-коннекторы падают от back-pressure.

👉 YouTube
👉 VK
👉 Тезисы и презентация
👉 Канал Олега

#arch #TransactionOutbox

👮‍♂️ Злой полицейский
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍21
Архитектурный шаблон
Porto

Porto это современный архитектурный шаблон программного обеспечения, состоящий из методических рекомендаций, принципов и шаблонов, которые помогают разработчикам организовать свой код максимально удобным и многократно используемым способом.

Porto - отличный вариант для средних и крупных веб-проектов, поскольку со временем они, как правило, становятся более сложными.

👉️ https://github.com/dnsoftware/porto_ru

#arch #php #patterns #porto

👮‍♂️ Злой полицейский
1👍6🤯2
Паттерн "Обработчик" (Handler) с использованием DTO и VO

- Изоляция бизнес-логики: Бизнес-логика изолирована в обработчиках, что позволяет сделать код более организованным и легко поддерживаемым.
- Тестируемость: Обработчики легко тестируются отдельно, так как они не зависят от инфраструктурного кода (например, контроллеров).
- Переиспользование: Обработчики могут быть легко переиспользованы в различных частях приложения.
- Ясность и читаемость кода: Использование DTO и VO позволяет четко определить структуру передаваемых данных, что улучшает читаемость и понимание кода.
- Соблюдение принципов SOLID: Обработчики помогают соблюдать принципы единственной ответственности (SRP) и разделения интерфейсов (ISP).
- Иммутабельность VO: Значения VO не изменяются после создания, что помогает избежать непреднамеренных изменений и улучшает предсказуемость кода.

👉 https://laravel.su/p/primer-ispolzovaniia-patterna-obrabotcik-handler-s-ispolzovaniem-dto-i-vo

#laravel #patterns #dto #handlers

👮‍♂️ Злой полицейский
👍4
📺 Копролитный PHP как альтернатива микросервисной архитектуре

Старый, но всё ещё актуальный доклад Юлии Николаевой (iSpring) о том, как решить проблемы монолитного PHP приложения, не переходя на микросервисную архитектуру.

👉 https://www.youtube.com/watch?v=xT25xiKqPcI

#php #arch #ClearCode #ddd

👮‍♂️ Злой полицейский
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📺 Паттерны отказоустойчивой архитектуры

Перебои и ошибки в работе распределённых систем (будь то Web или IoT) — совершенно обычная ситуация. Проблемы в работе с сетью, перебои в работе зависимостей и банальный человеческий фактор — та цена, которую мы платим за общую стабильность системы, лёгкую масштабируемость и гибкость в разработке.

👉 https://www.youtube.com/watch?v=WWTq-tbZwUE

#arch #patterns

👮‍♂️ Злой полицейский
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔥7
📺 Лидерство без руководства — эффектное производство, руководство без лидерства — тюремное производство

В этом интервью на TeamLead Conf 2025 в Москве Ольга из Московского кредитного банка максимально внятно рассказывает о необходимом качестве руководителя: лидерстве.

То есть руководитель + лидер = эффективное производство.

Подписывайтесь на Профессиональный Союз Русских Программистов — регулярно публикуем интервью с ИТ-конференций, разборы управленческих ситуаций и советы от практиков!

👉 https://vkvideo.ru/video-224489316_456239046?list=98878d3df0622351a4
👉 https://www.youtube.com/watch?v=z1K_FRW3XZ8
👉 https://rutube.ru/video/3d575ca0dda209c23fab5b384e44c556/

#prptut

👮‍♂️ Злой полицейский
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Продвинутое использование Eloquent в Laravel

В этом руководстве мы углубимся в ORM (объектно-реляционное преобразование), который использует Laravel — Eloquent.

Мы рассмотрим некоторые не часто используемые возможности Laravel Eloquent и покажем, как это может облегчить ваш процесс разработки.

Laravel делает создание PHP-приложений простым и удобным. Он разработан для предоставления методов работы с основными функциями, которые нужны вашему приложению — взаимодействие с базой данных, маршрутизация, сессии, кеширование и многое другое. Он имеет поставщиков услуг (service providers), которые позволяют вам загружать пользовательские конфигурации и расширять возможности Laravel в соответствии с вашими потребностями.

👉 https://www.kobzarev.com/laravel/advanced-laravel-eloquent-usage/

#php #laravel #eloquent

👮‍♂️ Злой полицейский
👍4🔥1