
хорошее утро в понедельник сегодня мы собираемся
сделайте немного кода, где я ткнул
вокруг
добавьте некоторые функции рефакторирования приложения, которое я
и мы собираемся сделать это с помощью
темы, и эта тема является функцией
состав, который мы собираемся не только сделать
но II будет пытаться
показать много этого
Я mpj, и вы смотрите веселую забаву
так что мы будем делать
сегодня, точнее, пара
недели назад
был запущен забавный забавный форум,
главная награда patreon для патронов удовольствия
веселой функции, вы можете проверить
информация о том, чтобы стать
patreon патроном, нажав там вас
не должны быть патроном Вам нравится
этот эпизод — это всего лишь
полностью необязательно, но это
контекст, поэтому есть этот забавный форум
спокойный, и это дискуссионный форум, чтобы он
имеет действительно отличный API и в
Раздел проектов проекта ddddd нет, он находится в
FFF meta, так что это кто-то имел
идея кого-то
у него есть имя Валис, которое
у четырех членов была идея, что мы можем
есть карта , где все члены из
код форума, если они хотят разместить себя
на карте мира, и на самом деле он выглядит
построил его, и это похоже на этот вау
есть много людей, это очень новое
это было похоже на молоко вчера и хорошо
хорошо, поэтому у этого есть эти оверлеи, это я
как хороший лосей, который является чем- то, что вы
как правило, говорят в городе, в котором я
здесь Теодора в отпуске по уходу за ребенком
фрикадельки на моем столе ИКЕА и здесь
люди в вас
что это даже то, что это такое
страны я не для этой работы я
отбросив
самый счастливый API, поэтому он работает так
потому что это так сделано, но так весело с тобой
перейдите в свой профиль на передней панели для
он и здесь теперь я добавил пользовательский
поле в этом курсе называется hackable
Джейсон, так что будет, если ты станешь
данные здесь, чтобы вы посадили Джейсона здесь и это
данные будут доступны на этом
конечная точка здесь это общедоступная
конечной точки, которую любой может
так что это всего лишь Джейсон в JSON
объекты, привязанные к именам пользователей, поэтому мой
имя пользователя здесь, вы видите как карта пользователя
карта расположения долготы
и это похоже на супер враждебный ADA I, если
вы смотрите здесь, как будто у людей есть
мы пытались атаковать скрипты
внутри них, поэтому, если вы используете этот make
Обязательно продезинфицируйте свои входы и это
не значит, что я на самом деле сказал
люди здесь, чтобы включить данные JSON здесь
заключается в том, чтобы сломать приложения других
членам настоятельно рекомендуется преподавать
люди дезинфицировать свои входы на
ссылка на этот большой комикс xkcd, который
о маленьких столах для бобби вы делаете
действительно назовите свой робберский стол для вашего сына
студентам x это хорошо, но это
является то , что на самом деле не то , что мы
сегодня поговорим об этом, как вы
смотрите здесь это форум Automator на
Heroku — это действительно хакерский проект, который
Я просто очень быстро бросился во время
во время ночи
потому что одно из вознаграждений за
ранние покровители птиц — это то, что если вы
стать покровителем в течение 31-го из этого
месяц, что означает
Я не знаю дат, которые я смотрел в своем
календарь до четверга — последний день
вы получаете эту специальную партию, которую никто
else, позвольте мне показать вам один пример
скажем, ягненка, здесь у него это
специальный навсегда член Вечности, поэтому пусть
я покажу тебе, что я просто пойду
некоторые пойдут, чтобы представить себя просто
выберите кого-нибудь здесь, посмотрите на пальцы Шан
здесь так заметите, что Фэн Шан
этот особый вечный член вечности
значок, и это только люди, которые
присоединяйтесь к августу, они получают это, и это
что оказалось, что не было
функциональности внутри этого курса до
сделайте это автоматически, чтобы мы были просто
щелчок и назначение этого вручную для
каждый новый член, который был просто сумасшедшим
потому что так много людей стали покровителями
и присоединился к форуму, я умер, но мне нравится
было намного больше, чем мы ожидали, так что это
оказалась огромной кучей работы, поэтому
Я просто программист, у нас есть код этого
и вот почему я, почему я оказался
строить этот форум Automator
а затем, когда кто-то спросил, есть ли
точка интеграции построить это
эта функциональность карты я просто бросил это
вместе, потому что я полагал, что это будет
весело, потому что людям очень легко
строить новые вещи поверх этого, так что
то, что мы собираемся делать сегодня, — это вы
обратите внимание, что это введение
нить, так что это тема угрозы, что мы
я посылаю людей к этому так в
Спасибо за страницу для patreon, которая говорит
что ты должен в первую очередь тебе
следует сделать, это пойти во вводный
представите себе тему о развлечениях для
форум и напишите немного о
себя, это просто очень мило
что делать, и это здорово, но что
Я хотел бы сделать
здесь есть дополнительный значок, в котором говорится:
введен и привязан к знаку летучей мыши
к этому во вводный пост и я
подумайте, что вы можете это сделать, потому что есть
blah blah blah давайте посмотрим, посмотрим, как
это работает, если я это сделаю, если я это сделаю
вручную
давайте просто отправимся на забавный забавный форум спокойно и
давайте войдем в админку клик администратора
см. патчи хмм, как мне это сделать, может быть, я
заходите к пользователю, и я иду на значки здесь
возможно, о, нет, я должен щелкнуть здесь admin
Я думаю, что значки Эдди видят, что вы можете сделать
API-интерфейс значка API dodge reason oh yeah this
это то, что вы можете
может назначать значки, а затем вы также можете
назначить причину, которая является ссылкой на
сообщение или тему, поэтому давайте сначала создадим
значок, который мы хотим присвоить
люди , которые представились
так введенный введенный и значок
серебро всегда золото, я полагаю
группа другое описание дольше
описание, и это значок, который
вы автоматически получаете, когда вводите
себя во вводной ветке
тема, которую вы знаете как в дискурсе
потоки называются темами, но я не могу
заставляй себя сказать, что я так привык к
старый PHP BB и vbulletin мир, где
они были, но что бы вы сделали
call threads Я всегда помнил это
meme hey guys, что происходит в
нить эти, эй, ребята, что происходит
по этому другу
эй, ребята, что происходит, что это
даже о, это так, да, ладно, так что теперь я
думаю, у нас есть немного о
Орион истинный гусь, нет, я этого не сделал
пока я был на вкладке неверном длинной
описание Я не чищу его долго
описание uh, которому нужно долго разрешено
значок, который будет использоваться как заголовок, так что это мы
не нужно, что может быть предоставлено несколько
раз не уверен, что официальная страница Bertram
да показать сообщение о присвоении значка на значке
какая какая ставка предоставляется на ваш бейдж
страница да да, мы хотим, чтобы это
целую идею, и мы также хотим включить
значок не отключен в
потому что этот курс
это безумное количество злодеев, которые я действительно
как значки по умолчанию, и они застенчивы
поэтому я отключил их всех.
представил восклицательный знак на некоторых
Я собираюсь создать iPhone, но
это не то, что мы собираемся делать сегодня
потому что мы хотим , чтобы добраться до кодирования либо
Давайте попробуем присвоить значок для
этот человек, где был откровенный блеск
голубой подбородок, я иду к его имени пользователя
ой
нажмите « Я имею в виду», а где- то
значки введены значки Я хочу
назначить причину такого взаимодействия
давайте найдем сообщение взаимодействия, используем
себя и это прекрасно Фэн Шан сделал
это, как найти ссылку на
сообщение это да давайте нажмем эту нагрузку
один
и я поместил это, и я даю ему
Давайте посмотрим , как это выглядит сейчас эта
о да, это как обновления, которые очень
хорошая особенность с этим курсом сравнена
к ужасам, которые являются youtube
система комментариев о том, что вещи обновляются
автоматически, поэтому, если я нажму здесь, я приду
к вступлению да не самое приятное
Я думал, что поток будет приятным
Раньше я, если я нажму, ввел, я иду
это и есть причина, но в
но я хочу, чтобы это было
разумно простой способ, если кто-то
написал введение, рассказывающее немного
немного о себе Я хочу других членов
чтобы найти эту статью
достаточно легко, не делая все виды
магии, и эта вещь, я думаю, это
делает работу, но снова я не хочу
сделать этот маленький танец каждый
пользователя, поэтому мы будем автоматизировать это
используя перед этим мотиватор, что мы
использование для всех вещей вещей две вещи
на самом деле , но это будет третий в настоящее время
Я собираюсь показать код только немного
но сначала мы поговорим о
немного, как мы это сделаем, так что если
Я перехожу к API здесь, это сразу
покажу вам, что мой секретный ключ API
которые я буду регенерировать после этого
видео , так что да в любом случае это не там , где
мы смотрим, что мы смотрим в Интернете
крючки здесь, и поэтому этот курс имеет это
где вы можете настроить веб-крючки
который он будет публиковать для публикации данных на каждый
время что-то происходит на форуме
кто-то публикует что-то
их профиль, все, что угодно
это этот веб-крючок здесь, и я могу
ознакомьтесь с некоторыми полезными нагрузками здесь и
возможно, я могу в этом надеяться
ничего секретного это не является
пост создала вещь, и это новый
пост от Кристиана, и
написано, он предположил это ему
отправил видео в качестве части
веселого форума приветствовать видео много
происходящего
сегодня воскресенье, где я
записывая его в воскресенье, поэтому, если вы
видя это , слишком поздно быть в
видео уу жаль об этом , но это
как он пишет этот огромный JSON blob для
к веб-крюку и этому веб-крючку
это так стояло здесь для модератора schwarz
Веб — работа и что работа , которую мы будем
чтобы взглянуть сейчас, так что это
код для веб- крючка, если вы привыкли
выразить это не будет выглядеть особенно
странный Экспресс — это приложение
вещь для того, чтобы
Заметьте, что это добавляет много полезного
функциональность поверх ванильного узла it
имеет множество парсеров JSON и ранних
кодирования материала и обрабатывает через
домен происхождение вещи ценной бумаги , которая
инвалиды там и да тому подобное
это полезно, что это не стандарт
здесь от обычных установок Экспресс
что вы видите эту функцию переноса здесь
что уши позволяют мне немного подпрыгнуть, потому что
Я делаю инъекцию зависимостей здесь
[Музыка]
Посмотрите на индекс, см. рэп, так что это называется
выражайте пение, и все, что он делает, это
чтобы позволить мне использовать синхронный
функций, а не нормальных
запросите ответ, чтобы я мог сделать вес
здесь , если вы хотите проверить синхронизацию
весовые функции Я сделал эпизод на
что на прошлой неделе или два нет нет недели
перед этим в любом случае вы можете щелкнуть по нему
но свяжите его, наконец, если я нажму
там я собираюсь пройти через это
немного, но я замечаю
здесь, что он не работает, у меня есть это
вещь, которая проверяет правильность
его запроса действительны, но дело в том,
это значение запроса, которое на самом деле является
функции, которая должна быть передана
запрос, но прямо сейчас я просто
проверить , является ли оно ложным,
никогда не будет, а затем маршрутизируется, так что это будет
никогда не попадайте, потому что запрос действителен
всегда будет существовать, потому что это
, поэтому нам нужно это сделать, но не
прямо сейчас
почему бы вам не сделать так, чтобы этот код
действительно ли это позволяет мне закрыть это
боковая панель заключается в том, что она примет сообщение aa
скрыть webhook, как вы видите на форуме
в разделе webhook см., что это
место назначения
получает все данные, и это
проверит заголовки для этого.
специальный заголовок, называемый X дискурсивным событием
поэтому, если пользователь создал его
вытащить имя пользователя и создать
из тела пользователя полезной нагрузки
он собирает данные в месяц
а затем только назначить spatch для
люди, которые присоединились в августе
то я жестко закодировал эту специальную
навсегда идентификатор партии здесь вызов
почему я был ленив в то время, и да, я
не ленился, я был время эффективным
так или иначе
Я называю эту функцию здесь знак значок
и он принимает объект объекта позже
с именем пользователя и идентификатором партии и
проходит в этом специальном идентификаторе партии навсегда
и как только это будет сделано с назначенным
значок делает консольный журнал, говорящий
научный проект для каждого знака сделать вас
имя пользователя, а затем он отправляет статус в порядке
если есть ошибка, которая затем
будет console.log ошибка, а затем
будет выполнять статус ответа 500, он делает
больше материала здесь , но вы знаете , что мы
пренебрегая тем, что для краткости
времени я , вероятно, поставлю это
поместите это на github, чтобы вы могли
можете посмотреть на него, если я решит сделать это
ссылка находится в описании эпизода
на что мы будем смотреть, — это посмотреть
внутри знака здесь, так что давайте откроем
это вверх и давайте увидим знак Значок Wow
Я использую вас, если вы поете Visual
Код студии, если вам интересно, что
редактор Я использую Я не особо
рекомендую или не рекомендую
просто редактор, который я использую, мне нравится, что он
вам нечего устанавливать
просто работает очень хорошо из коробки
и это это назначенный значок
функция может выглядеть немного
фанки, если вы не привыкли к инверсии
потому что я немного
инъекция зависимостей здесь, если инверсия
контроля — это новая концепция для вас и
особенно если вы этого не сделали
JavaScript или, может быть, совсем нет
проверьте мой эпизод на инверсию
нажмите здесь .
описание эпизода, но только для
кратко сообщите вам, где вы хотите
то , что я здесь делаю, что это сделать
значка здесь здесь не
Функция значка создает назначенный
значка после того, как вы пройдете его
так, как вы видите здесь в этом
эта функция здесь зависит от этих
две функции, поэтому для этого требуется
ACE на двух, и ему нужен дискурс
API в порядке для того , чтобы функционировать
он также не нуждается в ошибке , если все в порядке , но что
что это не имеет никакой стороны
эффекты или состояние или конфигурация
варианты, поэтому мы просто требуем этого
не нужно вводить, пока эти
два нужно ввести, я собираюсь показать
вы, как это работает
Джин Жан Джин, если ты
посмотрим, давайте найдем назначенный значок так
здесь мы создаем назначенный
значка, поэтому на самом деле это
назначенная пакетная функция, это не
фабрику или все, что вы хотите назвать
вот так это знак значка это
то, что мы называем ошибочным файлом, является тем, что
мы здесь говорим, поэтому вы видите здесь, что мы
требуют знакового знака, который будет
фабричной функции, а затем мы передаем
двух зависимостей в этой функции, поэтому
и они определены в другом месте, поэтому это
их все равно передают здесь
здесь происходит то, что мы делаем
Тело это то , что вы должны
сообщение в API дискурса в
для присвоения значка есть пользователь
имя и идентификатор партии и давайте посмотрим
в документации, что я сделаю это
фактически док
оценки API и круглых значков здесь присваивают
пользователь бакалавра , я думаю, это так
это система документации, которую они
я точно не знаю, что это такое
это фанки, нет, Cece ты такой, как он загружает
все это, и я думаю, что это
серый, потому что он не загрузил
документация пока никто не знает, что
эта система документации — это
открытая спецификация API, ожидающая там
наконец , назначить о ваших пользователей есть так
он имеет три три параметра: имя пользователя
строка и пакетный идентификатор и в и
то есть последняя строка, поэтому я
предположим, что это — ссылка на
post yeah, так что в любом случае он создает это тело
и затем он сообщает, что да, это тело, как
примыкает к
дискурс пользователя PIL плохой JSON, поэтому
что делает эта функция, так это то, что она
фактически созданный принимает этот путь API и
то это фактически скважины на HTTP
funfun forum comm slash, а затем он также
добавляет ключи, которые вам нужно
позвольте мне показать вам, что функция
быстро, так что вы видите здесь, что просто
текстовая база — это путь, который получает
и затем он заполняет строку запроса
который из этого объекта запроса, где мы
этот ключ API и этот API
имя пользователя, и это также точно соответствует
такие же, как и другие функции
у него также есть зависимость
имеет вложенные зависимости, см.
ее выборка — это не на самом деле
требуется здесь, это
и я также вводю ключ API
и базовый граф в функцию as
как зависимость, поэтому конфигурация
зависимостей в этом курсе, ваш I
URL API дискурса, а также выборки
[Музыка]
щелкнув, где был я, о да, мы
были в значке, поэтому после него
это касается того, что в конечном итоге это будет
за исключением случаев, когда все в порядке и без ошибок
хорошо, это очень простая функция, позвольте мне
прыгай в то, что он просто берет его
принимает эту функцию, которая принимает
ответа, а затем один раз, если
статус ответа не в порядке
но о, я добавил грязный логин
консольный журнал, который будет перемещаться только
бросает ошибку, иначе
больше разрешает ответ и
это в основном то, что делает подписанный
и это является частью этого
функция трубопровода здесь, на Рам де
вероятно, будет очень запутанным
вы, если только не увидите мое видео
на новые эхо- скрипты или предлагаемое эхо
оператор сценариев, о котором мы говорим
трубопровод и компоновка, вы можете мне
теперь вы можете скачать много видеороликов, но
вы можете проверить это, я
вы можете найти его здесь или в эпизоде
описание это довольно круто, но что это
делает то , что он сочетает в себе
эти функции в одну, а затем и
затем возвращает его , то мы будем иметь
много работаю с этим сегодня, я
думать о том, где начать делать мы
начните снизу и расширьте это
знаковый знак или мы начинаем вверху
вы знаете, я думаю, что мы хотим начать
наверху
oh wait wait wait, поэтому я собираюсь пойти
вернуться в службу, которая является экспресс
самого приложения и dddd dddd, поэтому мы
это пользователь создал событие, которое мы хотим
посмотрите на сообщение, созданное мной
как узнать, как именно это событие
выглядит, и самый простой способ сделать это
на самом деле просто убедитесь, что это так происходит
Я просто буду делать грязную вещь здесь говорят
которые представят себе, я собираюсь создать
Ответ Здесь я тестирую и API
интеграция вещь не против этого тоста
О, ответ, и тогда мы будем прыгать
вернуться в админ к веб-крючкам и
затем перейдите в этот журнал сетевых крючков и
найти запрос здесь, это должно быть
один, и что кто-то был действительно быстрым
это то, что мы и делаем.
смотреть и идти, чтобы быть понятным
здесь, как ясно, безопасно или что-то идет
вставить это в файл, и я пойду
взять полезную нагрузку здесь, я собираюсь вставить
что здесь вниз, чтобы у нас это было
и я позвоню
example host создал txt и
и если мы посмотрим на это, мы увидим, что это
имеет это сообщение о событии X-дискурса
так что давайте начнем с кражи
с которым можно столкнуться, и это много
байтов операторов if
mmm — возможно, превратите это в переключатель позже или
то, что я знаю
иначе, если хмм я потерпел крушение
о, давай насквозь на нем, а потом мы скользнем
возьмите и возьмите это здесь, вот это
приложение до сих пор было построено очень
быстро, так что это очень грязный взлом, мы
может добавить немного вас начать
добавив немного модульного теста к этому
приложение, потому что оно становится сложным
быстро это то, что с модульными испытаниями
вы вид, когда вы супер стресс
и вам нужно что-то вытащить
быстро вы, как правило, хорошо себя чувствуете
приложение это да эта простая вещь
это не значит, что это не
сложный, я не просто один
путь мне не нужен, я могу проверить его вручную
на данный момент , а затем он получает брутто в делах
сложных вещей очень быстро, это просто
почти всегда лучше просто добавить
модульные тесты с get-go или вы просто
сэкономьте так много времени, в любом случае я этого не делал
что давайте посмотрим , как это выглядит
хорошо, так попросите пользователя пользователя blah, которого мы хотим
вы не знаете, что это не
это не право пользователя, это что — то еще
это сообщение, так что сообщение содержит материал
круглые квестовые посты, поэтому у нас есть
после оплаты
Я не согласен с левым и Const
здесь тоже — наша камера разрывается
весь Const вид прямо сейчас, когда
Я просто делаю свои собственные проекты, в которых я
лицо, в котором я использую, много пугает, потому что я
просто хочу, чтобы мне нравилась идея не
изменчивость, но это не так, как будто они
совершенно непреложный, и мне нравится идея
просто имея одно ключевое слово переменной
sidenote um при переходе между файлами
много здесь жаль, люди пойдут и
проверьте данные здесь, что это такое, что мы
хочу, чтобы мы посмотрели, если это сообщение
прежде всего, если это сообщение в
тема введения темы
могу ли я увидеть, какая тема слизеть Oh awesome
вот на самом деле это здорово
тема slug здесь представиться не
думаю, что это изменится, это не
отраслевое программирование, которое мы делали
в их волосах, но см. введенные
ввели, да, мы ищем
такие темы, как медленный, были правильной темой
slug да, если темы сообщений slug
представиться, тогда мы собираемся
сделайте то, что тогда мы знаем, мы знаем теперь
что у нас есть вступительный пост, поэтому мы
хотите создать пакет для пользователя, который
создал его
поэтому нам нужно, чтобы имя пользователя
пользователь, чтобы начать с его
да, это прямо здесь очень удобно
только имя пользователя
pom pom pom мы можем начать добычу
они как переменные, фактически, имя пользователя и
нам нужен журнал тем, которые мне не нужны,
так что теперь мы можем начать
используя эту функцию Я жду знаковый знак
жаль ждет знака ах, так жаль, что я
просто прыгаю как белка
подписанный значок, и я собираюсь закрыть это
знак, чтобы мы не были
отвлекся Я собираюсь назначить
имя пользователя, и мы назначим
пакетный идентификатор, который вы знаете, что я просто собираюсь
жесткий код, который также позволит найти
пакет, который я создал до того, где он
intro refresh
нашел это, и это ID 104 копирует это и
вставьте его, давайте держать его здесь на данный момент
фактически разрешить введение
Идентификатор значка равен 104 Я вставил его здесь и
мы теперь хотим передать также ссылку
к самому сообщению здесь, поэтому мы
нужна причина, и это связано здесь
пост графа , но это пока не существует так
нам нужно выяснить, где
потому что , где , где , где , где , где
где где так давайте посмотрим на пример
Тейлоу, который я захватил до этого
есть ссылка здесь где-то
bla bla bla bla bla bla no есть
там нет обработки, и это делает
Я полагаю, но есть идентификатор, поэтому мы
может построить почтовую ссылку I
предположим, давайте посмотрим, как они
структурированы, давайте найдем эту ссылку здесь
давайте скопируем эту ссылку извините за
Шведской операционной системы, а затем
вставляя его здесь, хм, хорошо, есть
много материала в этом хмм хорошо знаете
что это такое 23, поэтому я ожидал там
быть, чтобы стол существовал, но я не знаю
точно, что это такое, это сообщение
слово это 23 да, это
сообщение 23, что произойдет, если я начну удалять
вещи здесь, если я возьму это, и я удалю
что то , что происходит, о нет, нет, это не делает
не работать
сообщение id 5624 сообщение номер 27
это номер сообщения, так что мне нужно
номер сообщения и верхний бит здесь
Идентификатор темы нам тоже нужен, и мы
нужно тем долго я , хотя я могу
допустим, если я прокручу вниз
здесь и я копирую этот компоновщик, и я двигаюсь
это вы, пользователь mpj, мы, вероятно, не хотим
это угадывание, если я просто удалю тему
slug здесь действительно не нуждается в этом
работать
нет, я добавил, что сам по себе давайте
на самом деле просто попробуйте снова сделать
конечно, да , это просто какой-то поиск
двигатель оптимизация вещь это делает
выглядит хорошо, поэтому мне нужно извлечь
идентификатор темы и номер сообщения и
который будет работать как работа для графа
поэтому у нас есть первое число и
Идентификатор темы под вашим подчеркиванием, чтобы я был
просто собираюсь повесить такой поддельный идентификатор и
бог, я помню, как золотая рыбка
номер там, куда мы идем, и граф Эрл
собираюсь удалить это, нам не нужно
этот журнал для его работы, и мы не
нужно, чтобы и я, и я собираюсь сделать
это то, что называется шаблоном
буквальная штука в любом случае, я могу сделать
вставлять переменные и строку как это
и идентификатор темы сначала, затем сообщение
номер go вы думаете там нет там
это пост Эрл, я собираюсь уйти
этот жесткий код в настоящее время это не
слишком плохо это не будет
разработчик года не волнует
мы собираемся добавить тест на это, но я
не я это я большой на больших тестах
первый
во многих ситуациях, когда у меня есть контроль
над всей функцией, что она делает
Мне очень нравится делать TDD, но в
такие случаи, когда я так неопределен
API, я, как правило, обнаруживаю, что
это лучше хэширования, что это такое , что
вы делаете, и как только вы выясните
как это работает, лучше добавить добавить
потому что вы просто не знаете
вещь достаточно хорошо , чтобы сделать тест авансом
в любом случае, однако есть случай
здесь, если тема slug не вводится
сами мы не хотим ничего делать
с этим мы не заботимся об этом.
конкретные сообщения, созданные событиями, мы не
заботиться обо всех других постах в
мир, поэтому мы просто собираемся вернуться
статус 200 нести на нем много
дублирование этого прямо сейчас в этом
кода, поэтому нам нужно будет сделать
что-то об этом, в конце концов, ах, но
если вы новичок в моем канале, вы будете знать
что я большой, ожидая много
перед удалением, потому что
что позволит вам увидеть общий
более четко, и это позволит
вы должны сделать гораздо более общий
решение, чем если вы преждевременно
обобщается как только вы видели , как два
дублированные экземпляры хорошо um
следующий шаг следующий шаг следующий шаг, который вы знаете
что я думаю, что следующий шаг
на самом деле разбить это и получить его
и проверить его, но я не
супер уверен, что то, что интерфейс
должно быть
Я бы сказал, как мы предполагаем, что это
была функциональной функциональной группой, и мы
собираюсь назвать это круто, это что-то
как создатель сообщения, созданный, я думаю, pom pom
pom pom, и поскольку это завод
функция должна быть фабрикой
потому что он имеет зависимости
это зависит от знаковой партии , поэтому мы
должны делать инверсию контроля и
вводите его, если вы не знаете, почему вы
собираюсь понять, почему в немного
когда мы пишем тесты для него
см. , скажем, общий левый может
созданный дескриптор сообщения, и у него есть несколько
зависимостей у него есть назначенная партия
и я думаю, что это единственная зависимость
и фактическая функция будет иметь
подпись, в чем он нуждается, имеет
введение ID внутри себя и я
Думаю, мы сможем сохранить это там, это не
необходимо настроить, это не будет
реалистично изменить пост Earl it
это само по себе нуждается в
username ему нужен идентификатор темы, и он
требуется номер хоста, и он также нуждается в
тема, чтобы узнать, должна ли она
должен назначить пакет, если он
находится в и в представлении себя
из этого в представлении себя
тема хорошо, поэтому аргументы — bum bum
bum bum bum bum
ему нужно имя пользователя, которому нужна тема
slug ему нужен номер сообщения, и он
нужен идентификатор темы, это то, что мы
работа с этим — это функция, которая
мы будем писать Я на самом деле вы
знать, что я сейчас собираюсь скопировать
здесь сначала я собираюсь просто вставить его
как комментарий, чтобы дать нам ссылку
реализация того, что мы строим
один раз, пока мы пишем тест и
Я собираюсь выскочить из этого файла и
это скопировать его , и я собираюсь создать
новый файл Я вставляю его здесь
так что мы получим подсветку синтаксиса
и вы можете это увидеть, но я называю это
обрабатывать сообщение, созданное dot js, так что теперь
здесь, что это тоже получается немного
беспорядочный
Я держу его грязным, пока не получу
принял решение о структуре, которая имеет смысл
Я не пытаюсь структурировать слишком много
фронт Я жду, пока структура
сливайте немного, иначе вы
просто поместите вещи в немые структуры
которые трудно изменить позже в любом случае я
собирается обрабатывать сообщение, созданное dot test
точка J s будет делать только тест мокко
здесь, чтобы начать тест мокко О
не висеть на ручке сообщений , созданных и
мокка делает эту вещь, где ее
функции в рамках функций и
то мокко-тест выглядит так
точно так же, как я просто хочу увидеть мокко
потому что у меня нет мокко в
место здесь не должно терпеть неудачу теперь подтягивать
терминал, поскольку Visual Studio имеет
встроенный терминал Я собираюсь сделать npm
install save Я собираюсь package.json
[Музыка]
и мы собираемся добавить сценарии, которые я собираюсь
к испытанию вы не добавляете Boca может я как раз
сделаю это, я думаю, что мокка будет просто
найти материал с тестом-испытанием OPM
не найти шаблонов для сопоставления тестовых файлов
тест, давайте сделаем, как звездная точка, и тест
джаз нет да, что сработало
давайте держать его , как что теперь
причина, по которой я создал это тестирование npm
что я не устанавливал мокко локально i
просто установил его в
приложение, поэтому, если я наберу его курильщика
не будет работать, потому что это не в моем
однако, когда я это делаю ,
он в сценариях npm здесь будет иметь
доступ к мокко в контексте
запускать это, потому что
внутренне это очень удобно, и это
неплохо не устанавливать рынок
глобально в любом случае, давайте закроем. У меня есть
много вещей, открытых здесь, позвольте мне закрыть
некоторым не нужно, чтобы не
не заслуживают в тот момент, когда я собираюсь
сохраните это круто, поэтому у нас есть сообщение
кредит он не должен терпеть неудачу, потому что это
просто некоторые тесты дерьма, которые я собираюсь сделать
что делать
мокка не смотрю, что я делаю, что это не
работаю, эй, мне нужно исправить картину
Джейсон поблагодарить вас, посмотрим, давайте попробуем это
NPM тест сейчас классный, я думаю, он работает
каждый раз, когда я перехожу к файлу так, чтобы
так что так, так что я делаю, о, пусть
дескриптор сообщения создал функцию, которая
мы тестируем, мы будем требовать его
это импульс создан и давайте иметь
настроить здесь перед каждым, чтобы это выполнялось
перед каждым переходом на каждый тестовый пример и
у нас будет созданный дескриптор
помните, что это на самом деле
фабрика , создающая почтовый стол
функций, и я собираюсь назначить вид
конечно, созданный с ручкой make first
создал вызов, а затем мы пройдем
зависимостей, так что когда мы
собираюсь использовать это и реальное
приложение , которое мы собираемся пройти и
реальные зависимости Я помню только
зависимости, которые мы на самом деле имеем здесь
назначается пакетный бомбо-бом и знак
это зависимость, потому что это будет
имеет кучу пучков побочных эффектов и
бум бум, поэтому мы собираемся подделать это
поставьте знаковый пакет, и мы собираемся
нужен Зенон Зенон — вещь для насмешек
функции, поэтому давайте посмотрим, как sanam требует от меня
думаю, что достаточно много аварий
потому что санам не установлен, так что
нет, поэтому я много делаю здесь
то я не обязательно трачу много
времени, объясняющего, если у вас есть вопросы
вы просто публикуете их в комментариях вниз
ниже есть также большинство, у нас есть
персональная ссылка на дискуссионную тему
об этом эпизоде на фронте на форуме
если вы покровитель, где вы можете
задавать вопросы о nitty-gritty да
помните, когда вы задаете вопрос
убедитесь, что вы ссылаетесь на время
что люди точно знают , где вы, что
вы спрашиваете о
синий синий синий синий
все правильно, см. нет, требует, чтобы вы знали, как
ты делаешь это, я думаю, что это просто
я видел на стопоре, иногда я помню
вещи, и я называю это знаком, так что я
подпишите это к зависимостям, так что теперь мы
иметь как фактический пост сообщения, созданный
и когда мы вызываем этот дескриптор
сообщение создано, что мы тестируем здесь
это просто холодно, давайте просто позвоним
это и посмотреть, будут ли теперь действовать ах НПМ и
BM- тест и создание рукописного сообщения
это не нормально, давайте посмотрим на
код теперь это правда, потому что мы
не экспортировать его, чтобы я знал, что вы
больше экспорта Joel dot
потому что созданные механизмы не могут совпадать
против неопределенного или нет, о да
поэтому создается сообщение, созданное им
объект, и он не в нем , а не
получение объекта, который становится неопределенным
поэтому нам нужно передать объект, а теперь
он работает так, чтобы мы получили химическое вещество.
добраться где-нибудь
но мы смотрим на наш эскиз здесь.
хотите, чтобы он вызывал знак с этим
здесь, так что давайте посмотрим на это вызовы
знаковая партия
и мы хотели назвать его с
имя пользователя, с которым мы прошли, мы можем начать
с этим с именем пользователя, переданным так
Давайте назовем дескриптор сообщения, созданный с помощью
имя пользователя с именем пользователя и
то мы пойдем к тому, что нам нужно даже
Больше
Попробуй это
хорошо все в порядке попробовать это , кажется,
улучшилось, так что знак ожидает макета
заглушка знакового знака, как это работает
и сезон ожидает ах, да, ожидайте мудрых
ширина трюма , что я думаю , что это
аргумент и объекты, которые я назвал, должны
быть вызванным с этим
ожидаемый шлейф для вызова с
аргументы
что это, хотя не было, нам не нужно было
на самом деле назовите его так, чтобы тест работал
назначенный значок Мне жаль знак сигнала
подписывать имя пользователя и теперь он работает
хорошо, мы добиваемся прогресса, мы также хотим
он должен передать мне, называя его
пакетный идентификатор 104
я просто собираюсь испечь эти
свойства вместе с правильным
свойства сделать пакет ID 104 okay
мы видим здесь, что теперь он терпит неудачу
красиво, что о, это неверно
мы вызываем его с каким-то именем пользователя, но
это похоже на то, что вы называете это периодическим
ID 104 и обычно в некотором имени пользователя мы
нужно исправить код бесполезно здесь
Идентификатор народного значка, и он проходит мимо
заключается в том, что мы хотим, чтобы это обеспечило причину
правильно, это должно выглядеть так, как я.
отправьте пасту, чтобы проверить причину и
он хочет, чтобы у него был идентификатор темы и тост
номер да, так что если мы назовем это,
ID раздела 5 или 5 и пост номер 66 он
следует назначить причину 5-5, а
пост № 66 круто и это провал , как
ожидается, что мы вернемся к коду и сделаем
реальная вещь здесь
идентификатор темы и номер столбца
эта вещь здесь и, конечно же, мы
необходимо также указать причину
объект, и теперь Пэт говорит, что я классный
прямо сейчас у нас есть оператор if здесь
мы не хотим выполнять назначенный значок
если темы не есть
представитесь, поэтому давайте обязательно
что он не называет знаковый знак, если
Неправильный журнал тем мне нравится
загладить не в описаниях
потому что людям трудно заниматься
с отрицанием, поэтому он делает это
это намного реже для вас
ошибки, если вам нравится вызывать
отрицание Я бомба, так что скажем, что мы
созданный столбец вызова, но у нас есть
тема, которая является чем-то иным, чем
представите себя так, что некоторые из их
тема пробкового то я ожидаю , что знак был
не звонил, и я пишу, что
[Музыка]
ожидать, что метод объекта называется да
хорошо, но как я не остыл
так, что да, которые работали, ожидали этого
вещи не были целыми, но что
трижды, что это такое
неожиданный
о, потому что я не использую
повторное использование заглушки между каждым тестом I
каждый раз воссоздавать заглушку
давайте сделаем это хорошо, он все еще терпит неудачу
но сейчас ожидаем, что это не будет
холодно , но , что называется , как только это
лучше в порядке , так что давайте вернемся и добавить
if, чтобы он остановился
так что, если поток тегов
не представляет себя, что мы возвращаемся
но я сказал, что наверху я люблю делать
защитное программирование, подобное этому и
иметь дело на краю дел
а не делать их как Алиса на
конец я услышал некоторую хорошую рационализацию
о том, почему, но мой мозг не работает
достаточно хорошо , чтобы позвонить , что из любой
путь мм хмм право в порядке вещей , чтобы ожидать
вызывать с аргументами, это
на самом деле другой тест, который терпит неудачу
поэтому тестером мы работали над работами
ну теперь, но старый тест сломался и что
потому что у этого нет темы
слот, поэтому нам нужно это сделать.
этот звонок полностью действителен и
он назвал его представительным
что хорошо, три, проходящие туда
круто, я немного потяну
бит, чтобы дать нам больше свободного места на следующем шаге
что назначенный значок здесь это
на самом деле просто уходит и делает
вещи , которые мы хотим на самом деле ждать
ошибка, а также хорошая вещь здесь
на самом деле , присвоение значка возвращает
обещаем, поэтому мы просто хотим, чтобы
функции, чтобы передать обещание и
любой код использует эту функцию
то будет нести ответственность за дело
с обещанием, о котором мы говорили об этом
это отличная техника для прохождения ошибки
обработчик, обрабатывающий слова, о которых я говорил
что в предыдущем эпизоде вы можете
найти здесь, но в основном мы хотим сделать
убедитесь, что назначенная партия просто возвращает
обещание от назначенной партии
пусть это она проходит обещание о к
функция вызова функции хорошая да
обещать от той же партии на
хладнокровие
если они окунают его, то это просто надежда
мы вставляем это в настоящее время в тестах, это даже
более важно подождать
дублирование
Я обычно в коде жду, по крайней мере,
три случая перед удалением дублирования
Я обнаружил, что это будет сладкий
место, когда вы начинаете фактически видеть
фактический общий случай в тестах I
обнаружили, что вам нужно подождать дольше
потому что сложнее определить
определили общий случай , так что я , как правило,
подождите по крайней мере пять или шесть раз , прежде чем
начиная удалять тесты дублирования
да, что мы делаем, мы хотим, чтобы мы позвонили
мы вызываем партию, мы хотим иметь
знак , возвращающий что-то, чтобы проверить, что
мы получаем это от Ганнибала
регресс, давайте будем есть
нам нужен знак, называемый
ну нет, это просто с дугами, мы не можем
просто сделайте это
и мы должны сделать фальшивое обещание
как мы можем просто использовать любой объект здесь
не имеет значения, это просто местозаполнитель
Знак знака Oh возвращает фальшивое обещание и
тогда мы запишем, а затем проверим, что
Выход ожидать выход из -Выход
быть поддельным обещанием
undefined, чтобы равняться этой вещи, давайте я
собираюсь подделать обещание да так ожидалось
не определено равное поддельное обещание
Я в любом случае я просто создаю подделку
объект здесь я пытаюсь дать ему хороший
имя ahh хорошая структура в любом случае ожидается
на борьбу за равные Я подделка
потому что мы фактически не возвращаемся
присвоение возвращает подписанную партию
это работает, о ждите, не
это о , потому что да, потому что сейчас
в случае, если это для случая, когда
это какой-то другой слизень, который он представит
Я собираюсь изменить это, чтобы быть
правильный ответ , и теперь он будет
вернуть обещание дефекта, потому что
теперь вызов назначенной партии да, хотя
хотя хотя хотя и происходит
если я хочу, чтобы это было надежно
синхронный Я всегда хочу, чтобы это возвращалось
обещание, потому что в противном случае оно
действительно странно назвать это, давайте посмотрим, давайте
видеть это
и с возвращением обещание, когда мы
Бог мой, я мой мозг тает, когда
даже если тема не правильная
Черт, я просто собираюсь вставить этот
неверная тема и вставить ее в
здесь, но на этот раз мы проверяем, что
выход, который я хочу оставить после натяжения пальто
выкладывать топ-10 должно быть да, это так
что вы можете выполнить синхронный тест в
мокка просто вызывает выполненный обратный вызов один раз
вы закончили Я знаю, что есть вещи
с которым вы можете позвонить, можете вернуться
обещает прогуляться об этом, это не совсем
Я не чувствую, что это слова доверия в
в любом случае, это даже не
получить это далеко, потому что это не
возвращая любое обещание, которое я должен сделать
верните обещание, так что вы просто обещаете
dot solve true Я думаю
круто и теперь она работает , потому что пока это
разрешает все, что мы на самом деле не делаем
заботиться о ценности, которую вы знаете, что я
просто
разрешить ли оно какую-либо ценность, потому что мы
никогда не использовали его, мы просто хотели быть
разрешен, а затем он называет выполненным и что
делает этот тест успешным, если я не
вызванный сделанный, это бы сократило время
вне
я не думаю, что мы сейчас
Я не доволен этим я могу убираю
наш пример кода здесь, я в порядке с этим
и то, что я собираюсь сделать, теперь вернется
до нашего mmm и узнайте, где
мы хотим так хорошо, вот наш, где мы просто
написал наш материал, который мы знаем сейчас нет
мы использовали некоторые данные
от запроса тела тосты мы хотим сейчас
на самом деле вызывать функцию, которую мы называем
это сортированная ручка, созданная, и мы
хочу передать эти вещи, мы имеем
назвали их несколько разными именами
потому что это подчеркнутые имена и
в нашей системе мы используем
конвенции о верблюжьем футляре и так там
это называется тема slug вместо темы
slug, отображающий их вокруг и идентификатор темы для
тему из темы ID, а затем у нас есть
номер сообщения для сообщения, и я думаю
это будет да, думаю, мы используем
вес грузила здесь в этом на этом уровне
мы можем просто сделать это
то мы сделали на самом деле я думаю , что это
это хорошо, давайте сделаем это
давайте найдем башни ой это просто
дерьмовый файл давайте отбросим , что далеко
Пример создания сообщения Я буду держать это
вокруг на всякий случай, когда нам это нужно немного
бит, я не собираюсь это делать
хорошо, это то, что я никогда не исправлял
давайте сделаем это, пока мы добавили
куча зависимостей да выглядит хорошо
я думаю
все в порядке, давайте сделаем это, что мы сделали
мы внедрили пакет для ввода знака
и мы подталкиваем его к нашему github, а затем
Я также собираюсь сделать git push Heroku
мастер, как вы развертываете в Хероку
вероятно, мне очень приятно, что это
быстро, но эта часть очень медленная.
не знаю, зачем загружать NPM это
просто кеширование и прочее здание
зависимостей, и он должен быть развернут
запустил все в порядке, посмотрим, сломался ли я
что-то ужасно теперь пойдем к админу
и давайте посмотрим , вернемся к
просто введите
для пинков у меня есть интродукции
patch okay У меня есть это тестовое соответствие API
то есть из какой-то другой тестовой идеи давайте
на самом деле сделать другой тест другого API
тест не против меня тестирование в живом
окружающая среда это мой номер человек
давайте посмотрим, что нам так повезло, что я получил
значок нет, почему не в порядке
что случилось с давайте посмотрим
в API и посмотреть, что происходит с
webhook так хорошо, мы получили 500 ошибок
разбился так, что это сообщение создано событие
давайте посмотрим, посмотрим, посмотрим
журналы журналов Heroku регистрируют это только
должен дать нам все в порядке, это
другие вещи в порядке
Ручка пост создал это не весело , да
doh хорошо, может быть, я должен был проверить это
локально, но сложно с помощью веб-крючков um
это не так сложно, когда эти крючки я
может просто иметь прошлое, у меня есть все
целые волосы запроса можно смоделировать
это использование завитка или что-то, что я просто
ленивый да
хорошо, поэтому проблема здесь, что давайте
найти эту вещь, это не штраф
потому что не определено, что нам нужно
делать это, чтобы передать его в службу, чтобы служить
добавим это как зависимость от
обслуживать то, что подано
поэтому служат еще один из них
инверсия функций управления, которые я
поэтому верхний уровень на самом деле не
служить на самом деле индексом, поэтому в индексе мы
собираются повесить после знаковой партии
потому что это это зависит от флага
матч, который мы собираемся делать
и мы будем требовать
создайте дескриптор почты, и снова это
на самом деле не обрабатывать сообщение, созданное
у него был отличный пост
функции, которая принимает наши зависимости и
и у него есть только одна зависимость, помните
да, это зависит от знаковой партии
и мы так передаем это, а потом
создайте сообщение, потому что нам нужно
передайте, что в, чтобы служить, потому что служат
зависит от того, как публиковать созданные
почему у нас была проблема раньше, и теперь я
подумайте, что это должно работать, и мы
подталкивая это, чтобы получить, и мы также
подталкивая его к Heroku Wow
получить толчок Heroku моя остановка
избили мою глупую интеграцию с API
да, я могу на самом деле
повторить этот пост создал вещь, я просто
возьмите свой редилизатор и посмотрите, работает ли он
на этот раз не смотри
Журналы Heroku
О, много других вещей, которые случаются
bang bang bang bang ссылка и
ссылаться на их номер сообщения не является
определяется на 59 наблюдать ой да я UH I
мог бы видеть, что
все право фиксирующих вещи бум толкающие к
Хероку снова в порядке
давайте ударить его redeliver ай да, я хочу
переделать
похоже, что он еще 500 блоков BAM oh
вот какая-то ОЗУ дерьма
исключений да, я думаю, что получаю очень
близко к точке , где я действительно должен
быть в состоянии просто подделывать эти веб-крючки на
мой на моей машине, но я не совсем
готов сделать это, но я собираюсь просто
console.log аргументы из Oryx
возможно, выбирает, что мы называем это ужасным
отладка производства , и мы делаем
gig, конечно, я фактически не регистрировал его
о , боже, я ужасен, ужасен
ужасный ужасный ужас Я просто
выкапывая себя в яму здесь argh
по крайней мере , у меня есть история коммитов еще толчок
ваш мастер, которого я понимаю во время этих
все дело в том, что я хочу сделать это в
сокращенный период времени, но также и
значит, я просто показываю много ужасных
ужасные привычки, потому что я не трачу
достаточно времени с ним, и я вроде как
я написал несколько модульных тестов здесь, но это
также означает, что мы не совсем получаем
к мясу этого я хотел показать некоторые
некоторый состав функций, и мы
просто не делая того, что мы доставляем
endpoint давайте посмотрим, хорошо, посмотрим
журналы мне дают еще немного
Информация
oops username batch ID и причина
думаю, что это ops показалось им
казалось, действительно действительно, так что
интересно посмотреть на это назначенное
возможно, у меня есть какая-то проблема в
возможно, я сломал это вчера
что-то о, мы на самом деле не проходим
пропуская это, я не должен
чувствую, что это должно иметь значение, хотя
мы похожи на то, что собираюсь
вот в чем причина этого не на самом деле
будучи принятым, чтобы сделать знак
значок, но это не должно меняться
хорошо, посмотрим, в чем проблема.
здесь мы действительно делаем некоторые
Здесь пара функциональных позиций
но мы начинаем с одного из худших
вещи с функциональным составом и
то есть очень сложно отлаживать
потому что это не вина
функциональный состав как таковой, это просто
фото lambda Я имею в виду это Рам де ты
могло бы сделать это намного приятнее
сообщение о воздушном матче, но что происходит
см. здесь, что это я отразил это
вчера, и именно поэтому он сломался, и я
не проверял его правильно, труба P является
функции в оперативной памяти, которая создает
цепочки функций других функций, поэтому
он собирается создать новый
функция, которая будет принимать любое значение
он переходит к нему, а затем он идет
передать это значение первой функции
здесь создавайте тело так, когда мы называем
назначить функцию значка, которую он вызовет
тело с этими двумя аргументами, и это
будет принимать все , что он получает от
от этой функции и передать его в
следующей функции и т. д. это то, что PI
но это PI P и PI P
именно это
за исключением того, что он ожидает каждый
чтобы вернуть обещание и что
это то , что я пропустил здесь , так что мне нужно
делать просто это обещание не разрешает
Blatt знак уже не тестирован
может и позже, но пока давайте
сосредоточиться на решении проблемы bum bum bum
bum обещание фиксированное сделать знак партии это
также означает, что многие люди не
получают свои значки
Удивительный , потому что это не удалось мне нужно
сделать некоторое ремонтное задание позже, но это
круто, это не проблема, потому что мы
до сих пор нет причины, но я ожидаю
это сейчас работать
он сказал знаменитые последние слова
да 200 это работает, давайте посмотрим на
тест API, который я должен был получить
партия прерывания, которую я сделал, но это
это на самом деле не связано ни с чем
и это потому, что ему не хватает
причина , мы собираемся , чтобы гарантировать , что а
знаковая партия, это также проходит по причине
пройдите по причине, мы прошли, что вы получаете
толкать мастер ракеты , так что теперь я собираюсь
удалить этот значок из меня
эй значки ждут
удалите совпадение теста API, пока я нахожусь
он отменил значок все в порядке страшно
терминологию, и я думаю, что могу просто
теперь перейдите к развернутому, но
развернутый, я думаю, что могу просто читать печень
это немедленно koplow это работает
это работает, это работает
посмотри на это
предоставил себе работу
фантастический, так что теперь это работает
мы не сделали много функций
состав, который я обещал
вы
в этом эпизоде, посмотрим, можем ли мы
посмотрите, почему мы еще не сделали
большая композиция — это потому, что есть
уже я уже сделал много
функции в этом в этом
проекта и функции, которые мы просто
созданный столбец, созданный, как есть
не очень много вещей в нем происходит так
нет ничего белого, что мы можем
сделать это, я имею в виду, что мы уже
уже используя эту назначенную партию внутри
из-за этого мы так или иначе составляем
функции функции уже, возможно, я
Я просто получил это обратно
в заявлении о парковке я думаю, что мы
может просто войти в патч знака и
разгадать эту функцию
здесь, чтобы дать вам представление о том, что
случается так, что у нас есть тело тела mmm
ладно, давайте сделаем это, я собираюсь переписать
это вы, не используя трубопровод
функция давайте просто сделаем это, позвольте мне
закрыть этот и закрыть этот так
во-первых, что это помнит
что он создает функцию так, что мы
нужно сначала вернуть функцию
и я буду комментировать это к
помните, что это то, что мы
работа с первым делом заключается в том, что мы
что мы собираемся делать, мы собираемся сделать
лодка, а затем мы прямо
также нужны аргументы здесь:
варианты, и тогда мы собираемся опубликовать
это как JSON для немного допингового допинга
Допинг Допинг Допинг Допинг Допинг
и мы будем использовать этот дискурс
API евро , и мы будем проходить в
так что это на самом деле также пример
состава функции здесь эта вещь
является другой заводской функцией, с которой
создает aa-функцию, поэтому мы здесь делаем
на самом деле представляет собой Джейсона для использования или плохого
просто конечная точка, создающая эту функцию
здесь и далее мы размещаем тело здесь и
то это может вернуть ошибку, поэтому мы делаем
то, потому что это будет ответ
также и мы все в порядке, позвольте мне показать вам
какая ошибка, если ok не выглядит внутри
снова мы посмотрели, что раньше, но что это
делает это это функция , которая принимает
ответа, и он проверяет статус и
код на этом объекте, и если это так, если это
не 200, это порождает ошибку, так что мы
действительно мог бы сделать здесь да, чтобы повторно использовать это
поэтому мы можем фактически использовать это внутри
так и тогда мы можем просто
верните это, вы можете просто вернуться
это , но я собираюсь написать , что к
сделать немного более понятным, что
потому что это возвращает обещание
или он фактически возвращает ответ
обещание, которое
объект ответа, поэтому, когда ответ
Обещание решает , то мы делаем ошибку
урок в порядке, а затем мы возвращаемся
потому что это и причина, по которой мы
вернемся так, как будто мы нет
действительно не заинтересованы в том, что
и это данные из ответа, потому что мы
отправляют данные в конечную точку здесь, поэтому
как вы видите, она такая, как я
должен сказать, что теперь, когда я его выписываю
как это, когда у меня есть сравнение
функции вполне могут быть
что эта функция трубы действительно не
добавьте много или, по крайней мере, добавляет немного
бит, потому что это выглядит довольно круто
похоже, он очень сосредоточен на том, что он делает
он делает тело для должности
запрос, а затем он сообщает, что как Джейсон
к дискурсу ваши пользовательские значки пользователя
Джейсон, а затем ошибка, если все в порядке, и это
Ошибки в качестве знака партии эх жаль
так это то, что называется точечным или
молчаливое программирование, это хорошо, потому что это
сфокусировано на том, что намеревается код
делать, а не присваивать
переменные взад и вперед это
читаемый в хорошем весе, однако труба P
как вы видели , это было трудно для меня
debug, потому что сообщения об ошибках
эти составные функции становятся
иногда просто ужасно, и давайте попробуем
увидеть , если мы можем составить вещи
обещания без использования этой трубы P
просто весело, поэтому у нас есть этот ответ
тело, которое мы создаем или жалеем
попросите тело, давайте попробуем это вместо этого
давайте сделаем это обещание , не разрешим
и так это тело, а затем мы делаем
мы используем эту БАМ, которая довольно крутая
что работает я худой, мы просто делаем это
Эй, хорошо, это довольно круто на самом деле
это на самом деле намного приятнее, я просто
подумал, что было так здорово использовать это
случайная вещь, но ах, когда вы выполняете обещания
вы действительно можете их на самом деле
действительно приятно , это довольно круто, это
немного раздражает, что это не
мы могли бы сделать что-то вроде звонка
это, как тосты, которые будут и делают
возможно, это делает его лучше
хм, я не знаю, я не знаю, на самом деле я
подумайте, что это действительно так, потому что это
позволил бы мне просто сделать это
простые однострочные функции стрелки, которые я могу
просто сделайте это, а затем объявите это как
однострочные функции стрелки и да
он богат
как будто это довольно красиво
Spiffy так что это точно так же он
просто у нас есть тело здесь, если мы разрешим
это как обещание, потому что это то, что
обещание д- р. песня делает, а затем мы публикуем
что, поскольку Джейсон использовал API URI для дискурса
к badgerstour Джейсону, а затем мы называем
если все в порядке, и если все в порядке
мы просто
возвращение ответа довольно
довольно приятно и причина, по которой мы можем
почему это так хорошо работает, что
эти вещи очень сложны
функционирует так, что ошибка, если все в порядке, это очень
легко засунуть в берлоге , потому что он
делает то , что это просто
функция, которая принимает один аргумент
если это не так,
в противном случае он возвращается или случайный ответ
если мы используем его в обещании, мы
на самом деле не нужно это делать, но я
добавить, что, когда я использовал
я не думаю, что могу
удалите его, потому что я использую воздух, если
m’kay в других местах , где используется труба II
все же, но глядя на это, это
является отличным улучшением по сравнению с этим
это на самом деле менее сложно
и свернутый, и я
Я также избавляюсь от большей зависимости здесь
Мне не нужен Рам де внутри этого
функции также вы видите здесь, как это
также отличный пример функции
Компоненты жаль, что это тоже замечательно
Примером функции композиции
API URI дискурса позвольте мне напомнить вам, что
что он просто создает URI из
полный URI только с пути, так что если я
есть только этот путь, что он будет делать
он будет сваривать домен перед
форум и все такое, и это будет
также будет сваривать ключ API и
строка запроса извиняется за ключ API и
имя пользователя, которое требуется как строка запроса
на пассивном преобразует
путь к полному URL-адресу API, так что это
возвращается
а затем опубликовать нам Джейсон опубликовать попросит Jason
к тому , что будет делать то , что это происходит
к о, это много переносит
вот так это просто зависимость
инъекции, которые мы имеем на верхнем уровне
но тогда, потому что нам нужно, потому что это
функция требует выборки, но затем, что это
это значит, что он снова принимает URI, если вы
посмотрите здесь это URI, тогда о, жаль
о, я прыгаю, запутываю тебя
извините, жаль, что исправлено для
такая бедная ситуация, а затем она создает
это возвращает другую функцию
которая является фактической функцией, которая
с помощью URI и этой функции
теперь эта функция, что я
готов к публикации в этот конкретный URI и
все, что от меня требуется , — это тело и когда
он получает тело, которое он извлекает и
отправляет ли сообщение JSON и его
ставит тело, это довольно хорошо, поэтому, может быть,
вам нравится, я просто извлечу это из
сделать его более очевидным, что он делает
это создает новую функцию , это новая
как должность Джейсона на значки
теперь это будет
функция
который примет это, чтобы вы могли
на самом деле вы могли бы это сделать,
если я захочу переписать это в
другой стиль, который я мог сделать, мог бы сделать
это потому, что у Джейсона два значка и
это не так уж плохо или на самом деле я
нужно вернуть его из-за многострочной
но не совсем понятно, что это не
в естественном порядке мы просто создаем
функция сначала здесь и затем назначает
мы могли бы сделать это, мы могли бы это сделать
мы могли бы это сделать
это странно
поэтому публикует Jason для URL-адреса API-интерфейса и
то мы пройдем в теле, и это
это нормально, это не совсем ужасно
но это немного запутанно, и я думаю
что-то оригинальная версия
где мы просто сделали это довольно пятно
довольно скользкий да, это для меня это
очень читаем как цепочку, я надеюсь, что это
Возможно, YouTube, и я снова вижу
Вы видите здесь это использование выделки так
первый раз, когда вы впервые
вызовите эту функцию, чтобы вы могли позвонить
с зависимостями, которые создают
другая функция, которая является фактической
функция, возвращающая тот, который принимает
аргументы, но это было
с этими зависимостями
процесс Джейсона тоже сейчас из-за
доступная мощность затворов
вот так, если я вернусь к индексу, покажу вам
как это работает
мы здесь назначенные партии, поэтому мы
просто требуется назначенная партия, а затем
мы пропускаем зависимости и
что даст нам фактический назначен
поэтому вы можете просмотреть это как
пусть сделать знак знак
whap требует, чтобы это не оставалось на
это просто
инверсия управления в функциональном
стиль, но это дает вам ощущение
Майк, я надеюсь, что это поможет увидеть эти вещи
где я просто передаю функции вокруг и
делая все такие виды ношения и
это может помочь вам увидеть, как это
все падает вместе и как вы это делаете
легче комбинировать и составлять
возможно, может быть, я просто слишком
устал на этом этапе и просто участвовал в
моя собственная функциональная ерунда, которую я не знаю
как вы думаете, напишите комментарий
ниже, если вам понравилось или не понравилось
это это оказалось долгим ой
да, я думал, что смогу вытащить
это быстро, но в любом случае я
собираюсь подписаться, теперь у вас есть
смотрел эпизод веселой веселой функции I
релиз это каждый понедельник утром прочь
200 GMT они обычно не такие длинные
если вам это нравится, вам также может понравиться
это видео, которое машина Google
обучение думает, это хорошо для вас, если вы
действительно нравится это, пожалуйста, подумайте
став патэконом, нажав там
это отличное объяснение того, почему вы
если я буду mpj до следующего понедельника
утро остается любопытным
сделайте немного кода, где я ткнул
вокруг
добавьте некоторые функции рефакторирования приложения, которое я
и мы собираемся сделать это с помощью
темы, и эта тема является функцией
состав, который мы собираемся не только сделать
но II будет пытаться
показать много этого
Я mpj, и вы смотрите веселую забаву
так что мы будем делать
сегодня, точнее, пара
недели назад
был запущен забавный забавный форум,
главная награда patreon для патронов удовольствия
веселой функции, вы можете проверить
информация о том, чтобы стать
patreon патроном, нажав там вас
не должны быть патроном Вам нравится
этот эпизод — это всего лишь
полностью необязательно, но это
контекст, поэтому есть этот забавный форум
спокойный, и это дискуссионный форум, чтобы он
имеет действительно отличный API и в
Раздел проектов проекта ddddd нет, он находится в
FFF meta, так что это кто-то имел
идея кого-то
у него есть имя Валис, которое
у четырех членов была идея, что мы можем
есть карта , где все члены из
код форума, если они хотят разместить себя
на карте мира, и на самом деле он выглядит
построил его, и это похоже на этот вау
есть много людей, это очень новое
это было похоже на молоко вчера и хорошо
хорошо, поэтому у этого есть эти оверлеи, это я
как хороший лосей, который является чем- то, что вы
как правило, говорят в городе, в котором я
здесь Теодора в отпуске по уходу за ребенком
фрикадельки на моем столе ИКЕА и здесь
люди в вас
что это даже то, что это такое
страны я не для этой работы я
отбросив
самый счастливый API, поэтому он работает так
потому что это так сделано, но так весело с тобой
перейдите в свой профиль на передней панели для
он и здесь теперь я добавил пользовательский
поле в этом курсе называется hackable
Джейсон, так что будет, если ты станешь
данные здесь, чтобы вы посадили Джейсона здесь и это
данные будут доступны на этом
конечная точка здесь это общедоступная
конечной точки, которую любой может
так что это всего лишь Джейсон в JSON
объекты, привязанные к именам пользователей, поэтому мой
имя пользователя здесь, вы видите как карта пользователя
карта расположения долготы
и это похоже на супер враждебный ADA I, если
вы смотрите здесь, как будто у людей есть
мы пытались атаковать скрипты
внутри них, поэтому, если вы используете этот make
Обязательно продезинфицируйте свои входы и это
не значит, что я на самом деле сказал
люди здесь, чтобы включить данные JSON здесь
заключается в том, чтобы сломать приложения других
членам настоятельно рекомендуется преподавать
люди дезинфицировать свои входы на
ссылка на этот большой комикс xkcd, который
о маленьких столах для бобби вы делаете
действительно назовите свой робберский стол для вашего сына
студентам x это хорошо, но это
является то , что на самом деле не то , что мы
сегодня поговорим об этом, как вы
смотрите здесь это форум Automator на
Heroku — это действительно хакерский проект, который
Я просто очень быстро бросился во время
во время ночи
потому что одно из вознаграждений за
ранние покровители птиц — это то, что если вы
стать покровителем в течение 31-го из этого
месяц, что означает
Я не знаю дат, которые я смотрел в своем
календарь до четверга — последний день
вы получаете эту специальную партию, которую никто
else, позвольте мне показать вам один пример
скажем, ягненка, здесь у него это
специальный навсегда член Вечности, поэтому пусть
я покажу тебе, что я просто пойду
некоторые пойдут, чтобы представить себя просто
выберите кого-нибудь здесь, посмотрите на пальцы Шан
здесь так заметите, что Фэн Шан
этот особый вечный член вечности
значок, и это только люди, которые
присоединяйтесь к августу, они получают это, и это
что оказалось, что не было
функциональности внутри этого курса до
сделайте это автоматически, чтобы мы были просто
щелчок и назначение этого вручную для
каждый новый член, который был просто сумасшедшим
потому что так много людей стали покровителями
и присоединился к форуму, я умер, но мне нравится
было намного больше, чем мы ожидали, так что это
оказалась огромной кучей работы, поэтому
Я просто программист, у нас есть код этого
и вот почему я, почему я оказался
строить этот форум Automator
а затем, когда кто-то спросил, есть ли
точка интеграции построить это
эта функциональность карты я просто бросил это
вместе, потому что я полагал, что это будет
весело, потому что людям очень легко
строить новые вещи поверх этого, так что
то, что мы собираемся делать сегодня, — это вы
обратите внимание, что это введение
нить, так что это тема угрозы, что мы
я посылаю людей к этому так в
Спасибо за страницу для patreon, которая говорит
что ты должен в первую очередь тебе
следует сделать, это пойти во вводный
представите себе тему о развлечениях для
форум и напишите немного о
себя, это просто очень мило
что делать, и это здорово, но что
Я хотел бы сделать
здесь есть дополнительный значок, в котором говорится:
введен и привязан к знаку летучей мыши
к этому во вводный пост и я
подумайте, что вы можете это сделать, потому что есть
blah blah blah давайте посмотрим, посмотрим, как
это работает, если я это сделаю, если я это сделаю
вручную
давайте просто отправимся на забавный забавный форум спокойно и
давайте войдем в админку клик администратора
см. патчи хмм, как мне это сделать, может быть, я
заходите к пользователю, и я иду на значки здесь
возможно, о, нет, я должен щелкнуть здесь admin
Я думаю, что значки Эдди видят, что вы можете сделать
API-интерфейс значка API dodge reason oh yeah this
это то, что вы можете
может назначать значки, а затем вы также можете
назначить причину, которая является ссылкой на
сообщение или тему, поэтому давайте сначала создадим
значок, который мы хотим присвоить
люди , которые представились
так введенный введенный и значок
серебро всегда золото, я полагаю
группа другое описание дольше
описание, и это значок, который
вы автоматически получаете, когда вводите
себя во вводной ветке
тема, которую вы знаете как в дискурсе
потоки называются темами, но я не могу
заставляй себя сказать, что я так привык к
старый PHP BB и vbulletin мир, где
они были, но что бы вы сделали
call threads Я всегда помнил это
meme hey guys, что происходит в
нить эти, эй, ребята, что происходит
по этому другу
эй, ребята, что происходит, что это
даже о, это так, да, ладно, так что теперь я
думаю, у нас есть немного о
Орион истинный гусь, нет, я этого не сделал
пока я был на вкладке неверном длинной
описание Я не чищу его долго
описание uh, которому нужно долго разрешено
значок, который будет использоваться как заголовок, так что это мы
не нужно, что может быть предоставлено несколько
раз не уверен, что официальная страница Bertram
да показать сообщение о присвоении значка на значке
какая какая ставка предоставляется на ваш бейдж
страница да да, мы хотим, чтобы это
целую идею, и мы также хотим включить
значок не отключен в
потому что этот курс
это безумное количество злодеев, которые я действительно
как значки по умолчанию, и они застенчивы
поэтому я отключил их всех.
представил восклицательный знак на некоторых
Я собираюсь создать iPhone, но
это не то, что мы собираемся делать сегодня
потому что мы хотим , чтобы добраться до кодирования либо
Давайте попробуем присвоить значок для
этот человек, где был откровенный блеск
голубой подбородок, я иду к его имени пользователя
ой
нажмите « Я имею в виду», а где- то
значки введены значки Я хочу
назначить причину такого взаимодействия
давайте найдем сообщение взаимодействия, используем
себя и это прекрасно Фэн Шан сделал
это, как найти ссылку на
сообщение это да давайте нажмем эту нагрузку
один
и я поместил это, и я даю ему
Давайте посмотрим , как это выглядит сейчас эта
о да, это как обновления, которые очень
хорошая особенность с этим курсом сравнена
к ужасам, которые являются youtube
система комментариев о том, что вещи обновляются
автоматически, поэтому, если я нажму здесь, я приду
к вступлению да не самое приятное
Я думал, что поток будет приятным
Раньше я, если я нажму, ввел, я иду
это и есть причина, но в
но я хочу, чтобы это было
разумно простой способ, если кто-то
написал введение, рассказывающее немного
немного о себе Я хочу других членов
чтобы найти эту статью
достаточно легко, не делая все виды
магии, и эта вещь, я думаю, это
делает работу, но снова я не хочу
сделать этот маленький танец каждый
пользователя, поэтому мы будем автоматизировать это
используя перед этим мотиватор, что мы
использование для всех вещей вещей две вещи
на самом деле , но это будет третий в настоящее время
Я собираюсь показать код только немного
но сначала мы поговорим о
немного, как мы это сделаем, так что если
Я перехожу к API здесь, это сразу
покажу вам, что мой секретный ключ API
которые я буду регенерировать после этого
видео , так что да в любом случае это не там , где
мы смотрим, что мы смотрим в Интернете
крючки здесь, и поэтому этот курс имеет это
где вы можете настроить веб-крючки
который он будет публиковать для публикации данных на каждый
время что-то происходит на форуме
кто-то публикует что-то
их профиль, все, что угодно
это этот веб-крючок здесь, и я могу
ознакомьтесь с некоторыми полезными нагрузками здесь и
возможно, я могу в этом надеяться
ничего секретного это не является
пост создала вещь, и это новый
пост от Кристиана, и
написано, он предположил это ему
отправил видео в качестве части
веселого форума приветствовать видео много
происходящего
сегодня воскресенье, где я
записывая его в воскресенье, поэтому, если вы
видя это , слишком поздно быть в
видео уу жаль об этом , но это
как он пишет этот огромный JSON blob для
к веб-крюку и этому веб-крючку
это так стояло здесь для модератора schwarz
Веб — работа и что работа , которую мы будем
чтобы взглянуть сейчас, так что это
код для веб- крючка, если вы привыкли
выразить это не будет выглядеть особенно
странный Экспресс — это приложение
вещь для того, чтобы
Заметьте, что это добавляет много полезного
функциональность поверх ванильного узла it
имеет множество парсеров JSON и ранних
кодирования материала и обрабатывает через
домен происхождение вещи ценной бумаги , которая
инвалиды там и да тому подобное
это полезно, что это не стандарт
здесь от обычных установок Экспресс
что вы видите эту функцию переноса здесь
что уши позволяют мне немного подпрыгнуть, потому что
Я делаю инъекцию зависимостей здесь
[Музыка]
Посмотрите на индекс, см. рэп, так что это называется
выражайте пение, и все, что он делает, это
чтобы позволить мне использовать синхронный
функций, а не нормальных
запросите ответ, чтобы я мог сделать вес
здесь , если вы хотите проверить синхронизацию
весовые функции Я сделал эпизод на
что на прошлой неделе или два нет нет недели
перед этим в любом случае вы можете щелкнуть по нему
но свяжите его, наконец, если я нажму
там я собираюсь пройти через это
немного, но я замечаю
здесь, что он не работает, у меня есть это
вещь, которая проверяет правильность
его запроса действительны, но дело в том,
это значение запроса, которое на самом деле является
функции, которая должна быть передана
запрос, но прямо сейчас я просто
проверить , является ли оно ложным,
никогда не будет, а затем маршрутизируется, так что это будет
никогда не попадайте, потому что запрос действителен
всегда будет существовать, потому что это
, поэтому нам нужно это сделать, но не
прямо сейчас
почему бы вам не сделать так, чтобы этот код
действительно ли это позволяет мне закрыть это
боковая панель заключается в том, что она примет сообщение aa
скрыть webhook, как вы видите на форуме
в разделе webhook см., что это
место назначения
получает все данные, и это
проверит заголовки для этого.
специальный заголовок, называемый X дискурсивным событием
поэтому, если пользователь создал его
вытащить имя пользователя и создать
из тела пользователя полезной нагрузки
он собирает данные в месяц
а затем только назначить spatch для
люди, которые присоединились в августе
то я жестко закодировал эту специальную
навсегда идентификатор партии здесь вызов
почему я был ленив в то время, и да, я
не ленился, я был время эффективным
так или иначе
Я называю эту функцию здесь знак значок
и он принимает объект объекта позже
с именем пользователя и идентификатором партии и
проходит в этом специальном идентификаторе партии навсегда
и как только это будет сделано с назначенным
значок делает консольный журнал, говорящий
научный проект для каждого знака сделать вас
имя пользователя, а затем он отправляет статус в порядке
если есть ошибка, которая затем
будет console.log ошибка, а затем
будет выполнять статус ответа 500, он делает
больше материала здесь , но вы знаете , что мы
пренебрегая тем, что для краткости
времени я , вероятно, поставлю это
поместите это на github, чтобы вы могли
можете посмотреть на него, если я решит сделать это
ссылка находится в описании эпизода
на что мы будем смотреть, — это посмотреть
внутри знака здесь, так что давайте откроем
это вверх и давайте увидим знак Значок Wow
Я использую вас, если вы поете Visual
Код студии, если вам интересно, что
редактор Я использую Я не особо
рекомендую или не рекомендую
просто редактор, который я использую, мне нравится, что он
вам нечего устанавливать
просто работает очень хорошо из коробки
и это это назначенный значок
функция может выглядеть немного
фанки, если вы не привыкли к инверсии
потому что я немного
инъекция зависимостей здесь, если инверсия
контроля — это новая концепция для вас и
особенно если вы этого не сделали
JavaScript или, может быть, совсем нет
проверьте мой эпизод на инверсию
нажмите здесь .
описание эпизода, но только для
кратко сообщите вам, где вы хотите
то , что я здесь делаю, что это сделать
значка здесь здесь не
Функция значка создает назначенный
значка после того, как вы пройдете его
так, как вы видите здесь в этом
эта функция здесь зависит от этих
две функции, поэтому для этого требуется
ACE на двух, и ему нужен дискурс
API в порядке для того , чтобы функционировать
он также не нуждается в ошибке , если все в порядке , но что
что это не имеет никакой стороны
эффекты или состояние или конфигурация
варианты, поэтому мы просто требуем этого
не нужно вводить, пока эти
два нужно ввести, я собираюсь показать
вы, как это работает
Джин Жан Джин, если ты
посмотрим, давайте найдем назначенный значок так
здесь мы создаем назначенный
значка, поэтому на самом деле это
назначенная пакетная функция, это не
фабрику или все, что вы хотите назвать
вот так это знак значка это
то, что мы называем ошибочным файлом, является тем, что
мы здесь говорим, поэтому вы видите здесь, что мы
требуют знакового знака, который будет
фабричной функции, а затем мы передаем
двух зависимостей в этой функции, поэтому
и они определены в другом месте, поэтому это
их все равно передают здесь
здесь происходит то, что мы делаем
Тело это то , что вы должны
сообщение в API дискурса в
для присвоения значка есть пользователь
имя и идентификатор партии и давайте посмотрим
в документации, что я сделаю это
фактически док
оценки API и круглых значков здесь присваивают
пользователь бакалавра , я думаю, это так
это система документации, которую они
я точно не знаю, что это такое
это фанки, нет, Cece ты такой, как он загружает
все это, и я думаю, что это
серый, потому что он не загрузил
документация пока никто не знает, что
эта система документации — это
открытая спецификация API, ожидающая там
наконец , назначить о ваших пользователей есть так
он имеет три три параметра: имя пользователя
строка и пакетный идентификатор и в и
то есть последняя строка, поэтому я
предположим, что это — ссылка на
post yeah, так что в любом случае он создает это тело
и затем он сообщает, что да, это тело, как
примыкает к
дискурс пользователя PIL плохой JSON, поэтому
что делает эта функция, так это то, что она
фактически созданный принимает этот путь API и
то это фактически скважины на HTTP
funfun forum comm slash, а затем он также
добавляет ключи, которые вам нужно
позвольте мне показать вам, что функция
быстро, так что вы видите здесь, что просто
текстовая база — это путь, который получает
и затем он заполняет строку запроса
который из этого объекта запроса, где мы
этот ключ API и этот API
имя пользователя, и это также точно соответствует
такие же, как и другие функции
у него также есть зависимость
имеет вложенные зависимости, см.
ее выборка — это не на самом деле
требуется здесь, это
и я также вводю ключ API
и базовый граф в функцию as
как зависимость, поэтому конфигурация
зависимостей в этом курсе, ваш I
URL API дискурса, а также выборки
[Музыка]
щелкнув, где был я, о да, мы
были в значке, поэтому после него
это касается того, что в конечном итоге это будет
за исключением случаев, когда все в порядке и без ошибок
хорошо, это очень простая функция, позвольте мне
прыгай в то, что он просто берет его
принимает эту функцию, которая принимает
ответа, а затем один раз, если
статус ответа не в порядке
но о, я добавил грязный логин
консольный журнал, который будет перемещаться только
бросает ошибку, иначе
больше разрешает ответ и
это в основном то, что делает подписанный
и это является частью этого
функция трубопровода здесь, на Рам де
вероятно, будет очень запутанным
вы, если только не увидите мое видео
на новые эхо- скрипты или предлагаемое эхо
оператор сценариев, о котором мы говорим
трубопровод и компоновка, вы можете мне
теперь вы можете скачать много видеороликов, но
вы можете проверить это, я
вы можете найти его здесь или в эпизоде
описание это довольно круто, но что это
делает то , что он сочетает в себе
эти функции в одну, а затем и
затем возвращает его , то мы будем иметь
много работаю с этим сегодня, я
думать о том, где начать делать мы
начните снизу и расширьте это
знаковый знак или мы начинаем вверху
вы знаете, я думаю, что мы хотим начать
наверху
oh wait wait wait, поэтому я собираюсь пойти
вернуться в службу, которая является экспресс
самого приложения и dddd dddd, поэтому мы
это пользователь создал событие, которое мы хотим
посмотрите на сообщение, созданное мной
как узнать, как именно это событие
выглядит, и самый простой способ сделать это
на самом деле просто убедитесь, что это так происходит
Я просто буду делать грязную вещь здесь говорят
которые представят себе, я собираюсь создать
Ответ Здесь я тестирую и API
интеграция вещь не против этого тоста
О, ответ, и тогда мы будем прыгать
вернуться в админ к веб-крючкам и
затем перейдите в этот журнал сетевых крючков и
найти запрос здесь, это должно быть
один, и что кто-то был действительно быстрым
это то, что мы и делаем.
смотреть и идти, чтобы быть понятным
здесь, как ясно, безопасно или что-то идет
вставить это в файл, и я пойду
взять полезную нагрузку здесь, я собираюсь вставить
что здесь вниз, чтобы у нас это было
и я позвоню
example host создал txt и
и если мы посмотрим на это, мы увидим, что это
имеет это сообщение о событии X-дискурса
так что давайте начнем с кражи
с которым можно столкнуться, и это много
байтов операторов if
mmm — возможно, превратите это в переключатель позже или
то, что я знаю
иначе, если хмм я потерпел крушение
о, давай насквозь на нем, а потом мы скользнем
возьмите и возьмите это здесь, вот это
приложение до сих пор было построено очень
быстро, так что это очень грязный взлом, мы
может добавить немного вас начать
добавив немного модульного теста к этому
приложение, потому что оно становится сложным
быстро это то, что с модульными испытаниями
вы вид, когда вы супер стресс
и вам нужно что-то вытащить
быстро вы, как правило, хорошо себя чувствуете
приложение это да эта простая вещь
это не значит, что это не
сложный, я не просто один
путь мне не нужен, я могу проверить его вручную
на данный момент , а затем он получает брутто в делах
сложных вещей очень быстро, это просто
почти всегда лучше просто добавить
модульные тесты с get-go или вы просто
сэкономьте так много времени, в любом случае я этого не делал
что давайте посмотрим , как это выглядит
хорошо, так попросите пользователя пользователя blah, которого мы хотим
вы не знаете, что это не
это не право пользователя, это что — то еще
это сообщение, так что сообщение содержит материал
круглые квестовые посты, поэтому у нас есть
после оплаты
Я не согласен с левым и Const
здесь тоже — наша камера разрывается
весь Const вид прямо сейчас, когда
Я просто делаю свои собственные проекты, в которых я
лицо, в котором я использую, много пугает, потому что я
просто хочу, чтобы мне нравилась идея не
изменчивость, но это не так, как будто они
совершенно непреложный, и мне нравится идея
просто имея одно ключевое слово переменной
sidenote um при переходе между файлами
много здесь жаль, люди пойдут и
проверьте данные здесь, что это такое, что мы
хочу, чтобы мы посмотрели, если это сообщение
прежде всего, если это сообщение в
тема введения темы
могу ли я увидеть, какая тема слизеть Oh awesome
вот на самом деле это здорово
тема slug здесь представиться не
думаю, что это изменится, это не
отраслевое программирование, которое мы делали
в их волосах, но см. введенные
ввели, да, мы ищем
такие темы, как медленный, были правильной темой
slug да, если темы сообщений slug
представиться, тогда мы собираемся
сделайте то, что тогда мы знаем, мы знаем теперь
что у нас есть вступительный пост, поэтому мы
хотите создать пакет для пользователя, который
создал его
поэтому нам нужно, чтобы имя пользователя
пользователь, чтобы начать с его
да, это прямо здесь очень удобно
только имя пользователя
pom pom pom мы можем начать добычу
они как переменные, фактически, имя пользователя и
нам нужен журнал тем, которые мне не нужны,
так что теперь мы можем начать
используя эту функцию Я жду знаковый знак
жаль ждет знака ах, так жаль, что я
просто прыгаю как белка
подписанный значок, и я собираюсь закрыть это
знак, чтобы мы не были
отвлекся Я собираюсь назначить
имя пользователя, и мы назначим
пакетный идентификатор, который вы знаете, что я просто собираюсь
жесткий код, который также позволит найти
пакет, который я создал до того, где он
intro refresh
нашел это, и это ID 104 копирует это и
вставьте его, давайте держать его здесь на данный момент
фактически разрешить введение
Идентификатор значка равен 104 Я вставил его здесь и
мы теперь хотим передать также ссылку
к самому сообщению здесь, поэтому мы
нужна причина, и это связано здесь
пост графа , но это пока не существует так
нам нужно выяснить, где
потому что , где , где , где , где , где
где где так давайте посмотрим на пример
Тейлоу, который я захватил до этого
есть ссылка здесь где-то
bla bla bla bla bla bla no есть
там нет обработки, и это делает
Я полагаю, но есть идентификатор, поэтому мы
может построить почтовую ссылку I
предположим, давайте посмотрим, как они
структурированы, давайте найдем эту ссылку здесь
давайте скопируем эту ссылку извините за
Шведской операционной системы, а затем
вставляя его здесь, хм, хорошо, есть
много материала в этом хмм хорошо знаете
что это такое 23, поэтому я ожидал там
быть, чтобы стол существовал, но я не знаю
точно, что это такое, это сообщение
слово это 23 да, это
сообщение 23, что произойдет, если я начну удалять
вещи здесь, если я возьму это, и я удалю
что то , что происходит, о нет, нет, это не делает
не работать
сообщение id 5624 сообщение номер 27
это номер сообщения, так что мне нужно
номер сообщения и верхний бит здесь
Идентификатор темы нам тоже нужен, и мы
нужно тем долго я , хотя я могу
допустим, если я прокручу вниз
здесь и я копирую этот компоновщик, и я двигаюсь
это вы, пользователь mpj, мы, вероятно, не хотим
это угадывание, если я просто удалю тему
slug здесь действительно не нуждается в этом
работать
нет, я добавил, что сам по себе давайте
на самом деле просто попробуйте снова сделать
конечно, да , это просто какой-то поиск
двигатель оптимизация вещь это делает
выглядит хорошо, поэтому мне нужно извлечь
идентификатор темы и номер сообщения и
который будет работать как работа для графа
поэтому у нас есть первое число и
Идентификатор темы под вашим подчеркиванием, чтобы я был
просто собираюсь повесить такой поддельный идентификатор и
бог, я помню, как золотая рыбка
номер там, куда мы идем, и граф Эрл
собираюсь удалить это, нам не нужно
этот журнал для его работы, и мы не
нужно, чтобы и я, и я собираюсь сделать
это то, что называется шаблоном
буквальная штука в любом случае, я могу сделать
вставлять переменные и строку как это
и идентификатор темы сначала, затем сообщение
номер go вы думаете там нет там
это пост Эрл, я собираюсь уйти
этот жесткий код в настоящее время это не
слишком плохо это не будет
разработчик года не волнует
мы собираемся добавить тест на это, но я
не я это я большой на больших тестах
первый
во многих ситуациях, когда у меня есть контроль
над всей функцией, что она делает
Мне очень нравится делать TDD, но в
такие случаи, когда я так неопределен
API, я, как правило, обнаруживаю, что
это лучше хэширования, что это такое , что
вы делаете, и как только вы выясните
как это работает, лучше добавить добавить
потому что вы просто не знаете
вещь достаточно хорошо , чтобы сделать тест авансом
в любом случае, однако есть случай
здесь, если тема slug не вводится
сами мы не хотим ничего делать
с этим мы не заботимся об этом.
конкретные сообщения, созданные событиями, мы не
заботиться обо всех других постах в
мир, поэтому мы просто собираемся вернуться
статус 200 нести на нем много
дублирование этого прямо сейчас в этом
кода, поэтому нам нужно будет сделать
что-то об этом, в конце концов, ах, но
если вы новичок в моем канале, вы будете знать
что я большой, ожидая много
перед удалением, потому что
что позволит вам увидеть общий
более четко, и это позволит
вы должны сделать гораздо более общий
решение, чем если вы преждевременно
обобщается как только вы видели , как два
дублированные экземпляры хорошо um
следующий шаг следующий шаг следующий шаг, который вы знаете
что я думаю, что следующий шаг
на самом деле разбить это и получить его
и проверить его, но я не
супер уверен, что то, что интерфейс
должно быть
Я бы сказал, как мы предполагаем, что это
была функциональной функциональной группой, и мы
собираюсь назвать это круто, это что-то
как создатель сообщения, созданный, я думаю, pom pom
pom pom, и поскольку это завод
функция должна быть фабрикой
потому что он имеет зависимости
это зависит от знаковой партии , поэтому мы
должны делать инверсию контроля и
вводите его, если вы не знаете, почему вы
собираюсь понять, почему в немного
когда мы пишем тесты для него
см. , скажем, общий левый может
созданный дескриптор сообщения, и у него есть несколько
зависимостей у него есть назначенная партия
и я думаю, что это единственная зависимость
и фактическая функция будет иметь
подпись, в чем он нуждается, имеет
введение ID внутри себя и я
Думаю, мы сможем сохранить это там, это не
необходимо настроить, это не будет
реалистично изменить пост Earl it
это само по себе нуждается в
username ему нужен идентификатор темы, и он
требуется номер хоста, и он также нуждается в
тема, чтобы узнать, должна ли она
должен назначить пакет, если он
находится в и в представлении себя
из этого в представлении себя
тема хорошо, поэтому аргументы — bum bum
bum bum bum bum
ему нужно имя пользователя, которому нужна тема
slug ему нужен номер сообщения, и он
нужен идентификатор темы, это то, что мы
работа с этим — это функция, которая
мы будем писать Я на самом деле вы
знать, что я сейчас собираюсь скопировать
здесь сначала я собираюсь просто вставить его
как комментарий, чтобы дать нам ссылку
реализация того, что мы строим
один раз, пока мы пишем тест и
Я собираюсь выскочить из этого файла и
это скопировать его , и я собираюсь создать
новый файл Я вставляю его здесь
так что мы получим подсветку синтаксиса
и вы можете это увидеть, но я называю это
обрабатывать сообщение, созданное dot js, так что теперь
здесь, что это тоже получается немного
беспорядочный
Я держу его грязным, пока не получу
принял решение о структуре, которая имеет смысл
Я не пытаюсь структурировать слишком много
фронт Я жду, пока структура
сливайте немного, иначе вы
просто поместите вещи в немые структуры
которые трудно изменить позже в любом случае я
собирается обрабатывать сообщение, созданное dot test
точка J s будет делать только тест мокко
здесь, чтобы начать тест мокко О
не висеть на ручке сообщений , созданных и
мокка делает эту вещь, где ее
функции в рамках функций и
то мокко-тест выглядит так
точно так же, как я просто хочу увидеть мокко
потому что у меня нет мокко в
место здесь не должно терпеть неудачу теперь подтягивать
терминал, поскольку Visual Studio имеет
встроенный терминал Я собираюсь сделать npm
install save Я собираюсь package.json
[Музыка]
и мы собираемся добавить сценарии, которые я собираюсь
к испытанию вы не добавляете Boca может я как раз
сделаю это, я думаю, что мокка будет просто
найти материал с тестом-испытанием OPM
не найти шаблонов для сопоставления тестовых файлов
тест, давайте сделаем, как звездная точка, и тест
джаз нет да, что сработало
давайте держать его , как что теперь
причина, по которой я создал это тестирование npm
что я не устанавливал мокко локально i
просто установил его в
приложение, поэтому, если я наберу его курильщика
не будет работать, потому что это не в моем
однако, когда я это делаю ,
он в сценариях npm здесь будет иметь
доступ к мокко в контексте
запускать это, потому что
внутренне это очень удобно, и это
неплохо не устанавливать рынок
глобально в любом случае, давайте закроем. У меня есть
много вещей, открытых здесь, позвольте мне закрыть
некоторым не нужно, чтобы не
не заслуживают в тот момент, когда я собираюсь
сохраните это круто, поэтому у нас есть сообщение
кредит он не должен терпеть неудачу, потому что это
просто некоторые тесты дерьма, которые я собираюсь сделать
что делать
мокка не смотрю, что я делаю, что это не
работаю, эй, мне нужно исправить картину
Джейсон поблагодарить вас, посмотрим, давайте попробуем это
NPM тест сейчас классный, я думаю, он работает
каждый раз, когда я перехожу к файлу так, чтобы
так что так, так что я делаю, о, пусть
дескриптор сообщения создал функцию, которая
мы тестируем, мы будем требовать его
это импульс создан и давайте иметь
настроить здесь перед каждым, чтобы это выполнялось
перед каждым переходом на каждый тестовый пример и
у нас будет созданный дескриптор
помните, что это на самом деле
фабрика , создающая почтовый стол
функций, и я собираюсь назначить вид
конечно, созданный с ручкой make first
создал вызов, а затем мы пройдем
зависимостей, так что когда мы
собираюсь использовать это и реальное
приложение , которое мы собираемся пройти и
реальные зависимости Я помню только
зависимости, которые мы на самом деле имеем здесь
назначается пакетный бомбо-бом и знак
это зависимость, потому что это будет
имеет кучу пучков побочных эффектов и
бум бум, поэтому мы собираемся подделать это
поставьте знаковый пакет, и мы собираемся
нужен Зенон Зенон — вещь для насмешек
функции, поэтому давайте посмотрим, как sanam требует от меня
думаю, что достаточно много аварий
потому что санам не установлен, так что
нет, поэтому я много делаю здесь
то я не обязательно трачу много
времени, объясняющего, если у вас есть вопросы
вы просто публикуете их в комментариях вниз
ниже есть также большинство, у нас есть
персональная ссылка на дискуссионную тему
об этом эпизоде на фронте на форуме
если вы покровитель, где вы можете
задавать вопросы о nitty-gritty да
помните, когда вы задаете вопрос
убедитесь, что вы ссылаетесь на время
что люди точно знают , где вы, что
вы спрашиваете о
синий синий синий синий
все правильно, см. нет, требует, чтобы вы знали, как
ты делаешь это, я думаю, что это просто
я видел на стопоре, иногда я помню
вещи, и я называю это знаком, так что я
подпишите это к зависимостям, так что теперь мы
иметь как фактический пост сообщения, созданный
и когда мы вызываем этот дескриптор
сообщение создано, что мы тестируем здесь
это просто холодно, давайте просто позвоним
это и посмотреть, будут ли теперь действовать ах НПМ и
BM- тест и создание рукописного сообщения
это не нормально, давайте посмотрим на
код теперь это правда, потому что мы
не экспортировать его, чтобы я знал, что вы
больше экспорта Joel dot
потому что созданные механизмы не могут совпадать
против неопределенного или нет, о да
поэтому создается сообщение, созданное им
объект, и он не в нем , а не
получение объекта, который становится неопределенным
поэтому нам нужно передать объект, а теперь
он работает так, чтобы мы получили химическое вещество.
добраться где-нибудь
но мы смотрим на наш эскиз здесь.
хотите, чтобы он вызывал знак с этим
здесь, так что давайте посмотрим на это вызовы
знаковая партия
и мы хотели назвать его с
имя пользователя, с которым мы прошли, мы можем начать
с этим с именем пользователя, переданным так
Давайте назовем дескриптор сообщения, созданный с помощью
имя пользователя с именем пользователя и
то мы пойдем к тому, что нам нужно даже
Больше
Попробуй это
хорошо все в порядке попробовать это , кажется,
улучшилось, так что знак ожидает макета
заглушка знакового знака, как это работает
и сезон ожидает ах, да, ожидайте мудрых
ширина трюма , что я думаю , что это
аргумент и объекты, которые я назвал, должны
быть вызванным с этим
ожидаемый шлейф для вызова с
аргументы
что это, хотя не было, нам не нужно было
на самом деле назовите его так, чтобы тест работал
назначенный значок Мне жаль знак сигнала
подписывать имя пользователя и теперь он работает
хорошо, мы добиваемся прогресса, мы также хотим
он должен передать мне, называя его
пакетный идентификатор 104
я просто собираюсь испечь эти
свойства вместе с правильным
свойства сделать пакет ID 104 okay
мы видим здесь, что теперь он терпит неудачу
красиво, что о, это неверно
мы вызываем его с каким-то именем пользователя, но
это похоже на то, что вы называете это периодическим
ID 104 и обычно в некотором имени пользователя мы
нужно исправить код бесполезно здесь
Идентификатор народного значка, и он проходит мимо
заключается в том, что мы хотим, чтобы это обеспечило причину
правильно, это должно выглядеть так, как я.
отправьте пасту, чтобы проверить причину и
он хочет, чтобы у него был идентификатор темы и тост
номер да, так что если мы назовем это,
ID раздела 5 или 5 и пост номер 66 он
следует назначить причину 5-5, а
пост № 66 круто и это провал , как
ожидается, что мы вернемся к коду и сделаем
реальная вещь здесь
идентификатор темы и номер столбца
эта вещь здесь и, конечно же, мы
необходимо также указать причину
объект, и теперь Пэт говорит, что я классный
прямо сейчас у нас есть оператор if здесь
мы не хотим выполнять назначенный значок
если темы не есть
представитесь, поэтому давайте обязательно
что он не называет знаковый знак, если
Неправильный журнал тем мне нравится
загладить не в описаниях
потому что людям трудно заниматься
с отрицанием, поэтому он делает это
это намного реже для вас
ошибки, если вам нравится вызывать
отрицание Я бомба, так что скажем, что мы
созданный столбец вызова, но у нас есть
тема, которая является чем-то иным, чем
представите себя так, что некоторые из их
тема пробкового то я ожидаю , что знак был
не звонил, и я пишу, что
[Музыка]
ожидать, что метод объекта называется да
хорошо, но как я не остыл
так, что да, которые работали, ожидали этого
вещи не были целыми, но что
трижды, что это такое
неожиданный
о, потому что я не использую
повторное использование заглушки между каждым тестом I
каждый раз воссоздавать заглушку
давайте сделаем это хорошо, он все еще терпит неудачу
но сейчас ожидаем, что это не будет
холодно , но , что называется , как только это
лучше в порядке , так что давайте вернемся и добавить
if, чтобы он остановился
так что, если поток тегов
не представляет себя, что мы возвращаемся
но я сказал, что наверху я люблю делать
защитное программирование, подобное этому и
иметь дело на краю дел
а не делать их как Алиса на
конец я услышал некоторую хорошую рационализацию
о том, почему, но мой мозг не работает
достаточно хорошо , чтобы позвонить , что из любой
путь мм хмм право в порядке вещей , чтобы ожидать
вызывать с аргументами, это
на самом деле другой тест, который терпит неудачу
поэтому тестером мы работали над работами
ну теперь, но старый тест сломался и что
потому что у этого нет темы
слот, поэтому нам нужно это сделать.
этот звонок полностью действителен и
он назвал его представительным
что хорошо, три, проходящие туда
круто, я немного потяну
бит, чтобы дать нам больше свободного места на следующем шаге
что назначенный значок здесь это
на самом деле просто уходит и делает
вещи , которые мы хотим на самом деле ждать
ошибка, а также хорошая вещь здесь
на самом деле , присвоение значка возвращает
обещаем, поэтому мы просто хотим, чтобы
функции, чтобы передать обещание и
любой код использует эту функцию
то будет нести ответственность за дело
с обещанием, о котором мы говорили об этом
это отличная техника для прохождения ошибки
обработчик, обрабатывающий слова, о которых я говорил
что в предыдущем эпизоде вы можете
найти здесь, но в основном мы хотим сделать
убедитесь, что назначенная партия просто возвращает
обещание от назначенной партии
пусть это она проходит обещание о к
функция вызова функции хорошая да
обещать от той же партии на
хладнокровие
если они окунают его, то это просто надежда
мы вставляем это в настоящее время в тестах, это даже
более важно подождать
дублирование
Я обычно в коде жду, по крайней мере,
три случая перед удалением дублирования
Я обнаружил, что это будет сладкий
место, когда вы начинаете фактически видеть
фактический общий случай в тестах I
обнаружили, что вам нужно подождать дольше
потому что сложнее определить
определили общий случай , так что я , как правило,
подождите по крайней мере пять или шесть раз , прежде чем
начиная удалять тесты дублирования
да, что мы делаем, мы хотим, чтобы мы позвонили
мы вызываем партию, мы хотим иметь
знак , возвращающий что-то, чтобы проверить, что
мы получаем это от Ганнибала
регресс, давайте будем есть
нам нужен знак, называемый
ну нет, это просто с дугами, мы не можем
просто сделайте это
и мы должны сделать фальшивое обещание
как мы можем просто использовать любой объект здесь
не имеет значения, это просто местозаполнитель
Знак знака Oh возвращает фальшивое обещание и
тогда мы запишем, а затем проверим, что
Выход ожидать выход из -Выход
быть поддельным обещанием
undefined, чтобы равняться этой вещи, давайте я
собираюсь подделать обещание да так ожидалось
не определено равное поддельное обещание
Я в любом случае я просто создаю подделку
объект здесь я пытаюсь дать ему хороший
имя ahh хорошая структура в любом случае ожидается
на борьбу за равные Я подделка
потому что мы фактически не возвращаемся
присвоение возвращает подписанную партию
это работает, о ждите, не
это о , потому что да, потому что сейчас
в случае, если это для случая, когда
это какой-то другой слизень, который он представит
Я собираюсь изменить это, чтобы быть
правильный ответ , и теперь он будет
вернуть обещание дефекта, потому что
теперь вызов назначенной партии да, хотя
хотя хотя хотя и происходит
если я хочу, чтобы это было надежно
синхронный Я всегда хочу, чтобы это возвращалось
обещание, потому что в противном случае оно
действительно странно назвать это, давайте посмотрим, давайте
видеть это
и с возвращением обещание, когда мы
Бог мой, я мой мозг тает, когда
даже если тема не правильная
Черт, я просто собираюсь вставить этот
неверная тема и вставить ее в
здесь, но на этот раз мы проверяем, что
выход, который я хочу оставить после натяжения пальто
выкладывать топ-10 должно быть да, это так
что вы можете выполнить синхронный тест в
мокка просто вызывает выполненный обратный вызов один раз
вы закончили Я знаю, что есть вещи
с которым вы можете позвонить, можете вернуться
обещает прогуляться об этом, это не совсем
Я не чувствую, что это слова доверия в
в любом случае, это даже не
получить это далеко, потому что это не
возвращая любое обещание, которое я должен сделать
верните обещание, так что вы просто обещаете
dot solve true Я думаю
круто и теперь она работает , потому что пока это
разрешает все, что мы на самом деле не делаем
заботиться о ценности, которую вы знаете, что я
просто
разрешить ли оно какую-либо ценность, потому что мы
никогда не использовали его, мы просто хотели быть
разрешен, а затем он называет выполненным и что
делает этот тест успешным, если я не
вызванный сделанный, это бы сократило время
вне
я не думаю, что мы сейчас
Я не доволен этим я могу убираю
наш пример кода здесь, я в порядке с этим
и то, что я собираюсь сделать, теперь вернется
до нашего mmm и узнайте, где
мы хотим так хорошо, вот наш, где мы просто
написал наш материал, который мы знаем сейчас нет
мы использовали некоторые данные
от запроса тела тосты мы хотим сейчас
на самом деле вызывать функцию, которую мы называем
это сортированная ручка, созданная, и мы
хочу передать эти вещи, мы имеем
назвали их несколько разными именами
потому что это подчеркнутые имена и
в нашей системе мы используем
конвенции о верблюжьем футляре и так там
это называется тема slug вместо темы
slug, отображающий их вокруг и идентификатор темы для
тему из темы ID, а затем у нас есть
номер сообщения для сообщения, и я думаю
это будет да, думаю, мы используем
вес грузила здесь в этом на этом уровне
мы можем просто сделать это
то мы сделали на самом деле я думаю , что это
это хорошо, давайте сделаем это
давайте найдем башни ой это просто
дерьмовый файл давайте отбросим , что далеко
Пример создания сообщения Я буду держать это
вокруг на всякий случай, когда нам это нужно немного
бит, я не собираюсь это делать
хорошо, это то, что я никогда не исправлял
давайте сделаем это, пока мы добавили
куча зависимостей да выглядит хорошо
я думаю
все в порядке, давайте сделаем это, что мы сделали
мы внедрили пакет для ввода знака
и мы подталкиваем его к нашему github, а затем
Я также собираюсь сделать git push Heroku
мастер, как вы развертываете в Хероку
вероятно, мне очень приятно, что это
быстро, но эта часть очень медленная.
не знаю, зачем загружать NPM это
просто кеширование и прочее здание
зависимостей, и он должен быть развернут
запустил все в порядке, посмотрим, сломался ли я
что-то ужасно теперь пойдем к админу
и давайте посмотрим , вернемся к
просто введите
для пинков у меня есть интродукции
patch okay У меня есть это тестовое соответствие API
то есть из какой-то другой тестовой идеи давайте
на самом деле сделать другой тест другого API
тест не против меня тестирование в живом
окружающая среда это мой номер человек
давайте посмотрим, что нам так повезло, что я получил
значок нет, почему не в порядке
что случилось с давайте посмотрим
в API и посмотреть, что происходит с
webhook так хорошо, мы получили 500 ошибок
разбился так, что это сообщение создано событие
давайте посмотрим, посмотрим, посмотрим
журналы журналов Heroku регистрируют это только
должен дать нам все в порядке, это
другие вещи в порядке
Ручка пост создал это не весело , да
doh хорошо, может быть, я должен был проверить это
локально, но сложно с помощью веб-крючков um
это не так сложно, когда эти крючки я
может просто иметь прошлое, у меня есть все
целые волосы запроса можно смоделировать
это использование завитка или что-то, что я просто
ленивый да
хорошо, поэтому проблема здесь, что давайте
найти эту вещь, это не штраф
потому что не определено, что нам нужно
делать это, чтобы передать его в службу, чтобы служить
добавим это как зависимость от
обслуживать то, что подано
поэтому служат еще один из них
инверсия функций управления, которые я
поэтому верхний уровень на самом деле не
служить на самом деле индексом, поэтому в индексе мы
собираются повесить после знаковой партии
потому что это это зависит от флага
матч, который мы собираемся делать
и мы будем требовать
создайте дескриптор почты, и снова это
на самом деле не обрабатывать сообщение, созданное
у него был отличный пост
функции, которая принимает наши зависимости и
и у него есть только одна зависимость, помните
да, это зависит от знаковой партии
и мы так передаем это, а потом
создайте сообщение, потому что нам нужно
передайте, что в, чтобы служить, потому что служат
зависит от того, как публиковать созданные
почему у нас была проблема раньше, и теперь я
подумайте, что это должно работать, и мы
подталкивая это, чтобы получить, и мы также
подталкивая его к Heroku Wow
получить толчок Heroku моя остановка
избили мою глупую интеграцию с API
да, я могу на самом деле
повторить этот пост создал вещь, я просто
возьмите свой редилизатор и посмотрите, работает ли он
на этот раз не смотри
Журналы Heroku
О, много других вещей, которые случаются
bang bang bang bang ссылка и
ссылаться на их номер сообщения не является
определяется на 59 наблюдать ой да я UH I
мог бы видеть, что
все право фиксирующих вещи бум толкающие к
Хероку снова в порядке
давайте ударить его redeliver ай да, я хочу
переделать
похоже, что он еще 500 блоков BAM oh
вот какая-то ОЗУ дерьма
исключений да, я думаю, что получаю очень
близко к точке , где я действительно должен
быть в состоянии просто подделывать эти веб-крючки на
мой на моей машине, но я не совсем
готов сделать это, но я собираюсь просто
console.log аргументы из Oryx
возможно, выбирает, что мы называем это ужасным
отладка производства , и мы делаем
gig, конечно, я фактически не регистрировал его
о , боже, я ужасен, ужасен
ужасный ужасный ужас Я просто
выкапывая себя в яму здесь argh
по крайней мере , у меня есть история коммитов еще толчок
ваш мастер, которого я понимаю во время этих
все дело в том, что я хочу сделать это в
сокращенный период времени, но также и
значит, я просто показываю много ужасных
ужасные привычки, потому что я не трачу
достаточно времени с ним, и я вроде как
я написал несколько модульных тестов здесь, но это
также означает, что мы не совсем получаем
к мясу этого я хотел показать некоторые
некоторый состав функций, и мы
просто не делая того, что мы доставляем
endpoint давайте посмотрим, хорошо, посмотрим
журналы мне дают еще немного
Информация
oops username batch ID и причина
думаю, что это ops показалось им
казалось, действительно действительно, так что
интересно посмотреть на это назначенное
возможно, у меня есть какая-то проблема в
возможно, я сломал это вчера
что-то о, мы на самом деле не проходим
пропуская это, я не должен
чувствую, что это должно иметь значение, хотя
мы похожи на то, что собираюсь
вот в чем причина этого не на самом деле
будучи принятым, чтобы сделать знак
значок, но это не должно меняться
хорошо, посмотрим, в чем проблема.
здесь мы действительно делаем некоторые
Здесь пара функциональных позиций
но мы начинаем с одного из худших
вещи с функциональным составом и
то есть очень сложно отлаживать
потому что это не вина
функциональный состав как таковой, это просто
фото lambda Я имею в виду это Рам де ты
могло бы сделать это намного приятнее
сообщение о воздушном матче, но что происходит
см. здесь, что это я отразил это
вчера, и именно поэтому он сломался, и я
не проверял его правильно, труба P является
функции в оперативной памяти, которая создает
цепочки функций других функций, поэтому
он собирается создать новый
функция, которая будет принимать любое значение
он переходит к нему, а затем он идет
передать это значение первой функции
здесь создавайте тело так, когда мы называем
назначить функцию значка, которую он вызовет
тело с этими двумя аргументами, и это
будет принимать все , что он получает от
от этой функции и передать его в
следующей функции и т. д. это то, что PI
но это PI P и PI P
именно это
за исключением того, что он ожидает каждый
чтобы вернуть обещание и что
это то , что я пропустил здесь , так что мне нужно
делать просто это обещание не разрешает
Blatt знак уже не тестирован
может и позже, но пока давайте
сосредоточиться на решении проблемы bum bum bum
bum обещание фиксированное сделать знак партии это
также означает, что многие люди не
получают свои значки
Удивительный , потому что это не удалось мне нужно
сделать некоторое ремонтное задание позже, но это
круто, это не проблема, потому что мы
до сих пор нет причины, но я ожидаю
это сейчас работать
он сказал знаменитые последние слова
да 200 это работает, давайте посмотрим на
тест API, который я должен был получить
партия прерывания, которую я сделал, но это
это на самом деле не связано ни с чем
и это потому, что ему не хватает
причина , мы собираемся , чтобы гарантировать , что а
знаковая партия, это также проходит по причине
пройдите по причине, мы прошли, что вы получаете
толкать мастер ракеты , так что теперь я собираюсь
удалить этот значок из меня
эй значки ждут
удалите совпадение теста API, пока я нахожусь
он отменил значок все в порядке страшно
терминологию, и я думаю, что могу просто
теперь перейдите к развернутому, но
развернутый, я думаю, что могу просто читать печень
это немедленно koplow это работает
это работает, это работает
посмотри на это
предоставил себе работу
фантастический, так что теперь это работает
мы не сделали много функций
состав, который я обещал
вы
в этом эпизоде, посмотрим, можем ли мы
посмотрите, почему мы еще не сделали
большая композиция — это потому, что есть
уже я уже сделал много
функции в этом в этом
проекта и функции, которые мы просто
созданный столбец, созданный, как есть
не очень много вещей в нем происходит так
нет ничего белого, что мы можем
сделать это, я имею в виду, что мы уже
уже используя эту назначенную партию внутри
из-за этого мы так или иначе составляем
функции функции уже, возможно, я
Я просто получил это обратно
в заявлении о парковке я думаю, что мы
может просто войти в патч знака и
разгадать эту функцию
здесь, чтобы дать вам представление о том, что
случается так, что у нас есть тело тела mmm
ладно, давайте сделаем это, я собираюсь переписать
это вы, не используя трубопровод
функция давайте просто сделаем это, позвольте мне
закрыть этот и закрыть этот так
во-первых, что это помнит
что он создает функцию так, что мы
нужно сначала вернуть функцию
и я буду комментировать это к
помните, что это то, что мы
работа с первым делом заключается в том, что мы
что мы собираемся делать, мы собираемся сделать
лодка, а затем мы прямо
также нужны аргументы здесь:
варианты, и тогда мы собираемся опубликовать
это как JSON для немного допингового допинга
Допинг Допинг Допинг Допинг Допинг
и мы будем использовать этот дискурс
API евро , и мы будем проходить в
так что это на самом деле также пример
состава функции здесь эта вещь
является другой заводской функцией, с которой
создает aa-функцию, поэтому мы здесь делаем
на самом деле представляет собой Джейсона для использования или плохого
просто конечная точка, создающая эту функцию
здесь и далее мы размещаем тело здесь и
то это может вернуть ошибку, поэтому мы делаем
то, потому что это будет ответ
также и мы все в порядке, позвольте мне показать вам
какая ошибка, если ok не выглядит внутри
снова мы посмотрели, что раньше, но что это
делает это это функция , которая принимает
ответа, и он проверяет статус и
код на этом объекте, и если это так, если это
не 200, это порождает ошибку, так что мы
действительно мог бы сделать здесь да, чтобы повторно использовать это
поэтому мы можем фактически использовать это внутри
так и тогда мы можем просто
верните это, вы можете просто вернуться
это , но я собираюсь написать , что к
сделать немного более понятным, что
потому что это возвращает обещание
или он фактически возвращает ответ
обещание, которое
объект ответа, поэтому, когда ответ
Обещание решает , то мы делаем ошибку
урок в порядке, а затем мы возвращаемся
потому что это и причина, по которой мы
вернемся так, как будто мы нет
действительно не заинтересованы в том, что
и это данные из ответа, потому что мы
отправляют данные в конечную точку здесь, поэтому
как вы видите, она такая, как я
должен сказать, что теперь, когда я его выписываю
как это, когда у меня есть сравнение
функции вполне могут быть
что эта функция трубы действительно не
добавьте много или, по крайней мере, добавляет немного
бит, потому что это выглядит довольно круто
похоже, он очень сосредоточен на том, что он делает
он делает тело для должности
запрос, а затем он сообщает, что как Джейсон
к дискурсу ваши пользовательские значки пользователя
Джейсон, а затем ошибка, если все в порядке, и это
Ошибки в качестве знака партии эх жаль
так это то, что называется точечным или
молчаливое программирование, это хорошо, потому что это
сфокусировано на том, что намеревается код
делать, а не присваивать
переменные взад и вперед это
читаемый в хорошем весе, однако труба P
как вы видели , это было трудно для меня
debug, потому что сообщения об ошибках
эти составные функции становятся
иногда просто ужасно, и давайте попробуем
увидеть , если мы можем составить вещи
обещания без использования этой трубы P
просто весело, поэтому у нас есть этот ответ
тело, которое мы создаем или жалеем
попросите тело, давайте попробуем это вместо этого
давайте сделаем это обещание , не разрешим
и так это тело, а затем мы делаем
мы используем эту БАМ, которая довольно крутая
что работает я худой, мы просто делаем это
Эй, хорошо, это довольно круто на самом деле
это на самом деле намного приятнее, я просто
подумал, что было так здорово использовать это
случайная вещь, но ах, когда вы выполняете обещания
вы действительно можете их на самом деле
действительно приятно , это довольно круто, это
немного раздражает, что это не
мы могли бы сделать что-то вроде звонка
это, как тосты, которые будут и делают
возможно, это делает его лучше
хм, я не знаю, я не знаю, на самом деле я
подумайте, что это действительно так, потому что это
позволил бы мне просто сделать это
простые однострочные функции стрелки, которые я могу
просто сделайте это, а затем объявите это как
однострочные функции стрелки и да
он богат
как будто это довольно красиво
Spiffy так что это точно так же он
просто у нас есть тело здесь, если мы разрешим
это как обещание, потому что это то, что
обещание д- р. песня делает, а затем мы публикуем
что, поскольку Джейсон использовал API URI для дискурса
к badgerstour Джейсону, а затем мы называем
если все в порядке, и если все в порядке
мы просто
возвращение ответа довольно
довольно приятно и причина, по которой мы можем
почему это так хорошо работает, что
эти вещи очень сложны
функционирует так, что ошибка, если все в порядке, это очень
легко засунуть в берлоге , потому что он
делает то , что это просто
функция, которая принимает один аргумент
если это не так,
в противном случае он возвращается или случайный ответ
если мы используем его в обещании, мы
на самом деле не нужно это делать, но я
добавить, что, когда я использовал
я не думаю, что могу
удалите его, потому что я использую воздух, если
m’kay в других местах , где используется труба II
все же, но глядя на это, это
является отличным улучшением по сравнению с этим
это на самом деле менее сложно
и свернутый, и я
Я также избавляюсь от большей зависимости здесь
Мне не нужен Рам де внутри этого
функции также вы видите здесь, как это
также отличный пример функции
Компоненты жаль, что это тоже замечательно
Примером функции композиции
API URI дискурса позвольте мне напомнить вам, что
что он просто создает URI из
полный URI только с пути, так что если я
есть только этот путь, что он будет делать
он будет сваривать домен перед
форум и все такое, и это будет
также будет сваривать ключ API и
строка запроса извиняется за ключ API и
имя пользователя, которое требуется как строка запроса
на пассивном преобразует
путь к полному URL-адресу API, так что это
возвращается
а затем опубликовать нам Джейсон опубликовать попросит Jason
к тому , что будет делать то , что это происходит
к о, это много переносит
вот так это просто зависимость
инъекции, которые мы имеем на верхнем уровне
но тогда, потому что нам нужно, потому что это
функция требует выборки, но затем, что это
это значит, что он снова принимает URI, если вы
посмотрите здесь это URI, тогда о, жаль
о, я прыгаю, запутываю тебя
извините, жаль, что исправлено для
такая бедная ситуация, а затем она создает
это возвращает другую функцию
которая является фактической функцией, которая
с помощью URI и этой функции
теперь эта функция, что я
готов к публикации в этот конкретный URI и
все, что от меня требуется , — это тело и когда
он получает тело, которое он извлекает и
отправляет ли сообщение JSON и его
ставит тело, это довольно хорошо, поэтому, может быть,
вам нравится, я просто извлечу это из
сделать его более очевидным, что он делает
это создает новую функцию , это новая
как должность Джейсона на значки
теперь это будет
функция
который примет это, чтобы вы могли
на самом деле вы могли бы это сделать,
если я захочу переписать это в
другой стиль, который я мог сделать, мог бы сделать
это потому, что у Джейсона два значка и
это не так уж плохо или на самом деле я
нужно вернуть его из-за многострочной
но не совсем понятно, что это не
в естественном порядке мы просто создаем
функция сначала здесь и затем назначает
мы могли бы сделать это, мы могли бы это сделать
мы могли бы это сделать
это странно
поэтому публикует Jason для URL-адреса API-интерфейса и
то мы пройдем в теле, и это
это нормально, это не совсем ужасно
но это немного запутанно, и я думаю
что-то оригинальная версия
где мы просто сделали это довольно пятно
довольно скользкий да, это для меня это
очень читаем как цепочку, я надеюсь, что это
Возможно, YouTube, и я снова вижу
Вы видите здесь это использование выделки так
первый раз, когда вы впервые
вызовите эту функцию, чтобы вы могли позвонить
с зависимостями, которые создают
другая функция, которая является фактической
функция, возвращающая тот, который принимает
аргументы, но это было
с этими зависимостями
процесс Джейсона тоже сейчас из-за
доступная мощность затворов
вот так, если я вернусь к индексу, покажу вам
как это работает
мы здесь назначенные партии, поэтому мы
просто требуется назначенная партия, а затем
мы пропускаем зависимости и
что даст нам фактический назначен
поэтому вы можете просмотреть это как
пусть сделать знак знак
whap требует, чтобы это не оставалось на
это просто
инверсия управления в функциональном
стиль, но это дает вам ощущение
Майк, я надеюсь, что это поможет увидеть эти вещи
где я просто передаю функции вокруг и
делая все такие виды ношения и
это может помочь вам увидеть, как это
все падает вместе и как вы это делаете
легче комбинировать и составлять
возможно, может быть, я просто слишком
устал на этом этапе и просто участвовал в
моя собственная функциональная ерунда, которую я не знаю
как вы думаете, напишите комментарий
ниже, если вам понравилось или не понравилось
это это оказалось долгим ой
да, я думал, что смогу вытащить
это быстро, но в любом случае я
собираюсь подписаться, теперь у вас есть
смотрел эпизод веселой веселой функции I
релиз это каждый понедельник утром прочь
200 GMT они обычно не такие длинные
если вам это нравится, вам также может понравиться
это видео, которое машина Google
обучение думает, это хорошо для вас, если вы
действительно нравится это, пожалуйста, подумайте
став патэконом, нажав там
это отличное объяснение того, почему вы
если я буду mpj до следующего понедельника
утро остается любопытным
Please follow and like us:
Be First to Comment