Задать вопрос
  • Возможно низкоуровневое программирование без математики?

    Adamos
    @Adamos
    Стоит ли идти в эту сферу, или это обреченно на провал?

    Вам - не стоит. Вы не осилили даже нагуглить ответ на один из самых частых вопросов на Тостере, так что к этой сфере со всей очевидностью не подходите.
    Ответ написан
    Комментировать
  • Что позволяет записывать в функции статические методы?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Воспользуюсь спорным штампом и отвечу: так происходит, потому что "в JS всё - объект". Соответственно, как объектам, мы можем назначать свойства.
    С примитивами всё несколько сложнее. Мы вроде бы тоже можем назначить им свойство, но это иллюзия. Когда мы делаем подобное с примитивами, например строкой, то вызывается её конструктор String(), а когда операция "под капотом" завершается, то мы снова получаем примитив, таким образом, ошибки назначения свойства не возникает, но и свойство недоступно.

    Это если сжато.
    Подробно объяснять не быстро. Скорее всего Вам тут посоветуют почитать документацию, спецификацию. Я предложу почитать серию книг You Dont Know JS. Можно нагуглить перевод многих глав из этой серии книг.
    Ответ написан
    Комментировать
  • Как добавить информацию поверх web-страницы через точку доступа Wi-Fi?

    @antonwx
    Придётся перехватывать трафик например с помощью squid. Затем модифицировать и отдавать обратно. Но на каждом клиенте должен будет быть установлен ваш корневой сертификат, которым вы (а точнее прокси) будете подписывать новые страницы. Вот только будет ли кто-то в здравом уме подобным wi-fi пользоваться?
    Ответ написан
    4 комментария
  • Можно ли сделать сетеры для методов массива?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Может, переопределить метод на экземпляре?
    var a = [];
    a.push = function() {
      Array.prototype.push.apply(this, arguments);
      // todo
      console.log("QnA.habr");
    }
    
    a.push(5); // QnA.habr
    a.toString() // Array [ 5 ]
    Ответ написан
    Комментировать
  • Можно ли так сделать на js и php?

    nuclear_kote
    @nuclear_kote
    если переход на другую страницу случился то тот запрос уже не ответит. Можно сделать доп метод который будет возвращать результат и дергать его раз в секунду например, ну или вебсокеты. Вообще обычно кидается в очередь и асинхронно обрабатывается например другим сервисом, потом в другую очередь ответы кидаются или пишется в базу результат. + впринципе долгий запрос может по таймауту клиента отвалиться, он выполнится, но результат потеряется
    Ответ написан
    2 комментария
  • Почему не работает функция в браузере?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    function nameOfFunction () {
    alert (2+3);
    }

    nameOfFanction(); // опечатка.

    Вам редактор должен был предлагать автодополнением название Вашей функции (при попытке вызвать её), если бы Вы его использовали, то не было бы опечатки.
    Так же рекомендую научиться пользоваться линтером. (ESLint)
    Ответ написан
    Комментировать
  • Как разбить объект на несколько частей?

    0xD34F
    @0xD34F Куратор тега JavaScript
    На части какого размера надо порезать объект: const chunkSize = 10;.

    Режем:

    const arr = [];
    let i = -1;
    
    for (const k in obj) {
      const j = (++i / chunkSize) | 0;
      (arr[j] = arr[j] || {})[k] = obj[k];
    }

    или

    const chunked = (data, chunkSize) =>
      Array.from(
        { length: Math.ceil(data.length / chunkSize) },
        (n, i) => data.slice(i * chunkSize, (i + 1) * chunkSize)
      );
    
    const arr = chunked(Object.keys(obj), chunkSize).map(n => {
      return n.reduce((acc, k) => (acc[k] = obj[k], acc), {});
    });

    или

    function* chunked(data, chunkSize) {
      const iter = data[Symbol.iterator]();
    
      for (let chunk = [], n = {}; !n.done && (n = iter.next());) {
        if ((n.done && chunk.length) || (!n.done && chunk.push(n.value) === chunkSize)) {
          yield chunk;
          chunk = [];
        }
      }
    }
    
    const arr = Array.from(chunked(Object.entries(obj), chunkSize), Object.fromEntries);
    Ответ написан
    1 комментарий
  • Как автоматически транслировать любой готовый алгоритм с любого ЯП на любой другой ЯП без ущерба для скорости работы алгоритма?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Зачем?
    Улучшает ли это читабельность? Не улучшает.
    Возможно дело в произвлдительности? Вы ее просто растрачиваете на беготню по массиву.
    Может кода меньше? Опять nope.

    писать конвертеры такого кода на другие языки и удобно мониторить их изменение.

    Зачем в принципе их писать?

    UPD

    Как автоматически транслировать любой готовый алгоритм с любого ЯП на любой другой ЯП без ущерба для скорости работы алгоритма?

    Никак, буквально никак. Потому что:

    1. Способы работы с памятью и оптимизации производительности разные.
    2. Конструкции, используемые в конкретных языках для конкретных алгоритмов отличаются.
    3. Отличаются стандартные библиотеки, как следствие алгоритм, который вы хотите транслировать с одного языка может быть в стандартной библиотеке другого.
    Ответ написан
    31 комментарий
  • Scss - Возможно ли, сделать свои названия классов?

    @lilwings
    .cursor {
      &-pointer {
        cursor: pointer;
      }
    
      &-unset {
        cursor: unset;
      }
    }
    Ответ написан
    Комментировать
  • Правильно ли при клике остановить таким образом Timeout?

    @LoveCodeandCoffe
    Дополню Aetae
    document .querySelector("#close").addEventListener("click",  () =>clearTimeout(cityRemoveTime));

    Когда тебе нужно выполнить функцию после somthing события используй вызов безымянной функции , которая выполнит нужную тебе функцию т.е всегда используй такую конструкцию () => // your func
    + стрелочной функции в том, что ты можешь передать дополнительные параметры в функцию обработчик
    Ответ написан
    4 комментария
  • Правильно ли при клике остановить таким образом Timeout?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Нет.
    Утрируя: скобочки после имени функции - это вызов этой функции прям сейчас, вон там где ты это написал.
    Обработчиком на клик в данном случае, соответственно, назначается то, что функция возвращает. А clearTimeout у нас не возвращает ничего.
    В итоге прямо в момент запуска кода cityRemoveTime будет остановлен, а на каждый клик у нас будет происходить ничего.
    Ответ написан
    Комментировать
  • С# - что стоит изучать, чтобы попасть на первую работу?

    sarapinit
    @sarapinit Куратор тега C#
    Точу водой камень
    Можно пойти на хэдхантер и посмотреть какие технологии просят рядом с c#. На мой взгляд самый большой спрос на фулстек разработчиков. Это значит c# + asp.net + EntityFramework + TSQL +js. За год можно «нахвататься» на джуна, если будете стараться, забудете про досуг и развлекухи. А потом после устройства на работу еще нужно будет по вечерам дотягивать пару лет точно.
    Ответ написан
    4 комментария
  • Кто может пояснить код?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Вызов inBetween(3, 6) возвращает не строку, не число, а функкцию.

    Можно длиннее записать:
    var daFunc = inBetween(3, 6); // daFunc это функция
    
    arr.filter(daFunc);

    Почти1 то же, что:
    var daFunc = function() {
      console.log(arguments);
    }
    
    arr.filter(daFunc);
    1«Почти» — потому, что контекст тут другой будет. Всякие a и b не будут определены.

    Или:
    function daFunc() { console.log(arguments); }
    
    arr.filter(daFunc);

    Или:
    arr.filter( function() { console.log(arguments); });


    В общем, arguments там никакой не внешний / родительский / фильтрованный, а свой собственный.
    С чем вызвали — то и получили. Вызвали в фильтре – аргументы фильтровские и получили.
    Ответ написан
    Комментировать
  • Блокировщик трекеров браузера отрубает GTM и искажает скрипты сайта, что с этим поделать?

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

    Как определить блокировщик, легко гуглится. Хотя даже без гугла не вижу проблемы - можно легко догадаться проверить наличие/видимость баннера, например. А если баннеров нет, то происследовать результат работы блокировщика, он же на виду.
    Ответ написан
    Комментировать
  • Почему JS не находит элемент?

    0xD34F
    @0xD34F Куратор тега JavaScript
    У вас в школе по английскому была честная двойка, или давали взятки ради троек? Ну, то есть - откройте словарь, и посмотрите, как переводится слово "next". Потом посмотрите в каком порядке расположены ваши элементы.
    Ответ написан
    2 комментария
  • Файл /etc/passwd в linux?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Это системные аккаунты, а также создающиеся в том числе и при установке какого-либо ПО, которое требует себе отдельный аккаунт.
    Ответ написан
    Комментировать
  • Как отключить автоматическую отметку решениями?

    Никак.
    Тостер - коллективный ресурс, поэтому участие в отметке решением могут принимать все.
    Миссия Тостера - создание базы знаний, в первую очередь и только потом решение конкретных проблем конкретных людей. Поэтому отметки сообществом имеют приоритет* над отметками задающих вопрос.

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

    * концептуально, не помню как технически это всё организовано.
    Ответ написан
    1 комментарий
  • Что сделать для перезапуска служб автоматически?

    alekciy
    @alekciy
    Вёбных дел мастер
    Из готового заюзать любой супервизор в духе supervisord, pm2. Можно и так сделать: Supervisord и forever больше не нужны. Systemd
    Ответ написан
    1 комментарий
  • Для чего нужны лендинг - "выиграй приз"?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Рулетка на лендинге чтобы сразу и без лишних слов создать у человека ощущение "выигрыша". В таком состоянии он гораздо охотнее пойдет куда надо и сделает уже гораздо больше действий в мечтах его получить.

    На этом сайте - два фейковых оборота колеса, сначала достаточно хороший приз, второй раз - еще больше, хочется третий раз - просим на сайт казино. Там таких разводняков на порядок больше, правда и кнопок гораздо больше, и слова в обещаниях не те, но человек уже подготовлен и его это не отпугнет - 2000 гривен пропадают!.

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