Установка SSL сертификата от Let’s Encrypt на собственный сервер. Доменное имя у меня зарегистрировано на reg.ru. Мои шаги:
- Переходим по ссылке и выбираем нужные конфигурации сервера. Я выбрал nginx и ubuntu 14
- Выполняем команды
Установка SSL сертификата от Let’s Encrypt на собственный сервер. Доменное имя у меня зарегистрировано на reg.ru. Мои шаги:
Статья: Плагин autotest-plugin для VSCode
Тестирование NodeJS проекта отличается от ExtJS
Для тестирования ExtJS применяется проект siesta. Он позволяет производить тестирование в браузере компоненты ExtJS’a Читать далее «Тестирование ExtJS проектов»
Плагин предназначен для автоматического тестирования проектов на nodejs
Для корректной работы плагина требуется наличие следующих утилит:
npm install -g jsdoc jsdoc -v // для проверки
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
Плагин предназначен для автоматического формирования документации для 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»
Для быстрой генерации БД MySql применяется утилита:
git clone git://git.appcode.pw/mysql-db-generator.git
После выполнения указанной выше команду, выполнить следующую
node index dbname=[dbname] username=[username]
, где
В результате выполнения будет сформирован файл query.sql
Структура приложения
git clone git://git.appcode.pw/db-schema-mysql.git
Модуль генерирует файлы *.schema с наименованием сущностей.
var main = require('db-schema-mysql'); main(connectionString, outputPath, override);
,где:
Структура файла *.schema
*.schema — файл типа json с комментариями. Хранит структуру таблицы, view, процедуры
//#overwrite { "TABLE_NAME": "application_projects", "TABLE_TYPE": "BASE TABLE", "TABLE_TITLE": "Тип приложения", "PRIMARY_KEY": "id", "TABLE_COMMENT": '', "FIELDS":[{ "COLUMN_NAME": "description", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "text", "CHARACTER_MAXIMUM_LENGTH": 65535, "NUMERIC_PRECISION": , "NUMERIC_SCALE": , "COLUMN_KEY": "", "EXTRA": "", "COLUMN_COMMENT": "Описание", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": }, { "COLUMN_NAME": "id", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "int", "CHARACTER_MAXIMUM_LENGTH": , "NUMERIC_PRECISION": 10, "NUMERIC_SCALE": 0, "COLUMN_KEY": "PRI", "EXTRA": "auto_increment", "COLUMN_COMMENT": "Идентификатор", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": }, { "COLUMN_NAME": "name", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "varchar", "CHARACTER_MAXIMUM_LENGTH": 255, "NUMERIC_PRECISION": , "NUMERIC_SCALE": , "COLUMN_KEY": "", "EXTRA": "", "COLUMN_COMMENT": "Наименование", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": }, { "COLUMN_NAME": "outputFileName", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "varchar", "CHARACTER_MAXIMUM_LENGTH": 255, "NUMERIC_PRECISION": , "NUMERIC_SCALE": , "COLUMN_KEY": "", "EXTRA": "", "COLUMN_COMMENT": "Имя выходного файла", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": }] }
, где:
Выполнение через командную строку
node index connection=[connectionString] output=[output] override=[true|false]
, где
[e100] Раздел1
Тогда schema будет выглядеть следующим образом:
{ "TABLE_NAME": "application_projects", "TABLE_TYPE": "BASE TABLE", "TABLE_TITLE": "Тип приложения", "PRIMARY_KEY": "id", "TABLE_COMMENT": '', "FIELDS":[{ "COLUMN_NAME": "description", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "text", "CHARACTER_MAXIMUM_LENGTH": 65535, "NUMERIC_PRECISION": , "NUMERIC_SCALE": , "COLUMN_KEY": "", "EXTRA": "", "COLUMN_COMMENT": "Описание", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": , "ORDER": 100 // тут сортировка }, { "COLUMN_NAME": "id", "COLUMN_DEFAULT_VALUE": , "IS_NULLABLE": "NO", "DATA_TYPE": "int", "CHARACTER_MAXIMUM_LENGTH": , "NUMERIC_PRECISION": 10, "NUMERIC_SCALE": 0, "COLUMN_KEY": "PRI", "EXTRA": "auto_increment", "COLUMN_COMMENT": "Идентификатор", "REFERENCED_COLUMN_NAME": , "REFERENCED_TABLE_NAME": , "ORDER": 50 // тут сортировка } ...
Установка колонки по умолчанию
Для указания колонки по умолчанию применять:
[e100|d] Раздел1
В этом случаи для таблицы будет указан следующий параметр
{ "TABLE_NAME": "application_projects", "TABLE_TYPE": "BASE TABLE", "TABLE_TITLE": "Тип приложения", "PRIMARY_KEY": "id", "TABLE_COMMENT": '', "DEFAULT_PROPERTY": "name" ...
, а для колонок будет указана следующая информация
... "REFERENCED_COLUMN_NAME": "id", "REFERENCED_TABLE_NAME": "sys_users", "ORDER": 90, "REFERENCED_DEFAULT_PROPERTY": "name" ...
git clone git://git.appcode.pw/file-merge.git
Оригинал:
Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', idProperty: 'id' ...
В оригинальном файле нам требуется убрать свойство idProperty. Наличие пустой строки обязательно, т. к. таким образом сообщается, сколько строк нужно обновить.
Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', //#UPDATE //#UPDATEEND ...
В оригинальном файле нам требуется обновить свойство idProperty
Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', //#UPDATE idProperty: 'LINK' //#UPDATEEND ...
Оригинал:
Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', idProperty: 'id' ...
Требуется добавить еще одно свойство.
Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', idProperty: 'id' //#ADD displayProperty: 'table_name', //#ADDEND ...
Или добавить новую функцию
validators: { user_id: 'presence', roles_id: 'presence', table_name: { type: 'length', max: 255 } } //#ADD , fio: function () { // '''тут запятая должна находиться именно здесь''' } //#ADDEND });
Для принудительной перегенерации файла требуется указать в начале файла
//#overwrite Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', idProperty: 'id' ...
Для отмены перезатирания данных указывать в начале файла
//#not overwrite Ext.define('PN.model.accesses', { extend: 'Ext.data.Model', idProperty: 'id' ...
Получение модуля:
git clone git://git.appcode.pw/nodejs-email.git или npm install git://git.appcode.pw/nodejs-email.git
Применение
Добавляем модуль:
var nodejsEmail = require('nodejs-email')(settingOrPath);
,где settingOrPath:any — путь к файлу с настройками, либо передается объект (см. ниже) с уже прочитанными данными
Затем в нужном месте вызываем метод:
nodejsEmail.send(subject:string, messages:any[]);
, где:
Формат сообщений
[{ "body": "текст письма", "level": "error" // уровень }]
Настройки
Настройки модуля хранятся в файле в следующем формате:
{ "host": "you.smtp.ru", /// host: адрес smtp сервера; "port": 25, /// port: порт smtp сервера; "secure": false, /// secure: используется шифрование или нет; "user": "sender@smtp.ru", /// user: логин; "pass": "password", /// pass: пароль; "from": "\"Имя\" <sender@smtp.ru>", /// from: от кого; "to": "user@other.ru", /// to: через запятую указывается список адресов для отправки; "level": ["warn", "log", { "status": "error", "to": "spec@other.ru" }] /// level: warn, error, log, *; }
где, level — это уровни отправки сообщений. Доступны следующие уровни:
Например для отправки только сообщений с ошибками указывать:
level: ['error']
Для отправки только предупреждений и ошибок:
level: ['error', 'warn']
Для отправки сообщений определенного типа, определенным пользователям:
"level": ["warn", "log", { "status": "error", "to": "a-krasnov@it-serv.ru" }]