Данила Соколов
Данила Соколов
  • Видео 132
  • Просмотров 58 995
Frontend: Введение в React.JS, часть 4 - Разбор основ
В этом видео будет произведён повторный разбор теории по Reaсt с актуализацией информации на момент записи.
В ролике Будут затронуты темы:
- Компоненты
- Рендеринг компонентов
- Сравнение деревьев компонентов через состояния
- Классовые компоненты против функциональных
- Обработка ошибки рендеринга
- Хуки
- Пропсы (параметры компонентов)
- События
- Состояния компонентов
- useMemo
- useCallback
И многое другое.
Просмотров: 141

Видео

Продвинутый PHP: Основы Laravel - авторизация в монолитных приложениях MVC
Просмотров 419Год назад
В данном видео мы продолжим изучать основы Laravel, а именно, поговорим про Laravel breeze - библиотеку для организации авторизации в монолитном приложении.
Продвинутый PHP: Основы Laravel - монолитные приложения MVC
Просмотров 531Год назад
В данном видео мы продолжим изучать основы Laravel: - Поговорим про шаблоны и шаблонизатор Blade - Поговорим про компоненты и как их использовать - Научимся создавать формы и multistep-формы - Научимся работать с файлами.
Продвинутый PHP: Основы Laravel - JWT-авторизация
Просмотров 5 тыс.Год назад
В данном видео мы продолжим изучать основы Laravel: - Изучим, как можно использовать JWT через библиотеку JWT-auth - Научимся отправлять запросы с одного сервера на другой, используя Guzzle - Немного поговорим о пользе JWT
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 2 - отношения
Просмотров 375Год назад
В данном видео мы продолжим изучать основы Eloquent ORM в Laravel: - Основные отношения (1-1, 1-М, М-М) - Полиморфные отношения
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 1
Просмотров 479Год назад
В данном видео мы изучим основы Eloquent ORM в Laravel: - Фабрики - Tinker - Работа с данными через модели
Frontend: Введение в React.JS, часть 3 - Хуки
Просмотров 161Год назад
В этом видео кратко изложена теоретическая информация о нововведении React 16.8 под названием "Хуки". Кратко будут рассмотрены наиболее часто используемые стандартные хуки, рассмотрены принципы применения хуков из сторонних библиотек, таких как react-redux. Ссылка на презентацию: docs.google.com/presentation/d/1hyX65jDk60OIpcAe99Y7tIzmAUksuLI-zG3jw4L6e_c/edit#slide=id.p Ссылки из презентации: -...
Продвинутый PHP: Основы Laravel - Router&Middleware
Просмотров 269Год назад
В данном видео мы изучим основы Laravel: - Router - Маршрутизацию - Middleware - Посредники.
Продвинутый PHP: Основы Laravel
Просмотров 529Год назад
В данном видео мы изучим основы Laravel: - Контроллеры - Модели - Представления - Подключения БД И совсем немножко Eloquent ORM. Данное видео является вводным в рамках курса по изучению Laravel.
Продвинутый PHP: Основы ООП
Просмотров 771Год назад
В данном видео мы изучим основы основ применения ООП в PHP. Данное видео является вводным в рамках курса по изучению Laravel.
Introduction to software engineering: GIT
Просмотров 168Год назад
In this video, we'll break down what GIT is and how you can use branches.
Introduction to software engineering: wiki (redmine)
Просмотров 474Год назад
In this video we will look at how to create wiki pages to describe project documentation using redmine.
02.01.2023 - Kata Snorkling
Просмотров 108Год назад
02.01.2023 - Kata Snorkling
Введение в управление проектами - управление задачами
Просмотров 2,2 тыс.2 года назад
Введение в управление проектами - управление задачами
Введение в программную инженерию - GIT
Просмотров 1 тыс.2 года назад
Введение в программную инженерию - GIT
Введение в программную инженерию - документация в wiki
Просмотров 1,1 тыс.2 года назад
Введение в программную инженерию - документация в wiki
Backend: Введение в ASP .NET, часть 4: ORM и работа с БД
Просмотров 2 тыс.2 года назад
Backend: Введение в ASP .NET, часть 4: ORM и работа с БД
Backend: Введение в ASP .NET, часть 3: Сервисы и DI
Просмотров 1,6 тыс.2 года назад
Backend: Введение в ASP .NET, часть 3: Сервисы и DI
Backend: Введение в ASP .NET, часть 2
Просмотров 1 тыс.2 года назад
Backend: Введение в ASP .NET, часть 2
Backend: Введение в ASP .NET
Просмотров 1,8 тыс.2 года назад
Backend: Введение в ASP .NET
Backend: Введение в PHP, часть 7 - обработка файлов на стороне PHP (Формы и base64)
Просмотров 5972 года назад
Backend: Введение в PHP, часть 7 - обработка файлов на стороне PHP (Формы и base64)
Backend: Введение в PHP, часть 6 - обработка данных и защита от ошибок
Просмотров 7062 года назад
Backend: Введение в PHP, часть 6 - обработка данных и защита от ошибок
Backend: Введение в PHP, часть 5 - HTTP status codes
Просмотров 8732 года назад
Backend: Введение в PHP, часть 5 - HTTP status codes
Backend: Введение в PHP, часть 4 - авторизация по токену
Просмотров 4 тыс.2 года назад
Backend: Введение в PHP, часть 4 - авторизация по токену
Backend: Введение в PHP, часть 3
Просмотров 2,1 тыс.2 года назад
Backend: Введение в PHP, часть 3
Backend: Введение в PHP, часть 1
Просмотров 8 тыс.2 года назад
Backend: Введение в PHP, часть 1
Backend: Введение в PHP, часть 2
Просмотров 2,3 тыс.2 года назад
Backend: Введение в PHP, часть 2
Frontend: Введение в React.JS, часть 2 - практика (перезалив)
Просмотров 8212 года назад
Frontend: Введение в React.JS, часть 2 - практика (перезалив)
Frontend: Введение в React.JS, часть 1
Просмотров 1,3 тыс.3 года назад
Frontend: Введение в React.JS, часть 1
Frontend: Введение в Bootstrap, часть 1
Просмотров 4503 года назад
Frontend: Введение в Bootstrap, часть 1

