• Как отменить изменения во всех неиндексированных файлах git?

    v_decadence
    @v_decadence
    git checkout -- . (находясь в корне репозитория)
    или
    git reset --hard
    но осторожно - это сбросит все незакомиченные изменения.
    Ответ написан
    4 комментария
  • Команда git log выводит только часть комментария к коммиту в командной строке. Как можно настроить полное отображение?

    @SilentFl
    git выводит комментарий полностью. "Обрезает" же его less, дефолтовый вьювер. Посмотреть комментарий полностью можно по-разному:
    1) включить перенос строки в less, либо
    git log -p -1 | less -r
    либо
    GIT_PAGER='less -r' git log -p -1
    (а то и вовсе GIT_PAGER прописать в профиле)
    2) посмотреть через другой вьювер/редактор, например vim
    git log -p -1 | vim -
    3) вывести весь комментарий в какой-нибудь файл
    git log -p -1 > very_long_comment.txt
    и еще куча способов. выбирайте какой понравится
    Ответ написан
    Комментировать
  • Как сделать бэкап ветки?

    @gribanov2la
    Full stack web разработчик
    коммиты объединяйте через git rebase -i HEAD (https://git-scm.com/book/ru/v1/%D0%98%D0%BD%D1%81%...

    "Бэкап" текущей ветки можно сделать так
    git checkout -b backup_branch_name
    Ответ написан
    Комментировать
  • Как записать в начало файла [PHP]?

    AxisPod
    @AxisPod
    Лучше через временный файл, надёжнее. Создаёте временный файл, пишите туда свой контент, копируете остатки, переименовываете файл.
    Ответ написан
    Комментировать
  • Почему в верстке иногда используются альтернативный синтаксис управляющих структур php?

    tigroid3
    @tigroid3
    PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT
    ну потому что более читабельнее

    <?php if ($test == 1): ?>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
    <?php endif ?>


    чем где, весь контент, надо через echo выводить, для этого либо такая конструкции, либо шаблонизаторы
    <?php if ($test == 1) {
       echo "<div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>
       <div>some text</div>";
    }
    
    ?>
    Ответ написан
    10 комментариев
  • Почему в верстке иногда используются альтернативный синтаксис управляющих структур php?

    profesor08
    @profesor08 Куратор тега PHP
    Потому что код выглядит аккуратным и прекрасно работает автоматическое форматирование. endif, endfor, endforeach прекрасно указывают на то, какой блок был закрыт, а просто скобка порой неясна и надо листать код и смотреть.
    Ответ написан
    9 комментариев
  • Для чего существует $_REQUEST?

    Stalker_RED
    @Stalker_RED
    Для начала, для чего существует POST.
    Представим, что у вас есть сайт example.com и на нем форма с кнопкой, удаляющаяя статью.
    На сервере вы, естественно, проверяете авторизован ли пользователь и есть ли у него права на удаление.

    При нажатии на кнопку через post передаются такие параметры
    article_id: 123
    action: delete

    Если на сервере вы будете получать эти данные при помощи $_REQUEST, то возможна ситуация, когда злоумышленник делает так:
    <img src="http://example.com?action=delete&article_id=1">
    <img src="http://example.com?action=delete&article_id=2">
    <img src="http://example.com?action=delete&article_id=3">
    <img src="http://example.com?action=delete&article_id=4">

    Публикует такие "картинки" вот прямо здесь, в комментариях на тостере.
    При этом ваш браузер конечно попытается эти картинки получить, и выполнит эти запросы с ВАШИМИ правами.

    В случае, если вы обращаетесь к $_POST - такой фокус не сработает. Кроме того, данные отправленные через POST не попадут в историю браузера и в логи той wi-fi точки или роутера, через которую вы сидите. URL попадет, а POST data - нет. В отличие от GET.

    А $_REQUEST существует для удобства. К примеру у вас есть форма поиска, которая может работать и через POST и через GET. Это удобно, когда пользователь может скопировать URL с поисковым запросом.
    Ответ написан
    Комментировать
  • Что такое встроенные "классы" в прототипном ООП JavaScript?

    alvvi
    @alvvi
    export default apathy;
    Конструкторы о которых говорится в учебнике можно получить очень просто:
    console.log(Object);
    Только вот увидите вы следующее:
    // ƒ Object() { [native code] }
    По сути встроенные классы - обычные функции-конструкторы, просто выполняются нативным кодом браузера + у них определны все необходимые методы в prototype. Про это как раз в учебнике и написано. Стоит прочитать там же про прототипное наследование, чтобы сложилась более полная картина.
    Ответ написан
    Комментировать
  • Воспроизведение аудио?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Полностью обойти не получится, ибо политика против агрессивного воспроизведения звука.
    Звук, что у video что у audio, можно включать только синхронно по действию пользователя.
    В blink (chrome, chromium, etc.) прокатит хак, если на действие пользователя вызвать метод load(), после play() можно вызывать когда угодно. Однако хак не работает в AppleWebkit (Safari на osX, любой браузер на iOS).

    Кроме того, эту ситуацию можно отлавливать. В современных браузерах метод play возвращает промис, который резолвится после удачного запуска и реджектится при неудачном (как в Вашем примере).
    Ответ написан
    3 комментария
  • Как сделать, чтобы ширина элемента была равна ширине другого?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Чтоб хоть как-то заработало надо вспомнить что width задаётся в неких единицах измерения, а offsetWidth возвращает просто число: border.style.width = link.offsetWidth + 'px';

    Чтоб оно менялось при изменении размера можно добавить наблюдатель(нужен ie - использовать полифил):
    let link = document.querySelector('#link');
    let border = document.querySelector('#border');
    new ResizeObserver(() => border.style.width = link.offsetWidth + 'px').observe(link);


    Но вообще в 99% случаев масштабирование элементов решается вёрсткой .
    Ответ написан
    1 комментарий
  • Почему не работает поиск по классу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Обратите внимание, что есть методы который .getElemtByX(), а есть .getElemtsByX(). Логично предположить, что .getElements() будет возвращать вам массив элементов, по этому эта строка у вас и не работает:

    document.getElementsByClassName('child2').textContent = 'Измененная строка 2'; // не работает!
    Ответ написан
    5 комментариев
  • Почему не работает поиск по классу?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Что возвращает метод getElementsByClassName()?

    console.log(document.getElementsByClassName('child2')) // HTMLCollection

    Какому элемент Вы собрались изменять текст (textContent), если там целая html коллекция?

    Вначале, необходимо обойти коллекцию, одним из способов ниже:
    // old
    Array.from(document.getElementsByClassName('child2')).forEach((el) => {
        el.textContent = 'Измененная строка 2';
    });
    
    // new
    document.querySelectorAll('.child2').forEach((el) => {
      el.textContent = 'Измененная строка 2';
    });
    Ответ написан
    Комментировать