Mark
Ayrat
Alexandr
Хотел написать что апликацию в пару сотен строк можно и по логам подебагать. А потом понял то на F# я по настоящему ничего не дебагал вроде, лол
Vasiliy
вообще интересно стало, пойду посмотрю на этот IHostBuilder
Alexandr
Ну то есть у меня пока не было случаев когда приходилось прямо расставлять ватчи и смотреть вызовы
Alexandr
Ничего сложного не писал, понятное дело
Alexandr
и все сводилось к - сам дурак (ну совсем)
Ilya
Ilya
Vasiliy
Внимательно посмотрю!
Ilya
Я щас пишу новый код на эфшарпе, и кажется, мы нащупали срединный путь. Структура микросервиса определяется HostBuilder, который решает основные проблемы с DI. Слои сервиса - классы, иногда с интерфейсами, иногда анонимные и создаваемые прямо по месту. Вся вспомогательная функциональность - в модулях, где можно обмазаться фпшкой по самое не могу. Модели по большей части рекорды, но я заюзал классы для одного семейства моделей вполне успешно.
В результате у нас лучшее из трех миров. Сервис тестируемый от и до, чистые части тестируются самым прямым и непосредственным образом, в сервисы и слои мы инжектим моки буквально одним усилием мысли. МикроСервисы легко композятся со всякой белибердой типа probes, metrics и прочими буржуазными предрассудками
Завтра напишу что и как у меня получилось (на мерзком c#, конечно), если не забуду
Alexandr
Кстати пока про логи не забыли, куда их конкретно пишут? Что используют для этого обычно? Я имею ввиду, скорей всего должна быть утилита которая это все жрет, преобразует и выводит, и врятле апликейшен пишет лог только в какой-то файлик
Интересно что используют для этого
Ilya
По-разному.
Ilya
Alexandr
Какие легкие варианты есть? У меня там 1 гб рамы и 8 гб места прост
Vasiliy
Alexandr
Хм-хм
Ilya
Ilya
Исходи из потребностей и рисков, в общем.
Alexandr
В файл я со своей поделкой пишу надо чет серьеное осваивать
Mark
а кто-то юзает Seq для логов?
Ilya
Ну освой роллинг интервал, лимиты, форматирование. Уже будет серьёзнее, но с файлами.
Iskander
Alexandr
Ну освой роллинг интервал, лимиты, форматирование. Уже будет серьёзнее, но с файлами.
ну ты пипец, теперь тебе придется объяснить пару вещей! роллинг интервал - это как часто создается новый файл для лога? А лимит это про что конкретно в этом контексте?
Ну и под форматированием подразумевается использовать уже как белый человек условный ksprintf bprintf и тд вместо того, что бы слать в вызов лога sprintf, или это просто удобный вывод (сюда же и разный цвет для разного уровня), ну или все вместе?
Alexandr
Или лимит это лимит на размер файла?
Ilya
Alexandr
лянорм, довести до ума свой логер звучит как план!
Ilya
Отсылание в лог sprintf — это хорошо прям.
Ilya
Alexandr
ну, его можно не использовать просто
Ilya
Ayrat
пошла дедовщина
Alexandr
тип, ничто не мешает попробовать реализовать свою логику, но использовать нормальный инструмент
Shub
я не спорю, вопрос зачем
Ну как зачем? Ты прямо как неродной. Случается инцидент в проде, прибегает манагер со стактрейсами и с логом, а ты такой, после небольшой паузы и низким голосом — «Кхм.... по всей видимости проблема с ЧтотоэтотамЧтотоэтотутВоркер классом. Признаться, я не слишком хорошо знаком со структурой этого кода, но припоминаю рискованный код (против которого я всегда протестовал, если помните) на строке Х»
Ayrat
Ага, ага.
Shub
И все, промоушен фактически в кармане
Shub
Если это не твой код, разумеется. В таком случае другая реплика нужна
Prunkles
Ребят, есть ли у кого лого фшарпа, которое в какой-либо форме стилизовано или связано с "сердечком", "любовью" и тому подобным? А-ля "фшарп топчик, мы любим фшарп"
Prunkles
Да, очень надо
Ilya
Крылатый
Anonymous
Я щас пишу новый код на эфшарпе, и кажется, мы нащупали срединный путь. Структура микросервиса определяется HostBuilder, который решает основные проблемы с DI. Слои сервиса - классы, иногда с интерфейсами, иногда анонимные и создаваемые прямо по месту. Вся вспомогательная функциональность - в модулях, где можно обмазаться фпшкой по самое не могу. Модели по большей части рекорды, но я заюзал классы для одного семейства моделей вполне успешно.
В результате у нас лучшее из трех миров. Сервис тестируемый от и до, чистые части тестируются самым прямым и непосредственным образом, в сервисы и слои мы инжектим моки буквально одним усилием мысли. МикроСервисы легко композятся со всякой белибердой типа probes, metrics и прочими буржуазными предрассудками
Я тоже таким подходом пользовался с одной только поправкой, что в рекорды иногда просачивались всякие рантаймовые вещи вроде ApplicationHostLifetime.
Vladimir
https://twitter.com/konradkokosa/status/1390195152870912003?s=09
Anonymous
Да обычная херь типа UI - application - service - persistence
Самое сложное это работа с изоляцией ошибок. В большинстве случаев наверх пробивают исключения из 3rd party библиотек, нужных для реализации модульных интерфейсов. Естественно, это никак не документируется, тем более что дотнет, в отличие от Джавы, не заставляет явно перечислять все возможные исключения. И та же проблема остается на Фарше ровно в том же объёме.
Ayrat
Ayrat
throws Exception
Anonymous
Мое имхо в том, что мы как индустрия с обработкой ошибок пока не справились.
Ayrat
Throws IOException
Anonymous
Но идея была здравая в своей сути.
Anonymous
Со старого?
Anonymous
Аааа, дошло.
Anonymous
Ну, они решили эту проблему красиво.
Anonymous
Ilya
Я так и не понял, где хорошо?
Ilya
Или опять сорта говна?
Vladislav
Anonymous
То есть, нигде не хорошо.
IdiocyAcceptance
Viacheslav
Ayrat
@vl_za приехал токен. Успешно залил туда гугловый TOTP, работает.
UI бёрнера вырвиглазный, доков нет, шёл по наитию.
Ayrat
И нет, я не спалил свой сид на скрине
Ilya
Тут хочется вспомнить слова Егора про UI.
Ayrat
50 токенов туда можно залить, настраивается и алгоритм, и частота изменения и длина ОТР
Ilya
Ayrat
если подключить токен к компу, он подзаряжается и виден как клава. По нажатию кнопки на токене он эмулирует нажатие клавы на компе
Ayrat
Ayrat
где ты 50 аккаунтов нашел лол
Ilya
Хз, у меня только гугловых 4 или 5.
Ayrat
Ilya
Оно само!
Ayrat
ну пока прикольно выглядит, а главное работает
Vlæd
Ayrat
Ayrat
только учти, что для моей модели molto2 бёрнер приложуха ТОЛЬКО для винды
https://www.token2.swiss/site/page/tools-for-programmable-tokens
Ayrat
там есть бернеры для ведроида яблока, они зашивают сид через NFC
Ayrat
но не для всех моделей доступно
Vlæd
Вообще юай достаточно подробный, что неплохо, не слишком юзерфрендли, но норм.