Time of Update: 2017-01-13
大部分 Ruby 程式,它們的設計,邏輯,動作,都是圍繞著對象進行的。寫一個 Ruby 程式,主要的工作就是去建立對象,然後給它們能力,讓它們可以去執行動作。Ruby 是 OOP
Time of Update: 2017-01-13
Ruby 的字面構造器Ruby 大部分的內建類可以使用 new 來執行個體化:str = String.newarr = Array.new有些類不能使用 new 來執行個體化,比如 Integer 類。有些內建類可以使用字面構造器,就是不需要使用 new ,可以使用一種特別的形式來建立類的執行個體。內建類的字面構造器String:使用引號, —— "new string",'new string'Symbol:冒號在前,——&
Time of Update: 2017-01-13
用 logstash 的人都知道在 http://grokdebug.herokuapp.com 上面調試 grok Regex。現在問題來了:翻牆技術哪家強? 頁面中用到了來自 google 網域名稱的 js 檔案,所以訪問經常性失敗。所以,在終端上通過命令列方式快速調試成了必需品。其實在 logstash 還在 1.1 的年代的時候,官方 wiki 上是有一批專門教大家怎麼通過 irb 互動式測試 grok 運算式的。但不知道為什麼後來 wiki 這頁沒了……
Time of Update: 2017-01-13
ruby HTTP Reponse的使用方法require 'net/http' h = Net::HTTP.new('www.google.com', 80) response = h.get('/index.html', nil) if response.message == "OK" puts response.body.scan(/<img src="(.*?)"/m).uniq endget
Time of Update: 2017-01-13
一 :網站及其部落格:1..http://ihower.tw/training/ ruby on rails學習網是一個交流學習ruby on rails知識的專業網站。2.http://www.javaeye.com/wiki/rails_weekly rails每周一題 3.http://www.5iror.com/
Time of Update: 2017-01-13
當下Ruby語言在程式員之間很是火熱,開源社區也是不斷的有新的Ruby應用。Thin 和 Sinatra 就是這百家爭鳴時代的佼佼者。不過新的事物總是有一個成熟期,就像任何升級都是有代價一樣。Sinatra和Thin配合起來,在一些情境下存在問題。筆者遇到的情況是這樣的。筆者的應用結構如下:Web Browser --> NodeJS --> Thin --> Sinatra問題就出現在 NodeJS --> Thin
Time of Update: 2017-01-18
準備階段的碎碎念在virtualbox安裝過程中由於這樣那樣的原因,產生許多坑。坑1、關於終端,一定要使用啟動器開啟安裝完虛擬機器,進入系統,我們便會遇到第一個坑,終端軟體,建議大家都使用啟動器開啟終端,千萬不要使用檔案管理工具,進入檔案夾,再右鍵“在終端中開啟”,這個時候,環境變數載入不上,尤其在非案頭檔案夾進入時。終端載入不上環境變數,大多的軟體都沒法在終端中執行。開啟終端時,一定要通過啟動器,所謂啟動器,就是在bantu中放在案頭左側的側邊欄,很像windows中的捷徑坑2、關於假設,大多
Time of Update: 2017-01-18
建立 Rails 項目建立一個普通的 Rails 項目,可以直接使用以下命令:rails new blog但在國內因為串連 RubyGems 的速度太慢,而 Rails 預設在構建完項目結構後,會使用 bundle 命令從 RubyGems 下載安裝依賴包。最後會因為網路問題而卡死。所以需要使用 --skip-bundle 參數跳過執行 bundle 這一步。然後使用國內的 Gems 鏡像源來完成後面依賴包的安裝。國內推薦的源是 Ruby China 提供的:
Time of Update: 2017-01-18
Ruby是一種解釋型、物件導向、動態類型的語言。Ruby採取的策略是在靈活性和運行時安全之間尋找平衡點。隨著Rails架構的出現,Ruby也在2006年前後一鳴驚人,同時也指引人們重新找回編程樂趣。儘管從執行速度上說,Ruby談不上有多高效,但它卻能讓程式員的編程效率大幅提高。本文將講述Ruby語言的基礎語言特性,包括基本的文法及代碼塊和類的定義。1. 基礎在Ruby互動命令列中輸入以下命令(>>為命令列提示符,=>為傳回值;下文將把=>符號和語句寫在一行內表明其傳回值)
Time of Update: 2017-01-18
不知道你有沒有把資料移轉寫入Migration檔案的經曆,相信無論是老鳥還是新手都這樣幹過吧。事實上,這樣做並不是行不通,只不過這樣的實踐慢慢會給你引入一些不必要的麻煩。一般認為db/migrate檔案夾裡的內容是關於你資料庫Schema的演變過程,每個新的開發或線上環境都要通過這些Migration來構建可用的資料庫。但如果這裡裝入了,負責細節的業務代碼,比如一些曆史遺留資料的遷移代碼之類的,當一段時間後,資料庫的結構變化了,但Migration沒有跟著變化,漸漸的曾經的輔助代碼,就成了垃圾代
Time of Update: 2017-01-18
在rails中,發送一個請求(/users)的處理全過程如下: 1)、瀏覽器發送請求(/users) 2)、Rails的 routes會把請求路由給users_controller的index方法 3)、users_controller回調用User Model擷取所有的user 4)、User Model會從資料庫中把所有的user讀取出來, 5)、User Model把從資料庫讀取出來的所有user封裝為List返回給user_controller
Time of Update: 2017-01-18
原始碼布局方面: 1、所有源檔案以UTF-8編碼 2、使用2個空格的縮排 3、使用Unix風格的分行符號(\n),windows(\r\n)。可使用git config --global core.autocrlf true 防止產生windows風格的分行符號。 4、在‘,',‘;'後,操作符(除指數操作之外),‘{',‘}'的前後增加空格,增加代碼的可讀性。 5、在‘(',‘)',‘[',‘]'符號後不要加空格。 6、Case和When處於同一代碼層次。 7、2個def之間使用一個空行隔開
Time of Update: 2017-01-18
猴子補丁(Monkey Patch)是一種特殊的編程技巧。Monkey patch 可以用來在運行時動態地修改(擴充)類或模組。我們可以通過添加 Monkey Patch 來修改不滿足自己需求的第三方庫,也可以添加 Monkey Patch 零時修改代碼中的錯誤。詞源Monkey patch 最早被稱作 Guerrilla patch,形容這種補丁像遊擊隊員一樣狡猾。後來因為發音相似,被稱為 Gorilla patch。因為大猩猩不夠可愛,後改稱為 Monkey patch。使用情境以我的理解,
Time of Update: 2017-01-18
開啟類和猴子補丁 在Ruby中,類定義的方法和其他的語句沒有任何區別,都是一行一行的執行下去的。如下例子:class Example def method_1 puts "method 1" end end class Example def method_2 puts "method 2" end end 本例中,當第一次定義Class
Time of Update: 2017-01-18
block是什嗎?在Ruby中,block並不罕見。官方對block的定義是“一段被包裹著的代碼”。當然,我覺得這樣的解釋不會讓你變的更明白。對block的一種更簡單的描述是“一個block就是一段儲存在一個變數中的代碼,它和其他的對象一樣,可以被隨時的運行”然後,咱們通過看一些代碼,之後再把這些代碼重構成Ruby中的block形式。通過代碼來實際的感受,更加直觀。比如,對兩個數做加法?puts 5 + 6# => 11嗯,這樣寫是可以的。但是,這樣的代碼只做到了block定義的前半部分—
Time of Update: 2017-01-18
1、什麼是代碼塊在Ruby中,{}或do...end之間的代碼是一個代碼塊。代碼塊只能出現在一個方法的後邊,它緊接在方法最後一個參數的同一行上,由yield關鍵字調用。例如:[1,2,3,4,5].each { |i| puts i }[1,2,3,4,5].each do |i| puts iend塊變數:以yield關鍵字調用block也可以傳遞參數,block中豎線(|)之間給出的參數名用於接收來自yield的參數。 豎線之間(如上例中的 | i
Time of Update: 2017-01-18
在一個檔案裡有很多以下內容:<p style="display:none">此題選D。............</p>而本人要實現的功能是將它替換成:<div style="display:none"
Time of Update: 2017-01-10
標籤:精通 基於 rails china net html lan linux系統 實戰 由於工作任務重,時間緊,沒有太多學習的時間,大致找了些線上學習資料,這裡做個整理,希望對同樣準備學習的朋
Time of Update: 2016-12-29
標籤:失敗 tab pap 分享 版本 開發 blog 卸載 情況 rvm是ruby的版本管理工具 還可對ruby進行 安裝 卸載 等 1、安裝 curl#
Time of Update: 2016-12-24
標籤:variable 代碼 訪問 抽象 ble style utc puts 執行個體變數 定義很簡單:執行個體變數@開頭,類變數@@開頭看了一些文章和書,目前瞭解到的(其實還是不太懂,先記著