自由學習的風

幽夢影 張潮 少年讀書,如隙中窺月;中年讀書,如庭中望月;老年讀書,如臺上玩月。皆以閱歷之淺深,為所得之淺深耳。

[轉貼] YAML -- 想要愛你很容易

2019年10月6日 星期日

yaml 文件格式似乎也逐漸走入我的日常工作裡,還是需要瞭解一下好讓工作更順利!
-----------------------------------------------------------

轉貼連結: YAML -- 想要愛你很容易

重點截錄:

YAML 的定義是:“YAML Ain ’ t a Markup Language”,即:YAML 不是一種標記語言的遞歸縮寫。
YAML 的數據組織主要依靠的是空白,縮進,分行等結構。











[編輯器] sublimetext 無法安裝 plugin 的解決辦法

2019年9月7日 星期六

程式人總會有自己習慣的文字編輯器,sublimetext,這一陣子在我的 deepin linux 上執行後都無法安裝 plugin,今天終於有時間來找找問題。
原因在於連線時的 ssl 已經過時,導致每次連線都會被拒絕,解決辦法就是開啟
Preferences / Package Settings / Package Control / Settings - User
並加入下列的設定,關掉再重新執行 sublimetext,就可以正常安裝了。
"downloader_precedence":
{
"linux":
[
"curl",
"urllib",
"wget"
],
"osx":
[
"curl",
"urllib"
],
"windows":
[
"wininet"
]
},

有趣的 0 byte 字元

2019年8月8日 星期四

自 ascii 編碼開始,就有很多 unreadable 字元,例如:\n、\r、 \t  \b…用來表示不同的作用;不過,unicode 編碼有一個字元編碼範圍更有趣,它是 「不存在」的存在 -- zero byte (0 byte),有網友分享了一個短網址的服務,看起來一模一樣的短網址,卻會連線至不同的網頁,還蠻有趣的應用,不過,對大部分的人來說,短網址是為了減少網址太長造成輸入錯誤時減少字元的記憶,如果完全看不到也無法輸入的短網址,似乎更適合一些特殊場合或用途。
因為覺得有趣,就順便記錄下來,免得只剩下「一個轉身」的記憶把它遺忘了。
https://zws.im/​​​‌​‌​​​​​‌‌​/ 
https://zws.im/​​​‌​‌​​​​​‌​‌/

參考文章及網址:


網友文章出處:

清除MySQL 的 bin log

2019年6月15日 星期六

參考:迷失露的迷失 - MySQL 的 bin log 太多如何清除?
-------------------------------------------------------------------

千萬不要這麼做
# rm -rf mysql-bin.000001  (X, 錯誤做法)

你應該由 mysql 去控制/刪除這些檔
刪除單一檔的指令是 : PURGE BINARY LOGS TO 'mysql-bin.000001’;

刪除 7 天前的檔案指令是:PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 7 DAY) + INTERVAL 0 SECOND;

自動刪除7天前的 log,那麼請在你的 my.cnf 加入 expire-logs-days=7

沒有replication,建議可以取消 log-bin
#log-bin=mysql-bin 




轉:DOCKER – HOW TO CONNECT TO A MYSQL RUNNING CONTAINER


轉貼自 LITTLETECHBLOGGER
---------------------------------
1. What we want to achieve:
We used the official mysql image from Docker Hub (https://hub.docker.com/_/mysql/), and created a running database container.
Now we need to connect to the MySQL database using MySQL command line client, to do some database operation.

2. Solution1:
Bash into the running container and run MySQL client.
2.1 Bash into the running MySQL container:
$ docker exec -t -i <container_name> /bin/bash
2.2 Run MySQL client:
$ mysql -u “<useranme>” -p

3. Solution2:
Use MySQl Command Line Client.
In the official guide, it states:
The following command starts another mysql container instance and runs the mysql command line client against your original mysql container, allowing you to execute SQL statements against your database instance:
$ docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
The variables here are really confusing.  Here is a more readable version of this command:
$ docker run -it --link <container_name>:<image_name> --rm <image_name> sh -c 'exec mysql -h"<container_ip_address>" -P"<mysql_port_number>" -u"<mysql_username>" -p"<mysql_password>"'
Now, lets use an example to explain how to find all the variables.

3.1 Get container_name, image_name, mysql_port_number:
$ docker ps
1
We can get:
container_name: romuiweb_db_1
image_name: mysql
container_port_number: 3306

3.2 Get container_ip_address:
$ docker inspect –format ‘{{ .NetworkSettings.IPAddress }}’ <container_id>
1

3.3 Get mysql_username, mysql_password:
When we start the mysql image, we set environment variables to decide the username and password.
username is default to root.
password is set by MYSQL_ROOT_PASSWORD, and we can find it in docker-compose.yml file:
1
So we can get:
mysql_username: root,
mysql_password: password.

3.4 Create the real command:
Now we have all the values of the variables. We can construct the real command:
$ docker run -it –link romuiweb_db_1:mysql –rm mysql sh -c ‘exec mysql -h”172.17.0.2″ -P”3306″ -u”root” -p”password”‘

3.5 Run the command, gain access to MySQL:
1

If it works, skip the following problem solving part.

3.6 Problem Solving:
(In this problem, we are not using romuiweb_db_1 we used earlier. We switch to docker_db_1. The Ip Address is different now)
docker: Error reponse from daemon: Cannot link to <container_name>, as it does not belong to the default work.
$ docker run -it –link docker_db_1:mysql –rm mysql sh -c ‘exec mysql -h”172.20.0.3″ -P”3306″ -u”root” -p”password”‘
1
This means that we are not running the mysql connect container on the same network the mysql container is currently running on. We need to connect it to the same network use –net option. Reference: https://docs.docker.com/engine/userguide/containers/networkingcontainers/
Step1: Find out which network mysql container is running on:
$ docker inspect docker_db_1
Find the “Networks”:
1
As we can see from the screenshot above, the network docker_db_1 is running on is “docker_default”. We need to connect to this network. So we change out command to this:
$ docker run -it –net=docker_default –link docker_db_1:mysql –rm mysql sh -c ‘exec mysql -h”172.20.0.3″ -P”3306″ -u”root” -p”password”‘
After adding the network argument, we successfully connected:
1

[Git] 在命令提示字元視窗下,中文亂碼的解決方式

2019年6月7日 星期五

解決當前使用的視窗中文亂碼的設定方式:
git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
set LESSCHARSET=utf-8

永久正常顯示中文的方式,只要把最後一列的環境變數加到Windows 的系統環境變數即可。