JS | Паттерн "Декоратор"
Декоратор — это средство, которое позволяет обернуть одну функцию другой и расширить ее возможности. Вы «декорируете» существующий код, обернув его другим кодом. Этот прием известен всем, кто знаком с композицией функций или функциями высшего порядка.
Статья рассказывает зачем нужны и как реализовать декораторы функций, классов, свойств класса и поля класса
Декоратор — это средство, которое позволяет обернуть одну функцию другой и расширить ее возможности. Вы «декорируете» существующий код, обернув его другим кодом. Этот прием известен всем, кто знаком с композицией функций или функциями высшего порядка.
Статья рассказывает зачем нужны и как реализовать декораторы функций, классов, свойств класса и поля класса
GRASP паттерны проектирования
GRASP (General Responsibility Assignment Software Patterns) — шаблоны проектирования, используемые для решения общих задач по назначению обязанностей классам и объектам.
Известно девять GRAPS шаблонов. Эти паттерны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Шаблоны включают в себя:
- Information Expert (Информационные эксперт) ;
- Creator (Создатель) ;
- Controller (Контроллер) ;
- Low Coupling (Слабая связанность) ;
- High Cohesion (Высокая сцепленность) ;
- Pure Fabrication (Чистая выдумка или чистое синтезирование) ;
- Indirection (Посредник) ;
- Protected Variations (Сокрытие реализации или защищенные изменения) ;
- Polymorphism (Полиморфизм).
Статья живым языком с примерами подробно рассказывает о всех этих шаблонах.
GRASP (General Responsibility Assignment Software Patterns) — шаблоны проектирования, используемые для решения общих задач по назначению обязанностей классам и объектам.
Известно девять GRAPS шаблонов. Эти паттерны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Шаблоны включают в себя:
- Information Expert (Информационные эксперт) ;
- Creator (Создатель) ;
- Controller (Контроллер) ;
- Low Coupling (Слабая связанность) ;
- High Cohesion (Высокая сцепленность) ;
- Pure Fabrication (Чистая выдумка или чистое синтезирование) ;
- Indirection (Посредник) ;
- Protected Variations (Сокрытие реализации или защищенные изменения) ;
- Polymorphism (Полиморфизм).
Статья живым языком с примерами подробно рассказывает о всех этих шаблонах.
Какой из стандартов PSR описывает HTTP запросы и ответы?
Anonymous Quiz
26%
PSR3
32%
PSR7
21%
PSR2
21%
PSR4
Шаблоны проектирования "банды четырёх (GoF)"
Порождающие паттерны — это паттерны, которые абстрагируют процесс порождения классов и объектов.
Структурные паттерны - рассматривает, как классы и объекты образуют более крупные структуры - более сложные по характеру классы и объекты.
Поведенческие паттерны - они определяют алгоритмы и взаимодействие между классами и объектами, то есть их поведение.
В статье собраны описания работы всех этих паттернов с примерами реализации.
Порождающие паттерны — это паттерны, которые абстрагируют процесс порождения классов и объектов.
Структурные паттерны - рассматривает, как классы и объекты образуют более крупные структуры - более сложные по характеру классы и объекты.
Поведенческие паттерны - они определяют алгоритмы и взаимодействие между классами и объектами, то есть их поведение.
В статье собраны описания работы всех этих паттернов с примерами реализации.
JS | Отслеживание высоты экрана на iOS
Сделать блок на высотой на весь экран довольно просто,
Сделать блок на высотой на весь экран довольно просто,
height: 100vhНо это не работает для браузера Safari на iOS, его адресная строка сверху и панель кнопок снизу не учитываются при расчете высоты экрана и блок высотой 100vh окажется под кнопками, для решения этой проблемы поможет небольшой скрипт получающий высоту экрана и записывающий её в css переменную.
Улучшение производительности сайта, Perceived Performance
Субъективное восприятие скорости работы сайта и его реальная скорость могут не совпадать, статья рассказывает о приёмах увеличивающих производительность, использование скелетонов, Optimistic Updates и другие технические и психологические средства увеличения производительности.
Субъективное восприятие скорости работы сайта и его реальная скорость могут не совпадать, статья рассказывает о приёмах увеличивающих производительность, использование скелетонов, Optimistic Updates и другие технические и психологические средства увеличения производительности.
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем свой дропдаун с вариантами отображения
Компонентов UI требуется универсальность, для того чтоб его можно было использовать в любом месте сайта, в примере реализован дропдаун с настройкой положения и размера выпадающего меню, в пунктах меню можно использовать ссылки, ссылки с заголовками и простой текст. Настойки передаются через дата атрибуты и обрабатываются в css.
Компонентов UI требуется универсальность, для того чтоб его можно было использовать в любом месте сайта, в примере реализован дропдаун с настройкой положения и размера выпадающего меню, в пунктах меню можно использовать ссылки, ссылки с заголовками и простой текст. Настойки передаются через дата атрибуты и обрабатываются в css.
PHP | Local PHP Security Checker
Local PHP Security Checker - это консольное приложение, которое проверяет, не зависит ли ваше приложение от пакетов с известными проблемами безопасности.
В качестве базы известных уязвимостей используется GitHub репозиторий https://github.com/FriendsOfPHP/security-advisories
Local PHP Security Checker - это консольное приложение, которое проверяет, не зависит ли ваше приложение от пакетов с известными проблемами безопасности.
В качестве базы известных уязвимостей используется GitHub репозиторий https://github.com/FriendsOfPHP/security-advisories
CSS | backdrop-filter, фильтры второго уровня
backdrop-filter позволяет вам использовать визуальные эффекты - такие как размытие или смещение цвета фона - за элементом. Так как это применяется ко всему за элементом, чтобы увидеть эффект, вы должны сделать элемент или его фон по крайней мере частично прозрачными.
backdrop-filter позволяет вам использовать визуальные эффекты - такие как размытие или смещение цвета фона - за элементом. Так как это применяется ко всему за элементом, чтобы увидеть эффект, вы должны сделать элемент или его фон по крайней мере частично прозрачными.
Какое значение по умолчанию у свойства position
Anonymous Quiz
27%
relative
12%
none
47%
static
14%
initial
JS | Guess.js - предсказываем поведение пользователя
Guess.js использует технику, предиктивной предварительной выборки. Используя данные из источника аналитики, такого как Google Analytics, Guess.js позволяет веб-приложениям предварительно загружать ресурсы только тогда, когда они могут понадобиться, учитывая поведение пользователя.
Например, есть веб-сайт с тремя страницами. Из Google Analytics мы знаем, что пользователь посетит страницу «О нас» с главной страницы с вероятностью 95%, а вероятность перейти на страницу контактов - только 5%. Пока пользователь находится на главной странице, мы можем загрузить все ресурсы со страницы «О нас», чтобы последующий переход был максимально быстрый.
Поддерживает работу со статичными сайтами, gatsby, next.js и nuxt.js
Guess.js использует технику, предиктивной предварительной выборки. Используя данные из источника аналитики, такого как Google Analytics, Guess.js позволяет веб-приложениям предварительно загружать ресурсы только тогда, когда они могут понадобиться, учитывая поведение пользователя.
Например, есть веб-сайт с тремя страницами. Из Google Analytics мы знаем, что пользователь посетит страницу «О нас» с главной страницы с вероятностью 95%, а вероятность перейти на страницу контактов - только 5%. Пока пользователь находится на главной странице, мы можем загрузить все ресурсы со страницы «О нас», чтобы последующий переход был максимально быстрый.
Поддерживает работу со статичными сайтами, gatsby, next.js и nuxt.js
Искусство компонентов. Пишем карточку контакта Facebook Messenger
Компонент, который пиксель-в-пиксель по макету может быстро перестать работать, когда столкнётся с реальным контентом настоящего проекта. В статье на примере простой карточки контакта показывается как много нюансов разметки и стилей может появится при разработке компонента.
Компонент, который пиксель-в-пиксель по макету может быстро перестать работать, когда столкнётся с реальным контентом настоящего проекта. В статье на примере простой карточки контакта показывается как много нюансов разметки и стилей может появится при разработке компонента.
Что выведется в консоль при клике на див с ид child
Anonymous Quiz
27%
bar
29%
foo bar
39%
bar foo
5%
foo