TextMate. Причины использования

Март 17, 2010

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

Сразу оговорюсь, что я рассуждаю о выборе редактора для удобной работы с обычными веб-языками (php, ruby, python). Когда живешь под линуксом и не используешь всю мощь Vim или Emacs, не подружился с jEdit (который по слухам очень хорош для разработки на surprise-surprise! Java), то остается только Eclipse. Причем кто-то может по ленности сразу взять Aptana, которая по заверениям ее самой прекрасна для php, python и ruby. На мой взгляд, при всех достоинствах этого редактора, построенного на Eclipse, у него плохая совместимость с плагинами для самого эклипса. Поэтому если уж использовать эклипс, то в чистом виде, доставляя куски аптаны(тот же PyDev и RadRails). Для эклипса существует огромное число интересных плагинов, но это уже тема другой статьи =).

На маке эклипс выглядит немного чужеродно и ведет себя не очень хорошо. Not a good citizen. Это все проистекает из самой идеи Java, которая везде одинаковая, а следовательно сама по себе. Ну и какой-то неповоротливый он, но это его фишка уже. Зато на маке полно других смешных редакторов. Я, признаться, был лояльно настроен по отношению к TextMate, поэтому сразу стал осваивать его, но краем глаза видел красиви Espresso, который мне достался в комплекте с MacHeist, но это такой детский редактор. Для очень позитивных html-верстальщиков или типа того. Совсем не для программистов, хотя со своими интересными задумками.

Вообще при выборе любого «инструмента» надо думать о его возможностях и удобстве расширения и настройки. С этой точки зрения Vim и Emacs являются признанными лидерами. Вы редко услышите «мне уже не хватает Vim для ежедневной работы», потому что всегда можно сесть и на встроенном языке реализовать то, что вам необходимо. Их возможности действительно поражают, посмотрите какие-нибудь подкасты от джедаев этих редакторов, чтобы поразиться тому, что происходит с текстом под их умелыми пальцами. Проблема в них в том, что надо потратить реально много времени на освоение. Как писали на Stackoverflow, «я использую vi и vim уже 20 лет и все еще узнаю что-то новое».

В этом отношении TextMate намного проще. У него ненавязчивый интерфейс, который позволяет сразу начать редактировать тексты, и при этом неописуемое число возможностей. Мануала на его сайте хватит на первое время. Если хочется почитать книжку, то можно купить или найти TextMate: Power Editing for the Mac, в которой все довольно подробно описано. При этом надо понимать, что что-нибудь читать придется в любом случае, иначе вы рискуете просто не использовать этот редактор даже на 10%. На этом вводная часть заканчивается. В следующей мы поговорим про самые интересные бандлы, а дальше — посмотрим.

И да, кстати, этот текст подготовлен и опубликован прямо из TextMate =)

Реклама

Такие разные ОС

Март 16, 2010

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

За свою не самую долгую компьютерную жизнь я перепробовал все основные платформы. Начал с Windows, как и многие из обычных пользователей. Постепенно увлекаясь программированием, я понял что это не лучший выбор, к тому же мне как-то расхотелось воровать софт и я перешел на Linux. Сначала долго читал (подшивка LinuxFormat), выбирал дистрибутив, потом долго пробовал (SuSe, Fedora и даже за пару дождливых дней собрал LFS и, в итоге, остановился на Ubuntu, как на наиболее понятном и действительно дружественном дистрибутиве (дружественный он в том плане, что очень много пользователй и в гугле просто искать ответы). За скоростью я не гнался, поэтому Gentoo и Arch я не рассматривал. Мне просто нужна была удобная среда, которую не надо пилить напильником для любого действия (но если хочется, чтобы всегда было что попилить). Ubuntu казался наиболее подходящим под это определение (ну и диски они рассылают красивые =).

На тот момент я мог любому доказать, что «винда поганая» — это не для людей, а макос просто не нужен, потому что не интересно. Напильник был моим любимым инструментов, времени, видимо, было навалом и всякие «75 способов ускорить ваш любимый дистрибутив» вызывали во мне тонны энтузиазма. Потом я как-то начал посматривать в сторону макоси. Сначала искоса, через всякие скины, иконки (грешил макофильством, по определению ЛОРа), потом установкой хакинтошей и покупкой клавиатур. Закончилось все покупкой ноута и полным безоговорочным счастьем.

Сейчас, по прошествию полутора лет моей жизни на маке, я могу констатировать свое нежелание использовать другие правильные ОС. Просто я не вижу ммм…необходимости менять его на что-то. Виндой я начал пользоваться, потому что она на тот момент была везде и только бородатые одмины знали, что есть что-то кроме нее, линуксом потому что напильник рвался в бой и чесался, а маком потому что мне надоело думать про ОС и хотелось просто работать.

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

Конечно, если бы моя программерская деяттельность была связана с разработкой виндовых приложений, то все могло бы сложиться иначе, или если бы я подсел на написание софта под никсы. Сейчас я вспоминаю, что основной причиной, которую я озвучивал при переходе на макос было желание разрабатывать под iPhone. Год прошел, желание осталось желанием, а Ватсон без трубки уже не мог =)

