Находим соответствующие файлы и меняем в них значения:
\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
Рассказываю сложные вещи простыми словами
Находим соответствующие файлы и меняем в них значения:
\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
Чтобы была возможность блокировки атак в wordpress через wp-login нужно:
<?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' );
Оригинал статьи: https://wpmag.ru/2014/fail2ban-wordpress/
sudo fsck -t -y -f -c /dev/sda1
sudo apt install jpegoptim
ГлавнаяМультимедиаОптимизация изображений Linux
ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ LINUXМультимедиа Август 24, 2015 7 admin
ubuntu
Если у вас есть очень много изображений на домашнем компьютере или сервере, и они занимают слишком много места, то их размер однозначно можно уменьшить даже без потери качества. Также это может быть очень полезным при загрузке изображений в облачное хранилище.
В этой статье мы рассмотрим как выполняется оптимизация изображений Linux. Существует очень много графических инструментов для решения этой задачи, но на самом деле все намного проще. Мы рассмотрим как сжать изображения с помощью двух простых, но очень эффективных консольных утилит командной строки. Вот они:
jpegoptim — утилита для оптимизации и сжатия изображений без потери качества в формате JPEG;
pptipng — это небольшая программа, которая позволяет уменьшить размер PNG изображений без потери качества.
JPEG и PNG — это наиболее распространенные форматы изображений в сети интернет, поэтому вы сможете оптимизировать почти все изображения.
Содержание статьи:
Оптимизация JPEG изображений
Установка Jpegoptim
Как использовать jpegoptim
Оптимизация изображений PNG в Linux
Установка optipng
Сжатие изображений с помощью optipng
Выводы
ОПТИМИЗАЦИЯ JPEG ИЗОБРАЖЕНИЙ
Утилита jpegoptim — это инструмент командной строки, который может использоваться для сжатия изображений в формате JPEG, JPG и JFIF без потери качества. Утилита оптимизирует изображения на основе таблиц Хаффмана. Как вы знаете, в алгоритме JPEG и так используется сжатие, но это сжатие достигается с помощью потери качества, а здесь мы можем оптимизировать размер не меняя картинку.
УСТАНОВКА JPEGOPTIM
Для установки утилиты в Ubuntu, Debian и основанных на нем дистрибутивах выполните:
sudo apt install jpegoptim
В Fedora, Red Hat, CentOS и других, основанных на них дистрибутивах дела обстоят немного сложнее, вам придется сначала добавить репозиторий epel-release. Вы можете сделать это с помощью такой команды:
sudo yum install epel-release
Или:
sudo dnf install epel-release
Затем вы можете установить jpegoptim из только что подключенного репозитория:
sudo yum install jpegoptim
Или:
sudo dnf install jpegoptim
КАК ИСПОЛЬЗОВАТЬ JPEGOPTIM
Давайте рассмотрим как пользоваться jpegoptim. Использовать утилиту для сжатия изображений linux очень просто. Для этого достаточно выполнить программу и передать ей имя файла. Вот такой синтаксис:
$ jpegoptim опции имя_файла.jpeg
Рассмотрим опции утилиты:
-d — указать папку, в которую нужно сохранять готовые изображения;
-f — принудительная оптимизация;
-m — показатель качества, отменяет сжатие без потерь и устанавливает уровень качества от 0 до 100, чем больше, тем лучше;
-n — не выполнять реальную оптимизацию, а только показать результат;
-S — задать размер готового изображения, можно указать в процентах или килобайтах;
-o — заменить исходный файл;
-p — сохранить временные метки;
-P — сохранить права файла.
Оригинал статьи: https://tproger.ru/articles/speech-recoginition-in-the-browser/
Распознавание речи — одна из символизирующих современный мир возможностей, которой мы привыкли пользоваться благодаря Siri и Google Now.
Но она присутствует не только в мобильных ассистентах: вы замечали иконку микрофона справа от поля поиска Google?
Распознавание голоса в браузере доступно благодаря мощности нового экспериментального JavaScript API — webkitSpeechRecognition. Другое API под названием speechSynthesis позволяет озвучивать человеческим голосом любой текст. Читать далее «Распознавание голоса и чтение текста в браузере в 3 строки на JavaScript: демонстрация и примеры кода»
https://host-consult.ru/macos-sierra-virtualbox/
Для быстрой генерации БД 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'
...
По адресу http://vnext:3000 доступен сервис по просмотру ошибок в мобильных сервиса.
Логин: user
Пароль: user0
Приложение состоит из:
Читать далее «Приложение для просмотра ошибок в Мобильном обходчике»