API для mysql-simple-rpc

Серверное приложение основанное на mysql-simple-rpc

git clone git://git.appcode.pw/mysql-simple-rpc.git
npm install
# в файле ~/configs/app.json меняет строку подключения
cd refresh
npm install
cd ..
node refresh # обновляем схемы
node generator # генерируем провайдер

поддерживают следующие открытые API:

  • ~/tpl/:type/:folder/:name — получение общих шаблонов
  • ~/tpl-api/:type/:name/:field? — получение специфичных шаблонов

Читать далее «API для mysql-simple-rpc»

Тестирование ExtJS проектов

Статья: Плагин autotest-plugin для VSCode

Тестирование NodeJS проекта отличается от ExtJS

  • применяется siesta вместо nodeunit
  • добавлена возможность проверки класса
  • есть возможность тестирования в браузере

Для тестирования ExtJS применяется проект siesta. Он позволяет производить тестирование в браузере компоненты ExtJS’a Читать далее «Тестирование ExtJS проектов»

Плагин autotest-plugin для VSCode

Плагин предназначен для автоматического тестирования проектов на nodejs

Для корректной работы плагина требуется наличие следующих утилит:

  • jsdoc
    npm install -g jsdoc
    jsdoc -v // для проверки
  • nodeunit
    npm install -g nodeunit
    nodeunit -v // для проверки

Инструкция по генерации и установке плагина

npm install -g vsce // эту команду можно не выполнять если пакет vsce был установлен до этого. подробнее https://code.visualstudio.com/docs/extensions/publish-extension
git clone git://git.appcode.pw/autotest-plugin.git
npm install
vsce package

Читать далее «Плагин autotest-plugin для VSCode»

Отладка nodejs которое работает через IIS

Устанавливаем

npm install -g node-inspect

В web.config system.webServer добавляем

<iisnode loggingEnabled="true" nodeProcessCommandLine=""%programfiles%\nodejs\node.exe" --inspect-brk" />

Открываем сайт в браузере Chrome (страница должна долго грузиться), затем в браузере вводим

chrome://inspect

И должно быть одно приложение, которое слушает порт 9229, нажимаем на него и снимаем breakpoint

MySQL — логирование долгих запросов

Чтобы включить лог медленных запросов, нужно открыть конфигурационный файл MySQL (путь может отличаться):

nano /etc/mysql/my.cnf

и поправить там настройки:

До версии 5.7

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

Начиная с версии 5.7

slow_query_log = /var/log/mysql/mysql-slow.log
long_query_time = 1

log_slow_queries (slow_query_log) указывает путь к файлу настроек
long_query_time указывает минимальное время выполнения запроса, после которого он считается медленным в секундах,
После этого необходимо перезапустить MySQL:

/etc/init.d/mysql restart

После этого в файл /var/log/mysql/mysql-slow.log будут попадать медленные запросы, которые Вам прийдется оптимизировать.

Формирование документации при помощи плагина docdash-plugin

Плагин предназначен для автоматического формирования документации для javascript — файлов.

Документирование происходит при помощи синтаксиса JSDoc

Установка плагина

Устанавливаем jsdoc, если он еще не установлен. Для проверки наличия jsdoc можно выполнить следующую команду:

jsdoc -v

Для сборки проекта устанавливаем пакет vsce

npm install -g vsce

Далее собираем проект

git clone git://git.appcode.pw/docdash-plugin.git
npm install
vsce package

Инструкция по установке .vsix пакета тут

Внимание!!! Для корректной работа плагина требуется наличие утилиты jsdoc Читать далее «Формирование документации при помощи плагина docdash-plugin»

ExtJS 6.6.0

Что нового?

  1. можно указывать папку с sdk по умолчанию. Например sdk с новой версией хранится тут C:\Users\Myname\sencha-sdks\ext-6.6.0И тогда путь у sdk устанавливается так
    sencha config --prop sencha.sdk.path=C:\Users\Me\sencha-sdks --save
    
  2. Инициализация приложения происходит так
    sencha app init --ext@6.6.0 --modern MyApp

    или

    sencha app init --ext@6.6.0 --classic MyApp

    или

    sencha app init --ext@6.6.0 --universal MyApp
  3. Динамические стили:
    Ext.theme.Material.getColors()
    

Убрать надпись trial из extjs

Находим соответствующие файлы и меняем в них значения:

\modern\theme-base\sass\etc\all.scss
$ext-trial: false !default;
classic\theme-base\sass\etc\all.scss
$ext-trial: false !default;
\ext\cmd\sencha.cfg
ext.license.name=gpl

fail2ban для wordpress

Чтобы была возможность блокировки атак в wordpress через wp-login нужно:

  1. создать папку с плагинами wp_fail2ban
  2. внутри создать файл с тем же именем
  3. добавить туда код
    <?php
    /**
     * Plugin Name: Return 403 on Failed Login
     */
    function my_login_failed_403() {
        status_header( 403 );
    }
    add_action( 'wp_login_failed', 'my_login_failed_403' );
    
  4. активировать плагин

Оригинал статьи: https://wpmag.ru/2014/fail2ban-wordpress/