Recent Posts

在 OSX 環境中測試 etc/hosts 是否成功修改

less than 1 minute read

前言 透過修改 etc/hosts 讓我們不需要透過 DNS 也能模擬網域名稱連線到伺服器。 可是設定是否成功?這時候我們可以用一些測試工具來檢測之。 OSX環境下 OSX 內建 dscacheutil 工具,可以用來檢測網址名稱對應 ip 的結果。 使用方法 dscacheutil -q host -a...

Ruby - 讓 irb 更好用

less than 1 minute read

前言 在使用pry的時候我們可以回到上一個輸入的指令,擁有記錄指令歷史的功能。其實irb也可以! 開始修改 修改~/.irbrc require 'irb/ext/save-history' IRB.conf[:SAVE_HISTORY] = 200 IRB.conf[:HISTORY_FILE] = "...

Ruby metaprogramming - Open Class and Refine

less than 1 minute read

簡介 Open Class 是 Ruby 常用的技巧,指的是我們可以覆寫已經存在的方法,來修改物件或類別的行為。 在這邊我沒有要講詳細的作法,要介紹的是在 Ruby 2.0 中新增的 refine Refine Refine 是 ruby 2.0 之後加入的元素。 會使用 Refine 的原因是使用一般 O...

Elasticsearch 筆記

1 minute read

前言 最近工作上使用的資料庫主要以 Elasticsearch 為主。而 Elasticsearch 跟傳統的關聯式資料庫有諸多的不同之處。初期在開發的時候並不是那麼快的上手。所以記錄下該如何使用 Elasticsearch 與如何在官方文件中找到自己需要的功能。 1. 準備工作 1.1 你需要知道的名詞 ...

Ruby metaprogramming - Method Lookup

less than 1 minute read

介紹 ruby metaprogramming 這本書除了教如何用 ruby 來生成其他的程式語言外,對語言特性的描述是比較深入的。因此在研讀這本書的同時,記錄下一些我覺得重要的部份。這些筆記不會依照章節的順序性。而是隨機記錄我需要的部分。 Method Lookup 即 Ruby 物件中查找方法的順序。從 ...

Ruby - 爬網頁時遇到的編碼錯亂問題

less than 1 minute read

問題描述 編碼問題是寫爬蟲常會遇到的問題。當你沒有處理好編碼問題,爬回來的網頁無法進行字串的切割,也無法使用 nokogiri 抽離需要的部份。 解決方法 找到原始網頁的編碼chartset='big' 把網頁 force_encoding 至原始格式 將網頁轉換成 utf-8,這是 ruby...

Ruby - 利用 ARGV 特性執行指定的方法

less than 1 minute read

情境 我想手動執行 class 的某個方法。這邊的例子是當我想移動的時候,我可以選擇走路、跑步或是游泳。 方法一: 在 irb 中引入 Ruby 檔 class Move def self.walking puts "walking" end def self.running ...

Ruby 爬蟲小技巧 - 處理 Html Entity

less than 1 minute read

這是一個在工作上遇到的小問題。 把網頁爬回來的時候有 HTML Entity 的編碼,看起來很不美觀。 舉例來說,爬回來的標題如果含有 HTML Entity 會是這個樣子: PURUS空氣清淨器(鴻海集團創星出品) 如果我想要使用資料建立自己資料庫的時候勢必要對 html ...

ActiveRecord - 更新大量資料

1 minute read

前言 本文使用的兩種方法,實際上都是用一個 sql 插入或更新所有的資料。 原因是使用其他的方法都沒有使用一個sql插入快。 如果插入的筆數過多,需要調整 sql buffer 的大小。 本例子的情景是一次更新100筆資料,資料量不大,所以不會遇到這個問題。 方法一:純 SQL 因為欄位很多,我要傳送...

Linux - 如何查詢 OS 版本

less than 1 minute read

要接手 Server 第一件事情就是要了解 server 的環境啦。 這邊要記錄的是如何判別 Linux 系統類別的方式 1. 確認 Kernel 版本 使用 uname -or 可以取得 kernel 的版本 $ uname -or => 3.10.0-327.el7.x86_64 GNU/Linu...

Rails: 使用 Whenever 產生 Cronjob

1 minute read

Part 1 - Crontab 介紹 Crontab 是 Linux 中用來管理例行事務的程式,而 whenever 實際上的作用就是用來產生 cronjob 的,所以先介紹一下 Linux 系統中的 crontab 如何操作。 crontab 指令 比較常用指令的有以下幾項: crontab -l 顯...

在 Atom 設定 .god 對應至 Ruby Syntax

less than 1 minute read

簡介 God God 是以 Ruby 撰寫而成,但不僅限於使用於執行 Ruby 檔,常見的用途是維持程式的運行使程式不中斷,萬一中斷可以自動重啟。不過本篇的重點不在於 God 的使用方法,而是在 Atom 編輯器中於如何讓.god可以對應到 .rb 的語法高亮。 這邊就是設定的方法,打開 config.cso...

JS - 確認 jQuery 是否正確載入

less than 1 minute read

使用情境 有時候你不能確定環境是否已經載入 jQuery,所以你也不能使用 jQuery.ready()。 例如:你想要在別人的網頁上執行一段 javascript 程式碼。 這時候你就可以用本篇筆記記錄的方法等待 jQuery 載入後再執行自己的程式碼。 程式碼: //如果沒有載入的話,會再執行一次直到...

jQuery vs Ruby - 取得倒數的元素並組成字串

less than 1 minute read

摘要 本篇利用把陣列轉成字串這個題目,探討 jquery 和 ruby 中,map 和 join 行為的差異。 1. 在 jQuery 中可以用類似 Ruby 的方式取得尾部的倒數第幾個元素。 $('span[itemprop=title]').eq(-2) 對照 ruby 語法 arr=[1,2,3...