Задать вопрос
  • Как убрать ошибку 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 комментария
  • Почему анимации работают неправильно?

    neuotq
    @neuotq
    Прокрастинация
    WOW.js - после инициализации ищет элементы на страницы с классом 'wow' и применяет к ним анимацию появления. По умолчанию все с wow скрыты. А с помощью классов из animate.css вы сможете дополнительно указать тип анимации при появлении элемента.
    Те в самом теле html файла, добавить элемент:
    <div class="wow" >
    Привет
    </div>

    После этого он будет не видим, пока пользователь не доскроллит до него.
    Ответ написан
  • По какой причине Middleware TrimStrings включен по умолчанию в Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Это вопрос старой боли с пробелами в конце и в начале(реже) вводимых пользователями в разных полях.
    Проблема настолько часто встречалась, что обрезка пробелов была почти всегда в коде. Поэтому добавили такой функционал по умолчанию, одновременно кстати с установкой в null пустых строк. Что тоже повысило удобство.
    Если нужно там можно писать исключения.
    Ответ написан
    6 комментариев
  • Как парсить чаты whatsapp из сети?

    neuotq
    @neuotq
    Прокрастинация
    У вотсап нет такого функционала. Веб версия работает через телефон, а API закрыто для обывателей, доступ за деньги и после верификации Фейсбуком вашего бизнеса. Есть разные костыли для обхода этого(в основном используются для создания своих ботов), но в целом надёжность всего низкая.
    Так что парсить вы можете только выгруженную в ручную историю из чата(есть такая возможность в клиенте).
    А так, списки групповых чатов сформированы в ручную на специализированных сайтах или локальных сообществах и тп. Но это просто ссылки на сами группы, в который можно вступить(через клиент).
    Короче просто ничего не выйдет. Либо платить деньги уже тем кто такое организовывает(но они всё равно на вас обычно вешают покупку сим карты для привязки, к псевдо веб интерфейсу, да и фейсбук нередко блочит, поэтому нужно периодически покупать новые сим карты), удобства мало. Либо вообще самому возиться с написанием своих обходных путей, тоже не айс.
    В целом их политика в этом плане кардинально отличается от подхода Телеграм например.
    Ответ написан
    Комментировать
  • Защита от бесконтрольного создания картинок?

    neuotq
    @neuotq
    Прокрастинация
    Гуглите "Rate Limiting" для вашего фреймворка, библиотеки, возможно на уровне веб сервера или чего ещё. И постройте логику приложения так, что если нужно отдавать не статитку, то условно свободно, а если генерировать, то тут ограничения. Обычно это делается на одно условное устройство/пользователя и/или отдельно на отдельный роут/операцию/функцию.
    Ну например, на пользователя 5 раз в секунду, на роут генерации картинки 100 раз в секунду, если больше любого лимита, возвращай код 429.
    Ответ написан
    3 комментария
  • Асинхронность это отложенность?

    neuotq
    @neuotq
    Прокрастинация
    Почему рассматривают прежде всего в контексте отложенных операций?
    Проблема в том что по умолчанию скрипты выполняются последовательно и синхронно. Таким образом любая операция что требует времени будет останавливать всё выполнение программы. А очень часто есть ещё задачи которые в целом могут быть выполнены независимо. Для этого во многих языках/средах созданы инструменты для асинхронного выполнения части операций. Специальный механизм добавляет возможность указать что определённая операция является асинхронной и ждать её завершения не нужно, можно продолжать выполнения программы дальше. При этом с помощью других операторов мы можем указать другие операции которые будут выполняться в тот момент когда отложенная завершится.
    Допустим ты делаешь и выводишь интерфейс программы со списком участников с разными сложными данными. Так вот, запрос на сами данные и список ты можешь сделать асинхронным и сразу же пользователю показать и нарисовать весь интерфейс(меню, кнопки, заголовки таблицы), а саму таблицу в тот момент пометить "Загрузка", а далее после получения данных из БД, функция ожидающая ответа нашего асинхронного запроса уже дорисует только оставшуюся часть интерфейса сами данные. Таким образом мы улучшим пользовательский опыт, тк в ином случае пользователь смотрит на пусто экран пока не получим и подготовим все данные чтобы сразу всё показать.
    Ну и да, часто асинхронность позволяет ещё и удобно распараллеливать задачи, повышая в тч и общую производительность системы в целом.
    Ответ написан
    2 комментария
  • Ошибка javascript, как исправить?

    neuotq
    @neuotq
    Прокрастинация
    Ох...ну если есть доступ к глобальному window, те в браузере, то можно так:
    for(var i = 1; i < image_one_loaded; i++) {
           window['image_one_loaded_value_' + i] = '';
           window['image_one_loaded_value_format_' + i] = '';
    }
    Ответ написан
  • Компьютер для работы, что поменять, на чем сэкономить?

    neuotq
    @neuotq
    Прокрастинация
    Насчёт материнки вам уже написали, можно немного упростить, хотя особой выгоды не будет.
    А вот насчёт видеокарты:
    брать её сейчас конечно же не стоит, к сожалению дефицит и оверпрайс. НО! Сегодня для задач мультимедия и редактирования видео они дают огромный буст. В том числе и в последней 30x версии, разница в скорости работы колоссальная. Поэтому потихоньку копите на карту.
    Ответ написан
    1 комментарий
  • Можно ли показывать потенциальному работодателю код с предыдущего места работы(внутри суть)?

    neuotq
    @neuotq
    Прокрастинация
    Ну формально так: авторство кода в любом случае твоё, а право на использование уже принадлежит компании.
    Далее есть ещё момент с NDA, если что-то подобное подписывал и тп, то тут часто даже нельзя говорить без кода чем конкретно занимался, только абстрактно(а порой нельзя говорить что вообще занимался чем-либо).
    Работодателям прежде всего интересны будут кейсы и алгоритм их решения. Сам конкретный код, особенно большой, нет времени изучать и вникать. Но вот очистить его от конкретики, сделав более абстрактным, решающим абстрактную задачу можно. С помощью кода вы больше показываете ваш стиль написания, чистоту и прочее.
    Поэтому :
    1. Сосредоточьтесь на кейсах.
    2. Из ваших старых работ выбирайте самые интересные(с вашей чтк зрения), подчистите их от конкретики и прямой привязке к старому проекту. Ну например была у вас там процедура како-го умного поиска объектов с гео привязкой с какой-то мудрой конкретной функцией(допустим тепловая карта цен недвижки с кросс запросами по разным таблицам), а вы его упростите до более простой и абстрагированого примера, построение данных для тепловой карты объектов(абстрактных) по заданному критерию с учётом доп свойств из связанных таблиц. Ну вы меня поняли. Заодно кстати и рефактор лёгкий будет.

    Повторюсь, много кода не нужны, возьмите буквально несколько, на ваш взгляд, интересных примеров. Их цель прежде всего показать стиль и понимания работы языка(в данном случае sql). Остальное, рассказывайте словами, в том числе алгоритм, можно блок схемки показать. Те сами знания работы БД вы сможете передать не через код уже, а словами, блок схемками и рассказами и проблемах и успехах(и неудачах тоже кстати и почему они случились)
    Ответ написан
    Комментировать
  • Как отследить статистику запросов MySQL в реалтайм?

    neuotq
    @neuotq
    Прокрастинация
    Есть мощная штука Percona Monitoring and Management, можно утонуть в аналитике, графиках и всевозможных дашбордах.
    Ответ написан
    Комментировать