All streams
Search
Write a publication
Pull to refresh
38
13.4
Send message

Называть незнакомого человека плохим разработчиком по отдалённому признаку - это неконструктивное общение. Вы не знаете, что я разрабатываю, с какими технологиями, с какими принципами и в каких условиях.

Конструктивное общение - это если Вы скажете, как можно легко и просто использовать TPM для шифрования пароля на любом дистрибутиве линукса из дотнета. Я в дотнете работаю. У меня кроссплатформ.

Кстати, я не называл линукс плохой OS. Я на примере хотел показать полезность стандартизации API к TPM.

Я пишу свой софт и у меня возникла необходимость хранить пользовательские пароли. Для вин я использую DPAPI, которая как раз работает с модулем TPM, для макоси - шифрование по PlatformUUID, а для линукса - статический пароль.

Вопрос - на какой платформе хранилище паролей надёжнее?

Оно, конечно, существует много способов шифрования без TPM, но тут есть гарантия, что никто, получив пароли не расшифрует их.

Я не знаю, как прикрутить к апи HA такую приблуду. Поэтому не скажу, каким образом именно стыковать. Может можно текущее состояние получить из файловой системы, а фоновую картинку генерить заново для HA. Про генерацию могу накидать план.

Я бы написал на шарпе, просто потому что там всё есть. Но можно и на питоне, там есть imagemagic, там всё можно решить тупо вызовами наложения слоёв.

Но я бы взял простой PNG, загрузил бы в шарп и наложил другой PNG двумя циклами. В шарпе при загрузке Image, к нему можно адресоваться по двум координатам.

В два цикла проходим по X и Y координатам, складывая цвета каждого субпикселя, записывая обратно в Image фона. Для следующего светильника повторить.

Можно заморочиться и учесть логарифмическую природу восприятия освещения нашими глазами. Для этого нужно оба пикселя перевести в линейную шкалу, сложить линейную светимость каждого субпикселя и затем вернуть в экспоненту. Но можно и без этого. Тупо A+B. Ну и клиппинг на 255.

Добавляем все включенные светильники к фону и записываем получившийся битмап поверх картинки, которую берёт HA для фона. Вроде всё.

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

То есть накидать 20к строк на фронтенде это можно. А сделать простейший мерж картинок - тут я не настоящий сварщик? )

Ничего сложного тут нет. Загрузка картинок, два вложенных цикла, сложение пикселей, вывод бинарника куда-нибудь. Всё.

Не знаю, не работал с хоумассистансом. Но разве проблема запросить у какого-нибудь бэкенда картинку с параметрами, где будут перечислены включенные источники света?

Если две интерактивные лампы, картинки будет уже четыре, и т.д. У меня 448 рендеров первого этажа и 24 второго.

Я когда-то решал эту проблему другим способом. Есть сцена с N источниками света, делаем рендер с каждым источником по отдельности с выключенным внешним освещением.

Получается N картинок, которые можно накладывать аддитивным способом на основную картинку (с внешним освещением) совершенно независимо друг от друга.

Время TWS-наушников действительно пришло. Хотя они врядли заменят проводные решения для серьезных аудиофилов, они уже не так отвратительны, как 10 лет назад, и вполне пригодны для повседневного использования — конечно, если речь идет о моделях за адекватный ценник.

А почему TWS противопоставляется проводным наушникам? В голосовалке то же самое - существуют только TWS и проводные.

Например я ничего против не имею беспроводных наушников, но органически не переношу "затычки".

Выбор цветовой схемы - дичь полная. Белый на жёлтом фоне не читается примерно никак. Для читаемости надо контрастность 4.5:1.

ITER (который, кстати, произносится как eater — «едок»)

Нет

Степлеры конфискованы

Вспоминается "Офисное пространство"

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

Обожаю такие аргументы! Здравомыслящий человек понимает, что если идёт апелляция к здравому смыслу, то дальше будет отборная ересь.

По мне так хорошо, что в ядро не завезли микросервисов (противопоставляя "монолиту"). Способов управления сложностью в мире достаточно много, чтобы использовать их внутри "монолита". Есть логические части, есть контракты, есть документация.

почему-то не показываются отзывы на медцентры

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

Нет, не забыл. Я даже процитировал вашу фразу, с которой хотел поспорить. Кстати, ниже есть комментарий, который объясняет один нюанс, о котором я забыл: колонка ордербай меняет запрос, а не параметризирует его. Мой вариант - как раз параметризация, соответственно все ветки выполнения должны быть а запросе. Это не сложно, если на момент выполнения запроса список колонок известен. Я бы тупо сверил эту колонку со списком колонок таблицы и склеил в строку без всяких параметров.

Так что давайте вернёмся к передаче значения, а не части запроса.

SELECT * FROM 
...
ORDER BY case when <your_value> = '96005' then 1
          when <your_value> = '5806' then 2
          when <your_value> = '96004' then 3
          when <your_value> = 'PROD91' then 4
          when <your_value> = 'PROD187' then 5

Не существует такой волшебной функции, которая абсолютно любое передаваемое в запрос значение каким-то волшебным образом сделает безопасным от инъекций

cmd.AddParameter()

Вот я лох. Главное, что у меня уже два года как есть 4090, а я ещё про этот вид dlss не знаю. Ну может когда-нибудь доберусь до киберпанка, ради которого карта и покупалась )

Я говорил про frame generation. Это фишка карт серии 50Х0, на 4080 её просто нет.

Обычный DLSS будет относительно честно увеличивать фреймрейт, за счёт снижения разрешения или что там ещё есть.

Пожалуйста, не путайте.

Есть один нюанс при использовании frame generation. Он увеличивает задержку между действиями игрока, и происходящим на экране.

То есть, если "честные" фпс эту задержку уменьшают, даже если монитор у вас 60гц, а видеокарта выдаёт 240, то глаз увидит картинку с запозданием на 1/240с. Да, при этом три кадра уйдут в мусорку, но тот, что выведется на экран будет свежайшим.

Frame generation строит промежуточные кадры. Это значит, что между интервалами в 1/60 сек будут за какое-то время построены новые кадры и карта начнёт ими кормить вас на 1/60 секунды позже как минимум. Или на 1/20, если игра без DLSS выдаёт 20 фпс.

Формально оно повышает фпс, реально - ухудшает пользовательский опыт.

Information

Rating
539-th
Registered
Activity