2020年6月27日

使用GoogleDrive同步VSCode的snippets

VSCode的snippet位置
%USERPROFILE%\AppData\Romaing\Code\User\snippets\


進入snippet目錄
cd %USERPROFILE%\AppData\Romaing\Code\User

先將原本的snippets目錄改名
rename snippets snippets.old

再建立snippet的目錄連結
mklink /D "snippets" "D:\GoogleDrive\sync\vscode\snippets"

2019年8月5日

Debian 9 Install PHP 5.6 Debian9安裝php5.6筆記


apt-get --assume-yes install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
apt-get update
apt-get --assume-yes install php5.6 php5.6-mysql


apt-get --assume-yes install apache2
apt-get --assume-yes install mysql-server

2019年6月27日

wget 錯誤:ERROR: The certificate of `url' is not trusted. 處理方式


使用wget抓檔時 如果是https,有時會出現如下錯誤:

ERROR: The certificate of `url' is not trusted.
ERROR: The certificate of `url' hasn't got a known issuer.

解決方式如下:
1.
#apt-get install ca-certificates

2.
#wget --no-check-certificate https://download/url


2019年5月14日

Sublime Text 3 在不同電腦間同步設定 使用Dropbox


MAC
假設Dropbox目錄在 ~/Dropbox/
建目錄 ~/Dropbox/sync/SublimeText/

到Sublime目錄
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/

把User目錄整個搬到~/Dropbox/sync/SublimeText/
mv User ~/Dropbox/sync/SublimeText/

建連結
ln -s ~/Dropbox/sync/SubilmeText/User


Windows
cd C:\Users\USERNAME\AppData\Roaming\Sublime Text 3\Packages
mklink /D "User" "\Dropbox\sync\SublimeText\User"

2019年4月13日

ASP.NET 連接Mysql 語法記錄


string ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["MysqlConnectionString"].ToString();
string sql = "";

MySqlConnection conn = new MySqlConnection(ConnString);
MySqlCommand cmd = new MySqlCommand();
MySqlDataAdapter da = new MySqlDataAdapter();

cmd.Connection = conn;

sql = "INSERT INTO table (var1,var2) VALUES (@v1,@v2);SELECT LAST_INSERT_ID()";
cmd.CommandText = sql;

da.SelectCommand = cmd;
da.SelectCommand.Parameters.AddWithValue("@v1", 1);
da.SelectCommand.Parameters.AddWithValue("@v2", "AA");

DataTable dt = new DataTable();
da.Fill(dt);

last_insert_id = dt.Rows[0][0].ToString();

2019年1月5日

CSS Flex 筆記

主軸,次軸

啟用: 父層設定 display:flex

justify-content: flex-start , center , flex-end
justify-content: space-around , space-between

資料流 橫:左到右  直:上到下

align-items(單行子物件) align-content(多行子物件)
align-items: flex-start , center , flex-end , stretch

flex-wrap:wrap;(換行) nowrap/wrap/wrap-reverse
flex-direction:row; //( row/column/row-reverse/column-reverse )
整合flex-direction,flex-wrap
flex-flow:row wrap;

align-self: flex-start;

延展比:flex-grow //剩下來的空間做分配
收縮比:flex-shrink //
基本比:flex-basis //控制主軸方向的長度

2019年1月3日

XAMPP MAC 更換Documentroot

mkdir /Users/vega/xampp

/Applications/XAMPP/etc/httpd.conf

DocumentRoot "/Users/vega/xampp"

...

/Applications/XAMPP/etc/extra/http-ssl.conf
DocumentRoot "/Users/vega/xampp/"


2018年11月9日

Javascript 強制轉換至https網址


if (location.protocol != 'https:'){
location.replace( 'https:' + window.location.href.substring(window.location.protocol.length) );
}

2018年11月1日

Grocery_crud CKEditor 客製化功能選單

Grocerycrud CKEditor客製化功能選單,留下常用的功能選單

/assets/grocery_crud/js/jquery_plusins/config/jquery.ckeditor.config.js
$(function(){
$( 'textarea.texteditor' ).ckeditor({toolbar:'MyBasic'});
$( 'textarea.mini-texteditor' ).ckeditor({toolbar:'MyBasic',width:700});
});

/assets/grocery_crud/texteditor/config.js
CKEDITOR.editorConfig = function( config )
{
CKEDITOR.config.toolbar_MyBasic =
[
[ 'Source','ShowBlocks','Maximize','Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo','Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat'],
'/',
['Image','Table','HorizontalRule','Link','Unlink','Anchor'],
'/',
['Styles','Format','Font','FontSize','TextColor','BGColor' ]
];
};

2018年9月20日

css ellipsis 當字數過多時,顯示...

當字數過多時,顯示...

.ellipsis {
overflow:hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

2017年12月29日

Synology設定備忘

synouser --setpw root

PHP CURL 設定筆記

PHP CURL 設定筆記

GET

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://somewhere/?var=val");
//curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接輸出
$result = curl_exec($ch);
curl_close($ch);


POST

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://somewhere/");
curl_setopt($ch, CURL_POST, true);
curl_setopt($ch, CURL_POSTFIELDS, http_build_query( array() ) );
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接輸出
$result = curl_exec($ch);
curl_close($ch);

2017年10月5日

Debian Fail2Ban 安裝設定筆記

安裝
apt-get install fail2ban

設定檔
/etc/fail2ban/fail2ban.conf

check
logtarget = /var/log/fail2ban.log

cp jail.conf jail.local
修改jail.local內容就好, 原始檔不動
jail.local設定會覆蓋jail.conf

注意事項
ignoreip = 127.0.0.1/8 192.168.1.0/24 (空白區隔)
bantime = 600(秒)
maxretry = 10 (失敗幾次封鎖)

增加dovecot

[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps
filter = dovecot
logpath = /var/log/dovecot (看實際 log檔放哪)
maxretry  = 10

/etc/fail2ban/filter.d/dovecot.conf
[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed).*rip=(?P\S*),.*
ignoreregex =

/etc/fail2ban/filter.d/sasl.conf
failregex = (?i): warning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+/ ]*={0,2})?$
=========
測規則
Example1
fail2ban-regex /var/log/dovecot /etc/fail2ban/filter.d/dovecot.conf

Example2
fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

Example3
fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/sasl.conf

2017年9月4日

Git stash指令記錄


儲存stash(僅追蹤中已修改)
git stash

儲存stash(包含未追蹤)
git stash -u

顯示已存的stash
git stash list

讀取stash
git stash apply

讀取stash (指定stash)
git stash apply stash@{1}

取出stash(原本stash會刪除)
git stash pop

刪除stash
git stash drop

刪除stash (指定stash)
git stash drop stash@{1}

清除stash
git stash clear

2017年6月6日

Git 使用情境 記錄


*建立branch
$git branch NewBranch

*切換branch
$git checkout TargetBranch
$git co TargetBranch

*假設目前有二個branch叫做master與bugfix
*為了方便理解 我會在提示字元前面加上目前的branch名稱,例如:
master$ 代表目前在master 這個branch下
bugfix$ 代表目前在bugfix 這個branch下


*Merge
將一個branch的內容合併到另一支branch
EX:把bugfix的修改內容,合併到master
master$ git merge bugfix

*Rebase
將一個branch 基於另一支branch 合併起來
EX:把bugfix的修改內容,合併到master 這個branch之下
bugfix$ git rebase master


*取消上一次的操作
$ git reset --hard ORIG_HEAD

*取消已暫存的檔案
  不小心用add加入了stage
  $ git add filename
  使用指令取消
  $ git reset HEAD filename

*取消修改過的檔案(回復到本來的內容)
$ git checkout -- filename

*取消目前為止修改過的檔案
$ git checkout .

*merge中發生confict,想放棄merge,要取消merge
$ git reset --hard 可取消這次的merge

*取消這次的merge回到merge前的狀態
$ git reset --hard ORIG_HEAD
取消最近一次成功的merge以及所有在這次merge後的修改

*忽略chmod的修改(chmod造成的檔案修改)
git config core.filemode false
有時檔案會因為chmod的關係會讓git認為檔案已修改,造成無法順利pull


MYSQL on MAC 設定筆記


/usr/local/mysql/my.cnf

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

MySQL5.0.2版本中的The Server SQL Mode 中新加了幾種 sql_mode,並且在sql的my.ini文件中的sql-mode 默認增加了其中的二種,一個是STRICT_TRANS_TABLES,就是導致auto_increament失敗的mode,這個sql_mode主要用于 當一個值不能插入到表中是,則産生一個錯誤而不是一個警告並終止會話。

#有時太小會導致寫入失敗,預設值好像才1M
max_allowed_packet = 20M

2016年10月21日

Sublime Text 3 安裝設定



1.安裝Package Control: Ctrl + ` 貼上此網站提供的連結

