顯示具有 ruby 標籤的文章。 顯示所有文章
顯示具有 ruby 標籤的文章。 顯示所有文章

2020年4月8日 星期三

ruby版本管理系統rbenv用法



  • rbenv install 2.5.0
  • rbenv global 2.5.0
  • ruby -v

更新版本

cd ~/.rbenv/plugins/ruby-build/ && git pull

列出版本

rbenv install --list   #列出可以安裝的版本
rbenv versions               
rbenv version    # 列出安装的版本

设置版本

rbenv global 1.9.3-p392      # 默认使用 1.9.3-p392
rbenv shell 1.9.3-p392


2020年3月23日 星期一

rails ruby簡訊認證 亂數創造方法+台灣手機正則表達

供二階段認證使用

Ruby亂數創造

rand(10..50) =>>產生10-50的整數亂數

  def random
    rand = rand(1000..9999)
    flash[:notice] = rand
  end

Ruby去除空格

.gsub(/\s+/, "") ==>刪除所有的空格
.gsub(/[^1234567890]/,"") ==>留下所有的數字+刪除所有空格

Ruby正則表達網站檢查

https://rubular.com/

台灣手機正則表達檢測

台灣手機號碼 /^09\d{2}-?\d{3}-?\d{3}$/
台灣手機號碼/^09\d{8}$/

要準備的model

devise Use
def User
   紀錄使用者的資料
   email
   password
   nickname
   phone
   active =>
end

def Message
    紀錄送出的訊息
    phone
    IP
    success? =>有發送成功嗎?
    timestamp
end

寄送OTP密碼簡訊

def send_msg
    進入前,檢查有沒有登入
    進入前,檢查發送IP有沒有超過限制(24小時內最多三通)
    進入時,檢查電話紀錄有沒有超過兩分鐘一通
    輸入時,檢查電話紀錄有沒有超過每日限制(24小時內最多三通)
    
    送出號碼
end

收簡訊並確認

def receive(code)
    檢查有沒有正確輸入檢查碼
    將手機紀錄在"已註冊手機"
end

更換手機號碼需要再檢查一次

def update_phone
    之前已經確認過得手機號碼,要換成新的手機號碼
    接收新的手機號碼
    
    檢查唯一性
    
end

PRIVATE

紀錄已發送的電話

def save_sended_phone
end

紀錄已發送IP

def save_sended_IP
end


cloud9上面開發rails

 使用IAM身分登入,以免有資安問題。(用admin帳號登入,創建iam使用者,然後在上面的連結登入) 選擇 ubuntu18.04 減少查詢成本。 已經是超級使用者了,sudo 什麼都不需要輸入密碼了。 $ ruby -v  檢查 ruby使用的版本>>2.6.3,...