Поэтому я не призываю никого никуда переходить и не говорю, что под макосом самый лучший в мире софт (мне порой приходится запускать в VirtualBox и Windows, и Ubuntu для каких-то узкоспециализированных программ, которых нет под макос). Просто на данный момент, учитывая все возможности виртуализации и то, что на маке есть консоль =) я считаю ее самой адекватной хост-платформой для жизни.

Софт как религия.

Март 16, 2010

Программное обеспечение довольно часто становится объектом религиозных споров. Чаще всего адептов того или иного софта можно встретить в никсовой среде и в маковской. Среди наиболее часто встречающихся споров в никсах можно вспомнить «KDE против Gnome», «Vi против Emacs», «Midnight Commander против всех». Адепты каждой стороны выдвигают «неопровержимые» доказательства свой правоты и кидаются какашками в своих противников. Это все происходит из-за прекрасной штуки, которая называется «отождествление». Т.е. человек какбэ говорит тебе «я есмъ Emacs» и ты понимаешь, что возразить ему нечего. Брендов, которые вызывают у людей подобные эмоции не очень много, зато создать такой бренд мечта любого маркетолога.

В принцип, в этом нет ничего плохого, но не надо забывать, что программное обеспечение – это всего лишь инструмент, как и сам компьютер, как и языки программирования, которые тоже очень часто являются поводом для священных войн. Хороши те инструменты, которые ты освоил, которыми ты умеешь пользоваться. Если перед тобой открыто семь редакторов исходных кодов, про которые ты ничего не знаешь, то тебе понравится тот, которые будет ближе к тому, что ты использовал до этого. Каждый инструмент требует времени, у каждого своя кривая обучения. Именно поэтому люди мира Vi и Emacs с презрением смотрят на других, потому что они знают, что их редакторы имеют вертикальные кривые обучения. Я в свое время с исступлением неделю посвятил изучению vi. Просто потому что этот редактор есть почти везде и в какой-то момент мне надоело просто «бибикать и портить текст».

Так же происходит и с языками программирования. Если у тебя есть некоторые нейронные цепочки, которые называются «программерским складом ума», то тебе, в принципе, пофигу на чем писать. Проблема в том, что без глубокого освоения, ты будешь писать одинаково плохо на всех языках. Не изучая их особенностей, ты везде будешь исопльзовать те конструкции, к которым привык. Так что не важно какой язык исспользовать или в каком текстовом редакторе писать (в разумных пределах, конечно, я не призываю использовать BASIC и Notepad), главное постараться изучить то, что он умеет. Потому что его часто писал не один человек и идей в нем может быть заложено на несколько жизней.

Этой небольшой заметкой я предваряю свои описания всякого рода софта, который я использую в повседневной программерской жизни. Скажу сразу, речь пойдет про маковский софт. И начнем мы с текстового редактора TextMate.

Установка Xdebug поверх MAMP на Mac OS X

Апрель 11, 2009

Как-то я некоторое время обходился без дебагера, видимо, мало работал =) Но время пришло и пришлось искать в сети руководства по установке, потому что я был (и остаюсь) ленив и использую MAMP забыв радости ./confugure&&make&&make install.
Все оказалось до банального просто. Существует такая IDE Komodo, которая есть на всех платформах и на всех платформах предоставляет возможность использования Xdebug. А для этого у них есть прекомпиленные версии Xdebug для всех ОС и они их безвозмездно раздают. Вот такие чудесные люди, спасибо им. Идем и забираем. Они заботливо компилят дле всех активных веток PHP, так что каждый найдет то, что ему нужно.
Дальше все слишком просто, местами скучно =)
Копируем xdebug.so в MAMPовскую директорию с extensions (/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/)
Добавляем в php.ini (/MAMP/conf/php5/php.ini) строчки


