很不錯的文章,應該要來試試看
https://philna.sh/blog/2017/07/12/two-tests-you-should-run-against-your-ruby-project-now/
2017年7月15日 星期六
Rails 5.2 似乎要自帶上傳功能囉 (ActiveStorage)
http://afreshcup.com/home/2017/7/6/introduction-to-active-storage.html
https://github.com/rails/activestorage
什麼是 Token 幣
在 etherium 上發行 token 幣,在交易所交易 token 幣,token 幣基本上就是買未來幣的發票(ICO 在做的就是這件事),所以 token 幣主要是對照該幣(ico 機構)的市場價值
例:EOS 就是發行於 ETH 上的 token,或說是智能合約,讓你可以用 ETH 買 EOS
http://btsabc.org/article-972-1.html
https://www.ptt.cc/bbs/DigiCurrency/M.1498097273.A.69D.html
https://kknews.cc/tech/xm4xzx8.html
https://theethereum.wiki/w/index.php/ERC20_Token_Standard
Proxy server & Reverse proxy server
Proxy server 代理伺服器
http://linux.vbird.org/linux_server/0420squid.php
就是代理人的概念,把封包打到代理伺服器,讓代理伺服器去跟網路上的其他伺服器拿資料
資訊流動的方向是
自己的電腦 -> 代理伺服器 -> 網路上的伺服器 -> 代理伺服器 -> 自己的電腦
Reverse Proxy server 反向代理伺服器
就是上述流程反過來,把自己想像成是別人想造訪的 server 就會比較好理解
別人的電腦 -> 反向代理伺服器 -> 自己的電腦(其實就是伺服器) -> 反向代理伺服器 -> 別人的電腦
http://blog.csdn.net/afeionepiece/article/details/45170941
http://www.arthurtoday.com/2010/01/reverse-proxy-server.html
http://www.iigrowing.cn/proxy-server-ji-reverse-proxy-server-de-guan-xi.html
Rails 的 schema.rb file 的用處
https://stackoverflow.com/questions/9884429/rails-what-does-schema-rb-do
簡單來說:
1. production 環境 schema.rb 正不正確都沒差,但錯誤很容易會造成其他 developers 的困擾,而且送 commit 會被逼著改到 schema.rb 的 file
2. test 環境會爆,因為 rake db:test:prepare 的時候會 run rake db:schema:dump
http://www.tutorialspoint.com/ruby-on-rails/rails-and-rake.htm
簡單來說:
1. production 環境 schema.rb 正不正確都沒差,但錯誤很容易會造成其他 developers 的困擾,而且送 commit 會被逼著改到 schema.rb 的 file
2. test 環境會爆,因為 rake db:test:prepare 的時候會 run rake db:schema:dump
http://www.tutorialspoint.com/ruby-on-rails/rails-and-rake.htm
2017年7月7日 星期五
智能合約 Escrow
Escrow 這個詞是從美國房地產來的,意思是公正的第三方幫忙抵押貸款,確保交易可以正確進行
現在運用在虛擬貨幣交易上是一樣的道理,因為雙方交易時會有誰先付錢的問題,所以可以使用智能合約當做第三方中立機構(escrow)來增加可信度。
智能合約做的事情就是簡單的確認雙方都匯款後才把錢交換轉到雙方的戶頭
網路上的一個實作:
https://github.com/dymnz/Escrow/blob/master/escrow.sol
大概是這個概念
至於什麼是智能合約,改天再打吧
Google Authenticator 的實作原理
簡單來說就是使用密鑰+時間的加密方式,加密細節可以參考下方網站
https://www.zhihu.com/question/20462696
http://www.csdn.net/article/2014-09-23/2821808-Google-Authenticator
使用上來說就是網站先幫使用者產生隨機密鑰,使用者用 Google Authenticator 輸入密鑰後用現在的時間算出一個加密過後的一串很長的 16 進位數,利用這個 16 進位數來雙重認證。
Google Authenticator 本身多做的兩件事情是
1. 使用 30 秒為一個區間加密
2. 將加密出來的 16 進位數再算成六位數的十進位數字讓使用者比較容易輸入
也就是說如果網站開發者要實作 google authenticator 的二階段認證的話就必須
1. 將六位數字換算回 16 進位數字
2. 根據 30 秒為一個區間解密使用者輸入的數字,而不是使用當下時間點
ruby 上的實作:
https://github.com/mdp/rotp
訂閱:
文章 (Atom)