• Если тратить по 8-10ч в день на программирование, возможно ли дорасти до уровня middle разрб?

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

    neuotq
    @neuotq
    Прокрастинация
    UPD Как правильно заметил товарищ vism я тут немного чуши написал по инерции. Не посмотрел куда дал ссылку. Там в примере главная проблема что человек из репозитория снова таки возвращает саму элокуент модель, а хорошо бы DTO - Data Transfer Object. Посмотрите пакет от Spatie https://github.com/spatie/data-transfer-object.

    А в целом ответить на ваш вопрос легче было, если был бы ясен контекст. Зачем приватные поля? Возможно все проще перевести в данные у вас, и это логику "защиты" перенести на уровень валидации. Тогда и ставить ничего не нужно, просто в валидации, где нужно, проверяйте входящие данные и выкидывайте ошибку. Здесь будет и гибкость(где нужно разные влаидаторы) и "магия" Ларавел в целом сохраняется коробочная.
    /---
    Это потому, что Laravel в качестве ORM использует Eloquent, который сделан по паттерну ActiveRecord. Многие считают его антипаттерном. Оставим срачи за рамками.
    Вам подойдёт внедрения подхода с паттерном репозитория .
    Вот простой пример, будет понятно куда копать и как действовать:
    https://www.twilio.com/blog/repository-pattern-in-...
    Ответ написан
  • Как исправить ошибку с подключением к бд?

    neuotq
    @neuotq
    Прокрастинация
    В .env очевидно 127.0.0.1
    А вот
    DB_DATABASE=laravel
    Вы не забыли базу данных laravel создать?
    Ну и перепроверить что логин/пароль root работает.
    Ответ написан
  • Как вывести массив в html js?

    neuotq
    @neuotq
    Прокрастинация
    Код конечно же нужно переписать:
    использовать fetch API
    разделить немного логику.
    А так, у вас ошибка, вы в цикле каждый раз переписываете document.getElementById("tbody").innerHTML
    Создайте временную переменную для строки с html и document.getElementById("tbody").innerHTMLуже после цикла, либо добавляйте через insertAdjacentHTML
    Ответ написан
    Комментировать
  • Как в bootsrap5 растянуть ( !не прижать! ) блок до низа страницы?

    neuotq
    @neuotq
    Прокрастинация
    Можно сделать на флексах
    main - делаем минимум во весь экран и флех колонкой
    последний элемент растягиваем во флексе и его делаем тоже флексом. Ну и его содержание растягиваем во флексе
    Ответ написан
    1 комментарий
  • Можно ли вначале сделать фронтенд на React Next, а потом добавить бэкенд на Laravel?

    neuotq
    @neuotq
    Прокрастинация
    Да конечно, абсолютно нормально так делать. Можно использовать разные техники чтобы замокать API, от простых быстро запущенных ответов заглушек на бекенде, до всяких инструментов вроде https://restapify.vercel.app/ который поможет быстро всё сделать.
    Главное вы в проекте должны утвердить сам API, методы, ендпоинты и тп и тд,
    Ответ написан
    Комментировать
  • Как отметить все выбранные флажки, если дано 2 массива?

    neuotq
    @neuotq
    Прокрастинация
    Два цикла точно не нужны.
    Где-то делаешь так, коллекцию из айдишников:
    $postCategoriesIds = $post->categories->pluck('id')->all();

    Ну и потом проверяешь входит ли айдишник в ту коллекцию.
    foreach($categories as $category)
     <option value="{{ $category->id }}" @if($postCategoriesIds->contains($category->id)) selected @endif>{{ $category->name }}</option>
    endforeach
    Ответ написан
    3 комментария
  • Как записать мат. операцию в переменную, а потом использовать её?

    neuotq
    @neuotq
    Прокрастинация
    Вот так, только eval обоюдо-острое оружие, потенциально могут быть дыры, поэтому то что туда передаётся должно проходить все возможные проверки.
    let operation ='*'
    let firstNumber=2;
    let secondNumber =2;
    let mul= `${firstNumber} ${operation} ${secondNumber}`;
    console.log(eval(mul));
    Ответ написан
    Комментировать
  • Как проверить код на уникальность?

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