git submodules

git pull --recurse-submodules

— обновить локальные данные

git submodule update --recursive --remote

— обновить коммиты

git submodule update --init --recursive

— инициализация

Локализация в ExtJS

В файл app.json добавить

requires:[
...
"ext-locale"
...
],
locale: "ru",
...
"overrides": [
...
"${app.dir}/locale/${app.locale}"
...
]

Создать в корне проекта папку locale и добавить туда папку с значением свойства locale и создаем там файлы

Пример:

Ext.define('Ext.locale.ru.form.field.Date', {
    override: 'Ext.form.field.Date',
    config: {
        format: 'd.m.Y H:i:s',
        submitFormat: 'Y-m-d H:i:sO'
    }
});

Установка android sdk на linux и сборка

Скачиваем архив с официального сайта
Распаковываем его
Устанавливаем java (можно проверить java -version)
sudo apt-get install default-jre
sudo apt-get install default-jdk

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer Читать далее «Установка android sdk на linux и сборка»

Управление KVM с помощью Virt-Manager на Windows

Гипервизор KVM идет с отличными утилитами управления для командной строки. Что касается графических программ для управления виртуальными машинами на сервер KVM, то здесь дело обстоит хуже. Под Linux стандартным средством является Virt-Manager. Давайте посмотрим, как можно использовать его под Windows.

Стандартная утилита для графического управления гостевыми системами в KVM это virt-manager, который по функционалу сравним с другими управляющими утилитами, например Hyper-V Manager, в части управления виртуальными машины на локальном или удаленном гипервизоре.

Читать далее «Управление KVM с помощью Virt-Manager на Windows»

Оптимизация обработки нажатия в мобильных приложениях

При использование Extjs приложений в мобильном устройстве возникают задержки при нажатии на кнопки (Ext.Button). Для их устранения можно воспользоваться следующим классом:

Ext.define('Base.KeyButton', {
    extend: 'Ext.Button',
    xtype: 'keybutton',
    /**
     * специально переопределенный класс, чтобы не было серого цвета
     */
    hoveredCls: Ext.baseCSSPrefix + 'hovered-override',

    /**
     * Переопределен
     */
    onPress: function () {
        this.fireEvent('userkeypress', this); // тут создаем собственное событие
        this.callParent(arguments);
    }
});

Применение:

    xtype: 'keybutton',
    ui: 'action letter',
    flex: 1,
    margin: 3,
    listeners: {
        userkeypress: 'onClick'
    }