prism

2018-03-06

Practical Go Benchmarks

msgpack 根本爆快

https://stackimpact.com/blog/practical-golang-benchmarks/

部落格網址更換

再一些時間後,Chrome 就會把沒有加密的網站都列為
不安全的網站了,目前 Blogger 轉址服務,不支援 https
所以只好先把,部落格的網址就是

新的 https://blog.lifetaiwan.net 要加 https 加密

舊的 https://terryhtp.blogspot.com


感謝,Blogger 這麼多年的穩定服務,最後我還是移到簡單的靜態網頁的方式

目前就是放在 GCP 給每一個帳號,美國地區,免費的 最小 instance 裡,我想應該是很夠用了

自己只是單純地寫寫筆記,應該是不會遇到什麼流量的問題才對

NativeScript Vue 1.0


原作者說大約發展了一年的時間,覺得可以
發布 1.0 的版本,讓有興趣的人用用看了

如果您原本有用 NativeScipt 或是 Vue 的人,絕對可以把玩了

https://nativescript-vue.org/en/docs/introduction/

這裡補一下,簡單的 NativeScript 及 Vue 的特點

NativeScript https://www.nativescript.org/

你可以這麼想,就是類似 React Native 的方式,在手機上開發,利用 javascript,或是可以轉譯成 js 的語言去開發原生
的手機應用程式,利用 NativeScript 的 runtime 和原生的手機服務介面溝通,已達到,原生程式的介面,或是行為

Vue.js https://vuejs.org/

一種漸進式的 js 框架,讓網頁應用程式,寫起來,比較接近 js 的寫法,範本的部分,也是接近,原本的 html
雖然也可以用轉譯成 jsx 的寫法,可以適用於,小到大的應用場景

簡單的說,就是比較不潮的 React,但是,簡單,直觀,是他最大的優點

golang crawler demo

最近有個面試的回家作業,做了一個簡單的爬蟲

單純只有爬一下,家樂福,還有大潤發的網站,一家是用 HTML 不斷的翻頁下去,爬完休息
另一家,直接找他的 json api ,直接抓 api 的結果就可以了

目前整個 code base 挑出來的毛病,或是說,用一個微小的專案,來看軟體開發這件事,需要具備的東西
也是一個不錯的自我成長方式,可以一步一步看,目前用 golang 來實作一些,像是後端服務的一些處理模式

會寫出來,主要是也許會對剛好有機會碰到,這些問題的人有幫助

code reference https://github.com/terryh/honestman

我先列一些一般來說用 golang 來寫一些像是 api 服務的問題,或是比較像是軟體的架構模式來討論

1) crawler (爬蟲) 的 go routine 模式

2) 要用 ORM 來抽象化 SQL 的操作好,還是不用 ORM 來操作

3) 你需要用 framework 嗎?

4) simple test case and benchmark ?


由於,這其實是一個可大可小的題目,但是,我還是來簡單說一下,目前,一般用 golang 做 web service ,或是給手遊用的
後端服務介面,或是手機應用程式的 api 介面,大概會用哪一些函式庫

如果,開發團隊人員不多,對整個 http/s 或是網路服務認識不多,會選,既有的框架
目前,比較受歡迎的有

https://github.com/gin-gonic/gin

https://github.com/astaxie/beego

https://github.com/labstack/echo

我個人比較推薦是相容於 golang http library http.HandlerFunc 的 framework

如果不要框架,選擇更多,但是,這種人必須比較專業,也要更了解要處理的問題,還有 golang standard library ,因為,要有能力可以判斷,
像大家建議的 COMPOSITION 方式 https://www.youtube.com/watch?v=194blNHDdd0

自己組建比較多,就是選用一個 http router dispacher
這個則是有很多的參考,或是選擇 https://github.com/julienschmidt/go-http-routing-benchmark

剩下的大概就是組建自己的服務了

需要 HTML, JSON render 的,或是需要驗證身份,或是希望引用 ORM 來達到和 DB 層的抽象化,這些每一種都一個選擇,伴
隨著也都是取捨的問題

未完待續,接下來,上面列出的點,會做作小筆記,也希望對需要的人有幫助 ;-)

