plain_text 修改上次提交

修改最后一个git提交。删除不应该存在的文件。

gitReviseCommit
git reset --soft HEAD~1

git reset HEAD path/to/unwanted/file

git commit -c ORIG_HEAD

plain_text 删除删除

从Git中删除所有已删除的本地文件

remove
git ls-files --deleted -z | xargs -0 git rm

plain_text PhoneGap - 有用的Cordova CMD

对于修复问题和编译...

PhoneGap - Useful Cordova CMD
For Execute CMD : cordova prepare
With Succes Follow this :


//1 ) Fix telemetry Issue :
      *** CMD : cordova telemetry on
      
//2 ) Remove 'Platforms' Folder Inside PhoneGap Project
      *** CMD : cordova platform rm browser
      
//3 ) Add browser for test App on Navigator
    ***CMD : cordova platform add browser

//4 ) Run Browser 
    ***CMD : cordova run browser
    
//5 ) Run PREPARE cmd
    ***CMD : cordova prepare
    
********************* All issues should fix **************************    

plain_text PhpStorm中的部署和远程主机

DeploymentPhpStorm
1) https://www.youtube.com/watch?v=AHK20LWEWXQ
Добавляем сервер:

Tab Connection:

TYPE: SFTP
SFTP host: ip
Port: 22
Root path: путь к проекту

User name: имя
Password: пароль

Web server root URL: http://www.example.com

Tab Mappings:

Local path: путь к локальной директории, с которой будем синхронизироваться
Deployment path: пусто
Web path: /

plain_text Git cheatsheet

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

gitCheatsheet
Cheatsheet

Here is a reference list of the most commonly used git commands (you might consider bookmarking this handy webpage). Try to familiarise yourself with the commands and then eventually remember them:

Commands related to remote repository:
git clone https://github.com/user-name/repository-name.git
git push origin master
Commands related to workflow:
git add .
git commit -m "A message describing what you have done to make this snapshot different"
Commands related to checking status or log history
git status
git log
The git syntax works like this: program | action | destination.

For example:

git add . is read like git | add | .
git commit -m "message" is read like git | commit -m | "message"
git status is read like git | status | (no destination)

plain_text Firebird,Сборкадрайвера

2.txt
1. Сперва скачиваем архив самого сервера Firebird с официального сайта https://www.firebirdsql.org/en/firebird-2-5/
2. Распаковываем его ну например в D:/Firebird
3. Предположим что наш QT установлен в папку d:\Qt\5.9.2\ иустановлен вместе с исходнками
    Нам драйвер надособирать именно изисходников
4. Бывает такие что при сборке не хватает файла qtsqldrivers-config.pri на самом деле он есть но под другим именем
    Надо сделать копию файла Надо сделать копию файла 
    d:\Qt\5.9.2\5.9.2\Src\qtbase\src\plugins\sqldrivers\configure.pri 
    и переименовать эту копию в 
    d:\Qt\5.9.2\5.9.2\Src\qtbase\src\plugins\qtsqldrivers-config.pri
5. В QtCreator открываем проэкт  d:\Qt\5.9.2\5.9.2\Src\qtbase\src\plugins\sqldrivers\ibase\ibase.pro
6. Переделываем файл проэкта втакой вид: 
TARGET = qsqlibase

HEADERS += $$PWD/qsql_ibase_p.hSOURCES += $$PWD/qsql_ibase.cpp $$PWD/main.cpp# FIXME: ignores libfb (unix)/fbclient (win32) - but that's for the test anyway#QMAKE_USE += ibasewin32:INCLUDEPATH += d:\Firebird\includewin32:LIBS += -lfbclient_mswin32:LIBS += -Ld:\Firebird\libunix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *=-lgdswin32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {!win32-borland:LIBS *= -lgds32_mswin32-borland:LIBS += gds32.lib}OTHER_FILES += ibase.jsonPLUGIN_CLASS_NAME = QIBaseDriverPlugininclude(../qsqldriverbase.pri) 7. Теперь можно собирать. После успешной сборки следует не забыть что надо поместить файлы dll в папку d:\Qt\5.9.2\5.9.2\mingw53_32\plugins\sqldrivers\Все lib файлы в папку d:\Qt\5.9.2\5.9.2\mingw53_32\lib\Все *.a файлы в папку d:\Qt\5.9.2\5.9.2\mingw53_32\lib\  

plain_text LAMP安装Centos 7

LAMP安装Centos 7

lamp_centos7.md
Проверка установленных пакетов `rpm -qa` `rpm -qa > rpm.list` `rpm -qa --qf "%{NAME}\n"`

