Archive for Июль 2009

BigDecimal

Июль 22, 2009

java-personСеголня я немного был шокрирован, когда результат BigDecimal.equals(BigDecimal) давал false, хотя я на 100 процентов был уверен, что числа одинаковые.

Оказывается, что два BigDecimal’а эквивалентны тогда, когда не только их значения равны, но и scale одинаковый.

В если хочется проверить на равенство не взирая на scale, то нужно использовать compareTo.

Вот так вот, так что читаем JavaDoc.

Реклама

ExtGWT

Июль 18, 2009

Решил немного поразвиваться и посмотреть, как можно быстро навоять простенькую web бизнес аппликацию.

По началу хотел посмотреть, что для этого есть у PHP. Но мысль о том, что придётся разбираться с чужими «велосипедами» сразу поставила крест на этой затеи. Хотя для серверной части может и подошло бы, но я уже привык сидеть в уютной IDE, которая подскажет, что не так, что не будет компилироваться.

Поэтому решил, что надо использовать Java. Для серверной части очень даже ничего, но вот на чём делать UI? Ну очень не хотелось возиться с javascript, css и прочей дизайнерской шланью. Хотелось простоты и удобства.

И тут я вспомнил про GWT. Пишем на Java и получаем javascrip. Притягательно. Но вот только набор контролов скудноват. И тут на сцену выходит, нет, не выходит, «выходит» звучит как то сухо и скучно. На сцене под свет софитов появляется ExtGWT.

Так как я использую NetBeans, то я сразу же поставил GWT4NB плагин. Потом скачал и поставил в /opt сначала GWT, а потом и GLX. Более подробно о процессе настройки можно прочитать в статье «Создание GWT приложения с GWT-Ext контролами, работающего на JBoss, с помощью NetBeans. Step By Step«. Я использовал GlassFish, а не JBoss, но это сути не меняет. Так как статья не первой свежести, то я еще скачал с rapidshare книгу «Developing with Ext GWT. Enterprise RIA Development», которая оказалась не просто свежей, а что ни на есть «горячей». В ней было освещены чуть ли не самые последние сборки компонентов.

Итак, подведем итог. UI вроде есть, писать можно. Из недостатков стоит отметить отсутствие возможности дектларативно (например, при помощи XML) описать layout форм. Осталось только решить, что использовать для работы с БД.

Noice MC

Июль 18, 2009

На velcom’овском концерте «Волна позитива» заводила предложил выкинуть одному из жителей близлежащего дома телевизор «на крышу геленвагена». Когда мы отмечали день рождения Юры, то оказалось, что Серега Кашубский не знает, откуда эта фраза. Я пообещал, что скину ему линк на песню Noice MC из окна.

Первый раз я узнал про этого репера из филма «Розыгрыш«. Горорить про фильм ничего не буду, потому что, по моему мнению фильм просто охуительный (11 из 10:), несмотря на то, что и немного жестокий. Актёры подобраны просто феноменально. Это именно настоящие актёры а не то, что нам показывают по ящику. Ели Noice MC приедет в Гродно, то обязателно схожу на его концерт. А пока пошел искать диски с его песнями в продаже.

Java and SFTP

Июль 14, 2009

jscapeНедавно встала задача организовать «забирание» файлов по SFTP. Витя организовал тунель на своей машине, так что с помощью MC уже можно было походить по директориям, присмотреться :).

Осталось только выбрать либу для Java. Мною были найдены:

  • SSHTools. Не подошла по лицензионным соображениям. GPL использовать нельзя.
  • jscape. Платная. Хотя по идее деньги на покупку найти можно.

И тут «вылезает из кустов» Витя и предлагает использовать ganymed-ssh2 библиотеку.

С помощью NetBeans Maven Repository Windov я быстро его нашел и добавил к необходимому проекту.

Black and White mages

Июль 10, 2009

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

Итак задача.

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

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

Frisbee kata

Июль 10, 2009

На тренировки по фризби в Гродно приходит уже достаточно большое количество народа. Но вот только тренировок в полном смысле слова не получается. Скорее это напоминает «занимаюсь чем хочу, пока Юра не скомандует».

А теперь немного философии. Алтимат Фризби это такая смесь «бульдога с носорогом», от каждого вида спорта взяли по чуть-чуть, поменяли снаряд и вуаля — игра готова. Но вот забыли, что игра это не только правила. Это еще и комплекс тренировок для данного вида спорта. Но спросив у гугла «frisbee training», увидел, что тренируют только собак :) Для людей тренировок похоже нет, или о них никто не говорит.

Давайте посмотрим, из чего состоит наша любимая игра. По идее всё просто — бросок и приём. Большинство считает, что умение круто кидать дикс, сразу же приведет команду к победе. Увы это не так. Диск ведь еще необходимо поймать, причём поймать раньше соперника. Да и для того, чтобы вам кинули диск необходимо «открыться»,  «предложить себя». Короче, вырисовывается очень интересная картинка — фризби по «высокой механике» ничем не отличается от любого другого вида спорта.

Что же необходимо тренировать. Сначала просто списком в порядке значимости (значимость в данном случае я выставлял из своих субъективных соображений)

  • физуха. Ровное дыхание, распределение сил на всю игру. Умение делать моментальные ускорения.
  • умение ловить. Если ты не сможешь поймать, то смысл тебе кидать.
  • умение кидать. Без коментариев
  • умение кидать при рядом стоящем сопернике.  А вот про то, как совершенствовать это навык я поговорю ниже.
  • тактика. Тоже отдельная тема для разговора.

Я был бы очень рад, если бы во время каждой тренировки происходила именно тренировка каждого из описанных компонентов. А уже только в конце минут 20-30 на саму игру. Отдача была бы колосальной. Только упражнения надо делать «фановыми», чтобы девчёнки не скучали, чтобы было не только тяжело и изнурительно, но и весело.

Мда. Философии оказалось больше, чем я планировал.

Для того, что бы тренировать умение кидать при рядом стоящем сопернике предлагаю разработать kata комплекс движений, которые бы повторяли бы основные броски и фейки. Чем же данный метод хорош? Исполняя кату человек на подсознательном уровне запоминает двидения, вписывая их в свою интуицию. И когда перед ним окажется соперник, он уже не будет думать…. тело само подскажет, и…что самое главное, выполнить необходимый фейк и бросок.

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

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

Сделай сам

Июль 9, 2009

Очень часто хочется вспомнить детство и занятся «рукоделием». Первое, что я наверное сделаю, будет «Патронташ для пива«. У Юры уже был день рождения. Кто там следующий?

С intuit.ru не сложилось

Июль 8, 2009

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

Мне не нравится Ваша фамильярность, а я ведь почти в 2 раза старше. И50
не нравится то, что за месяц общения я получил только то, что получил.

Я не могу тратить время на общение, даже если кто-то хочет работать
бесплатно. Мне нужен не процесс, и не лекции, мне нужен результат. И
достаточно оперативно.

Что я могу сказать…А ничего. Оправдывать себя и поливать собеседника я не собираюсь. Считаю это бесполезным занятием.

Видимо кризис не сильно ударил по некоторым сферам :), раз отказываются от бесплатной помощи. Наверное я не только должен был сделать, но еще и сам себе поставить задачу ;)

Буду тогда смотреть в сторону moodle. Благо есть одногрупники, которые с ним работали. Так что, Танюха и Максим Товстики (они еще не женаты?) ждите звонков.