Для начала немного обо мне: я и практикующий дантист, и разработчик ПО. Со вторника по четверг я пишу код, а с пятницы по воскресенье принимаю пациентов. До того, как стать дантистом, я работал в таких компаниях, как Allstate Insurance, Lockheed Martin и ICS. Освоив обе эти профессии, я заметил, что разработчики ПО могут многому научиться у дантистов и наоборот. Я решил записать эти уроки в надежде, что они кому-то могут помочь. Это просто общие рекомендации — не стоит рассчитывать, что они идеально подходят для любой ситуации.Читать полностью »
Рубрика «отладка»
Чему разработчики ПО могут научиться у стоматологов
2024-03-25 в 13:16, admin, рубрики: ruvds_переводы, легаси, лечение зубов, отладка, разработка, совещанияДля начала немного обо мне: я и практикующий дантист, и разработчик ПО. Со вторника по четверг я пишу код, а с пятницы по воскресенье принимаю пациентов. До того, как стать дантистом, я работал в таких компаниях, как Allstate Insurance, Lockheed Martin и ICS. Освоив обе эти профессии, я заметил, что разработчики ПО могут многому научиться у дантистов и наоборот. Я решил записать эти уроки в надежде, что они кому-то могут помочь. Это просто общие рекомендации — не стоит рассчитывать, что они идеально подходят для любой ситуации.Читать полностью »
Бывает ситуация, когда вот стоит нормальный, не ветхий дом с жильцами, с работающими коммуникациями. И простоял бы он так еще много лет. Но принято решение проложить новую магистраль и дом ей мешает. Можно снести дом, недалеко построить новый и жильцов туда переселить. А можно переместить в нужное место сам этот дом прямо вместе с жильцами и тараканами.
Мнение три года спустя: стоил ли того переход с JavaScript на Rust?
2023-10-27 в 13:14, admin, рубрики: javascript, Rust, отладка, рефакторинг, тестированиеНесколько лет назад я отказался от всего и полностью сосредоточился на WebAssembly. В то время Rust имел наилучшую поддержку компиляции в WebAssembly, а самые полнофункциональные среды исполнения WebAssembly были основаны на Rust. Rust был лучшим из вариантов. С места в карьер я нетерпеливо начал разбираться, чем же вызван такой ажиотаж.
С тех пор мы с ещё несколькими потрясающими разработчиками создали Читать полностью »
Мониторинг — это боль
2023-07-05 в 13:39, admin, рубрики: Cortex, prometheus, ruvds_перевод, thanos, Блог компании RUVDS.com, логи, метрики, отладка, Программирование, трассировка, хранение данныхИ все мы выполняем его неправильно (в том числе и я).
Я должен признаться. Несмотря на то, что меня много раз нанимали в том числе и благодаря моему опыту работы с платформами мониторинга, я начал его ненавидеть. Инструменты мониторинга и наблюдаемости (observability) совершают тяжкий грех: обманом заставляют людей думать, что это простая задача. Очень легко мониторить маленькое приложение или сервис. Но почти ни одно из таких решений не масштабируется.
Вместо этого мониторинг превращается в бесконечную последовательность маленьких неудач. Метрики на какое-то время исчезают, логи перестают записываться на несколько часов, веб-UI для трассировок больше не работает. Мы настраиваем эти инструменты, готовясь, что сможем о них после этого забыть, но на самом деле они требуют постоянно растущих усилий по обслуживанию. Некоторые инструменты ломаются, и их больше никто не чинит. Я слишком часто приходил в новую компанию и видел, что в ней развёрнут нелюбимый мной поломанный Jaeger.
Такое ощущение, что сейчас как никогда много инструментов мониторинга, но вперёд мы не движемся. Похоже, вместо развития упор делается на увеличение объёма выходных данных приложений для роста доходов компаний, занимающихся мониторингом. Кажется, практически никакого прогресса не происходит с принципом передачи меньшего количества логов и метрик от клиента. Я создаю всё более сложные стеки для записи огромных объёмов данных, чтобы использовать их всё меньше и меньше.
В статье я расскажу о том, что, по моему мнению, нужно делать, а также поделюсь своими надеждами и мечтами. Прошу вас убедить меня, что я не прав и что есть более качественные решения.
Читать полностью »
Три способа отладки T-SQL кода
2023-05-08 в 18:43, admin, рубрики: Microsoft SQL Server, sql server, отладкаНаписание нового кода = ошибки. С этим всё просто.
Избавится от ошибок – вот это сложная задача.
Программисты привыкли, что в их средствах разработки есть встроенные инструменты, показывающие, какая строка кода сейчас работает, отображают текущее содержимое переменных, выводят сообщения о процессе выполнения и тд. Какое-то время в SQL Server Management Studio тоже был отладчик кодаЧитать полностью »
Эй, Google, это твой баг
2023-05-03 в 13:00, admin, рубрики: Google, Google API, Google Maps, google maps api, Google Play, Google Street View, ruvds_перевод, Блог компании RUVDS.com, Геоинформационные сервисы, отладка, приложения для android, разработка мобильных приложенийЭто история о том, как мы обнаружили баг в приложении для Android и упорно пытались доказать, что это баг Google, а потом ещё упорнее пытались заставить компанию его устранить.
Прежде чем вдаваться в подробности, приведу немного контекста.
- Issue track: https://issuetracker.google.com/issues/261816912
- Баг обнаружен 7 декабря 2022 года.
- Полное устранение подтверждено 12 апреля 2023 года.
▍ Да, это заняло больше четырёх месяцев!
Почему так долго? Позвольте мне объяснить природу бага и хронологические этапы его устранения.
Читать полностью »
Строка на 1,5 гигабайта
2023-04-09 в 9:35, admin, рубрики: java, json, анализ дампов, дамп памяти, оптимизация ресурсов, отладка, потребление памяти, Программирование, Серверная оптимизацияНа своей предыдущей работе я занимался поддержкой Java-сервиса, обеспечивавшего удалённую функциональность UI подобно RDP или Citrix. Этот сервис был устроен на основе сессий, состоявших из взаимосвязанных объектов Java, которые должны были очищаться или после выхода пользователя, или после истечения заданного таймаута.
На этапе планирования нагрузок мы обнаружили существенные траты памяти, о причинах которых я бы хотел рассказать в этой статье.
Читать полностью »
Байки погромиста. Если кто-то скажет, что программирование — это скучно
2023-03-22 в 8:01, admin, рубрики: python, Блог компании Timeweb Cloud, истории, отладка, погромист, Программирование, Разработка веб-сайтов, факап, факапы, эпик, я у мамы программистВообще я, как правило, нормально программирую. Иногда даже такое заворачиваю, что сам тащусь весь день.
На что способен хороший отладчик
2023-03-18 в 20:16, admin, рубрики: c++, Visual Studio, высокая производительность, исследование, отладка, Программирование, чистый кодПорой приходится слышать: «Отладчики бесполезны, гораздо целесообразнее иметь дело с логированием и модульными тестами». Подозреваю, что многие из разделяющих такое мнение думают, будто отладчик только и может, что расставлять точки останова на определённых строках, пошагово просматривать код и проверять значения переменных. Притом, что любой годный отладчик действительно всё это может, на самом деле это только верхушка айсберга. Задумайтесь: мы уже вполне можем наткнуться на код, которому около 40 лет – наверняка же с тех пор что-то изменилось?
Tl;drЧитать полностью »