Рубрика «переводы» - 52

Недавно открыл для себя StrictMode, прочитав статью на Android Developers Blog. Ниже представляю Вам ее перевод.

image

За сценой

Одна из клевых вещей в Google — это «20% времени»: 20% от своего рабочего времени вы имеете право заниматься проектами, не имеющими никакого отношения к вашему основному проекту. Когда я пришел в Google, я постоянно переключался с проекта на проект и часто шутил по этому поводу, что у меня 7 таких 20%-ных проектов. Один из проектов, к которому я постоянно возвращался, был Android. Мне нравилась открытость платформы, которая давала мне возможность делать все, что я хотел, в том числе открывать двери моего гаража, когда я подъезжал к своему дому на мотоцикле. Я действительно хотел, чтобы этот проект был успешным, но я беспокоился об одном: Android никогда не был быстрым. Подтормаживающие анимации и элементы пользовательского интерфейса, которые не всегда сразу реагируют на ввод данных. Было очевидно, что причина этого — задачи, выполняющиеся не в том потоке.

Я являюсь активным пользователем SMS и одним из моих 20%-ных проектов в ходе подготовки релиза Cupcake (Android 1.5) стала оптимизация приложения обмена сообщениями. Я оптимизировал его и сделал более плавным, а затем продолжил метаться между другими своими 20%-ными проектами. После выхода релиза Donut (Android 1.6), я заметил, что некоторые из моих оптимизаций случайно оказались сломанными. Мне было немного обидно, но затем я понял, что Android действительно всегда не хватало, так это готового к использованию, встроенного, всепроникающего средства мониторинга производительности.

Я присоединился к команде разработчиков Android на полный рабочий день чуть более года назад и провел много времени за исследованиями проблем производительности во Froyo. В частности посвятил много времени борьбе с ANR-диалогами (вы видите эти раздражающие диалоги, когда приложение выполняет длительные операции внутри основного UI потока). Отладка этих диалогов, с помощью имеющихся инструментов, была трудной и утомительной. Их было не достаточно чтобы найти причину, особенно, при взаимодействии нескольких процессов (например, обращения из Binder'ов или ContentResolver'ов к Service'ам или ContentProvider'ам в других процессах). Необходим был более совершенный инструмент для отслеживания притормаживаний интерфейса или ANR-диалогов.
Читать полностью »

Что Вы делаете, когда Ваше Java приложение потребляет 100% ЦП? Оказывается Вы легко можете найти проблемные потоки, используя встроенные Unix и JDK утилиты. Никакие инструменты профилирования не потребуются.
С целью тестирования мы будем использовать простую программу:
Читать полностью »

Веб стартапы сделаны из двух вещей: людей и кода. Люди делают код, и код делает людей богатыми. Код это как поэма; он должен следовать структурным требованиям, и где-то там из этой структуры можем появиться искусство. Но код — это искусство, которое что-то делает. Это совокупность чего-то нового из ничего… кроме как идеи.

Это история великой идеи. Чего-то, что никогда не было сделано до этого, и момент который изменил Интернет, как мы его знаем сегодня. Это история Flickr. И о том, как Yahoo купил его, убил и заодно погубил себя по пути.

Помните слоган Flickr? Почти наверняка лучее управление фотографиями в мире («almost certainly the best online photo management and sharing application in the world»). Это было одновременно и скромное хвастовство и шутливая недооценка.

Ведь всего-то три года назад Flickr, конечно же, был самым лучшим сервисом по обмену фотографий во всем мире. Ничто не могло с ним сравниться. Если вас интересовала цифровая фотография, либо вы хотели показывать фото своим друзьям — вы были на flickr.

Сегодня же это — бредовое позерство. Фото сервис, который был готов захватить мир сейчас стал устаревшим. Хотите поделиться фотографиями? Для этого есть Facebook. Хотите посмотреть фотки ваши друзья щелкают на ходу? Запускайте инстаграмм.

Даже представление Flickr как архива — места для хранения ваших фоток — становится существенно уязвимым с появлением Dropbox, SkyDrive, Google Drive готовых предоставить гигабайты нашим голодным ноутам.
Читать полностью »

Летучие мыши вампиры, ангелы и краудфандинг
Гэрри Картер довольно неплохо справляется со сбором средств на свои исследования летучих мышей-вампиров. По крайней мере, что касается небольших грантов, таких, как Sigma Xi или Cosmos Club Foundation. Однако деньги очень трудно найти. «Я даже взял академический отпуск, чтобы провести полевые исследования, т.к. не хотел оплачивать обучение в институте», делится он своими проблемами. Когда Картер услышал о новом вебсайте www.petridish.org, организующем сбор средств от пользователей интернета, он решил попробовать…
Читать полностью »

