Shub
Ну или какую вы там предпочитаете терминологию
Alexandr
Ну вообще кстати да! Я использовал жираф и авалонию!
Alexandr
сатурн хотя*, хотя едино
Alexandr
ну еще можно просто сокетом общаться
Mikhαil
Mikhαil
Я бы тоже глянул с удовольствием
Alexandr
Блин забавно, я вот сейчас осознал что не понимаю как на базовом уровне работает веб-север, когда получает реквесты на юрл и тд
Alexandr
То есть я понимаю базово тцп-айпи
Alexandr
могу юзать сокеты и вебсокеты
Alexandr
Ля надо гуглануть
Alexandr
То есть там же тоже примитивный интерфейс лежит в основне, вроде тцпайпи, но я его не тыкал
Vasily
Если я правильно понял @nigurrath , то hostbuilder является аналогом ESB между отдельными модулями сервиса
Arthur
Alexandr
Я ксати когда вкатывался в дотнет так и не понял как юзать логгер какой-нибудь, поэтому написал свой простенький 😆а потом понял что он у меня не умеет в многопоток сюк пришлось допиливать
Arthur
Или мб я тебя не так понимаю
Vasily
Хостбилдер скорее как транспорт
Alexandr
Это вообще нормальная тема когда хочешь в чем-то разобраться - сделай это 😆
Alexandr
Хочешь разобраться в работе RISC-V процессоров? Напиши его эмулятор!
Arthur
Alexandr
Реверинжиниринг это бля на чем я живу изучая F#, потому что учебного пособия не то, что бы много для него
Arthur
а что ты на f# реверсинжиниришь ?
Mikhαil
Alexandr
Я имею ввиду, когда нужно разобраться, как добиться опр. функционала
Arthur
Alexandr
Находишь как это где-то реализовано и изучаешь как это было реализовано
Alexandr
так это не реверсинжиниринг тогда :)
ну возможно, для меня расковырять исходники хотя бы стд или другой либы или другой код и потом написать свое все реверс! в каком-то смысле
Alexandr
Звучит как не особо хороший кейс
ну там чето не особо внятное было когда искал, и я со стримами не был знаком, поэтому проще было написать самому, в процессе написания понял что таки от меня нужно было, лол
Alexandr
Ну, кстати, я до сих пор не уверен что логгер стандарт либы покажет мне номер строки и файл!
Ilya
Shub
Кстати на этом хост билдере дофига всяких полезных методов, которые убирают бОльшую часть психотических стимптомов, типа парсинга CLI args на тысячи строк
Hog
Shub
А в самом слое домена мы можем юзать крайне функциональные штуки. У нас пользуется популярностью TypeShape
Shub
Я не вижу смысла, если честно, тк сервисы стали крайне тривиальными и можно не бояться, что кто-то спутает айдишники
Ilya
Shub
Но вот юзают
Mikhαil
Alexandr
Там просто автоматиески с вызовом метода номер строки откуда вызов и имя файла из исходников где он произошел
Alexandr
Mark
Ayrat
Mark
извините кому больно стало
Ayrat
стектрейсы при знании символов указывают файл и строку
Ilya
Ayrat
Ayrat
Alexandr
да это же маразм
да я уже видел, как нормальное логирование выглядит, это вкурсе)
Ilya
Юзкейс непонятен, если честно.
Ayrat
Логинг нонче стоит дороже чем сам хостинг апликейшна
Ayrat
то есть ты там крутишь своё барахло на 100 цпу и логирование рядом на сука 100 цпу
Alexandr
Тогда мне показалось это интересным
Alexandr
У меня еще слишком много логирования
Mark
а если эксепшна нет и надо по логам понять что пошло не так?
и в таких случаях хочется быстро узнать в каком месте лог был вызван
Alexandr
В плане что нужно это сокращать, ну либо нормально разграничить инфо и дебаг
Mark
когда я легаси чинил, мне бы это очень помогло
Ayrat
и там к логированию индексы, поиски, бд, йоба объемы для истории, пиздануться.
Помимо просто забора логов приложения (у приложения 1000 рпс допустим, на каждый реквест 10 лог евентов, лог сервер должен принимать 10000 рпс. Но конечно там буферят, но один хуй), надо еще их рассортировать, поиндексировать и параллельно обрабатывать запросы тех кто ищет логи
Ayrat
Это сразу чтобы любителей пологировать все на свете охолонить
Ayrat
Каждая лог строчка блять на вес золота
Alexandr
Не, про это я уже вкурсе
Alexandr
Что там террабайты логов уезжают
Mark
Ayrat
есть же маразматики которые логируют ВХОД в функцию, аргументы, ВЫХОД
Ayrat
ну типа дебажат по логам
Shub
Alexandr
Вот у меня такое да, только без не всегда аргументы и выхода тоже нет! И из этого вторая проблема, большинство логов уровня info, и там 90% надо превращать в debug
Mark
то есть у меня был не хайлоад, логов было уж точно не на гигабайты
зато был код, где было всё обмазано Action<>, Func<>
всё вызывало друг друга
юзался Task.Run() без трекинга таски
встречались статические поля классов, которые правились всем подряд
но это работало, почти всегда :)
Ilya
По идее атрибуты надо расставить просто. Есть же CallerFilePath и такое же про номер строки. Дороговато только будет.
Alexandr
Ага, вот эту штуку я и юзал
Ayrat
Alexandr
Но ниче, для некст фигни я планирую основательно запилить адекватное логирование с чем-нибудь нормальным без своей васянки