ruby

A collection of 14 posts

ruby

ruby 撰寫上該注意的效能細節

ruby 提供非常多的函式,但同一種需求有不同寫法,往往我們都沒注意到效能細節,只知道要把功能寫出來。最近 github 上便有人針對類似功能的函式作些效能比較,在此針對特別或是速度差很多的地方作些個人筆記。原出處:https://github.com/JuanitoFatas/fast-ruby。 註:函式名稱會有標記哪種寫法較快,是 ruby 2.2.0 版本 多個變數的 assignment def fast _a, _b, _c, _d, _e, _f, _g, _h = 1, 2, 3, 4, 5, 6, 7, 8 nil

  • hothero
    hothero
ruby

Ruby's Exception vs StandardError: 有什麼不一樣?

參考源於此:http://blog.honeybadger.io/ruby-exception-vs-standarderror-whats-the-difference/ 「Never rescue Exception in Ruby」 或許你可曾聽過這句話,但若不知道 Exception 與 Standard Error 的差別還真是讓人摸不著頭緒。 通常我們會在 Ruby 這樣 rescue exceptions begin do_something() rescue => e puts e # e is an exception object containing info about the error. end 但在看到這張表後馬上明白為什麼不能這樣寫 Exception

  • hothero
    hothero
wordpress

Migrating from WordPress to Octopress With Trouble Solution Painlessly

O.S.: 欠超久的wordpress轉到octopress的筆記文章…從2013/1/1正式轉戰octopress一直欠到現在T_T 要說為什麼從wordpress轉戰octopress麻,大概幾個原因點: wordpress玩膩了,而且過於方便,沒有hacker的感覺 wordpress容易安裝套件導致網站速度變慢 octopress是由script產生靜態網頁,鐵定在速度上的使用者體驗很好 繼續跟ruby保持一定的聯繫 學習撰寫markdown 省去hosting blog的麻煩與花費 嘗試新事物 這篇文章將著重在如何無痛的將wordpress轉至octopress,至於ruby, octopress, git等等的安裝說明,網路上很多教學文章,就不詳加贅述,或可參考此篇文章:Hello Octopress! Mirgration有幾個必要check的項目 Post(若使用外國開發者寫的script需注意中文編碼問題) Page(同Post) Comments(若使用Disqus便沒問題) File/Images(下文會講解Octopress URI組成,便可無痛解決) Code Format(這需端看讀者們用的wordpress程式碼上色plugin來對下方的convertor

  • hothero
    hothero
ruby

Filezilla Server 新增大量使用者與在Windows上創建大量資料夾

Filezilla Server中並無設定可在某一directory下自動創立與登入使用者同名資料夾的功能,當然也無一口氣建立大量使用者的方式,故在此主要方式為:找出Filezilla Server儲存使用者相關設定的檔案位置、利用windows command line創建大量資料夾給這些使用者、寫一script產生大量使用者設定內容。 在Windows上創建大量資料夾 ``` for /L %a in (1 1 36) do mkdir team%a <ul> <li><span style="line-height: 22px;">/L: 代表後面的(1 1 36)並非一個list,而是指loop從1到36,每次間隔1。

  • hothero
    hothero
ruby

[Troubleshooting]incompatible character encodings: UTF-8 and ASCII-8BIT

最近把放在heroku上的rails專案,其上傳檔案paperclip的storage改至S3上,當一上傳中文檔名便會發生"incompatible character encodings: UTF-8 and ASCII-8BIT"這樣的編碼問題。若錯誤訊息是"... ASCII-8BIT and UTF-8",則解法1的編碼需改成UTF-8。 解法1(適用於筆者) 註:在處理上傳的params前加入這兩行,team為該model name,avatar為檔案上傳的名稱,可依照需求自行修改。 params[:team][:avatar].original_filename.force_encoding('ASCII-8BIT') params[:team][:avatar].headers.force_encoding('ASCII-8BIT') 解法2 針對config/

  • hothero
    hothero
ruby

Active Directory Users密碼過期問題與大量reset密碼 on Windows Server 2008 R2

Windows Server 2008 R2中的Active Directory Users新增時會預設42天後密碼自動失效,需要管理者重新reset密碼方能重新使用。在此分享幾個PowerShell指令獲取想要的資訊與利用cmd大量修改user屬性。 Powershell ### 取的所有密碼過期的users ``` get-aduser -filter {Enabled -eq $True} -properties passwordExpired | where {$_.passwordExpired} | Select DistinguishedName <h3><!--more-->取得所有"password never expires"屬性為false的users,並把結果輸出到C:\temp.txt此檔案(這是我需要的)。</h3> 註:此輸出的temp.txt檔為UCS-2編碼,

  • hothero
    hothero
ruby

warning: Insecure world writable dir

相信ruby的程式開發者或Mac使用者採用homebrew這套ruby撰寫的package manager(套件管理系統)都常常遇到這樣的問題"warning: Insecure world writable dir..."。例如: warning: Insecure world writable dir /usr/local/bin, mode 040777 warning: Insecure world writable dir /usr/local, mode 040777 這是程序沒有權限處理的問題,使用以下的指令修改即可 chown o-w 路徑(Path),例如:chown o-w /usr/local/bin 相關連結

  • hothero
    hothero