Vadim
Есть запасной вариант уже готовый, который работает уже после сериализации в Json. Если по-другому быстро сделать не получится. К утру должен идею предложить, пока чет кроме рефлексии ничего в голову не приходит.
Vadim
Вместо того, чтобы писать для всех моделей запросов-ответов такой метод.
Vladislav
блин, что можно интересного сделать, пет какой-нить. Хотел динозаврика на OpenGL, но мне сказали "ты чего? Ты же в железки, на кой тебе игры") Вот и как?)
Arutemu
Мне кажется, ответ прост. Раз есть желание, стоит взяться за него, не внимая мнениям со стороны
Vladislav
может...
m700
Если я правильно поеял цель
Arutemu
блин, что можно интересного сделать, пет какой-нить. Хотел динозаврика на OpenGL, но мне сказали "ты чего? Ты же в железки, на кой тебе игры") Вот и как?)
Хотя я и не понимаю масштаба такого желания. Возможно, это действительно потребует серьезных усилий
Vadim
Шифр или кодирование
Ну надо замаскировать просто строки во всех объектах и их детях. Допустим есть номер карточки "000101501051305150" - вместо него должно быть "**************"
Vadim
И так для всех свойств, полей, имена которых я передам.
Vladislav
Хотя я и не понимаю масштаба такого желания. Возможно, это действительно потребует серьезных усилий
а мне делать нечего. Решил для закрепления знаний чет сделать, и тут динозаврика захотел. Хотел еще ГС, но дино круче)
Arutemu
Сделайте 👍
Vladislav
Сделайте 👍
ава со шлепой была круче)
Vadim
а мне делать нечего. Решил для закрепления знаний чет сделать, и тут динозаврика захотел. Хотел еще ГС, но дино круче)
А как там, надо просто позицию в трехмерном пространстве для всех точек задавать вручную?
Vadim
Чтобы получился динозавр?) Это жестко конечно
Arutemu
ава со шлепой была круче)
Возможно, но меня сейчас Азия сильно привлекает
Arutemu
Когда-нибудь да поменяю (Кстати, у вас здесь кото-клуб?)
Vadim
в 2-х мерном*
А, понятно, ну развлечение конечно для любителей)
Vadim
Я как-то давно изучал Direct-X немного и там в стандартных уроках делают трехмерного тигра и текстурируют его. Это жопа конечно.
Vladislav
а после него, за что-нибудь еще возьмусь. Нада кругозор расширить)
Vadim
Mikhail
Ребят, здарова, в общем, стоит задача (C#) написать метод для логера, который будет маскировать параметры, имена которых я ему передам. Идея пометить аттрибутом не подходит, т.к. один из ревьюверов не одобряет рефлексию) Есть какие-нибудь идеи, как это сделать без рефлексии?
Как вариант, который тоже видел: обертка в самом логгере, который регекспом фильтрует свойства из блеклиста в рантайме. Ну и вараинт на скрине лучше рефлексии, ибо в таком случае разницы мужде “передаю список полей” и “имплементирую метод как будет выглядеть логированная запись” не особо большая. В целом, это все основные варианты, да. Вообще, можно поставить вопрос по другому: а нужно ли вообще логгеру кормить целиком весь объект? Возможно стоит обойтись без этого?
Vladislav
смяшной)
Vadim
Зачем-то хотят для логера такую штуку.
Vadim
Ну вроде предварительно я уже сказал, что особого смысла нет, и вариант с маскировкой json одобрен. Сказали, если до завтра сделаю по-другому. то ок, если нет, то оставим как есть.
Mikhail
Как вариант, который тоже видел: обертка в самом логгере, который регекспом фильтрует свойства из блеклиста в рантайме. Ну и вараинт на скрине лучше рефлексии, ибо в таком случае разницы мужде “передаю список полей” и “имплементирую метод как будет выглядеть логированная запись” не особо большая. В целом, это все основные варианты, да. Вообще, можно поставить вопрос по другому: а нужно ли вообще логгеру кормить целиком весь объект? Возможно стоит обойтись без этого?
Ко второму вопросу, кстати, на самом деле это хорошая практика и во многих крупных компаниях отказываются от логов как таковых, переходя к варианту отправления метрик. При хайлоаде логи слишком много жрут, в предыдущей компании расходы на логирование: анализ логов и прочее, были самой большой статьей расходов внезапно. В последнее время много докладов на техконференциях по этому вопросу.
Mikhail
Ну вроде предварительно я уже сказал, что особого смысла нет, и вариант с маскировкой json одобрен. Сказали, если до завтра сделаю по-другому. то ок, если нет, то оставим как есть.
По сути может быть какой-то абстрактный метод, который сериализует объект as is, и возможность оверайтить мето, если нам надо каким-то образом маскировать данные/сериализовать не полностью/прочее. Как вариант.
Vadim
Есть вот такой метод, которому передаем список полей, которые нужно замаскировать. Мы все-равно реквесты-запросы сериализуем, я так понял, что это быстрее, чем кормить весь объект и пробигаться в поиске нужных полей с аттрибутами?
Vadim
Хотя там тоже по всем полям пробегаем. Но по-крайней мере рефлексию не используем.
Mikhail
Но зависит от размера объекта. Может быть объект у которого значение - другой огромный нестед объект, тогда не факт, что регексп будет быстрее работать, скорее наоборот.
Mikhail
Ну и не обязательно использовать рефлексию кстати. Теоретически ты при компиляции можешь генерировать автоматически toLog структуру, тогда по сути рефлексия будет вызываться один раз и не на лету. Сделать какой-то дополнительный степ при сборке приложения, который будет генерировать тебе метод toLog автоматом.
Vadim
Ну я думаю, что до утра с последним я точно не разберусь)
Vadim
А что за регексп ты упоминаешь?
Vadim
Mikhail
Ну я думаю, что до утра с последним я точно не разберусь)
Ну тебе же предложить альтернативный вариант нужно. Вот тебе и альтернативный вариант. Другое дело, что имхо, овчинка выделки не стоит в данном случае.
Mikhail
А что за регексп ты упоминаешь?
Ну ты про json как замену делаешь? Скорее всего регулярками, нет?
Vadim
Ну ты про json как замену делаешь? Скорее всего регулярками, нет?
Да, просто в C# я только regex нахожу, его мы и используем.
Mikhail
Да, это оно. regular expression, regex/regexp/regular expressions.
Vadim
А, понял.
Vadim
Это то же самое 🙂
Да, понятно) Просто подумал, вдруг ты имя библиотеки какой-то имел ввиду, с таким именно именем. Поэтому спросил.
Пашок🗽
а логгер под капотом не использует рефлексию, пробегаясь по полям обьекта?)
Пашок🗽
или как это в шарпе устроено
Vladislav
Люди, как выбрать язык программирования? 🙂
Vadim
Как там под капотом хз, надо смотреть сорсы. Изучаю вопрос.
anti
где еше джаву используют кроме банковcких приложений и систем?
Maksim Pozharskiy
где еше джаву используют кроме банковcких приложений и систем?
в любом другом бекенде где требуется надежность
anti
а в чем надежность джавы заключается?
Шаман Каган
Пашок🗽
Как там под капотом хз, надо смотреть сорсы. Изучаю вопрос.
любой ентерпрайз фреймворк (читай не консольное приложение) Юзает рефлексию. Логгер, реквест хендлеры и прочая лабуда = рефлексия рефлексией поганяет. И глупо думать что руки не в "шоколаде" ))
Сергей
а в чем надежность джавы заключается?
массивы истинные, мусор чистит в памяти, строгая типизация
Vadim
C# тоже самое. Смотрел и джаву и C# когда начинал, почему-то C# сразу больше симпатии вызвал. ИМХО
Сергей
где еше джаву используют кроме банковcких приложений и систем?
кстати говоря о java, очень много в промышленности, всякие lvl2,3 системы управления
Mikhail
C# тоже самое. Смотрел и джаву и C# когда начинал, почему-то C# сразу больше симпатии вызвал. ИМХО
Ну тут только вопрос распространености встает, все же Java гораздо более популярна и распространена, нежели C#. В остальном - +/- одно и тоже.
Anonymous
Шаман Каган
Mikhail
НА Pepsi работал, там везде почти Java стоит как говорили
https://stackshare.io/java Можно тут оценить спсиок компаний.
Vadim
только майкрософт момент просрала - поэтому теперь java )
Почему?) Вакансий на C# куча. Мб меньше, но не скажешь, что мало.
Юра
Вечер добрый, посоветуйте книгу по html css, начинающему пожайлуста)
Пашок🗽
в больших компаниях используется всё)
Сергей
честно, всегда чёт смешно от таких вопросов :) есть блин задача и инструменты решения, панацеи нету, ну или пока не придумали :)
Dmitriy
Почему?) Вакансий на C# куча. Мб меньше, но не скажешь, что мало.
факт, майки просрали момент, но сейчас платформа на пике
Dmitriy
ты про azure?
не, я про .net в целом, clr и вот это все
Mikhail
в больших компаниях используется всё)
Но Java преобладает много где. В условных Google/Amazon, порядка 50% и больше codebase на java.
Andrey
честно, всегда чёт смешно от таких вопросов :) есть блин задача и инструменты решения, панацеи нету, ну или пока не придумали :)
Мой ответ чем-то плох?) Я в интернет захожу код пушить и за мемами. И как видите нового кода у меня нет.