В предыдущей статье были приведены ссылки на паттерны верстки с помощью CSS FlexBox Layout. В данном же материале настала очередь CSS сетки.
Читать далееРубрика: База знаний
Эта рубрика представляет собой что-то типа любительской энциклопедии по web-программированию и web-технологиям.
CSS FlexBox Layout. Паттерны
Чтобы увеличить продуктивность разработки и не повторять ошибки, сделанные до нас, мы используем паттерны – небольшие заготовки (приемы, практики). Часто можно услышать про паттерны при реализаци логики. Но ведь и при верстке мы тоже может использовать какие-то устоявшиеся подходы, готовые решения. В этой будут приведены ссылки на такие вещи для CSS FlexBox верстки.
Читать далееIntl: JavaScript i18n
При создании веб приложений часто приходится решать однотипные задачи интернационализации. Получить строку с относительной датой (например, 1 day ago), вывести форматированную стоимость товара с указанием валюты или сравнить строки (подходящим для выбранного языка способом). JavaScript развивается достаточно быстро. В нем появились и развитые средства интернационализации.
Читать далееEvent Sourcing
Event Sourcing — это шаблон для хранения данных в виде событий в журнале. Вместе с событием (что важно) сохраняется также его контекст, где имеются все важные данные. Если при CRUD подходе мы бы обновили в БД запись, в которой хранятся данные сущности, то при реализации Event Sourcing мы просто добавляем новую строку в журнал. При получении текущего состояния сущности мы должны с помощью кода воспроизвести по имеющимся событиям текущие значения данных сущности. Модели ( View Models или Query Models), которые делают такое воспроизведение называют Проекциями.
Читать далееCommand and Query Responsibility Segregation
Command and Query Responsibility Segregation (сокращенно – CQRS) – паттерн разделения ответственности в коде (обрабатывающем обращения к серверу) на команды и запросы получения данных. Основан на принципе программирования Command-query Separation (CQS) , который сформулирован Бертандом Майером, создателем языка Eiffel.
Читать далееMaterialized View
Materialized View (материализованное представление) – это объект базы данных (таблица) , содержащий результаты запроса . Такие представления дают возможность ускорить в разы выполнение запросов, обращающихся к большому количеству данных. Добиваются этого за счет использования заранее вычисленных итоговых данных и результатов объединений таблиц. Такие данные как правило имеют очень относительно небольшой объем по сравнению с исходными данными.
Читать далееVue.js provide/inject
При создании сложных Vue приложений приходится решать много задач по разделению кода на части (компоненты и прочее). Когда мы уже разбили большой кусок кода на некую иерархию компонентов, то обычно передаем вложенным компонентам данные через свойства. Но если глубина, на которую необходимо передать данные вниз по дереву больше 1 уровня, то передавать через свойства не то, что неудобно, но и неправильно.
Читать далееVue.js scoped slots и renderless component
Продолжая рассматривать способы повторного использования кода в vue.js (тема затронута ранее в статьях Повторное использование кода Vue.js и Vue.js Composition API) можно встретить упоминания некоего приема с использованием не отображаемых компонентов и слотов с ограниченной областью видимости (scoped slots).
Читать далееVue.js Composition API
Продолжая разбирать тему повторного (начало в статье Повторное использование кода Vue.js) использования кода Vue.js, я пришел к Composition API, который является основным новшеством Vue 3. Его также можно использовать во 2 версии Vue, если установить как отдельный пакет. В сети эти изменения вызвали бурное обсуждение, зачастую негодование, среди тех, кто пользуется данным фреймворком и создал не мало кода на старом API (Options API). Давайте разберемся почему появился новый API, как его использовать и в чем его плюсы.
Читать далееПовторное использование кода Vue.js
По мере усложнения приложения, в котором львиная доля кода использует Vue.js, возникает вопрос повторного использования кода. Когда возможности расширить тот или иной компонент с помощью параметров или слотов уже не удовлетворяют всех потребностей, можно прибегнуть в другим способам.
Читать далееАрхитектра MVC
MVC – это вариант Многоуровневой архитектуры (Layered Architecture), архитектурный паттерн и парадигма, которая делит приложение на 3 основных слоя.
- Модель (Model). Этот слой управляет всеми данными, логикой и бизнес правилами не зависимо от представления данных. Это сердце и душа MVC приложения. Слово “Модель” иногда вносит путаницу. В архитектуре MVC слой модели – это не одно и то же что модель Laravel.
- Вид (View). Предоставляет различные представления слоя модели. Предоставляет способ вызывать изменения в состоянии модели.
- Контроллер (Controller). Организует взаимодействие между слоями. Выполняет действия над моделью для обновления ее состояния. Отправляет сообщения в слой Вид (View) для изменения конкретного представления модели.
Внедрение зависимостей
Внедрение зависимостей (Dependency injection, или DI) — это принцип настройки объекта, при котором поля объекта задаются внешним объектом (сущностью) в противопоставление самонастройке объектов.
Читать далее