2018-02-10

牧田 Makita 充電式吸塵器

一直對 Dyson 一台充電的吸塵器在台灣可以賣到兩萬塊,感覺不可思議

再怎麼說,他就是用吸力來完成任務,真的不覺得,這樣的東西,放大數十倍
它的功能,還就是要取代掃把,他們本質價值很低的呀

又不是真的改變了很了不起的事情,要完成清潔地板,這件事最高難度的事情,就是人類在做作呀

用你高度智慧的肉身手臂,可以深入任何角度 (好酸)

總之,我自己用這一支,大約用了一年了,真心覺得,非常好用,花得值得,可以吸乾淨,電池,可以直接換

充電吸塵器,不應該花到兩萬元

這裡推薦大家,買 Dyson 的兩萬元,應該這樣花用,買一隻 牧田 Makita 充電式吸塵器大約 3600 左右,再加個 4Ah 的電池,電量大約 30 坪可以吸兩次,剩下

錢,買 PS4 然後買喜歡的遊戲,再加會籍,這才對

哈哈

我的已經是舊機型了 Makita CL107FDSY



Ansible

更新,這一篇,是一段時間前寫的,居然發現,有沒發的文
現在小弟,也跳過 ansible 了,改用容器化的方案 (真不專情)

Ansible 簡單的系統部屬工具,是用 Python 撰寫的佈署工具,有點像是 puppet , chef , salt 的工具

主要原理,就是透過 ssh 的方式,算是非常單純簡單的方式,比起 puppet 或是 chef 來說


這一篇,我想筆記的是對 Google Cloud Engine 上面 VM 的佈署,安裝就用 python 的 pip 就可以了,因為對 GCE 的支援,是透過 libcloud 的套件做的
所以,你除了要安裝 ansible 外,也是裝 libcloud ,用 pip 的話,安裝像是這樣,看你的系統需不要加 sudo ,因為,我是在 Mac 上面,整個 /usr/local
都是我在用,所以我不用加,實際依自己的系統情形




pip install ansible apache-libcloud



設定 gce.ini
gce.ini https://github.com/ansible/ansible/blob/devel/plugins/inventory/gce.ini
gce.py https://github.com/ansible/ansible/blob/devel/plugins/inventory/gce.py



export GCE_INI_PATH=/pathto/gce.ini
export ANSIBLE_HOSTS=/pathto/gce.py 






請先手動建立,一個 VM ,我沒仔細深究,為什麼一定要有一台 VM

ansible all -m ping

這時候,應該要可以看到,你已經有的 GCE VM

ansible-playbook -v gce.yml



參考文章

https://doitintl.zendesk.com/hc/en-us/articles/202342715-How-to-install-Ansible

http://www.codedata.com.tw/social-coding/ansible-github/

2018-01-30

新加坡自由行


聖陶沙,魚尾獅

難得被老婆拖出門,不能在家裡當阿宅,要出門長知識

不去則已 一去驚人,我十多年前有去過一次,

新加坡真的都發展到外太空了,台灣真的要進步壓,時間不等人

這一篇是反省,各位讀者,就不要再叫我要看台灣的優點之類的,哈哈

我要開始介紹了,去新加坡前已經在網路上買好 M1 的 sim 卡,到了新加坡的機場,直接去 Cheers 商店領 4G sim 卡,五天 100G 算是很便宜

到了機場,跟台灣的桃園機場比,新加坡真的是國際機場,空間感大,設施新穎,高度挑高,光線優良,整個就大勝,過了這麼多年

我們的桃園機場,空間感,真的就只是一個密閉的封閉空間,沒有什麼設計,高度低,不大氣,空間走道狹小,細看一堆東西都是歷史的痕跡,連飯店的水準都沒有

大約有比殯儀館好一點(這句也許太酸了,但是真的需要反省)

到了新加坡,看你要用旅客用的 tourist pass (最多三天,不限距離,趟次,可搭捷運,還有市區公車),或是 ez-link 卡 (製卡費 SD 5元,其他的餘額都是可以用的,但是每次進站,餘額需大於 3.5 新幣)

錢不夠用,可在地鐵站旁,一般是刷卡片入口附近的機器儲值,每次最低 10 新幣,介面也有中文可以選

