Хороший способ, воспользовался, но нужно добавить одну оптимизацию.
Маркеры обычно однотипны, даже если их надо вращать, исходное количество картинок обычно очень ограничено.
Здесь на каждый маркер создается свой html элемент:
const img = document.createElement('img');
Если нужно отобразить например 10 000 маркеров, то будет создаваться 10 000 html элементов, но они на самом деле не нужны, так как это не маркер, а исходная картинка для canvas.
Я бы может не обратил внимания, но firefox похоже не может обработать 10-20 тысяч созданий таких элементов, он просто виснет, chrome — может, но скорость все равно выше если оптимизировать.
Поэтому в «img.onload» я добавил:
img.onload = () => {
this.options.imageCache[this.options.img.url] = img; // это будет "img.el"
// ...
};
А перед createElement забираю из кэша:
if (this.options.imageCache[this.options.img.url]) {
this.options.img.el = this.options.imageCache[this.options.img.url];
this.redraw();
return;
}
imageCache это единый объект для кэширования, который передается при создании маркеров вместе с остальными options.
После этого firefox стал летать на 10-12 тысячах маркеров (как мне было нужно).
Добился того что если постараться он все-таки работает.
Надо включить чтобы он был доступен для всех сайтов, тогда он говорит что vue не обнаружен, но вкладка в dev tools все равно появляется.
Единственное что теперь не работает для меня это vue.js dev tools.
Судя по вашему форуму это проблема с добавление вкладок в chrome dev tools, разработчики это ваша аудитория, насколько я понимаю, они были бы благодарны.
В Vivaldi меню по правой кнопке на заголовке окна работает только на вкладках, все остальное пустое место никак не реагирует на нажатия.
То есть, в этом меню есть пункты, которые не привязаны к конкретной вкладке, но вызвать их можно только там, это например: «Восстановить закрытую вкладку» (это то что мне надо), «Новая вкладка», и тд.
Их довольно много, эти пункты стоит сделать доступными по нажатию на пустое место, на больших мониторах приходится лишний раз таскать мышь, ну и сам список будет значительно меньше, проще найти то что надо.
На скриншотах смотрю дополнительная панель снизу, которая всегда будет занимать строку.
Лично для меня это однозначно «нет» для установки, на мобильных устройствах и так мало места, в firefox и chrome этого нет, так как кнопка назад и так есть, вперед и поиск относительно редко нужно.
Жаль, а были большие надежды на ublock и движок chrome, проверю через год, к чему придет.
Если технология сильно разовьется, потом будут на работу в кластер принимать.
«Наша группа аналитиков нуждается еще в одной ячейке, вы будете работать в кластере из 20 специалистов».
Наверное можно потерять индивидуальность, если поработать в таком кластере несколько лет, шведская рабочая семья.
Может это они себе так новые кадры выращивают?
С гарантированной целостностью по мнению Яндекса.
А для остальных есть html академия, javascript.ru, только на курсы академии не так просто записаться уже стало, JS-1 курс через 3.5 месяца и уже нет мест.
Делал недавно на flutter приложение, которое работает с СМС на андроид.
Из того что запомнилось:
— Пакет для получения разрешений (permission 0.1.1) выдает разрешения которые на самом деле не работают, я до сих пор не понимаю как это возможно, разрешение на СМС стоит, но не работает, даже после перезагрузки, выключишь-включишь в системе — начинает работать. Переделал на java, стало все хорошо.
— При сборке с target на последний api, при нажатии на поле ввода не появляется клавиатура, пока туда не вставишь текст, оказалось известный баг, надо ставить target предпоследний api.
— firebase + cloud firestore работает хорошо, вообще все плагины которые поддерживаются гуглом работают нормально, а вот сторонние еще слишком недоделанные, интересно ReactNative вылечился от этого уже или нет.
— Код на Dart для интерфейса слишком похож на React, я так понимаю flutter и был ответом на ReactNative. В итоге большое количество вложенностей, плохо читается, ну может кто к React привык, ему нормально, по мне лучше бы сделали в стиле Vue.js.
— Не смог найти как из фоновой задачи вызвать код на dart, самого приложения то нет, пришлось написать все на java. Но вызывать методы java из dart оказалось несложно, наверное это более востребовано.
— размер приложения получается довольно маленький, у меня с play services, firebase, firestore получилось 9.1 Мб, без них кажется было около 5Мб. Все таки компиляция в native код это хорошо.
Но flutter судя по всему выстрелил, на stackoverflow trends, рост чуть-ли не вертикальный, на upwork работы стало полно для него.
Вот больше интересны лампы 15W/18W, gauss кстати есть 20 и 25, но там явно заниженная мощность (у меня дома меньше 15W ламп нет, и перегорела только одна за 2 года).
Gauss кстати единственная лампа, которая нормально работает со всеми индикаторными выключателями, их у меня несколько типов, и на один никак не мог найти, хотя smartbuy и jazzway нормально работают на других выключателях.
В целом конечно да, но вот в ThinkPad хотя бы не убирают Insert, Home, End клавиши в отличие от Dell Latitude, и F1-F12 разбиты на блоки, можно не глядя F6 найти например, это уже прогресс, TrackPoint опять же нормально работает как раньше.
Не понимаю что они прицепились к этой клавиатуре все, зачем постоянно уменьшать количество клавиш?
Leaflet. Дружим Image с Canvas
Маркеры обычно однотипны, даже если их надо вращать, исходное количество картинок обычно очень ограничено.
Здесь на каждый маркер создается свой html элемент:
Если нужно отобразить например 10 000 маркеров, то будет создаваться 10 000 html элементов, но они на самом деле не нужны, так как это не маркер, а исходная картинка для canvas.
Я бы может не обратил внимания, но firefox похоже не может обработать 10-20 тысяч созданий таких элементов, он просто виснет, chrome — может, но скорость все равно выше если оптимизировать.
Поэтому в «img.onload» я добавил:
А перед createElement забираю из кэша:
imageCache это единый объект для кэширования, который передается при создании маркеров вместе с остальными options.
После этого firefox стал летать на 10-12 тысячах маркеров (как мне было нужно).
Энтузиасты компилируют Windows XP и Windows Server 2003 из исходников
Ещё надо позвать pvs studio, чтобы нашли уязвимости, с таким количеством кода их будут десятки тысяч.
Vivaldi 2.10 — Агент под прикрытием
Shpankov это теоретически возможно или нет? Рассудите :)
PS: забавно что можно нажать на кнопку "+", и там будет то меню которое мне надо, но не на пустом месте.
Vivaldi 2.10 — Агент под прикрытием
Надо включить чтобы он был доступен для всех сайтов, тогда он говорит что vue не обнаружен, но вкладка в dev tools все равно появляется.
Описал это тут: VB-61398
Vivaldi 2.10 — Агент под прикрытием
Судя по вашему форуму это проблема с добавление вкладок в chrome dev tools, разработчики это ваша аудитория, насколько я понимаю, они были бы благодарны.
Vivaldi 2.10 — Агент под прикрытием
Vivaldi 2.10 — Агент под прикрытием
То есть, в этом меню есть пункты, которые не привязаны к конкретной вкладке, но вызвать их можно только там, это например: «Восстановить закрытую вкладку» (это то что мне надо), «Новая вкладка», и тд.
Их довольно много, эти пункты стоит сделать доступными по нажатию на пустое место, на больших мониторах приходится лишний раз таскать мышь, ну и сам список будет значительно меньше, проще найти то что надо.
Vivaldi Beta для Android — Настоящий браузер
Vivaldi Beta для Android — Настоящий браузер
Лично для меня это однозначно «нет» для установки, на мобильных устройствах и так мало места, в firefox и chrome этого нет, так как кнопка назад и так есть, вперед и поиск относительно редко нужно.
Жаль, а были большие надежды на ublock и движок chrome, проверю через год, к чему придет.
Учёные представили интерфейс «мозг-мозг», объединяющий сразу несколько человек
«Наша группа аналитиков нуждается еще в одной ячейке, вы будете работать в кластере из 20 специалистов».
Наверное можно потерять индивидуальность, если поработать в таком кластере несколько лет, шведская рабочая семья.
Western Digital понесла убытки в размере $581 млн из-за катастрофического падения продаж жестких дисков
У WD до 256 Gb, у Samsung до 1 Tb
Western Digital понесла убытки в размере $581 млн из-за катастрофического падения продаж жестких дисков
И ещё распространение смартфонов, WD, несколько понимаю, не делает для них дисков.
Почему нельзя установить размер шрифта у посещенной ссылки
PS: нашел ответ на reddit, без защиты сторонний скрипт мог бы нарисовать невидимый блок с тысячами ссылок и проверить были ли они посещены или нет.
Обширный обзор собеседований по Python. Советы и подсказки
https://docs.djangoproject.com/en/2.2/topics/serialization/
«Яндекс» запустил сервис онлайн-обучения «Практикум». Будет готовить фронтендеров, веб-разработчиков и аналитиков
С гарантированной целостностью по мнению Яндекса.
А для остальных есть html академия, javascript.ru, только на курсы академии не так просто записаться уже стало, JS-1 курс через 3.5 месяца и уже нет мест.
«Яндекс» запустил сервис онлайн-обучения «Практикум». Будет готовить фронтендеров, веб-разработчиков и аналитиков
Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC
Из того что запомнилось:
— Пакет для получения разрешений (permission 0.1.1) выдает разрешения которые на самом деле не работают, я до сих пор не понимаю как это возможно, разрешение на СМС стоит, но не работает, даже после перезагрузки, выключишь-включишь в системе — начинает работать. Переделал на java, стало все хорошо.
— При сборке с target на последний api, при нажатии на поле ввода не появляется клавиатура, пока туда не вставишь текст, оказалось известный баг, надо ставить target предпоследний api.
— firebase + cloud firestore работает хорошо, вообще все плагины которые поддерживаются гуглом работают нормально, а вот сторонние еще слишком недоделанные, интересно ReactNative вылечился от этого уже или нет.
— Код на Dart для интерфейса слишком похож на React, я так понимаю flutter и был ответом на ReactNative. В итоге большое количество вложенностей, плохо читается, ну может кто к React привык, ему нормально, по мне лучше бы сделали в стиле Vue.js.
— Не смог найти как из фоновой задачи вызвать код на dart, самого приложения то нет, пришлось написать все на java. Но вызывать методы java из dart оказалось несложно, наверное это более востребовано.
— размер приложения получается довольно маленький, у меня с play services, firebase, firestore получилось 9.1 Мб, без них кажется было около 5Мб. Все таки компиляция в native код это хорошо.
Но flutter судя по всему выстрелил, на stackoverflow trends, рост чуть-ли не вертикальный, на upwork работы стало полно для него.
Доля рынка подключаемых электромобилей в Норвегии почти достигла нового максимума
Светодиодные лампы Gauss 2017-2018 года
Gauss кстати единственная лампа, которая нормально работает со всеми индикаторными выключателями, их у меня несколько типов, и на один никак не мог найти, хотя smartbuy и jazzway нормально работают на других выключателях.
Эволюция и революция в сфере хранения данных: как ноутбуки ThinkPad помогли изменить процесс обмена информацией
Не понимаю что они прицепились к этой клавиатуре все, зачем постоянно уменьшать количество клавиш?