• Почему в методе reduce sum имеет строковый тип данных в моём коде?

    avengerweb
    @avengerweb
    Веб-разработчик и не только
    .reduce( (sum, it, ind, arr) => sum + factorial(it), 0)
    https://developer.mozilla.org/ru/docs/Web/JavaScri...

    При первом вызове функции, параметры accumulator и currentValue могут принимать одно из двух значений. Если при вызове reduce() передан аргумент initialValue, то значение accumulator будет равным значению initialValue, а значение currentValue будет равным первому значению в массиве. Если аргумент initialValue не задан, то значение accumulator будет равным первому значению в массиве, а значение currentValue будет равным второму значению в массиве.

    Если массив пустой и аргумент initialValue не указан, будет брошено исключение TypeError. Если массив состоит только из одного элемента (независимо от его положения в массиве) и аргумент initialValue не указан, или если аргумент initialValue указан, но массив пустой, то будет возвращено одно это значение, без вызова функции callback.


    А так как первое значение у вас строка, то вот вам и ответ.
    Ответ написан
    Комментировать
  • Стоит ли использовать Angular2, vue.js для упрощения разработки, если я их не знаю, или стоит остановится на JQuery/Vanilla в моём случае?

    avengerweb
    @avengerweb
    Веб-разработчик и не только
    Рекомендую Vue.js, писал и на React.JS и на Angular, проще всего вам будет с vue.js для вас он будет более приятен, так как выглядит как новорот сверху html, в отличие от react`а который предлагает JSX(Который тоже придется изучить).
    Angular по моему мнению очень громоздкий. (и не очень уж и популярный, раз на то прошло, на нем много оочень больших проектов)
    По скорости вы особо разницы не заметите, тут зависит только от того как вы это напишите (можете поискать где то на хабре сравнивали скорости какого то левого фреймворка, vue.js, реакта и вроде ангуляра)
    Да не слушайте басни о JWT, RxJS, токен вы сможете подставить в любую библиотеку для запросов (чего будет достаточно на первых этапах), а RxJS в реактивном фреймворке изварт, по моему мнению (хотя видел 1 или 2 проекта где его использовали, но это капля в море)
    По Vue.JS, сразу стоит на заметку взять vue-router, vuex, axios, в частности для vuex можно сразу найти пару вариантов для обработки ваших сокетов.
    Ответ написан
    Комментировать
  • Можно ли хранить laravel passport токены в redis/memcache?

    avengerweb
    @avengerweb
    Веб-разработчик и не только
    Ну а чего вы, сколько у вас там юзеров или сколько предполагается? Взяли и сделали нагрузочное тестирование, удостоверились что база тут отработает быстро и идеально и занимаетесь другими более важными вещами. Если проще, то перед тем как вы получите влияние на скорость от такого простого запроса, вы поймёте что bottle-neck тут php, и пойдёте думать в сторону load-balancing и распределеных систем, а вот когда вы уже начнёте упереться в базу данных, вот тогда можно будет подумать о репликации.
    кеширование в данном случае вас не спасёт вы продублируете данные в памяти, MySQL это умеет делать и без вашей помощи, в общем случае вообще не имеет смысла делать кешированое на одиночные разряженные и простые запросы.
    Ответ написан
    Комментировать
  • Хороший фреймворк для разработки бота?

    avengerweb
    @avengerweb
    Веб-разработчик и не только
    К сожалению за все то время что нам приходится писать ботов для разных мессенджеров, не удалось встретить универсального решения для всего которое могло бы покрыть все наши желания. Практически у каждого мессенджера есть свои фишки из за которых его любят, если вы не используете их, то скорее всего вашим ботом так же никто не будет пользоваться. По поводу выбора языка, мы остановились на node.js в этом плане для подобного реалтайма он хорош большая часть мессенджеров поддерживает общение через веб-сокеты, что хорошо сказывается на скорости работы, ответов и производительности, да и готовые пакеты доступны для всех месеннджеров.
    Ответ написан
    Комментировать