Archive for the ‘Project’ Category

FireFox 4

Апрель 27, 2011

При разработке плагина мне понадобилось обрабатывать не только ответ от сервера, но и сам запрос. Если ответ мне удалось каким-то хитрым хаковым способом получить (своё негодования высказывал в прошлый раз)… то пытаться родить очередной бред для получения отправляемых данных клиентом я пока не стал.

Может быть jetpack будет более добр к разработчикам плагинов :)

Но вот беда, jetpack только для FF4. Ну и фиг с ним. Поставил под виндой FF4. Скажу сразу. Менеджер дополнения мне очень понравился. С аддоном Hide Caption Titlebar Plus на моём небольшом по высоте экране браузер стал выглядеть вообще шикарно. Пока что нареканий нет.

Так что буду смотреть JetPack.

Реклама

firefox plugin part 3.

Апрель 19, 2011

Это просто, извините за мой французкий, пиздец! Как можно было допустить такой изврат?

Короче, для того, чтобы получить содержимое http response надо неслабо помучаться. Мне помогли следующие статьи:

Больше всего было «стырено» из последней.

Я конечно понимаю, что архитектура и всё такое. Но, неужели нельзя было сделать хотя бы базовую обёртку для таких ламо как я. Чтобы в простых случаях не парится и просто взять результат, а не выбирать из трёх «великов» и пытаться заставить их ездить.

firefox-plugin

Апрель 18, 2011

Уже давно хотел сделать плагин для FireFox. Да вот только не мог придумать, что же именно.

Как говорится, лучше делать то, что нравится. Я играю в Зомби Ферму. В этой игре есть куча событий: дровосеки срубили дерево, камнетёсы выбили камень, повара сварили рецепт. После наступления каждого события желательно потратить буквально секунд 10-20 чтобы назначить новое действие своим подопечным.

Но в игре звуком обозначается только окончание действий главного зомби. А остальные нет. Да и при включенном звуке постоянное рубание, бульканье и колочение немного раздражают.

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

Идея оформлена. Пора переходить к действиям. Мне очень сильно помог Firefox Add-ons Developer Guide. Удалось сделать практически всё из него. Возникли проблемы только с иконками. Но, надеюсь, что сегодня вечером решу их.

Кроме того, нужно еще научится:

  • перехватывать http ответы
  • проигрывать звук
  • менять иконку

Так что, дело за малым.

Dice Wars in 5 minutes

Ноябрь 26, 2010

Наткнулся на замечательную игрушку Dice Wars. Уже много кто даже не поленился сделать довольно интересные реализации этой идее.

И тут мне пришла в голову мысль. А почему бы не предоставить локальную сетевую мультиплеерную версию для учеников колледжа. А то они всё жалуются, что им не во что играть.

Попытался поискать готовую клиент серверную реализацию. Ничего не нашлось :(. Придётся писать самому.

Так как я знаю Flash и программирую на Java, то данная статья как раз в тему.

Посмотрим, сколько я на это потрачу времени.

Из видимых мне задач я вижу:

  • генерация игрового поля
  • протокол общения
  • серверная часть
  • клиентская часть.

jQuery autocomplete

Июнь 12, 2010

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

Одним из таких требований является организация так называемых «объеденённых» групп. Например, объединённая группа по немецкому состоит из представителей нескольких групп. Вот именно организация выбора группы или нескольких групп для создания занятия и было основной головной болью.

В jQuery 1.8 был добавлен «родной» autocomplete (раньше для этого использовались различные плагины). А в статье How to Use the jQuery UI Autocomplete Widget как раз и расписан нужный мне use-case. Прям бери и копипасть :)

Всё разжевано (не только исходники но и css), есть live example а так же подготовленный пак с исходниками.

Syllabus. Первый пробный показ

Апрель 29, 2010

Ваня Буйко уже довольно сильно продвинулся в разработке системы для составления расписания. Правда был обнаружен серьёзный недочёт.

Но речь не об этом. Во вторник я ходил к директору для того, чтобы продемонстрировать результаты Ваниной работы. Директор конечно же не вникал, посмотрел, порадовался. Спросил о некоторых деталях и пообещал выдать премию (аж 5 базовых). Но самое главное, что он разрешил (точнее, сказал, что доведет это до сведения тех, кого надо) Ване писать курсовую не по Delphi, а по этой системе. Явление для колледжа, в котором бумаги и стандарты играю ну очень большую роль, очень даже не ординарное.

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

Кстати, эта система поможет Ване в будущем при устройстве на работу. Это будет настоящей демонстрацией его умений и возможностей. Т.е. скорее всего на новом месте работы ему не придётся никому ничего доказывать и он сможет благополучно проскочить стадию junior’а.

