Функциональное программирование с использованием библиотеки fp-ts | Odessa Frontend Meetup #19

Поделиться
HTML-код
  • Опубликовано: 3 дек 2024

Комментарии • 18

  • @taras7844
    @taras7844 2 года назад +4

    Крутий чувак!! Подача на високому рівні)

    • @19n1ght
      @19n1ght 2 года назад +1

      Спасибо :)

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

    спасибо! шикарно объяснил!

    • @19n1ght
      @19n1ght 9 месяцев назад

      Благодарю :)

  • @dimitro.cardellini
    @dimitro.cardellini 2 года назад +3

    Дмитрий! ;)
    11:55 - генерация псевдо-случайного числа -- это нечистая функция, т.к. не выполняется требование ссылочной прозрачности (иными словами нет гарантии получения одного и того-же результата при повторном вызове с теми-же аргументами). Любая функция, результат которой зависит от результата нечистой функции, так же не будет чистой. Поэтому shuffle -- это нечистая функция. Вместе с тем, пример важный и правильный, но лучше надо было взять функцию reverse

    • @19n1ght
      @19n1ght 2 года назад +2

      Да, Вы правы. Тут я напутал. Спасибо :)

  • @maxm1nd
    @maxm1nd 2 года назад +2

    На 11:00 показан пример якобы чистой функции, которая на самом деле не является чистой, поскольку она является недетерминированной (для одного и того же набора входных данных результат может быть разным)

    • @19n1ght
      @19n1ght 2 года назад +1

      Да, Вы правы.

    • @19n1ght
      @19n1ght 2 года назад

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

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

      @@19n1ght Там ещё на 17:28 мне показалось, что проблема будет не только в наличии undefined, но и в несовместимости типов User[] и User. Не придирка, просто решил "подсветить". Доклад очень понравился, спасибо

    • @maxm1nd
      @maxm1nd 2 года назад +1

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

    • @19n1ght
      @19n1ght 2 года назад

      ​@@maxm1nd Ютуб безжалостно удаляет сообщения, в которых есть код или ссылки :))
      Спасибо Вам больше за комментарии!
      Я в предыдущем (удаленном ютубом сообщении) писал, что там используется метод find, который возвращает T | undefined. Если бы был, например, метод filter, тогда да, был бы массив.

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

    QR-код на 36:00 битый, ссылка нерабочая. Комментарий со ссылкой не публикуется. Добавьте сюда прямую ссылку, пожалуйста

    • @19n1ght
      @19n1ght 2 года назад +1

      Попрошу владельца канала добавить ссылку в описание.

    • @OdesaFrontend
      @OdesaFrontend  2 года назад +2

      Добавил - github.com/dkhovrich/fp-ts-talk-code

  • @sergeykahnwald6640
    @sergeykahnwald6640 2 года назад +1

    const getCurrentDateIso = (): string => new Date().toISOString()
    А где здесь побочный эффект?

    • @19n1ght
      @19n1ght 2 года назад +1

      Тут скорее нечистая функция. Некоторые источники пишут, что нечистая функция === сайд эффект.

    • @АнимусАнанимус
      @АнимусАнанимус 2 года назад +1

      Побочный эффект - при каждом вызове разный результат. Т.е. функция взаимодействует с внешним миром, чтобы получить результат.