пятница, 4 декабря 2009 г.

среда, 25 ноября 2009 г.

Agile Progect Management

Неплохой инструмент для управления проектами

раздел страницы: Dashboard - Pivotal Tracker (открыть в Google ВикиКомментариях)


Тестирование

Очень частая ошибка при реализации юнит тестирования. Тестируем интерфейс, а не реализацию!

раздел страницы:

"Testing function vs testing implementation"
- Testing function vs testing implementation « The Shyam! (открыть в Google ВикиКомментариях)


четверг, 12 ноября 2009 г.

Где купить Android смартфон

OCь от гугла наверняка не оставит равнодушными разработчиков на Java. И если вы решили начать разрабатывать для Android, скорее всего со временем встроенного в SDK эмулятора вам покажется недостаточно.

Когда вы станете готовы для приобретения настоящего девайса, рекомендую в первую очередь обратить внимание на HTC Hero. Если бюджет скромнее, можно и HTC Tatoo.

Смарты можно заказать уже сегодня via AndroidBox.


воскресенье, 18 октября 2009 г.

Футболка для ЖЖиста

Если каким-то невероятным способом вы вдруг захотите сделать подарок вашему другу или подруге, а у нее вдруг окажется дневник в ЖЖ, можете попробовать воспользоваться небольшим сервисом, для генерации своей единственной, неповторимой и недорогой футболки. К примеру вот такой:


среда, 19 августа 2009 г.

Авторизация в Ruby on Rails через restful-authentication

Рецептура приготовления блюда авторизации проста. Следуйте приведенным ниже инструкциям и в итоге получите вкусную и горячую restful-authentication.

1. Устанавливаем restful-authentication:

script/plugin install git://github.com/technoweenie/restful-authentication.git


2. Устанавливаем acts_as_state_machine плагин:

script/plugin install http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk


3. Запускаем restful-authentification генерацию (включая опцию подтверждения e-mail через ссылку активации):

script/generate authenticated user sessions --include-activation


user - наша модель пользователя
sessions - контроллер для обработки log-in/log-out

4. В vendor/plugins переименовываем restful-authentification на restful_authentification

5. Запускаем rake db:migrate

6. Идем в http://localhost:3000/users/add добавлять пользователя и т.д.

Допиливаем


понедельник, 3 августа 2009 г.

Hibernate 3.3.1 Annotations

После установки Hibernate Annotations библиотек компилятор грязно выругался:

Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory

Downgrade slf4j до версии 1.5.2 решил мою проблему.

PS.

И помните, если вы перепробовали все на свете, обшарили весь гугль но так и не можете найти ответ на ваш вопрос, попробуйте ant clean...


воскресенье, 2 августа 2009 г.

Ubuntu 9.04 ? Intel video ? Тормозит ?

Вначале я думал что это связано с режимом работы ноута. Оказалось все дело в видео. Решение - здесь


среда, 29 июля 2009 г.

This widget's parent does not implement HasWidgets

Если в GWT виджет не содержит родителя (parent), мы можем спокойно добавлять его и использовать в панелях, других GWT-native виджетах и т.д. К примеру, вы создали Image:


Image img = new Image("some url");

а после добавили его в панель:


AbsolutePanel panel = new AbsolutePanel();
panel.add(img);

Этот код выполнится без проблем, т.к. img вообще не содержит родителя.

Но если у виджета будет родитель, отношения с ним несколько обостряются. Представим себе простой Composite виджет включающий в себя Image:

class MyComposite extends Composite {

public Image img = new Image();
public MyComposite() {
initWidget(img);
}
}

Теперь если мы добавим, скажем,в AbsolutePanel картинку из MyComposite, получим то самое сообщение: This widget's parent does not implement HasWidgets


среда, 22 июля 2009 г.

Eclipse workflow

При написании кода я практикую TDD, поэтому для меня очень важно запускать все unit тесты очень часто. Для того чтобы это делать в Eclipse мы можем создать Junit конфигурацию запуска, и запускать последнюю конфигурацию запуска через шорткаты (если честно, я только запуск юнит тестов в качестве конфигурации запуска и использую - остальное в build.xml). По умолчанию это Ctrl+F11.

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

Рецепт: Настройки-> Run/Debug -> Launching и в группе Launch Operation ставим Always launch the previously launched application.

В Intellij Idea есть замечательная убийственная штука как автодополнение выражения. Подход Eclipse немного отличается.

Рецепт: В настройках Java -> Typing -> Automatically insert at correct position. Ставим галочки для "}" и ";". Теперь в любом месте строки вставка этих символов приведет к их расположению в конце строки.


вторник, 16 июня 2009 г.

Firefox 3.5 в Ubuntu

Если вы еще не установили последнюю (бета) версию firefox, очень рекомендую вам это сделать. Скорость полета при серфинге будет вас ошеломлять. Большинство расширений которыми мне доводится использовать (Read Il Later, Xmarks, Greasemonkey) прекрасно работают в новой версии.

Рецепт для Ubuntu:

1. В источниках приложений добавляем: deb http://ppa.launchpad.net/fta/ppa/ubuntu jaunty main
2. В менеджере пакетов устанавливаем firefox-3.5
3. В меню -> Интернет -> выбираем браузер Shiretoko