Black and White mages

Июль 10, 2009

Начал мечтать о том, как я наконец-то закончу свою flash игру про оборону Земли от астероидов, и вспомнил, что у меня когда давно была мысль одну из задач по программированию превратить в игру.

Итак задача.

Есть набор комнат, соединённых тунелями. Тунели могут быть двух цветов: чёрные и белые. В некоторых комнатах находятся рычаги. Каждый из которых переключает цвет на противоположный у некоторых, прикрепленных к данному рычагу тунелей. В описанном подземелье живут маги: чёрные и белые. Каждый маг может передвигать только по тунеллю своего цвета. Задача состоит в том, чтобы провести каждого мага из его стартовой точки в его конечную.

Данный базовый вариант можно разнообразить всякими улучшениями.

Буду расширять NetBeans

Апрель 24, 2009

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

Для этого я написал небольшое приложение, которое используя Velocity генерирует классы согласно нашей архитектуре для работы с базой данных для некоторой сущности, которая основывается на таблице из БД.

После 4 часов работы в конфигурационном файле указываешь:

  • данные для подключения к БД
  • имя таблицы, на основе которой будет генерироваться набор файлов
  • имя пакета и имя класса (имя класса зачастую вычислить автоматически нельзя, так как в названии таблиц очень часто присутствуют префиксы)
  • имя директории с шаблонами на основе которых будут генерироваться файлы
  • имя директории, в которую будут генерироваться файлы

и на выходе получаешь полный набор классов. В итоге:

  • никакого copy-paste
  • отсутствие мелких ошибок
  • автоматически сгенерированы тесты

В общем, благодать.

Но чего не хватало. Во первых, это конечно не сложно, но при необходимости сгенерировать набор классов, необходимо было править конфигурационный файл, в котором всё заново указывать. Казалось бы, вся информация уже имеет у IDE. Любая более менее продвинутая IDE знает, какие есть классы в проекте, какая БД используется и какие в ней таблицы. Хотелось добиться лёгкости. Выбрал таблицу, нажал кнопку, заполнил в Wizard’е пару полей, выбрал пару lookup’ов и всё. Всё готово. Не жизнь, а сказка.

Осталось только выбрать, что расширять. У нас на выбор есть

Eclipse какой то уж очень монструозный, а вот NetBeans показался мне довольно дружелюбным и простым. И, не смотря на то, что Oracle (который поддерживает Eclipse) купил Sun, я решил расширять NetBeans. Не малую роль сыграл туториал по созданию визуализации схемы БД. Посмотрим, что у меня получиться. Постараюсь не полениться и описать, что у меня получилось.

Подготовка к разработке

Март 12, 2009
Набор инструментов для гламурного слесаря

Набор инструментов для гламурного слесаря

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

«Автоматическая считалки результатов прохождения тестов по психологии» будет крутиться на:

  • PHP 5 (четвёрка уже умерла)
  • MySQL 4.x-5.x

Писать на чистом PHP я как то не горю желанием. Для облегчения жизни я поковырялся в имеющихся фрейворках для PHP (честно сказать, я ковырялся не слишком усиленно) и выбрал codeigniter_small CodeIgniter (Кодожжотер ab).

Осталось выбрать только «плоскогубцы». Писать в блокноте очень неудобно, FAR с colorer’ом — уже шаг вперед. Но мне нужна полноценная IDE, я уже слишком сильно привык к «роскошной жизни» попрограммировав на Java.

Для PHP существует целый зоопарк IDE’шек. Но я же не на экскурсии в зоопарке, чтобы ходить рассматривать, гладить, корчить рожи бедным животным. Когда-то давно я программировал в NetBeans (первоя моя полноценная IDE после Delphi и MS VS, вот только не надо смеяться и обзываться. Как будто вы в них не писали). Мне эта IDE тогда очень сильно понравилась, но, с переходом на новый проект, пришлось сменить и «Кубик» на «Затмение» (для тех, кто в такнке — Eclipse). Эклипса мне хватает и на работе, поэтому мой выбор пал на Net Beans, постараюсь разнообразить немного своёвремя препровождение за компьютером.

Я скачать NetBeans 6.5 PHP Bundle. (~ 26 mb). Почитал немного документации, скачал пару видеоуроков.

Короче, я готов к «труду и обороне»… Наверное ab

Обновленный дизайн страницы игры

Февраль 23, 2009

bugНу уж очень мне не нравился внешний вид странички с моим сапёром. Решил его немного оживить с помошью картинок и немного подправить css. Вроде стало лучше.