• Как в Selenium Java обойти UnhandledAlertException?

    @Miron11
    I wonder if the issue is in catch. One thing that did chance, based on your description, is you no longer getting unhandled exception.
    It can be useful to standup another attempt to login, in case "hanging" behavior was due to some kind of seldom/one off condition.
    Changing focus a bit, here is similar question in Stack Overflow
    See if it provides any help.
    Also, rather than going for a stack trace, I'd use println (t.getMessage());
    and put another println("past catch") right after the catch.
    Running these few lines in debugger is even better. Usually in debugger there is command window or some other way to find how to explore elements in the driver, though you did say it's not producing anything in initial description, you still have browser's development tools ( F12 ) to inspect the page and find how to identify elements.
    Sometimes elements are obstructed due to SSL ( https ) protocol, in which case it can be useful to ask developer or ops team to open access on port 80 ( http ) to train testing scripts, once scripts works, even if elements obscured by means of https connection, the script will still be working.
  • Как в Selenium Java обойти UnhandledAlertException?

    @Miron11
    Olga_AQA,
    ok
    what does the error looks like? Or it is missing to catch exception ( just in case )
  • Есть ли разница в экране realme 9 pro+ и samsung s21+?

    @Miron11
    Drno,
    все мы со своими предпочтениями
    у всех моих сотрудников золотые айфоны с золотыми ай часами
    а у меня до последнего момента была старенькая моторола за 50 уе или ниже, и я был счастлив
  • Соблюдается ли очередь данных при нескольких bulk-insert операциях?

    @Miron11
    Василий Банников,
    А Вы попробуйте, вместо того, чтобы возражать.
    Всегда есть что то новое :)
    Всего доброго
  • Соблюдается ли очередь данных при нескольких bulk-insert операциях?

    @Miron11
    Уточнение, не по существу вопроса
    Порядок данных при выборке никогда не гарантируется.

    В присутствии линейного индекса, нумерация хранимая в записях сохраняется при выборке.
  • MSSQL and mysql в чем отличие?

    @Miron11
    в SQL Server sa встроенный пользователь, с правами на всем сервере и всех его объектах
    его не нужно никуда добавлять, он уже есть
    смотреть здесь
  • Какой sql запрос построить?

    @Miron11
    Akina,
    why? there is field quantity...
    the data model allows to reduce this inefficiency, since distinct is always spool ( can't remember eager or lasy ) to perform sorting and following selection :)
    Follow the money, in sql currency is machine resource.
  • Какой sql запрос построить?

    @Miron11
    distinct isn't needed anymore
    can be removed
    except table J / field номер_изделия
    should be used in the join with equality sign, and the pairs of details should be distributed within изделие.
  • Какой open source проект написан на труъ Си++?

    @Miron11
    mayton2019,

    может Вы имели ввиду другой комментарий?
    у меня даже слово performance нет в комментарии, во всяком случае в нашей череде мнений
  • Какой open source проект написан на труъ Си++?

    @Miron11
    не упоминайте всуе, простота си обманчива.
    Типичный случай применения "template" тривиален, все множества с сочленениями через указатель имеют выбор между си - свободный указатель и указатель с жестким определением типа данных.
    Каждый из этих частных случаев на си (без ухищрений с struct) требует полного описания, но со struct не дает транслятору полного доступа к инструкциям, что ведет к не запланированным прерываниям во время выполнения.
    Template освобождает конструктора от повторения линий инструкций, а транслятор получает доступ ко всем деталям инструкций по, проверяя их на возможные ошибки во время сборки.
  • Можно ли в C++ перезагрузить оператор уже существующего класса?

    @Miron11
    Армянское Радио,
    you didn't read right
    if( left.size() != right.size() )
    {
    throw std::range_error("sizes mismatch!");
    }
    will remain, but its intent, really, is to be performed before "call", not after.
    These checks should be part of a contract, not execution steps inside function body.
    Point is, innovations running ahead of "standards" are needed. Whoever gets those right drives standard forward.
  • Можно ли в C++ перезагрузить оператор уже существующего класса?

    @Miron11
    стандарт хорошо, а вот внедрение сверки размеров до выполнения инструкции "call" лучше
  • Как переписать код с с++ на с(си)?

    @Miron11
    этот код больше похож на краткую повесть Шарлотты Бронте
  • OpenSLL, как создать хеш с помощью ГОСТ 34.11-2001?

    @Miron11
    указатель на репозиторий/документацию библиотеки и стандарт (или цитату с описанием ключа)?
  • Почему C/C++ проекты очень долго компилируются?

    @Miron11
    нет, precompiled headers, не ускоряют build.
    Если Вы ещё раз прочитаете пост о
    а. создании промежуточного буфера трансляции ( в быстрой памяти )
    б. процессе построения древа формальных инструкций выполнимого
    в. собственно трансляции этого древа на ранних этапах в двоичный код, а со временем в инструкции языка ассемблера
    Вы увидите, что создание слоя предварительного анализа заголовков никак не может помочь ускорению трансляции в стадии в, поскольку она полностью сменяет все, что построено в секциях а и б.
    И поскольку в финальной стадии все надо строить заново, то длительность выполнения всей операции только растет, при чем весьма серьёзно.
    Единственный случай, когда это помогает со скоростью, это когда в коде ничего не изменилось. Тогда компилятор может действительно быстро удостовериться, что все осталось как было и ничего не делать намного быстрее.
    Единственный надежный способ ускорять стадию в это минимизировать количество операций связанных с этим шагом.
    Именно для этого используется режим компиляции только нового / обновленного кода, совмещенный с созданием буфера предварительного анализа формальных операций ( так называемый "объектный код" ).
    В этом случае компилятор оценивает в первую очередь, что именно изменилось, и изменяет или добавляет только эти инструкции в конечный выполнимый.
    У этого подхода есть проблема.
    В случае, если Вы требуете включить опции оптимизирующие код ( их ведь включают отдельно ) транслятору придется отказаться от быстрого выполнения стадии в и вернуться к полному выполнению всех стадий трансляции кода. Но это ведь можно делать отдельно. Поскольку доверие к сегодняшним трансляторам очень высокое. И если первый, пусть не самый оптимальный вариант выполнимого, может использоваться для поиска дефектов и добавления различных фишек, то высоко оптимизированный вариант продукта всегда можно создать, когда дефекты и фишки признаны на удовлетворительно уровне.
  • Есть ли необходимость связывать сущности в БД, если я их связываю через spring data jpa в коде?

    @Miron11
    Исключение так и будет исключением, в базе или нет. Вопрос где они нужнее. Если задача качество данных, то ключи нужны и там и там.
    Если же задача сгладить впечатление и дать пользователю возможность использовать ПО поверх возможных огрехов, то наверное они не нужны ни там ни там.
    Если же задача сделать ПО по - проворнее, то с ключами зависимости надо не забыть поставить индекс на каждый ключ, а без ключей "прозвонить" запросы и поставить индексы против полей использующихся для join или where.
  • Запрет на редактирование строки в Mysql по ID?

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

    @Miron11
    Мда
    ---
    https://code.visualstudio.com/docs/cpp/config-wsl
    ---
    Using C++ and WSL in VS Code
    In this tutorial, you will configure Visual Studio Code to use the GCC C++ compiler (g++) and GDB debugger on Ubuntu in the Windows Subsystem for Linux (WSL). GCC stands for GNU Compiler Collection; GDB is the GNU debugger. WSL is a Linux environment within Windows that runs directly on the machine hardware, not in a virtual machine.
    ---
    Ох уж эти молодые. На ходу подметки рвут :)))
  • Как правильно составить запрос mySQL с выборкой данных из другой таблицы?

    @Miron11
    Верно)
    Ещё одним недостатком запроса, который предложил выше, в случае, если у админа нет клиентов, он не выдаст ни одной строчки. Наверное надо прояснить, если строка с токеном админа и NULL значениями поможет в таком случае пояснить, что админ есть, но соответствующих записей пока не создано. Так же можно, наверное, подтвердить присутствие клиентов, у которых нет логов.
    одним из возможных изменений будет, как Вы и предложили, поле в родстве logs, соответствующий запрос:
    select logs.id
    , logs.serial
    , logs.action
    , logs.ip
    , logs.date
    from owners owners
    left join clients clients on clients.token = owners.token
    left join logs logs on logs.serial = clients.serial
    and logs.token = owners.token
    where owners.token = 'abcd...'
    -----
    но такое изменение увеличит размер каждой записи logs. Если записи частые, то есть смысл сделать родство "sessions", занести в эту таблицу поле serial, поле token, а в logs ввести поле sessions, тогда запрос будет таким

    select logs.id
    , logs.serial
    , logs.action
    , logs.ip
    , logs.date
    from owners owners
    left join clients clients on clients.token = owners.token
    left join (sessions sessions
    inner join logs logs on logs.session = clients.session)
    on sessions.token = clients.token and sessions.serial = clients.serial
    where owners.token = 'abcd...'

    MySQL не силен в выполнении таких запросов, поэтому его лучше разбить на следующие подзапросы, с использованием временных таблиц

    DROP IF EXISTS TEMPORARY TABLE temp_clients;
    DROP IF EXISTS TEMPORARY TABLE temp_sessions;
    DROP IF EXISTS TEMPORARY TABLE temp_logs1;
    DROP IF EXISTS TEMPORARY TABLE temp_logs2;
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_clients (token, serial);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_sessions (sessions, token, serial);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_logs1 ( token, serial, id, session, action, ip, date);
    CREATE IF NOT EXISTS TEMPORARY TABLE temp_logs2 ( token, serial, id, action, ip, date, important_owner_property);

    INSERT INTO temp_clients (token, serial)
    select owners.token
    , clients.serial
    from owners owners
    left join clients clients on clients.token = owners.token
    where owners.token = 'abc...';

    INSERT INTO temp_sessions (session, token, serial)
    select sessions.session
    , clients.token
    , clients.serial
    from temp_clients clients
    left join sessions sessions on sessions.token = clients.token and sessions.serial = clients.serial;

    insert into temp_logs1
    ( token, serial, session, id, action, ip, date)
    select sessions.token
    , sessions.serial
    , sessions.session
    , logs.id
    , logs.action
    , logs.ip
    , logs.date
    from temp_sessions sessions
    inner join logs logs on logs.session = sessions.session

    insert into temp_logs2
    ( token, serial, id, action, ip, date)
    select clients.token
    , clients.serial
    , logs.id
    , logs.action
    , logs.ip
    , logs.date
    from temp_clients clients
    left join temp_logs1 logs on logs.token= clients.token and logs.serial = clients.serial;

    update logs
    set important_owner_property = owners.mportant_owner_property
    from temp_logs2 logs
    inner join owners owners on owners.token = logs.token
    where owners.mportant_owner_property is not NULL;

    SELECT * FROM temp_logs2;
  • Как правильно составить запрос mySQL с выборкой данных из другой таблицы?

    @Miron11
    Предлагаю разобрать на примере, с несколько уменьшенным количеством столбцов.

    Записи
    --------
    Админ
    токен - 1
    токен - 2
    токен - 3

    Клиент
    Токен - 1 | Сериал 1
    Токен - 2 | Сериал 1
    Токен - 3 | Сериал 3

    Лог
    № 1 | Сериал - 1 | Запись ...
    № 2 | Сериал - 1 | Запись ...
    № 3 | Сериал - 3 | Запись ...
    № 4 | Сериал - 3 | Запись ...
    -----
    Запрос по токен 1
    Выводятся записи под № 1,2
    -----
    Запрос по токен 2
    Выводятся записи под № 1,2
    -----
    Запрос по токен 3
    Выводятся записи под № 3,4
    ----
    Поясните, что неправильно.