about 2 weeks ago - 4 comments
這幾年 Node.js 在台灣許多網站都開始使用,我對這項技術一直頗有興趣,在想能怎麼使用這項技術去玩些有趣的互動。 曾照著網上熱心前輩所寫的文章試著寫寫看,也在去年九月參加了 HTML5與Node.js在台灣聯合技術小聚,但一時案子忙碌,實在沒有心力好好研究便停滯了。 最近公司上線的案子剛好能有這個機會讓我來玩玩,目的是讓使用者透過手機網頁來與電腦開啟的網頁做些即時互動。 用 App 寫要考量跨平台與門檻(還要去下載 App,應該會讓一些單純想玩玩 Event 的使用者卻步)的問題,因此便希望能都用 Web 上的技術來達成囉。 此篇便簡單紀錄一下 Node.js 在 FreeBSD 上的安裝,以及簡單製作一個手機與電腦即時互動的網頁。 自認觀念上還不是相當清楚便迫不及待分享了,若有誤之處還請前輩給予指導囉 :) 一、安裝 我自家使用的伺服器環境是 FreeBSD,所以這邊就介紹在 FreeBSD 上安裝 Nodejs 的方法。 ports 裡面有喔!直接進去裝就可以了~真是方便! 如果順利的話應該就可以安裝完畢,但有時候會遇到找不到相符版本的情況,那就這樣做吧: 經過一段時間的等待,終於安裝完了! 可以試一下能不能執行,印出 nodejs 的版本試試: ※小提醒:如果 FreeBSD 還沒認出 node,就 rehash 一下再執行。 安裝介紹至此終了。 接下來是第二單元,來實作囉!:D 二、實作:使用 Node.js 來達成電腦網頁與手機網頁即時互動 這邊會寫一個簡單的範例來展示怎麼用 Node.js 來達成電腦網頁與手機網頁即時互動。 首先,我們會用上 socket.io…
about 1 year ago - No comments
我們家的設計在某個案件中遇到了奇怪的情況,設計好內嵌 Flash 的 html 頁面,在本機瀏覽一切正常,但上傳到某台測試的 IIS 主機上卻一直吐伺服器 500 錯誤出來。 我連進主機查看,錯誤訊息如下: Active Server Pages 錯誤 ‘ASP 0139′ 巢狀式物件 /test.html, 行23 物件標記無法放在另一個物件標記內。 實在相當詭異,不是單純的 html 檔案嗎?為什麼會引發 ASP 錯誤呢? 開啟該檔案查看,錯誤的那行是 object 標籤,看起來是 Dreamweaver 插入 SWF 物件產生的 object 語法。 該段語法是這樣的: 上網查了一下相關資料,似乎是巢狀 object 標籤造成 ASP 這邊引發錯誤。 而這台的 IIS 7.5 似乎將 *.html 以 asp.dll 解析執行,因此 .html 會引發 ASP 的錯誤訊息 … 相關的解法是這樣,來自 swfobject…
about 1 year ago - No comments
最近的案子試著在 IIS 平台上開發 Facebook Connect 應用程式,由於尚未找到一套比較合用的 Facebook .NET 3.5 SDK(題外話,若路過的前輩有覺得不錯的 SDK,能推薦給小弟一下也十分感謝啊XD),因此先使用 HTML + Facebook JavaScript SDK 做開發。 結果在製作「發送應用程式邀請」(invite) 時,使用者選定朋友後送出,會吐一個 IIS 的 HTTP 405 錯誤出來,原以為是 Facebook 的 FBML 寫法有誤。 但後來終於找到問題所在,出處是這裡。 似乎是 IIS 預設會將送至 .htm 檔案的 POST 要求擋下。(本例中,這個 site 的預設文件設為 index.html) 須於 Web.config 檔案中的 system.webServer 區段中,加入以下內容: 即可解決此一問題。 當然另一種更簡單的做法是,不要用 .html 來當首頁,就用 .aspx 吧。
about 2 years ago - No comments
之前寫了一隻噗浪機器人,以 PHP Command-line 模式運行於 FreeBSD 中,但偶爾會因不明原因消失,有空就得去重啟一下。 在 Google 上搜尋到一篇相關的 教學,在此做了一點小改變,留作紀錄或許之後還會用上。 Shell Script (bash) 程式碼如下: 把 ps -ax 的結果丟到 /tmp/ps.txt 中,再用 grep 去撈,這是因為 .. 如原文作者 hoyo 所說,「因為 grep 自己也會產生程序,會干擾到真正的執行程序,因此最後使用 ps 轉向檔案,然後才到檔案查詢。」 接著,因為 ps -ax 產生的東西會像這樣: 48122 2 S 0:01.39 php /xxx/plurk.php 我只要比對最後面那一段 /xxx/plurk.php 就好,所以利用 awk 指令抓出第六欄。如果不相等,就代表這個程式可能已經消失了,所以就再執行一次吧。 最後把這隻 sh 放到 crontab 去定期執行就可以了。 這就是解決方法,再觀察看看是不是都能正常運行囉
about 2 years ago - No comments
最近需要用到 ImageMagick,而 ports 上最新的版本是 6.6.0-10 ,但似乎安裝過程中會 make 失敗,所以試著安裝舊的版本。 首先要修改 ports-supfile,在 *default 下多增加一行欲更新軟體版本推出的時間,可以去 http://www.freshports.org 查詢,以本例來說,我想安裝 6.5.7.10 版,推出的時間為 02 Dec 2009 18:54:03,我可以輸入: 接著把 ports-all 先 mark 掉,然後把欲安裝軟體所屬的分類啟用,以本例來說是:ports-graphics。 都設定好後,用 csup 跑一次 ports tree 更新。 接著再去該軟體 ports 目錄下 make install 就可以了~
about 2 years ago - No comments
經過一番手殘與搶救,總算是升到 FreeBSD 8.0-RELEASE 了。對 freebsd-update 的升級方式不大熟悉,亂搞的結果是手殘覆蓋掉 /etc/ 底下的一些東西,像是 passwd 之類的,真慘。後來還是乖乖的用 make buildworld && make buildkernel 慢慢升,總算是可以了。此篇記錄一下升級的指令囉,如果有高手路過看到觀念錯誤的,希望能不吝指教,謝謝。 進行備份,/etc/、/usr/local/etc/、/home/ 等等,不要不信邪覺得不會炸掉。 更改 stable-supfile,tag 部分更改為 RELENG_8_0,代表升級到 8.0-RELEASE。參考。 # csup -g -L 2 standard-supfile,取得最新的系統原始碼。 閱讀一下 /usr/src/UPDATING,看有沒有要特別注意的。 將核心 /usr/src/sys/i386/conf/GENERIC 複製(cp)到 /root/YOUR_KERNEL,建立 symlink 到這裡:# ln -s /root/YOUR_KERNEL。 依照需求修改一下核心。參考。 # cd /usr/src # make buildworld # make buildkernel KERNCONF=YOUR_KERNEL # make installkernel KERNCONF=YOUR_KERNEL…
about 2 years ago - No comments
問題:要移除「-」符號為首的檔名,該如何下指令刪除呢? 找到了Removing Files That Begin With a Dash “-”的教學: 以上都可以喲。
about 2 years ago - No comments
需求:使用 pure-ftpd,並且希望能使用 http://server/~user/ 的方式,供個人用戶使用。 方法: pure-ftpd 可採虛擬帳號方式,因此 apache 內的 UserDir 寫法也需變更。 如此篇所示範: 其中 ftp 表 pure-ftpd 所採用的一組實體帳號。 而下方: (下略) 改為如此,並且設定標籤內的相關屬性,唯讀、可瀏覽目錄方式等。大致如此。
about 2 years ago - No comments
原因是 Jet Database Engine 沒有 64bit 版本之類的 … 總之記一下解法: 1. 進 IIS。 2. 應用程式集區 (Application Pools)。 3. 在站台所使用的 App (如 Class .NET AppPool) 上點右鍵,選擇「進階設定」。 4. 啟用 32 位元應用程式,打勾 5. 現在應該正常了 !!
about 2 years ago - 2 comments
日前處理一個案件,案主反映有個影片消失了。由於在自己的機器測試時都相當正常(Xampp),但請對方網管將檔案放到他們的 Server(Windows Server 2003)時就有這個問題。 試著直接在網址列上連該 flv 檔,但卻報 404 找不到檔案的錯誤,原以為是誤刪 flv 檔案了,再請網管確認時卻說 flv 仍在,這真是案情不單純了。 後來在 Adobe 官方網站上找到相關的說明(Windows 2003 Server does not stream FLV videos),原來是 IIS 預設不支援它不認得的 flv 媒體格式,需手動在 IIS 中設定。 以下是步驟: 1. 在 Windows 2003 上打開 IIS 管理員。 2. 在網站→內容中找到 HTTP 標頭的頁籤。 3. 進入 MIME 類型 … 新增 flv 的格式,MIME 類型填入 flv-application/octet-stream。