[xdebug]
zend_extension=\
/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so

И все остальное, что вы хотите попросить его делать, например немного попрофайлить код. Вот здесь я словил просветление. Я всегда использовал KCacheGrind и считал, что он единственные и неповторимый. К счастью, я ошибался, клиент для мака есть и он даже иногда развивается. Он, конечно, не такой клеви, как K, но зато нативен и не принуждает к сексу с портами. KISS.

RubyOnRails и MySQL на Mac Os X

Март 17, 2009

В поставке MacOsX уже идет Ruby 1.8.6 и Rails 1.2.3. Рельсы обновляются на раз sudo gem install rails. Если есть желание, всегда можно пересобрать и Ruby.

При установке MySQL gem я столкнулся с парой проблем. Во-первых, используя MAMP, я обрек себя на отсутствие библиотек MySQL, необходимых для сборки gem. Для исправления ситуации надо просто скачать MySQL, причем качать надо x86-версию, т.к. в противном случае можно получить вот такое:
dyld: lazy symbol binding failed: Symbol not found: mysqlinit
С чем вообще непонятно что делать =) Это конфликты Ruby_x86 и MySQL_x86_64, насколько я понял. Можно с этим побороться, но мне как-то не хотелось лишних телодвижений.

Во-вторых, после скачивания и установки правильного MySQL инсталлировать gem лучше коммандой
sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Так он сходу подхватывает все, что нужно и не выдает всякие глупости, типа

    checking for main() in m.lib... yes
    checking for mysql_query() in mysqlclient.lib... no
    checking for main() in z.lib... no
    checking for mysql_query() in mysqlclient.lib... no
    checking for main() in socket.lib... no
    checking for mysql_query() in mysqlclient.lib... no
    checking for main() in nsl.lib... no
    checking for mysql_query() in mysqlclient.lib... no

И, наконец, последний взмах. Если нет желания использовать установленный MySQL и есть желание продолжать использовать настроенный MAMP, то в /ruby_app/config/database.yml следует вписать socket: /Applications/MAMP/tmp/mysql/mysql.sock, тогда будет подхватываться нужный сокет rake db не будет жаловаться, что ему чего-то не хватает =)

DateJS и Jeditable.

Март 10, 2009

Некоторое время назад, задавшись вопросом, как самым удобным образом предоставить оператору вводить дату, я наткнулся на Datejs, которая парсит «человеческие» даты и делает из них «машинные». Т.е. вы ей пишите «today», «after 3 days» или «next friday», а она транслирует это в какое-нибудь «2009-03-13» соответственно. Очень удобно. При этом она понимает так же «17 2 2007», т.е. подходит не только для дат, которые поблизости. Это было то, что нужно.
А недавно, мне захотелось сделать «in-place edit», т.е. чтобы поле выглядело как текст, а при клике на него превращалось в input, checkbox или select. Мне больше всего понравился plug-in к jQuery под названием Jeditable. Все в нем было так, как нужно и даже был API для написания «custom inputs». Поэтому я незамедлительно скрестил Jeditable и Datejs, что здесь и выложу. Может кому-то пригодится, а может кто-то мне подскажет, как обработать «cancel on blur» =)
js-code

