Задать вопрос
  • Парсинг данных со страницы сайта, как сделать?

    mayton2019
    @mayton2019
    Ты начала сразу со сложного XPath выражения. Попробуй так

    IMPORTXML(A2;"//*[@id='layoutPage']")

    Если на этом этапе уже получаешь ошибки доступа к веб - то парсинг надо сворачивать
    и думать как брать контент по другому.

    Если сработает - то усложняй поэтапо.

    IMPORTXML(A2;"//*[@id='layoutPage']/div[1]")

    И проверяй на каждом шаге успех. И только так. Мелкими шажками
    Написано
  • Какая логика у этого кода?

    mayton2019
    @mayton2019
    Непонятно что должен делать код если массив arr будет пустой.

    Мне обычно лень вычислять первые элементы и я делал так.
    let max = Number.MIN_SAFE_INTEGER;
    for (let i = 0; i < arr.length;i++){ .....

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

    mayton2019
    @mayton2019
    Я не согласен с таким техническим заданием. Мой опыт подсказывает что Excel файл может
    быть разрушен от таких модификаций. Лучше создавать каждый день новый файл с текущей датой
    типа

    Книга-2024-06-23.xlsx
    Книга-2024-06-24.xlsx
    ....


    А отвественный менеджер уже будет просто брать последний файл по дате.
    Да и так проще разбираться с изменениями. Вчера-сегодня.

    Еще более правильно писать метрики в БД (SQLite) и из нее извлекать Excel как отчет.
    Написано
  • Есть ли кроссплатформенное решение для ассоциации кастомной схемы URI со своим приложением?

    mayton2019
    @mayton2019
    Да. Вопрос интересный. Для простоты я-бы предложил отказаться от идеи кросс-платформ
    и решить это для
    - Windows
    - Custom executable application

    А уж когда это заработает - попробовать масштабировать в другие системы.

    Я читернул малеха и спросил всезнающий чятик.

    Грубо говоря:

    HKEY_CLASSES_ROOT
        myapp
            (Default) = "URL:MyApp Protocol"
            URL Protocol = ""
            shell
                open
                    command
                        (Default) = "C:\Path\To\YourApp.exe" "%1"

    Это я не проверял. И не сильно верю пока в успех. МОжет относится с старым версиям Windows.

    Какие здесь могут быть подводные камни? Мне кажется главное - безопасность. По сути
    мы пробиваем брешь в стандартной модели работы современных браузеров. И на это
    надо смотреть с позиции что по дефолту нам вообще все запроещено.

    Питон здесь вообще вторичен. Если заработает любой бинарь то и можно будет потом
    поговорить об упаковке приложения python в wrapper.

    P.S. Еще Gemini предлагает другой подход с регистрацией листенера
    но мне непонятно куда дальше посылать событие из браузера? Возможно это только
    для JS application.

    chrome.tabs.onClickListener.addListener((tabId, changeInfo, tab) => {
      if (tab.url.startsWith("your-special-scheme://")) {
        // URI clicked, send message to background script
        chrome.runtime.sendMessage({ url: tab.url });
      }
    });
    Написано
  • Как определить xsd схему?

    mayton2019
    @mayton2019
    Они-же пишут

    Cannot find the declaration of element "ns3:bankGuarantee"
    Написано
  • Как решить вопрос производительности ELK?

    mayton2019
    @mayton2019
    Вот есть статья с похожей ошибкой. Не знаю будет ли полезно. Но оставлю здесь.

    https://www.elastic.co/blog/why-am-i-seeing-bulk-r...
    Написано
  • Как реализована растеризация треугольников в opengl итд?

    mayton2019
    @mayton2019
    Вот что я не понимаю, почему везде пишут что z буффер дорогой, либо я че-то не так понимаю, либо инфа старая, если он ускоряет в разы все, при экстремальных данных(так понимаю бренч предиктор помогает)

    Я не знаю. Мне кажется что при рендеринге полигонов Z буфер стоит столько-же сколько и закраска
    цветом. Как уйти от branch prediction я не знаю. В игровой графике эту задачу надо рассматривать
    применительно к CUDA, OpenСL и прочее. Как оно там под капотом работает с if я не знаю.
    Написано
  • Чем делать резервное копирование?

    mayton2019
    @mayton2019
    Backup вообще сильно зависит от рода информации которая там лежит. Например на компе
    главного бухгалтера может лежать 10 копий бухгалтерии за 10 кварталов. И надо с ним
    побеседовать на тему почему они там лежат? И есть ли информация особо sensitive.
    Может ее надо бекапить по особому. На отдельное хранилище и с шифрованием.
    Или например на компе секретарши может лежать все сезоны Игр Престолов. И надо
    тоже прояснить действительно ли эти файлы нужны для бизнеса?

    Диспетчерская машина хранит например оперативные файлы, скрины и документы
    и их надо восстановить по состоянию максимум "на вчера". Поэтому еже-недельный
    план график для десктопов диспетчера будет бесполезен и даже вреден.

    Беря во внимание такие вот вопросы я считаю что не имеет значения какую утилиту вы
    купите.
    Коммерческий продукт и python-скрипт который вам напишут первокурсники
    с практики будут примерно одинаково полезны.

    Бэкап - это сильно много не технической а организаторской работы. И не сводите
    ее просто к покупке утилиты.
    Написано
  • Как реализована растеризация треугольников в opengl итд?

    mayton2019
    @mayton2019
    SergeySerge11,

    А еще есть технология RayTracing


    Да тут есть много терминологической путаницы.

    Примерно до 2000х годов вся игровая отрисовка шла в режиме back ray-tracing.
    Тоесть расчитывались не источники света а поверхности. Потому что их алгоритм
    был хотя-бы близок в O(1) и можно было регулировать скорость рендеринга. Были гарантии
    что кадр будет закончен за какое-то число милисекунд. Источники света были обычно
    - глобальное освещение
    - прямой свет (солнце)
    - несколько spot-источников (лампочки, вспышки от выстрелов и прочее)
    Ну не больше десятка.

    Так-же работали 3Д максы и блендеры.

    Потом в 3DMax появился плагин (кажется MetalRay) который рендерил картинки совершенно
    не так а наоборот используя метод Radiocity. Тоесть он расчитывал траектории лучей выпущенных
    от источников света и с учетом сотен рекурсивных отражений от зеркал и матовых поверхностей.
    В результате время рендеринга стало очень медленных зато на выходе получались картинки фото-качества.
    Сейчас в дизайне мебели только это и используют.

    В игровой индустрии это тоже взяли на вооружение но только для карт освещения (lightmap).
    Все что стационарное - расчитывалось в оффлайне и хардкодилось в карте. А вся динамика
    (летающие споты) накладывалось в процессе runtime игры.

    Сейчас можно найти демки где NVidia показывает например этот метод применительно к играм и в динамике.
    Но требования там - понятное дело очень высокие к железу. Не знаю как они порешали эту
    полиномиальную сложность расчета отраженного света? ХЗ. Скорее всего они просто ограничили
    чисто отражений луча. И как-то хитро раздали все задачи на графические workers чтоб успеть за 1/60
    часть секунды закончить кадр.

    Поэтому RayTracing вообще это от источника света к глазу наблюдателя. А back-raytracing - это
    от глаза наблюдателя до первой поверхности (текстуры).
    Написано
  • Как реализована растеризация треугольников в opengl итд?

    mayton2019
    @mayton2019
    Вопросов от темя много. Целый стрим. Даже непонятно где главное. Буду в каментах писать.

    Берется пиксель и для этого пикселя проверяется весь массив треугольников.

    Это - вряд-ли.

    На практике, OpenGL рендерит примитивы, TRIANGLE, STRIP, FAN(из треугольников).
    Рендерит сразу без всякой сортировки. Для теста глубины используется Z-Buffer.
    (для отрисовки прозрачных объектов есть нюансы но в целом буфер глубины
    перекрывает основные потребности).

    Что по трем точкам вершин можно сразу найти некую функцию которая для точки по индексу ([0...x],[0....y]) вернет ее цвет.


    Для растеризации все полигоны разбиваются на треугольники или трапеции с одной стороной
    параллельной OX. После этого рендеринг сводится к закраске горизонтальных отрезков
    1 пикс высотой.

    На цвет пиксела в конце влияет очень много факторов. И текстура. И освещение. И алгоритм
    интерполяции соседних пикселов. И рельеф. И в новых технологиях наверное еще дохрена всего.

    Но ты верно понял идею что существует конвейер. Где слева мы устанавливаем некоторые настройки.
    Камера. Базовые трансформации объекта. И даем hi-level команды. И где-то справа в конце конвейера стоят
    очень низкоуровневые вычислительные устройства (GPU) которые параллельно и независимо
    друг от друга красят пикселы в циклах.
    Написано
  • Сценарии применения Splay Tree?

    mayton2019
    @mayton2019
    Я думаю что польза от этой разработки будет сильно зависеть от гистограммы твоих запросов.
    Пробуй. Меряй.

    Вообще, предлагаю взять за нулевую гипотезу такой факт что красно-черное дерево работает
    не хуже чем Splay на поиске рандомных диапазонов
    .

    И я буду исходить из этого все время. Обратное - надо тебе доказать.
    Написано
  • Сценарии применения Splay Tree?

    mayton2019
    @mayton2019
    Идея пока выглядит достаточно аватнюрно. Нигде не указано как Splay должен реагировать на диапазонные
    поиски. Для точечных - алгоритм пере-балансировки определен.

    Но нет никаких оснований думать что после такой балансировки диапазонные запросы вдруг
    станут эффективнее.
    Написано
  • Сценарии применения Splay Tree?

    mayton2019
    @mayton2019
    Если твоя память делится по стоимости доступа на несоклько зон (оперативная и дисковая) то
    используют LRU(HashMap) для того чтобы горячие ключи всегда были подняты наверх.

    Есть модификации LRU (ARC, 2Q).

    Где используется Splay дерево - я не знаю. Никогда не слышал о том чтобы эта
    структура была практически где-то применима.

    Судя по описанию - это только для in-memory.
    Написано
  • Что нужно изучить для создания программы управлением оборудованием?

    mayton2019
    @mayton2019
    Смотри там аккуратнее с лазером. А то человека насквозь прожжешь.

    Такие случаи в истории уже были.
    Написано
  • Почему не записываются данные в таблицу бд SQlite3?

    mayton2019
    @mayton2019
    Dark1448, так не бывает. Любой API разрабатывается с вариантами обработки ошибок

    1) В случае ошибки API метод бросает исключение. Отвественность программиста - поймать
    это исключение и обработать
    . Если программист не обрабатывает исключение - то оно эскалируется
    наверх. Тоесть API верхних уровней ловят ошибки. Здесь - ловушкой может быть фреймворк или ОС.

    2) В случае ошибки API метод возвращает код ошибки. Здесь 100% программист обязан обработать.
    Для некоторых ведомств типа NASA, обработка кодов всех ошибок всех функций является
    кодексом поведения.

    Ты писал код в надежде что все методы всегда возвращают успех. Теперь - перепроверь.
    Написано
  • Где найти гайды по Spring а не Spring Boot?

    mayton2019
    @mayton2019
    StreetWanderer, человек может свернуть в Java/Kotlin/Android. Эдакий "левый" уклон от Java.
    Тоже вариант.
    Написано
  • Где найти гайды по Spring а не Spring Boot?

    mayton2019
    @mayton2019
    Учить имеет смысл если тебя точно берут на позицию Spring разработчика и говорят - подучи
    дескыть, пройди собеседование и мы тебя берем. Учить "просто так на всякий случай"
    я-бы не стал.
    Написано
  • Можно ли запускать на серверах c ARM процессорами, виртуальные машины на х86, amd64?

    mayton2019
    @mayton2019
    Автот жеж пишет

    Удавалось ли вам запускать ОС х86, на ARM процессорах ?
    Написано
  • Почему общий размер папки равен нулю?

    mayton2019
    @mayton2019 Куратор тега Java
    Я дам мысль подумать. У тебя вот этот код

    totalCount.addAndGet(Files.size(path));

    не имеет никакого отношения к FileVizitor. Вот.
    Написано