2.安裝ConvertToUTF8

3.安裝Emmet

4.安裝SublimeCodeIntel

2016年3月25日

Postfix main.cf 設定檔記錄


 message_size_limit = 30720000
bounce_queue_lifetime = 1d
maximal_queue_lifetime = 2d
queue_run_delay = 10s

#20220105 update
minimal_backoff_time = 10s
maximal_backoff_time = 15s

#寄出時間
maximal_queue_lifetime = 1d
#退信時間
bounce_queue_lifetime = 1d

Synology DS414j 安裝設定備忘 (Tomcat7+Javabridge)


1.先安裝JavaManager套件

Java Manager可協助安裝java
要去下載像是這樣的檔案jdk-7u60-linux-arm-vfp-hflt.tar.gz 再上傳,它就會幫你把java安裝起來
2.安裝tomcat7
安裝時設定一個目錄名稱 取名為tomcat7
此目錄 /tomcat7 相當於一般tomcat的/webapps
將想要部署的filename.war放在這, 會自動部署產生對應之/filename目錄,之後war檔就不需要了
2.1相關設定檔放在 /var/packages/Tomcat7/target/src/conf

2.2如要加額外的jar檔,把檔案複製到這(記得chmod 644)

/var/packages/Tomcat7/target/src/lib

2.安裝MariaDB+phpMyAdmin