$.editable.addInputType('datejs', {
    element : function(settings, original) {
        rand = new Date().getTime();
        var input_date = $('');
        var guess_date = $('');
        var real_date = $('');
        $(this).append(input_date);
        $(this).append(real_date);
        $(this).append(guess_date);
        
        var messages = ["o_O"];
        var date = null;
        var input_empty = "Вводим дату сюда";
        var empty_string = "Пока угадывать нечего";
        if (input_date.val() == "") {
            input_date.val(input_empty);
            guess_date.val(empty_string);
        }
        input_date.keyup( 
            function (e) {
                if (input_date.val().length > 0) {
                    date = Date.parse(input_date.val());
                    if (date !== null) {
                        guess_date.val(date.toString("
                        ddd, dd MMMM, yyyy
                        "));
                        real_date.val(date.toString("yyyy-MM-dd"));
                    } else {
                        guess_date.val("o_O");
                    }
                } else {
                    guess_date.val(empty_string);
                }
            }
        );
        input_date.focus( 
            function (e) {
                if (input_date.val() === input_empty) {
                    input_date.val("");
                }
            }
        );
        input_date.blur( 
            function (e) {
                if (input_date.val() === "") {
                    input_date.val(input_empty);
                }
            }
        );

        return(real_date);
    },
    submit: function(settings, original) {
        var value = $('#rd_').val();
        $("#rd_" + rand, this).val(value);
    },
    content: function(string, settings, original) {
        $("#id_" + rand, this).val(string);
        $("#rd_" + rand, this).val(string);
        $("#id_" + rand, this).keyup();
    }
});

ПКМГ. Немного про ssh.

Февраль 19, 2009

Напишу-ка я еще один пост про путьКМировомуГосподству. В прошлый раз мы обсуждали однокнопочный накат на продуктивный сервер, сегодня подговорим про ssh и туннели (не в ушах).

Для начала, я запишу здесь последовательность действий для беспарольного входа по ssh, а то каждый раз задалбывает ходить по ссылкам:

  1. ssh-keygen -t dsa
  2. scp id_dsa.pub ux@ux.ssh.host.ru:/home/ux/.ssh/my.key.pub
  3. ssh ux@ux.ssh.host.ru -p 22 'cat ~/.ssh/my.key.pub >> ~/.ssh/authorized_keys2'
  4. echo -e "Host host\nHostName ux.ssh.host.ru\nUser ux\nPort 22" ~/.ssh/config

Здесь мы создаем ключ на локальной машине, по scp заливаем его на удаленную и добавляем содержания нашего ключа в файл authorized_keys2, чтобы удаленный хост нас опознал. Затем настраиваем конфиг на локальной машине, чтобы не писать каждый раз user@host -p 22 для коннекта, а просто написать ssh host. Немного перлоОбразно, но зато можно просто копировать в терминал и запускать =)

Еще для встроенного напоминателя. Довольно часто хостер предоставляет доступ к БД только через ssh-туннель. Оно и понятно и приветствуется, только вот мануал по консольному доступу выкладывают только для виндузоидов, видимо считая, что никсоиды сами разбирутся =) То, что под виндой делается с помощью puTTy или ей подобных программ, в nix достигается парой комманд:

  1. ssh -fNg -L 8600:ux.mysql.host.ru:3306 host
  2. mysql -h127.0.0.1 -P8600 -u ux -p

В данном случае мы создаем туннель с нашей машины (с порта 8600) до удаленной (ux.mysql.host.ru, где mysql крутится на порту 3306, а «host» — это тот самый alias, который мы создали в конфиге ssh), а затем просто коннектимся какбэ к себе на локальную машину, а попадаем на удаленную (не забываем только правильного пользователя и пароль поставить, а то не пустит). Магия чистой воды. Вот за это мы и любим консоль ^_^

MacOsX и весь нужный софт. Заметка свитчера.

Январь 24, 2009

Недолго побаловавшись с хакинтошем, я решил, что пора уже перестать быть латентным макофилом и выходить из тени =) По случаю собравшись в Испанию на каникулы, прикупил себе там отличный макБукПро. Причем, я заказывал его с сайта AppleStore со студенческой скидкой и амереканской клавиатурой, потому что не переношу любые другие раскладки на аплевских продуктах. Эти ужасные Г-образные enter’ы и короткие левые шифты внушают мне отвращение =)
По случаю, уже в мАскве прикупил себе Пога, чтобы почитывать его и набираться мудрости и по приезду сел обустраивать из мака рабочее место.
Надо сказать, что make fun на маке вообще феерично, он для этого просто создан. А вот для того, чтобы работать, надо поднапрячься =) Ниже я приведу список .app, которые я установил в процессе обустройства, чтобы не забыть. Мой блог — моя записная книжка, но может еще кому пригодится. Единственный вопрос, который меня очень волнует, как сделать так, чтобы на клавиатуре появилась буква «ё», которой мне очень не хватает =/

Уже пользуюсь:

Adium – почти безальтернативный icq-клиент.
AlarmClock — простой и бесплатный будильник, способный вывести ноут из слипа.
AppCleaner – просто ищет в системе «ошметки» программ для деинсталляции.
CyberDuck – отличный ftp-клиент, который умело интегрируется с TextMate и еще пачкой редакторов.
DEVONthink — программа для складирования текстов/картинок/etc. По заверению авторов обладает AI, который ничего не знает про русский язык и даже искать толком не умеет. Но вот для английских текстов очень удобна.
DropBox — недавно обнаружил этот сервис, позволяющий не таскать с собой флешку. Он создает папку на локальном компе и все время синхронизирует ее с сервером. Из этой папки прекрасно запускаются программы (например, qip, логи которого я предпочитаю всегда иметь под рукой). Плюс сохраняется версионность для файлов и синхронизация происходит инкрементальная.
Firefox – еще не стал моим браузером по-умолчанию, просто для него пока мало работы, а по скорости меня очень радует WebKit.
FSEventer — маленькая утилитка, единственная назначение которой показывать что в даныый момент происходит в файловой системе.
Eclipse – про него, вообще-то надо писать отдельно. Я начал очередной процесс схождения с этим редактором. Вот пара отличных ссылок для сомневающихся.
Glims – плагин для Safari, который, к сожалению, не работает в WebKit’е, но очень полезен.
iBank – мне, как человеку привыкшему каждую денежную транзакцию заносить в GnuCash программа для учета финансов была жизненно необходима. Эта оказалась хорошим кандидатом и прижилась. Хотя, жаль, что нет нативного GnuCash’а, я к нему уже привязался =)
iRedLite — неслучайно, а просто так купил себе Apple Remote, который сам по себе умеет управлять Front Row, iTunes и Keynote. Но с этой программкой количество поддерживаемых приложений заметно увеличивается. Хотя главное, что при помощи простейшего Apple Script она позволяет создавать свои профили.
KeePassX – программка-хранитель-паролей. Давно сижу на этой серии. Есть клиенты под винду/мак/линукс.
MAMP – сборка для ленивых, включающая в себя Apache, MySQL и PHP с удобной контрольной панелью.
Perian – незаменивый набор кодеков для QuickTimePlayer, позволяющая ему играть все форматы чуть менее, чем полностью.
QuickSilver – пожалуй, самый знаменитый launcher, способный на многое при умелом использовании.
Skype – ну тут все банально.
TextMate – editor of choice, сделанный в полной гармонии с unix-way. Для тех, кто не осилил Emacs и Vi =) Одна из двух программ, наравне с QuickSilver, ради которой стоит переходить на мак =)
ThinkingRock – мой незаменимый gtd-планнер для разгребания ежедневной рутины.
Things – gtd-планнер, на который я все же променял ThinkingRock. Пусть он меньше следует труЪGTD, но зато он умет экспортировать в iCal ToDo, использует тэги для всего и умеет хранить ссылки на письма, веб-страницы и файлы на компе. Еще посматриваю в сторону OmniFocus, но думаю, остановлюсь пока.
TimeLog — программа для учета рабочего времени. Из плюсов — синхронизация с iCal, которая проявляется в том, что TimeLog умеет забирать из iCal ToDo-записи (которые, к слову, туда умеет экспортировать Things) и заполнять календарики событиями, которые записывать. Описание немного сумбурное, но программа безусловно хороша =)
μTorrent – еще один любимиц с самой винды. Даже буковку μ не поленился скопировать =)
VirtualBox – бесплатный заменитель Parallels и VMWare, взятый под крыло компанией Sun и находящийся сейчас в активной разработке.
VLC – это я уже с линукса притащил. Гибок в настройке и открывает то, что не поддалось QuickTimePlayer.
XLD – отличный перекодировщик музыки. Прекрасно перегоняет чуждые маку flac и ape в более привычный Apple Lossless.

Еще не попробовал:

Butler – один из launcher’ов, которые хочется попробовать. Пока очень хватает Spotlight.
Delicious Library 2 – каталогизатор всего и вся. Умеет сканировать штрих-коды, чем меня просто феерично удивил. Русские книги почти не распознает, т.к. информацию берет с Amazon’а.
HandBrake – должен по слухам быть хорошим кодировщиком для фильмов.
MacPorts – для ностальгирующих по феерическому линукс-сексу. Пока не воспользовался, держу на случай дождливых дней =)

