home.social

#отладка_кода — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #отладка_кода, aggregated by home.social.

fetched live
  1. Как одна забытая local ломает Lua‑код и почему эту ошибку так сложно найти

    В Lua достаточно забыть local перед переменной, чтобы получить баг, который может долго оставаться незамеченным. По отдельности функции работают исправно, тесты проходят, а после подключения нового модуля внезапно начинают пропадать данные или меняться результаты вычислений. Разберёмся, как глобальные переменные создают такие ловушки, чем опасны манипуляции с G и ENV и как защитить код от ошибок, зависящих от порядка вызовов и загрузки модулей. Разобраться в проблеме

    habr.com/ru/companies/otus/art

    #замыкания #глобальные_переменные #отладка_кода #lua #статический_анализ_кода #ошибки_программирования #локальные_переменные #область_видимости_переменных #luacheck #изоляция_модулей

  2. range-for перестал ронять программу на временном объекте, зато теперь дольше держит мьютекс

    range-based for в C++ выглядит безопасным местом, пока в него не попадает временный объект с внутренней ссылкой. Такой код может годами работать в продакшене, а затем начать читать освобождённую память после смены компилятора или настроек сборки. В статье разбирается, как C++23 изменил время жизни временных объектов в таких циклах, почему поддержка стандарта зависит от компилятора и какие проверки помогут найти проблемные места в кодовой базе. Узнать детали

    habr.com/ru/companies/otus/art

    #C++ #многопоточность #компилятор #время_жизни_объектов #стандарт_C++ #отладка_кода #C++23 #оптимизация

  3. [Перевод] Я превратил Slack в интерактивную консоль для работающего .NET-приложения

    Автор объясняет, как он использовал скрипты Roslyn и режим сокетов Slack для проверки, отладки и взаимодействия с запущенным приложением.

    habr.com/ru/articles/1060700/

    #roslyn #slack #net #net_development #приложения #скрипты #сокеты #отладка_кода #repl #c#

  4. Trace Points в C++: диагностика production-систем без перезапуска

    Одна из самых неприятных особенностей production-проблем заключается в том, что они почти никогда не происходят тогда, когда разработчик готов их исследовать. Во время разработки всё работает. На тестовом стенде тоже всё выглядит нормально. Логи кажутся вполне достаточными, а диагностическая информация — продуманной и аккуратно организованной. Но затем в production внезапно появляется странная проблема: соединение иногда сбрасывается без видимой причины, один запрос из нескольких тысяч начинает вести себя иначе, сервер под высокой нагрузкой неожиданно входит в reconnect loop или где-то глубоко внутри системы начинает происходить что-то, что невозможно воспроизвести локально. И почти всегда в этот момент выясняется одна и та же неприятная вещь: логов, которые уже есть в системе, недостаточно. Именно здесь традиционное логирование начинает постепенно ломаться. Большинство систем логирования до сих пор построены вокруг довольно простой идеи: заранее решить, какие сообщения должны писаться постоянно. Разработчик добавляет INFO, WARNING, DEBUG, иногда каналы или категории, после чего приложение отправляется в production с надеждой, что этих логов когда-нибудь хватит для диагностики. Иногда действительно хватает. Но реальные production-системы имеют неприятную привычку ломаться не там и не так, как ожидалось. Более того, проблемы часто возникают именно в тех участках кода, которые казались совершенно неинтересными во время разработки. Первой реакцией обычно становится мысль: “давайте включим DEBUG logging”. На небольших проектах это ещё может работать вполне нормально. Однако в больших системах DEBUG-логи очень быстро превращаются в проблему сами по себе. Они начинают занимать гигабайты, полезная информация тонет в шуме, растёт нагрузка на диск, а иногда и само логирование начинает заметно влиять на производительность и тайминги приложения.

    habr.com/ru/articles/1035984/

    #logging_c++ #tracepoint #debugging #c++ #логирование #отладка_кода

  5. Как настроить уведомления из систем документооборота (СЭД) с помощью API

    Системы электронного документооборота (СЭД) отлично справляются со своей задачей, избавляя вас от расходов на бумагу, упрощая управление документами и сокращая время на согласования. Минус у них один, но серьезный: их эффективность полностью зависит от того, как быстро пользователь узнает о любых изменениях. Пропущенное уведомление о новых документах, согласованиях или дедлайнах способно дезорганизовать любой бизнес-процесс. Эту задачу можно решить. API-интеграция с использованием

    habr.com/ru/companies/exolve/a

    #сэд #документооборот #restful_api #вебхуки #скрипты #отладка_кода #уведомления #электронная_документация #согласование_документации

  6. Почему джуны путаются в асинхронном коде (и как научиться с ним работать)

    Асинхронный код часто становится камнем преткновения для начинающих разработчиков. Почему функции выполняются не в том порядке, зачем нужны промисы, и что делает async/await? В статье я простыми словами объясняю: - Как работает Event Loop и почему это важно. - Какие ошибки чаще всего допускают джуны при работе с асинхронностью. - Как научиться писать понятный и предсказуемый асинхронный код. Если асинхронность вызывает больше вопросов, чем ответов, загляните в статью - там всё по шагам. 🙂

    habr.com/ru/articles/871328/

    #Асинхронность #javascript #event_loop #промисы #callbacks #вебразработка #отладка_кода #обучение_программированию #asyncawait

  7. Replit Agent создает программы за вас или кодинг без IDE

    Многие слышали про AutoGPT и GPT Engineer — агентные системы, которые позволяют генерировать код по промпту от пользователя. Меня зовут Евгений Кокуйкин. Я руководитель AI продуктов компании Raft. Сегодня расскажу про Replit Agent — AI Copilot для написания кода без знаний в программировании. Без шуток! Раньше у меня на такие прототипы уходили часы кодинга и отладки. А сейчас я сгенерировал код приложения через агент — быстрее, чем писал эту статью. Так что теперь можно участвовать в хакатоне, не зная Python. Replit — это онлайн-IDE, где с помощью AI можно быстро создать прототип приложения и задеплоить его прямо в облаке. Недавно вышла экспериментальная фича Replit Agent, которая стоит 25 баксов. Правда, для оплаты потребуется зарубежная карта, но это уже каждый сам решает, стоит заморачиваться или нет. Эта фича позволяет начать генерацию проекта одним промптом. Я так вдохновился постом Степана Гершуни, что тестировал кодинг-агента в Replit , а потом не спал всю ночь, записывая впечатления. Так появился этот обзор.

    habr.com/ru/companies/oleg-bun

    #разработка_приложений #nocode #ии #ии_и_машинное_обучение #autogpt #GPT_Engineer #Replit_Agent #AI_Copilot #онлайнIDE #отладка_кода

  8. Как мы использовали Telekube для удаленной отладки приложений в Kubernetes

    Привет, Хабр. В этой статье я расскажу, как мы в Just AI с помощью Telekube реализовали метод для локальной разработки и отладки сервиса, работающего в Kubernetes. Нашей задачей было научиться запускать компонент из Kubernetes (который имеет множество взаимосвязей с другими сервисами) в IDE на своем ноутбуке в режиме отладки, чтобы иметь возможность удобно и быстро отлаживать его.

    habr.com/ru/companies/just_ai/

    #kubernetes #mlсистемы #отладка_кода

Share on Mastodon

Enter the server where you have an account.