赫謙小便籤

用CoffeeScript實作Array#list

在寫專案的過程當中想要操作Array,可是在JavaScript中沒有[1, 2, 3].last()這種東西可以用,只好自己擴充啦~

1
2
Array::last = ->
  @[@.length - 1]

這樣就會回傳

1
2
3
Array.prototype.last = function(){
  return this[this.length - 1];
}

然後網路上的高見龍前輩在Slideshare的投影片 http://www.slideshare.net/aquarianboy/coffeescriptrubytuesday 中第160頁也有一些針對字串的擴充:

1
2
3
4
5
String::repeat = (n) -> Array(n + 1).join @
String::downcase = -> @toLowerCase()
String::upcase = -> @toUpperCase()
String::find = (str) -> @indexOf str
String::has = (str) -> (@indexOf str) > 0

其實蠻炫的XD

AppleScript for Numbers Example

剛好想到Excel等Office的套裝軟體都有VBA可以用,那Mac上的iWork呢?

嗯 … 是的,就是超威的AppleScript來處理啦~

底下是找到的Example:

其實真的蠻屌的 …

加上了Disqus留言系統囉

根據這篇在 Octopress 佈署出去前要注意的小地方中所提到的幾點我有一一在調整,除了404還沒弄好跟導覽列的部份以外其他都加上去了。

所以現在我的RSS URL是Feedburner提供的、網址也不會有日期、Disqus也掛上了(而且好簡單喔!)、清單項目的縮排也弄好了 … octopress真的超好用的>///<

RVM與cron

今天發生了一件事情,crontab設定的task不能正常的跑Ruby script,檢查一下原以為是Path的問題,不管怎樣設定Path都會沒辦法正常的load rubygems,後來找了一下後發現原來官方就有教學了 …

總之,把cron內加上rvm ruby的路徑就可以了

Ruby Load Path設定

1
2
3
4
#!/usr/bin/env ruby
#encoding: utf-8
$LOAD_PATH << '.'
require 'kdan_mobile'

以上

node.js寫TCP Socket Server

最近正苦惱著要怎樣加快API的回應速度,後來把腦筋動到一般的Socket上,打算直接寫個Socket Server負責回應API Request … 我看人家Whatsapp用Erlang搞定兩百二十萬條的連線數,但是我不會寫Erlang啊!

所以只好先把腦筋動到node.js上面,然後稍微Google了一下後便寫出了底下的東西 …

繼續閱讀 →

Rails打索引技巧

做專案學到的一個技巧 … 應該說,是很慘痛的學到一個技巧=_= …

我們都知道,Rails可以透過rails g migration blahblah來產生Migration file然後在裡面寫add_index來打索引,可是切記切記!!不要把索引寫在同一個表內 … 當資料量大,而且其中一個index打失敗你就會哭了 …

1
Mysql2::Error: Specified key was too long; max key length is 1000 bytes: CREATE  INDEX `index_products_on_url_identify_and_name` ON `products` (`url_identify`, `name`)

慘痛T_T

Middleman + Pow + Livereload + HAML

原本今天要教同事怎樣寫HAML & SCSS的,後來覺得HAML還要自己手動轉實在太麻煩,所以就講Middleman + guard-livereload了。

繼續閱讀 →

被Media Queries婊了一下

清明前一天,行銷同事告訴我某專案網站無法用IE 8開啟,到清明後一天才開始修正。一開始,找了老半天就是找不到任何錯誤,想說會不會是HTML 5的不支援問題導致的,可是開其他專案網站卻又都正常,後來發現到CSS中有用到Media Queries的部分,所以我拿掉之後IE 8就可以用了!

特此記錄一下TT”

Paperclip的default_url Style

用Paperclip的話一定會有用到特定尺寸的,可是當特定尺寸沒有上傳圖片的話要顯示特定尺寸的預設圖片該怎麼搞?

嗯,我現在有三種尺寸:large, medium, thumb,但我只要在default_url設定時加上:style就好,例如:

has_attached_file :image, {styles: {large: "", medium: "", thumb: ""}, default_url: "/path/to/missing/image/missing_:style.jpg"}

如此一來,如果medium沒有東西的話,它會自動帶出missing_medium.jpg來。