воскресенье, 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


воскресенье, 6 июля 2008 г.

VMware Server 2 rc

Что нового по сравнению со старой версией:

  • Поддержка VSS (Volume Shadow Copy) для Windows XP и Windows Server 2003 - позволяет создавать копии данных пользователям данных ОС
  • Virtual Machine Communication Interface - поддерживает связь между виртуальными машинами на одном и том же хосте
  • Средства для создания бэкапов (в т.ч. при включенной виртуалке)
  • Позволяет использовать устройства, не подключенные напрямую к хост-машине (через VMware Remote Console)
  • Консоль управления полностью Web-based

Новая бесплатная платформа виртуализации должна быть выпущена уже в этом сезоне. На данный момент доступен для скачивания release candidat.


пятница, 4 апреля 2008 г.

Русский перевод Magento

(Статья обновлена 4.04.2008)

Наверняка многие девелоперы, связанные с e-коммерцией, давно наблюдают за развитием проекта Magento. Magento - новый проект компании Varien, которая ставит свей целью захватить огромный кусок пирога e-commerce индустрии за счет своего Open Source детища.

Пока можно только предполагать, как будет происходить битва между Magento, Битриксом, Umi и остальными участниками российского рынка. Подогревая грядущие события, я решил выложить в свободный доступ полный перевод на русский язык всего пакета Magento (и административной части, и frontend-а). Качеству перевода я уделил достаточно своего времени, чтобы приблизить к отметке в 100%.

Замечу, что тех csv файлов для перевода, которые нам отдают при скачивании с официального сайта явно недостаточно. Хочу выразить благодарность PHP, MySQL и Google Translator-у за неоценимую поддержку, которая помогла мне практически полностью автоматизировать перевод Magento на человеческий русский язык.

Русская локализация Magento вер. 1.0: ru_RU.zip

(как только Varien решит все проблемы с загрузкой на сайте Magento, русский перевод будет доступен через панель пакетов локализации Magento)

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


понедельник, 28 января 2008 г.

Создатель MySQL объявляет о релизе ногово движка Maria, который должен заменить InnoDB

Michael Widenius в своем блоге заявил об анонсе нового движка базы данных MySQL под названием Maria. Новый движок разрабатывается уже в течении двух лет и является закономерным ответом Oralcle'у на приобретение им движка InnoDB. Список основных возможностей Maria:

  • ACID (поддержка транзакций)
  • Commit / Rollback (откаты изменений)
  • Конкурентные запросы (Concurrent selects)
  • Блокирование строк (Row locking)
  • Поддержка групповых транзакций (Group commit)
Вспомним, что наиболее обширная поддержка транзакции началась с версии 4.1 на движке, ныне принадлежащему основному конкуренту - Oracle. Естественно, у разработчиков и администраторов могут появится вопросы о проблемах, связанных с переходом на Maria. И вот что пишем Monty:


Сейчас мы имеем Maria версии 1.0, без известных ошибок (что, естественно, не означает что движок лишен каких-либо ошибок, просто мы верим - то что есть уже достаточно надежно). Теперь нам нужна помощь разработчиков для того чтобы найти скрытые ошибки и довести Maria до максимально стабильного состояния.


Если вы захотите узнать больше о новом движке, обратите внимание на FAQ, которое должно ответить на все ваши вопросы о Maria.