#отладка

8 постов
пост №1272Разработка и инженерия

GTA V — финансово самый успешный продукт в истории развлечений. Эту игру купили больше 90 миллионов копий, она заработала 6 миллиардов долларов. Для сравнения: «Звездные войны» собрали 4 миллиарда, самый успешный фильм в истории «Аватар» — 2.8 миллиарда.

GTA Online — версия игры, в которую можно играть с друзьями онлайн. Эта игра очень долго грузится. Вполне возможно, что многие отказались от игры именно из-за медленной загрузки.

Чувак нашел ошибку в программе и смог уменьшить время загрузки с 6 минут до 2 минут. Причем сделал это не имея исходных кодов, то есть во многом «вслепую! Вот очень короткая и классная статья, где он рассказывает, как нашел проблему и как её починил.

Почему такая жесть пролезла в продакшен супер успешного проекта, мы вряд ли узнаем, но все технари с опытом представят легко: сжатые сроки, «вас не спрашивали, делайте что скажут» и прочие «прелести» промышленной разработки софта. 😢

пост №1067Разработка и инженерия

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

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

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

пост №828Разработка и инженерия

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

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

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

пост №281Разработка и инженерия

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

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

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

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

пост №112Разработка и инженерия

Отлаживаем новый формат Медузы. Целевое устройство — маленький телефон в центре кадра. На больших экранах — код страницы и сетевые запросы телефона. Чувствую себя хакером из фильмов 🙈

пост №5Разработка и инженерия

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

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

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