#отладка

7 постов
пост №1067

Хочу поделиться двумя классными программами. Первая для журналистов, вторая - программистам.

Piezo - гениальная в своей простоте утилита для записи звонков. Выбираете программу, с которой вы звоните - телеграм, скайп, FaceTime, хром, вообще любая программа и нажимаете кнопку «запись». После звонка «отжимаете кнопку» и у вас на руках mp3 файл. В левом ухе - то, что говорили вы, в правом - собеседник. Лучшая в своём роде. macOS, 23$ 🎙

Charles - отличная программа для отладки мобильных приложений. Запускаете ее на компьютере, прописываете на айфоне или андроиде в сетевых настройках свой адрес как прокси и можете наблюдать, какие именно сетевые запросы делает ваш телефон. Да что там наблюдать, можно поставить брекпоинты и подменять запросы клиентов и ответы сервера на лету! Программа умеет перехватывать HTTPS трафик путём установки корневого сертификата. Умеет писать дампы для последующего анализа на других компьютерах. Mac, Win, Linux, 50$ 🔥

пост №864

Последние месяцы, мою жизнь отравляло плохое качество видеосвязи — одного из основных рабочих инструментов (и не шутите, что это должен быть мозг).

Каждую минуту, на пару секунд, latency (задержка) беспроводной сети вырастал до 200-300 мс, появлялись потери пакетов. Сетевое взаимодействие компьютеров и видеосвязь устроена так, что даже временное повышение latency роняет качество связи надолго. Я не слышал собеседника, коллеги не слышали меня.

Я грешил на беспроводные сети, на фазу луны и, конечно же, на Госдеп США. Купил за 30 долларов программу PingPlotter, чтобы убедиться, что меня не глючит и проблема на самом деле регулярная. Задумывался уже поменять роутер, когда догадался поступить как нормальный инженер и почитать логи (бортовой журнал системы). Виноват оказался locationd.

Оказывается, ровно раз в минуту macOS пытался определить физическое местоположение ноутбука и собирал для этого список близлежащих беспроводных сетей. Это «тяжелая» операция, вот всё и затупляло.

Решение оказалось простым — выключить сервис определения местоположения (Location services) в настройках системы. Я уверен, что переустановка системы с нуля (классическое решение любых проблем с компьютерами) тоже бы помогла (и Location services остался бы включенным); но то, что приносило радость в 15 лет, не кажется таким же заманчивым в 30.

Как можно было отладить проблему, не имея опыта сисадминства — не представляю. А ведь эта же проблема может мучить учителя или врача, он сидит и думает «сраный скайп», в то время как проблема совсем в другом :(

пост №828

Классная функция в хроме для отладки веб-приложений — «Clear storage».

Можно нажатием на одну кнопку сбросить всё, что связано с конкретным сайтом — localStorage, куки, все кеши и даже сервис-воркеры.

Гораздо круче для отладки и тестирования, чем режим инкогнито. В инкогнито не работают пуши, например. А тут будто в первый раз зашел на сайт, но при этом все вкладки рядом живы, экстеншены нужные стоят и никакого жонглерства с профилями. 👍

пост №281

Отлаживаем отправку статистики из мобильных приложений.

Делаем на сервере tail -f /sv/log/nginx/access.log | grep 'stat/put' | grep 92. и видим пустоту, хотя если оставить только первый grep — то всё нормально. Это мы пытаемся в реальном времени вывести на экран все обращения к определенным ссылкам на сервере с определенных IP-адресов.

Оказывается, дело в буферизации и добавление параметра --line-buffered к grep'у решает проблему.

Век живи — век учись.

пост №5

Первый пост из текущих личных переживаний, таких будет не много:

Мы с Антоном только что отлаживали js-код, исполняемый внутри WebView в Android приложения Медузы в симуляторе quemu на удаленной машине, подключившись к ней вдвоем одновременно по teamviewer.
При этом js генерировался на компьютере Антона, делался доступным через PythonSimpleHTTPServer и прокидывался до эмулятора через ngrok.

БОЛЬШЕ ЭМУЛЯЦИЙ, АБСТРАКЦИЙ И INDIRECTION, ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО.