Skip to content

Instantly share code, notes, and snippets.

View Piroru's full-sized avatar

Dmitrii Chudinov Piroru

View GitHub Profile
@Piroru
Piroru / .env
Created April 18, 2020 10:45
Config validation
# Redis setup
REDIS_HOST=redis
REDIS_PORT=6379
# Mysql setup
MYSQL_USER=n_user
MYSQL_PASSWORD=secret
MYSQL_ROOT_PASSWORD=secret
MYSQL_DATABASE=n_db
MYSQL_HOST=mysql
@Piroru
Piroru / redux.md
Created August 28, 2018 06:07
Redux lecture

Redux

Чего не хватает React?

В первую очередь нам необходимо вспомнить, что React - это всего лишь шаблонизатор, но при этом очень удобный и умный. Это не фреймворк, поэтому у него нет готовой архитектуры, отсустствуют модели, контроллеры, нет REST клиента, это просто слой View - представление. Отсюда и вытекают некоторые сложности, которые мы рассмотрим ниже.

Зачастую бывает так, что в вашем React приложение имеется огромная иерархия компонентов, и эти компоненты помимо получения свойств от родителей и их отображения, могут взаимодействовать между собой, например SomeComponent3 может взаимодействовать с AnotherComponent3.

Предположим еще, что мы хотим, чтобы SomeComponent4 и AnotherComponent4 всегда получали одни и теже данные - importantInfo, нам нужно хранить общую информацию в их общем родителе - App и нужно ее передавать через ВСЕ промежуточные компоненты. Это довольно сложно, так как дерево компонентов может быть очень и очень большим.

NPM

Что такое NPM?

NPM (англ. Node.js Package Manager) — если кратко, то это пакетный менеджер node.js. С его помощью можно управлять модулями и зависимостями.

На текущий момент это самая большая экосистема для разработки фронтэнда. И у нее есть интересная особенность, она очень быстро растет: Популярность NPM

Как установить NPM?

Для этого достаточно установить node.js и вместе с ним установится и его пакетный менеджер.

Middleware

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

Концепция middleware это очень гибкий инструмент, и он может решать множество проблем, включая проблему асинхронности. В Redux вы можете строить цепочки из middleware. В Redux cуть middleware функций, заключается в том, чтобы взять входные данные, добавить что-то и передать дальше. Можете рассматривать цепочки midlleware как конвейер, где на вход подается Action.

Image

Мы не будем рассматривать принцип работы middleware в Redux, на данный момент вам необходимо знать только как применить какой-либо middleware (один или несколько) к нашему приложению:

let store = createSt

Redux

Чего не хватает React?

В первую очередь нам необходимо вспомнить, что React - это всего лишь шаблонизатор, но при этом очень удобный и умный. Это не фреймворк, поэтому у него нет готовой архитектуры, отсустствуют модели, контроллеры, нет REST клиента, это просто слой View - представление. Отсюда и вытекают некоторые сложности, которые мы рассмотрим ниже.

Зачастую бывает так, что в вашем React приложение имеется огромная иерархия компонентов, и эти компоненты помимо получения свойств от родителей и их отображения, могут взаимодействовать между собой, например SomeComponent3 может взаимодействовать с AnotherComponent3.

Предположим еще, что мы хотим, чтобы SomeComponent4 и AnotherComponent4 всегда получали одни и теже данные - importantInfo, нам нужно хранить общую информацию в их общем родителе - App и нужно ее передавать через ВСЕ промежуточные компоненты. Это довольно сложно, так как дерево компонентов может быть очень и очень большим.

@Piroru
Piroru / Redux.md
Last active July 21, 2017 03:55
Redux lecture

Redux

Чего не хватает React?

В первую очередь нам необходимо вспомнить, что React - это всего лишь шаблонизатор, но при этом очень удобный и умный. Это не фреймворк, поэтому у него нет готовой архитектуры, отсустствуют модели, контроллеры, нет REST клиента, это просто слой View - представление. Отсюда и вытекают некоторые сложности, которые мы рассмотрим ниже.

Зачастую бывает так, что в вашем React приложение имеется огромная иерархия компонентов, и эти компоненты помимо получения свойств от родителей и их отображения, могут взаимодействовать между собой, например SomeComponent3 может взаимодействовать с AnotherComponent3.

Предположим еще, что мы хотим, чтобы SomeComponent4 и AnotherComponent4 всегда получали одни и теже данные - importantInfo, нам нужно хранить общую информацию в их общем родителе - App и нужно ее передавать через ВСЕ промежуточные компоненты. Это довольно сложно, так как дерево компонентов может быть очень и очень большим.

@Piroru
Piroru / ES6.md
Last active February 20, 2022 22:40

let, const

Что такое let?

let - новый способ объявления переменной в ES6 (ES-2015) стандарте вместо var.

Пример объявления:

let x = 45;