Находим соответствующие файлы и меняем в них значения:
\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
Приложение состоит из:
Читать далее «Приложение для просмотра ошибок в Мобильном обходчике»