rails bigdecimal and postgres scale
從 icoinfo 和 otcbtc 上線以來一直被小數點精度問題搞到,原因是因為直接 `.to_d` 的設定和 rails ActiveRecord 的設定不一樣,導致一堆小 bug 假設我們 postgres decimal 欄位設 scale 為 18,那麼假設我要...
Ruby Array(params[:ids])
关于 Array(params[:ids] 这个用法,如果是 Array([1,2,3]) 会等同于 [1,2,3] 没变,但是 Array[nil] 会变成 [] 空数组,这可以让 .each 方法不会因为 nil.each 而爆错。如果不这样处理,在没有勾选任何 off...
原來 rails5 以後 ActiveRecord_Collection 可以接收 update 了
原來 rails5 以後 ActiveRecord_Collection 可以接收 update 了 ex: ```rb User.where(is_active: true).update(is_active: false) ``` https://blog.bi...
為什麼 ruby constant 要 freeze
因為 ruby 不會釋放 constant 的 memory,所以要 freeze,例如 ```rb class Test HELLO = "World".freeze end ``` 這樣就不會一直重複建立 memory,而只會建立一次 https://www....
rails csrf token
關於什麼是 CSRF: https://everyday1percent.blogspot.com/2017/12/csrf.html rails 主要就是這裡 ``` def csrf_meta_tags if protect_against_forgery? ...
JS 處理 number 和一些簡單的 helpers
這一陣子開發前端比較多,少了很多 rails 的 helper 可以用,光是要簡單的 floor 一個 number 到特定的 precision 就得自己寫 function 實作,實作時就還得考慮各種 edge case (WTF...),最後還是偷懶用了 lodash...
讓 VSCode 識別 .js 成 JavascriptReact jsx 這樣才可以 autocomplete
因為上網找好幾次了很煩,註記一下 在設定裡面加上 ``` { "files.associations": { "*.js": "javascriptreact" } } ``` 以 rails + webpacker 為例 ``` { "files.assoc...
git ignore globally
➜ ~ touch . gitignore_global ➜ ~ vim . gitignore_global ➜ ~ git config --global core.excludesfile '~/.gitignore_global' https://gis...
sass override bootstrap var
$grid-columns: 24; $grid-gutter-width: 30px; $body-bg: #ffffff; $brand-primary: #394a5c; $brand-success: #87c599; 類似這樣,可以輕易的把 grid...
deploy rails 前如何在 production 環境設好 redis
幾個重點 1. 安裝 redis 2. 根據官方建議做好設定 https://redis.io/topics/quickstart 3. 設防火牆 4. 確定sidekiq 是用你剛剛設定的 port 5. 確定 sidekiq 是用 redis https://gith...
bootstrap include grid
有時候會想要做到 include column 到自定義的 css class 裡面,可以這樣做: ``` @import "bootstrap"; .app { @include make-row(); div { border: solid 1px...
FactoryGirl 原來還可以在 factory 下面再用 factory
FactoryGirl 原來還可以在 factory 下面再用 factory 這樣就可以用 ``` create(:tiny_btc_account) ``` ``` FactoryGirl.define do factory :account do l...
PG::ConnectionBad: could not connect to server
今天遇到一個問題 我安裝 postgresapp 並執行了 server 但是 rails 找不到並噴了下面的 error: ``` ➜ rails db:create could not connect to server: No such file or dir...
如何解決安裝 sql 相關 gem 時常常遇到的 error: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
因為是用 Postgresapp 安裝的 postgres sql,所以常常 bundle install 的時候都會遇到 ``` Gem::Ext::BuildError: ERROR: Failed to build gem native extension. (0...
Disable 煩人的 zsh 更新檢查
``` vim ~/.zshrc ``` ``` DISABLE_AUTO_UPDATE="true" ``` before the source $ZSH/oh-my-zsh.sh reference: https://stackoverflow.com/qu...
quick start with rails new
筆記一下 rails 一個新的 project 的時候會用到的 commands 我喜歡用: 可以自選版本(side project 喜歡用心一點的版本) 想要選擇要不要 enable webpacker 用 postgresql 不要 unit test,改用 rsp...
開源到底要使用哪種授權?
由於常常用 Github 來放一些「反正也沒人會看,就公開給大家看吧也沒差」的「開源」專案來達到 ~~不想花錢買 Private Repo 但又想用 Github~~ 貢獻開源社區 的目的,但為了不要造成別人困擾,總是要加個 Licence 宣告一下版權,每次都是無腦使用 ...
拓撲排序 - Topological Sorting
上一篇講到 DAG 有向無環圖 - Directed Acyclic Graph 這篇來研究 拓撲排序 - Topological Sorting 這篇文章講得很清楚: https://songlee24.github.io/2015/05/07/topological...
DAG - 有向無環圖 - Directed Acyclic Graph
最近想要研究一下 IOTA 在幹嘛,看到有中文翻譯白皮書 : https://hackmd.io/c/rkpoORY4W/https%3A%2F%2Fhackmd.io%2Fs%2FryriSgvAW 裡面提到 DAG 有向無環圖 - Directed Acyclic G...
安全性相關 - CSRF
CSRF 跨站請求偽造,也被稱為 one-click attack 或者 session riding,通常縮寫為 CSRF 或者 XSRF 假設 User A 已經登入了 X 站,因為 A 的瀏覽器有存了 X 站相關的登入紀錄,當 A 進入 Y 站時,Y 站可以偷拿 A...
HTTP basic auth
HTTP Basic access authentication 簡單版: 加一個 Authorization 的 Header, 解釋版: https://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%...
網路安全相關 - JWT
JSON Web Token https://jwt.io/ 現在很流行用 JWT 當作 HTTP basic auth 的 token 通常會長這樣 ``` header["Authorization"] = "Bearer <YOUR_JWT>" ``` 什麼...
Bitfinex Margin 懶人做空範例
範例: 做空 IOTA 步驟 1. 2.92 (當時的價格) 買進 100 顆 2. 下一個 stop limit buy 在 3.199 時觸發用 3.22 買進確保最多虧 10% 左右 3. 下一個 limit buy 在 2.62 在賺 10% 時收割 如果是...
做空與做多的方式
最簡單的做空做多操作方式與解釋: ## 若認為會跌:做空 現在價格先賣出,然後開低價買進的單 若要停損就再開一個高價買進的單 ## 若認為會漲:做多 現在價格買進,然後開高價賣出的單 若要停損就再開一個低價賣出的單 交易所的 Margin 其實就是讓...
終於在工作中實際用到了紅黑樹 - 交易所配對引擎
首先了解紅黑樹跟一般的二分查找樹的區別可以看下面連結中的漫畫,清楚明瞭: https://mp.weixin.qq.com/s/0RKuO0Pk7R09wGzgyA43mw 簡單來講最大的差別在於 二分查找樹有可能會左右極度不平衡,造成查找時效率變慢 而紅黑樹有自平衡...