#junior #video
Полезный доклад для начинающих об основах безопасности веб-приложений: валидируем формы, файлы, запросы и многое другое.
https://www.youtube.com/watch?v=KUaUlAqAf_U
Полезный доклад для начинающих об основах безопасности веб-приложений: валидируем формы, файлы, запросы и многое другое.
https://www.youtube.com/watch?v=KUaUlAqAf_U
YouTube
30+ примеров угроз: формы, файлы, заголовки, браузер, консоль, БД (Александр Макаров, Yii)
Обсудим варианты решения проблем, связанных с XSS, CSRF, DDoS,
include, Clickjacking, взломом паролей и не только. От базовых вещей
до особенностей языка. Слайды https://bit.ly/2EdUZSD
02:18 Как фильтровать входы и экранировать выходы
06:54 Нас атакуют:…
include, Clickjacking, взломом паролей и не только. От базовых вещей
до особенностей языка. Слайды https://bit.ly/2EdUZSD
02:18 Как фильтровать входы и экранировать выходы
06:54 Нас атакуют:…
Advanced_Web_Application_Architecture_by_Matthias_Noback_Noback.epub
6.3 MB
#advanced #laravel
Разработчики многих пакетов под Laravel Spatie открыли код своего сайта. Возможно, это станет вдохновением для начинающих изучать Laravel.
https://github.com/spatie/spatie.be
Разработчики многих пакетов под Laravel Spatie открыли код своего сайта. Возможно, это станет вдохновением для начинающих изучать Laravel.
https://github.com/spatie/spatie.be
GitHub
GitHub - spatie/spatie.be: The source code of spatie.be
The source code of spatie.be. Contribute to spatie/spatie.be development by creating an account on GitHub.
#video #doctrine
Несколько хороших практик из доклада о том, как разделить чтение и запись, если у вас Doctrine.
https://www.youtube.com/watch?v=LmiSpznZWTU
Несколько хороших практик из доклада о том, как разделить чтение и запись, если у вас Doctrine.
https://www.youtube.com/watch?v=LmiSpznZWTU
YouTube
От Doctrine ORM к CQRS за 20 минут (Дмитрий Симушев, Райффайзенбанк)
Если Doctrine ORM не справляется с обработкой потока запросов на чтение, а хаки по оптимизации уже кончились, есть другой путь. О нем и расскажет Дмитрий. Слайды https://bit.ly/3guKLui
01:00 Что такое ORM и точно ли она нужна вам
03:46 Две группы задач с…
01:00 Что такое ORM и точно ли она нужна вам
03:46 Две группы задач с…
#advanced
Реализуем CI с помощью Github Actions для PHP проектов.
https://dev.to/jorgehrj/ci-cd-workflow-with-github-actions-4ddp
Реализуем CI с помощью Github Actions для PHP проектов.
https://dev.to/jorgehrj/ci-cd-workflow-with-github-actions-4ddp
DEV Community
CI/CD Workflow with GitHub Actions
One of the advantages that I found of GitLab versus GitHub was their GitLab CI/CD tool (https://docs....
#advanced #infrastructure
Сервис от DigitalOcean, который поможет сгенерировать вам nginx конфиг для вашего приложения.
https://www.digitalocean.com/community/tools/nginx
Сервис от DigitalOcean, который поможет сгенерировать вам nginx конфиг для вашего приложения.
https://www.digitalocean.com/community/tools/nginx
Digitalocean
NGINXConfig | DigitalOcean
The easiest way to configure a performant, secure, and stable nginx server.
#advanced
Неофициальный перевод PHP book internals, который познакомит вас с устройством PHP интерпретатора: что такое хэш-таблицы, как устроена zval структура, как работает сборщик мусора и многое другое.
https://romka.gitbooks.io/php-internals-book-ru/content/
Неофициальный перевод PHP book internals, который познакомит вас с устройством PHP интерпретатора: что такое хэш-таблицы, как устроена zval структура, как работает сборщик мусора и многое другое.
https://romka.gitbooks.io/php-internals-book-ru/content/
romka.gitbooks.io
Introduction | PHP Internals Book [русский перевод]
Данная книга — это неофициальный русский первод книги PHP Internals Book.
#advanced
Скрытые возможности PDO при маппинге данных на объекты.
http://marcosh.github.io/post/2017/01/05/pdo-fetch-func.html
Скрытые возможности PDO при маппинге данных на объекты.
http://marcosh.github.io/post/2017/01/05/pdo-fetch-func.html
Marcoshplace
Constructing objects with PDO
How to use PDO::FETCH_FUNC to create custom objects directly from PDO queries
#advanced
В Laravel 8 у Query Builder появился удобный метод upsert, который позволяет создать или обновить сразу несколько записей разом.
https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/
В Laravel 8 у Query Builder появился удобный метод upsert, который позволяет создать или обновить сразу несколько записей разом.
https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/
Amit Merchant - A blog on PHP, JavaScript, and more
Insert or update multiple records using upsert in Laravel 8.x
It would be useful sometimes when you’re not sure if you want to insert or update records and you’d let the system decide that. Laravel comes with one such feature that lets you do just that.
#video
Обзор архитектуры операционных систем на примере Linux.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpT4SMpYl6uVYi13k0k9CBiq
Обзор архитектуры операционных систем на примере Linux.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpT4SMpYl6uVYi13k0k9CBiq
#advanced
В этой статье объясняется, как работает unserialize.
https://vkili.github.io/blog/insecure%20deserialization/unserialize/
В этой статье объясняется, как работает unserialize.
https://vkili.github.io/blog/insecure%20deserialization/unserialize/
Vickie Li's Security Blog
Diving into unserialize()
How PHP’s unserialize() works, and why it leads to vulnerabilities.
#advanced
Используем Symfony компонент Messenger для реализации CQRS.
https://medium.com/@patrykwozinski/symfony-messenger-component-for-cqrs-applications-4f450b2a9124
Используем Symfony компонент Messenger для реализации CQRS.
https://medium.com/@patrykwozinski/symfony-messenger-component-for-cqrs-applications-4f450b2a9124
Medium
Symfony Messenger component for CQRS applications
Hi there! This article is mostly for people who, like me some time ago, are looking for information on how to configure Messenger for…
#advanced
Пример архитектуры приложения на PHP, основанного на Чистой Архитектуре (как понятия, а не книги) Роберта Мартина.
https://medium.com/engenharia-arquivei/a-decoupled-php-architecture-inspired-by-the-clean-architecture-788b30ab52c2
Пример архитектуры приложения на PHP, основанного на Чистой Архитектуре (как понятия, а не книги) Роберта Мартина.
https://medium.com/engenharia-arquivei/a-decoupled-php-architecture-inspired-by-the-clean-architecture-788b30ab52c2
Medium
A decoupled PHP architecture inspired by the Clean Architecture
How we create APIs and workers in PHP that won’t be a pain in a few years.
#laravel
В 8-й версии Laravel среди прочего есть возможность использовать динамические компоненты. Что это такое и как использовать, читайте в статье:
https://www.amitmerchant.com/dynamic-blade-components-in-laravel-8/
В 8-й версии Laravel среди прочего есть возможность использовать динамические компоненты. Что это такое и как использовать, читайте в статье:
https://www.amitmerchant.com/dynamic-blade-components-in-laravel-8/
Amit Merchant - A blog on PHP, JavaScript, and more
Dynamic blade components in Laravel 8
With the release of Laravel 8, you can now render Blade components dynamically using a built-in component called dynamic-component.
#advanced
Почему статические методы иногда могут быть злом, заражающим ваш код.
https://tomasvotruba.com/blog/2020/08/31/how-static-methods-kills-you-like-corona/
Почему статические методы иногда могут быть злом, заражающим ваш код.
https://tomasvotruba.com/blog/2020/08/31/how-static-methods-kills-you-like-corona/
Tomasvotruba
How Static Methods Kill You Like Corona
Do you know [the Broken Window theory](https://blog.codinghorror.com/the-broken-window-theory/)? It's a social pattern in code, a great post written by a guy behind one small manual website - StackOverflow.
If you combine this theory and Static Methods…
If you combine this theory and Static Methods…
#advanced
Способ гидрации массива в объекты через конструктор.
https://tomasvotruba.com/blog/2020/04/20/how-to-hydrate-arrays-to-objects-via-constructor/
Способ гидрации массива в объекты через конструктор.
https://tomasvotruba.com/blog/2020/04/20/how-to-hydrate-arrays-to-objects-via-constructor/
Tomasvotruba
How to Hydrate Arrays to Objects via Constructor
One technology evolution sparks naturally another one. When electricity became accessible to masses, a huge industry of home-electric tools became possible. Like this tool, I currently write on.
The same thing happens in software, just exponentially faster.…
The same thing happens in software, just exponentially faster.…
#junior #web
Из этой статьи вы познакомитесь с основами работы веба: как работает DNS, как устроен HTTP, как взаимодействуют между собой клиент (ваш веб-браузер) и сервер и многое другое.
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/03.1.md
Из этой статьи вы познакомитесь с основами работы веба: как работает DNS, как устроен HTTP, как взаимодействуют между собой клиент (ваш веб-браузер) и сервер и многое другое.
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/03.1.md
GitHub
build-web-application-with-golang/ru/03.1.md at master · astaxie/build-web-application-with-golang
A golang ebook intro how to build a web with golang - astaxie/build-web-application-with-golang
#hints
Если метод или функция, которые вы вызываете, требует от вас аргумент типа callable, вы можете передать туда не только реальный Closure, но и массив вида: [new ClassName(), 'methodInsideClass']
Пример:
final class PHP
{
public function do()
{
return 'some';
}
}
function call(callable $func)
{
return $func();
}
var_dump(call([new PHP(), 'do'])); // string(5) "some"
Если метод или функция, которые вы вызываете, требует от вас аргумент типа callable, вы можете передать туда не только реальный Closure, но и массив вида: [new ClassName(), 'methodInsideClass']
Пример:
final class PHP
{
public function do()
{
return 'some';
}
}
function call(callable $func)
{
return $func();
}
var_dump(call([new PHP(), 'do'])); // string(5) "some"
#advanced
Несколько советов по рефакторингу PHP кода.
https://christoph-rumpel.com/2020/8/refactoring-php
Несколько советов по рефакторингу PHP кода.
https://christoph-rumpel.com/2020/8/refactoring-php
Christoph-Rumpel
Refactoring PHP
I've been programming in PHP now for almost ten years, and if there is one thing I learned over this period, it's that readability and simplicity are the keys for maintainable and sustainable code. Every first attempt to write code should be about making…