###@Пользователи
Создаст пользователя `sudo adduser username`
Создаст ему пароль `passwd username`
Получит привелегии sudo `sudo gpasswd -a username wheel`
Покажет пользователей с sudo `sudo lid -g wheel`
Удаляет пользователя `userdel username`
Вместе с домашним каталогом `userdel -r username`

> Сменить пароль : https://losst.ru/kak-smenit-parol-v-linux
> `openssl passwd -1 -salt xyz pass` // генерируем зашифрованный пароль pass
> Редактируем файл `sudo vi /etc/shadow`
> Видим список: user:password:... В поле password прописываем полученный выше шифрованный пароль
> `su user` - пробуем войти
Полезные команды:
`vi /etc/passwd` - список всех пользователей
`sed 's/:.*//' /etc/passwd` - кратко
`w` - активные пользователи
`last -a` - история входа
`lastlog` - дата последнего входа

##Установка MariaDB
####Добавление в репозиторий
Добавляем  `sudo vim /etc/yum.repos.d/MariaDB.repo`
```
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
```
> **Заметка:**
> - [Вот тут инструкция](https://mariadb.com/kb/en/mariadb/yum/)
> - [Генератор](https://downloads.mariadb.org/mariadb/repositories/#mirror=timeweb&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.2)

**Справка по vim:**
Переключить режим командный/редактирование `esc`
Сохранить файл `:w`
Выйти `:q`
Добавь восклицательный знак, чтобы сделать принудительно: `:q!`
Если файл в режиме чтения: `set noro`

Установка `sudo yum install MariaDB-server MariaDB-client` (приблизительно 700 Мб)
Запуск сервиса `sudo /etc/init.d/mysql start`
Защита БД `sudo mysql_secure_installation`

```
Enter current password for root (enter for none): press Enter
Set root password? Y
New password: xxxpassxxx
Re-enter new password: xxxpassxxx
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
```
Проверка установки: `yum list installed |grep maria`

Заменить cnf.ini файл по умолчанию в /etc/ для MariaDB `cd /usr/share/mysql`
Сделаем резервное копирование cnf.ini файла (если он есть): `sudo mv /etc/cnf.ini /etc/cnf.ini.bak`
Копируем предварительную конфигурацию: `sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini`
Перезапуск MaraiDB: `systemctl restart mariadb`
Проверяем статус: `systemctl status mariadb`
Можно добавить MariaBD в автозагрузку ОС: `systemctl enable mariadb`

>**Справка по systemctl**
`systemctl start name.service` – запуск сервиса.
`systemctl stop name.service` — остановка сервиса
`systemctl restart name.service` — перезапуск сервиса
`systemctl try-restart name.service` — перезапуск сервиса только, если он запущен
`systemctl reload name.service` — перезагрузка конфигурации сервиса
`systemctl status name.service` — проверка, запущен ли сервис с детальным выводом состояния сервиса
`systemctl is-active name.service` — проверка, запущен ли сервис с простым ответом: active или inactive
`systemctl list-units --type service --all` – отображение статуса всех сервисов
`systemctl enable name.service` – активирует сервис (позволяет стартовать во время запуска системы)
`systemctl disable name.service` – деактивирует сервис
`systemctl reenable name.service` – деактивирует сервис и сразу активирует его
`systemctl is–enabled name.service` – проверяет, активирован ли сервис
`systemctl list-unit-files --type service` – отображает все сервисы и проверяет, какие из них активированы

Создаем пользователя: `sudo mysql -uroot -p`
Дадим все права (чтение, редактирование, добавление, выполнение) ALL PRIVILEGES и возможность давать и удалять права другим пользователям GRAND OPTIONS: `GRANT ALL PRIVILEGES ON *.* TO 'genbo'@'%' IDENTIFIED BY 'xxxpassxxx' WITH GRANT OPTION;`

Выход из программы `exit`
Проверим какой порт прослушивает MariaDB с помощью команды SS: `ss -tnlp | grep 3306`

*Установка MariaDB  завершена*

##Установка nginx
Создаем repo `sudo vim /etc/yum.repos.d/nginx.repo`
Со следующим содержимым:
```
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
```
Взято [отсюда](https://nginx.ru/ru/linux_packages.html)
Выполняем установку `sudo yum install nginx`
Запуск: `sudo systemctl start nginx.service`
Получим адрес сервера (обычно совпадает с SSH): `ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'`
Перейдем в браузере по этому адресу и увидим:
```
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
```
>Альтернативный способ получения адреса заключается в использовании внешнего абонента. Для этого выполните: `curl http://icanhazip.com`

Добавьте ngnix в автозагрузку: `sudo systemctl enable nginx.service`

*Установка ngnix  завершена*

plain_text 使用ngrok将URL发送到设备

ngrok
ngrok http -host-header=rewrite localhost.clockhosting.com:PORT_NUMBER