Tweets 整理 (2018 Q1)

2018/3

2018/2

2018/1

  • 2018-01-21 14:01 “Awesome Ruby” t.co/LQyXkdEZjJ # 比第一次看到時又擴充了不少,有在持續更新! Awesome!
  • 2018-01-20 19:58 “Parcel 极速零配置Web应用打包工具” t.co/rn1Q1o9Ndb # webpack 的新競爭對手!
  • 2018-01-09 21:19 @robertlyc ruby 1.8.7 (2010-04-19 patchlevel 253) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2010.02 喔!
  • 2018-01-09 20:29 終於把手上最後一個 Ruby 1.8.7 項目給除役啦! ???
  • 2018-01-02 01:06 Watching: AlphaGo 世紀對決 # Netflix 有 AlphaGo 的紀錄片了,比看新聞評論看的更感動,深刻感受到李世石的背水一戰的極限,還有電腦科學家改變世界的驕傲,推薦一看!… t.co/650yYE0eiy

Tweets 整理 (2017 Q4)

2017/12

2017/11

2017/10

  • 2017-10-30 23:18 在P網註冊兩個月後,終於通過 Verification 惹,有夠久 #bitcoin
  • 2017-10-30 21:41 換新 MacBook Pro 2017 Touch Bar 啦 t.co/uaTzxEBZf7
  • 2017-10-23 14:27 “Chrome to force .dev domains to HTTPS via preloaded HSTS” t.co/WU4sdLokzV # 原來 .dev 網域早就是 google 擁有的,現在要被加進 HSTS 清單裡惹。以後本機開發最好不要用啦
  • 2017-10-23 14:26 fly: Application Delivery Network t.co/15HfJRuRJT # 類似 cloudflare 的服務,今年三月才開張的。看起來還不錯,雖然一樣是沒有台灣節點,應該是連到日本去了 :>

出清電腦書 (2017)

技術書籍出清,有興趣的來信 [email protected] 或從蝦皮賣場下單。

Scrum

其他

R 語言

R 皆已售出

Scala 語言

Scala 皆已售出

Nginx + SSL + HTTP/2 + Rails 在 Mac 本機開發設定

有一陣子 Rails 在本機開發流行 Pow,但是因為缺少維護問題多多,我個人是不太愛用。平常我也沒有需要一直開新專案,一個案子都做很久啊,所以偏好自己在 Mac 上安裝 Nginx 做 reverse-proxy 導流,而且還可以把 HTTP/2 打開加快靜態檔案下載速度,有 HTTPS 也才能測試一切正常,現在網站都全面上 SSL 加密連線了。

以下示範如何將 https://ihower.localhost 導流進 localhost:3001。請把 ihower 換成你要的名稱。

1. 編輯 /etc/hosts

sudo vi /etc/hosts 加上

127.0.0.1       ihower.localhost

2. 產生自簽的 SSL key

以下指令參考自 https://localhost 這篇文章

mkdir ~/.ssl

