2015/3/21

程式設計師界的文人相輕是怎麼一回事?

這是一個文人相輕的故事。

使用設計模式的人有兩種。第一種人他們知道各種模式的優缺點而能夠在適當的時機去使用正確的模式。第二種人是剛學會設計模式,覺得在程式裡面有用設計模式真屌,通常我們會稱呼這叫作過度設計。

不使用設計模式的人也有兩種。第一種是學會之後知道他的缺點所以盡量不使用,第二種人是沒學過。

當一個使用設計模式的人,遇到一個不使用設計模式的人時,就會出現文人相輕的局面:雙方都認為對方是第二種人。

我說明一下什麼是設計模式:就是一群人覺得自己寫的程式架構很好然後把架構命個名丟出來,出了一本書叫設計模式,簡單說就是給你作文範本。所以你在程式裡面去使用設計模式,就好像你寫作文有用成語一樣,可是你知道剛學會成語的人很喜歡整篇作文都是成語,因為覺得很屌...




附上一篇整篇都是成語的作文:http://kids.yam.com/joke/article.php?cid=campus&id=53013

== 以下轉載 ==

今天是國慶日,因為英明偉大的政府建設國家、愛護百姓的功績罄竹難書,所以放假一天,爸爸媽媽特地帶我們到動物園玩。

按照慣例,我們早餐喜歡吃地瓜粥。今天因為地瓜賣完了,媽媽只好黔驢技窮地削些芋頭來濫竽充數。沒想到那些種在陽台的芋頭很好吃,全家都貪得無厭地自食其果。

出門前,我那徐娘半老的媽媽打扮的花枝招展,鬼斧神工到一點也看不出是個糟糠之妻。頭頂羽毛未豐的爸爸也趕緊洗心革面沐猴而冠,換上雙管齊下的西裝後英俊得慘絕人寰,雞飛狗跳到讓人退避三舍。東施效顰愛漂亮的妹妹更是穿上調整型內衣愚公移山,畫虎類犬地打扮的豔光四射,趾高氣昂地穿上新買的高跟鞋。

我們一丘之貉坐著素車白馬,很快地到了動物園,不料參觀的人多到豺狼當道草木皆兵,害我們一家骨肉分離。妻離子散的爸爸鞠躬盡瘁地到處廣播,終於找到到差點認賊作父的我和遇人不淑的妹妹,困獸之鬥中,我們螳臂當車力排眾議推己及人地擠到猴子柵欄前,魚目混珠拍了張強顏歡笑的全家福。

接著到雞鳴狗盜的鳥園欣賞風聲鶴唳哀鴻遍野的大自然美妙音樂。後來爸爸口沫橫飛地為我們指鹿為馬時,吹來一陣涼風,唾面自乾的滋味,讓人毛骨悚然不寒而慄,媽媽連忙為爸爸黃袍加身,也叮囑我們要克紹其裘。

到了傍晚,因為假日的關係,餐廳家家鵲佔鳩巢六畜興旺,所以媽媽帶著我們孟母三遷,最後終於決定吃火鍋。有家餐廳剛換壁紙,家徒四壁很是美麗,燈火闌珊配上四面楚歌,非常有氣氛。十面埋伏的女服務生們四處招蜂引蝶,忙著為客人圍魏救趙,口蜜腹劍到讓人誤認到了西方極樂世界。

飢不擇食的我們點了綜合火鍋,作懷不亂的爸爸當頭棒喝先發制人,要求為虎作倀拿著刀子班門弄斧的女服務生,快點將狡兔死走狗烹,因為尸位素餐的我們一家子早就添油加醋完畢,就等著火鍋趕快沈魚落雁好問鼎中原,可惜鍋蓋太小,有點欲蓋彌彰。

湯料沸騰後,熱得樂不思蜀的我們趕緊解衣推食好大義滅親上下其手,一網打盡撈個水落石出。

