• Как открыть www.dhl.ru curl'ом?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    curl 'http://dhl.com/' \
      -H 'Connection: keep-alive' \
      -H 'Upgrade-Insecure-Requests: 1' \
      -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36' \
      -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
      -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
      --compressed \
      --insecure -I
    
    TP/1.0 301 Moved Permanently
    Location: http://www.dhl.com/
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    Ответ написан
    4 комментария
  • Почему не работает условие ИЛИ?

    @alexalexes
    То что вы пытаетесь написать:
    if (question === 1||3)
    Значит: "условие ИЛИ какое-то число, эквивалентно true". То есть 3 - это эквивалент true. Ноль будет эквивалентом false. Посмотрите, чему будут эквиваленту отрицательные числа, мне лень смотреть документацию или пробовать консоль.

    В вашем случае, решение будет выглядеть так:
    if (question === 1|| question === 3)
    Если охота использовать перечисление в надежде сократить условие, то это может выглядеть так:
    if ([1,3].indexOf(question) > -1)
    Ответ написан
    Комментировать
  • Получить PING соединения пользователя Socket.io?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    1. Отправить ping на сервер
    2. Запомнить время
    3. Получить pong с сервера
    4. Запомнить время
    5. Вычесть первое время из второго
    Ответ написан
    Комментировать
  • Какой правильный алгоритм авторизации на токенах?

    NeiroNx
    @NeiroNx
    Программист
    Он должен вернуть идентификатор сессии такой-же какой возвращается при обычном логине. Тоесть - сверяете токен с базой токенов и открываете сессию для него - идентификатор можно вернуть как в JSON так и в Cookie - лучше сделать и так и так. Потом при последующих запросах в рамках сесиии - используется идентификатор сессии.
    Ответ написан
    Комментировать
  • Как дробить большие post запросы?

    @zkrvndm
    Софт для автоматизации
    Ну, в теории можно запаковать все файлы в архив, сам архив разбить на ровные части и отравить на сервер, а там уже собрать мозаику обратно, после чего распаковать собранный архив.

    Создавать zip-архивы на JavaScript можно посредством библиотеки JSZip, он на выходе даст вам Blob, который в свою очередь ни что не помешает разбить на части и отослать кусками.

    P. S. Но честно сказать, вам будет проще увеличить лимиты сервера, чем такую мудрёную схему реализовывать. Если хостер не позволяет менять лимиты, меняйте хостера или переходите на VDS.
    Ответ написан
    Комментировать
  • Как переводить шестнадцатеричные строки?

    Stalker_RED
    @Stalker_RED
    Для начала вычислите смещение и длину для всех интересующих данных. Для конвертации достаточно функции parseInt
    Если вам нужен заголовок, например
    const headerHex = data.substring(0, 2) // получаем фрагмент, в котором содержится заголовок
    const header = parseInt(headerHex, 16) // переводим в десятичную систему
    Ответ написан
    Комментировать
  • Какую книгу прочитать по C?

    BananiumPower
    @BananiumPower
    в познаниях дзена
    во первых между разница гиганская C и C++ потому что это два разных языка
    какие книги читать:
    Язык программирования C обязательно к
    прочтению
    Head First C не скучная книга по Си
    Язык Си на примерах
    Программирование на C в примерах и задачах

    P.S если вы где-то услышали что перед изучением си++ надо учить cи это не так, лучше выучить c++ потом выучить Си
    Ответ написан
    8 комментариев
  • Как из числа получить массив цифр?

    0xD34F
    @0xD34F Куратор тега JavaScript
    [...`${num}`].map(Number)

    или

    num.toString().split('').map(n => +n)

    или

    Array.from(String(num), parseFloat)

    или

    ('' + num).match(/./g).map(n => parseInt(n))

    или

    Object.values(num.toFixed()).map(n => ~~n)

    или

    [].map.call(/.+/.exec(num)[0], n => n * 1)

    или

    eval('['.concat(num, ']').replace(/\d/g, '$&,'))

    или

    Object.assign([], JSON.stringify(num)).map(JSON.parse)

    или

    Array(1 + (Math.log10(num) | 0)).fill().map((n, i) => (num / 10 ** i | 0) % 10).reverse()

    или

    ((f = (x, a) => (a.unshift(x % 10), x = x / 10 | 0, x ? f(x, a) : a)) => f(num, []))()
    Ответ написан
    3 комментария
  • Путь развития Front-end разработчика?

    wapster92
    @wapster92 Куратор тега JavaScript
    frontend.png?year-2020-2
    Ответ написан
    Комментировать
  • Поведение this в анонимной функции?

    Тыб привел кусок кода, чтоб не на пальцах показывать
    https://learn.javascript.ru/functions-closures
    https://learn.javascript.ru/object-methods

    А вообще лучше всего про this контекст и синтаксическую область видимости у Фленегана расписано, рекомендую прочитать от корки до корки
    https://play.google.com/store/books/details/David_...

    const a = {
      method_1: function(a) {
        console.log("1", this)
        const func = function() {
          console.log("2", this)
        }
        func()
      },
      somevar: "TEST"
    }
    a.method_1();


    Если так, то лучше использовать стрелочную функцию, потому что "синтаксическая боласть видимости"
    Ответ написан
    2 комментария
  • Как на javascript найти и заменить в тексте параметр?

    profesor08
    @profesor08 Куратор тега JavaScript
    Тебе надо пробежать по документу и выбрать все текстовые ноды, таким образом ты не затронешь другие элементы и их поведение. Заменяя все ты создаешь новый документ и для него надо заново все инициализировать. Чтоб избежать всего этого надо работать с текстовыми нодами.

    function replaceText(text, textToReplace) {
    
    	function replace(nodes) {
      	nodes.forEach(node => {
          
          if (node instanceof HTMLScriptElement) {
          	return;
          }
          
          if (node instanceof HTMLStyleElement) {
          	return;
          }
          
        	if (node instanceof Text) {
          	if (node.nodeValue.match(text)) {
            	node.nodeValue = node.nodeValue.replace(text, textToReplace)
            }
          }
          else {
          	replace(Array.from(node.childNodes));
          }
        });
      }
      
      replace(Array.from(document.body.childNodes));
    }
    
    replaceText("{DATETIME}", "___WwW___");


    Ответ написан
    1 комментарий
  • Закрыть меню, как сделать на 12 имеющихся js строках?

    0xD34F
    @0xD34F Куратор тега JavaScript
    overlay.addEventListener('click', function(e) {
      if ([ '#close-menu', 'li > a' ].some(n => e.target.matches(n))) {
        overlay.classList.remove('show-menu');
      }
    });
    Ответ написан
    1 комментарий
  • Почему перестал работать мой gulpfile?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Где-то в середине лета(2018) скомпоновал свой галп-файл

    Вероятнее всего именно в этом и дело. Не могли осени дождаться?

    Вот так выглядит мой package.json

    мы почти не знакомы, а Вы уже свой package.json показываете

    говорит "task function must be specified"

    Помогите, пожалуйста)

    это все потому что он новый: https://www.liquidlight.co.uk/blog/article/how-do-...

    а именно:
    было в старой версии:
    gulp.task('default', ['del'], function() {
        // default task code here
    });

    стало:
    gulp.task('default', gulp.series('del', function() { 
        // default task code here
    }));
    Ответ написан
    3 комментария
  • Сервисы для тренировок по взлому?

    Valter1234
    @Valter1234
    xss
    Ответ написан
    Комментировать
  • Идеи для Javascript приложений

    Сделайте расширение для хрома, которое будет автоматически подсвечивать в списке вопросов авторов которые
    -не помечают флагом "решение" свои вопросы
    -имеющие 1 вопрос и ни одного ответа
    -не имеющих ни одного ответа
    -другие подобные критерии
    Ответ написан
    Комментировать
  • Как сделать уголки?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не нужно ничего вырезать в png.
    Нужны линейные градиенты. Это пример для других целей, вам нужно только адаптировать, заменить прозрачность на полупрозрачность.
    Ответ написан
    7 комментариев
  • Как работает этот js код?

    В JS есть существует "поднятие" переменных.
    Иными словами ваш код равнозначен следующему:
    function arrayToList(arr) {
      var i;                 // На самом деле именно здесь определяются все переменные
      var nextRest;          // данной функции объявленные
      var list;              //  через ключевое слово "var"
    
      for (i = arr.length - 1; i >= 0; --i) {
        nextRest = list || null;
        list = {};
    
        list["value"] = arr[i];
        list["rest"] = nextRest;
      }
    
      return list;
    }


    Если вы хотите чтобы данного поднятия не происходило, то определяйте переменные через ключевое слово let. Для let поднятие переменных не происходит.
    Ответ написан
    Комментировать
  • Зачем дублировать style="background" и img?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Через css проще спозиционировать за счёт background-size и background-position, а img нужен, чтобы поисковики проиндексировали картинку.
    Ответ написан
    1 комментарий
  • Какова суть фреймворков и библиотек?

    Stalker_RED
    @Stalker_RED
    Библиотека это инструмент или набор каких-то инструментов.
    Бибилиотека для скачивания видео с ютуба
    Бибилиотека для кропа и ресайза картинок
    Бибилиотека для определения города по IP

    Фреймворк может использовать десятки или сотни разных библиотек. Это набор не только инструментов, но и готовых компонентов, и еще и рекомендация по их использованию.

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

    Или вот два фреймворка:
    Ezva9I.pngzC6ZHT.png
    Можно ли их использовать вместе? (Конечно, никто не запрещает)
    Можно ли из этих деталей построить что-то совсем другое, не такое как в инструкции? (Конечно да)
    Можно ли с этими фреймворками использовать детали еще и из этого?
    lGjE1A.png
    (конечно можно, но придется что-то придумать для совместимости деталек. Быть может придется применить клей, изоленту, пластилин или жвачку. Или шуруповерт, или сварочный аппарат. Но ни в один комплект эти дополнительные инструменты не входят, как и скиллы к ним.)

    Можете посмотреть еще сюда, этот ответ частично покрывает ваш вопрос:
    Для чего нужны фреймворки, а-ля Laravel?
    Ответ написан
    Комментировать
  • Хочу стать Full stack develper'ом. Что надо знать?

    Stalker_RED
    @Stalker_RED
    Если ты уже знаешь Laravel и Angular JS, Bootstrap, то ты уже full stack, поздравляю.
    Конечно, всегда есть возможность для роста, но сейчас вы можете выбирать те темы для изучения, которые вам нужны в работе. Базовый фундамент уже заложен.

    (Это конечно если "знаю что-то" в том смысле, что "могу применять на практике" а не "это название я уже где-то встречал")
    Ответ написан
    Комментировать