• Как отправить массив файлов на сервер?

    @alexalexes
    См. документацию к formData.
    Для прикрепления файлов есть перегрузка метода append на 3 параметра, причем несколько файлов крепятся вот так:
    formData.append("userpic", myFileInput.files[0], "chris1.jpg");
    formData.append("userpic", myFileInput.files[1], "chris2.jpg");

    Обратите внимание на 1-й параметр, в нем нет попыток создать массив, formData должна сама это разрулить, если под одно имя поля последовательно применять append.
    Ответ написан
    1 комментарий
  • 2 роутера в одной подсети, каждый раздает свой wifi, почему не дает зайти в настройки 1го роутера по ip при подключении к wifi 2го роутера?

    @alexalexes
    1. На одном роутере нужно оставить включенной службу DHCP, чтобы только он выдавал IP адреса всем подключенным к нему устройствам в той же подсети, на которую настроена служба. На остальных роутерах служба DHCP должна быть выключена. Тем самым остальные роутеры должны работать в режиме свича.
    2. Собственный адрес роутера нужно перенастраивать, если не он раздает IP адреса. Желательно, зафиксировать MAC адреса роутеров в таблице маршрутизации в активной службе DHCP, чтобы роутеры всегда получали только для них предназначенные IP.
    Ответ написан
    Комментировать
  • Почему глючит видеокарта?

    @alexalexes
    Скачивайте всеми любимый ремонтниками видюх MATS и тестируйте.
    Ответ написан
    Комментировать
  • Может ли видеокарта 16 pin питаться от БП с 1 шнурком 8 pin на котором 2 штекера?

    @alexalexes
    Тут 12pin коннекторы откисают, работая на пределе конструкционной технологии, но народ упорно хочет поиграть в русскую рулетку, когда ему создали все условия, чтобы такого не было, оставив 8pin по 2.
    Ответ написан
    Комментировать
  • Как сделать проверку на значения в переменной?

    @alexalexes
    Вариант 1. Если надо проверить одно единственное булево выражение и что-то вывести, не отходя от склейки строки:
    td>".($row["ID_EMPLOYEE"] ==1 ? "первое значение" : "второе значение")." </td>

    Вариант 2. Когда у вас возможна более толстая логика вывода в каждой ветке if:
    echo 'Перед if прекращаем шлепать HTML закрывающейся кавычкой и точкой запятой';
    if(условие)
    {
      echo 'Шлепаем HTML по истине if-а';
    }
    else
    {
      echo 'Шлепаем HTML по ИНАЧЕ';
    }
    echo 'Продолжаем шлепать HTML';
    Ответ написан
    8 комментариев
  • Front-end разработчик обязан уметь верстать в разных программах?

    @alexalexes
    Какой бы программой вы не пользовались, вам нужно уметь всего лишь снимать метрики с графических примитивов с помощью линейки, пипеткой брать цвет, знать как извлечь коэффициент прозрачности и характеристики градиентов, блюров, снимать характеристики шрифта с текста. Больше ценится навык, как вы все эти параметры наиболее быстро запихнете в CSS или напишите шаблон для предпроцессора CSS. И если какая-та программа на выходе получит сырой CSS - как его дошлифовать до конечного результата?
    Ответ написан
    Комментировать
  • Возможно ли снять ошибку "Неоригинальный картридж" ecosys p3145dn НАВСЕГДА?

    @alexalexes
    Вариантов немного:
    1. Сбросить счетчик страниц.
    2. Заменить чип на картридже.
    Действует это до момента накопления макс. значения счетчика в чипе, тогда снова будет говорить, что неоригинальный картридж.
    Ответ написан
    Комментировать
  • Какой тип должна возвразать функция при скачивании файла?

    @alexalexes
    Если возвращается идентификатор файла - тип integer.
    Если возвращается полный путь к файлу или его url - тип string.
    Если возвращаются бинарные данные содержимого файла - тип string.
    Если возвращаются raw данные из буфера ob_* вместе с http заголовками и телом файла - тип string.
    Если файл открыт файловой функцией и берется ее указатель - смотрите какой тип возвращает эта функция для указателя.
    Ответ написан
    2 комментария
  • С помощью чего сделан эффект как на сайте https://www.fromscout.com/?

    @alexalexes
    Анимация по ключевым кадрам.
    animation: main-logo-texture 10s linear infinite;
    Ключевые кадры:
    @keyframes main-logo-texture {
        0% {
            transform: translate(0)
        }
    
        to {
            transform: translate(-99px)
        }
    }
    Ответ написан
    3 комментария
  • GA-J3455N-D3H нет сигнала через HDMI. Виноват процессор или разъём?

    @alexalexes
    Попробуйте этот совет:
    Надо подключить монитор по D-SUB, зайти в BIOS, в закладке Advanced установить CSM Support - Enabled, Video - Legacy. После этого должно работать через HDMI. Если заработает, попробуйте обновить BIOS, недавно вышла версия F3, возможно там этот косяк исправили.

    Источник: https://forum.ixbt.com/topic.cgi?id=9:69411
    Ответ написан
  • Почему не работает экран ноутбука при включении?

    @alexalexes
    Отнесите в сервис. Может быть все что угодно. От просто отвалился загрузчик - поправляется переконфигурацией БИОС за несколько минут, до отвала видеочипа - нужно проф. оборудование и компетентный мастер.
    Ответ написан
    Комментировать
  • Как кликнуть по элементу у которого один Class но элементов таких 10?

    @alexalexes
    Если не хотите forEach-ем, то переберите по старинке через for.
    let Nlist = document.querySelectorAll(".chain_cnt_head");
    for(let i = 0; i < Nlist.length; i++)
    {
       Nlist[i].click();
    }
    Ответ написан
    1 комментарий
  • Запоминает ли usb bluetooth свисток подключенные устройства при смене операционной системы?

    @alexalexes
    Учет подключенных устройств bluetooth осуществляется на уровне приложения выше драйверов донгла. В каких-то случаях ОС использует свою утилиту, в каких-то случаях можно использовать утилиту от производителя донгла (или может быть универсальная утилита). Сам донгл учетных данных не хранит.
    Ответ написан
    Комментировать
  • Modx Babel мультиязычность - как получить контекст во внешнем файле?

    @alexalexes
    При наличии параметра uri страницы, контекст ресурса можно получить так:
    $page = $modx->findResource($uri);
    $context_key = $page->get('context_key');
    Ответ написан
    Комментировать
  • Какое регулярное выражение использовать, что бы достать из текста все цифры?

    @alexalexes
    Сначала пишите патерн для лицевого счета, ориентируясь на "л/с" и на пробел после номера (см. Позитивный просмотр вперед/назад).
    Отдельно пишите патерн, чтобы получать даты (тупо по точкам и обязательному количеству цифр между ними).
    Потом пишите патерн, чтобы вытащить номер № - это посложней, так как только вы можете проанализировать, какие номера могут быть, но можно заглядыванием назад ловить номер (и опционально пробел) и читать до следующего пробела.
    Если порядок нахождения не важен, можете тупо по очереди сканировать текст этими тремя патернами.
    Если важен, то делаете один патерн из всех через пропуск определенного кол-ва символов (.)+ - обернуть нужно также как с условным просмотром вперед/назад.
    Ответ написан
    Комментировать
  • Что является разработкой клиентской части?

    @alexalexes
    Все окружение браузера, до чего дотягивается JS интерпретатор - DOM-дерево, window, куки, локальное хранилище, интерфейсы XHR (он же ajax), web_sockets, api к графике/звуку - это все клиентская часть приложения.
    Вы можете полностью создать одностраничный сайт без применения фреймворков, веб-сервера, и просто сохранить в виде html файла (плюс еще несколько статичных css, img, js, font файлов, но это можно использовать без поднятия настоящего сервера) - и это будет полноценное клиентское приложение без серверной части.
    Ответ написан
    Комментировать
  • Как реализовать получение уникального айди из базы данных?

    @alexalexes
    Ну, insert вы для себя открыли.

    я хотел сделать отдельный параметр в бд, который проверяется

    посмотрите, как пользоваться select-ом, да еще с входными параметрами, чтобы извлечь строку.

    заменить в ней значение,

    Ищем как пользоваться запросом c update, да еще с параметрами.
    PS: Если еще посмотрите, как пользоваться delete, то CRUD комплект вы изучили, как взаимодействовать с базой.
    PPS: cursor после выполнения insert может содержать свойство last insert id, но это не точно.
    Ответ написан
    Комментировать
  • Как быстро сделать список адресов для скачивания?

    @alexalexes
    Если прямо "на коленке" нужно написать и за 5-20 минут получить список url к определенной странице.
    То открываете консоль браузера F12.
    Открываете вкладку "элементы", чтобы изучать дерево документа.
    Также заходите во вкладку "консоль" и с помощью document.querySelector пытаетесь написать CSS селектор, чтобы дотянуться до нужного img узла изображения. Если вам нужна ссылка на то, что выводится тегом img, то забираете атрибут src. А оригинал изображения может лежать в соседнем атрибуте этого же тега, например, data-src - тогда забираем его.
    Далее, пробуем получить список узлов img по заданному селектору с помощью document.querySelectorAll.
    Если функция подхватывает все узлы, то результат готов. Вам нужно подставить в url-ы домен ресурса или адрес текущей страницы (без части запроса), так как ссылки могут быть относительны.
    Можно накопить результат в виде массива, перевести в JSON и забрать строчку JSON из консоли. Если еще проще, то склеить результат в строку через запятую и тоже забрать из консоли.

    В отдельных случаях одним CSS селектором можно не обойтись, чтобы забрать все ссылки, или img узлы лежат не в постоянной структуре.
    Тогда нужно в несколько этапов получать содержимое.
    Сначала нужно научиться дотягиваться до узла-контейнера списка элементов (элементы - не обязательно интересующие Img узлы, ими могут быть какие-нибудь карточки товаров - тоже контейнеры).
    Потом от контейнера-карточки пытаемся дотянуться до нужного изображения.
    Далее организуем forEach, чтобы перебрать контейнеры-карточки.
    Ответ написан
  • Делаю to do веб-приложение. Как реализовать логику повторения задач?

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

    4. Можно сделать схему подсистемы построения отчетности как по шаблонам задач, планировщику, так и по назначению прав доступа, кураторов, исполнителей.

    ----------------------------------------
    Схема таблиц учетных данных пользователей

    Пользователь
    #* Код человека
    *Дата регистрации
    * ФИО
    *Адрес электронной почты
    * Хеш пароля

    -----------------------
    Схема таблиц прав доступа пользователей

    Шаблон роли пользователя (модель роли)
    #* Код шаблона
    * Название роли

    Действия прав доступа (справочник)
    1. Код действия
    2. Название действия (просмотр, назначение, отмены, удаления, переноса задачи, редактирования шаблонов задач, редактирования планировщика задач)

    Cвойства шаблона прав доступа
    1. Код свойства прав доступа
    2. Код шаблона роли
    3. Код действия прав доступа
    5. Код типа задач
    4. Дата создания свойства

    Роль пользователя (реализация роли пользователя)
    1. Код прав доступа пользователя
    2. Код шаблона роли
    3. Код пользователя

    ------------------
    Схема таблиц планировщика задач пользователей

    Тип задачи
    1. Код типа задачи
    2. Название типа задачи

    Шаблон задачи (модель задачи)
    1. Код шаблона задачи
    2. Код типа задачи
    3. Код родителя шаблона задачи (на сущность Шаблон задачи)
    4. Наименование задачи
    5. Описание задачи
    6. Дата создания шаблона
    7. Периодичность выполнения
    8. Код пользователя (номинальный куратор)
    9. Код пользователя (номинальный исполнитель)
    10. Дата назначения номинального куратора
    11. Дата назначения номинального исполнителя

    Календарь задач (реализация задач, он же планировщик)
    1. Код элемента
    2. Код шаблона задачи
    3. Дата начала выполнения задачи
    4. Дата окончания выполнения задачи
    5. Код пользователя (фактический куратор)
    6. Код пользователя (фактический исполнитель)
    7. Дата назначения фактического куратора
    8. Дата назначения фактического исполнителя
    ---------------------

    PS: Можете из этого перечня таблиц и их атрибутов нарисовать DFD диаграмму или диаграмму по Ричарду Баркеру. Правда, тут не обозначены явно связи, но можно догадаться по названию внешних ключей, как связаны таблицы.
    Ответ написан
    1 комментарий
  • Какую видеокарту выбрать на древний ПК?

    @alexalexes
    1. Докупить SSD, гигов на 240, не меньше.
    2. Потом купить комплект мамки DDR3/SATA3 + проц. i3 не ниже Ivy bridge поколения (трехтысячные номера моделей процессоров). Eсли в комплект войдет пару гигов озу - поставить на первое время.
    3. Добить емкость озу до 8 или 16 гиг DDR3. Если проц/мать поддерживает частоту 12800, то ориентироваться на такие планки.
    4. видео можно оставить, если что-то подвернется почти бесплатно, что-то до nvidia 560 (новее смысла ставить нет), то можете воткнуть эту затычку, хуже не будет.
    PS: Может выяснится, что у вас блок питания на 400 ватт (а может даже 350), и он не тянет новый комплект железа - купить на 450 ватт. Если он еще окажется с сертификатом 80plus - то супер.
    Ответ написан
    Комментировать