Показаны сообщения с ярлыком программирование. Показать все сообщения
Показаны сообщения с ярлыком программирование. Показать все сообщения

воскресенье, 21 октября 2012 г.

MacOS для разработчика 2. MacPorts и Java7



Прошел год с моего перехода под MacOS. За это время я успел поделиться своими впечатлениями как в качестве пользователя (читайте мой twitter), так и в роли разработчика (предыдущая статья “MacOS для разработчика”). Скажу прямо: меня ни разу не посещали мысли о возврате под Windows или Linux. Абсолютно никакого дискомфорта. И... я немного отошел от темы. До недавнего времени мне хватало инструментария из пакета “Command Line Tools” и установленного из pkg PostgreSQL. Но потребности растут: понадобилось поставить nginx и обновить Java до версии 7 в связи со скорым прекращением публичной поддержки версии 6 (февраль 2013). Конечно, можно было превратив MacOS в слакварь, но хотелось боле изящного решения.

вторник, 22 мая 2012 г.

Mac OS для разработчика



Mac OS для пользователя прекрасна во всех отношениях. Если вы не согласны, то повторяйте предыдущее предложение до полного ментального закрепления ;-) Но сегодня мы поговорим не о ее прелестях, пуская слюнку из уголка рта, а о том, насколько эта OS пригодна для разработки.
Откровенно говоря, разрабатывать можно везде. Все зависит от ваших целей. Моя область деятельности - web сервисы. Думаю, не стоит объяснять, почему в свое время я перешел под Linux. Для разработчика это рай, но... Но случается так, что тебе чертовски надоедают уродливые шрифты, неказистые графические интерфейсы (да кого я обманываю - они ущербны!) и отсутствие iTunes. К тому же, мне хотелось попробовать разработку под iOS. Так, около полугода назад,  я попал под Mac.

понедельник, 21 мая 2012 г.

Sonar: автоматизируем проверку качества кода



“Иногда, читая чужой код, мне становится страшно, когда я пытаюсь представить процессы, проходящие в голове автора...”


Вам доводилось проводить code review своих проектов? А чужих? Процесс этот довольно трудоемкий, если производить его вручную, а к тому же, пока вы будете просматривать одну часть проекта, кто-нибудь обязательно успеет нагадить в другой. Не то, чтобы ручной труд занятие неблагодарное, но зачем, если его можно автоматизировать? Что автоматизировать и каким образом - об этом сегодня и поговорим.
Обычно выделяют следующие базовые показатели качественного кода:
- процент покрытия unit-тестами (весь покрытый тестами, абсолютно весь...)
- связность компонентов: цикличность (пересвязывали)
- отсутствие связности внутри методов: LCOM4 (недосвязывали)
- процент дублирования кода (есть такая религия - копипейст)
- сложность ветвления (if-ом кода не испортишь?)
- покрытие комментариями публичного API (чукча не читатель - чукча писатель)
- соответствие стилистическим нормам (как там учили в школе - красная строка размеров в два пальца?)
- прочие правила хорошего тона (это стул - на нем сидят, это стол - за ним едят)

пятница, 4 ноября 2011 г.

А ты подготовил свое приложение к WideScreen?

Вспомни свой первый монитор. Нет, просто вспомни, не нужно его поминать ;-) Чем он отличался от твоего нынешнего? Дело не в лучевой трубке или выгнутости экрана. Дело в отношение... точнее в соотношение 4:3. Твой первый монитор был почти квадратным. Но стандарты меняются, и теперь такие мониторы редкость - почти у всех стоят WideScreen. Мониторы становились все шире. Сейчас соотношение сторон среднестатистической матрицы равно 3:2, или 16:9 (подробнее о соотношениях сторон экрана здесь). “И что?” спросите вы. “И что с того что экраны изменили пропорции?”. А то, что экраны пропорции поменяли, а разработчики интерфейсов ПО свои свои взгляды - нет!

воскресенье, 4 сентября 2011 г.

Java головного мозга. Введение в разработку на JavaMe



“- Ассистент, где мой гальванизатор! - Доктор, снова вы за старое, сколько же можно издеваться над трупом? - Ничего, рано ей еще, пускай послужит людям!” - такой диалог пронесся в голове RED’а, когда он преступал к своим бесчеловечным опытам над Java ME.

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

воскресенье, 24 июля 2011 г.

Java головного мозга. JavaME - поговорим о некромантии



Если рассказывать про Java-платформы, то будет грех не сказать пары слов про одну довольно специфичную под названием JavaME. Если вы удивленно подняли брови и считаете, что я ворошу труп - мы братья по разуму! Я тоже так думал, пока не стал вышеупомянутый труп ворошить.
Для тех кто забыл, напоминаю, что JavaME - подмножество платформы Java для устройств, ограниченных в ресурсах, например: сотовых телефонов, карманных персональных компьютеров, ресиверов цифрового телевидения, проигрывателей дисков Blu-ray. Одним словом, JavaME предназначена для всего встраиваемого, мобильного и портативного. Но наибольшую известность JavaME получил благодаря сотовым телефонам. Для первых мобильных устройств это была единственная доступная платформа для разработки приложений.