openssl req -newkey rsa:2048 -x509 -nodes -keyout ~/.ssl/ihower.key -new -out ~/.ssl/ihower.crt -subj /CN=ihower.localhost -reqexts SAN -extensions SAN -config <(cat /System/Library/OpenSSL/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:ihower.localhost')) -sha256 -days 3650

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/.ssl/ihower.crt

這樣會產生 ihower.localhost 的 SSL key 放在 ~/.ssl/ 下,並且把這個 key 加入 Mac 的信任名單

3. 安裝和設定 Nginx

brew install nginx

編輯 /usr/local/etc/nginx/nginx.conf,新增一段:

server {
  listen 80;
  server_name ihower.localhost;
  root /Users/ihower/projects/ihower/public; # 你的 Rails 項目的 public 目錄

  listen 443 ssl http2; 
  ssl_certificate /Users/ihower/.ssl/ihower.crt;
  ssl_certificate_key /Users/ihower/.ssl/ihower.key;

  location / {
    proxy_pass http://localhost:3001;
    proxy_set_header  Host $host;
    proxy_set_header X-Forwarded-Host 'ihower.localhost';
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

重啟 Nginx

sudo brew services stop nginx
sudo brew services start nginx

4. 啟動 Rails 在 Port 3001

rails s -p 3001

當然,你用其他的 application server 例如 Node.js 跑在 Port 3001 都可以的

打開瀏覽器就前往 https://ihower.localhost 就有 SSL 又有 HTTP/2 啦。

MacBook Pro 2017 安裝軟體

用 Mac 十年啦,本來在用的 MBP Late 2012 本想再戰的,無奈硬體故障 Wi-Fi: No hardware installed + Bluetooth not available + 右邊整排 SD卡插槽、HDMI + USB 沒反應,有點慘啊,先買了一個外接 USB 網卡繼續用,但最杯具的是 App Store 無法登入更新,然後有些從 App Store 安裝的軟體就無法使用了,試了各種黑金塔招數(據說是要求 en0 必須是內建網卡)仍無法突破…. orz

於是只好認命入手新 MacBook Pro 2017 Touch Bar 了,拿到機器時還是預裝 Sierra,先升級 High Sierra。使用兩天的心得:

  • Touch Bar 有趣但沒用。本來有考慮買沒有 touch bar 的版本,但是看了比較 之後發現差別不只 Touch Bar 啊
  • 鍵盤是蠻不習慣,比 Apple 自己新出的藍芽外接鍵盤鍵程還短
  • 外殼的 Apple 沒燈了,讓我不確定蓋起來成功休眠了沒
  • 原本擔心的 USB-C 轉接器,買了 小米 USB-C 至 Mini DisplayPort
    多功能转接器
    小米 USB-C至HDMI多功能转接器 就解決了,聽說千萬不要買 Apple 自己出的 HDMI 轉接器超貴der
  • USB-C 真的會影響 Wi-fi 2.4GHz 啊,幾乎完全不能用會掉封包,一定要接有線網路…
  • 我算是淺度 Vim 使用者,這個 ESC 觸感很慘啊…… 如果深度用戶應該會想死…
  • 插頭沒有 MagSafe 接頭了…. 充電器的捲線設計也沒有了…. 可惜…

真的是很多小缺點,但是要升級 CPU、RAM、硬碟是硬需求啊,還是只能買新 MBP。

回到主題,這一篇趁重裝紀錄一下安裝了哪些 Apps:

閱讀全文〈MacBook Pro 2017 安裝軟體〉

A brief introduction to Machine Learning 投影片

這是我在今年 RubyConf China 2017 演講的投影片,錄影官方也釋出了在 Youtube。這場分享總結了這兩年業餘接觸機器學習的一些知識點和心得,希望能在 Ruby 圈推廣一下資料科學和機器領域,以及主流的 Python 工具鍊。同一天另一場還有一場關於機器學習的 姜鹏 – 金数据是如何鉴黄的 也講的非常好,介紹一個真實的應用案例,也推薦大家一看。

老實說,就像做 Web 用 Rails 很棒,做數據分析和機器學習,就是要用 Python 這套方案。這不代表整套 production code 都要從 Ruby 換成 Python ,就像 Apple 做機器學習的 Core ML 也是用 Python 方案作數據分析和機器學習訓練,在得到模型和參數後,實際運作的 production code 當然還是用 Apple 自家的 Swift 語言來進行預測。

另外,我覺得為什麼 Ruby 圈老是去黑 Python 呢?(的確,如果眼界只在做 Web 的話,我以前也是覺得學了 Ruby 就用不到 Python 了),我認為就培養個人技能來說,應該挑互補的,而不是挑做一樣的事。Python 可以做 A.I. 可以做數據分析,Ruby 有很好的 OO 物件導向設計,做應用程式非常適合,是可以互補的。反而例如去學 Elixir 跟用 Ruby 一樣是做 Web 開發,對個人的技能發展我認為是重疊的。