• Чему тут равен this?

    Stalker_RED
    @Stalker_RED
    Напишите на строку выше
    console.log('вот он, этот this', this); и посмотрте чему он равен.
    Еще более сильное колдунство - поставить брейкпоинт на эту строчку, но это надо хоть полторы странички инструкции прочесть.
    Ответ написан
    Комментировать
  • Как сделать так чтобы 1 форма не затрагивала SELECT 2 формы?

    Stalker_RED
    @Stalker_RED
    Вам кто-то изрядную свинью подложил, когда научил вот так вот ставить id на все элементы подряд, привязывая к ним ещё какие-то циферки и btnid. Вангую, что вся проблема из-за путаницы с id. Скорее всего они у вас дублируются.

    И более половины кода можно смело выбросить, т.к. он не несёт смысловой нагрузки.
    Все строки с val(), все с val(""), text() и скорее всего с css("display"...) тоже.

    Покажите разметку, а ещё лучше соберите пример на jsfiddle или codepen.
    Ответ написан
    Комментировать
  • Как перенести текст статьи из .txt в html?

    Stalker_RED
    @Stalker_RED
    const targetBlock = document.querySelector('#foo');
    fetch('bar.txt')
      .then(response => response.text())
      .then(text => targetBlock.innerHTML = text.replaceAll('\n', '<br>'));
    Ответ написан
    Комментировать
  • Функция, удваивающая числовые свойства объекта. Зачем return?

    Stalker_RED
    @Stalker_RED
    Вот вам без return
    let menu = {
       width: 200,
       height: 300,
       title: "My menu"
     };
    
    function multiplyNumeric(obj) {
       for(key in obj) {
          if (typeof obj[key] === 'number') {
             obj[key] *= 2;
          }
       }
    }
     
    multiplyNumeric(menu); // изменили размер
    console.log(menu); // вывели

    Теперь если написать console.log(multiplyNumeric(menu)); то в консоль выведется undefined, потому что вы в консоль выводите возвращаемое значение функции multiplyNumeric, а когда она ничего не возвращает, то и выводится undefined.
    Обратите внимание, что multiplyNumeric не нужно ничего возвращать.

    Так зачем вы добавили return?
    Ответ написан
    Комментировать
  • Почему SSH agent не запоминает пароль?

    Stalker_RED
    @Stalker_RED
    pageant, который идет в комплекте с putty умеет запоминать passphrase (точнее, может держать в памяти уже расшифрованный ключ).

    С некоторыми костылями можно даже в автозапуск поставить старт pageant и воод passphrase.
    Это снизит безопасность, но если костыль самодельный, то есть все шансы, что автоматические боты-вирусы его не поймут, и уязвимы вы будете только против направленных лично на вас атак. В общем если вы не на ядерном реакторе работаете, и даже не в банке, а саппортите магазин кошачьего корма, то можно особо не париться.
    Ответ написан
    Комментировать
  • Нельзя скачать PyCharm в 32-bit?

    Stalker_RED
    @Stalker_RED
    Последняя версия под 32 бита - 2018.3.7, и ее можно скачать с оффсайта.
    https://www.jetbrains.com/pycharm/download/other.html
    Ответ написан
    Комментировать
  • Что значит this.words[word]?

    Stalker_RED
    @Stalker_RED
    Отложите пока изучение классов. Разберитесть что такое объекты, что за ключи, и как добавлять и читать значения используя эти ключи.
    Ответ написан
    Комментировать
  • Программирования учат или применяют?

    Stalker_RED
    @Stalker_RED
    Ужасная новость, шок, сенсация: HTML и CSS - вообще не языки программирования.
    И да, я первые свои странички сделал прочитав одну статью из журнала (2 стр. текста с иллюстрациями), так что готовиться пару лет чтобы написать первую строчку кода - не обязательно.

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

    С js, c++ и другими языками программирования все немножко сложнее. Там надо больше думать головой, продумывать структуру программы, алгоритмы, вот это все. Конечно, "hello world" можно и с мизерной подготовкой написать, но вскоре обнаружите что база очень нужна, и нужна хорошая.
    Ответ написан
    6 комментариев
  • Как установить значение options при загрузке страницы через 1 сек?

    Stalker_RED
    @Stalker_RED
    setTimeout(function(){
      const select = document.querySelector('select');
      select.value = 1
    }, 1000); // 1000ms = 1s
    Ответ написан
  • Как закрыть доступ к сайту?

    Stalker_RED
    @Stalker_RED
    в index.php в первой строчке напиши:
    echo "Сайт временно закрыт, типо деактивирован!";
    exit;
    Ответ написан
    3 комментария
  • Как правильно отдать медиа файлы для веб проигрывателей и ссылок с других разделов компьютера/сервера?

    Stalker_RED
    @Stalker_RED
    1. Вы можете в конфиге nginx указать что при запросе mysite.loc надо искаьт файлы в d:\music
    2. вы можете на уровне операционной системы сделать симлинк
    mklink /d c:\work'mysite\music d:\music
    3. вы можете вот ака как у вас сейчас выдавать через PHP.
    Плюсы - легко можно добавить дополнительного кода - проверки прав доступа, статистику собрать, биллинг прикрутить.
    Минус один, но очень заметный при большом количестве пользователей - грузите процессор лишний раз.

    знак & и из-за этого могут сломаться get параметры
    экранирование? не, не слышал.
    Ответ написан
  • Какое регулярное выражение использовать, что бы достать из текста все цифры?

    Stalker_RED
    @Stalker_RED
    л/с \d{5}[А-ЯЁ]\d{5} пять цифр, буква, пять цифр
    дата \d{2}\.\d{2}\.\d{4} \d{2}-\d{2}-\d{4} \d{4}-\d{2}-\d{2}
    любые "слова" (строки отделенные пробелами или началом/концом строки) с цифрами внутри \S*\d+\S* https://regex101.com/r/LLHAjD/1
    Ответ написан
    Комментировать
  • Как исправить ошибку на странице каталога (магазина)?

    Stalker_RED
    @Stalker_RED
    Видимо на этой странице нет slug-а, добавльте проверку, хоть банальный isset().

    Ну и в целом код можно слегка упростить
    <?php
    $terms = get_terms( 'product_cat' );
    
    if ($terms) {
        $current_cat = get_queried_object()->slug;
        foreach ($terms as $term) {
            $another_cat = $term->slug;
            $activeClass = $current_cat == $another_cat ? 'class="active"' : '';
            $url = esc_url(get_term_link($term));
    
            echo "<a href=\"$url\" $activeClass>{$term->name}</a>";
        }
    }

    И наверное current_cat можно вынести за цикл.
    Да и вообще переменные $current_cat $another_cat можно убрать, они используются ровно один раз.
    Ответ написан
    Комментировать
  • Как при открытии одного select закрыть другой?

    Stalker_RED
    @Stalker_RED
    Возможно будет правильнее не "закрыть другие селекты", а "закрывать селект при клике вне его выпадающего списка".

    Таким образом вы решите не только проблему нескольких открытых селектов, но и "открыли селект, потом кликаем где-то по другим полям, но селект не закрылся и мешает".

    Также можно прикрутить закрытие по esc.
    Ответ написан
    Комментировать
  • Php самостоятельно не способен работать с server sent event?

    Stalker_RED
    @Stalker_RED
    Способен конечно, вот первые попавшиеся гайды с примерами на php
    https://developer.mozilla.org/en-US/docs/Web/API/S...
    https://www.w3schools.com/html/html5_serversenteve...

    Но когда у вас будет не 10 клиентов, а десятки тысяч, то вам не понравится количество затрачиваемых ресурсов, и вы перепишете этот SSE на другой стек.
    Ответ написан
    3 комментария
  • Можно ли взять один компонент из Laravel 8.x / 10.х?

    Stalker_RED
    @Stalker_RED
    Надо было гуглить не "свой вопрос" а идти на официальный сайт laravel и переходить оттуда на гитхаб. Или просто гуглить "laravel source", и там в пару кликов находится роутинг https://github.com/illuminate/routing

    И да, почему именно laravel?
    Есть подробный гайд как отдельно использовать роутинг от симфони.
    Несколько лет назад я вообще порекомендовал бы silex - очень простой и быстрый микрофреймворк на компонентах от симфони. Для новичка отлично. Но, к сожалению, он не обновляется с 2018, и возможно придется что-то допиливать, если хотите использовать компоненты именно последних версий.
    Ответ написан
  • Как подтянуть чужую ветку в git к себе на локальный сервер?

    Stalker_RED
    @Stalker_RED
    git fetch origin - получить все ветки
    git fetch origin other_branch_name - или получить только ветку other_branch_name
    (вместо origin может быть другое имя удаленного репозитория, но стандартно именно origin)

    git checkout other_branch_name - переключиться на ветку other_branch_name
    Ответ написан
    1 комментарий
  • Help с роутером PHP?

    Stalker_RED
    @Stalker_RED
    На первый вопрос легко ответить:
    $isCorrect = myCheck($uri); 
    // саму проверку придется вам написать
    // мне отсюда же не видно какие вы считаете правильными, а какие неправильными.
    if (!$isCorrect) {
      include '404.php';
    }


    У вас там наверняка ошибка типа
    не найден файл includes/profile.php?q=$_POST[...
    вот ее и решите для начала.

    Весело, наверное, изучать классы и роутинг не умея в конкатенацию строк и кавычки.
    А потом, у вас точно есть файл "includes/profile.php?q=Vasya"? Или что вы собрались инклудить?
    Ответ написан
  • Как определить в строке символы и заменить их?

    Stalker_RED
    @Stalker_RED
    const result = 'Работа не волк, работа это ворк, волк это ходить'.replace(/[ ,]+/g, ' | '); 
    
    // -> ''Работа | не | волк | работа | это | ворк | волк | это | ходить'
    Это вы хотите?
    Ответ написан
    1 комментарий
  • Если заменить условный оператора полиморфизмом в чём суть?

    Stalker_RED
    @Stalker_RED
    Суть в том, что ООП - это подход для того, чтобы уменьшить сложность СЛОЖНЫХ программ.
    Поэтому когда вы берете простой пример с тремя птичками или "cat says meow, doggy says bark", то разница не видна. В особо тяжелых случаях ООП код будет даже казаться более сложным, чем обычный if или switch.

    Представьте себе код какой-нибудь игры, масштаба warcraft, например. Там где есть несколько десятков разновидностей юнитов - всякие эльфы, орки, люди, палладины, лучники, снайперы, драконы, катапульты...
    Все они основаны на одном классе Unit, у всех есть много общего кода - методы получения координат, получение урона, отображение хелсбара, команды типа "держать позицию", "патрулировать" "атаковать"...
    При этом есть и различия в поведении - разная скорость, разные показатели урона, здоровья, брони, размера. Даже алгоритмы поиска пути могут отличаться, т.к. часть юнитов могут пройти в узком проходе, другие не могут, а кто-то вообще может летать,

    И если написать это на ООП, то у вас будет класс Unit с общими методами, и несколько десятков классов
    Paladin extends Unit
    GoblinTechies extends Unit
    GoldenDragon extends Unit
    в каждом из которых учтены особенности конкретного типа юнитов.

    А если без ООП, то у вас остаются условные операторы. Десятки условий для здоровья, еще десятки для брони, еще десятки для скорости, и в итоге каша такого размера и сложности, что работать с этим в какой-то момент станет невыносимо.
    Ответ написан
    4 комментария