2018年1月24日 星期三

[docker] Unknown instruction: ARG

docker Unknown instruction: ARG
Unknown instruction: ARG
docker Unknown instruction: ARG
寫 Dockerfile 後, 準備佈署到 Jenkins CI/CD 。在 docker build 時,發生了 docker Unknown instruction: ARG 。原來是,Jenkins 上的 docker 版本問題,把使用 ARG的地方改用 ENV
ARG VERSION=0.0.1
ENV VERSION=0.0.1
至於 ARG 與 ENV 的差異,就是在docker build 的時候,可以從參數帶入值嗎
$ docker build --build-arg VERSION=0.0.2 .

2018年1月15日 星期一

[linux] Nginx logrotate 設置


設置完 Nginx 的 access log 後,
接著使用 logrotate 設置 log 的壓縮

在 vim /etc/logrotate.d/nginx

  /data/logs/*log {
daily rotate 10 missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid 2>/dev/null) 2>/dev/null || : endscript }
daily 表示每天做 logrotate
rotate 10 只保留 rotate 10 份
missingok 當 log file 不存在時,還是繼續執行。
notifempty 當 log 為空時,不 rotate
compress 壓縮 使用gzip
sharedscripts 表示當所有log都rotate 完,以後再執行這個 script。
postrotate 中 kill -USR1 的目的是使重新 reopen nginx log file 。

The master process can handle the following signals:
TERM, INTQuick shutdown
QUITGraceful shutdown
KILLHalts a stubborn process
HUP
Configuration reload
Start the new worker processes with a new configuration
Gracefully shutdown the old worker processes
USR1Reopen the log files
USR2Upgrade Executable on the fly
WINCHGracefully shutdown the worker processes
kill -USR1 参数详解 - 阅心笔记 https://www.52os.net/articles/kill-USR1-meanning.html

如果,想要馬上執行看看呢
logrotate -f /etc/logrotate.d/ngnix

然後就可以
cat cat /var/lib/logrotate.status | grep "/data/logs/" 看看有沒有執行的紀錄。

2018年1月8日 星期一

[ubuntu] 怎麼使用 imagemagick 的 convert 快速改變圖片大小 resize image

怎麼快速改變圖片大小 resize image

可以使用 imagemagick 來改變圖片的大小。


sudo apt-get install imagemagick


安裝完,就可以使用指令列 convert 來改變圖片的大小與格式


$convert example.png -resize 200x100 example.png

2018年1月7日 星期日

[電影] 盜數計時 ( Stolen )

LiTV 本週的免費電影
這部已經看過的電影。
導演賽門威斯特(Simon West)與尼可拉斯凱吉(Nicolas Cage) 睽違15年再次攜手合作動作鉅片《盜數計時》(Stolen) 。(他們繼空中監獄後的合作)

情節緊張刺激,沒有冷場。
威爾為了救自己的女兒,重操舊業。
一連串的追尋過程。


盜數計時》(英語:Stolen)是一部2012年美國動作驚悚片,為西蒙·威斯特執導,由尼可拉斯·凱吉主演。於2012年9月14日在美國上映。

一群神通廣大的竊匪,在一次行動中竊得了一千萬美元,但行蹤卻被路人發覺,其中一名匪徒文森(喬什·盧卡斯飾)意圖殺害目擊証人,但被首領威爾(尼可拉斯·凱吉飾)勸阻,兩人開始爭執、扭打,文森的手槍走火,傷了自己的腿。威爾乘機制伏文森,把他送上汽車,自己隻身回去取那一千萬美元,被聯邦調查局FBI)幹員們發現了蹤跡,同夥霍特(M·C·蓋尼飾)竟然不顧道義,開車揚長而去,害得威爾被捕,入獄八年。
威爾出獄打算金盆洗手,但是因當年槍傷被截肢的文森,卻不願就此甘休,殘障的他偽裝為計程車司機,擄走了威爾的女兒愛麗森(莎曼·蓋兒飾),要求威爾在十二個鐘頭之內交出那一千萬元。誰知當年威爾為了脫罪,早已把那一千萬美元鈔票焚毀了,威爾根本無錢可交,只好在紐奧良懺悔節慶典上飛車追逐文森,想要以行動救回愛女,卻仍是讓文森逃脫。
但愛女生死未卜的威爾,不得已,只好在瑞麗(瑪琳·艾科曼飾)的幫助下,竊取聯邦政府聯準會放在銀行保險箱的黃金金條,來換回女兒性命......

[電影] 惡戰


這是寫馬永貞的改編故事,
劇情非常簡單,可是沒有覺得冷場的時候。
不時有人物的情感掙扎。

袁和平的功夫指導,是很不錯的一部動作片。
對於朋友情感,透過簡單的幾募描寫,卻很深刻,惺惺相惜的義氣。
對於感情,雖然描繪不多可是可以直接的推演。

王晶的編劇,加上最後的一句,有些人不打不行阿阿阿。


惡戰
2014 年 ‧ 戲劇/奇幻電影 ‧ 1 小時 37 分鐘
導演 :
黃精甫
演員 :
伍允龍, 安志傑, 胡然, 毛俊傑, 洪金寶, 蔣璐霞, 陳觀泰, 袁祥仁, 馮克安
片長 :
1小時35分
級別 :
IIB 級
語言 :
粵語
上映 :
16.1.2014 (公映)

故事簡介

二十世紀初,各地勞動人口紛紛湧入高速發展之上海。 山東青年馬永貞(伍允龍 飾)亦到上海當碼頭工人。 當時上海各幫派荼毒社會,其中較有正義感之龍七(安志杰 飾) 賞識馬永貞膽識過人、武技非凡。 二人惺惺相惜,成為好友。

龍七反對販毒及向日軍賣力,與斧頭幫三大犯罪頭子白癩痢(陳觀泰 飾)、笑面佛(袁祥仁 飾)、仇老四(馮克安 飾)為敵,馬永貞與他聯手反毒,令三人懷恨於心。 

馬永貞與江湖賣藝的鐵師父(洪金寶 飾)及其兩個女兒鐵梅(蔣璐霞 飾)、鐵菊(胡然 飾)成為鄰居。馬永貞被鐵菊的硬朗性格所吸引,而鐵菊亦佩服馬永貞的正義感,對他漸漸產生好感。龍七則迷戀上歌女盛香君(毛俊杰 飾),沒想到日後竟因此而身陷險境。

斧頭幫因不滿龍七的囂張跋扈,與日本間諜橋本密謀除掉他,龍七慘遭暗算。 馬永貞的鄰居亦遭受襲擊,馬永貞趕至時已屍橫遍野,垂死的鐵師傅告知鐵菊被斧頭幫擄走。 極度悲痛的馬永貞為救鐵菊,單人匹馬闖入斧頭幫老巢,決定用雙手消滅國家的敵人、社會的敗類,為民除害!

惡戰 - Yahoo 電影 https://movie.yahoo-leisure.hk/movie/details/22428

惡戰(Once Upon A Time In Shanghai)觀後感:懷舊武打片 in《有誌戲》blog http://kazuohk.blogspot.tw/2014/01/once-upon-time-in-shanghai.html

[電影] 原諒他77次


電影情節很觸動人心,
兩個人在一起,總會有很多原生的經驗,跟很多互相的包容與妥協,有時候,不需要問對錯,只是要知道,能夠接受嗎。




當下,摩擦的爭吵,在事後,都會是一段回憶。
回首的時候,才會知道,原來這個人已經包容你這麼多了。

片子藉著回顧,那寫滿了七十七次的事件,來回顧主人翁的感情。
情節很寫實,尤其是針鋒相對的那些時候,兩人有愛過,有吵過。

藉由這部電影來反思自己,也是不錯的。


原諒他77次》(英語:77 Heartbreaks)是邱禮濤執導的愛情電影,李敏擔任編劇。根據李敏的同名小說《原諒他77次》改編。電影由周柏豪蔡卓妍領銜主演,並與鍾欣潼鄭希怡衛詩雅J.Arie盧巧音等人合演。亦是蔡卓妍繼《雛妓》後再次與導演和編劇合作,2016年8月於香港開機拍攝。[3][4]老闆楊受成出資拍攝。該片入圍第十二屆大阪亞洲電影節蔡卓妍繼《雛妓》後再次入圍。[5] 香港本地於第41屆香港國際電影節期間(4月12日)在香港文化中心首映,6月15日正式公映。2017年7月7日於台灣上映。
同在法律界工作的Eva (阿Sa飾) 與Adam (周柏豪 飾) 拍拖十年多,卻因一件小事突然分手。
莫名被分手的Adam酒後與傾慕自己的學生Mandy (衛詩雅 飾) 發生了關係。可隨後Mandy卻在Adam家中意外發現了一本Eva所寫的77次心碎記錄,閱讀筆記,仿佛穿越時光。五年前,Eva得到了一本名叫《77 Heartbreaks》的記事簿,是讓情人們寫下他們的心碎經歷。當本子寫滿的時候,就是記事簿主人該分手的時候。記事簿裡Eva一次次的被傷害紀錄歷歷在目⋯⋯
Adam發現《77 Heartbreaks》的存在後,愧疚不已,更發現自己根本無法忘記Eva,終鼓起勇氣在眾目睽睽之前向Eva道歉。愛終歸不是一條公式,當Adam跪在Eva面前時,Eva的心還是溶化了⋯⋯
二人重新開始,豈料,Eva卻在Adam家中發現了屬於Mandy的物品⋯⋯到底她可否原諒Adam第78次呢?女人,要心碎多少次才懂得真‧分手?[6]
原諒他77次 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E5%8E%9F%E8%AB%92%E4%BB%9677%E6%AC%A1

2018年1月5日 星期五

[linux] /usr/bin/ld: cannot find -lopencv_imgcodecs 解決

編譯程式的時候出現
/usr/bin/ld: cannot find -lopencv_imgcodecs

$ make
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -lpthread -lX11 -ljpeg -lpng -DDLIB_JPEG_SUPPORT -DDLIB_PNG_SUPPORT -c dnn_mmod_dog_hipsterizer_2.cpp
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -lpthread -lX11 -ljpeg -lpng -DDLIB_JPEG_SUPPORT -DDLIB_PNG_SUPPORT data.grpc.pb.o data.pb.o dnn_mmod_dog_hipsterizer_2.o -L/usr/local/lib -L/lib/x86_64-linux-gnu `pkg-config --libs grpc++ grpc` -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -lprotobuf -lpthread -ldl -lssl -ldlib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -o server
/usr/bin/ld: cannot find -lopencv_imgcodecs
collect2: error: ld returned 1 exit status
makefile:12: recipe for target 'server' failed
make: *** [server] Error 1

原來是 opencv_imgcodecs 是在 opencv 3.0+ 才有提供

安裝完 opencv 3.0+ 就可以編譯了。
參考 Ubuntu上安裝 OpenCV
http://peichengnote.blogspot.com/2018/01/ubuntu-build-and-install-opencv-on.html





ref
problem.. /usr/bin/ld: cannot find -lopencv_imgcodecs · Issue #4942 · BVLC/caffe https://github.com/BVLC/caffe/issues/4942

[ubuntu] build and install opencv on ubuntu Ubuntu 怎麼安裝 OpenCV


build and install opencv on ubuntu在 Ubuntu 怎麼安裝 OpenCV  
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cmake ..
make all -j$(nproc)
sudo make install

2018年1月4日 星期四

[ubuntu][linux] jpeglib.h: No such file or directory 解決方法


jpeglib.h: No such file or directory
ubuntu 中,編譯程式出現 jpeglib.h: No such file or directory少裝了 libjpeg header ,可以使用:

sudo apt-get install libjpeg-dev

2018年1月3日 星期三

[日幣匯率] 2018 日幣匯率 外幣提款機 兩年來最低 20180103


日幣匯率來到兩年來最低,
如果不想上銀行,使用外幣提款機方便然後又有比較好的匯率。
以兆豐銀行外幣提款機為例
結匯的價格是 現金賣出與即期賣出 除以二





台幣大升2角 日圓換匯再創逾2年新低 換5萬差近3千 https://today.line.me/TW/pc/article/qmoJX2 
今日2018年首個交易日,在新台幣早盤大升逾2角之下,台銀日圓現鈔賣出價早盤一度觸0.2655元, 即新台幣1元可換到3.7665日圓現鈔, 也刷新上周五的盤中低價0.2656元, 再創2015年8月20日以來新低價,當時盤中曾來到0.2631元。
 若與近期日圓換匯高點去年9月8日盤中曾來到0.2811元相較,
近4個月日圓兌新台幣更貶值了5.55%,以換新台幣5萬元來說,
現在可以換到18萬8324日圓現鈔,但當時只能換到17萬7873日圓現鈔,
 差了1萬0451日圓、相當於新台幣2775元。

[blog] 2017 年文章發文數回顧

每年都會回顧一下自己部落格的發文數,
2017 年 67篇
▼  2017 (67)


發文數慢慢的銳減了,
一方面是沒有固定的沉思時間,
一方面是,很多時候勞累到沒有精神回顧與書寫,很多時候這麼過了。

遊記方面,
應該是在旅途前就有對應的文件與資料,旅途中的雜記,然後,回來後的回顧。

技術文章方面,
雖然很多很快速的查找,但是,還是可以抽出點時間順手整理。

希望,這年度的產出能夠網上提昇。
雖然,有作者說,作家的隱私是自己放棄的,因為,他們選擇透過文字,來跟大家說點事情,我的雜記,不也是這樣嗎?








[linux] g++ -lssl error:"collect2: ld returned 1 exit status" Solve


ubuntu 中使用 g++ 編譯程式出現
g++ -lssl error:"collect2: ld returned 1 exit status"

$ sudo apt-cache search libssl
[sudo] password for peicheng:
libssl-dev - Secure Sockets Layer toolkit - development files
libssl-doc - Secure Sockets Layer toolkit - development documentation
libssl1.0.0 - Secure Sockets Layer toolkit - shared libraries
libssl1.0.0-dbg - Secure Sockets Layer toolkit - debug information
cl-plus-ssl - Common Lisp interface to OpenSSL
dcmtk - OFFIS DICOM toolkit command line utilities
dlang-openssl - D version of the C headers for openssl
libdcmtk-dev - OFFIS DICOM toolkit development libraries and headers
libdcmtk5 - OFFIS DICOM toolkit runtime libraries
libssl-ocaml - OCaml bindings for OpenSSL (runtime)
libssl-ocaml-dev - OCaml bindings for OpenSSL
libsslcommon2 - enterprise messaging system - common SSL libraries
libsslcommon2-dev - enterprise messaging system - common SSL development files

$ sudo apt-get install libssl1.0.0 libssl-dev -y