Блог

Шаблоны приложений

Что мне не нравится в С++, так это шаблоны. В компонентном программировании, таком как C# или Delphi при создании нового приложения в основном файле среда разработки прописывает для нас всего пару строк кода, которые должны инициализировать главную форму. Больше ничего нет. В самих формах окон среда разработки так же прописывает пустые классы, производные от формы.

Когда я начал знакомится с Objective-C, я увидел, что XCode при создании проектов или форм добавляет для нас в генерируемые исходные файлы кучу мусора. В принципе, создание новых проектов и файлов классов в С++ (не только XCode, но и Visual Studio) сопровождается банальным копированием определенного шаблона из недр среды разработки в ваш проект. И если Microsoft в своей Visual Studio скромничает, давая нам только реально необходимый минимум (если не считать шаблонов классического С), то Apple решила пойти своим путем. В свои шаблоны они помещают кучу кода и заготовок функций, которые по их мнению, могут нам понадобится.

Что плохого? За время моего обучения на курсах произошло два косяка, один из которых препод так и не смог решить. Мы выполняли по шагам инструкции, прописанные в его файле и у нас приложение не заработало так, как ожидалось. Я закончил первым и позвал препода, чтобы он показал, где я лох. Он минут двадцать не верил своим глазам, проверяя каждую строчку кода, но пример не работал как надо.

Отладка RSS

У меня на блоге в RSS закралась ошибка и XML нарушен. Возможно я где-то забыл закрыть тэг и теперь RSS не может отображаться в браузерах. Все браузеры лохи просто игнорируют RSS и никто не хочет показывать сообщение об ошибке. Только IE умочка вегда показывает, что RSS не может быть отображен, потому что у тебя там лажа с тегом.

Я попробовал RSS в Safari, Chrome и FF и никто из них не подсказал, в каком месте я лохонулся.

Пришлось вычислять, методом тыка. Оказывается RSS <DXFile.h> в предыдущем посте восприняла как тэг и не могла найти закрывающий тэг. Пришлось экранировать символ <

Перспективы Objective-C

Вот изучаю сейчас Objective-C и боюсь что трачу время зря. Не уверен я ч будущем платформы Apple без Стива Джобса. Ну а язык по ходу дела используется только в Apple.

Язык был создан относительно недавно и почему-то он понравился Стиву Джобсу который лицензировал язык для своей компании NeXT. Тогда Стив не работал в Apple, это было в период, когда его вынудили уйти из созданной им компании и до великого возвращения.

Когда Стива Джобса решили вернуть в Apple, яблочный гигант выкупил NeXT. И не удивительно, что Objective-C стал основным языком Apple. Только будет ли он таким без Стива Джобса - большой вопрос. Язык не очень популярный и если перейти на Java или C#, можно получить на много больше программистов уже сейчас.

Objective-C

Сегодня попробовал написать свою первую программу на Objective-C для iPhone. Надо немного потренироваться с языком и основами перед курсами. Курсы будут всего три дня, и не думаю, что кто-то будет нас учить с самых нулей до самого сложного.

Среда разработки X-Code стоит у меня уже пару недель, но дальше запуска дело не уходило. Я только запускал его и ни разу даже не пытался создавать проект. Создал новый проект и смотрю на рабочий стол, а совершенно не могу понять, а что же дальше. Ну, думаю, без бутылки здесь точно не разобраться.

Вчера зашел на сайт для разработчиков Apple, открыл документ для начинающих, в котором рассказывается, как создать свое первое приложение Hallo World для iPhone и начал повторять все шаги.

Новые статьи на английском

За последние пару недель на сайте Hackish Code я выложил следующие статьи:

Кто пропустил эти статьи в книгах, но знает английский, есть шанс прочитать в сети.

Программирование для iPhone

В следующем месяце на работе меня хотят отправить на курсы программирования для iPhone. На работе я уже работаю над одним и тем же сайтом почти два года и чтобы немного рзнообразить жизнь, дадут поработать над приложениями для iPad/iPhone. У компании очень много заказов в этой теме и может мне небольшой перепадет.

Книг по этой теме не будет. Но кто хочет пошутить, милости прошу в комменты. Только что-нибудь пооригинальнее, а то банальность без чувства юмора уже достала.

Нечего писать

Сегодня что-то ничего не хочу писать. Нет такой темы для заметки, которую бы прямо хотелось обсудить. А когда нечего писать, я выкладываю какие-то очень интересные материалы. Сегодня это будет очередная часть книги по Transact-SQL: Индексы в SQL Server

Странная ошибка JavaScript в FireFox

Я уже много раз говорил, что люблю Firefox за то, что он удобен для разработки. Я обожаю его использовать, когда нужно отлаживать JavaScript. Сегодня как раз работал дома над javascript функцией и запустил окошко Error Console. Я всегда его запускаю, чтобы сразу были видны любые ошибки. Даже те, которые не показываются браузером как критичные. Попробуйте открыть это окно и подержать открытым, и вы увидите на большом количестве крупных сайтов ошибки JavaScript. Сайты эти вроде бы работают, но генерят ошибки. Я вот такого не люблю у себя и люблю чистоту, поэтому вылавливаю косяки и чищу их.

Так вот, начал я на своем сайте кликать в том месте, где должна срабатывать JavaScript функция, а мне в лицо ошибка. Нет, мой код работает, но в окне FireFox какая-то ошибка. Причем совершенно непонятная моему глазу и не похоже, что связана с моим кодом. Начал тыкать туды сюды, а она не проходит. Причем появляется даже в невероятных местах, типа: когда кликаешь на заголовке окна или когда открываешь даже новую вкладку с пустой страницей. Она вылезала везде.

Оптимизация размера Web кода

Во времена модемного соединения с интернетом размер HTML страниц имел очень важное значение и программисты очень серьезное внимание уделяли компактности HTML и JavaScript. Сейчас, когда интернет у большинства грузится на скорости более мегабита в секунду большинство откровенно забивает на компактность кода и пишет так, чтобы самому было удобно.

Лично я уже давно не забочусь о компактности, когда пишу HTML код. Мне главное, чтобы мне было удобно сопровождать мой код. А то, что пользователю приходится качать пару сотен лишних пробелов в HTML мне все равно. Это всего лишь сотни байт (умноженное на среднее 1.5 из-за UTF-8), которые для современных скоростей ничего не значат. Картинки на сайтах весят сейчас сотни килобайт и именно их нужно оптимизировать.

А ты думаешь о компактности и экономишь на пробелах, когда пишешь HTML код или JavaScript функции?

Программирование под Mac OS X

Блин, времени вообще капитально не хватает. Скачал себе Mono и XCode, а попробовать программировать под Mac OS X все нет времени. Работы куча, да еще и заболел. Уже несколько дней чувствую себя как не очень здоровый (телом, а не о том, о чем мечтают некоторые) человек. Думал заняться тестированием сред разработки под Apple в метро, пока еду на работу, но что-то никак не выходит.

Но то, что уже скачал и установил Mono и XCode – это уже большой шаг в будущее. Как только появится свободная минутка, обязательно попробую. Причем нужно начать пробовать с Mono, там же уже знакомый мне .NET. В XCode и его объектном С я вообще не в зуб ногой. Только слышал о том, что он капитально отличается от классического С++, который используется в окнах и Linux.

P.S. Книжек по программированию под Msc OS X не будет.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне