• Значит, хотите запустить Windows 10 на калькуляторе? Ну ладно
    0

    Посмотрите в сторону https://tuxphones.com/

  • Запущен сервис тестирования криптовалюты Gram
    0

    Классная картинка: http://file///C:/Users/Rustem/Desktop/Новый%20точечный%20рисунок.bmp, только не показывается.

  • Запущен сервис тестирования криптовалюты Gram
    0

    Можно посмотреть текущий баланс: amount:(var_uint len:5 value:180070126759) это 180.070126759.

  • Немецкая компания T-Mobile заявляет, что владеет эксклюзивными правами на оттенок маджента
    +2
    «Цвета легко идентифицируются с брендами — достаточно вспомнить McDonald's с его «золотыми» арками, — считает Патрик Ханлон, генеральный директор PrimalBranding.co

    Почему-то в случае с McDonald's одного цвета ему оказалось недостаточно — он ещё и арки добавил.
    Причём арки, с точки зрения узнаваемости, дают больше чем цвет.

  • Запущен сервис тестирования криптовалюты Gram
    0

    Вот верный: ton://transfer/EQB1RngPGImtdKnn4k4tUmuUQ_Y8AkHyF3LmXEUt4ZgkDqVO?amount=17000000000

  • Маркетинговые фишки от Pornhub: чему учит самый трогательный сайт современности
    0

    На главной странице VPNhub-а слово Free повторяется 9 раз, из которых 2 можно не считать — это Free trial для VPNhub Premium.
    Про десктоп сразу написано: Desktop versions requires a Premium subscription.
    Мобильные же приложения позиционируются как бесплатные.
    Почему же тогда их VPN не бесплатен от слова «совсем»?


    P.S.
    Да, я мобильные приложения не ставил — так что не проверял что там платно, а что нет.

  • Как программист банк выбирал и договора читал
    +1

    Дело не в том что вас "перебрасывает": там изначальная ссылка ведёт на https://www.citibank.ru/.

  • Telegram в качестве хранилища данных для IT проектов
    0

    1500 часов это 62.5 дня — в месяц можно два одновременных приложения крутить.
    А вот 10 000 строк может хватить не всем, да.

  • Как программист банк выбирал и договора читал
    0

    А вот про СУБД я не понял — данные там всё равно будут.
    Возможно их, через какое-то время, переместят из оперативной БД в отдельную, но никто и никогда не удалит данные о счетах и проводках насовсем.

  • Мозг + VPS за 30 рублей =?
    0

    Честно говоря я не помню как я это настраивал, но сейчас мне кажется что я не особо отходил от инструкции по настройке кастомного домена.
    Есть вероятность что CloudFlare я добавлял отдельно.
    За его блокировки, конечно, обидно.

  • Мозг + VPS за 30 рублей =?
    0

    А в чём проблема?
    Изначально GitHub Pages рекомендовали для хостинга статических сайтов. Вы сказали что будут проблемы при привязке к домену, я же доказываю что этих проблем при привязке нет.
    Всё бесплатно, всё доступно.
    Может я что-то упускаю?

  • Мозг + VPS за 30 рублей =?
    0

    Не сочтите за рекламу, но вот этот сайт хостится на GitHub Pages, имеет привязанный домен и валидный сертификат: https://valery1707.name/

  • Книга «Kotlin. Программирование для профессионалов»
    0

    Согласен, оно компилируется, но при этом это всё равно ошибка:


    • по тексту книги (отрывка)
    • по логике работы (мы хотели явно не этого)

    При проверке у меня вот такое сообщение, но не помню что именно было в коде:


  • Книга «Kotlin. Программирование для профессионалов»
    0

    Только в приведённом отрывке я нашёл две ошибки. Причём для обнаружения одной из них достаточно просто внимательно следить за повествованием.
    Обидно что книга позиционируется "для профессионалов", но содержит такие ошибки.


    Ошибки компиляции:


    • println("Madrigal has left the building".addEnthusiasm()).easyPrint()
      println не возвращает ничего, а значит и easyPrint() вызвать не получится.
      До этого писали что будет замена println() в пользу easyPrint(), но тут совместили оба варианта и в результате оно просто не компилируется
    • fun <T> AnyT.easyPrint(): AnyT {
      Нет типа AnyT, так как T может быть любым идентификатором (многосимвольным, с любым кейсом символов и т.д.).
      Правильный вариант: указать T вместо AnyT. О чём, кстати, написано в следующем абзаце.
  • Game Dev Sim: настольная игра про разработку игр
    0

    Мне кажется что начинать всё же нужно с проработки игры, а издатель это уже потом.
    С поиском издателя, возможно, вам сможет помочь Milfgard

  • Бритва EPAMа: тест по Java, о котором не скажут «опяяять»
    0

    Там по 3 ответа на вопрос: вероятность угадать правильный ответ 33%.
    Если я верно помню теорию вероятностей, то 5 из 13 нам даёт 38.5% от правильных ответов что согласуется с вероятностью их просто угадать.
    Если же прикладывать усилия, как у других комментаторов, то легко можно набрать и больше.

  • Бритва EPAMа: тест по Java, о котором не скажут «опяяять»
    0

    Вопрос 3 предполагает активное использование com.google.common.collect.AbstractTable из библиотеки Google Guava, иначе для ответа придётся обратиться к документации или любимой среде разработки.


    Интересно что класс для 12 вопроса называется Q13, а для 13 — Q14. Изначально было 14 вопросов?


    Ну и про стримы там выше уже написали.

  • Про котэ, жену, двух сыновей, идею… и не только. История с продолжением
    0

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


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

  • Про котэ, жену, двух сыновей, идею… и не только. История с продолжением
    +2

    Так 400-500 рублей это предположительная себестоимость на момент начала разработки и при более дешёвом долларе.


    Про актуальную себе стоимость в статье информации нет, кроме того что сейчас она явно выше той что ожидалась изначально.
    А при том что текущая розничная цена равна 1299 рублей, то это всего в 2.5-3 раза больше чем изначально предполагалось, но никак не в 4.

  • Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле?
    0

    А город какой?

  • Как перестать забывать про индексы и начать проверять execution plan в тестах
    0

    В вашем варианте новый индекс, как я понимаю, используется в запросе — потому он его и тормозит.
    Я же говорил про случай когда индекс вообще в запросе не участвует и я не знаю БД в которой такой индекс бы мешал SELECT-ам.
    Но вообще я отвечал на другой комментарий в котором говорили что "лучше создать лишний индекс чем не создать нужный" и я отвечал в контексте того что "лишний индекс тоже мешать будет".

  • Как перестать забывать про индексы и начать проверять execution plan в тестах
    +1

    Лишний индекс будет тормозить INSERT/UPDATE никак не участвуя в SELECT.
    Сильно ли это лучше чем отсутствие индекса — по мне так тоже зависит от ситуации.

  • Проблемы общего кода в микросервисах
    +1
    Рекомендация 1: Очень желательно, чтобы общего кода у микросервисов не было вообще.

    Это возможно только в одном случае: каждый микросервис пишется на языке, не совместимом с другими или использует совершенно разные источники данных.


    Если есть два сервиса на одном языке использующих один источник данных: у вас в любом случае будет общий код для доступа к этому источнику данных.
    Банальный пример: Java-сервисы работающие с очередями. У них будет как миниум библиотека JMS, а то и какая-нибудь обёртка над ней, например в виде Spring JMS.

  • Бизнес на свои: книга с тактикой прохождения этой игры
    +1

    Похоже что и я тоже упустил ещё один блок рассказов.
    Согласно вот этой статье (опасайтесь спойлеров в описании вселенной и крутите в самый конец) сейчаc в цикл "Ойкумена" входят 5 сборников по три кники в каждом:


    • Ойкумена [Космическая симфония]
      • Кукольник (2006)
      • Куколка (2007)
      • Кукольных дел мастер (2007)
    • Urbi et Оrbi, или Городу и Миру [Космическая сюита]
      • Дитя Ойкумены (2010)
      • Королева Ойкумены (2010)
      • Изгнанница Ойкумены (2011)
    • Дикари Ойкумены [Космический марш]
      • Волчонок (2013)
      • Волк (2013)
      • Вожак (2014)
    • Побег на рывок [Космическая серенада]
      • Клинки Ойкумены (2014)
      • Призраки Ойкумены (2015)
      • Ангелы Ойкумены (2015)
    • Блудный сын, или Ойкумена: двадцать лет спустя [Космическая фуга]
      • Отщепенец (2018)
      • Беглец (2018)
      • Сын ветра (2019)
  • Бизнес на свои: книга с тактикой прохождения этой игры
    +1

    Так вроде в цикле "Ойкумена" уже 4 тома:


    • Ойкумена [Космическая симфония]
    • Urbi et Оrbi, или Городу и Миру [Космическая сюита]
    • Дикари Ойкумены [Космический марш]
    • Побег на рывок [Космическая серенада]
  • SQL: задача о рабочем времени
    0

    Да, такой вариант не был учтён.


    Запрос с модифицированным SELECT

    https://rextester.com/QKMKGO22854


    -- https://habr.com/ru/company/postgrespro/blog/448368/
    with periods(id, start_time, stop_time) as (
      values(1, '2019-03-29 07:00:00'::timestamp, '2019-04-08 14:00:00'::timestamp),
            (2, '2019-04-10 07:00:00'::timestamp, '2019-04-10 20:00:00'::timestamp),
            (3, '2019-04-11 12:00:00'::timestamp, '2019-04-12 16:07:12'::timestamp),
            (4, '2018-12-28 12:00:00'::timestamp, '2019-01-16 16:00:00'::timestamp),
            (15, '2019-01-01 21:00:00'::timestamp, '2019-01-01 21:00:00'::timestamp),
            (16, '2018-08-20 17:55:57'::timestamp, '2018-08-21 02:45:09'::timestamp)
    ),
    
    -- http://data.gov.ru/opendata/resource/8ba5011a-233e-4e01-a1d2-ff5598d0f34f#2/0.0/0.0
    -- All this block can be persisted in real table
    holidays_raw(year, jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec) as (
      values(2018,'1,2,3,4,5,6,7,8,13,14,20,21,27,28','3,4,10,11,17,18,22*,23,24,25','3,4,7*,8,9,10,11,17,18,24,25,31','1,7,8,14,15,21,22,28*,29,30','1,2,5,6,8*,9,12,13,19,20,26,27','2,3,9*,10,11,12,16,17,23,24,30','1,7,8,14,15,21,22,28,29','4,5,11,12,18,19,25,26','1,2,8,9,15,16,22,23,29,30','6,7,13,14,20,21,27,28','3,4,5,10,11,17,18,24,25','1,2,8,9,15,16,22,23,29*,30,31'),
            (2019,'1,2,3,4,5,6,7,8,12,13,19,20,26,27','2,3,9,10,16,17,22*,23,24','2,3,7*,8,9,10,16,17,23,24,30,31','6,7,13,14,20,21,27,28,30*','1,2,3,4,5,8*,9,10,11,12,18,19,25,26','1,2,8,9,11*,12,15,16,22,23,29,30','6,7,13,14,20,21,27,28','3,4,10,11,17,18,24,25,31','1,7,8,14,15,21,22,28,29','5,6,12,13,19,20,26,27','2,3,4,9,10,16,17,23,24,30','1,7,8,14,15,21,22,28,29,31*')
    ),
    holidays_by_month(year, month, day) as (
      select year, 1, unnest(string_to_array(jan, ',')) from holidays_raw
      union all
      select year, 2, unnest(string_to_array(feb, ',')) from holidays_raw
      union all
      select year, 3, unnest(string_to_array(mar, ',')) from holidays_raw
      union all
      select year, 4, unnest(string_to_array(apr, ',')) from holidays_raw
      union all
      select year, 5, unnest(string_to_array(may, ',')) from holidays_raw
      union all
      select year, 6, unnest(string_to_array(jun, ',')) from holidays_raw
      union all
      select year, 7, unnest(string_to_array(jul, ',')) from holidays_raw
      union all
      select year, 8, unnest(string_to_array(aug, ',')) from holidays_raw
      union all
      select year, 9, unnest(string_to_array(sep, ',')) from holidays_raw
      union all
      select year, 10, unnest(string_to_array(oct, ',')) from holidays_raw
      union all
      select year, 11, unnest(string_to_array(nov, ',')) from holidays_raw
      union all
      select year, 12, unnest(string_to_array(dec, ',')) from holidays_raw
    ),
    holidays(day) as (
      select concat(year, '-', month, '-', day)::date
      from holidays_by_month
      -- Звёздочкой помечены сокращённые дни, но по условию задачи они считаются рабочими
      where day NOT like '%*'
    ),
    
    -- Календарь всех дней на нужный период
    calendar(day) as (
      select generate_series(min(start_time), max(stop_time), '1 day')::date from periods
    ),
    
    -- Только рабочие дни в рамках нашего календаря
    workdays(day, begin, until) as (
      select C.day, C.day + '10 hours'::interval, C.day + '19 hours'::interval
      from calendar AS C
      -- todo Тут явно можно сделать оптимальнее
      where (C.day NOT IN (select day from holidays AS H where H.day = C.day))
        and (
          (EXTRACT(DOW FROM C.day) between 1 and 5)
          or
          -- Сокращённый день считается полностью рабочим даже если это суббота
          exists (
            select 1
            from holidays_by_month AS HH
            where HH.year = EXTRACT(YEAR FROM C.day)
              and HH.month = EXTRACT(MONTH FROM C.day)
              and HH.day = concat(EXTRACT(DAY FROM C.day), '*')
          )
        )
    )
    
    select P.id
    -- , P.start_time, P.stop_time
    -- , W.*
    -- , GREATEST('0'::interval, LEAST(P.stop_time, W.until) - GREATEST(W.begin, P.start_time))
    , to_char(max(P.start_time), 'YYYY-MM-DD HH24:MI:SS') as start_time
    , to_char(max(P.stop_time), 'YYYY-MM-DD HH24:MI:SS') as stop_time
    , to_char(sum(GREATEST('0'::interval, LEAST(P.stop_time, W.until) - GREATEST(W.begin, P.start_time))), 'HH24:MI:SS') as work_hrs
    from periods AS P
    left outer join workdays AS W ON (W.day between P.start_time::date AND P.stop_time::date)
    group by P.id
    order by 1, 4

    Результат
     id |     start_time      |      stop_time      | work_hrs 
    ----+---------------------+---------------------+----------
      1 | 2019-03-29 07:00:00 | 2019-04-08 14:00:00 | 58:00:00
      2 | 2019-04-10 07:00:00 | 2019-04-10 20:00:00 | 09:00:00
      3 | 2019-04-11 12:00:00 | 2019-04-12 16:07:12 | 07:00:00
      4 | 2018-12-28 12:00:00 | 2019-01-16 16:00:00 | 67:00:00
     15 | 2019-01-01 21:00:00 | 2019-01-01 21:00:00 | 00:00:00
     16 | 2018-08-20 17:55:57 | 2018-08-21 02:45:09 | 01:04:03
  • Блокировки в Postgres: 7 советов по работе с блокировками
    +1

    Можно третьим этапом добавить констрейнт — обязав указывать значение при вставках.

  • SQL: задача о рабочем времени
    0

    У меня в select условий нет.
    А самый сложный where — для рассчёта рабочих дней. В реальном проекте я бы материализовал таблицу с рабочими днями, так что этот where ушёл бы в другое место.

  • SQL: задача о рабочем времени
    0

    Заявку заводит человек внешний к тому кто работает в рамках рабочих часов SLA.
    Клиент тех поддержки написал что у него ничего не работает, а потом понял что у него локальная проблема и закрыл её.


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

  • SQL: задача о рабочем времени
    0
    Залил на rextester
  • SQL: задача о рабочем времени
    0
    Вот мой вариант
    -- https://habr.com/ru/company/postgrespro/blog/448368/
    with periods(id, start_time, stop_time) as (
      values(1, '2019-03-29 07:00:00'::timestamp, '2019-04-08 14:00:00'::timestamp),
            (2, '2019-04-10 07:00:00'::timestamp, '2019-04-10 20:00:00'::timestamp),
            (3, '2019-04-11 12:00:00'::timestamp, '2019-04-12 16:07:12'::timestamp),
            (4, '2018-12-28 12:00:00'::timestamp, '2019-01-16 16:00:00'::timestamp)
    ),
    
    -- http://data.gov.ru/opendata/resource/8ba5011a-233e-4e01-a1d2-ff5598d0f34f#2/0.0/0.0
    -- All this block can be persisted in real table
    holidays_raw(year, jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec) as (
      values(2018,'1,2,3,4,5,6,7,8,13,14,20,21,27,28','3,4,10,11,17,18,22*,23,24,25','3,4,7*,8,9,10,11,17,18,24,25,31','1,7,8,14,15,21,22,28*,29,30','1,2,5,6,8*,9,12,13,19,20,26,27','2,3,9*,10,11,12,16,17,23,24,30','1,7,8,14,15,21,22,28,29','4,5,11,12,18,19,25,26','1,2,8,9,15,16,22,23,29,30','6,7,13,14,20,21,27,28','3,4,5,10,11,17,18,24,25','1,2,8,9,15,16,22,23,29*,30,31'),
            (2019,'1,2,3,4,5,6,7,8,12,13,19,20,26,27','2,3,9,10,16,17,22*,23,24','2,3,7*,8,9,10,16,17,23,24,30,31','6,7,13,14,20,21,27,28,30*','1,2,3,4,5,8*,9,10,11,12,18,19,25,26','1,2,8,9,11*,12,15,16,22,23,29,30','6,7,13,14,20,21,27,28','3,4,10,11,17,18,24,25,31','1,7,8,14,15,21,22,28,29','5,6,12,13,19,20,26,27','2,3,4,9,10,16,17,23,24,30','1,7,8,14,15,21,22,28,29,31*')
    ),
    holidays_by_month(year, month, day) as (
      select year, 1, unnest(string_to_array(jan, ',')) from holidays_raw
      union all
      select year, 2, unnest(string_to_array(feb, ',')) from holidays_raw
      union all
      select year, 3, unnest(string_to_array(mar, ',')) from holidays_raw
      union all
      select year, 4, unnest(string_to_array(apr, ',')) from holidays_raw
      union all
      select year, 5, unnest(string_to_array(may, ',')) from holidays_raw
      union all
      select year, 6, unnest(string_to_array(jun, ',')) from holidays_raw
      union all
      select year, 7, unnest(string_to_array(jul, ',')) from holidays_raw
      union all
      select year, 8, unnest(string_to_array(aug, ',')) from holidays_raw
      union all
      select year, 9, unnest(string_to_array(sep, ',')) from holidays_raw
      union all
      select year, 10, unnest(string_to_array(oct, ',')) from holidays_raw
      union all
      select year, 11, unnest(string_to_array(nov, ',')) from holidays_raw
      union all
      select year, 12, unnest(string_to_array(dec, ',')) from holidays_raw
    ),
    holidays(day) as (
      select concat(year, '-', month, '-', day)::date
      from holidays_by_month
      -- Звёздочкой помечены сокращённые дни, но по условию задачи они считаются рабочими
      where day NOT like '%*'
    ),
    
    -- Календарь всех дней на нужный период
    calendar(day) as (
      select generate_series(min(start_time), max(stop_time), '1 day')::date from periods
    ),
    
    -- Только рабочие дни в рамках нашего календаря
    workdays(day, begin, until) as (
      select C.day, C.day + '10 hours'::interval, C.day + '19 hours'::interval
      from calendar AS C
      -- todo Тут явно можно сделать оптимальнее
      where (C.day NOT IN (select day from holidays AS H where H.day = C.day))
        and (
          (EXTRACT(DOW FROM C.day) between 1 and 5)
          or
          -- Сокращённый день считается полностью рабочим даже если это суббота
          exists (
            select 1
            from holidays_by_month AS HH
            where HH.year = EXTRACT(YEAR FROM C.day)
              and HH.month = EXTRACT(MONTH FROM C.day)
              and HH.day = concat(EXTRACT(DAY FROM C.day), '*')
          )
        )
    )
    
    select P.id
    -- , P.start_time, P.stop_time
    -- , W.*
    -- , LEAST(P.stop_time, W.until) - GREATEST(W.begin, P.start_time)
    , to_char(max(P.start_time), 'YYYY-MM-DD HH24:MI:SS') as start_time
    , to_char(max(P.stop_time), 'YYYY-MM-DD HH24:MI:SS') as stop_time
    , to_char(sum(LEAST(P.stop_time, W.until) - GREATEST(W.begin, P.start_time)), 'HH24:MI:SS') as work_hrs
    from periods AS P
    left outer join workdays AS W ON (W.day between P.start_time::date AND P.stop_time::date)
    group by P.id
    order by 1, 4
    ;

    Уверен что есть куда оптимизировать :)
    Ну и календарь выходных, по хорошему, лучше персистить в БД чем рассчитывать при каждом запросе.


    Результат
     id |     start_time      |      stop_time      | work_hrs 
    ----+---------------------+---------------------+----------
      1 | 2019-03-29 07:00:00 | 2019-04-08 14:00:00 | 58:00:00
      2 | 2019-04-10 07:00:00 | 2019-04-10 20:00:00 | 09:00:00
      3 | 2019-04-11 12:00:00 | 2019-04-12 16:07:12 | 13:07:12
      4 | 2018-12-28 12:00:00 | 2019-01-16 16:00:00 | 67:00:00

    P.S.
    Мой вариант работает на PostgreSQL 9.6.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit.

  • А вы на что готовы за айфон?
    +1

    Автор один и тот же

  • Опасная сделка
    +2

    На фишинговом сайте действительно есть "Java-скрипты" или там всё же "JavaScript"?

  • Как мы сделали форк российского Леруа Мерлен на Казахстан
    0
  • Как мы сделали форк российского Леруа Мерлен на Казахстан
    +1

    Так он и не работает в правовом поле РФ/РК.

  • Скрытые угрозы SMS: сотовый оператор знает слишком много
    0

    На сколько я знаю, сейчас Google начал блокировать доступ к СМС для приложений у которых работа с СМС не самоцель — так что сейчас далеко не все приложения смогут получить доступ к СМС.
    Да я и не хочу давать доступ приложению одного банка к чтению всех моих СМС.
    Ну и необходимость устанавливать приложение это уже не самый распространённый кейс.

  • Мины под производительностью ждут своего часа
    0

    Если у вас уже есть понимание что бага происходит из-за состояния гонки, то нужно копать дальше — что приводит к состоянию гонки.
    Может проблема в порядке операций/запросов. Может в кеше хибера. Может в чём-то ещё.


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


    Ниже рассмотрен вариант когда нативный запрос не видит данные которые "вставлялись" через Hibernate, и он их не увидит потому что Hibernate ещё не сбросил свой кэш операций этих записей в БД и там их ещё реально ещё нет.
    В этому случае flush это уже не такой уж и костыль, особенно если работать точно нужно в одной транзакции (а чаще всего так и нужно).
    Хотя тут можно попробовать организовать вложенные транзакции и вставку делать в более глубокой транзакции, по отношению к той где будет использован нативный запрос. Будет ли это быстрее (по работе) и проще (в реализации) — тот ещё вопрос.

  • Скрытые угрозы SMS: сотовый оператор знает слишком много
    +1

    Распечатка с ограниченным набором одноразовых паролей была хорошей идей в 90-х.
    Сейчас, когда я за день (например, при оплате комуналки) могу получить больше десяка OTP-кодов, скретч-карты с распечатками будут смотреть очень странно.
    Для получения новых OTP-кодов, в данном случае, нужно идти в отделение и стоять в очереди, да даже в самом лучшем случае — в банкомат.
    Но сейчас это явно не самый удобный подход.


    Зачем калькулятор в приложении (в которое ещё войти нужно) если есть standalone приложения с этим функционалом. Проверенные временем.

  • Мины под производительностью ждут своего часа
    0

    Тут к с любым плавающим багом — нужно разбираться в чём его причина.
    Но тут проблема в том что это занимает больше времени и в случае когда баг редок и/или не критичен, то проще забить.
    Ну или использовать костыль, который может бить по производительности всё время, но в рельутате это всё равно будет дешевле прямого решения проблемы.

  • Мины под производительностью ждут своего часа
    0

    Нативный запрос работает минуя кэш хибера, так что логично что он не видит данных которые лежит в кэше.
    Тут нужно или запросы в разных транзакциях выполнять или флашить руками.