火鍋在我們呼天嗆地面紅耳赤地蠶食鯨吞後,很快就只剩滄海一粟,和少數的漏網之魚。母範猶存的媽媽想要丟三落四放冬粉時,發現火苗已經危在旦夕,只好投鼠忌器。幸好狐假虎威的爸爸呼盧喝雉叫來店員抱薪救火,終於死灰復燃,也讓如坐針毯的我們中飽私囊。鳥盡弓藏後,我們一家子酒囊飯袋,沆瀣一氣,我和妹妹更是小人得志,沾沾自喜。

不料結帳的時候,老闆露出廬山真面目,居然要一飯千金,爸爸氣得吳牛喘月,媽媽也委屈地牛衣對泣。

啊!這三生有幸的國慶日,就在爸爸對著錢包自慚形穢大義滅親後,我們全家江郎才盡,一敗塗地! ~ the end ~


2015/3/19

開發 iOS Web App 在開發階段不用 xCode 重新編譯的方法

Web App 是一個APP裡面包一個網頁,這個網頁可以是 local file 也可以是一個網址。

如果你沒有一台網頁伺服器,你會選擇使用 local file 的方式。

或者當網頁是 local file 的時候,會有額外的存取能力,有些時候會為了這個能力去使用 local file。

正常流程是把做好的網頁放進 Macbook Pro 裡面的 xCode ,然後編譯成 app 發布到手機上做測試。

如果是這樣,那我不就每次改一點網頁就要重新編譯?

這問題有解嗎?有的。

我想到 iTools 可以修改 App 中的檔案這件事情。

所以可以這樣做:

先講結論:這樣做可行,而且效果十分顯著。


程式碼:https://github.com/etrex/webViewTest

這個程式的行為是當APP打開時,檢查Document 下有沒有 index.html ,如果沒有,就把在 xCode 做好的 index.html 複製到 Document。

然後用 UIWebView 讀取 /Document/index.html。

使用步驟:
1. 找一個 ios app 開發者帳號
2. 找一台 Makbook Pro,
3. 下載程式碼
4. 把這個 App 安裝到手機上,
5. 用 iTools 去改改看 index.html

我在 git 上放了測試用的網站,在 testWebCode 資料夾,裡面有一個 index.html 和一個 js 資料夾。網頁內容是跟這個網址 http://etrex.tw/a/Game/SlidingPuzzle.html 一樣的 。

附上修改index前後畫面
修改前 iTools

修改前 iPhone



修改後 iTools


修改後 iPhone



如果不考慮排版的話,完全可以正常的進行遊戲。這表示我們放進去的 js 檔有正確地被 index.html 載入。

測試大成功!!


最後附上用 iPhone 的 Chrome 來開這款遊戲時的畫面。

剛進入時的畫面

經過適當的縮放後



另外,關於這款遊戲,有興趣玩的可以玩玩看 http://etrex.blogspot.tw/2014/04/blindfold-sliding-puzzle.html

2015/3/1

IKEA KALLAX 層架組

今天去買了 KALLAX 層架組, 黑棕色

用機車運回家真的是還蠻痛苦的


紙箱蠻難拆的,我最後選擇用暴力法拆掉

打開後是說明書在最上面,旁邊是零件包

零件包內的東西分類後

先組一個L,然後用長螺絲鎖

用四個木卡榫把隔板放進去

放進去後的樣子

接著放另一個方向的隔板,也是用木卡榫

然後再用木卡榫把兩個方向的隔板接起

一直接一直接

接完了,準備裝側版

側版裝上後

底版也裝上,螺絲還沒鎖的樣子

鎖完螺絲和貼上防滑墊(防滑墊在材料包裏面有,忘記拍)

最後放置的位置


過程中最困難的其實是搬運,第二困難的部分是螺絲很難鎖上,因為要很大力鎖他才會密合。

從購買到裝好大約花2個小時左右。