• Android. Диаграмма классов: Context,Activity, Service

    Нарисованная «крупными мазками» UML диаграмма классов для наследников Context-а (из Android API) выглядит следующим образом: Важно! На этой диаграмме отображены только некоторые классы, которые являются (is) Context-ом. Методы также приведены в сокращенном количестве, чтобы упростить восприятие картины в целом. Сразу хочу заметить, что я не являюсь апологетом андроидного пути в архитектуре и дизайне, но поскольку многим программистам волей-неволей приходиться разрабатывать приложения под Android, то считаю нужным как минимум описать некоторые догмы этой архитектуры.

    Читать далее…

  • Впечатление от JavaOne 2012.

    Субъективные заметки после посещения конференции JavaOne 2012. Давным-давно… Так получилось, что Java-конференции я посещаю с тех времен, когда Java была еще совсем юной. Помню одна из первых конференций, на которую мне удалось попасть, проводилась в холле в кинотеатра (кажется это был Ролан на Чистых Прудах), если я ничего не путаю, это было во второй половине 90-х годов. Я тогда был еще студентом физтеха. С тех пор размеры мероприятия постепенно возрастали. С каждым разом на конференцию стало приезжать все больше и больше посетителей, и потом, в какой-то момент, ее вообще перестали проводиться в Москве (переехала в Питер). Тем не менее, в…

    Читать далее…

  • Про JavaScript (не для JavaScript программистов).

    Последние полтора месяца пишу для одного своего заказчика графический движок на JavaScript (HTML5/Canvas), который будет рисовать в браузере некоторые их инженерные схемы. Параллельно консультирую штатных программистов, у которых не очень большой опыт работы с JavaScript-ом. При кажущейся простоте JavaScript не создан для легкого написания надежного кода. Для самопроверки пользуюсь jsLint-ом и периодически запускаю google closure compiler. Тем не менее, это не решает всех проблем. Даже если вы пишете правильный и аккуратный код, указываете комментарии в исходником коде для проверки типов и т.д., все равно приходится время от времени сталкиваться с работами других программистов. Из своих «полевых наблюдений» за программистами я…

    Читать далее…