• Как использовать v-for и v-slot одновременно?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    <template v-for="(value, key, index) in copied" #[`item.${key}`]="{item, index}">
        <span @click="copied[key] = index; setTimeout(() => copied[key] = null, 2000); copy(item[key]);">
        ....
    </template>
    Ответ написан
    Комментировать
  • Почему .then иногда работает иногда нет?

    @historydev Куратор тега JavaScript
    nftcontract.methods.mint("1").send({from:account}).then(result => {
          console.log("Information about transaction", result)
          return;
    }).catch(console.error);
    Ответ написан
    1 комментарий
  • В чем соль использования хука Reducer кроме того что "мы так привыкли делать в Redux"?

    miraage
    @miraage
    Старый прогер
    Если попробовать поразмышлять..

    useState подразумевает плюс-минус простой стейт, который удобно обновлять через либо setState(newValue), либо через setState(prevState => ({ ...prevState, key: newValue })).

    useReducer для более сложных кейсов, где хранить логику обновления в компоненте становится нецелесообразным и/или будет слишком раздуваться компонент. Или же где логика переиспользуется. Впрочем, то же самое можно сделать и через useState, создав свои хуки, которые под капотом юзают useState/useReducer.

    На выходе, самым логичным на ум приходит более плавная миграция в redux на useReducer.

    Проблема в том, что redux не нужен в 90%+ проектах, и его можно было заменить голым реактом с его инструментами.
    Ответ написан
    3 комментария
  • Как продвигать каталог товаров (SEO) в котором товары периодически обновляются - какие то уходят, какие то приходят?

    vpetrov
    @vpetrov
    частный SEO-специалист, textarget.ru
    Сильно зависит от товарной матрицы. Если у вас товарные карточки привлекают трафик больше, чем категории (к примеру, вы продаёте смартфоны или видеокарты), то удалять карточки сразу и наглухо не надо. Просто сортируйте их на категории куда-нибудь в конец списка, и удаляйте, если только такие карточки начинают создавать проблемы - отказной трафик, например.
    Если речь о большом каталоге с чем-то и FMCG (носки какие-нибудь) - можно сносить сразу, это ни на что не влияет на объёмах и не привлекает самостоятельного трафика.
    Не рекомендую использовать какие-нибудь редиректы, как многие любят. Это путь вникуда, и технические проблемы со сканированием в ближней перспективе.
    Единственное - стоит удалять несуществующие товары из карты сайта, и в ряде случаев можно подумать об использовании meta robots - noindex, follow. В этом случае вы не потеряете вхождений ключа на категории, а роботы не будут засорять индекс мёртвыми урлами.
    Ответ написан
    2 комментария
  • Как продвигать каталог товаров (SEO) в котором товары периодически обновляются - какие то уходят, какие то приходят?

    pro100taa
    @pro100taa
    Можете не удалять страницы с отсутствующими товарами, а просто написать "нет в наличии". Часто публикуйте новости, статьи, заведите rss ленту и закиньте ее в каталоги. Тогда робот будет жить на вашем сайте. В Search Console можете добавлять новые товары.
    Ответ написан
    Комментировать
  • Как настроить приоритет скорости для устройств?

    @Drno
    Можно поставить нормальный роутер.

    Можно подключить нормального провайдера, который не режет трафф до европы

    Можно запустить на смарте люопенВПН, чтоб скрыть трафф от провайдера

    Можно не юзать бесполезный тикток, а почитать книжку
    Ответ написан
    4 комментария
  • Допустимо ли сокращать названия переменных до 1 буквы или комбинации символа + буквы?

    vabka
    @vabka
    Токсичный шарпист
    Моё мнение - если тебе смысл переменной не очевиден, то нужно делать полноценное имя переменной.

    Короткое, например, имеет смысл для параметра в лямбде (array.filter(x => x % 2 === 0)) или в какой-нибудь функции наподобие
    function sum(a, b) {
     return a+b;
    }


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

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

    Экономить ресурс нажатий на кнопки клавиатуры не надо, как и не надо экономить буквы на экране.
    Ответ написан
    Комментировать
  • Как заранее знать уровень подготовки спрашивающего?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Хорошо составленный вопрос содержит половину ответа :) По самой постановке вопроса, по описанию, по языку, который используется (не языку программирования, а именно языку общения, манерам, стилю, жаргону, фене), по его уместности в данной обстановке (особенно для вопросов типа "как сейчас заработать на фрилансе"), по полноте информации можно судить - стоит отвечать серьезно или же просто потроллить. Или вообще не тратить время :)
    Ответ написан
    Комментировать
  • Где взять датасет (для обучения модели) с анкетами из службы знакомств, но без персональных данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут датасеты разные есть https://datasetsearch.research.google.com/
    Ответ написан
    Комментировать
  • Что знает dpi о мессенджерах?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Довольно много.
    При регистрации в сети остается триангуляция до симки. То есть тебя сразу вычисляют с точностью 100 - 1500 метров.
    Дальше ты платишь за симку, 2 раза и у них уже есть набор видео где можно сличать персонажей.
    Хоть один раз попадал в милицию и твоя морда в системе.
    Барыги на рынке кстати стучат операм.
    Дальше сугубо технические детали. все твои адреса куда ты там ходил.
    Если это российский ресурс, то все данные предоставят по запросу.

    Но ты кстати спрашивай, уточняй
    Ответ написан
    3 комментария
  • Как лучше скрыть элемент в react?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Мне больше нравится вариант с Css
    Он проще, универсальный и понятен всем. А вот возникающий элемент из ниоткуда это нонсенс.
    Единственное оправдание это экономия трафика.
    Ответ написан
    3 комментария
  • Как можно улучшить модерирование?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Разумеется, он не знает местных заморочек, и накосячил.

    Абсолютно все перед регистрацией ставят галочку, что прочитали и приняли правила.

    А не давать пинка под зад, "Пшёл вон, дурачина", молча удаляя вопрос.

    При удалении вопроса, его автор получает уведомление с указанием причины удаления.
    Ответ написан
    Комментировать
  • Как можно улучшить модерирование?

    0xD34F
    @0xD34F
    Через форму обратной связи изложить администрации свои гениальные идеи (нет, это не насмешка, не сарказм - там такой пункт есть в выпадающем списке "тема"). Дальше надеяться, что администрация вас услышит, согласиться с услышанным и укажет модераторам на необходимость смены поведенческих паттернов.
    Ответ написан
    2 комментария
  • Как вставлять изображения в ссылки?

    godsplane
    @godsplane
    Это называется open graph
    Ответ написан
    Комментировать
  • Как преобразовать код из js в python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Изучить оба языка, проанализировать js-код, вычленить алгоритм, реализовать его на Python.
    Ответ написан
    7 комментариев
  • Стоит ли фильтровать пароль на символы?

    Vamp
    @Vamp
    У вас классическая проблема обработки пользовательского ввода. Решается она по-разному в зависимости от контекста, в котором используются данные. Так как вы не указываете контекст, то и ответ будет соответствующе широким.

    1. Запрос первоначально поступает в node.js (конкретно в движок v8, отвечающий за сетевое взаимодействие). Здесь возможны уязвимости, при которых специальным образом сформированный запрос может привести к отказу в обслуживании (DoS), несанкционированному доступу к памяти (вспоминается эпичнейшая уязвимость heartbleed) и иным спецэффектам.

    2. Далее запрос поступает в express, где он парсится и преобразовывается в объект req. Здесь так же могут быть уязвимости, эксплуатируемые путем отправки специально сформированного запроса.

    Пункты 1 и 2 исполняются до вашего кода, поэтому всё что вы можете здесь поделать - это вовремя обновлять софт и библиотеки.

    3. Далее ваш код занимается обработкой данных. Важный момент в этом - санация и валидация данных.

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

    Валидация - это проверка данных на корректность. Например, вы ожидаете номер телефона в поле phone. После санации останется проверить, что длина номера не нулевая и не больше 15.

    Если данные предполагается передавать дальше, скажем, на удалённый JSON REST сервис, то вы должны будете корректно экранировать строку перед добавлением её в JSON, иначе случайная кавычка сломает ваш запрос.

    Либо если данные будут вставляться в базу данных, то необходимо экранировать данные (либо вставлять данные через подготовленные запросы) чтобы не получить SQL injection уязвимость.

    Вот тут как раз и появляется зависимость от контекста. В контексте базы данных - один способ экранирования. В контексте json - другой. В контексте HTML (при выводе данных пользователю) - третий. В ещё каком-нибудь другом контексте будут свои способы обезопасить данные.

    Если рассматривать конкретно пароль, то с ним всё просто. Как правило, пароли не хранятся на сервере в открытом виде и предварительно подвергаются преобразованию в криптографически стойкий хеш (например, argon2 или scrypt). Сам хеш уже имеет фиксированный размер и известный набор символов. Поэтому санировать пароль не нужно, а при валидации просто проверить минимально допустимую длину, несовпадение с логином, email и может ещё какие-нибудь проверки, навязанные бизнесом или применяемыми стандартами.
    Ответ написан
    6 комментариев
  • Как отдать браузеру 1 картинку и отобразить её в нескольких местах страницы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Одну и ту же картинку браузер качает один раз, ложит в локальный кэш (если он не выключен), и показывает во всех местах. Качать одно и то же 10 раз - дурных нема. Браузеры придумывали во времена, когда каждый килобайт трафика стоил денежек...

    Исправьте отдачу одной картинки под разными URL-ами, и всё. Или замените отдачу на редирект на единственно правильную картинку.
    Ответ написан
    5 комментариев
  • Как программировать и не работать?

    Adamos
    @Adamos
    C++ по 8 часов в день - это нереально.
    С одной стороны, нереально писать код 8 часов подряд.
    С другой, нереально стать специалистом по С++, если уделять ему всего 8 часов в день.
    Ответ написан
    1 комментарий
  • Нормально ли это, что в режиме Strict-mode в React-приложении делается 2 запроса?

    black1277
    @black1277
    Вольный стрелок
    Реакт придерживается концепции "чистых" функций. Т.е. таких функций, которые всегда дают одинаковый, предсказуемый результат при одинаковых входных параметрах. В режиме разработки, с включенным strict-mode реакт помогает выявить непредвиденные эффекты и состояния, возникающие в результате нарушения концепции, вызывая дважды все функции, которые он считает "чистыми". Как это работает?
    Предположим, вы написали функцию, которая по сигналу "свет" - включает свет. Но если свет уже включен - функция его выключает. Вы довольны и счастливы - послали сигнал "свет" - свет включился, послали еще один сигнал "свет" - выключился. Но в режиме strict-mode - вы обнаружите, что свет не включается, потому что реакт шлет второй сигнал "свет", который выключает после первого сигнала! И опять, возникает вопрос - да зачем это нужно? А затем, что вы не можете предсказать результат действия сигнала "свет", не зная текущего состояния! Возникнет острая необходимость - включить свет, а вы не знаете - включен он сейчас или нет... Пошлете сигнал "свет", когда он включен - получите выключение.
    Примерно такие варианты поведения выявляет strict-mode.
    Ответ написан
    Комментировать
  • Какую выбрать СУБД, если в день может быть более 11млн записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    11 миллионов inserts в день - это 127 в секунду. При такой нагрузке справится любая современная БД. Ну я не знаю таких чтоб не справлялись. Делайте только короткую буферизацию и batch-insert пачками по 100 - 1000 чтобы оптимизировать сетевой roundtrip.

    Есть специализированные NoSQL системы такие как RocksDb, Tarantool в которых именно много оптимизаций сделано было для быстрой вставки. Они выдерживают и во много раз быстрее.

    И в данной задаче нужно также спросить бизнес - как быстро данные нужны к чтению пользователя. Нужно сию секунду чтоб они отобразились на UI или можно подождать пару минут или часов.
    Ответ написан
    1 комментарий