javascript MVP 框架,小是特點,有 jquery 版,及非 jquery 版
原始碼當然是挑短看,看他的手路怎麼樣
https://github.com/moot/riotjs/blob/master/jquery.riot.js
基本的架構,就是架構在 javascript 的 event 上面
就在用了 $.observable( 你的MODEL Object 包上jQuery的 event) // 就是 on one trigger off
很多東西,都可以自己刻,將自己定義的 model binding event name,然後,再主要的應用程式邏輯裡
去對應處理前端的反應,及呈現,看起來,就是直接切入原本熟悉用 jQuery 的前端工程師,不用一下子跳太遠,
有時間可以來實作一下,比較能感受
Martini
Martini Demo from Martini on Vimeo.
在 http://golang.tw/ 上面的分享看到
https://github.com/codegangsta/martini 這寫的太漂亮了吧
和 express.js 有異曲同工之趣,強烈建議,要賞 code 一下,初步,還有很多 middleware 需要有,不過,畢竟他這一個專案,非常的年輕,已經不錯了
順便來一杯
PS: 未成年請勿飲酒,喝酒不開車,開車不喝酒
New service notwait.net
這是自己作的小玩具,https://notwait.net
基本上個人希望,未來可以滿足像是 KKTIX ,或是像是 定便當
的服務,或是可以預約看牙,預約看診,有作類似診所的燈號的功能,可以即時告知,到幾號了,當然這個通知,是
即時的,簡單的 pub/sub 實作,用 webscoket , long poll 的判斷我還沒寫
目前還沒有開放
距離獻醜版,應該快了
基於 release early release often 的原則,就先放個連結
網站上面的英文說明,寫的像是來亂的 ;-)
心中的商業模式,大概就是移除廣告,及客製頁面的功能收費,手機版,還沒決定要刻原生的還是 html5
目前也還缺很多東西,不過就邊做邊玩
有用到的東西,前些時候 Full Stack 有稍微說一下,目前 ssl
是用免費的 startssl 正式開始會換成商業型
PS: 跪求意見,有人想加入這個很蝦,但是應該很有趣的團隊嗎?
目前 TODO list 還很長
大概像是
File upload
Markdown editor
GPS 定位報到
Qrcode 報到
票務(目前覺得付款這一項很有爭議,手續費也高的不像話,看看有沒有更好的辦法,可以互信易用的)
報到率信用統計
座位表的易用應用,我自己也沒想好必要性
Android App
iOS App
行銷推廣專長的人
…..
點點點,就是邊做邊看,再修正,
沒有人合作,我就自己來,不過我和大家一樣,一天就是 24 小時,要吃飯,要睡覺
目前我會用到的 tool set,大概,後端系統,當然就是 Linux
node.js, javascript, Golang, Python, mongodb, MySQL, nginx, memcached, eleasticsearch,
User Interface, Marketing,
Java, Object C 免不了,現在 Mobile first,沒有人會放棄這一塊, 目前要用原生的還是做 html5 沒有決定,
基本上,以上都不熟也沒關係,至少你有一個熟的就可以,不管是 PHP,Ruby,還是 Perl 也都沒有關係,或是有真男人的執著
非 PostgreSQL 的 persistence store 不用,也沒關係,相信能把事情完成,做好,做漂亮更重要,
(我自已也為了MongoDB 還是 PostgreSQL json store 加上 plv8 想了好一會)
目前可以用兼差方式,勞務交換,畢竟一切都是看實際的營運,我自己也算是兼差 ;-)
我付現,或是合作一段時間,有興趣,各種條件都可以談,右邊有我的 email 歡迎來信
不限性別,年齡,種族,學歷,反正就是什麼都可以談
讓強者更強
辦公室開箱
馬總統和害死洪仲丘的人都一樣
最近的政治惡鬥,看了真替在這一片土地上生長的大家憂心
馬先生說王先生關說,要王院長死的樣子,好像和先前軍中長官的樣子一樣
厚,被我抓到帶 MP3 player 手機,給你死
政府機關發包的案子,哪一個,不是大包轉中包,中包轉小包,大大小小的事情,關說,根本快是生活
的一部分了,華人,總是喜歡,拉關係,拜託啦,幫忙,幫忙,我也覺得,每次到選舉得時候,大大
小小的政客,都握著我的手,跟我說,拜託拜託,應該拿一張合約書出來,請他簽名,說的到要做得到
不然就是詐欺
還關說勒,我想說你們哪一個不是
騙子
看到政客沒有一個有辦法說到做到,我才替你們感到恥辱
PS: 看到這種惡鬥,我們國家該怎麼走?我們能做什麼?
How to organize your express.js project
這是一個,一直就想寫的筆記了
在 javascript 裡面,往往有過大的彈性,到最後,龐大的專案,到最後模組之間關係,錯綜複雜
在加上團隊成員也有各自的組織風格,後至撰寫風格,加入 coffeescript,livescript 等,就算用 grunt 來組織 build 專案
也難掩架構變得複雜的事實
這裡要舉的筆記例子,對於初學者,我會建議,可以參考 Madhusudhan Srinivasa 大大的範例,由這一個範例去思考架構方式
https://github.com/madhums/node-express-mongoose-demo
我自己的偏好,則是折衷由 express 產生的預設架構,然後用 express.js 作者 TJ Holowaychuk 在影片中建議的模組方式來將不同功能的程式模組拆開,可以方便以資料夾的結構
將不同功能的元件分別使用在不同的專案,方便擴充
Modular web applications with Node.js and Express from tjholowaychuk on Vimeo.
Macbook Air 開蓋關閉螢幕
就是那一個,在 USB3.0 插孔上面的粉紅小磁鐵,他會讓電腦以為,螢幕已經關起來了, 你就可以讓在只接外接螢幕不必闔上蓋的情形下,把筆電內建的顯示器關閉
homebrew 真是好東西,連 sshfs 或是 fuse4x-kext 的模組都有,還不錯用,很多開放原始碼的套件,都可以透過他安裝管理
螢幕分割 Spectacle 還不錯用
最後一個系統預設字體大小的問題,也可以用 ThinkerTool 來解決,圓滿轉換,我所有龜毛的堅持,都沒有問題了
PS: 感恩 Open Source,叩首
Mac 開發環境設定
網路已經有很多大大寫很多的參考資料,這一篇純筆記,用過 Linux 再用 Mac 覺得
Linux 其實很不錯了,除了 User Interface 差一點,真的非常自由,自由無價
系統調教
mount with noatime on SSD.
http://blog.philippklaus.de/2011/04/ssd-optimizations-on-mac-os-x/
請參考這一個 gist 調整成您要的 ,如果不喜歡這麼麻煩,有一個軟體,有幫你做這些工作,Chameleon SSD optimizer
個人是比較偏好,自己調整
https://gist.github.com/pklaus/931579#file-movetemporaryfolderstoramdisk_macosx-sh
設定好後, /tmp 應該是 Ram Disk 了,可以加大一點,到 1 ~ 2 GB ,把 Chrome 的 Cache 資料夾連結到 tmp
下面小改的 RamFS,用 1G RAM 當 /tmp ,並且加 /tmp/Chrome 來放 Google Chrome 的 Cache
到自己的資料夾 ~/Library/Cache/Google ,把 Chrome 砍了,製作 soft link 到 /tmp/Chrome
另外,我用 pmset 把 hibernatemode 設成 0 後,也就是不再使用 suspend to disk 的方式休眠,我另外把 sleepimage 砍了,用指令另 touch 一個新的sleepimage
再 sudo chflags uchg sleepimage ,看起來會像是這樣,這樣你的 SSD 就可以多出和記憶體一樣的容量
terry@terrytekiMacBook-Air ~ $ ls -al /private/var/vm/sleepimage
-rw-r–r– 1 root wheel 0 9 9 22:19 /private/var/vm/sleepimage
#!/bin/sh
# Create a RAM disk with same perms as mountpoint
RAMDisk() {
mntpt=$1
rdsize=$(($210241024/512))
echo “Creating RamFS for $mntpt”
# Create the RAM disk.
dev=hdik -drivekey system-image=yes -nomount ram://$rdsize
# Successfull creation…
if [ $? -eq 0 ] ; then
# Create HFS on the RAM volume.
newfs_hfs $dev
# Store permissions from old mount point.
eval/usr/bin/stat -s $mntpt
# Mount the RAM disk to the target mount point.
mount -t hfs -o union -o nobrowse $dev $mntpt
# Restore permissions like they were on old volume.
chown $st_uid:$st_gid $mntpt
chmod $st_mode $mntpt
fi
}
# Test for arguments.
if [ -z $1 ]; then
echo “Usage: $0 [start|stop|restart] “
exit 1
fi
# Source the common setup functions for startup scripts
test -r /etc/rc.common || exit 1
. /etc/rc.common
StartService () {
ConsoleMessage “Starting RamFS disks…"
RAMDisk /private/tmp 1024
RAMDisk /var/run 64
mkdir -m 1777 /tmp/Chrome
#RAMDisk /var/db 1024
#mkdir -m 1777 /var/db/mds
}
StopService () {
ConsoleMessage “Stopping RamFS disks, nothing will be done here…"
# diskutil unmount /private/tmp /private/var/run
# diskutil unmount /private/var/run
}
RestartService () {
ConsoleMessage “Restarting RamFS disks, nothing will be done here…"
}
解決外接螢幕,字糊掉的問題
http://ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor
Bash ~/.bash_profile 設定參考
http://natelandau.com/my-mac-osx-bash_profile/
開發所需軟體套件,先安裝 Xcode 後,及他的 Command Line tools 後,再裝 homebrew
工具軟體
http://www.freemacsoft.net/appcleaner/ Application 移除安裝的程式
http://osxfuse.github.io/ Mac Fuse file system ,在裝一下他們家的 sshfs ,可以直接 mount sftp,這一個軟體可以不裝,後面一樣可以用 homebrew 安裝 sshfs
https://github.com/rowanj/gitx git 的圖形化介面,都用 Mac 了,有時候可以離開一下 terminal 了
http://www.sourcetreeapp.com/ 這是另一個 git gui ,功能有點多,個人喜歡簡單的東西
https://github.com/eczarny/spectacle 分割視窗螢幕,看看 Linux 多幸福,預設就有了,不用另外裝
ThinkerTool 調整系統預設字體大小的問題,如果你跟我一樣龜毛,有堅持的字體及大小
JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Golang , brew install go
MySQL, mongodb 請用 brew 安裝
PostgreSQL 建議直接用 http://postgresapp.com/ 是 heroku 包好的 app,plv8 已經包進去了,不用再自己編譯,算是懶人法
ImageMagick 還是建議用 homebrew 安裝
brew install imagemagick
http://cactuslab.com/imagemagick/
另外像是 pdftotext 的小工具,可以安裝 poppler,這一些工具,都和 Linux 上面一樣
brew install poppler
VIM 環境
也是用 homebrew 安裝,可以先 brew info vim 一下,看一下可以下的 options,系統預設的 vim 不是很好
https://github.com/spf13/spf13-vim
iTerm , open source 在 Mac 上面的 terminal,使用起來,預設的熱鍵,及行為和 Linux 上面的比較接近,不錯用
http://www.iterm2.com/#/section/home
其他大多的開發套件用 homebrew 來安裝,python , mysql, mongodb, node.js , memcached , redis 等等
https://github.com/mxcl/homebrew
舉例,安裝完,homebrew 後,可以下指令,看看 node.js 有哪些版可以安裝,先 git checkout 後再安裝
terry@terrytekiMacBook-Air ~ $ brew versions node
0.10.17 git checkout d996e02 /usr/local/Library/Formula/node.rb
0.10.16 git checkout 1782834 /usr/local/Library/Formula/node.rb
0.10.15 git checkout 89e0a43 /usr/local/Library/Formula/node.rb
…
…
git checkout d996e02 /usr/local/Library/Formula/node.rb
brew install node
PS: 看起來,返樸歸真,只要有 Terminal 就可以了,感覺我不是在用 Mac,只是把 Mac 當 Linux 用,下指令用 brew 安裝套件的時候,有點回到許久前使用 FreeBSD 的年代,到 ports套件庫下面,打 make install 的感覺,只是現在電腦和網路都快了不少,這時候,還是覺得 Debian 的套件管理,強到一個不像話
Macbook Air 試用心得
衝著,Macbook Air 2013 版本不外接加電源,有長使用時間的誘惑下,我這一個老派的 Linux
使用者,也乖乖的把現金掏出來,搬一台回家
說真的沒有用過 Mac ,只有聽說過他底層是用 BSD 打造的,應該八九不離十,用了兩天,說一點點心得
優點
1. 漂亮,不管是外觀,或是使用介面
2. 作工精細,電源線設計,孔位工差,螢幕開合機構,軟體整合,系統穩定性,其他 PC 的 ultrabook 難與其比
3. 不外接電源,使用時間很長
4. 一版一版進步,不太會像是在 pc 廠商上面看到的,一版一版 cost down.
說完好的換說缺點
1. usb 接頭少,要帶 hub
2. 沒有 RJ45,人多的時候,wifi 很鳥的,尤其傳大檔時
3. 螢幕要外接線,而且支援不好
3. 對應其他外廠週邊,驅動程式支援不好,這一點,我好好誇一下 Linux 了,driver 支援包羅萬象,我的外接螢幕設定,在 Linux 上面簡單的輕鬆稿定,
Mac 上沒辦法,接轉接線,正確解析度,還出不來,換了條線,解析度還不一樣,連螢幕連結線也要挑
4. 軟體套件套件更新,這一點 Debian Linux 無敵,不管你要由 source 或是 binary 安裝,Debian 大贏
5. 開發環境建制,和 Linux 比較,因為沒有好的套件管理系統,所以有點耗時,homebrew 和 Debian 的套件管理比起來,還是蠻弱的
6.
Mac 不能調整預設系統字體大小,外接顯示器,判斷成電視,解析度正確,字體模糊 ,外接螢幕時,內建的顯示器,要闔蓋才可以關掉,會不會管太多,想打開幫助散熱也不行,只用電池,外接螢幕,闔蓋他就休眠,把外接螢幕也關了,這會不會也算是自作聰明
http://ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor
說真要是有 PC 作 Notebook 的廠商,願意用 Air 的作工,加上差不多的使用時間,可以換 2.5 寸 SSD,筆電的
記憶體,價錢比 Air 便宜一點,出貨量也有一定的大量,我一定立馬敗一台,可是卻真的沒有一家廠商願意爭氣一點
說說我的過去 notebook 歷史
第1台 acer 的好像叫 351吧,螢幕底座支架斷裂
第2 台 IBM X31,滿意使用,當時的首選
第3 台 lenovo thinkpad x60 ,還 OK ,溫度有點熱,散熱不太行,真的會熱當
第4 台 lenovo thinkpad x200 ,滿意使用
第5 台 lenovo thinkpad x220 ,因為是最後一代的鍵盤,就買了一台
後來 thinkpad 也不 thinkpad 了,現在 pc notebook 價格不比 Air 便宜,作工用料都比較差,
使用時間短,有點像是 Android 和 iPhone 一樣,每個人有每個人要的,手機我要可以外插 SD卡,換電池,大銀幕,所以高階手機我不用 HTC 的也不用 iPhone ,
notebook 我要鍵盤好打,效能像話,使用時間長,做工牢靠,能有多輕薄,就有多輕薄,可以換 2.5 SSD ,記憶體,全球出貨量,有個基數,
未來保修備料是玩真的,市場還真的居然找不到半台,可以選最接近的,好像還真的剩下不多
現在廠商腦袋,不知道在想什麼,我要便宜,穩定,好用,不是觸控螢幕,或是新的作業系統,如果是硬體廠,你就乖乖的把每一個小細節做好
小事都做不好,連我這麼外行的使用都看的到,有很多小細節,真想不懂,為什麼這些做了十幾二十年的廠商看不到
拜託來一台
鍵盤好打,可以用 2.5 寸硬碟或 SSD,記憶體可以擴充(這就是難的地方,又要擴充,又要輕薄,拜託 RD 時間花這裡),螢幕底座不會裂,
螢幕轉軸,開和鬆緊剛好,不會開久了就鬆,或是太緊,接孔尺寸精準,散熱模組,用點心,都給你作十幾年了說明書還是寫不能放腿上,
輕薄長效,好的外型設計,就繼續用,節省模具成本,不要為了改變而改變,想想能給什麼更好的使用體驗
而不是這一次,要 cost down 什麼
我的比較邏輯
1. 現在所有的 notebok 鍵盤都蠻鳥的,就算了
2. 輕薄的 ultrabook 和 Air 都是裝 SSD ,部份是 2.5 寸 SSD,部份是客制 SSD.
3. 使用時間,ultrabook 的使用時間,大多是 3 ~ 6 小時,這一點 Air 就大勝了
4. Linux 支援度, 自由無價
5. 出貨量要大,就可以保證未來在掏寶或是 EBay 上什麼都買的到
喜歡 Linux ,要兼顧,開發和美觀,作業系統也可以用 Mint