Synology DS214Play 安裝設定備忘 (Tomcat7+Javabridge)


1.先安裝JavaManager套件

Java Manager可協助安裝java
要去下載像是這樣的檔案jdk-7u60-linux-i586.tar.gz 再上傳,它就會幫你把java安裝起來
2.安裝tomcat7
安裝時設定一個目錄名稱 取名為tomcat7
此目錄 /tomcat7 相當於一般tomcat的/webapps
將想要部署的JavaBridge.war放在這, 會自動部署產生對應之/JavaBridge目錄,之後war檔就不需要了。

2.1相關設定檔放在 /var/packages/Tomcat7/target/src/conf

2.2如要加額外的jar檔(JavaBridge.jar, php-servlet.jar and php-script.jar)
把檔案複製到這
/var/packages/Tomcat7/target/src/lib (記得chmod 644)

2.3 預設port7070 修改為 8080
/volume1/@appstore/Tomcat7/src/conf/server.xml


3.安裝MariaDB+phpMyAdmin

重啟DB
/usr/syno/bin/synopkg restart MariaDB

/etc/mysql/my.cnf
[mysqld]
skip-name-resolve

max_allowed_packet = 256M


SSLCertificateFile    /etc/ssl/certs/www.tkcenter.com.crt
SSLCertificateKeyFile /etc/ssl/private/www.tkcenter.com.key




export PS1='\h:\w\$ '
export PS1='\[\033[1;31m\]\u@\h:\w\$\033[0m\] '
umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
 export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
 alias ls='ls $LS_OPTIONS'
 alias ll='ls $LS_OPTIONS -l'
 alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

 alias h='cd ~;ll'
 alias u='cd ..'

 alias aptg='apt-get install'
 alias aptr='apt-get remove'
 alias aptu='apt-get update'
 alias aptc='apt-get clean'
 alias apts='apt-cache search'

 alias n='netstat -ntl'
 alias df='df -BMB'