Комментарии

  • @somebodycrazy
    @somebodycrazy 15 дней назад

    Добрый день. Спасибо за видео. Есть вопрос. Как правильно разделить web и api? Что бы авторизация через jwt работало и классическая, на сайте через форму. После установки jwt перестает работать авторизация через форму. В Гугле как то не особо много информации по этому поводу и у всех разное мнение...

  • @bladesquirtsize2541
    @bladesquirtsize2541 Месяц назад

    А что делать если у тебя нету файла api.php ?Вы его сами создаете или он у вас изначально есть ?

  • @wonderfulplanet-ts9hv
    @wonderfulplanet-ts9hv Месяц назад

    вы троллите и в чем он лучший? взял наклацал что то что понятное атвору на клиавиатуре сделал пару склеек и что он в итоге обьяснил*? зачем нагонять хвалебные отзывы?

  • @yura_taev
    @yura_taev 2 месяца назад

    Теперь нужен отдельный автомат для розеток под шторы😂

    • @danila.sokolov
      @danila.sokolov 2 месяца назад

      Нужно просто ремонтом заняться наконец-то дома и переделать не только проводку (о планы, планы), но и под себя уже стилизоваться всё :D

  • @sdsaasdasd4683
    @sdsaasdasd4683 2 месяца назад

    Очень грамотное объяснение. Все четко по делу, ни 1 лишнего слова

    • @danila.sokolov
      @danila.sokolov 2 месяца назад

      Большое спасибо за тёплые слова!

  • @TheFantazer
    @TheFantazer 3 месяца назад

    очень классно объясняешь, еще и все сразу с примерами. Спасибо огромное)

    • @danila.sokolov
      @danila.sokolov 2 месяца назад

      Большое спасибо за тёплые слова. Если найду силы, вернусь с новым материалом.

  • @Demimur186
    @Demimur186 5 месяцев назад

    Подскажите пожалуйста, а рест апи можно написать на чистом php ?

    • @danila.sokolov
      @danila.sokolov 4 месяца назад

      Конечно, можете посмотреть предыдущие ролики на канале, там в ту сторону есть некоторые кивки

  • @Shassdooit
    @Shassdooit 5 месяцев назад

    продолжайте записывать, отличная подача, звук и материал, рано или поздно залетит, не бросайте это дело!

    • @danila.sokolov
      @danila.sokolov 4 месяца назад

      В стол немного записано уже, надо бы силы просто собрать в кулак и доделать )

  • @learnwithyan
    @learnwithyan 8 месяцев назад

    Круть!

  • @Lisand-ql7jg
    @Lisand-ql7jg 8 месяцев назад

    зачем для получения метода используется функция ? Почему не переменная $method = $_SERVER['REQUEST_METHOD'];

  • @Евгений-щ3т4ы
    @Евгений-щ3т4ы 9 месяцев назад

    Вот класс! Самое лучшее объяснение! У меня вопрос, какой максимально простой подход выбрать для авторизации если весь фронт на вью?

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 9 месяцев назад

    Гуд! Спасибо. Было полезно.

  • @PuzuBlin4ik
    @PuzuBlin4ik 10 месяцев назад

    с 18 минуты какой то сумбур одному тебе известный

  • @kakao_with_milk
    @kakao_with_milk 11 месяцев назад

    Почему ролики не выпускаешь? очень качественный контент. Ждем

    • @danila.sokolov
      @danila.sokolov 11 месяцев назад

      В первую очередь курс записывался для моих студентов, а в этом году курс "продвинутый PHP" не включён в список специализаций на весну 2024. Однако, если есть запрос, возможно попробуем собрать ещё интересные для меня темы, которые пригодятся уже не в рамках моего курса, а для моих будущих и текущих стёжоров в компании, например. Компнём в глубь PHP (и не только?), пожалуй. А мы можете сказать, что думаете о такой идее.

    • @kakao_with_milk
      @kakao_with_milk 11 месяцев назад

      @@danila.sokolov было бы интересно ларавел, вот такие не стандартные решения как фильтрация и опции для товаров, что то вроде простое, но оптимальные решения.

  • @astrozeus
    @astrozeus Год назад

    Вроде неплохие уроки, но ёлки-зелёные - что ж так мелко-то!!! Приходится глаза напрягать, да и то, не особо помогает. Используйте масштабирование, как все делают. К тому же видно, что 90% экрана здесь просто пустует.

  • @astrozeus
    @astrozeus Год назад

    Вроде неплохие уроки, но ёлки-зелёные - что ж так мелко-то!!! Приходится глаза напрягать, да и то, не особо помогает. Используйте масштабирование, как все делают. К тому же видно, что половина экрана здесь просто пустует.

  • @AndreyAbramov-fm7kp
    @AndreyAbramov-fm7kp Год назад

    Просьба при записи делать побольше курсор мыши, а то он очень плохо заметен.

    • @danila.sokolov
      @danila.sokolov Год назад

      В более свежих видео делаю подсветку значимых областей.

  • @АртемийКонь
    @АртемийКонь Год назад

    Очень круто структурировал знания в моей голове. Ещё раз спасибо!

  • @zergzerg4844
    @zergzerg4844 Год назад

    А как JWT -токен обновляется, что-то я не понял? Типа там автоматом при каждом запросе проверяется токен и если близко к затуханию система его обновляет?

    • @danila.sokolov
      @danila.sokolov Год назад

      Я уже отвечал на этот вопрос в комментариях к этому видео, но могу повторить, мне не сложно. Access token, используется при запросах к серверу. У него есть два свойства: он многоразовый и короткоживущий - время жизни определяет разработчик. Где-то 10 минут, а где-то и 2 дня. Время выбирается на основании того, как используется сервис. Второй, refresh token, используется для обновления пары access и refresh токенов. У него тоже есть два свойства, обратные первому токену: он одноразовый и долгоживущий. Совсем долгоживуший, например целый месяц. Использование refresh более безопасно - при его использовании, старый refresh токен сразу протухает - значит им никто другой не воспользуется (злоумышленнык, который увёл токен, н не использовал, или же пользователь, у кого увели - тогда он прелогинится и получит новый refresh, убив тот, который у злоумышленника. Но вариант с протуханием у злоумышленника уже зависит от реализации и такого может не быть). Надеюсь вам стало немного понятнее.

    • @zergzerg4844
      @zergzerg4844 Год назад

      @@danila.sokolov Спасибо за ответ. Да я видел , что вы отвечали ранее, но мне из сообщения не понятно когда срабатывает метод обновления. Метод refresh постоянно проверят токен при каждом запроси и обновляет токены, если они близки к потуханию или же надо самому вызывать метод обновления?

    • @danila.sokolov
      @danila.sokolov Год назад

      Библиотека должна за вас всё решить в этой области. У токена же есть информация о его "сроке годности".

    • @danila.sokolov
      @danila.sokolov Год назад

      Но можно и вручную, вот выдержка из документации: $newToken = auth()->refresh(); // Pass true as the first param to force the token to be blacklisted "forever". // The second parameter will reset the claims for the new token $newToken = auth()->refresh(true, true); Документация: jwt-auth.readthedocs.io/en/develop/auth-guard/

    • @zergzerg4844
      @zergzerg4844 Год назад

      @@danila.sokolov Понял, спасибо большое за видео и ответ

  • @АртемийКонь
    @АртемийКонь Год назад

    Спасибо)

    • @danila.sokolov
      @danila.sokolov Год назад

      Всегда пожалуйста! Главное обращайте внимание на то, что версия ASP.NET в видео устарела и с моей стороны уже требуется записать совершенно новый курс - глубже, актуальнее... Однако для понимания основ видео всё ещё подходит :)

    • @АртемийКонь
      @АртемийКонь Год назад

      @@danila.sokolov ну чтож, вдруг появиться. Будем ждать😉

  • @Baerer
    @Baerer Год назад

    А как подключить MySQL сюда?

    • @danila.sokolov
      @danila.sokolov Год назад

      Что-нибудь вроде такого: server=localhost;port=3306;database=mycontext;uid=root;password=********" В конфигах, которые показаны на 01:30

    • @Baerer
      @Baerer Год назад

      @danila.sokolov Спасибо за ответ. Я уже решил проблему, надо было использовать options.UseMySQL() вместо SQLserver(). Целый день не мог понять...

  • @ekosandal
    @ekosandal Год назад

    Умеет ли redmine создавать релизы/версии?

    • @danila.sokolov
      @danila.sokolov Год назад

      Можно использовать механизмы системы для того, чтобы настроить такой функционал. Опишите, как вы хотели бы это использовать (как теги?), я подскажу, как это можно сделать.

    • @ekosandal
      @ekosandal Год назад

      ​@@danila.sokolov , спасибо за ответ! По сути, мне нужно что-то близкое к тегам. А использование планируется такое: _ У меня есть несколько задач для внедрения функционала-1 и ещё несколько задач для внедрения функционала-2. Причём второй пакет задач во многом зависит от пакета-1. В джире для этого есть релизы: мы создаём 2 релиза, например, с версией 1.1 и 1.2. Задачи функционала-1 получат версию 1.1 и будут реализовываться в его ключе, а задачи функционала-2 уйдут в версию 1.2. _ Причём, если после реализации задач появится ошибка, требующая исправления - мы сделаем задачу, у которой будет 2 поля: 1. Актуальная версия, 2. Версия исправления. _ Соответственно, таким образом можно даже несколько лет спустя разобраться в переплетениях задач, если они нормально документируются. Мне тема очень интересна.

    • @danila.sokolov
      @danila.sokolov Год назад

      Вопрос понял, вот мой ответ. Мы внутри команды, на реальных проектах делаем так: - Внутри настроек проекта есть раздел "версии", где, по сути, можно сделать буквально то, о чём вы говорите. - Также, в теории, можно использовать словарь "категории задач" - внося туда версии, но мы его используем по назначению и делим на условный фронт / бэк. - Также, можно просто завести кастомное поле для задач и туда указать список допустимых значений, которыми и будут ваши версии. Я бы или вариант 1 или 3 использовал ;)

    • @ekosandal
      @ekosandal Год назад

      Сохранил в избранное. Спасибо большое за развёрнутые ответы! : Первый вариант скорее всего имено то, что я и искал.

    • @danila.sokolov
      @danila.sokolov Год назад

      Всегда пожалуйста. Мне не сложно :)

  • @mclotos
    @mclotos Год назад

    А зачем, если есть sanctum?

    • @danila.sokolov
      @danila.sokolov Год назад

      Можно и так, конечно. Но в плане лекций у меня был разбор именно JWT. Тем более, что у наших партнёров спрос на такой подход высок, поэтому и акцент именно на нём.

    • @mclotos
      @mclotos Год назад

      @@danila.sokolov прикольно. просто я думал, что все и так умеют пользоваться JWT, ему же уже черт знает сколько лет. А учитывая, что он перестал обновляться пару лет назад, то на текущий момент его вполне можно признать мёртвым =)

    • @danila.sokolov
      @danila.sokolov Год назад

      Ну так это курс по PHP с нуля. Разумно предположить, что есть много людей, кто первый раз в жизни сел за веб-разработку и они вообще не представляют, что это за зверь такой. В основах PHP вообще был видео про Bearer-токены, которые просто в БД висят, чтобы в целом обучить токенной авторизации. Так что я не претендую я вселенские тайны или bleeding edge технологии в видео : ) Но для начинающих должно быт полезно.

    • @danila.sokolov
      @danila.sokolov Год назад

      А насчёт "мёртвым", тут поспорю. Цель видео не столько про конкретный пакет поговорить (он скорее для удобства), сколько о том, чтобы рассказать про сам JWT, который явно не мёртв, т.к. это специфичный подход к авторизации, который сильно отличается от обычной Bearer-авторизации, т.к. снимает необходимость серверу стучаться в БД каждый раз для валидации прав доступа. А это довольно важный момент в работе множества высоконагруженных систем.

    • @mclotos
      @mclotos Год назад

      @@danila.sokolov ,боюсь, что пока начинающие поймут всю мощь jwt, он уже окончательно уйдёт в историю =) Я просто сам программирую уже лет 20 и последние лет 5 иногда читаю бесплатные лекции по 1 семестру в разных колледжах по СНГ. И поэтому мне приходится следить за всеми последними трендами и отфильтровывать всё устаревшее. JWT пока держится =)

  • @МихаилЧерноусов-ю7ъ

    Спасибо большое 😊

    • @danila.sokolov
      @danila.sokolov Год назад

      Всегда пожалуйста же. Надеюсь вам хоть немного помогло.

  • @jongolovin
    @jongolovin Год назад

    Авторизация по токену, но зачем в базу то его записывать и ходить каждый раз в нее? JWT же есть

    • @danila.sokolov
      @danila.sokolov Год назад

      На эту тему есть отдельное видео. А вот в рамках текущего как раз показываются основы основ, для тех, кто ещё не разобрался с темой достаточно, чтобы оперировать JWT.

  • @Ролтун
    @Ролтун Год назад

    Пока некогда смотреть

  • @AliceLee123
    @AliceLee123 Год назад

    Здравствуйте. У вас отличный урок, но вот впал в ступор при запросе. В ответе выводит такую ошибку "Method Illuminate\Auth\RequestGuard::attempt does not exist. " . Много ресурсов перебрал, но понять не могу с чем связано. Буду благодарен за ответ. p.s видимо ошибка в том, что я использую lumen, так как там не поддерживаются session, но в документации указано использовать этот метод 'attempt' . Стоит ли мне использовать что-то иное?

    • @danila.sokolov
      @danila.sokolov Год назад

      Ну, если рассматривать саму ошибку, то обращаться к методу attempt у RequestGuard 100% не имеет смысла - он там не объявлен. Возможно в той документации, о которой вы говорите, предлагается attempt вызывать у экземпляра другого класса? В целом, если в документации чётко прописано использование attempt, я бы просто запустил поиск по коду вашего проекта и посмотрел, у какого класса / классов объявлен данный метод. И от этого уже бы думал, в чём может быть ошибка. Скорее всего нужно просто у другого объекта вызывать данный метод.

    • @AliceLee123
      @AliceLee123 Год назад

      @@danila.sokolov, Благодарю за ответ. На всякий случай, если будет у кого такая ошибка , напишу причину. Посмотрев на ошибку при обращении к методу Auth::attempt выводит requestGuard::attempt does not exist. Я перешёл в этот класс и посмотрел что выводит метод guard. У меня выводил api guard, хотя в файл bootstrap/app я добавил конфиг jwt. После чего я удалил этот конфиг и перешёл в папку vendor/laravel... и поменял в конфиге на драйвер jwt. Api guard не предполагает такой метод как attempt, вот и результат.

    • @danila.sokolov
      @danila.sokolov Год назад

      Вот, провели небольшое изучение ситуации и всё получилось. Увы, это типичная задача программиста и очень здорово, что у вас всё получается.

  • @GoshaLebowski
    @GoshaLebowski Год назад

    Именно когда ты применяешь эти статусы к базе они не хотят появляться. Пишет ошибку mysqli и всё сам json пуст

  • @AndriyNahornyi
    @AndriyNahornyi Год назад

    Очень качественный ролик. Спасибо за труд!

  • @arta4649
    @arta4649 Год назад

    node в openserver есть?

    • @danila.sokolov
      @danila.sokolov Год назад

      Базовые модули Apache: 2.2.31, 2.4.38, 2.4.41, 2.4.54 + auth_ntlm, fcgid, xsendfile и др. PHP: 5.2.17, 5.3.29, 5.4.45, 5.5.38, 5.6.40, 7.0.33, 7.1.33, 7.2.34, 7.3.33, 7.4.30, 8.0.22, 8.1.9 Bind: 9.16.32 FTP FileZilla: 0.9.60 Ghostscript: 9.56.1 Nginx: 1.23.1 + ssl_preread, image_filter, geoip, geoip2, brotli и др. NNCron Lite: 1.17 Sendmail: 32 Так что нет. Ну и опенсервер всё же для PHP / DB исторически нужен. Для ноды можно и lifeservr внутри visual studio использовать. Хотя и для PHP тоже можно, в целом.

  • @Tornado-ln7fq
    @Tornado-ln7fq Год назад

    Да дела,может попроще. <?php $pathUrl = 'web/index.php'; Путь нашего сайта. function index(){ include('index.html');Функция подключения странички сайта } if($pathUrl == 'web/index.php'){ return index();Вернет функцию подключения странички сайта. } else{ echo '404'; Если адрес не совпадает } Грубо конечно без регулярки,и проверки, но в целом где то будет так.

    • @danila.sokolov
      @danila.sokolov Год назад

      В видеолекции разбирается совершенно другой случай - как формировать ответы о сервера в формате JSON. Подключение статичного *.html файла задачу не решит.

    • @Tornado-ln7fq
      @Tornado-ln7fq Год назад

      @@danila.sokolov Это только пример. Чтоб новички не боялись ))

  • @vitekvk
    @vitekvk Год назад

    Спасибо, стало понятно что за заерь такой этот ваш JWT.

    • @danila.sokolov
      @danila.sokolov Год назад

      Надеюсь ещё и пользу какую-то принесёт это знание :)

  • @Pahan282
    @Pahan282 Год назад

    Крутое понятное объяснение азов ларавел, спасибо!

    • @danila.sokolov
      @danila.sokolov Год назад

      Спасибо, стараемся хотя бы поверхностно пояснить за фреймворк, чтобы те, кто +/- разбирается в PHP мог повысить свой уровень.

    • @Pahan282
      @Pahan282 Год назад

      @@danila.sokolov Я курс на Skillbox по ларавел прохожу, вот там вроде как подробно объясняют, но в памяти как-то не остается что да как. А в этом видео прям посмотрел, повторил, все понял)

    • @danila.sokolov
      @danila.sokolov Год назад

      Ну всё, пора на скиллбокс :D

    • @Pahan282
      @Pahan282 Год назад

      ​@@danila.sokolov да ну его. Есть пара нормальных курсов. Верстка, GIT, карьера разработчика и базовый PHP. Все остальное такое себе. Про React вообще молчу, там версия реакта 16 или 17, соответственно на 18 версии код из лекций тупо не работает. Планируют обновить к концу года)

    • @danila.sokolov
      @danila.sokolov Год назад

      Ну, это больше шутка была. На самом деле, все ресурсы уходят на нашу школу (hits.tsu.ru/), куда-то ещё влезать смерти подобно. Ну, помимо основной работы, само собой. А за скиллбокс - солидарен, смотрел пару курсов изнутри. У нас по реакту тоже с коллегой есть курс, но в виде ютуб-лекций от нас мал что осело. У нас в целом все предметы больше про "практический опыт", то есть пощупать руками и с преподами подискутировать. Как показывает опыт - результат более высокого качества выходит. Но при должном желании, можно и наедине с книжкой научиться чему угодно.

  • @МакаренкоКонстантин

    Лучший урок по JWT!

    • @danila.sokolov
      @danila.sokolov Год назад

      Спасибо, очень приятно!

  • @Evgeniy_12
    @Evgeniy_12 Год назад

    огромная благодарность за уроки по бекэнду! Очень мало годного на просторах ютюба!

  • @Ролтун
    @Ролтун Год назад

    Ну хз

  • @Pahan282
    @Pahan282 Год назад

    Хорошее видео, спасибо! Я в данный момент делаю облачное хранилище на чистом PHP для обучения. И как по-моему вы в прошлых видео сказали, что клиенту нельзя доверять. В таком случае перед загрузкой файла на сервер можно ли как-то узнать его расширение и размер, не обращая внимания на мета данные, которые прислал клиент о файле?

    • @danila.sokolov
      @danila.sokolov Год назад

      Всё, что у вас есть, это данные, которые расположены в заголовке запроса. Так что, опираемся на них. Ну а вообще, в худшем случае, вы можете получить данные и провести валидацию на стороне сервера и уже принять файлы, или же отклонить и вернуть ошибку.

  • @ДмитрийМартышев-ц5у

    Спасибо за ролик!)

  • @-anonim-3008
    @-anonim-3008 Год назад

    Спасибо большое, вполне доступно и понятно. Небольшая просьба, кто называете видео, сразу раскрывайте его название, а то я сначала подумал, мол не дадите определение сервисам. С нетерпением жду новых видео!

    • @danila.sokolov
      @danila.sokolov Год назад

      Постарался принять к сведению, насколько возможно ;)

  • @wanilashow5663
    @wanilashow5663 Год назад

    Здравствуйте,как можно локально развернуть базу данных?

    • @danila.sokolov
      @danila.sokolov Год назад

      Да, конечно можно. Устанавливайте любую по вкусу прямо у себя на ПК. Если лен возиться, можете просто установить готовый пакет, вроде ospanel

    • @welcomebrat
      @welcomebrat Год назад

      Пользуюсь open serves

  • @of_youtube
    @of_youtube Год назад

    У меня на работе уродский проект, но стараемся выровнять его так: контроллер, в нём медиатр, в медиатре сервисы (+сервисы могут вызываться и в сервисах)

  • @independentx1
    @independentx1 Год назад

    Самое вменяемое объяснение в русском сегменте ютуба, автору большое спасибо!

  • @РусланПолищук-б9л

    Спасибо большое, вчера вечер просидел, после просмотра, за минуту нашел, где затык!

    • @danila.sokolov
      @danila.sokolov Год назад

      Приятно слышать, надеюсь у вас обучение дальше пойдёт без проблем : )

  • @АлексейСоловьев-о9д

    Гарик Харламов вылитый

  • @borisaleksandrovskiy1962
    @borisaleksandrovskiy1962 Год назад

    Отличный курс.

    • @danila.sokolov
      @danila.sokolov Год назад

      Спасибо за отзыв. Увы, можно было снять и лучше - писалось в спешке, без сценария и не в лучшем состоянии здоровья. Но если вам помогло разобраться в основах, то я очень рад.

  • @borisaleksandrovskiy1962
    @borisaleksandrovskiy1962 Год назад

    Отличный курс! Спасибо за работу!

  • @aleksandrmekanin1965
    @aleksandrmekanin1965 Год назад

    Здравствуйте,будет ли данный курс продолжаться ?

    • @danila.sokolov
      @danila.sokolov Год назад

      Добрый день! Не уверен, что буду продолжать - материалы писались в качестве дополнительных материалов в нашей IT-школе. Но ест вероятность что мы рано или поздно выпустим новый курс, отснятый более качественно.

  • @nikitagureenkov
    @nikitagureenkov 2 года назад

    Данил, невероятно круто. Весь интернет перерыл в поисках подобной инфы. И вот за час все по полочкам. Спасибо большое! Очень приятно слушать. Лайк и подписка!

    • @danila.sokolov
      @danila.sokolov Год назад

      Спасибо за развёрнутый отзыв, очень приятно! Данная серия видео писалось в качестве дополнительного материала для нашей IT-школы и, к сожалению, можно было снять и лучше - писалось в спешке, без сценария и не в лучшем состоянии здоровья. Но если вам помогло разобраться в основах, то я очень рад.

  • @synthwave_chad
    @synthwave_chad 2 года назад

    на 50-й минуте всё таки чутьё подсказывает что лучше тем же методом, что Вы и делали на прошлом видео когда сепарейтили url (тогда это было $urllist = explode('/', $url);) тут точно так же с токеном просто это будет массив из двух элементов $tokenList = explode(' ', $tokenList ); и второй элемент ($tokenList[1]) уже будет тот самый токен без bearer

  • @synthwave_chad
    @synthwave_chad 2 года назад

    ".\ outers\\" . $router . ".php" И так "./routers/" . $router . ".php" У меня так сработало с точки директория начинается домашняя, иначе функция route не запускается