воскресенье, 19 июня 2011 г.

Java головного мозга. Выбор среды для разработки на JavaEE

Одним из факторов успешного и приятного процесса разработки является среда, в которой вы пишете код. Безусловно, писать программы можно и в блокноте, но, я уверен, вы согласитесь, что если половину работы по написанию проекта возьмет на себя IDE, вас это только порадует. На сегодняшний день самыми популярными средами разработки являются: Eclipce, Netbeans, продукты JetBrains. Если вы махая руками уже набрали полный рот слюней, чтобы брызжа ими мне в лицо заявить “А как же VisualStudia!”, то перечитайте название статьи - я ориентируюсь на Java-разработчиков. Безусловно, можно использовать всякие emacs’ы или vim’ы сдобренные стероидами в виде плагинов, но это на красноглазого любителя.

суббота, 18 июня 2011 г.

Путь менеджера. Intro

Не могу сказать точно, когда у меня возникла любовь к процессу управления и принятия решений, но точно знаю, когда она оформилась в желание управлять разработкой программных продуктов. А случилось это после прочтения знаменитой книги Фредерика Брукса “Мифический человеко-месяц”. Тогда я загорелся идеей создания “хирургической группы”, описанной в книге. Впоследствии, насмотревшись на процесс разработки в Compass Plus, где мне довелось проходил подобие стажировки, я точно знал, чего хочу. Архитекторы и менеджеры проекта RadixWare вершили его судьбу. Я видел процесс со стороны, меня он завораживал.

вторник, 3 мая 2011 г.

Ява головного мозга. Массовый сбор вложений из электронной почте по imap-протоколу

Вы пишете письма? Разумеется, речь идет об электронной корреспонденции ;-) Когда-то я не понимал, зачем сегодня, во время обилия интернет-сервисов для общения пользоваться электронной почтой. А теперь могу без преувеличения сказать, что это одно из гениальнейших изобретений в истории IT. Главное, правильно уметь ее готовить! Поэтому, поговорим сегодня о готовке, жарке, варке и … Хм, пожалуй я увлекся - сказывается позитивное настроение после корпоративной вечеринки ;-) Сегодня речь пойдет о массовой обработке почтовых вложений, а именно, о сборе и обработке фотографий из почтовых вложений с почтового сервера по протоколу imap.

воскресенье, 6 марта 2011 г.

Spherical vacuum development


Вам когда-нибудь доводилось заниматься разработкой и внедрением проектов, архитектура которых рассчитана на наличие тысяч элементов управления? Систем с нагрузками от одной мегатранзакции в минуту (1000000 tpm)? Если нет, то вам не приходилось сталкиваться с таким понятием как “vacuum development”. Можете не стараться искать его в Википедии, т.к. его не существует. Я ввел его не так давно для описания программных систем, которые разрабатываются отдельно от сферы их будущего применения. Как это происходит? Очень просто: есть люди, которым просто нравится программировать. Они любят писать кода. Но при этом они не задумываются над его характеристиками, производительность, масштабируемостью. Но разве в этом может заключаться проблема, что кто-то пишет код для себя? Безусловно нет, до тех пор, пока он не выкладывает свой “продукт” на обозрение общественности. А вот тут уже начинаются проблемы...

суббота, 5 февраля 2011 г.

Java головного мозга. The PropertyChangeListener

Разбираясь с взаимодействием объектов в Netbeans Platform я наткнулся на довольно интересный интерфейс PropertyChangeListener. Ничего сверхнового в нем нет - просто интерфейс обработки событийной модели, но, на мой взгляд, сделанный очень качественно.

Java головного мозга. Intro


Не буду кривить душей - я не спец в Java, а как принято говорить в таких ситуациях “я только учусь!”. Не знаю чем именно привлекает меня этот язык - своей строгостью, или широким распространением и кросплатформенностью. Просторы Java интересуют меня так же, как искателя приключений интересуют неизведанные джунгли. Во мне играет желание  понять, почему он так распространен в качестве языка для разработки бизнес-логики. Связано ли это с его строгостью и кросплатформенностью, или это наследие прошлых лет, когда выбор средств разработки был небольшим, а язык Java предоставлял широкие возможности абстрагирования и “The True Object Way”.
Плюсом ко всему перечисленному, я являюсь поклонником Netbeans Platform. Нет, не самой среды разработки, а платформы, на которой она основана. Настолько продуманного решения для построения desktop-приложений я еще не встречал.
Поэтому вооружившись мозгами, литературой и Googl’ом я отправляюсь в путь на встречу неизвестному!