Функциональное программирование

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ม.ค. 2025

ความคิดเห็น • 20

  • @nataliepodgainova6582
    @nataliepodgainova6582 2 ปีที่แล้ว +6

    Я прям влюбилась. Как можно так заинтересовывать предметом. Смотрела не отрываясь.

  • @olnimus
    @olnimus 2 ปีที่แล้ว +4

    Лектор конечно офигенный. По-моему ему надо читать лекции не только по программированию, а ещё как правильно читать лекции.😀

    • @diatm1506
      @diatm1506 2 ปีที่แล้ว +1

      Жаль этот лектор про gof and grasp enterprise patterns не рассказывает(

  • @kai.hexenzorn
    @kai.hexenzorn 6 หลายเดือนก่อน

    Как раз в Julia появился конвейер. Но если нет конвейера, то необязательно использовать пайтоновские матрешки: double(inc(double(double(5)))) - можно сделать же по-человечески:
    pipe(5)
    .double()
    .inc()
    .double()
    .double()
    И код можно читать как книгу сверху вниз, и параметр можно пропихнуть в оператор, и поддержка типов имеется для мэппинга, если ts использовать.
    Кстати, почему мы не можем назвать функцию чистой, если она возвращает случайное число? Возможно, что нам важно сохранить предсказуемость именно характеристик случайной величины.

  • @life_xypma
    @life_xypma 2 ปีที่แล้ว +2

    Как человек здорово, точно, лаконично и (!) приятно для восприятия излогает. Агонь! Жалко что я JS не увлекаюсь)

  • @MrSanya789
    @MrSanya789 2 ปีที่แล้ว +8

    Практическая часть, это конечно отвал башки, спасибо, очень круто!

  • @mendelson-dev
    @mendelson-dev 2 ปีที่แล้ว +1

    32:54 почему внутри функции partial => fn(...apply, args) нет спред оператора для args? (и в функции curry)

    • @georgegrinding1793
      @georgegrinding1793 ปีที่แล้ว +1

      Я пришел к тому, что там ошибка. Перепутано, что нужно спредить. Должно быть: (...args) => fn(apply, ...args)

  • @humanidis
    @humanidis 8 หลายเดือนก่อน

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

  • @MrSanya789
    @MrSanya789 2 ปีที่แล้ว +1

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

  • @ДмитрийРозенбаун
    @ДмитрийРозенбаун 2 ปีที่แล้ว

    Спасибо большое за вебы!)

  • @СмтрТб
    @СмтрТб 2 ปีที่แล้ว +1

    1:00:12 начало практики

  • @СмтрТб
    @СмтрТб 2 ปีที่แล้ว +1

    Как проводится отладка кода при написании в таком стиле?

    • @gamerzero6085
      @gamerzero6085 9 หลายเดือนก่อน

      С помощью логов, как она проводится в практически любом крупном веб проекте. Редко когда мне доводилось воспользоваться дебаггером в крупных проектах.

  • @kirillpavlovskii8342
    @kirillpavlovskii8342 2 ปีที่แล้ว +1

    пример с createCounter это скорее не замыкание а фабрика в данном случае

  • @nikolay284
    @nikolay284 2 ปีที่แล้ว

    Я и бал как круто)

  • @RebziSquad
    @RebziSquad 2 ปีที่แล้ว +5

    Люди сами усложняют себе жизнь придумывая данные концепции. Каким образом человек должен разобраться в коде, где присутствуют тысячи деклараций функций. Таким образом в коде нет особого разграничения по объектам, все константы идут друг после друга.

    • @gamerzero6085
      @gamerzero6085 9 หลายเดือนก่อน

      Они распределены по модулям.

    • @RebziSquad
      @RebziSquad 9 หลายเดือนก่อน

      @@gamerzero6085 разделить на файлики и папочки недостаточно, лично мне проще импорнуть класс в котором уже все находится, чем писать "импорт звездочка эс название".

    • @humanidis
      @humanidis 8 หลายเดือนก่อน

      Вполне справедливое замечание. Некоторые функции я бы не стал декомпозировать. Например, три условия в if через && вполне гармонично смотрятся.
      В целом, должен быть тимлид, который будет решать, насколько операция часто используемая и стоит ли выносить ее в отдельную функцию. И тогда уже выносить функцию в папку utils по конкретному направлению (чарджинг, дашборд, юзер и т.п.) или даже в общую папку utils.