антон
а дебаг как же
Maks
А зачем тебе дебаг?
Maks
На проде? на стейдже?
Maks
У тебя всегда будет в коде висеть log.debug?
Maks
который не будет выводиться
антон
иногда отдаёшь бинарники
антон
да и сервисами программирование не ограничивается
Maks
В любом случае дебаг это как правило локальная разработка, ни разу не видел что бы дебаг левел где то юзался еще
Maks
и соответственно по коду размещать в гите дебаг лог это прям такое
Maks
Ну и конфижить минимальный левел логов соответственно нет смысла особого
Maks
Я просто сейчас смотрел на лоргус, и подумал что это оверхед
Maks
вот в запе вроде нет левела (или я пока не нашел)
Maks
хотя не, там просто иначе сделано
George
дебаг левел очень даже полезен. Конечно, по умолчанию он должен быть выключен, но в определенный не очень хороший момент он может спасти тонну времени на отладку.
Ну, или, скажем у нас функциональные тесты гоняются с дебаг левелом, помогает логику обработки данных читать без дебаггера.
Но его тоже надо уметь готовить, чтобы читаемо было и важные для понимания ивенты в коде не были пропущены
Maks
Ну я к тому что в конфигах тогда этот левел не нужен
Maks
Ну типо левел априори - все логи.
George
а, тут согласен. Разделение на info-warn-err на уровне конфига сам не использовал никогда. Есть два варианта - или дебаг или не-дебаг ))
Maks
А дебаг дает что то кроме вывода логов уровня дебаг?
Maks
если нет - то соответственно это бессмыслица. Если он как то иначе выводит логи при этом конфиге - то другое дело. Но я считаю что вывод логов должен быть всегда не зависимо от уровня.
Maks
Если чел выводит дебаг и не удалил это из прод среды - то это уже проблема не логгера
Maks
Крч основная претензия в том, что вывод логов зависит от уровня логирования.
Maks
От уровня логирования я считаю должны зависеть другие вещи либо его вообще быть не должно.
Maks
Левел ок для наглядности и разделения.
George
а что еще должен менять логгинг левел кроме логгинг левела?
В нашей системе мы не можем позволить себе постоянно детальные логи писать (производительность, расходы на хранение тонны логов, и тд).
А польза от них, как я писал, есть. Потому что если в стеке вдруг что-то не так - дебаг логи помогают понять что именно гораздо быстрее. Как прод дебажить, если это все вообще вырезано?
Или вот в своем пет проекте - он на RPi крутится, соответственно логи пишутся на микро сд карту. Чем больше и чаще пишет - тем быстрее она сдохнет. Поэтому тоже лучше не увлекаться и по умолчанию только минимум выводить.
А еще логи могут содержать чувствительную информацию, за хранение которой могут натянуть. Поэтому важно иметь возможность её получить толкьо в исключительных случаях, чтобы потом подтереть за собой.
Maks
ну вот смотри. У тебя по дефолту все логи пишутся. Ты пишешь им грубо говоря тег: info, debug, warning, error, kernel.
Если тебе нужно получить на проде более детальный лог, уровня дебаг, тебе нужно будет для начала добавить эти дебаг логи. И потом по ним отфильтровать результат. Верно?
Maks
У тебя же не будет на проде просто так на всякий случай висеть код типа
logger.debug(message)
George
висит indeed, более того - весь проект обильно этими вызовами обмазан. Но поскольку лог левел выше - то это никуда не уходит, пока нет необходимости такой.
В тестах, стейджинге и проде ровно один и тот же код.
George
пишешь так, будто в этом есть что-то плохое)
Maks
Я просто ни разу в продакшин коде не встречал дебаг логов)
Maks
К тому же го так устроен, что ты всегда ошибку возвращаешь если она есть.
Maks
точнее если она может быть
Maks
другое дело что такие логгеры позволяют писать так, что у тебя дебаг логи будут висеть во всех средах и просто в проверках скипаться на ифах)
Maks
внутри логгера
Anonymous
Anonymous
А теперь мне нужна хорошая литература для изучения Go :)
Anonymous
Кстати, в чём отличие Fprintf от Printf?
Anonymous
Есть другие предложения?
Anonymous
Я в термукс установил образ Debian
Suleiman
Что ответил?
George
George
Maks
вопрос в ее необходимости. Я просто как уже сказал, против того что бы на проде были дебаг логи. А если на другом серваке или локально нужны дебаг логи - просто напиши в коде дебаг лог и отследи ошибку. Зачем для этого менять уровень логирования
Maks
Нужны логи - вызови логер. Не нужно - удали вызов логгера. Вот и всё.
Maks
Так тебе всё равно придется ведь логи расставить, потому что просто понижение уровня без добавления дебаг логов ничего не даст
Anonymous
Извиняюсьнеругайтесьпожалуйста
Я на Го всего 1 день
Anonymous
Лучше дайте литературы какой-нибудь русскоязычной, а то приходится по английским мануалам учиться
NN
А они такие плохие, ага
George
Anonymous
Спасибо
Maks
у меня такая есть, ток я пока не читал)
George
George
подтверждаю, топ стартер гайд
George
да и не только стартер, там и нюансы всякие хорошо описаны
Maks
Вот я ее взял только из за нюансов
Maks
потому что стартед гайд я и сам могу легко осилить)
George
Но без английского хотя бы на уровне чтения документации к языку тяжко в индустрии, наверно. Нет?
Anonymous
George
Suleiman
Вам не лень читать книги?)) или вы отрывками читаете)
🔥
🔥
За 7 лет
Suleiman
Насчет курсов, их щас пруд пруди
Suleiman
Особенно меня раздражает OTUS. Позорище какое-то
Suleiman
Нет.....
George
Я ни одной не прочёл по програмированию)
Я сам не то чтобы супер чтец, но считаю, что для того, кто хочет быть профессиональным инженером ПО, а не "программистом-кодером", книги очень не лишние. Я довольно много из них узнал полезного.
Не только прикладные по языкам (которые помогают глубже понять язык и его возможности), но и более общие по процессам в целом ("чистая архитектура" Мартина, "мифический человеко-месяц" Брука, "succeeding with Agile" by Cohn).
Или инженерные общего назначения ("Алгоритмы" Стивенса, "Cracking the coding interview" by Gayle Laakmann McDowell).
Это только то что перед глазами стоит, так то еще хватает всяких толмудов, которые помогают понимать индустрию и как она работает.
Sardor
Всем привет! Только начал читать про Го, начал с книги Go in action.
Меня насторожил момент: In Go, you wouldn’t
spend time wondering, because the compiler will catch type differences for you.
подскажите, пожалуйста, у го типизация в рантайме тоже проверяется? Не только при компиляции же?
🔥
Null
Обработка сигналов в операционных системах семейства Unix на Golang
https://nuancesprog.ru/p/13609/
@Golang_google
DI
Добрый день. Подскажите, гороутины существуют до тех пор пока не выполнятся/программа не завершится или до конца функции в которой вызывались?
George
Maks
в голанге обычно рич модели юзают?
Игроман
Maks
кто нить мейк в винде ставил?
Рик
Maks
Как там? Мне стало лень я поставил wsl2 с убунтой и через нее мейкаю
Maks
я проде поставил инсталлер но там инструкция мутная
Maks
бля, чет не пойму, в гитигнор добавил папки а он их всё равно не игнорит сук