• Почему vite сборщик при сборке не подключает css файл, хотя создает его в папке?

    Aetae
    @Aetae Куратор тега TypeScript
    Дмитрий Путилов, да, как уже сказано выше - стили либы и должны лежать отдельно, чтобы пользователь мог подключать их так, как ему удобно.
    Особенно это касается scss и прочих препроцессоров - если вы их используете, то пользователю желательно предлагать на подключение сразу оба варианта: и собранный css и исходный scss.
    Написано
  • Почему низкая скорость скачивания?

    Aetae
    @Aetae
    justnick, ну вон на втором какой-то впн-клиент имеет больший приоритет, хотя по маршрутам вроде и норм всё...
    Поотключай всё кроме собственно Ethernet подключения в Центре управления сетями\Изменения параметров адаптера. Также в этом подключении попробуй отключить\включить в свойствах ipv6 на обоих компах и посмотреть разницу...
    Написано
  • Почему низкая скорость скачивания?

    Aetae
    @Aetae
    justnick, а ip при перемене кабелей у компов меняются? Что кажет route print на обоих компах?
    Пока выглядит как мистика.:)
    Написано
  • Почему при указании пути, картинка не выводиться в js?

    Aetae
    @Aetae Куратор тега JavaScript
    koh777, ещё раз: если и картинка и слайдер находятся на одном домене - все будет рабортать, если нет - надо дополнительно морочиться.
    Да, "этот чувак" заливает со своего сервера, ну так и слайдер у него на том же своём сервере - atuin.ru.

    Ты же экспериментируешь на codepen, соответственно слайдер там на домене codepen, а картинку ты берёшь откуда-то из другого места.

    Картинка же с imgur работает потому, что imgur как раз заморочился с дополнительными разрешениями: 6519aa41c3e21592447345.png

    Первый раз сталкиваюсь с такой проблемой.

    Я объяснил почему: этот слайдер работает с картинкой на низком уровне, т.е. имея доступ побайтово к самой картинке, а не только показывая её средствами браузера. Почему это важно? Потому что злоумышленник может подключить например картинку с какой-то твой личной информацией с сайта банка. Если он её просто покажет - ничего страшного, а вот если он её прочитает и вытащит оттуда информацию - это уже угроза.
    Написано
  • Как сделать такую кнопку?

    Aetae
    @Aetae
    Бай Кабиров, тебе ответили свойства какие нужны - дальше сам

    Разве что если лень и фон однородный можно забить на всю эту новомодную хрень и по-дедовски сделать png нужной формы и закрывать им кусок картинки создавая иллюзию выреза.
    Правда если когда-то потом захотят поменять фон - будут сильно на тебя ругаться, но это уже будут не твои проблемы.:)
    Написано
  • VUE 3 Router не видит GET параметры?

    Aetae
    @Aetae Куратор тега Vue.js
    Tereverda, всё работает:
    Написано
  • VUE 3 Router не видит GET параметры?

    Aetae
    @Aetae Куратор тега Vue.js
    Tereverda, тут просто для примера. Первый пришедший в голову вариант, без лишних изменений исходного кода. Ты можешь положить это в mounted прям так и наблюдать результат.

    А в общем - в некоторых случаях удобно начинать watch не сразу ли делать unwatch.
    Написано
  • Как во Vue Router указать не обязательную часть url?

    Aetae
    @Aetae Куратор тега Vue.js
    Чем тебе классика вида /catalog/mebel?page-2 не угодила?..
    Написано
  • Почему проект, собранный через vite не позволяет открыть сборку локлаьно через index.html?

    Aetae
    @Aetae Куратор тега JavaScript
    Narts, верно то, что оно на уровне браузера, а уж как оно там внутре себя ведёт можно только в сорцах увидеть. Может быть и так, что там тупо проверка вида: "type module? локально? или нафиг.".

    Ограничения для локальных файлов не продиктованы никакой спецификацией или очевидной логикой, они продиктованы особенностями конкретных реализаций конкретных браузеров и желаниями левой пятки произвольных разработчиков. Именно потому я и рекомендую забыть о локальных файлах.
    Написано
  • Как должна выглядеть структура json, которую можно выводить с конц, можно обращаться по номеру и удалять?

    Aetae
    @Aetae Куратор тега JavaScript
    accountnujen, можешь. А можешь и вообще лапшу писать, ктож те запрещеят. Вопрос распределения зон ответственности, компоновки кода, и прочих всяких заумных слов. Если интересно - почитаешь какой-нить учебник по ООП и нахрена козе баян, не интересно - не почитаешь. Нет смысла тут очевидные вещи объяснять, коли оные пока не очевидны.:)
    Написано
  • Как должна выглядеть структура json, которую можно выводить с конц, можно обращаться по номеру и удалять?

    Aetae
    @Aetae Куратор тега JavaScript
    В смысле как? Как обычно:
    const articleDB = new DB(json);
    
    console.log(articleDB.get(1));
    articleDB.delete(1);
    
    for(const article of articleDB.byTagIterator('oracle')) {
      console.log(article)
    }
    
    saveToFile(articleDB.toJSON());


    А уж насколько оптимальны будут эти действия - это зависит исключительно от внутренней реализации, которую ты сможешь десять раз переписать - начиная с не оптимального но рабочего кода, заканчивая твоим идеалом, при этом никак не влияя на уже рабочий код. В этом суть классов.
    Написано
  • Как должна выглядеть структура json, которую можно выводить с конц, можно обращаться по номеру и удалять?

    Aetae
    @Aetae Куратор тега JavaScript
    accountnujen, очевидно - да. Иначе - хранить все записи в двух видах: в виде массива и в виде объекта, работая одновременно с двумя. Либо использовать Map у которой есть forEach, либо сделать итератор на основе объекта, либо каждый раз таки преобразовывать в массив.
    Забавный(на самом деле отвратительный) факт: числовые ключи объекта в js всегда идут первыми и в отсортированом виде, все остальные - по мере добавления: Object.keys({2:0, 3:0, 1:0}) // ['1', '2', '3'], возможно этот факт тебе чем-то поможет.
    Написано
  • Как должна выглядеть структура json, которую можно выводить с конц, можно обращаться по номеру и удалять?

    Aetae
    @Aetae Куратор тега JavaScript
    accountnujen,
    ну вот нихрена не так.
    а ты руками замерь. Хз что у них там на самом деле значат ops/sec.
    Ну и естественно наполнение всего массива через unshift - неоптимально. А вот добавить один элемент в уже имеющийся массив от push неотличимо.

    хотя вид классов не интуитивно понятный этому не способствует


    Что тут непонятного то?
    class DB {
      constructor(json) {
        // начальная подготовка структуры
      }
    
      toJSON() {
        // экспорт структуры для сохранения
      }
    
      reversed() {}
    
      reversedIterator() {}
    
      byTag(tag) {}
    
      byTagIterator(tag) {}
    
      add(record) {}
    
      get(id) {}
    
      delete(id) {}
    }
    Написано
  • Как должна выглядеть структура json, которую можно выводить с конц, можно обращаться по номеру и удалять?

    Aetae
    @Aetae Куратор тега JavaScript
    Ты для микрокотролера пишешь? Просто иначе производительность unshift как и большинства иных операций - в пределах погрешности для миллионов записей перебираемых миллион раз в секунду.:)

    В целом задача решается через класс: создаёшь класс, в нём методы которые делают именно нужные тебе операции, а уж реализацию внутри самих методов можешь писать любой замороченности(хранить копии в разной структуре, кэширование и т.д.) - тебе её надо написать только один раз, а дальше будешь пользоваться простыми и очевидными методами класса, абстрагировавшись от внутренней сложности.
    Написано
  • В каких случаях используют as keyof typeof?

    Aetae
    @Aetae Куратор тега TypeScript
    Лол, мужик, совет был не:
    const isPosts = (posts: unknown): posts is Posts => !!posts 
      && typeof posts === 'object'

    а:
    const isPosts = (posts: unknown): posts is Posts => !!posts 
      && typeof posts === 'object' 
    //&& ...

    Подразумевалось, что в дополнительной проверке, ты проверяешь руками, что у тебя именно объект типа Posts, а не "какой-то объект" и вообще не какая-то неведомая хрень.
    Эта проверка должна гарантировать, что любые обращения к полученным данным не приведут к ошибке из-за того что данные на самом деле не соответствуют Posts.
    Написано
  • Почему глючат картинки в мобильном браузере?

    Aetae
    @Aetae
    Странно, но тогда есть два более разумных решения, которые можно попробовать, чем таймер:
    1. Заменить onloadend на классический onload.
    2. Поменять местами картинка.src = и картинка.onload = - возможно событие отрабатывает прямо при присваивании, т.к. ничего грузить не надо(хотя и те должно бы).
    Написано
  • Почему глючат картинки в мобильном браузере?

    Aetae
    @Aetae
    alexalexes, не мешайте человеку самовыражаться.:)
    Он либо сам дорастёт( а может и уже дорос и перерос:) ) до понимания, что кириллице и snake_case в js коде не место, а египетские скобки и точки с запятой - наоборот обязательны, либо это уже не будет иметь значения.
    Написано
  • Как вывести в git log пересечения коммитов двух веток?

    Aetae
    @Aetae
    Если разработка ведётся только в дев ветках, то сравнивай dev/2.5 с 2.6, в чём вопрос?)
    Написано
  • Как бэкапнуть банковское приложение на андроиде, не теряя вход?

    Aetae
    @Aetae
    В теории - можно, на практике - нет. (Потребуются несоразмерные усилия инженеров высокого уровня.)
    Написано
  • Как использовать router и ajax запросы?

    Aetae
    @Aetae Куратор тега Vue.js
    Роутер ничего магически не сохраняет. Тыкнул "назад" - просто перезагрузились компоненты связанные с url.
    Написано