• Как проверить код на уникальность?

    neuotq
    @neuotq
    Прокрастинация
    Такой тип инструментов называется CPD - copy-paste detector. Иногда входят в состав различных инструментов для статистического анализа кода. Правда там это делается в контексте копирования и вставки внутри проекта, те чтобы найти узкие места с сделать рефакторинг дубликатов.
    Пример такого инструмента или вот ещё.
    Если использовать поисковой движок самого гитхаба, то здесь будет сложнее он игнорирует многие символы и т.п., хотя позволяет, например указать язык, по которому искать, или имя файла и тп.
    Может быть легче будет использовать гугул и указать чтобы он использовал результаты с гитхаба (site:github.com)
    Ответ написан
    3 комментария
  • Как создать исключительно React или Vue приложение?

    neuotq
    @neuotq
    Прокрастинация
    Будет как вы захотите. Сам React и Vue - это прежде всего библиотеки для построения интерфейса пользователя, что конечно же часть фронта.
    Для удобства разработчика и быстрого создания веб приложений хелперы генерируют удобную структуру папок.
    Отдельный момент папка node_modules, она содержит библиотеки которые нужны для разработки самого приложения и интерфейсов, обычно в продакшн не попадает сборщик проекта берёт оттуда всё что нужно при сборке проекта.
    На выходе, в классическом случае, у фронтендера будет код js/css и готовые шаблоны(может и без них).
    Так что, у вас по умолчанию фронт это независимая штука. Даже от бекенда. Если же нужно, разработчик внутри делате запросы к api и получает нужные данные(а на бекенде уже не важно что, php).
    В целом, советую начать с чтения официальной документации, там всё кратко и по делу расписано. Да и уроков в отрытом и бесплатном доступе много.
    Ответ написан
    Комментировать
  • Существует ли библиотека для трансляции php кода в node.js?

    neuotq
    @neuotq
    Прокрастинация
    Технически сам язык конечно же можно перевести в другой, я думаю даже простенькие функции будут работать.
    НО! Дальше будет куча но. Обычной трансляцией не обоёдешься, так как много подводных камней и особенностей самого API PHP, принципов работы многих встроенных библиотек, хаков, костылей и просто приёмов которые используют люди в своих проектах и тп.
    В таком огромном и сложном проекте как Wordpress этого всего просто нереальное количество.
    Вы же понимаете часто даже код больших проектов, в рамках одного языка(любого) тяжело переводить с версии на новую версию. А тут на другой язык/платформу исполнения кода.
    Это в любом случае ручной труд, а автоматический транслятор вам только будет помогать переводить конкретные конструкции, а так огромное количество ручного труда для каждого файла/класса/функций и тп.
    Технически это возможно, но займёт огромное количество человека-часов, легче с нуля написать.
    Второй вариант найти решение с условной виртуальной машиной, которая исполняет php код внутри js окружения. Были когда-то подобные пакеты, но спроса нет и всё заглохло. Это тоже трудоёмкий процесс, нужно бежать и развивать свою такую штуку.
    Поэтому сегодня есть только условные прокси на node.js, которые запускают php скрипты на php(тем или иным способом, но исполняет их именно php).
    Поэтому мы приходим к технологии WebAssembly, там есть например проект wasmer, с помощью которого можно запускать wasmer-php. Но снова таки, это не трансляция кода, а просто запуск php в среде браузера, js тут уже чисто для управления и запуска самого wasmer...
    Ответ написан
    Комментировать
  • Как отслеживать определенной свойство в объекте vue 3?

    neuotq
    @neuotq
    Прокрастинация
    Всё просто. Используй watch на реактивном объекте
    // ...
     const obj = reactive({
          prop1: 'prop1',
          prop2: 'prop2'
        })
    watch(
          () => obj.prop1,
          (prop1, prevProp1) => {
            console.log("#######");
            console.log("Lets watch:");
            console.group();
            console.log("obj.prop1: " + prop1);
            console.log("Old prop1: " + prevProp1);
            console.groupEnd();
            console.group();
            console.log("Prop2: " + obj.prop2);
            console.groupEnd();
            console.log("End watch.");
            console.log("#######");        
          }
        )
    //...

    Вот пример:
    Ответ написан
    1 комментарий
  • При вводе номере телефона в инпут в значении value появляется лишний последний символ. Почему?

    neuotq
    @neuotq
    Прокрастинация
    Библиотека в целом порой себя странно и неудобно ведёт(они часто ещё отписываются у меня при использовании бустрапа всё ок, наверное что-то из вашего мешает).
    Короче попробуй вот так сделать:
    Ответ написан
    Комментировать
  • Как сохранить изображение которое генерируется в реальном времени?

    neuotq
    @neuotq
    Прокрастинация
    Короче говоря, сразу отмечу, мне не очень нравится такое вкрапления кода в шаблон, я бы создал свой сервисный класс обертку, но да ладно. Значит у тега a есть свойство download, куда можно дать имя файла(как он будет называться при сохранении) и который браузеру сразу и подскажет что ссылка для скачивания и угадывать что там не нужно, ждать хедеров от сервера и тп тоже не нужно(я упростил объяснение).
    Ваш код должен быть таким:
    <img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
         'ssid' => $this->ssid,
         'encryption' => $this->encryption,
         'password' => $this->password
         ])) !!} ">
         <a 
    download="qr.png"
    href="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
         'ssid' => $this->ssid,
         'encryption' => $this->encryption,
         'password' => $this->password
         ]))  !!}" class=""></a>

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

    neuotq
    @neuotq
    Прокрастинация
    Всё просто. Как я понимаю, играя вы используете встроенное видеоядро, поэтому частота процессора понижается для сохранения баланса итогового TDP, ну те чтобы проц не перегрелся и стабильно работал.
    Грубо говоря у вас есть общее ограничение по TDP и нужно балансировать. Либо в угоду мощности процессора, либо графического ядра.
    Для игр гораздо важнее мощность GPU, отсюда и понижение мощности CPU для ускорения GPU
    Ответ написан
    3 комментария
  • Что значит сделать тизер?

    neuotq
    @neuotq
    Прокрастинация
    Ох.. это как бы искусство кратко, с недосказанностью заинтересовать человека чем-то.
    В вашем случае выходит сделать рекламу/анонс, в форму тизера любого ролика.
    В отличие от трейлеров, тизеры в гораздо больше степени сосредоточены на интриге и недосказанности во всех аспектах, начиная от интриги и вокруг героев/продукта, заканчивая и сюжетом и сеттингом. Те упор на намёки, игру воображения и фантазий зрителя.
    Поэтому берёте ролик оригинал, изучаете. Определяете основную тему и содержание. Думаете кто потенциальный зритель и тп. И создаёте на основе ролика для них интригу, так чтобы они ОЧЕНЬ захотели его посмотреть.
    Трейлер нам даёт в более открытом виде понимание что будет, часто раскрывает героев, сеттинг, многие подробности и даёт четкое понимание чего ждать.
    Тизер - недосказанность, тайны и больше игра с ожиданием и воображением зрителя.
    Как-то так примерно.
    Ответ написан
    3 комментария
  • Что значат стрелочки в выражении?

    neuotq
    @neuotq
    Прокрастинация
    Во многих языках программирования << используется для операции битового сдвига влево, те число в двоичном виде "двигается" влево, с заполнением нулями новых битов.
    Ответ написан
    Комментировать
  • Как убрать ошибку process is not defined in route/index.js Laravel Mix/Vue/Webpack?

    neuotq
    @neuotq
    Прокрастинация
    Очевидно что в коде где-то идёт обращение к process, а тк сущность не определена выпадает ошибка.
    Ответ написан
    Комментировать
  • Как вставить в Excel сгенерированный qr?

    neuotq
    @neuotq
    Прокрастинация
    В документации есть пример как добавлять картинки, правда насколько я помню с svg там были некоторые проблемы, но вы потестите. Если что генерируйте png с ним всё ок.
    Код примерно такой будет:
    $qrPath = 'some/path/toqr.svg';
    $qr = QrCode::format('svg')->size(50)->encoding('UTF-8')->generate('MyNotePaper', $qrPath);
    $qrDrawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
    $qrDrawing->setName('MyNotePaper');
    $qrDrawing->setDescription('MyNotePaper');
    $qrDrawing->setPath($qrPath);
    $qrDrawing->setWorksheet($sheet->getActiveSheet());
    $qrDrawing->setCoordinates('AE48');
    Ответ написан
  • Нормальная ли сложность задачи для джуниора на работе?

    neuotq
    @neuotq
    Прокрастинация
    Ключевое отличие джуна от мидла прежде всего в опыте коммерческой разработке. Вполне себе встречаются ситуации что джун может иметь теоретические знание в некоторых моментах и тп выше мидла или даже, о боги, синьйора.
    Я, конечно, во многом упрощаю, но почему-то многие воспринимают как джун == ничего незнает только учится, только из-за того, что многие скриптокидди прорываются в компании и фигачать на своем реакте(непонимая вообще как всё и зачем работает).
    На самом деле не так. И конечно не значит что джун должен знать всё и тп. Но как минимум общее понимание что и зачем ожидается, как и начальное знание предмета.
    А вот из понятных слабостей джуна - отстутвия понятия о коммерческой разработке, её особенностях, понятии о продукте почему делаем это, а не вот ту крутую модную фичу и тп и тд. Те тут значительная часть слабостей лежит даже в сфере тн "софт скилов", а не только прямых хард слкиллов в конкретной технологии(но и они безусловно тоже!).
    Ну а с сеньёорами это ещё более важно, там уже соф скиллы ещё важнее.
    Поэтому приходит джун, типа знает технологии, но слабо знает что и когда и зачем, поэтому им задачи нужно давать более конкретно, поэтому и ожидается что примерно за полгода-год он станет мидлом и значительную часть решений начнёт принимать самостоятельно, на основе поставленных задач стейкхолдерам/продактом и тимлидом. Грубо говоря, освоится в песочнице)
    Ответ написан
    Комментировать
  • На чем исполнять несложный интернет-магазин?

    neuotq
    @neuotq
    Прокрастинация
    Советую брать что-то готовое. Потому как если проект будет живой и работать, в любом случае будут вылезать те или иные косяки, недоработки и т.п.
    Так что берите например тот же вукомерс, базовый набор и вперед.
    По умолчанию ничего сложного, куча всего уже готово(интеграции и проч) легко кастомизируется. Это же можно сказать и про многие другие.
    Либо вообще выбрать платформу вроде insales.
    Писать свое не рекомендую. Тем более если условно простое. Больше смысла писать свой продукт под нечто большое, с уникальными требованиями и тп, на что потом будут готовы выделять ресурсы. А так будет просто мертворожденное решение и проблема у владельцев если нужно что-то допилить.
    Ответ написан
    2 комментария
  • Как вывести первые 6 элементов меню а не все сразу в opencart коде?

    neuotq
    @neuotq
    Прокрастинация
    Так как вы используете Twig в качестве шаблонизатора, то можно сделать так:
    <ul class="us-footer-list  list-unstyled">
        {% for information in informations | slice(0, 6) %}
        <li class="us-footer-item us-footer-information"><a href="{{ information.href }}" {% if information.rel is defined and information.rel %}rel="nofollow"{% endif %} class="us-footer-link">{{ information.title }}</a></li>
        {% endfor %}
    </ul>
    Ответ написан
    5 комментариев
  • Как задеплоить приложение на Express.js в связке с Nuxt.js на хостинге Beget?

    neuotq
    @neuotq
    Прокрастинация
    Вы как-то мало подробностей написали. Но как я понял у вас vps и вы заходите через ssh и в консоле запускаете просто node app.js ?
    По хорошему нужно делать нормальный цикл с ci/cd.
    В любом случае начинайте с pm2.
    А далее будет pm2 start app.js.
    pm2 возьмёт на себя управление процессом для приложения.
    При деплое нужно его перезапускать(повторюсь по хорошему нужны ci/cd скрипты и тп).
    Ответ написан
    3 комментария
  • В Express.js добавление/отображение информации производится только шаблонами?

    neuotq
    @neuotq
    Прокрастинация
    Немного не понятно, что вы хотите? Шаблоны используют для того чтобы была интерактивность в них, с переменными и тп.
    Если вы хотите просто отдавать html как статику, можно использовать static, пример из документации (допустим в папку public вы кинули файлы):
    app.use(express.static('public'));
    И после этого вы сможете по прямому адресу открыть html (site.com/public/test.html).
    Или использовать sendFile, им можно отправлять любые файлы: pdf, картинку и тп, в тч html.

    Представим, что у вас есть папка static и там html файл.

    var express = require('express');
    var app = express();
    var path = require('path');
    app.use(express.static(__dirname + '/static'));
    
    // viewed at http://localhost:8080
    app.get('/', function(req, res) {
      res.sendFile(path.join(__dirname + '/static/test.html'));
    });
    app.listen(8080);
    Ответ написан
  • Как работают smm агрегаторы?

    neuotq
    @neuotq
    Прокрастинация
    В Китае есть активные и большие попытки автоматизации ботов, в том числе через реальные устройства, живые андроид телефоны с автоматизацией действий. Есть конечно и просто решение на основе puppeter и аналогов.
    НО. Всё же главный основной сегодня - это люди. Грубо говоря студенты или другие люди готовые за копейку делать определенные действия. Поэтому есть определенные сервисы, работают они по принципу Яндекс.Толока, где реальные люди делают и лайки, и подписки и просмотры.
    Насколько это эффективно вопрос спорный. Ведь с одной стороны такие подписчики это не покупатели. а мертвый груз, но с другой стороны потенциальный клиент видит что много людей, легче вовлекается. Правда всё же, огромное число подписчиков, и малое число лайков в ленте постов у сообщества тут же наводит на мысли.
    Короче говоря схема такая:
    серо/чёрные смм-щтики запускают сервис, где предлагают лёгкий зароботок, каждый день, для студентов, беременных, и тп бла бла бла.
    А с другой стороны бизнесу показывают площадку, где ты заказываешь автоматическое продвижение, или гарантированное число лайков и тп.
    Ответ написан
    Комментировать
  • Как с помощью Advanced Custom Fields сделать множественное добавление полей?

    neuotq
    @neuotq
    Прокрастинация
    Вам нужна про версия ACF Pro, там есть возможностей создавать повторяющиеся поля/наборы полей через тн
    Repeater
    Ответ написан
    1 комментарий
  • Почему никогда не выполняется первое условие?

    neuotq
    @neuotq
    Прокрастинация
    У вас в форме нет ничего что передаёт $_POST['text'], текстареа у вас с именем message, поэтому если вы перепутали то замените на $_POST['message'].
    Ответ написан
  • Как решить утечку логов при их записи?

    neuotq
    @neuotq
    Прокрастинация
    Сложно сказать без более подробной логики и кода. Скорее всего у вас ошибка где-то. Запись в Monolog ведётся в режиме добавление в конец fopen + a, что подразумевает (в POSIX совместимой ОС):
    O_APPEND и O_CREAT
    O_APPEND Перед каждой записью помещает указатель файла в конец
    файла. Иными словами, все операции записи будут
    происходить в конец файла.
    O_CREAT Создает файл, если он не существует.

    Поэтому в целом проблем быть в Линуксе не должно(грубо говоря), тк fwrite (при fopen + a) будет работать в атомарном режиме (и блокировать файл нет необходимости), только порядок строк не гарантируется.
    А насчёт RabbitMQ не совсем понял. Ну ок, куда-то вы передали сообщение, но потом же его снова таки нужно записывать?
    Насчёт нагрузки, здесь это вторично, нужно исходить из логики работы приложения, ну и RabbitMQ таки быстро работает, бутылочным горлышком в сравнении с записью в файл не будет.
    Ответ написан
    4 комментария