Практические рисунка: обработка ошибок, контекст и параллелизм

Практические рисунка: обработка ошибок, контекст и параллелизм

Обработка ошибок в Go Подход к обработке ошибок в Go часто становится предметом споров среди разработчиков. Кому-то он нравится, кому-то нет, но одно можно сказать наверняка: он уникален. В Go ошибки являются значениями, и вы обрабатываете их с помощью шаблона if err != nil. Это может показаться многословным, но такой подход поощряет явную проверку и обработку ошибок. Шаблон if err != nil Рассмотрим простой пример: func readFile(filename string) ([]byte, error) { data, err := ioutil....

10 июля 2026 06:00 · 4 минуты · 705 слов · Maxim Zhirnov
Внедрение автоматических выключателей, повторных попыток и тайм-аутов без дополнительной драмы

Внедрение автоматических выключателей, повторных попыток и тайм-аутов без дополнительной драмы

Позвольте быть откровенным: если у вас когда-либо был зависший вызов микросервиса, пока ваше приложение медленно задыхалось из-за исчерпания потоков, вы знаете, что такое особая паника. Ваши пользователи обновляют страницы в своих браузерах. Ваши оповещения кричат. Ваш кофе остывает. На всё это нет времени. Хорошие новости? Три шаблона устойчивости могут спасти вас от этого кошмара: прерыватели цепи, повторные попытки и тайм-ауты. И в отличие от театральных представлений, которые вы увидите в некоторых учебниках, их реализация проста, если вы понимаете, что на самом деле делает каждый из них....

31 января 2026 14:00 · 5 минут · 969 слов · Maxim Zhirnov
Сообщения об ошибках: Как перестать кричать на пользователей и начать помогать

Сообщения об ошибках: Как перестать кричать на пользователей и начать помогать

Представьте: вы пытаетесь забронировать билет на концерт в 2 часа ночи, лишены кофеина, но полны решимости. Сайт выдаёт ошибку — «SYSTEM_ERR_CODE 0xDEADBEEF: Неверное выравнивание конденсатора потока». Внезапно вы боретесь не только с недосыпом, но и с экзистенциальным страхом. Вот почему обработка ошибок важнее, чем последний синтаксический сахар вашего любимого фреймворка. Давайте превратим этих цифровых провокаторов гнева во что-то полезное для пользователей (и спасём ваш почтовый ящик службы поддержки). Вот мой проверенный в боях рецепт сообщений об ошибках, которые не раздражают....

1 мая 2025 14:00 · 4 минуты · 852 слова · Maxim Zhirnov
Искусство совершать ошибки и учиться на них в режиме реального времени

Искусство совершать ошибки и учиться на них в режиме реального времени

Принятие неизбежного: ошибки как ступеньки на пути к успеху В мире разработки программного обеспечения ошибки не просто неизбежны; они являются важной частью процесса обучения и роста. Как гласит пословица: «Если вас не смущает ваш старый код, значит, вы не прогрессируете как программист». Эта статья посвящена искусству совершать ошибки, учиться на них и тому, как эти уроки могут быть интегрированы в практики разработки в реальном времени. Скромность опыта Я вспоминаю свои первые дни в качестве разработчика, полные энтузиазма и немного наивности....

27 января 2025 06:00 · 4 минуты · 693 слова · Maxim Zhirnov
Защитное программирование: Предвидение неожиданностей и умение справляться с ними

Защитное программирование: Предвидение неожиданностей и умение справляться с ними

Искусство защитного программирования: руководство по прогнозированию и обработке неожиданностей Защитное программирование — это искусство, которым должен овладеть каждый разработчик программного обеспечения. Оно заключается в том, чтобы предвидеть неожиданное, готовиться к худшему и обеспечивать способность кода справляться со всем, что преподносит ему жизнь. Представьте свой код как надёжную крепость, созданную для того, чтобы выдержать самые ожесточённые битвы — битвы с ошибками, исключениями и неожиданными пользовательскими вводами. Почему защитное программирование? Прежде чем мы углубимся в детали, давайте поймём, почему защитное программирование так важно....

1 октября 2024 10:00 · 3 минуты · 533 слова · Maxim Zhirnov