Archive for Январь 2009

An Introduction to Hibernate 3 Annotations

Январь 21, 2009

Оригинал на английском «An Introduction to Hibernate 3 Annotations«.

Как будет время переведу.

Реклама

Нужен ли Cairngorm?

Январь 19, 2009

Нужен ли мне Cairngorm? Именно с этой статьи я начинаю изучение Cairngorm.

Вот ссылки, по котрым обязательно стоит пройти.

Для начала хватит :)

Работает ссука…!

Январь 19, 2009

Бля… Просто нет слов. Заработало. Я только что сделал простой вывод списка пользователей на Flex. Ахренеть. Благодаря серии статей под названием «The Flex, Spring and BlazeDS full stack» у меня кое что получилось.

Что я могу сказать. Flex очень крутая технология. Я использовал только то что знаю, но даже для самого Flex есть кучу фреймворков. Вот первый который мне придётся рассмотреть. Это Cairngorm — легковесная микроархитектура для RIA создаваемых с помощью Flex.

Еще хорошо было бы прикрутить и DDLUtils и DBUnit для того, чтобы автоматически наполнять базу данных и тестировать.

Еще, оказывается, моя знакомая Лена Слапик программирует используя Flex уже полтора года. Я узнал это случайно, когда вчера на пивной посиделке увидел на бумажке, которая, как оказалось, является Ленкиной характеристикой. Так что Лена держись. Щя я тебя запуляю вопросами!

О пользе рекурсии

Январь 19, 2009

Пока maven вытягивает все зависимоти для моего проекта, есть немного времени почитать. Наткнулся я на одну статью «О пользе рекурсии«. В принципе я и так всё знал про рекурсию, но тут структурированное изложение с примерами на функциональных языках. Особенно порадовала часть про «Данные, управляемые программами» против «программ, управляемых данными». Так что всем советую почитать.

Один день

Январь 19, 2009

[11.10]

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

Наткнулся на статью «The Flex, Spring, and BlazeDS full stack«. Надеюсь всё получиться.

Приложение должно получиться примерно таким

Структура приложения

Посмотрим, удасться мне воплотить это в жизнь или нет :)

А теперь всё по шажкам.

1. Создаём главный проект

mvn -DgroupId=com.ebon.pgw.shop -DartifactId=pgw-shop archetype:create

После выполнения этой команды мы получили jar проект. Для того, чтобы превратить его в «главный» необходимо:

  1. удалить папку src
  2. изменить в pom.xml тип упаковки (packaging) на pom вместо jar
  3. добавить следующие репозитории в POM файл:

Бла бла бла…. короче, когда доделаю тогда распишу всё более подробно, а то точно не успею до вечера.

Нахуй канаду. Учим матчасть

Январь 19, 2009

Чё то я затрахался с эти Geronimo. Какой-то он не вменяемый. Я конечно понимаю, что он Entyerprise, что если знать, то его можно быстро настроить и т.д.

Но жажда новых знаний выше желания сношаться с конфигурационными файлами этого монстра. После неудачных экспериментов с WASCE  (он же Geronimo), решил еще раз почитать про Flex и интеграцию.

Для начала я решил разобраться что же такое BlazeDS. Начал со статьи Getting started with BlazeDS. Её я сразу до конца не прочитал и пошел качать BlazeDS turnkey server. И так, для того, чтобы яснее понимать некоторые вещи, я буду их записывать. Таким образом, я еще раз смогу увидеть свои мысли и проконтролировать, что точно всё понял и ничего не напутал.

BlazeDS turnkey server — это готовая к использованию версия Tomacat в которой уже содержится BlazeDS data services вместе с демонстративными приложениями.

После этого я нашел так и не пройденный мною 30 Minutes Flex Test-Drive for Java Developers. Начал читать это достаточно старый материал. Сначала я всё посахронял на винт, а то мало ли чё. Интернет вещь хрупкая :) Скачал архив с примерами и проинсталировал его в WASCE. Вроде всё прошло нормально. При заходе на первый линк примеров пришлось немного подождать. Впрочем, про это написано в самом Тест Драйве. Итак, нажали «Get Data», заработало. В итоге у меня не заработал только второй пример с Web сервисами. Ну и фиг с ними. Зато какой кайф, есть рабочий пример. Короче, я этим тест драйвом доволен и мне очень обидно, что я довольно давно его нашел, но так и не удосужился его пройти. Однозначно Must Have.

Буду делать приложение используя Spring. Для этого воспользовался maven-blazeds-spring-archetype. В командной строке написал что-то типа такого

mvn archetype:generate
-DartifactId=pgw-shop
-DarchetypeCatalog=http://maven-blazeds-spring-archetype.googlecode.com/svn/maven2/