Потрясающая, но невидимая глубина

Вы только что зашли на страницу Google.

Просто, не так ли?

Что же на самом деле произошло?

Ну, если вы немного понимаете, как работают браузеры, то все не так просто. Вы только что задействовали HTTP, HTML, CSS, ECMAscript и прочее. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.

Давайте упростим.

Вы только что установили соединение с www.google.com.

Просто, не так ли?

Что же на самом деле произошло?
Читать полностью »

Программирование в стиле русских романов

Одна из вещей, которая делает классические русские романы столь тяжелыми для чтения (для иностранцев) это то, что главные герои имеют кучу имён. К примеру, в романе "Братья Карамазовы" один из персонажей — Алексей Фёдорович Карамазов (Alexei Fyodorovich Karamazov), которого по ходу текста называют также Алёша, Алёшка, Алёшенька, Алёшечка, Алексейчик, Лёша и Лёшенька (Alyosha, Alyoshka, Alyoshenka, Alyoshechka, Alexeichik, Lyosha и Lyoshenka)

«Программирование в стиле русских романов» — это антипаттерн, возникающий в ситуации, когда одна вещь имеет много имён. Для какой-нибудь программы у вас может быть путь в системе контроля версий, путь на диске, имя проекта, имя исполняемого файла и т.д. Все они могут иметь одинаковые (однокоренные) имена или наоборот — называться каждая по-своему. Например, синонимами. Или вообще разными словами. Так уж вышло по историческим причинам, что бинарник foo.exe получается при компиляции проекта bar, лежащего в папке baz и т.д.
Читать полностью »

Формы – в Symfony2 один из самых мощных инструментов, они представляют множество возможностей. Много секретов работы с Symfony2 описано в Книге рецетов. Хочу представить вам перевод одного рецепта работы с формами, в Symfony 2 – использование дата трансформеров.
Часто возникает необходимость преобразовывать данные, введенные пользователем в форму в другой формат для использования в вашей программе. Можно легко сделать это вручную в контроллере, но как поступить, если вы хотите использовать эту форму в разных местах? Скажем, у вас есть объект «Task» (задачи) связанный соотношением кодин-к-одному с объектом «Issue» (проблемы), для каждой «Task» моможет быть указана опционально «Issue», которую она решает. Если в форму редактирования задач «Task», добавить выпадающий список из проблем «Issue», то нам будет очень тяжело в нем ориентироваться. Можна добавить текстовое поле вместо, выпадающего списка и вводить просто номер «Issue».
Вы можете попробовать сделать преобразование в контроллере, но это не самое лучшая идея. Было бы намного лучше, если бы номер «Issue» автоматически преобразовался объект «Issue». В этом случае в игру вступают «Data Transformers» (трансформеры данных).
Читать полностью »

Я продолжаю публиковать западные статьи о секретах OS X и советах по соответствующему софту. Прошлый материал вызвал живой отклик с массой советов-комментариев, которые со временем будут скомпилированы в новый материал. Сегодня я решил разместить материал из журнала MacWorld. Автор Кирк МакЭлхерн отвечает на вопросы пользователей об iTunes. Понятно, что многое может быть вам знакомо, но я вот, например, наконец-то догадался, что в колонки можно добавить еще и дату добавления и удобно смотреть свои новые загрузки, а не создавать смарт-лист с нужными времеными интервалами…

Читать полностью »

Покойный Стив Джобс характеризуется как человек, изменивший облик нескольких отраслей экономики — персональные компьютеры, музыкальный бизнес, мобильные телефоны. Человек, мнению которого я доверяю, советует присмотреться к этому персонажу, претендующему на роль визионера и сменщика парадигм.

Кандидат на роль Стива Джобса

Читать полностью »

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 2
Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод второго занятия.

Занятие 1: Вызов будущего
Занятие 2: Последняя вечеринка 1999 г.?
Занятие 3: Системы ценностей
Занятие 4: Преимущество догоняющего
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Бросок
Занятие 9: Итак, все готово, а купят ли у вас?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не билет в лотерею
Занятие 14: На зеленый свет
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Учредитель — жертва или Бог
Занятие 19: Застой или подъем
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js