Закрываем базовые потребности. Маленькие хитрости.
⭕️Ждала чуда? Получи!
Игра-практикум “Подарки и забота от мужчин”.
РЕГИСТРАЦИЯ:.
https://clck.ru/KSqRQ.
Закрываем базовые потребности. Маленькие хитрости..
Добро пожаловать на мой канал!
Я Денис Байгужин..
Адский женский тренер №1, мотивационный спикер, психолог, писатель, бизнес-тренер..
Расписание мероприятий по городам:
https://clck.ru/DBoHs.
��Бесплатный онлайн-курс ��.
«Уверенное знакомство с достойными мужчинами».
https://clck.ru/DCEsD.
Социальные сети:.
��Инстаграм https://instagram.com/denis.bayguzhin/.
��ВКонтакте https://vk.com/denis_trener.
��Официальная группа в ВК https://vk.com/jenskoe_schastie.
��Facebook https://www.facebook.com/denis.bay1.
��Twitter https://twitter.com/bayguzhin.
Канал полностью посвящен теме отношений между женщиной и мужчиной. Как грамотно выстраивать отношения с успешными мужчинами. Как уметь выявлять высокоранговых, амбициозных и перспективных мужчин и отсеивать недальновидных и низкосортных..
Разбор мужской психологии. Разбор отношений от первого свидания до супружеской жизни. Получение подарков от мужчин, внимания, поддержки. Вопросы мотивации своих мужчин и повышения качества семейной жизни. Построение крепких семей, основанных на уважении, любви и правильно распределенных ролей..
Разбор поведения и наиболее частых ошибок, которые ты совершаешь, общаясь с мужчинами..
Байгужанка девушка, которая постоянно развивается, улучшает не только финасовое благосостояние свое, но и другие аспекты, присущие настоящей леди: манера поведения, знание и соблюдение норм этикета; внешность ( стиль, свой имидж, вкус); грамотность в общении, обладание широким кругозором, начитанность..
Приятного просмотра,.
Любимые девушки! ��.
Закрываем базовые потребности. Маленькие хитрости..
Ссылка на видео:.
https://youtu.be/HkVXC_Nnn7Q.
�� Возможно, тебе будет полезно посмотреть следующие видео:
��Кто такой настоящий мужчина! Правда от Байгужина https://youtu.be/Tsp4x8aGpic.
�� Айфон или Платья. Переход в сильную позицию https://youtu.be/OV8epq2rw48.
�� Самый притягательный образ для мужчин https://youtu.be/Pk3EncgBH7g.
Социальные сети:.
��Инстаграм https://instagram.com/denis.bayguzhin/.
��ВКонтакте https://vk.com/denis_trener.
��Официальная группа в ВК https://vk.com/jenskoe_schastie.
��Facebook https://www.facebook.com/denis.bay1.
��Twitter https://twitter.com/bayguzhin.
ДОМ МОДЫ:.
https://vk.com/bayguzhin.dress.
https://www.instagram.com/bayguzhin.dress/.
Канал Youtube:
https://www.youtube.com/channel/UCna57aueMfIwtE1Pct7ssTg.
Подписывайся в группу!.
Следи за новыми мероприятиями..
Набирайся знаний, если что-то непонятно или несогласна пиши в комментарии, будем обсуждать!
По вопросам тренинга, приобретения видеокурсов пиши в официальную группу в Вконтакте https://vk.com/jenskoe_schastie.
и следи за информацией на официальном сайте https://clck.ru/DBoHs.
Всех люблю,.
Ваш Денис Байгужин ��
Видео взято с канала: Денис Байгужин. Гуру женского счастья!
Redux. Полный Курс 2020
Полный курс по Redux 2020. Внутри ты увидишь разбор всех функций, которые в нем есть: createStore, compose, applyMiddleware, combineReducers и как работать с DevTools. Из видео ты узнаешь какие проблемы Redux решает, зачем он вообще нужен и как его создать с нуля!
Моя образовательная площадка: https://www.vladilen.dev/.
Подписывайся на соц сети:
Telegram: https://teleg.one/js_by_vladilen.
Instagram: https://www.instagram.com/vladilen.minin.
VK: https://vk.com/vladilen.minin.
Группа VK: https://vk.com/js_by_vladilen.
Мой Курс Стань JavaScript Senior: https://clc.to/senior.
Мои Udemy Курсы:
Angular 9: https://clc.to/angular.
React Native: https://clc.to/rnative.
ReactJS: https://clc.to/react.
NodeJS: https://clc.to/nodejs.
Angular Fullstack (MEAN): https://clc.to/fullstack.
Дополнительные ролики для комфортного прохождения курса.
Полный курс ES6: https://www.youtube.com/watch?v=Ti2Q4sQkNdU.
Webpack: https://www.youtube.com/watch?v=eSaF8NXeNsA.
Деструктуризация: https://www.youtube.com/watch?v=wWYokY0Pt2M.
Замыкания: https://www.youtube.com/watch?v=pahO5XjnfLA.
Исходники начала тут:
https://github.com/vladilenm/redux-course-2020.
Исходники конца урока лежат в телеграмм канале:
https://teleg.one/js_by_vladilen.
Redux. Полный Курс 2020.
#redux #javascript
Видео взято с канала: Владилен Минин
NextJS Быстрый Курс SSR на React JS [2020]
NextJS Курс в одном видео по всем элементам в фреймворке (Server Side Rendering на React).
Мой Курс Продвинутый JavaScript: https://clc.to/senior.
Мои Udemy Курсы:
Angular 9: https://clc.to/angular.
React Native: https://clc.to/rnative.
ReactJS: https://clc.to/react.
NodeJS: https://clc.to/nodejs.
Angular Fullstack (MEAN): https://clc.to/fullstack.
Подписывайся на соц сети:
Telegram: https://t.me/js_by_vladilen.
Instagram: https://www.instagram.com/vladilen.minin.
VK: https://vk.com/vladilen.minin.
Группа VK: https://vk.com/js_by_vladilen.
React https://www.youtube.com/watch?v=xJZa2_aldDs.
Node https://www.youtube.com/watch?v=3aGSqasVPsI.
Nuxt https://www.youtube.com/watch?v=lm9olMCRCIc.
ES6 https://www.youtube.com/watch?v=Ti2Q4sQkNdU.
Webpack https://www.youtube.com/watch?v=eSaF8NXeNsA.
fetch https://www.youtube.com/watch?v=eKCD9djJQKc.
JS 2020 https://www.youtube.com/watch?v=7TpAN4FISeI.
TypeScript https://www.youtube.com/watch?v=nyIpDs2DJ_c.
TS Продвинутый https://www.youtube.com/watch?v=7NU6K4170As.
React + TS https://www.youtube.com/watch?v=OvLWWvjoi8s.
Статья из видео: https://medium.com/@apalshah/next-js-how-to-make-your-own-progress-bar-indicator-component-easily-445e58777473.
Исходный код в Telegram Канале:
https://t.me/js_by_vladilen.
Таймкоды:
00:00 Что такое SSR и Next.
14:36 Установка Next.
20:40 Начало работы.
25:54 Роутинг и навигация.
49:15 SEO + Meta.
54:40 Создание Layout.
1:06:29 Стили, модули, SASS.
1:14:48 Страница 404.
1:22:14 Создание API мок сервера.
1:33:30 Загрузка данных.
1:57:05 getServerSideProps.
2:00:30 Индикатор загрузки.
2:07:15 Создание API.
2:13:00 TypeScript.
2:26:40 Next Config.
2:34:12 Классные рекомендации.
#react #ssr #nextjs
Видео взято с канала: Владилен Минин
Травмы, которые мешают быть собой открытый вебинар курса
Быть собой – это значит быть естественным, жить в согласии со своими ощущениями и стремлениями, творить, созидать, наслаждаться..
Это значит чувствовать, что мир – безопасен, люди – дружелюбны, а мы – хорошие, правильные всегда! – просто потому что такова наша природа..
Нам всего лишь нужно то, что уже есть у нас в момент рождения, но доступ к чему мы утратили в процессе социальной адаптации к этому миру. Утратили из-за пережитых стрессовых ситуаций, эмоциональных травм и боли, которую приобрели и носим в себе..
И до тех пор, пока у нас есть раны, всегда найдутся те, кто насыплет на них соль. Чтоб напомнить нам, что мы нуждаемся в заботе и исцелении..
Информация об упомянутом курсе «Быть собой. Исцелении травм Души и личности» доступна здесь http://allinyou.club/education/istselenie-travm-dushi-i-lichnosti-2-y-potok.
Если возникли вопросы, пишите в комментариях, я с радостью отвечу. А также интересно услышать Ваше мнение по поводу видео..
⏰ ТАЙМ-КОДЫ:.
0:00:50 Что значит быть собой, зачем вам это нужно?
0:08:37 Спонтанность и естественность. Дети являются теми, кто является собой.
0:11:57 Что нам мешает быть собой.
0:14:04 Травмы, которые мешают быть собой.
0:19:15 Травмы как задачи на получение нового опыта, дары и ресурс. Боль и травма – нереализованные покинутость,преимущества.
0:26:21 Отверженность – это изгнание.
0:44:14 Для чего мы получаем травмы.
0:46:35 Травма подавления.
0:47:24 Какие травмы будут рассмотрены на курсе «Стать собой. Исцеление травм Души и личности».
0:58:25 Покинутость – это одиночество.
1:04:35 Униженность – лишение достоинства.
1:10:49 Стыд и вина. Стыд – социальная категория, «что я делаю». Вина – личная категория, «какой я».
1:20:10 Предательство – несбывшиеся ожидания.
1:34:24 Несправедливость – перфекционизм.
1:44:43 Какие методы исцеления травм будут использоваться на курсе «Стать собой. Исцеление травм Души и личности»..
1:46:42 Травма разделенности – первопричина – опыт первичного воплощения души в тело.
1:52:52 Арт-вебинар в конце курса для проработки конкретного запроса.
1:56:00 Короткая практика для нормализации состояния..
1:57:23 Список литературы по теме для самостоятельной работы.
_
Давайте дружить!
❉ КЛУБ «ВСЁ В ТЕБЕ»:.
Сайт Клуба – http://allinyou.club.
Текущие события клуба и курсы в записи – http://allinyou.club/education.
Открытые вебинары клуба – https://vk.com/vibrationsofhome.
«Всё в тебе» в ВКонтакте – https://vk.com/vsyovtebe.
«Всё в тебе» в Facebook –https://www.facebook.com/groups/257456887964766/.
✉ КОНТАКТЫ СВЕТЛАНЫ КУРАКИНОЙ.
+группу в Контакте https://vk.com/to_live_happily.
+инстаграм https://www.instagram.com/kurakina_svetlana/.
+фейсбук https://www.facebook.com/svet.lana.1441.
+блог http://discoveryourself.ru/
Видео взято с канала: Светлана Куракина
Webpack. Полный курс 2020
Webpack. Полный Курс 2020.
Мой Курс Продвинутый JavaScript: https://clc.to/senior.
Мои Udemy Курсы:
Angular 9: https://clc.to/angular.
React Native: https://clc.to/rnative.
ReactJS: https://clc.to/react.
NodeJS: https://clc.to/nodejs.
Angular Fullstack (MEAN): https://clc.to/fullstack.
Подписывайся на соц сети:
Telegram: https://t.me/js_by_vladilen.
Instagram: https://www.instagram.com/vladilen.minin.
VK: https://vk.com/vladilen.minin.
Группа VK: https://vk.com/js_by_vladilen.
Мой сайт: https://www.vladilen.dev/.
Исходный код в telegram канале:
https://t.me/js_by_vladilen/125.
Поддержать выпуск новых видео:
ЯД: https://money.yandex.ru/to/410013757655670.
PayPal: https://www.paypal.me/vladilenm.
Тайм-коды:
00:00 – Вступление.
03:01 – Написание базового приложения.
14:56 – Инициализация приложения.
16:33 – Установка Webpack.
18:30 – Базовая настройка Webpack.
38:12 – Паттерны.
39:46 – Плагины.
40:31 – Работа с HTML.
45:56 – Очистка папки проекта.
47:50 – Сборка проекта.
50:17 – Контекст.
51:50 – CSS-лоадеры.
58:56 – Работа с JSON.
1:02:50 – Работа с файлами.
1:09:02 – Работа со шрифтами.
1:13:21 – Подключение CSS-библиотек.
1:14:51 – Защита от публикации пакета.
1:15:32 – Работа с XML-файлами.
1:17:44 – Работа с CSV-файлами.
1:20:06 – Дополнительные настройки.
1:24:54 – Подключение JS-библиотек.
1:28:56 – Оптимизация.
1:33:40 – Webpack-dev-server.
1:39:14 – Копирования статических файлов.
1:42:32 – Сжатие CSS, HTML, JS.
1:59:37 – Компиляция Less.
2:06:08 – Компиляция Sass.
2:03:57 – Оптимизация.
2:10:21 – Babel.
2:22:35 – Добавление плагинов для Babel.
2:24:28 – Компиляция TypeScript.
2:27:20 – Компиляция React JSX.
2:33:38 – Devtool.
2:36:14 – ESLint.
2:43:00 – Динамические импорты.
2:44:52 – Анализ финальной сборки.
Webpack. Полный курс 2020.
#webpack #js #javascript
Видео взято с канала: Владилен Минин
Настройка канала Zello.
канал-источник:https://youtu.be/W5HATJqZQNI.
Краткий обзор по настройке канала.
Подключаем канал в зелло..
Google Play: https://goo.gl/DZyEed Пока не заблокировано Роскомнадзором.
Zello рация: http://zello.com/?lang=ru у меня пока заблокировано.
=
Приложение Zello рация для Андроид не требовательно к техническим характеристикам устройства. На данный момент уже существуют версии не только для самых популярных мобильных ОС, но и даже для компьютеров! Это позволяет всегда быть на связи, не зависимо от того, с какого устройства вы выходите в сеть. Если отбросить все технические термины и возможности, то данная программа может здорово развлечь, просто как рация, для длительного общения с друзьями, где бы они не находились..
……………………………………………………………………………………….
Подключитесь к одному из открытых каналов(Беседка Оренбург.Автоканал 56) позволяющих общаться до 1000 человек одновременно и это будет лучший способ оставаться в курсе текущих событий..
=
Краткий обзор установки:=
Передача голоса с высоким качеством в реальном времени.
Онлайн-статус контактов.
Поддержка bluetooth гарнитур.
История сообщений.
Потребление трафика программой Zello
Секунда звука занимает около 1 кБ при использовании по мобильному интернету и 4 кБ по WiFi (по WiFi меньше сжатие и качество выше). В килобитах это диапазон от 8 до 40 килобит/с. В месяц обычно хватает 200 Мб при регулярном общении. В режиме ожидания, без разговоров, приложение потребляет всего около 20 килобайт в час..
……………………………………………………………………
Мы ждем Вас на нашем канале! Присоединяйтесь!!!
Вопросы по радиостанциям, усилителям, антеннам и прочему оборудованию гражданской радиосвязи можно задавать:
* в комментариях:https://youtu.be/1L3SYAKltHg?list=PLVG89RVvktH_8gX2NfzzYzfo2Q0Sv2NZP.
* в группе ВКонтакте:https://vk.com/avtokanal_orenburg.
* на сайте арк урал оренбург: http://автоканал56.рф/.
Наш канал АРК Урал Оренбург в YouTube освещает различные ситуации, которые происходят на дорогах, знакомит автолюбителей с интересными событиями и новостями.
—
Наш сайт:http://автоканал56.рф.
—
Группа ВК:https://new.vk.com/avtokanal_orenburg.
—
Группа Одноклассники:https://ok.ru/group/53005683523693.
—
twitter:https://twitter.com/4MRifNUZWeA8R2a?lang=ru.
#АРКУРАЛ
Видео взято с канала: Автоканал УРАЛ
ПОЧЕМУ ПАДАЕТ РОССИЙСКИЙ РУБЛЬ? — Как курс доллара поднимется до 136 рублей?!
Наш проект «NN» в телеграме: https://durov.cc/naebnet.
Курс российского рубля вновь показывает нестабильность, которая пугает не только обычное население, но и финансовых аналитиков. Рассказываем, почему падает российский рубль и как курс доллара поднимется в ближайшие несколько месяцев. Берём за основу теории экспертов, а также показательный опыт прошлых лет. Приятного просмотра!
Спасем твой кошелёк и поможем разобраться в несправедливой ситуации..
По вопросам сотрудничества: advertising@naebnet.ru
Видео взято с канала: NN
Нет похожих статей
приведу пример
квартира в москве в 2013 стоила
7 000 000 рублей это по курсу
36 было 194 000 $ долларов
а теперь эта же квартира стоит те же 7 000 000 рублей но уже по курсу 75 а значит это 93 000 $ долларов )
понимаете да!? вот так вы просто держа сбережения в долларах заработали за десять лет на вторую квартиру в мосскве
недайте путинскому режиму вас ограбить держите сбережения в долларе
Доброго дня! _document.js почему-то не изменяет head всего приложения. В чем может быть проблема? Код идентичный. Спасибо! upd. Заработало после перезапуска вебсторма, кому-то известна причина данной ерунды?
Бред какой-то.. Просто ЦБ может установить любой курс.. И весь вопрос на сколько он захочет обворовать свой народ. Установив 75 руб, заставляет платить всех нас платить пошлину за все товары бананы, джинсы или тоету.. а попросту воруя из нашего кошелька
Спрос и предложение ⚖️
↗️Покупатели формируют спрос
↘️Продавцы формируют предложение
_Обменные операции проходят по
определенному активу, по определенной цене, по определенному количеству, по другому называют объем
Агрессия — когда вы продаете / покупаете валюту большим объемом
Цена на валюту растет
, если агрессия спроса на валюту больше, чем агрессия предложения, то есть люди валюту начинают покупать валюту,
а также если агрессия предложения больше, чем агрессия спроса на противоположную валюту, то есть противоположную валюту начинают распродовать.
Цена на валюту падает
, если агрессия предложения на валюту больше, чем агрессия спроса, то есть люди валюту начинают распродовать валюту,
а также если агрессия спроса больше, чем агрессия предложения на противоположную валюту, то есть противоположную валюту начинают покупать.
Тоже самое и с ценными бумаги, срочным рынком.
Но есть виды заявок.
Поподробнее в этом видео ( смотреть 3 раза ) https://youtu.be/586x0jWfi38
(Фондовый рынок — это валюты, ценные бумаги и срочный рынок )
1:57:00 — для этих целей не обязательно создавать функцию: в объекте optimization есть поле minimize, куда мы можем передать флаг и в случае false минификация происходить не будет. Т.е. можно сделать так:
optimization: {
minimize: isProd,
minimizer: [
new OptimizeCssAssetsPlugin(),
new TerserWebpackPlugin()
]
}
Но т.к. мы указываем мод, в котором запускаем вебпак, то даже явное указание флага не требуется: вебпак по дефолту не минифицирует в девелопмент режиме. (https://webpack.js.org/configuration/optimization/#optimizationminimize)
Слушайте вы олухиесли центрабанк подчиняется мвф а не стране,о чем можно болтать.Для особо одаренных-ваш кошелек вытащили а вы кричите:»подождите,подождите у меня в кармане сотка завалялась,дайте доложу
Тоже что ль аналитиком стать?
Тогда так, скоро закончится пандемия, залетают самолеты, поедут машины, и доллар ваш обвалится до 54 рублей.
Так что кто не продал свои зеленые фантики еще, так уж и быть, могу купить у вас их по 60 рублей.
Большое спасибо за курс!
У меня вопрос. Вот мы в методе subscribe подписываемся на изменения store, подписка срабатывает абсолютно на каждое событие, т.е. на все виды событий.
При этом обновляются все аспекты представления ( обновляется заголовок счётчика, устанавливается блокировки для кнопок и устанавливается класс для темы).
При этом понятно, что каждое событие меняет только один аспект и все остальные действия по обновлению представления выполняются как бы в холостую.
Тут получается слишком много бесполезной работы. Если много кода, то на каждый чих весь код выполняется.
Это вообще нормально? Можно ли как-то подписываться только на конкретные события, чтобы обновлять только отдельные части представления, модель которых изменилась.
Получается, что в этом случае надо по обстоятельствам создавать разные store?..
Привет Zello! Я открыл много каналов Zello своих, и добавил много чужих каналов. Но, людей очень мало слышу. из 100% каналов, только пару % активны. А тут удалось поговорить на одном из каналов, хочу ЗАПИСАТЬ историю разговора. ОКАЗАЛОСЬ я не знаю как это сделать? Может подскажите?
в index.html для header прописываю style=»background-image: url(‘images/kartinka.jpg’)» и webpack при билде не загружает картинку в папку build/images В чем может быть проблемка? https://github.com/EvgeniyBudaev/webpack-html-backgroundImage/blob/master/webpack.config.js
Владилен, (пользуясь случаем) огромное спасибо за курс!!
Остался один непонятный момент:
на этапе (45:55), когда мы настроили webpack, чтобы он автоматом подключал js-файлы в шаблоне html,
у нас фактически поломался наш первоначальный шаблон…
Т.к. в первоначальном шаблоне у нас analytics.[contenthash].js подключался в хедере, а не в конце body…
Предположим нам это критически важно. Как сделать так, чтобы analytics.[contenthash].js (т.е. именно с хешем в названии) отдельно подключался в хедере?
Замечательный курс, который полностью раскрывает все настройки Webpack. Но к сожалению babel не получилось поставить вообще. (даже систему сносил из за этого).
npm WARN tar EINVAL: invalid argument, futime
Удалось только через yarn
И как понял эта сборка для верстки одной странички. А можно ли настроить так, чтобы верстать сразу несколько страниц через вебпак?
Не понял почему, но плагин copyWebpack отказался работать) Решение такое вышло:
new CopyWebpackPlugin({
patterns: [{
from: path.resolve(_dirname, ‘./src/favicon.ico’),
to: path.resolve(_dirname, ‘dist/favicon.ico’)
}]
})
Помогите решить проблему. При изменении js файлов при включенном webpack-dev-server в режиме hmr страница компилится как и должно быть, но в бразере отображается пустая страница. Приходится останавливать WDS и заново запускать скрипт npm start в таком случае страница рендерится как надо. В чем может быть проблема?
вместо того, что бы инициализировать subscribers как массив добавлять в него что-то а потом вызывать можно было бы сделать таким образом:
там где мы возвращаем методы:
subscribe: (callback) => {
subscribers = callback }, а в методе dispatch просто вызвать subscribe(). Это вроде как смотрится проще, да и зачем создавать массив в котором всегда будет лежать одна функция?
выражаю вам огромную благодарность за видео
По 100, по сто 136, всё это прогнозы диванных аналитиков. Люди послушали закупились по 80, а он скатился до 68. Никогла опытный трейдер не будет видео выкладывать, он на это не будет тратить время, он деньги на бирже зарабатывает, а не на просмотрах. А за дезинформацию, надо бы привлекать, ну или штрафовать.
Для copywebpackplugin:
new CopyPlugin({
patterns: [
{ from: path.resolve(_dirname, ‘src/favicons/favicon.ico’), to: path.resolve(_dirname, ‘dist’) },
],
})
//const CopyPlugin = require(‘copy-webpack-plugin’);
35:38 добавление хэшей к чанкам не решит проблему кеширования, надо ещё чтобы браузер валидировал index.html каждый раз. То есть одними хэшами в названии файлов эту проблему не решить, хотя бы в одном месте придётся настроить http-заголовки кеширования)
Много работы вложил в ролик поздравляю нас всех с 70 000 на канале!
На этот ролик получили закрытый доступ те, кто подписан на меня в телеграм и прошел тест от хранителя курсов:)
https://t.me/js_by_vladilen/206
Кто получил с поблемы при использование вебпака для копирования, попробуйте исправить конфигурацию так:
new CopyWebpackPlugin({
patterns: [
{
from: path.resolve(_dirname,’src/favicon.ico’),
to: path.resolve(_dirname, ‘dist’)
}
]
})
Если вдруг у вас не работает hmr для файлов less,sass,css.
Измените функцию filename
const filename = (ext) => {
if(ext = ‘css’){
return isProd? `[name].${ext}`: `[name].[id].${ext}`
}else{
return isProd? `[name].${ext}`: `[name].[hash].${ext}`
}
}
Если есть альтернатива подскажите
У меня не сработал предложенный вариант аттрибутов new CopyWebpackPlugin,
сработал пример с оф. сайта:
new CopyWebpackPlugin({
patterns: [
{
from: path.resolve(_dirname, ‘src/dirname’),
to: path.resolve(_dirname, ‘dist/dirname’)
}
]
})
В остальном всё шикарно, спасибо, наконецто сделал шаблон для разработки своих webgl приложений.
Должен сказать, спикер хорош, за видео спасибо, объяснил как всё работает понятно и на пальцах.
Но технология выглядит как редкостная дичь, и не понятно зачем именно всё это.
Если всё настолько сложно в таком простом приложении, в большом проекте наверное нереально будет найти все зависимости между файлами даже для самого простой функциональности.
было:
1 файл
37 строк
время написания готового решения 13 минут
стало:
4 файла
130 строк
3 библиотеки
расширение для браузера
время написания готового решения 50 минут
ухудшилась читаемость кода, увеличился объём кода
раньше чтобы добавить код, просто добавлял код в компонент
теперь:
1) добавить новый type в types
2) импортировать новый type в actions
3) добавить новый action
4) импортировать новый type в reducer
5) добавить код в reducer (собсно чего мы и добивались)
6) импортировать новый action в компонент
7) добавить вызов нового reducer через action
из плюсов:
1) код теперь выглядит так как сказал какой-то умный тип из фейсбука
2) у нас есть расширение, в котором мы можем следить за стейтом
Подскажите, почему при создании bundle.js файлу присваивается имя main.js, вот ссылка на скриншот https://pastenow.ru/9L05S. К слову в main.js находится нужный код, как на видео, только с названием проблема.
Спасибо, все видео очень информативны и актуальны! В целом подписываюсь под всеми хорошими комментариями))) готовилась к собеседованию по js по твоему видео очень помогло и утрясло в голове понятия) да очень хочется видео по jest или другой штуки для тестирования
что делать если run start не работает а выдает ошибку:
Content not from webpack is served from E:
ode-React-Angular\webpack-course-2020
i 「wds」: 404s will fallback to /index.html
events.js:292
throw er; // Unhandled ‘error’ event
^
40 лет минуло на земле
Как ты живешь на ней байгужин
Как всегда ты на коне
Ведь безумно девушкам ты нужен..
Пусть сей день подарит наслаждения!
Пусть злопопыхатели молчат
Нищебродам всей страны гоненья-
Ты установил закон опять!
Если глубже глянуть то тут суть
Не против бедности и нищеты
А против лени,и использования женщин..
Забота,чтобы их не обмануть
И уважение им даришь ты.
Инь ян должны на место встать-
И обучаться у байгужина семье без трещин!
Расти большой не будь лапшой)))))
За ушки тебя-рраз,два,три,….сорооок
action можно определить как правило, согласно которому изменяется state. То есть это формулировка действия, а не само действие. Правил, то есть actions, может быть сколько угодно.
Сами действия это dispatch action, которые выпоняет reducer.
Не знаю много пишут что всё отлично!Тут или люди смотрели,»вовремя».И всё по ходу скринкаста работало, НО ключевое слово здесь «работало».Это не в коем случае не гневный комментарий в адрес автора, тут скорей обоснованная критика.
Итак:
1)Владилен прекрасный разработчик, и хороший преподаватель, но практически во всех видео и платных и в открытом доступе ВСЕГДА, одни и те же грабли.Код пишется так что к концу видео или всё в итоге переписывается, нафига такое делать?Лучше сразу показать «best pattern code», и уже после выпустить дополнительное видео у кого времени навалом, и охота ковырять кривой не оптимизированный код.
3 часа матерь божья!3часа Карл!да я понимаю осветили нюансы, но блин ещё бы это работало, я так же понимаю что веб-разработка постоянно развивается, и сложно поддерживать актуальность информации.Но блин можно хотя бы на гитхаб залить правки с комментариями, это всяко быстрее чем переснятые видео, и его монтаж.
Я исходя из этого уже на середине, тупо писав код выписывая плагины и команды, чтобы уже по второму кругу пересмотреть данное видео сверяясь с документацией плагинов и библиотек.
2)В любом случае это адский труд, и кто хоть один раз снимал,монтажировал,рендерил, хотя бы обычный скринкаст, уже может понимать что это всё не просто(начиная от конфигурации компа, заканчивая своими знаниями)как говорится хотя бы план действий есть более того львиная часть на видел работала осталось разобраться в документации, и собрать конфиг.
В любом случае, огромное спасибо!В любом случае лайк!Здоровья вам и популярности, вашему каналу!
Ребят, подскажите пожалуйста. В компоненте [id] мы получаем данные перед рендером с помощью метода getInitialProps. Но у нас стоит задержка и мы передаем в компонент null и там обрабатываем его уже как обычно, т.е. отрисовываем данные на фронтенде. Но как эти данные появляются на сервере не могу понять? Мы же их рисуем из стейта реакта.
Лучший, чистая правда). Ненавижу нищебродов… Не встаёт на них). И бесят телки с яйцами)). Которые мечтают о бриликах, и не понимают почему им их не дарят). И спят в женатиками. Думая, что сами рулят. И их бросают, и их используют, и нихрена не дарят!!
Неистовый лайк тебе, человече!!! Деплой, расскажи про деплой, эта информация просто жизненно необходима. Не деплой на сервис типа Хероку, а на обычный кастомный сервер, чтоб совсем усложнить и развить идею на IIS!!)))
Друг мой, сделай, плиз, курс по системам авторизации (на реакте, например) токены, jwt, cokies, хеширование и все прочее.
Это будет топ контент на всем русскоязычном YouTube!
Можешь даже его запилить платным это однозначно будет стоить своих денег )
просто скажу в очередной раз спасибо тебе и плюс тебе в карму, мотивируешь стать лучше (прям как Sorax вначале (*_*) )?
вроде бы знаком с темой немного, но с удовольствием пересмотрел дабы погрузиться глубже.
Пробую запилить свое демо на next. И вот мои впечатления:
1. Долго! Вероятно потому что первый раз, но долго! Хотрелоад тормознутый.
2. Применение Material UI затруднено отваливаются классы хрен пойми почему.
3. Непонятная хрень с SASS. Препроцессор необходим не только для переменных это сильно жирно. Он нужен для структурной верстки, скажем, по бэм. Так вот неясно как применять вложенный класс. Например styles.header видит IDE, а вот вложенный класс &_wrap уже нет.
Конечно на чистом реакте я бы уже закончил реализацию этого демо еще днем. На нексте долбусь до сих пор. Че-то пока не впечатляет.
Привет, спасибо за видео! Подскажи пожалуйста, в момент работы с png при сборке получаю ошибку [./analytics.js] 578 bytes {analytics} [built]
…
[./assets/webpack-logo.png] 3.36 KiB {main} [not cacheable] [built] [failed] [1 error]
…
ERROR in./assets/webpack-logo.png
Module build failed (from../node_modules/file-loader/dist/cjs.js):
D:\Code\\Webpack Minin\webpack-2020.
ode_modules\file-loader.
ode_modules\loader-utils\lib\parseString.js:1
(function (exports, require, module, _filename, _dirname) {
На 25:10 запускается вебпак конфиг вводом команды webpack в командную строку. А у меня это не работает выдает ошибку
E:\Programming.
odeJS\webpack-course-2020>webpack
«webpack» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Если по-другому попробовать, то такая фигня
E:\Programming.
odeJS\webpack-course-2020>node webpack
internal/modules/cjs/loader.js:1068
throw err;
^
Error: Cannot find module ‘E:\Programming.
odeJS\webpack-course-2020\webpack’
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1065:15)
at Function.Module._load (internal/modules/cjs/loader.js:911:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
code: ‘MODULE_NOT_FOUND’,
requireStack: []
}
Что делать?
Код правильный, всё сделано строго по шагам, если че
Снимаю большой курс по созданию MERN fullstack облачного хранилища, по типу гугл\яндекс mongo, express, react, nodejs, redux, axios, возможно кому то будет полезно, затрагиваю большое количество аспектов разработки, буду рад вашей поддержке!!)))
фавиконка без patterns: не работает выдает ошибку возможно нововедение
нужно так
new CopyWebpackPlugin({
patterns: [
{
from: path.resolve(_dirname, ‘src/favicon.ico’),
to: path.resolve(_dirname, ‘dist’),
},
],
}),
люди граждане ) всегда держите свои сбережения в долларах и будете всегда испытывать радость видя как рубль падает ведь это будет значит что ваши сбережения растут в покупательной способности
держите сбережения в долларе всегда и никогда в рублях
у меня CopyWebpackPlagin заработал только так: new CopyWebpackPlugin({
patterns: [{
from: path.resolve(_dirname, ‘src/favicon.ico’),
to: path.resolve(_dirname, ‘dist’)
}
]
})
почему ошибка при переходе на страницу posts? Unhandled Runtime Error
TypeError: Failed to fetch. если ввести в адресную строку http://localhost:3000/posts и нажать интер ошибки нет и все загружается, не работает именно при переходе внутри, скачал исходник с гит хаб, ничего не менял
Владилен, большое спасибо за видео!
Со времени выпуска видео прошло совсем чуть чуть времени, но уже сборка проекта прямо из Вашего репозитария не работает выдает ошибку.
Лечится запуском npm update
Можно ли провести update так, чтобы обновились версии пакетов в package.json?
круто всё выглядит. индикатор загрузки и loading… Правда меня смутило что загрузка по сути пустого без дизайна сайта. что находится на локалхосте + основное всё грузит при первой загрузке. При этом такие долгие задержки между переходами? В чем проблема. Я видел гораздо быстрее сайты, с большим количеством текста и тдп. а тут ожидать надо долго
Владилен, огромное спасибо за хороший материал по NextJS.
Изложение ТОП4ИК.
С меня подписка+лайк+колокольчик.
Для меня этот курс хорошее знакомство с возможностями NextJS + наглядный практический пример функционала.
Повторил все, кроме TypeScript, так как пока не изучал его.
Результат радует глаза.
_
Хочу от тебя обучающий роллик по:
eCommerce + NextJS, либо связка CMS + NextJS.
Очень наглядо получилось бы на wooCommerce. Ведь это и eCommerce, и CMS (WordPress).
И вообще интересно твое мнение относительно связки eCommerce + SPA.
Насколько такая реализация имеет право быть.
Отличный видос, зашел на ура! Хотелось бы увидеть скажем Next JS Продвинутый курс, где можно было бы заюзать SSG, какую-то аутентификацию, возможно работу с кастомным сервером, или токенами. В общем порыться в нем еще больше. Однозначно лайк, колокольчик и коммент, спасибо за контент!
Просто уважение тебе! Все рассказал что хотелось услышать. И TypeScript затронул и про лоадер рассказал. Просто маст хев! Действительно невероятно интересная и удобная технология, буду теперь пользоваться. Спасибо за труды!
Сделай видео / статью про деплой node js + mongo db на какой-нибудь хост, тот же хероку или что-нибудь подобное (у тебя уже было такое видео). Как я понял, сечас млаб это часть монго атласа и на сам млаб зайти не могу, уже неделю где-то вот такое в консоли POST https://mlab.com/dologin?r= 404 (404). Или может альтернативную бд какую-нибудь знаешь
Если я чешу в затылке
Не беда!
В голове моей опилки,
Да, да, да.
Но хотя там и оплики,
Но кричалки и вопилки,
Но кричалки и вопилки,
А также:
Шумелки, пыхтелки и сопелки,
Сочинию я неплохо иногда.
Да!!!!
Хорошо живет на свете
Винии-Пух!
Оттого поет он эти
Песни вслух!
И не важно, чем он занят,
Если он худеть не станет,
А ведь он худеть не станет,
Если конечно…
Вовремя подкрепиться…
Да!!!!
Трум-пурум-пурум-пумпумпум!.
Владилен, IDEA (надеюсь и WebStrorm тоже) позволяет внутрь текстового литерала внедрить язык, чтобы там работала подсветка, автопродление и навигация. Надо нажать ALT + ENTER, выбрать «inject language or reference» и из списка выбрать язык. Я заметил, что Вы печатали css стили внутри текстового литерала, можете попробовать внедрить туда HTML язык, чтобы проще было печатать и демонстрировать?
спасибо огромное!!!! просто супер! много слышал про данный фрэймворк, но слышал что сложный и по сколку я новичок, то не решался его начинать осваивать. Благодаря Вам и Вашим трудам теперь сижу изучаю! Спасибо!!!!
Мне интересно, а как с помощью файловой структуры можно делать более сложные вещи. Например, у меня есть компонент, в котором табы. Каждый таб отдельный роутер. Сейчас я прямо внутрь рендерю их роуты и при переходе на табы контент изменяются только внутри. Реально ли тут это сделать так же легко?
Доллар, это бумага, которая живёт из-за войн устраиваемых США и их союзниками т. е. НАТО, ежегодно. Не будет войн, нигде и разрухи. Доллар упадёт до нуля, что хорошо и плохо, в разных отраслях и дейтельностях, одновременно. Это пиздец.
Главный минус всех этих курсов, что на видео в 3 часа уходит 6 часов, чтобы найти ошибки и как их исправить, и почти всегда непонятно откуда они берутся.
1:41:55 у кого не работает вставка favicon.ico, в CopyWebPackPlugin, там поменялся обьект, теперь выглядит так:
new CopyWebpackPlugin({
patterns: [
{
from: »,
to: »
}
]
})
Гений, Божество, Оракул 21 века
Учу реакт и не понимаю, что такое state и с чем его едят. После просмотра 7 минут видео понял зачем это нужно, в голове засуетился рой идей как эти знания можно использовать да и вообще прошло осознание своей тупости, а наступил катарсис прозрения
@Владилен Минин, нет ли желания записать урок (либо серию) по WebStorm. Основные возможности, настройки, плагины и т.п. Новичкам трудно разобраться и понять как все автоматизировать должным образом и максимально эргономично оптимизировать свое рабочее пространство. Тем более что в YouTube по запросу WebStorm ничего толкового не находится, а вопрос думаю многим интересен.
еще мне кажется не плохой вариант решение задачи выключения кнопок при асинхронном запросе это создать переменную loading и перед началом асинхронного экшена включать экшеном лоадинг в тру а в конце менять на фолс =)
обожаю Дениса и с удовольствием смотрю видосы. но вот у меня такой вопрос все время возникает… ладно если ты молодая, симпатичная… ты только за счет своей внешности и молодости можешь вертеться. а если ты некрасивая и обычная?просто вот самая обычная. даже если ты приведешь себя в невероятный порядок: и ногти, и волосы, и шмотки…но ты блин некрасивая. ничего не сработает. если только тебя не наградила природа просто с ног сшибаемой харизмой, но это редкость.
так и хочется в ответ сказать: насамом деле любая библиотека(фреймворк) это только лишь смесь обычных функций(если не учитывать все остальное). на безжалосное повторение «на самом деле ето обычная функция»:)
Топовый курс! Особенно понравилось, что разобрано много ошибок, которые могут встретиться при настройке кофигурации Webpack
Добавлю, что при установке некоторых пакетов возникали другие ошибки типа:
} catch {}
SyntaxError: Unexpected token {
Всё дело в том, что у меня более старая версия node. Если кто поймает такую ошибку, поищите на npmjs.com предыдущие версии пакета и поставьте его:
npm i название_пакета@версия
в начале видео когда мы обновляем состояние теряется(логично js перезапускается а состояние в нем же) и как мы решили эту проблему?) и как redux связан с этим?) а так спасибо за видео в конце понятно что redux отделяет состояние,логику, перерисовку(точнее советует так делать и дает методы для этого) но в начале запутано
Если неважно, как запускать скрипты (последовательно либо параллельно), то можна запускать цепочкой без установки `concurrently`. = () => {};
Я делаю таким образом
«`
«server:fake»: «json-server -watch server/db.json -port 3009»,
«dev»: «yarn run server:fake & ng serve»,
«`
компоненты (pages) мы обычно пишем так
«`
type PostType = { }
export const PostPage:React.FC
«`
Так кажется проще и наглядней.
Интересно использование redux тут. Мы берем с getInitialProps данные и прокидываем в стейт редакса и никогда не возвращаем с getInitialProps, чтоб иметь одну истину. Правильно ли это?
Пересели на GraphQL, а там вообще useQuery и useMutation поддерживают ssr, пропала необходимось вообще юзать getInitialProps, плюс евейтить в getInitialProps блокирующая операция. Если там сделать хороший таймаут, то мы будем видеть белое окно, пока все не прогрузится, что не очень
Интересует применение реализации Redux под Flutter. Хотя во Флаттере есть свои, более современные способы стейт-менеджмента, но к сожалению, в некоторых фирмах до сих пор юзают Redux, приходится подстраиваться.
странный канал. или я просто привык и не замечаю уже. огромная куча полезной информации в таком прекрасном изложении достойного автора и почти нет рекламы. но еще больше непонятно, почему при таком количестве хороших комментариев и просмотров так мало плюсов (палец вверх, как говорят).
1. почему loader без await? смутило конечно
2. а что он может еще кроме под веб? под декстоп? мобилы?
3. как убедить затятых фанатов писать на чистом реакте/реак натив / експерсс что next.js крутая вещь (не холивара спрашиваю ради)??? вот просто килер рецепт, нивкакую не соглашаются
4. поздравляю с юбилеем
5. по вебсокетам будет видос? особенно в плане «прервалась связь, сменился вайфай, айпи тот же а клиент уже начал офрмление в корзине ит.д…» очень интерисует решение таких бизнес-процесов
6. ты не упомянул что апи на релизе нужно деплоить на отдельный субдомен чтобы хеадеры/куки лишние не гнались, и без свагера выигладит неочень АПИ
7. я правильно понял что теперь next.js выбор професионалов и что он вполне юзабельный? а что-то было что не осилил на нём?
Я из Украины и немного поясню ситуацию с Крымом.
Обидно,конечно,что часть страны отобрали,но на территории Украины строятся лаборатории США,военные базы.
Крым готовая база для подводных лодок и господство над Черным морем.Вокруг России строиться все больше лабораторий и баз
Владилен, привет, возникла дилемма, что лучше использовать для приложения, хранилище данных на firebase или использовать апи, которые предостовляет next?
Обычно я использую Firebase, но хотелось бы узнать твое мнение.
Снимаю большой курс по созданию MERN fullstack облачного хранилища, по типу гугл\яндекс mongo, express, react, nodejs, redux, axios, возможно кому то будет полезно, затрагиваю большое количество аспектов разработки, буду рад вашей поддержке!!)))
Если всё же не заблокировать кнопку Async, как было озвучено в начальной версии задания, то при многократном быстром нажатии на неё (пока отрабатывается setTimeout и все остальные кнопки заблокированы), возникает любопытный эффект кнопки разблокируются уже при окончании первого setTimeout и, пока отрабатывают остальные они уже не заблокированы.
Мужик, спасибо. Ты делаешь просто огромное дело. Меняешь мир к лучшему и жизни людей. Спасибо за знания которыми ты делишься. Желаю тебе огромных успехов во всём. И ещё раз спасибо за ох*рительный контент на канале!
Привет, Влад, спасибо отличный видос для освежения памяти!
В последний раз писал prod-код за год до появления хуков. Короче, давно.
В связи с чем вопрос, когда можно и нужно использовать вместо редакса соотвествующий хук и контекст?
И насколько совместимы одновременно два подхода?
У меня не ставятся пакеты из гитхаба. Сначала пишет
C:\Users\…\Downloads\redux-course-2020-redux\redux-course-2020-redux>npm i
npm WARN rollback Rolling back readable-stream@2.3.6 failed (this is probably harmless): EPERM: operation no
t permitted, lstat ‘C:\Users\Cyber\Downloads\redux-course-2020-redux\redux-course-2020-redux.
ode_modules\fs
events.
ode_modules’
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {«os»:»darwin
«,»arch»:»any»} (current: {«os»:»win32″,»arch»:»x64″})
added 676 packages from 412 contributors and audited 747 packages in 17.873s
22 packages are looking for funding
run `npm fund` for details
found 20 vulnerabilities (16 low, 4 high)
run `npm audit fix` to fix them, or `npm audit` for details
А потом после npm audit fix
C:\Users\…\Downloads\redux-course-2020-redux\redux-course-2020-redux>npm audit fix
npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {«node»:»<8.10.0"} (current: {"nod
e»:»14.9.0″,»npm»:»6.14.8″})
npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules\watchpack.
ode_modules\chokida
r.
ode_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {«os»:»darwin»
,»arch»:»any»} (current: {«os»:»win32″,»arch»:»x64″})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {«os»:»darwin
«,»arch»:»any»} (current: {«os»:»win32″,»arch»:»x64″})
+ webpack-dev-server@3.11.0
added 24 packages from 20 contributors, removed 19 packages and updated 25 packages in 11.327s
Что можно сделать?
Добрый день) По мне так использовать JS в качестве SQL в главном потоке не рационально. Не для того он придуман был… Но вот прикрутить всё это безобразие в serviceWorker чтобы оно работало с indexedDB и соединяло поля сущностей было бы интересно. В вашей практике было подобное?
А я блокирование кнопок сделал иначе, в actions.js
return new Promise(resolver => {
setTimeout(() => {
dispatch({ type: INCREMENT });
resolver();
}, 2000)
});
а в компоненте index.js
[addBtn, subBtn, asyncBtn, themeBtn].forEach(btn => (btn.disabled = true));
try {
await store.dispatch(asyncIncrement());
} catch (e) {
console.error(e);
}
[addBtn, subBtn, asyncBtn, themeBtn].forEach(btn => (btn.disabled = false));
Потому что асинхронные операция возвращают обычно Promise и почему бы не воспользоваться async/await?)
Мне не понятно какую задачу решает redux-thunk. Ведь ровно тот же результат можно получить и без него. Вместо action creator asyncIncrement мы можем создать обычную асинхронную функцию
const asyncIncrement = async (dispatch) => setTimeout(() => dispatch(increment()), 2000)
и сможем ее вызвать где нам надо: await asyncIncrement(store.dispatch)
Такие функции можно хранить, например, в папке «store/services» (т.к. в них будет основная БЛ, то логично обозвать их сервисами), а синхронные экшены как и раньше в «store/actions».
Чем thunk лучше такого подхода?
ERROR in./index.js 3:45
Module parse failed: Unexpected token (3:45)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
Урок построен на устаревшем материале… Но в целом полезно, так как основы они мало меняются. Только важный момент нужно было упомянуть, что layout оборачивать нужно приложение в _app.js. А страницы по отдельности оборачивали в древние времена…
Денис, что скажешь о мужчинах, которые говорят Для меня главная цель семья
?
Почему они балбесы не понимают, что это не мужская цель и самообманываются?
Бабло у них цель должна быть и карьера! А не подгузники)))
Что-то у меня не сходится в голове с getInitialProps и тамошним req.
Мы проверяем с помощью if (!req) на сервере мы или нет и, если мы на клиенте возвращаем post со значением null и в таком случае в useEffect вызовется функция load с запросом к БД. А если на сервере, то просто отправляем запрос к БД.
Получается запрос к БД происходит одновременно и с клиента, и с сервера?
Изучаю реакт редакс, и дойдя до редакса очень все запутано, так сложно, вроде понимаешь как сделать но не до конца как будто зачем это всё, но ты своим видео хоть оно и не про реакт, мне так все обрисовал что я тут же разобрался в своем проекте что и как делается и для чего, спасибо тебе огромное за твой труд )
Денис,
В данном видио ВЫ пояснили, что с мальчиком обращалась мама плохо,
У меня сын, его папа всегда относится к нему плохо, унижая, не хвалит даже, если он заслуживает, я сыны всегда хвалила целовала ежеминутно,
папу я бросила, Слава Богу дошло, в основном БЛАГОДАРЯ ВАШИМ видио, НИЗКИЙ ПОКЛОН Денис тебе.
Ребёнку было на тот момент 14 ( ДА!, поздно твои видио мне попались..)
Сейчас ему скоро 16лет,
Сын с нормальной самооценкой, у друзей на высшем уровне, с девочкой любимой не умеет общаться, вечно хамит, потом: цветы извинения и т.д.
Видно, что у сына не порядок в душе…
Оочень нужен ВАШ совет, что мне делать???
Я поддерживаю, хвалю есть за что…
Посоветуйте, может ещё что-то.
Благодарю за ранее.
С УВАЖЕНИЕМ.