由於飯店在 Bencoolean road,由機場搭綠線,到 Expo 站, 藍線 Downtown 線已經通車了,由 Expo 轉藍線到 Bencoolean 站,一出站,和接下來的幾天,一個巨大的發現

原來路是真的可以鋪平的,在台灣鋪一輩子,也鋪不平,這個又輸了,看到人家公共工程效率的細節,真的不是大家玩,有錢大家撈,預算花光光的遊戲

難怪,政府清廉榜上有名,待個幾天,到處走跳,到處都像公園一樣,都市雖然擁擠,但是卻到處也是綠色的植物,穿插,不會讓人有很不舒服的感覺

不像台灣,住家旁有個公園,是一件不得了的事情,房仲的銷售資料,要特別寫上去,人家真的都市裡,到處都是綠地,不是一件稀有的事情,看的到這是整體的規劃

不是政府,或是政府圈地,在送給建商的利益結構,真是天差地遠

再說天氣,雖然現在的台北,比西雅圖的溫度大約多個 5 度,但是台北卻潮溼一點,新加坡,天氣,四季如夏,空氣也不錯,自來水可以直接喝 (我還是有煮過,不要笑我)

這時候,看看台灣,在整個天地之間,好像只有高雄能和他比,如果高雄能停止發展重工業的話,就是在人都死光的情形下出發去發展的話

新加坡
水及空氣 OK,公共建設已經具有整體規劃的水準和效率
下雨天氣少,氣候穩定
國際級機場
新加坡港國際級港口
新加坡河
目前和馬來西亞關係尚穩定,眼前無戰爭危險
南端有聖陶沙島
語言,英語,國語,印度語,馬來話

台北
水,空氣,在人都死光的情形下,應該只剩下大陸的影響
公共建設整體規劃,可能打掉重練也不見得做的到 (政官商利益糾葛)
天氣溫度,冬天潮溼一點,比新加坡冷了 10~14 度左右
沒有國際港口
腹地太小沒有國際機場,或是腹地不足以發展國際機場
淡水河,目前無人能整治成功
有中國,隨時準備文攻武嚇,隨中國經濟實力越強,有軍事失衡,戰爭之可能
只能去南部或出國玩了,好吧,陽明山應該算是吧,或是北市環山,離海遠,只能靠山了


高雄
水,空氣,目前差,在人都死光的情形下,應該是 OK
公共建設,目前腹地尚大 (大高雄和台北相比)
天氣溫度,比新加坡冷了大約 5~9 度,但下雨天數,比台北少多了
有國際港口
有小港國際機場,但應該還有腹地
愛河,算是有升級過了,應該還有空間
可以去墾丁,或是旗津,西子灣 (應該離風景區比較近)

看起來,高雄好好規劃,應該是最有機會的了,哈哈,要成為國際上的強國,真的英語能力很重要,新加坡,連阿公,阿嬤,大多也都會簡單的英文
要強大真的,第二官方語言,英語是一定要的,如果我們目標是國際化的強國

現在新加坡,老一代,或是有做觀光客生意的服務業,應該都至少會說中文,英文,但是年輕一代的新加坡人,不見得會說中文,英文會比較流利,畢竟
有印度人,馬來人,不全是華人,也有很大一部分的國際工作者,來自,西方國家,非常的多元

另一點就是,在新加坡,吃也沒有比台北貴呀,交通坐捷運也不貴,政府,公宅比例無敵高壓,人家薪水可是要比我們高出許多
可不要安慰,我們壓力比香港好,可以比好的,不要比那種生不如死的環境

台灣人要加油壓,政客,很多,他雖然離我們很遠,卻跟我們息息相關的壓,我們一點擺脫不了他們,我們自己要強大,政府機構也要有強大的效力,還有協作能力

要說缺點,或是族群的衝突也是有,但是就不再這一篇討論了

樟宜機場二航廈,室內小公園,有魚池


環球影城,變形金剛區


隨處可見公園


南洋藝術學院,我在對街的飯店前拍攝,學校和都市結合一致,不會像是台灣學校,弄的很像監獄,圍牆比高的