Hi 我是 Amo,台灣原生種程序猿,待過 4 年遊戲業以及 2 年 SOHO 經驗,曾參與開發 8000 PCU 的 Web MMO RPG,2016 年加入某新創線上教育平台成為前端攻城獅/比起 UX 更重視 DX/AWS Certified SAA/INFJ-A

重點筆記 Hackers and Painters
Tech

重點筆記 Hackers and Painters

在達文西的年代,繪畫並不是一件很酷的事情,達文西用自己的工作推動繪畫成為一種偉大的表達方式。同樣,程式設計到底能夠有多酷,取決於我們能夠用這種新媒介做出怎樣的工作。隨著工業化時代的來臨,手工藝人越來越少。目前還存在的最大手工藝人群體就是程式設計師。我們的時代是程式設計師主導的時代,而偉大的程式設計師就是 hacker。
4 min read
Trello workflow
Tech

Trello workflow

團隊開發的網頁遊戲《末日少女》 [http://tw.new.beanfun.com/xd/www/index.html] 已經上市快兩個月了,成績比當初想像中還好,相較於 Gu Morning [http://www.gamania.com/mobilegame/gumorning/ch/index.html] ,這次《末日少女》的開發學到很多寶貴的經驗,稍微鬆口氣之餘,也有許多需要檢討改善的地方,而《末日少女》Mobile 版其實也已經開發好一陣子了,最近這個專案只剩下我一個人交到我手上負責,趁這個機會導入一些新的開發方式,也 PO 上來分享心得。 這篇文章會講什麼? 1. HtpChat - 開發團隊的 Log 整合中心。 2. Trello - 團隊的專案管理小白板。
9 min read
COSCUP 2013
Tech

COSCUP 2013

今年是第二次參加開源人年度聚會 COSCUP [http://coscup.org/],很幸運的在 47 秒內搶到限量 500 張的門票,和去年 [https://blog.amowu.com/2012/08/coscup-2012.html]比較不一樣的地方: * 場地從中研院 [http://hssb.committee.sinica.edu.tw/]換到國際會議中心 [http://www.ticc.com.tw/],應該是因為人數的關係,不過我猜 TICC 沒有下次了(笑),期待明年的小巨蛋(誤)。 * 八軌議程,同個時段最多有八場演講可以選擇! 分享一些這兩天簡單的筆記。 DAY 1 第一天有點小遲到,好險大會準備的 NFC 識別證快速通關,加上場地夠大,
8 min read
我想做的遊戲
Tech

我想做的遊戲

進入遊戲業兩年多了,但網誌上跟遊戲相關的文章卻很少,所以在截稿前夕,就來寫一篇跟遊戲有關的文章吧! 雖然這兩年間學到不少遊戲開發的相關知識,但這篇不寫技術,這篇純粹想聊聊「自己想做的遊戲」。 每位遊戲開發者一定都會有自己想做的遊戲,但絕對不會是目前你工作上的這款(笑),雖然嚮往成為獨立遊戲開發者,但看過 半路叛逃 [https://blog.amowu.com/2012/10/blog-post.html] 的分享後瞭解,獨立開發遊戲並不容易,儘管如此,還是想分享自己心中的那一款完美遊戲。 簡單來講,有三個要素: 遊戲 X 生活服務 X 教育 遊戲?生活服務?教育?在仔細解釋前,先介紹幾款遊戲給大家認識: * OZ * Greed Island * 動物之森 * 神奇寶貝 OZ OZ 是在日本動畫 夏日大作戰 [http://zh.wikipedia.
10 min read
Web Components
Tech

Web Components

今天想要跟大家聊聊 Web Components 這個新玩具,說是新玩具,其實這個概念已經發展有段時間了,尤其筆者本身是玩 Flash 技術出身的,發現 Web Components 跟 Flex Component [http://www.adobe.com/devnet/flex/articles/creating_components.html] 差不多,所以就來分享一些心得。 Web Components 是什麼? 簡單來講就是你可以客制化 HTML 由 W3C 提出: > The component model for the Web. When used in combination, Web Components enable Web application
4 min read
Tech

從無到有:安裝&自動部署 Ruby on Rails 網站

這個月把網站從 Amazon EC2 搬回自己的 server,目前整個環境是 Linux(Ubuntu)+ Apache + Ruby on Rails 在跑,筆記一下從無到有的配置方法: Install VirtualBox [https://www.virtualbox.org/] 虛擬主機,另一個較有名的是 VMWare [http://www.vmware.com/],這裡是選用 VirtualBox 4.2.12 作 host。 安裝之後設定一下配置,大部份都用預設的就可以,比較不一樣的地方有,記憶體 1024 MB,網路使用橋接界面卡的方式,這樣可以在虛擬 OS 內連線取得固定 IP,這對使用自有網址來架設網站是很重要的。 Install Ubuntu [http://www.
4 min read
如何寫一個 Arduino Library?
Tech

如何寫一個 Arduino Library?

假設要寫一個摩斯密碼(telegraph)的 library: 1. 先在 Arduino 目錄底下(預設是/Users/XXX/Documents/Arduino)建立一個 libraries 資料夾 2. 建立一個資料夾取名為 Telegraph 3. 建立 Telegraph.h #ifndef Telegraph_h #define Telegraph_h class Telegraph { public: Telegraph(); void send_message(const char* message); // 要公開給別人使用的 method. private: ... }; #endif 建立 Telegraph.cpp(舊版使用 WProgram.g,新版使用
1 min read
Hello Arduino!
Tech

Hello Arduino!

說來慚愧,去年才知道有 Arduino 這麼好玩的東西,連國外小朋友都知道它有多火紅!(不過最近好像是某樹莓派比較牛)。 好歹以前也是電子相關科系的,想說入門應該不難,回老家把塵封已久的高職工具包翻出來,今年要試作一隻簡單的機器人!既然決心已定,就開始做一些行前準備,買了幾本書跟一些工具來練習: Arduino快速上手指南 [http://www.anobii.com/books/Arduino%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B%E6%8C%87%E5%8D%97/9789866076510/0160e1cadeb309e4e7/] Prototyping Lab「邊做邊學」Arduino的運用實例 [http://www.anobii.com/books/Prototyping_
3 min read
Tech

getDefinitionByName with swc

一般 Flash 程式開發時,取資源的方式有兩種: * .swf * .swc .swf 檔屬於 Runtime 時從外部載進來取用的方式,通常會使用 Loader 來作處理: var loader:Loader = new Loader(); var request:URLRequest = new URLRequest('YOUR_SWF_PATH'); loader = new Loader(); loader.load(request); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); private function onLoaderComplete(event:Event):void { var loader:LoaderInfo = event.currentTarget as
1 min read
Tech

Sublime Text 2 Shortcuts (Mac OSX)

Default General CommandShortcutCommand palette⌘ + ⇧ + PToggle side bar⌘ + K + BGoto CommandShortcutGoto anything⌘ + PGoto symbol⌘ + RGoto line⌃ + GView CommandShortcutDestraction Free Mode^ + ⇧ + ⌘ + FEdit CommandShortcutSelect line⌘ + LSelect word⌘ + DDelete from cursor to end of line ⌘ + K + KDelete from cursor to start of line⌘ + K + ⌫Delete line⌃ + ⇧ + K Duplicate line⌘ + ⇧ + DJoin lines⌘ + JUpper case⌘ + K
1 min read
Tech

我的數位生活 2012

這次不談程式的東西,來聊一些 2012 年的數位生活心得,這幾年許多應用快速雲端化加上智慧型裝置普及率提高,幾乎大部份的工作都可以離開 PC 來完成了,剛好在去年我達成了 Apple 家族四天王(iPhone、iPad、AppleTV、Macbook(制霸!所以在這邊整理分享 2012 年用了哪些服務。 因為我手上的裝置都是蘋果,所以下面介紹的服務會以 iOS 系列為主,Android 的朋友抱歉囉。 我在找想用的服務時會盡量挑以下幾點符合的: * 多螢一雲,有提供各平台的 app、網頁,或桌面應用軟體 * 社群化,擁有自己的社交互動圈,或整合 twitter、facebook 等服務 * 手機為主 PC 為輔,優先挑選手機 app 好用的服務 另外,根據服務性質的不同,也會看是適合哪個平台來選擇,例如: * iPhone 人在外面,ex:
17 min read
Tech

讀書心得 半路叛逃

要在台灣看到遊戲開發的相關書籍其實不容易,其中獨立遊戲開發者的心路歷程更是少之又少。 難得最近書店上出現了一本程式出身的遊戲制作人 半路(猴子靈藥 [http://blog.monkeypotion.net/]站長)大 的甘苦談,二話不說就買回家看了~ 從小就喜歡玩遊戲的我,一直認為遊戲制作人是一個很夢幻的工作,如果我會一直待在遊戲業的話,也希望未來能成為一位獨立遊戲開發者,做自己想做的遊戲! 獨立遊戲開發者 最近還蠻受注目的,尤其前陣子 Indie Game: The Movie [http://buy.indiegamethemovie.com/] 這部紀錄片的播出,真的令人熱血沸騰。 花了兩天中秋假期,把這本《半路叛逃 App遊戲制作人的1000告白 [https://goo.gl/Mf32x]》啃完,收獲良多,因此上來寫一篇簡單的書摘。 “1980年代前是經歷過經濟成長起飛的父母長輩,1980後是成長於物質與資訊不虞匱乏的我們” 上一代眼裡認為我們是早熟的一群,因為一切的成長來得太快,但其實隨著學歷要求提高,新鮮人起薪越來越低的情況,延後了我們踏入社會的時間,事實
7 min read
Tech

COSCUP 2012

今年很幸運的有搶到入場資格,這也是小弟第一次參加 COSCUP [http://coscup.org/],趁現在剛結束滿腔熱血的狀態下來寫篇心得文。 今年 COSCUP 一共有兩天的行程,在中研院人文館舉辦,每個時段都有 3~4 場的分享,不過常常碰到某個時段三場都想聽,也常常碰到某個時段的題目都沒興趣...orz Day1 第一天忘了做筆記,只好憑記憶跟拿些圖來湊一湊 早上第一場是微軟傳教士分享的 Windows Azure感覺還不錯,而且有繁體中文的介面。 第二場我去聽了 Fred 的 Nodee.js OS,不過我覺得他自己改的 Linux 比較炫。 第三場請到 Penk 大大來 demo 他的平板 UI,印象深刻的一句話是 > 科技業是唯一比女性時尚還追求時尚的行業 我的解讀是幹這行每天都在學新技術 囧.. 第四場超讚,講者 demo 他用 javascript 寫的超任模擬器,
3 min read
Tech

Development Tools

不知不覺,這個月的文章還沒想好要寫什麼,七月就過了... 這一篇我打算分享一些最近在關注的玩意兒。 Trello [https://trello.com/] Trello 是 Joel 團隊開發,一個專案管理的工具,當然,他是雲端網頁,所以在任何地方都可以掌握團隊的專案進度。 Trello 可以使用 Google 的帳號登入,登入後可以根據專案的開發流程自訂專屬的 Board ,每個 Board 內可以貼上各個項目的 Card,並且可以和專案成員即時協作。 自己本身大概用過兩三套這種PMS的產品,Trello 簡單易用,一個人獨立開發使用也很方便,算是敏捷式開發上不可或缺的好工具。 影片介紹: 另外,Trello 也有提供 iPhone 的版本: Sublime [http://www.sublimetext.com/] Sublime 是一個很棒的程式碼編輯器,前一陣子在這篇 Which is the Best
2 min read
Tech

讀書心得 約耳趣談軟體

以下是節錄一些這本書覺得還不錯的點 * 激勵是有害的, 主要是說考績制度對程式設計師是不通的 * 工作切換有害無益, 讓程式設計師只專注一件事情 * 絕對不能把程式碼重寫(這裡不是指重構) * 冰山一角理論, 冰山有90%是在水面下, 大部分的軟體, 那些漂亮的使用者介面通常只占10%的工作, 而背後90%的程式設是看不到的, 如果再考慮一半時間都在抓蟲, 那使用者介面就只剩5%, 如果只計算介面中的視覺部分, 那客戶真正看到的, 只有1%......, 這並不是秘密, 真正的秘密是非程式人員根本不知道這件事...... * 約耳測試: 1. 你有使用原始碼控制系統嗎? SVN, CVS, Git, Mercurial... 2. 你能用一個步驟建出所有結果嗎? 準備一個Script擋, 只要執行這個腳本, 就能一次搞定從最新原始碼快照到自動建立釋出產品的過程 3. 你有進行每日編譯嗎? 提交原始碼到版本控制系統前, 一定要編譯並且沒有出現錯誤, 因為別人也想下班 4. 你有沒有問題資料庫?
6 min read
Tech

App Center Tutorial

本篇翻譯自 Facebook 開發者頁面 [https://developers.facebook.com/] 的 App Center Tutorial [https://developers.facebook.com/docs/guides/appcenter/] Facebook App Center 是一個大型的社交應用程式中心。App Center 是協助你的 Facebook Apps、手機 apps 和使用 Facebook Login 的網站 的管道。Facebook 鼓勵所有開發人員在這個 App Center 建立您的 app 細節內容頁面。 這篇文章將引導開發者配置 apps 的過程: 1. 建立一個 App 細節頁面 2. 上傳圖片
10 min read
Tech

How to list the properties of a javascript object

本篇參考 stackoverflow [http://stackoverflow.com/] 的 How to list the properties of a javascript object [http://stackoverflow.com/questions/208016/how-to-list-the-properties-of-a-javascript-object] 要如何知道 Javascript 物件擁有哪些 proerty? var dog = { name: 'Lucky', age: 3, breeds: 'Shiba Inu' }; 上面是一個小狗的物件,裡面有一些自訂的屬性 'name', 'age', 'breeds' 等等... 那要怎麼在程式中知道這些屬性呢? 比較新的瀏覽器(IE9, FireFox, Chrome...)可直接使用 Object.keys [https://developer.
1 min read
Tech

Javascript and this

筆記一個 javascript 的特性。 通常在使用一些 method 的時候參數都帶有 Callback Function: click(callbackFunction) 如果在這個 Callback Function 裡面直接使用 this 是沒有辦法的: callbackFunction = function() { this.doSomethiing(); // undefined } 必須先在在外層定義 this 為一個變數才可以: var self = this; callbackFunction = function() { self.doSomethiing(); // OK!! } 參考文章:Javascript - 淺談this與Closure [http://blog.darkthread.net/post-2009-03-11-js-this-and-closure.aspx]
Tech

Use getPixelRatio for HTML5 on retina

如果用 HTML5 配 WebView 來作 App 的話,在 iPhone4 跟一些 Android 手機會碰到的解析度問題。 iPhone4 的 Retina 是 960 x 640,但是在 WebView 底下會以 480 x 320 來顯示。 所以須要利用到 javascript 的 getPixelRatio() 來作調整: /** * Return current device resolution pixel ratio, Default is 1. * @return {number} */ function getDevicePixelRatio() { if (window.devicePixelRatio === undefined) { return 1;
1 min read
Tech

Javascript message on Facebook post feed

之前在使用Facebook API的時候碰到的問題,,筆記一下。 如果在沒有登入Facebook的情況下開啟 Feed Dialog 發佈訊息, 會被導到一個莫名其妙的頁面,上面只有一串 javascript 如下 這個問題我碰到兩次: * 一次是在網頁版直接使用 Graph API call [https://developers.facebook.com/docs/reference/dialogs/feed/] 的方式開啟 Feed Dialog * 一次是在 iOS Facebook SDK 中使用 Feed Dialog iOS好像是在4.0以下才會發生,不太確定 解決方法: * 找到呼叫 Graph API 的地方
1 min read
Tech

Hello PureMVC!

第一次聽到 PureMVC 的時候大概是兩年前,那時候就對這套 MVC Framework 很感興趣,不過當時對於它的架構是有看沒有懂,就一直拖到了現在。 最近因為工作需要用到的關係,所以又再次學習它,經過閱覽無數前輩分享的文章之後,終於初步了解它的運作模式了,因此分享這邊學習心得筆記。 什麼是 MVC ? 一個設計方法(Design pattern 也稱設計模式)。 想初步了解的朋友可以參考維基百科的說明 [http://zh.wikipedia.org/wiki/MVC]。 網路也有許多相關文章,大略內容就是將程式開發架構分為 Model、View 和 Controller 三個部份的開發方式,建議可以閱讀深入淺出設計模式 [http://findbook.tw/book/9789867794529/basic]這本書。 什麼是 PureMVC ? 一個跨多語言的 MVC Framework,其中我們要用到的是 Actionscript 3.
8 min read
Tech

Develop Facebook Canvas Page with CodeIgniter

這篇文章是介紹如何使用 CodeIgniter 這個 PHP Framework 來初步架構出 MVC 的環境, 並且開發一個簡單的 Facebook Canvas Page。 什麼是 CodeIgniter 呢? > CodeIgniter 是開發 PHP 應用程式的 framework 及工具組。 提供簡易的介面和邏輯結構來使用豐富的函式庫,其目的是讓你可以加 快開發速度。 使用 CodeIgniter 只需要寫少少的程式,讓創造力可專注在專案開發。 * CodeIgniter [http://codeigniter.com/] * CodeIgniter 台灣 [http://www.codeigniter.org.tw/] * CodeIgniter 中文使用手冊 (英 [http://codeigniter.com/user_guide/]) (中 [http://codeigniter.
5 min read
Tech

IE6 Upgrade Notice

有過網頁設計經驗的人,無論是部落格樣版或是其他頁面,都一定有個共同的痛,就是 IE6 這傢伙對 CSS 的呈現總是跟別人不同,偏偏它的市占率一直是最高的。 通常解決這個問題的方法有兩種,一種是修改 CSS 直到版面看起來正常,另一種則是直接放棄,在網頁開頭就提醒使用者升級瀏覽器。 我們今天要介紹的就是最後一種方法,為什麼我們要放棄 IE6 呢? 因為網頁技術不斷的進步,不單單是 CSS 的問題,IE6 本身還有其他原因,它已經不適合這個世代了,加上最近許多知名網站也紛紛開始提倡升級 IE6,例如 You Tube、Twitter 和 Facebook 等,IE6 你真的玩完了,拜託還在使用 IE6 的人,請你快點更換瀏覽器吧!!(小聲:換 Firefox Chrome 吧) 知名影音分享網站 YouTube 將停止對 IE6
3 min read