Попрообовал и отказался:

MacFreelance – что-то для контроля выполнения тасков и выставления счетов. Оказалась какой-то черезчур навороченой с одной стороны и ущербной с другой. Отказался, т.к. счетов мне выставлять не надо, а вот трекить там проекты неудобно.
SequelPro – манагер БД MySQL, может оказаться удобнее, чем консоль…вряд ли =) Так и случилось. К консоли я уже слишком привык. Но пусть будет, вдруг мне захочется мышкой повозить =)
WebKit – после выхода Safari 4 beta, как-то спокойно переполз на него.

Zend Certified Engineer — HowTo

Ноябрь 24, 2008

Давно я собирался сертифицироваться, еще когда была сертификация по PHP4, с тех пор прошло 2 года и вот наконец-то я получил заслуженный 😉 статус.

Для чего это нужно, каждый решает сам для себя, но хочу отметить активность, которая наблюдается в последнее время в русском сегменте PHP Yellow Pages. За сентябрь-октябрь-ноябрь количество сдавших экзамен увеличилось до 36. Я был 31, а думал быть 23 =) Выводы делайте сами, но мне кажется, что народ вкладывает деньги в себя, чтобы попроще пережить кризис. И надо сказать, штука это полезная, учитывая то количество хороших резюме, которые я наблюдаю на рынке.

Информации по этой теме в рускоязычном сегменте не так уж много и в большинстве своем она устаревшая, да и вообще информации не так, чтобы очень =) Восполним этот досадный пробел, надеюсь, кому-то это поможет.

Подготовка

Если вы ответили себе на вопрос «зачем», самое время ответить теперь на вопрос «как». Для начала стоит отправиться на сайт Zend и приобрести там ваучер на сдачу экзамена. Это сэкономит вам немного денег, т.к. сертификационные центры продают экзамен чуть дороже. Ваучер обойдется вам в $125 и действует он год с момента покупки.

Теперь у вас есть год, чтобы как следует подготовиться к экзамену 😉 Если вы «зубр» и сами всех засертифицируете до смерти, то читайте только про сам процесс сдачи, а мы пока поговорим про подготовку. Для начала стоит обзавестись почти официальным учебником, любители «вареза» отправляются в гугл, но надо сказать, что в продаже сейчас 2-ое дополненное, улучшенное издание, которое на торрентах еще не засветилось =) Зато с торрентов можно слить предыдущий Study Guide, посвященный PHP4. Надо сказать, что он намного полнее освещает многие моменты и рекомендуется к прочтению пару раз.

Помимо чтения этих двух учебников, стоит еще регулярно пописывать код, который в них содержится и иногда спорить с авторами. Еще очень помогает держать под рукой официальны мануал, в котором «все» темы освещены хорошо =)

Еще можно помучать гугл. Гугл может поделиться ссылкой на блог китайского программиста, где тот описывает свой опыт сдачи экзамена, и расшаривает неплохую книгу с официального курса по сертификации. Хотя это уже варез, но он такой…полезный. В конце концов отдавать за этот курс $1000 как-то грустно, учитывая, что нового там говорят не так, чтобы много.

После того, как вы перед сном можете быстро проговорить все функции работы со строками, а утром легко вспоминаете десяток параметров из php.ini, можно начинать готовится к самому тестированию =) Здесь есть 2 пути. Можно откопать из неисчерпаемых торрентов The Zend PHP Certification Practice Test Book,который по PHP4, но есть способ лучше. Лучше всего приобрести набор «тестовых тестов», которые проходят в том же режиме, что и настоящий экзамен. 70 вопросов на 90 минут. Но, в отличие от экзамена, где выдают «passed/failed», здесь результат разбит на 12 предметных тем, за каждую из которых показана отметка по 3х-бальной шкале. Сами зендовцы говорят, что они тщательно скрывают систему оценки, чтобы никто не зубрил какую-нибудь одну тему, желая выехать только на ней. А так приходится учить все =)

