Mark
я не спорю, вопрос зачем
дебаг по логам...
Ayrat
дебаг по логам...
понимаю (нет)
Alexandr
Хотел написать что апликацию в пару сотен строк можно и по логам подебагать. А потом понял то на F# я по настоящему ничего не дебагал вроде, лол
Vasiliy
вообще интересно стало, пойду посмотрю на этот IHostBuilder
Alexandr
Ну то есть у меня пока не было случаев когда приходилось прямо расставлять ватчи и смотреть вызовы
Alexandr
Ничего сложного не писал, понятное дело
Alexandr
и все сводилось к - сам дурак (ну совсем)
Ilya
Хостбилдер скорее как транспорт
Звучит как отличный план!
Vasiliy
Внимательно посмотрю!
Ilya
Alexandr
Кстати пока про логи не забыли, куда их конкретно пишут? Что используют для этого обычно? Я имею ввиду, скорей всего должна быть утилита которая это все жрет, преобразует и выводит, и врятле апликейшен пишет лог только в какой-то файлик Интересно что используют для этого
Ilya
По-разному.
Alexandr
Какие легкие варианты есть? У меня там 1 гб рамы и 8 гб места прост
Alexandr
Хм-хм
Ilya
Исходи из потребностей и рисков, в общем.
Alexandr
В файл я со своей поделкой пишу надо чет серьеное осваивать
Mark
а кто-то юзает Seq для логов?
Ilya
Ну освой роллинг интервал, лимиты, форматирование. Уже будет серьёзнее, но с файлами.
Alexandr
Ну освой роллинг интервал, лимиты, форматирование. Уже будет серьёзнее, но с файлами.
ну ты пипец, теперь тебе придется объяснить пару вещей! роллинг интервал - это как часто создается новый файл для лога? А лимит это про что конкретно в этом контексте? Ну и под форматированием подразумевается использовать уже как белый человек условный ksprintf bprintf и тд вместо того, что бы слать в вызов лога sprintf, или это просто удобный вывод (сюда же и разный цвет для разного уровня), ну или все вместе?
Alexandr
Или лимит это лимит на размер файла?
Alexandr
лянорм, довести до ума свой логер звучит как план!
Ilya
Отсылание в лог sprintf — это хорошо прям.
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
Ilya
Меньше, чем три.
Какой комьюнити, такая и атрибутика.
Anonymous
Да обычная херь типа UI - application - service - persistence
Самое сложное это работа с изоляцией ошибок. В большинстве случаев наверх пробивают исключения из 3rd party библиотек, нужных для реализации модульных интерфейсов. Естественно, это никак не документируется, тем более что дотнет, в отличие от Джавы, не заставляет явно перечислять все возможные исключения. И та же проблема остается на Фарше ровно в том же объёме.
Ayrat
throws Exception
Anonymous
Мое имхо в том, что мы как индустрия с обработкой ошибок пока не справились.
Ayrat
Throws IOException
Anonymous
throws Exception
Это да, в итоге это стало дном.
Anonymous
Но идея была здравая в своей сути.
Anonymous
Со старого?
Anonymous
Аааа, дошло.
Anonymous
Ну, они решили эту проблему красиво.
Ilya
Я так и не понял, где хорошо?
Ilya
Или опять сорта говна?
Anonymous
Я так и не понял, где хорошо?
Я ж выше говорил, мне кажется обработка ошибок пока проблема открытая.
Anonymous
То есть, нигде не хорошо.
Ayrat
@vl_za приехал токен. Успешно залил туда гугловый TOTP, работает. UI бёрнера вырвиглазный, доков нет, шёл по наитию.
Ayrat
И нет, я не спалил свой сид на скрине
Ilya
Тут хочется вспомнить слова Егора про UI.
Ayrat
50 токенов туда можно залить, настраивается и алгоритм, и частота изменения и длина ОТР
Ayrat
если подключить токен к компу, он подзаряжается и виден как клава. По нажатию кнопки на токене он эмулирует нажатие клавы на компе
Ayrat
где ты 50 аккаунтов нашел лол
Ilya
Хз, у меня только гугловых 4 или 5.
Ilya
Оно само!
Ayrat
ну пока прикольно выглядит, а главное работает
Ayrat
только учти, что для моей модели molto2 бёрнер приложуха ТОЛЬКО для винды https://www.token2.swiss/site/page/tools-for-programmable-tokens
Ayrat
там есть бернеры для ведроида яблока, они зашивают сид через NFC
Ayrat
но не для всех моделей доступно
Vlæd
Вообще юай достаточно подробный, что неплохо, не слишком юзерфрендли, но норм.