Задать вопрос
  • Как называется такой эффект в анимании?

    noder_ss
    @noder_ss
    Линуксоид-энтузиаст и SQL разработчик
    Как называется - не знаю. Можно поместить текст в блок c overflow:hidden и давать ей отступ.
    Ответ написан
    Комментировать
  • Как добавить папку node_modules в Git-репозиторий?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Она там не нужна. Папку в .gitignore, а вот package.json и package-lock.json в репозиторий.
    Ответ написан
    3 комментария
  • Что делать с ответами которые сгенерировала нейросеть?

    @Drno
    если ответ правильный - какая разница?
    это форум - вопрос \ ответ ))
    если хоть 1 человек найдет потом по поисковику ответ на вопрос - уже хорошо)
    Ответ написан
  • Как объединить (скрестить) массивы в PHP?

    use foreach @TechnicalMan94
    $a1 = array(
        0 => 'значение 1',
        1 => 'значение 2',
        2 => 'значение 3',
    );
    $a2 = array(
        0 => 'значение 4',
        1 => 'значение 5',
        2 => 'значение 6',
        3 => 'значение 7',
        4 => 'значение 8',
        5 => 'значение 9',
        6 => 'значение 10',
    );
     
    $a3 =  array(
        0 => 'значение 11',
        1 => 'значение 12',
        2 => 'значение 13',
        3 => 'значение 14',
        4 => 'значение 15',
    );
    
    $a = [];
    foreach ($a1 as $i1=>$v1) {
        foreach ($a2 as $i2=>$v2) {
            foreach ($a3 as $i3=>$v3) {
                $a[] = [$v1,$v2,$v3];
            }
        }
    }
    
    var_dump($a);
    Ответ написан
    3 комментария
  • Есть гитлаб и какой то настроенный CI/CD, я правильно понимаю что всю разработку нужно вести на стороннем портале?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    хрен пойми что вы называете "сторонний портал". Но обычно вы ведете разработку локально в какойто ветке, потом делаете пуш на gitlab/github/bitbucket там делаете например merge (никто не знает что там настроено, но чаще делают так ) и это тригерит CI/CD, котории заливает на сервер измемения и занимается другой магией (миграции, смена прав и тд)
    Ответ написан
    5 комментариев
  • Как получить текст тега?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Вы были близки.
    .closest() ищет исключительно вверх по дереву, начиная с самого элемента. А .text не является родительским элементом для картинки.

    Таким образом, нужно сначала найти общего родителя между картинкой и .text, и в этом общем родителе найти .text:
    -const message = event.target.closest('.text').textContent;
    + const message = event.target.closest('.message_container').querySelector('.text').textContent;
    Ответ написан
    Комментировать
  • На какую CMS перевести сайт на Livestreet?

    neuotq
    @neuotq
    Прокрастинация
    Труда будет в любом случае много, слишком специфичное у них было решение.
    На вашем месте я бы собрал максимально похожий аналог на Wordpress.
    А затем написал персональный скрипт миграции каждого типа сущности.
    Wordpress в данный момент самый популярный инструмент, не умрет я думаю долго долго.
    Второй вариант, это написать собственный движок поверх текущей структуры БД(с минимальными изменениями), например с помощью Laravel.
    Обе задачи вполне можно потянуть небольшой командой разработчиков(даже одним, но я бы для надёжности взял пару). Можно найти на фриланс биржах или в любом другом месте на контракт.
    Лично я советую первый вариант с Wordpress, тк там уже огромное число готовых решений и расширении функционала у вас меньше будет забот. Да и обновления будет легче делать чем при собственном движке.
    К тому же при собственном движке вам крайне желательно иметь штатных разработчиков(может и не на полную ставку) которые будут осуществлять техническую поддержку: обновление, закрытие багов, фичи и тп
    Ответ написан
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Нет, оно того не стоит. Любая работа должна быть оплачена. Ибо сейчас напишешь за свой счет, а потом начальника скажет "о, отлично, молодец, можем теперь сэкономить на программистах и поддержке, у меня как раз знакомый ищет, ща его поставлю, а ты можешь быть свободен, заодно выпишу себе премию, во какой я молодец". Этот код решает задачи бизнеса. Если бизнес готов тратить на его поддержку и сопровождение деньги - то это проблемы этого бизнеса. Почему это наемный работник должен решать проблемы бизнеса за свой счет? Правильно сделать так: оформить все в виде какого-то документа с конкретными аргументами, цифрами, графиками и т.п. и выдать его начальству. Типа сейчас поддержка проекта стоит столько-то, приносит такие-то проблемы, переписать будет стоить столько-то, сопровождение нового будет столько-то, оно решает такие-то проблемы. И выдаете данный документ начальству. Можно даже в бумажном виде в нескольких экземплярах. А далее пусть у начальства голова болит.
    Ответ написан
    3 комментария
  • Как сверстать ячейки в таблице?

    @alexbazhenDev
    Не оборачивай td в div внутри tr.
    Как вариант, убери все дивы, что написал и в JS тебе потребуется всего один обработчик на самой таблице:
    const table = document.querySelector("table");
    table.addEventListener("click", (e) => {
      if (e.target.tagName === "TD" && e.target.parentElement.children[0] !== e.target) {
        console.log('Тут твой код');
      }
    });

    Тут мы проверяем, что target клика пришелся на один из TD, а затем проверяем, что это не первый TD в своем родителе.
    Ответ написан
    Комментировать
  • Как перевести код с JQuery на JS под Bootstrap5?

    mrusklon
    @mrusklon
    Не получается? Яростно гугли!
    document.addEventListener('DOMContentLoaded', function () {
      var forms = document.querySelectorAll('form');
      for (var i = 0; i < forms.length; i++) {
        forms[i].addEventListener('submit', function (event) {
          event.preventDefault();
          // Получение ID формы
          var formID = this.getAttribute('id');
          // Добавление решётки к имени ID
          var formNm = document.getElementById(formID);
          var xhr = new XMLHttpRequest();
          xhr.open('POST', 'mail.php', true);
          xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
          xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
              // Вывод текста результата отправки
              formNm.innerHTML = xhr.responseText;
            } else if (xhr.readyState === 4) {
              // Вывод текста ошибки отправки
              formNm.innerHTML = 'Ошибка отправки: ' + xhr.status;
            }
          };
          xhr.send(new FormData(this));
        });
      }
    });
    Ответ написан
    Комментировать
  • Как выйти из гитхаба?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Параметры вашей подписи коммитов user.name и user.email вообще никакого отношения к авторизации не имеют. А сама она не хранится в конфиге гита и к самому гиту никакого отношения не имеет. Вы же не имя и мыло вводили когда авторизовались? В гите вообще нет понятия авторизации. Вы авторизуете на внешнем сервере не гит, а пользователя компьютера. За хранение паролей отвечает credential manager, а сами пароли хранятся в недрах операционной системы, независимо от гита и хорошо спрятаны.

    «Забыть» авторизацию текущего пользователя можно такой командой.
    echo "url=https://github.com" | git credential reject


    Также можно очистить вашу подпись для текущего пользователя компьютера
    git config --unset user.name
    git config --unset user.email
    Но это не имеет отношения к авторизации
    Ответ написан
    Комментировать
  • Ошибка PHP: string-string?

    Stalker_RED
    @Stalker_RED
    Потому что вы из одной строки пытаетесь вычесть другую.
    Ну это примерно как "кузябрики - быбрики = ?" фиг знает какой результат толжен быть.
    Можно преобразовать строку в timestamp и оперировать числами.
    Еще лучше использовать специальную штуку: DateTime::diff
    Ответ написан
    5 комментариев
  • Почему не работает return?

    Stalker_RED
    @Stalker_RED
    return работает, но вы возвращаемый результат не используете.
    const foo = createContainer();
    document.body.appendChild(foo);
    Ответ написан
    Комментировать
  • Обращение к SVG спрайту через #?

    Ankhena
    @Ankhena
    Нежно люблю верстку
    Спрайты в img не вставятся.
    Зато вставятся стеки https://www.npmjs.com/package/gulp-stacksvg
    Также они вставятся и в use и в css в качестве content, bg или mask.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы отображение было как через VSCode терминал?

    @dima20155
    you don't choose c++. It chooses you
    Насколько я знаю такой синтаксис использует mac и linux у windows все иначе.
    Вот для windows
    https://stackoverflow.com/questions/2048509/how-to...
    Есть кросплатформенные библиотеки. Вот парочка из них
    https://pypi.org/project/termcolor/
    https://pypi.org/project/colorama/
    Ответ написан
    1 комментарий
  • Явный и не явный возврат функции, что это значит и в чем разница?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Явный:
    через ключевое слово return.
    Например:
    function getTrue() {
      return true // явный возврат true
    }
    getTrue() // true
    
    const getFalse = () => {
      return false // явный возврат false из стрелочной функции
    }
    getFalse()  // false

    То есть Вы с помощью зарезервированного слова говорите "в слух" - вот тут я возвращаю такое то значение.

    Неявный:
    - Для обычных функций это когда функция не содержит слова return и возвращает undefined по умолчанию.
    - Для стрелочных функций, когда функция записана в одну строку и не содержит слова return, но возвращает значение операции, описанной после =>. Если стрелочная функция с описанным в фигурных скобках телом функции, то так же как и для обычной функции. Если нет return, то undefined.

    Например:
    function getUndefined() {
      // какой то код, но нет return.
      console.log('Я тут что-то делаю, не обращайте внимания.')
    }
    getUndefined() // undefined
    
    const getArrowValue = () => 'неявный'
    getArrowValue() // "неявный"

    То есть Вы нигде не говорите напрямую что возвращаете определённое значение с помощью зарезервированного ключевого слова.

    И для чего это
    Если честно даже не знаю что на это ответить. Чтоб было. Ну вот есть такие вот варианты и всё. Ну неявный в стрелочной чтоб было короче разве что.
    Ну ещё немного подумав - неявный возврат из функции может быть только один - в самом конце функции. Явных возвратов в функции может быть несколько. Например если по условию нужно вернуть разные значения. При этом наличие явного возврата в функции не гарантирует что он сработает, опять же, если он находится под условием.
    Например:
    function conditionalReturn(value) {
      if (value === 1) {
        return 'one'
      }
      if (value === 2) {
        return 'two'
      }
    }
    
    conditionalReturn(1) // явно вернёт one
    conditionalReturn(2) // явно вернёт two
    conditionalReturn(3) // не явно вернёт undefined


    UPD:
    Так же асинхронная функция, объявленная через ключевое слово async, в неявном виде всегда возвращает Promise, даже если используется ключевое слово return - то значение после return будет обёрнуто в промис.
    Ответ написан
    Комментировать
  • Как выполнить скрипт php без файла .php?

    Stalker_RED
    @Stalker_RED
    у меня при переходе по ссылке без .php страницу не находит

    Так настройте свой серер чтоб находил.
    Для начала выясните какой он у вас, если не знаете - phpinfo вам сообщит.

    Потом гуглите рецепт "apache убрать расширение php" или "nginx убрать расширение php" или какой там у вас сервер.
    Ответ написан
    Комментировать
  • Как сделать чтобы карусель не занимала всю страницу?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Запихайте ее в div. Например <div class="container">код карусели</div>
    Ответ написан
    Комментировать