Кстати всё это пишеться в одну строчку :) И, нифига. Факир был пьяный — фокус не удался. Тогда я взял готовый hello-world проект и попытался его поменять. Опять двадцать пять. Оказывается, для компиляции с помощью Maven необходимо использовать flex-mojos.

Итак, вот еще список статей которые мне надо прочитать, чтобы хоть немного в этом всём разобраться.

Тяжкое это дело, изучать новыый технологии.

Изучение Flex

Январь 17, 2009

FlexВот мне понадобилось изучать Flex, точнее я сам вызвался добровольцем. В этом посте я хочу опубдиковать сслыки, которые мне очень сильно помогли.

  1. Разработка Flex приложений в Linux (Ubuntu 8.10). Краткое, но от этого не менее ценное руководство по установке Flex на Linux. Обязательно почитайте коменты.
  2. Блог Adobe Flex на Харбрахар.ру. Интересные статьи, в которых описаны некоторые моменты работы во Flex. Так же есть статьи посвещенные крутым плагинам  (Eclipse Enterprise IDE Plugin™ для Adobe Flex Builder), описан способ получения бесплатного Flex Builder’а.

Пока на этом всё. Как только появится что новое. Обязательно обновлю запись.

Откуда люди только берут идеи?

Январь 14, 2009

Я всё не перестаю удивляться, откуда люди умудряются брать столько идей для простых игр. И меня терзает вопрос, почему я не смог придумать это, ведь это так просто. За примером ходить долго не надо.

Dodge

Казалось бы, простая игра, в которой нет ничего сложного. Летает себе какой-то абстрактный корабль, который даже стрелять то не умеет. А по нем «палят изо всех орудий» другие «абстракции». Но паляи не простыми ракетами, а … самонаводящимися, которые после некоторого времени полёта, если не встретили никакого препятствия взрываются. Так вот нужно запутать эти ракеты так, чтобы они попадали в сових хозяев, т.е. наших недругов.

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

Кстати, прикольно было бы если запустить сразу есколько игроков (типа мулиплеер), и каждый мог бы стрелять в направлении своего движения. Ракета выбирала бы себе цель, как самого близкого противника. Вот бы масакалово было бы. Эх … мечты мечты.

Scriball. А ведь можно сделать и понавороченнее.

Январь 13, 2009

ScriballНа Kongregate попалась довольно занимаельная игра Scriball. Скажу сразу, что ей я поставил 5/5. А тепрь немного перевода :)

Описание (Игра опубликована 2009-01-12)

Нарисуйте путь для мячика в инновационной игре.

Игра состоит из 43 уровней + a boss battle + дополнительные уровни, которые вы можете открыть, если … и тут знания моего английского нехватило ….

Инструкция

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

Советы

  • Мячь может проскакивать через линию, когда перемещается в верх.
  • Поддерживайте движения шарика рисую гладкие кривые.
  • Создавайте V подоюные фигуры, если хотите зафиксировать мяч.
  • Используйте хорошую мышку!

А тперь мои пять копеек… :) Данная игра очеь хорошо пподходит для того, чтобы в ней меряться «пиписьками», т.е. хвастаться, кто быстрее или круче (изящнее, красивее, изворотливее) прошел данный уровень. Для этого можно было бы добавить возможность сохранять повторы (replay) прохождения на каком-нибудь сайте. Соответсвенно можно вести рейтинг по времени прохождения, а заодно и записывать с какого раза ты прошел данный уровнь. Конечно, можно каждый раз заново открывать окно браузера, но это очень муторно и люди это врядли будут делать. А крутость реплеев пусть оценивают пользователи.

Вот что то примерно такое. А теперь немного моих стонов по поводу отсутсвия свободного времени на реализацию такой классной идеи :)

Урок первый : Змейка

Январь 12, 2009

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

Итак, мы учимся программировать создавая игры.

На первом (первое по данной методике) занятии мы делали на Borland Pascal обычную змейку. Для этого нам понадобились только модули CRT и GRAPH. Так как полноценного учебника не было, то пришлось пользоваться школьным учебников, в котором в краткой форме изложены основы графического и текстового режима.

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

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

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

На примере создания данной игры были изучены:

  • основы работы в текстовом и графическом режиме
  • цикл repeat until. Почему то школьники игнорируют все виды циклов, за сключением for. В данном случае, for не мог помочь, поэтому пришлось учиться  :)
  • основы создания интерактивных программ

А как же алгоритмы и всё такое, спросите вы? Буду стараться подбирать такие игры, в которых данные алгоритмы как раз и нужны. Например, поиск кратчайшего пути можно реализовать на примере игры Maze Stopper