Tailwindcss сборка 2023.
30:41
Пікірлер
@armat_dt
@armat_dt 3 күн бұрын
Спасибо за уроки! Есть вопрос, можно ли использовать "autoLoadEntities: true" вместо "entity: [__dirname + "/**/*entity{.ts,.js}]" внутри конфига typeorm?
@user-en4eq4nm4e
@user-en4eq4nm4e 4 күн бұрын
Как запустить бэкенд?
@lets_try_js
@lets_try_js 4 күн бұрын
нужно смотреть видео, в котором я этот бэк писал)
@user-en4eq4nm4e
@user-en4eq4nm4e 4 күн бұрын
@@lets_try_js Можно пожалуйста, ссылку на видос. У меня есть исходники бэка, но не могу запустить. Пробовал через докер потерялся(
@shade-official
@shade-official 8 күн бұрын
Помогите 🆘 Если я вывожу в консоль isAuth, то выводит сначала false, а потом true. usestrict выключен.
@N0I0N
@N0I0N 17 күн бұрын
постоянно кидает меседж про то что пароль должен быть больше n символов. хоть 100 хоть 200 все равно меседж кидает. если убрать ету проверку - по запросу сервер 500.
@N0I0N
@N0I0N 17 күн бұрын
класс, три раза пересмотрел видео, пошел гпт скидывать все файлы, он сказал что в запросе я написал pasword а в коде везде password. разрабы инсомнии конечно тоже молодцы сделать настолько милипиздрический шрифт у запросов)))))
@N0I0N
@N0I0N 17 күн бұрын
покопался в настройках инсомнии. там можно поменять размер шрифта. столько всего нового узнал!
@brr3534
@brr3534 18 күн бұрын
Пароль можно с помощью той же class-transform библиотеки убирать в объекте респонса через Exclude декоратор, в сервисе потом используешь декоратор TransformPlainToInstance или plainToClass функцию вызываешь
@RomanArtemev-dm6cj
@RomanArtemev-dm6cj 19 күн бұрын
Делаю все как в видео, только у меня роуты и контроллеры в разных файлах, по итогу вместо ошибки валидации в консоли джейсон выводится во весь вьюпорт
@user-uk4ei5zj2b
@user-uk4ei5zj2b 24 күн бұрын
Скажите, а какую CMS вы используете после верстки? Спасибо
@khayalahatamova6879
@khayalahatamova6879 25 күн бұрын
Спасибо большое. Позновательно
@vi6Dim
@vi6Dim 25 күн бұрын
это лучшее что я видел, спасибо
@black_light
@black_light 25 күн бұрын
Столкнулся с такой фигней, что при смене пользователя axios продолжает отправлять в запросах токен от предыдущей авторизации, хотя в localStorage лежит новый токен. Авторизация проходит как положено, всё логинится, но на бэке в реквесте висят данные о старом пользователе. UPD: порешал через axios interceptors.
@alex_borisovic
@alex_borisovic 26 күн бұрын
Спасибо большое за такие видосы! Подписка и лайк по-любому. На 1:01:10 можно было и с flex контейнером xs:flex-col ( flex-direction: column )
@user-if5nm9iu5z
@user-if5nm9iu5z 27 күн бұрын
Подскажите, почему при отправке данных, у меня не приходит данные в телеграм бот, а открывается страница в браузере с php кодом?
@TsyganskiyPosol
@TsyganskiyPosol 27 күн бұрын
так нельзя делать секундомеры, таймеры, никогда не используй для этого макротаски типо setTimeout, setInterval. Почитай про event loop, без этого джуном не стать точно. Это абсолютно неточный вариант, например setTimeout просто гарантирует, что коллбек выполнится не раньше заданного вторым аргументом времени. Нужно ориентироваться на системное время с помощью методов new Date
@slava770_0
@slava770_0 29 күн бұрын
ничего не понятно
@vi6Dim
@vi6Dim 29 күн бұрын
спасибо за труд. Сделай плиз видео где будет: 1. база данных (mongo) 2. Сервер на Node 3. и фронт на React и небольшое приложение по добавление поста, удалению и изменению. было бы очень круто, и полезно такое посмотреть. а то приходиться собирать знания по частям. Там Mongo, там Node ...
@olegdoc3519
@olegdoc3519 Ай бұрын
Hi! Я бы на кнопку не вешал addTodoHandler , кнопка type="submit" , form className="w-full flex" onSubmit={handleSubmit} ЮЮЮЮ>>>>>>>>>>> const handleSubmit = (e) => { e.preventDefault(); addTodoHandler(); };
@black_light
@black_light Ай бұрын
Привет. Столкнулся с проблемой часового пояса на бэкенде (createdAt, updatedAt). Как ты решаешь эту проблему? Нагуглить ничего не удалось особо. Уже думаю заполнять эти поля из dto а не автоматом.
@VN1337
@VN1337 Ай бұрын
Надеюсь кому-то помог лично я не мог понять как это происходит //В коде проверки JWT (JSON Web Token) функция checkAuth принимает запрос (req), ответ (res) и следующую функцию (next). //Внутри функции checkAuth из заголовков запроса (headers.authorization) извлекается токен. Затем происходит попытка верифицировать (проверить) токен с помощью функции jwt.verify, используя секретный ключ, который хранится в переменной process.env.JWT_SECRET. //Если токен успешно верифицирован, раскодированные данные извлекаются из токена и записываются в объект запроса (req.userId = decoded.id). После этого выполнение передается следующей функции (next). //Если при проверке токена возникает ошибка, например, токен недействителен или его формат неверен, то возвращается JSON объект с сообщением "Нет доступа". //В случае, если токен не был предоставлен (отсутствие токена в заголовках запроса), также возвращается JSON объект с сообщением "Нет доступа". //В коде функции updatePost, которая используется для обновления поста, отправляется PUT запрос по указанному пути(/posts/${updatePost.id}) с данными updatePost. При выполнении запроса используется axios. ///В коде с использованием axios создается экземпляр instance с базовым URL для всех запросов. Также устанавливается опция validateStatus, которая возвращает true для всех статусов ответа. //В interceptor'e запросов (instance.interceptors.request) к каждому запросу добавляется заголовок Authorization с токеном, который берется из localStorage (window.localStorage.getItem("token")). //Таким образом, при выполнении запроса на сервер с помощью функции updatePost, axios автоматически добавляет заголовок Authorization с токеном из localStorage. После этого запрос попадает в функцию checkAuth, //где происходит проверка токена на авторизацию. Если токен верифицирован успешно, то запрос продолжает выполнение, иначе возвращается сообщение "Нет доступа".
@user-lm9nr4eo2f
@user-lm9nr4eo2f Ай бұрын
От души душевно в душу))))
@musicfan507
@musicfan507 Ай бұрын
Дайте исходники 😢
@Vinits-i
@Vinits-i Ай бұрын
Клааасс! Спасибо!
@Vinits-i
@Vinits-i Ай бұрын
Блиииин, как же круты последние минуты!! Ты спас мой проект, была та же проблема как раз во время просмотра этого ролика, но решить ее вапще не могла, пока не глянула тебя ❤ спасибо!
@postyron1um
@postyron1um Ай бұрын
Хочу поблагодарить за такой познавательный контент. Решил посмотреть так как диплом надо было писать, затянуло. Сначала много чего было не понятно, но много потраченных вечеров и вуаля, есть понимание что есть что. Очень хорошо объясняешь, возможно в будущем после диплома когда время будет буду изучать другие технологии по типу next по твоим роликами. Не забрасывай это дело, дай знание людям ❤
@juliaroza5075
@juliaroza5075 Ай бұрын
Отличное видео.Спасибо❤ Только вопрос, как паузнуть треккер?
@lets_try_js
@lets_try_js Ай бұрын
там переключатель вкл\выкл
@user-hruser
@user-hruser Ай бұрын
Ты можешь использовать типогенератлры для свагера и ненадо dto прописывать которые возвращаюься
@user-rn6dx5rc9u
@user-rn6dx5rc9u Ай бұрын
Подскажите пожалуйста, получаю такую ошибку (Cannot read properties of null (reading 'useRef')), на моменте, когда подключаем <BrowserRouter></BrowserRouter>. Второй день пытаюсь решинь проблему, но ничего не выходит. Прошу о помощи, спасибо!
@molniagrom3599
@molniagrom3599 Ай бұрын
Всё доступно просто👍 Заранее извиняюсь, может я невнимательный, а где конкретно ссылка на telegram канал в описании видео?
@geloszotack5434
@geloszotack5434 Ай бұрын
Прекрасно, всё понятно и помогает набить практику ! Единственное с чем не смог разобраться перестала отображаться страница входа и регистрации после добавления сервиса
@user-non-user
@user-non-user Ай бұрын
Спасибо за твой труд <3
@user-vp9qe7gh1h
@user-vp9qe7gh1h Ай бұрын
Спасибо Вам за проделанную работу, взял вариант на вооружение
@loreeltv
@loreeltv Ай бұрын
куда сложнее чем Express конечно) Там более интуитивно всё
@Ohhhnailsss
@Ohhhnailsss Ай бұрын
Спасибо Вам за труд, полностью просмотрела ролик, все понятно, наглядно, без воды
@evgeniyvronskiy2253
@evgeniyvronskiy2253 Ай бұрын
Слава Украине
@nk_77777
@nk_77777 Ай бұрын
Спасибо! Супер полезно)
@nk_77777
@nk_77777 Ай бұрын
Дай Бог тебе здоровья, бро!) Ну просто лучший)
@user-wo4mw5yk7h
@user-wo4mw5yk7h Ай бұрын
Не добавил ссылку на макет
@monst3rguy154
@monst3rguy154 Ай бұрын
Один видос тока??? Как так
@tigranoqroyan-qo4wg
@tigranoqroyan-qo4wg Ай бұрын
Просто огромный респект тебе 🔥 . Целый день искал способ, наконец то нашёл.
@lolashepota4050
@lolashepota4050 Ай бұрын
Well done!!! 👌❤
@elie3423
@elie3423 Ай бұрын
Thanks!
@user-ud7oo6es4b
@user-ud7oo6es4b Ай бұрын
у кого ошибка при подключении к бд, вынесите файл .env на один уровень с папкой src, то есть он должен лежать не в папке src, а на одном уровне с ней
@Adossya1
@Adossya1 Ай бұрын
Это гениально и так просто.
@mirgorods
@mirgorods 2 ай бұрын
Зі СтакОверфлоу Subscribing in a service: not really useful since a service is designed to hold a state, share this state and notify about state changes. A service is not designed to react to a state change Subscribing in the component: unsafe when the Observable never completes and you don't manually unsubscribe in ngOnDestroy lifecycle hook Let the framework subscribe for you (e.g: with async pipe). Safe because no risk of hanging subscriptions causing memory leaks. You can still expose a piped Observable to the template and perform various operations on component level thanks to the rxjs operators without risking any memory leak (even if the callbacks refer to this)
@user-ju8kx7fo8j
@user-ju8kx7fo8j 2 ай бұрын
Бро, ты лютый чел. Содержательность на высоком уровне. Вся база в этом видео) Много нового узнал. Удачи в развитии. Единственное, что бы реализовать логику получения чисто своих постов, у каждого поста же есть уникальный id автора, просто const myPosts = await Post.find ({author: req.userID}).
@lets_try_js
@lets_try_js 2 ай бұрын
есть более интересный стек на канале на эту тему )) nest.js + react.js
@user-ju8kx7fo8j
@user-ju8kx7fo8j 2 ай бұрын
@@lets_try_js Спасибо, я с него и начал, но ты там ссылаешься сначала на это видео) Очень странное наблюдение появилось, времени уже не мало прошло с того момента как ты снимал это видео, но вопрос, чисто с точки зрения оптимизации. Когда ты ты создаешь новый комментарий к посту на сервере, ты сначала создаешь новый экземпляр сущности Comment а потом уже берешь его _id и пушишь в массив к посту. Выходит у поста есть массив с _id всех комментариев, и в случае если нам нужно получить к ним доступ (получить все комменты), мы начинаем перебирать каждый _Id и и через Comment.findById(_id) вытаскиваем комментарии. И если в базе данных есть массив сущностей Comment, то с каждым новым findById(_id) мы начинаем итерацию этого массива с самого начала, и нам повезет если коммент с таким id будет находиться в начале списка, а если, комментариев 1000 то массив сущностей Comment будет перебираться по новой все 1000 раз. Но если допустить, наоборот, что у каждого комментария будет уникальная ссылка на тот пост, к которому он относиться, то тогда мы просто берем массив сущностей Comment и базе данных достаточно одина раз его итерировать, что бы вытащить все Комментарии которые относятся к тому посту для которого мы их вытаскиваем. Не знаю, понятно ли я объяснил, то, что имею в виду. Но я как то заморочился над этим, типо нагрузка на сервер и все такое. Хотя если база данных на то и база, что может алгоритмы поиска в ней работают не так просто как я это себе представляю. В общем спасибо, что даешь возможность подумать над такими вопросами. Просто пытаюсь рассуждать в слух. Может много чего я упускаю. Однозначно тебе лайк, смотрю уже 4й день твое видео) Долго доходит)
@lets_try_js
@lets_try_js Ай бұрын
@@user-ju8kx7fo8j ого, такого обширного коммента еще не было у меня)) я если честно не помню как у меня там было, так что сложно обсудить)) но то что ты пытаешься думать о о каких-то последствиях то это круто)) это отлично прокачивает обучение))
@kinokottv
@kinokottv 2 ай бұрын
подскажи а как скрыть путь к файлу
@postyron1um
@postyron1um 2 ай бұрын
2:38:45
@user-ox5fy1ev5g
@user-ox5fy1ev5g 2 ай бұрын
Извините, а CoutryItem откуда надо брать?