В стремлении сэкономить и предаваясь паранойе, я купил сразу 10 тестов. Однако, ребята немного халтурят, и после 5-ти раз проходить эти тесты уже не интересно. Вопросы элементарно повторяются. А я серьезно подошел к прохождению тестов, каждый сеанс я записывал с помощью CamStudio, потом парсил вопросы и искал на них ответы. Таким образом сокращая количество белых пятен в своих знаниях. Так вот в пятом тесте новых вопросов было всего 20. Отложил ссылочку на будущее, может кому пригодится и пошел шедулить экзамен.

Сдаем экзамен

Для того, чтобы сдавать экзамен, надо отправляться на сайт VUE, подбирать себе тестовый центр и звонить им. Потому что, например в Инвенте, где я сдавал этот экзамен сдают в Пн и Чт. После предварительной договоренности, шедулим экзамен на сайте и начинаем грызть ногти =) Есть, кстати, один нюанс. Экзамен можно отменить за один «бизнес-день» до сдачи. Т.е. если сдаете в Пн, то отменять можно лишь в Пт. Так что если вы склонны к алко-туризму, то стоит назначать на какой-нибудь другой день 😉

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

Интерфейс экзамена заметно более убогий (аскетичный), чем в тестовых тестах, зато можно мышкой вообще не пользоваться =) Времени дается с избытком, если хорошо готовится, я уложился в 75 минут со всеми проверками-перепроверками, и когда понял, что начинаю феерично меня ответы на рандомные, нажал кнопку «финиш». Дальше было 3 секунды, за которые я вспомнил весь пых сразу и одновременно и, заметив слово «конгратьюлэйшнс», понял, что эксперимент удался. Дальше нам дают распечатку о том, что мы молодцы и можно идти в кафе праздновать.

Плюшке?

Диплом обещают прислать как-нибудь, я пока не дождался, хотя прошел месяц (дефолтСити, если кто не понял еще). Зато можно бомбардировать certification@zend.com с требованиями разместить вас в PHP YellowPages, можно вступить в группу в линкедИне (просто так =), можно повесить у себя везде красивую картинку и отправиться дописывать профили в разных соцСетях =) Каждому свое.

Если есть вопросы — пишите в комменты, отвечу.

Обновляемся до MacOsX 10.5.5

Сентябрь 29, 2008

Если, вдруг, кто не знает, то последняя версия макоси сейчас это 10.5.5 Став счастливым обладателем установленного хакинтоша версии 10.5.2, я обнаружил, что софт, ради которого я и затеял всё это безумие, требует минимум 10.5.4.
Это вселило в меня некоторую печаль. Особенно после того, как я узнал, что обновиться до нужной мне версии на AMD малореально.
Благо, буквально на позавчера был выпущен iDeneb v1.3, который я «бысто» слил с Demonoid’а, параллельно читая неутешительные комментарии о том, что всё плохо и на AMD он не ставиться и вообще нифига для них не предназначен.
Буквально потеряв всякую надежду, я всё-таки залил его на диск и начал уже приевшийся мне процесс установки =) Инсталлер отличается незначительно, зато вот при выборе дров ничего не было проставлено по-умолчанию, ну да я уже разбирался что к чему.
Поставилось всё со второго раза =) Я использовал:

  • sleep-kernel-9.2 (проверенное ядро)
  • AMD patch
  • Azalia Sound (2ch. sound)

Всё.  Никаких дров под видюху или сетевую я не ставил, зная, что они всё равно работать не будут. Установилось всё бодро, но вот загружаться не захотело. Залипало где-то посередине выдавая невразумительные сообщения. Спасла опция «-x», которая загружает систему в Safe Mode. Набирая при каждой загрузке этот флажок, я установил дрова на сетевуху и видеокарту. С помощью тех же танцев, которые я описывал в предыдущей заметке. После установки дров на видюху, MacOsX загрузилась нормально. И теперь нормально работает. Правда, в процессе загрузки драйвер сетевухи жалуется, что моя карта не поддерживается…но это не мешает ему работать =)
Теперь надо только перенакатить GRUB, чтобы всё вернулось на круги своя. А сделать это до безобразия просто =) Загружаемся с live-(cd|dvd) (я грузился с kubuntu), открываем консоль и пишем:

sudo grub
grub> find /boot/grub/stage2
(hd0,2) - ответ grub
grub> root (hd0,2)
grub> setup (hd0)
grub> quit

Тут я думаю, все смогут разобраться, что команды root и setup принимают те аргументы, которые выводит нам find.