2012年11月7日 星期三
Windows XP Firewall 如何一次開多個 Ports
微軟的 Windows 作業系統現在都內建 Windows Firewall,會幫電腦阻擋惡意軟體的網路攻擊。如下圖,Windows Firewall 的介面是視覺化的,它可以讓你開啟 Port,可是一次只能設定一個 Port (如下圖二)。如果你需要開很多個 Ports,可以在命令列下 (Command Prompt) 以指令的方式操作,底下說明怎麼做。
一次開多個 Ports
假設我們要開 UDP 1234 到 1238 這 5 個 ports,操作步驟如下:
Step 1: 點選 "開始 > 執行",輸入 cmd,然後按下確定打開命令列視窗:
Step 2: 在命令列視窗輸入底下指令:
FOR /L %I IN (1234,1,1238) DO netsh firewall add portopening UDP %I "UDP "%I
輸入指令,按下 Enter 後,Windows Firewall 就會開啟 1234 到 1238 這 5 個 ports。如下圖,Windows 會顯示指令執行後的結果,回應 "確定" 表示 Port 有開啟成功:
Step 3: 打開 Windows Firewall,切到 "例外" 頁面,檢查例外清單,確認 1234 到 1238 這 5 個 ports 有沒有成功開啟:
如果要一次關掉多個 Port,例如把前面打開的 5 個 ports 全部關掉,則指令為:
FOR /L %I IN (1234,1,1238) DO netsh firewall del portopening UDP %I
執行畫面如下:
不只 UDP Ports,TCP Ports 也可以,只要把 Protocol 參數改為 TCP 即可:
一次開多個 TCP Ports:
FOR /L %I IN (1234,1,1238) DO netsh firewall add portopening TCP %I "TCP "%I
一次關閉多個 TCP Ports:
FOR /L %I IN (1234,1,1238) DO netsh firewall del portopening TCP %I
如果要開的 Ports 號碼是不連續的呢?也可以,把指令稍微調整一下就好:
一次開多個 UDP Ports,Port 號碼不連續:
FOR %I IN (1234, 5678, 8765, 4321) DO netsh firewall add portopening UDP %I "UDP "%I
一次關閉多個 UDP Ports,Port 號碼不連續:
FOR %I IN (1234, 5678, 8765, 4321) DO netsh firewall del portopening UDP %I
如果怕記不住,可以把指令儲存成 .bat 批次檔,下回你只要跑一下批次檔就行了。不過,要特別注意一件事!在批次檔中,變數的指定必須使用 %%variable,而不是用 %variable,像這樣:
FOR /L %%I IN (1234,1,1238) DO netsh firewall add portopening UDP %%I "UDP "%%I
Well, 同樣是變數的指定,在命令列下跟批次檔裏,寫法居然不一致,我知道,這很怪,但微軟 DOS 指令就是這麼設計的,儘管納悶也拿他沒法子!:-)
參考資料
2012年11月1日 星期四
Windows 7 在工作資料夾開啟 DOS Prompt
以前 Windows XP 得設定 Registry 才可以建立「資料夾右鍵選單 DOS Prompt」,這功能現在到了 Windows 7 已經變成內建機制了。
操作方法
在檔案總管視窗中,在你想要的工作資料夾上按著 Shift 鍵並點滑鼠右鍵,此時右鍵選單會多出一個「在此處開啟命令視窗(W)」的選項:
點選後,就會開啟一個 DOS Prompt 命令列視窗,而且會自動切換到工作資料夾:
以系統管理員身分打開 DOS Prompt
點選 Windows 的開始,在搜尋列輸入 cmd,如下圖,在 cmd.exe 程式上按著 Shift 鍵並點滑鼠右鍵,此時右鍵選單會多出一個「以系統管理員身分執行(A)」的選項:
點選後,新開的 DOS Prompt 命令列視窗就會以系統管理身分執行:
參考資料
2012年10月16日 星期二
MoaiCity [徵才] 我們需要你
MoaiCity 是一家手機遊戲開發商,這家公司的老闆 Jack 是我的朋友,今天我要在這邊發個牢騷,訴說我對他的不滿。
Jack 有什麼讓我不滿的地方嗎?有,他讓我不滿的地方可多了,主要的有三個:第一是他比我年輕,第二是他技術能力比我強,第三個讓我感到不滿的,是他比我有勇氣,兩年前景氣正低迷,Jack 居然敢在當時拋下一切出來創業,成立 MoaiCity 這家專門寫手機遊戲的公司,實在大膽。
時間過的真快,一下子就過了兩年。兩年過去了,景氣不振,依舊低迷,MoaiCity 卻逆風而行,而且腳步愈走愈穩健。不行!我不能表露出來!但是 MoaiCity 兩年內上架了 12 款 Android 遊戲 (參考 Google Play),Facebook 粉絲人數將近一萬兩千人,收入穩定了不說,而且遊戲還得獎受到肯定。兩年的時間可以有這樣的成績,令人不得不佩服。當然,要讓我崇拜 Jack 是不可能的,除非 MoaiCity 成為全台第一的手機遊戲公司。
MoaiCity 最近開始徵才了。朋友,如果你想寫手機遊戲,如果你想一展長才,我推薦你考慮 MoaiCity 這家公司!詳情請看 MoaiCity 的徵才訊息:
http://blog.moaicity.com/2012/10/we-need-you.html
▲ 圖片取自 MoaiCity 部落格
2012年8月15日 星期三
Plex Media Server (隨插即用多媒體伺服器)
Plex Media Server 是一個隨插即用多媒體伺服器,電腦上若安裝這套軟體,支援 DLNA 與 UPnP AV 的數位家電,就可以通過網路取得並播放位於電腦裏的電影、音樂和照片等多媒體。播放器有很多種形式,可以是一般電腦,可以是數位電視,也可以是智慧型手機。
這篇將介紹 Plex Media Server 的安裝與基本使用方法,最後我會提到如何用 Android 手機來播放電腦裏的多媒體。
下載
Plex 支援 Mac, Linux 和 Windows,所有版本都可以在這裏取得。我電腦用的還是很古老的 Windows XP 作業系統,所以這篇將以 Windows XP 為例說明,Windows 版本的 Plex 可以在這裏取得。(請確定你下載的是 Plex Media Server,不是 Plex Media Center。Plex Media Center 是播放器。)
為了方便,我將用 Plex Media Server 的簡稱 PMS。
安裝 PMS
下載 PMS 後,點兩下執行檔啟動安裝程式:
照著安裝程式一步一步做 (一直按 Next 就對了),最後會出現安裝完成的畫面:
如果你有勾選左下方的 "Run Plex Media Server on exit",當按下 Finish 按鈕時,PMS 就會開始運行。你可能會看到底下這個自動檢查軟體更新的訊息,就看你喜歡哪個,要讓它自動檢查就按 Check automatically,不然就按選 Don't check。
設定 PMS
安裝好 PMS 後,應該會在右下角的系統工具列看到 PMS 的圖示:
在圖示上按右鍵會帶出一個選單,請選擇 "Media Manager",這個動作會在你瀏覽器上啟動 Media Manager:
現在可以開始把多媒體 (電影、音樂或照片) 加到我們的 Media Library 了。只要點選畫面上的多媒體 (如 Moveis, TV Shows, Photos, Home Movies, Music),然後就會跳出一個可以讓你指定多媒體檔案位置的 popup box:
在加入多媒體後,你可能要耐心等候一下,因為如果你有很多影片、音樂和照片,PMS 會花一些時間收集這些多媒體的資訊。當 PMS 掃瞄完畢時,回到 Media Manager 主畫面,應該就會看到已經加進 Media Library 的多媒體:
點選任何一個影片,會跳到影片的詳細介紹,這個是 PMS 從網路上收集來的資訊:
PMS 的設定簡單介紹到這邊,接下來我們來用 Android 播放多媒體伺服器裏的內容。
Android 播放器
首先,請先到 Google Play 下載 BubbleUPnP。安裝好啟動後, BubbleUPnP 會問你要不要建置一個 server,你可以按 Skip 跳過:
Screenshot_2012年08月15日-14-06-43
此時請確定 Wi-Fi 有開啟並且連到和 PMS 同一個網路,切到 BubbleUPnP 的 DEVICES 頁面,在 SELECT LIBRARY 下應該會看到你的 PMS server,請在清單中選擇 PMS server:
Screenshot_2012年08月15日-13-50-33
在上圖的 SELECT RENDERER 區中,要確定選擇的是 Local Renderer。Local Renderer 代表你的 Android 裝置。如果家裏有其它播放器也可以利用 BuubleUPnP 把 PMS 中的多媒體串流到其它播放器中,例如數位電視。
接著切到 LIBRARY 頁面,就會看到 PMS 上分享出來的多媒體:
Screenshot_2012年08月15日-13-50-43
因為我加了一些影片在 Movies 資料夾,所以選擇 Movies:
之後便會看到我 PMS 上分享出來的電影:
Screenshot_2012年08月15日-13-50-58
接著只要點一下影片,就可以用手機播放電腦裏的電影囉。
參考資料
2012年5月23日 星期三
關掉自動產生 Thumbs.db 檔
Thumbs.db 是 Windows 自動產生的圖片快取檔,在我們瀏覽照片縮圖的同時,Windows 就會在同一個資料夾自動產生 Thumbs.db,讓下一次看照片縮圖時可以更快速。Windows 這樣做目的是要給使用者方便,不過也帶來了其它不便。
像我最近在學 Android 手機程式設計,本來程式都好好的,編譯都很順利的,可是如果我用檔案總管看 res 資料夾裏的縮圖,Windows 就會自動產生 Thumbs.db,結果下次回到 Eclipse 時就會發現,明明程式碼都沒動過,卻無緣無故編譯過不了關,再去找錯誤原因,才知道是因為 Eclipse 發現多了一個它不認得的檔案的關係,我還得手動把 Thumbs.db 刪掉才能讓程式通過編譯,真惱人!
要怎麼讓 Windows 不要自動產生 Thumbs.db 檔呢?很簡單,只要開啟檔案總管,到選單的「工具 > 資料夾選項 > 檢視」這個畫面,然後勾選「不要快取縮圖」這個選項就行了:
2012年1月8日 星期日
Tera Term 簡介
Tera Term 是一款很好用的開放源碼 (Open Source) 終端機連線工具。底下簡單介紹一下這支工具。
下載
Tera Term 可以在底下的網址取得:
快速上手
啟動 Tera Term 的時候會出現 New connection 畫面,以 COM Port 連線為例,請選 Serial 並在 Combobox 下拉選單選擇 COM Port:
按下 OK 後,Tera Term 就會打開 COM Port。所以,如果你 COM Port 上有接設備,馬上就可以看到設備丟出來的資料:
2012年01月08日 10h54_33
▲ Tera Term 預設會用 9600 的 baud rate 開啟 COM Port
2011年5月14日 星期六
Source Navigator NG 介紹
Source Navigator NG
source navigator NG 是一個程式碼分析工具。
有了它,你可以編輯 source code,用它顯示 classes 跟 functions 以及 members (instance variables 與 instance methods 等) 之間的關係,而且還可以顯示 call trees。
就像地圖導航工具帶給人們的方便一樣,你可以用 source navigator NG 導覽 source code,很輕鬆就能找到 functions, variables 和 macros 等 symbols 的宣告(declarations)與實作(implementations)的位置。
這種商品市面上也有,比較知名的應屬 source insight。source navigator NG 則是 GPL 自由軟體,固然如此,相較於 source insight,source nagivator NG 其實毫不遜色。
source nagivator NG 是 Source Navigator 的下一代,它改善了效能,也比較好用。
2011年5月4日 星期三
Soundcard Scope
Soundcard Scope 是 Christian Zeitnitz 用 LabView 開發而成的一套 PC-Based 音效卡示波器,可以在底下的網址取得:
特色:
- Trigger modes: off, automatic, normal and single shot
- Triggerlevel can be set with the mouse
- The signals of the two channels can be added, subtracted and multiplied
- x-y mode
- Frequency analysis (Fourier spectrum)
- Waterfall diagram (frequency spectrum as function of time)
- Frequency filter: low-, high- and band-pass
- Cursors to measure amplitude, time and frequency in the main window
- Audio Recorder to save data to a wave file
- For multi soundcard system, the used card can be selected in the settings tab
底下這張圖是利用 Soundcard 量測紅外線訊號得到的波形,真酷!
2011年3月10日 星期四
讓 SWF Flash 檔可以使用本機的通訊端(local socket)
由於安全性的因素,Flash Player 預設不允許 SWF 檔開啟本機的通訊端(local sockets),假如 SWF 檔會開啟 socket 通訊,當你在 Flash 開發環境外(例如 Flash Professtional CS5)開啟這個 SWF 檔時,Flash Player 會跳出底下這個「SecurityError: Error #2010: 不允許含檔案系統的本機(Local-with-filesystem) SWF 檔案使用通訊端」的警告訊息:
如果你需要在 Flash 開發環境外跑 Flash SWF 檔,不希望 Flash 太緊張跳出上面的警告訊息,那麼你必須修改 Flash 的安全性設定。底下提供兩個修改方法:
2011年1月22日 星期六
Google Chart API 教學
Google Chart API 簡介
Google Chart API 是 Google 提供的線上製作圖表的工具,它可以讓使用者動態產生圖表。它的使用方法很簡單,請打開瀏覽器,再將底下的網址貼到網址列:
https://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=300x120&chl=Google|Microsoft
然後你就會看到這張圖片:
你可以把 Google Chart API 動態產生的圖表放到網頁中,只要把 URL 寫到 <img> 標籤的 src 屬性裏即可,像這樣:
2010年1月23日 星期六
Microsoft Project 時幅顯示的日期快了一年
問題說明
我在安排工作計劃,使用 Microsoft Project 這支工具。我用的版本是 Microsoft Project 2003。在畫甘特圖的時候,Microsoft Project 時幅顯示的日期總是快了一年,現在是 2010 年 1 月 23 日 ,它卻顯示 2011 年:
我想這可能與會計年度有關,Microsoft Project 時幅上顯示的大概是會計年度的結束日期,因此快了一年。
解決辦法
- 點【工具>選項(Q)…】打開選項視窗
- 切到行事曆 Tab,把「會計年度開始於(F):」改為一月以外的月份,例如二月:
設定完成之後,時幅顯示的日期立即變成當下的日期:
參考資料
2009年12月26日 星期六
SSH Secure Shell 軟體介紹
大綱
- What's SSH Secure Shell
- 軟體操作簡介
- 建議的環境設定
What's SSH Secure Shell
- SSH Secure Shell 是 SSH Communication Security 這家公司出的 SSH 連線軟體
- 有良好的 GUI 操作介面,除了遠端終端機,還可以做檔案傳輸
- 原本是免費下載的,新版 4.0 開始改成收費制,產品也更名為 SSH Tectia。不過網路上還是可以找得到 3.2.9 免費版
- 官方網站: http://www.ssh.com/
軟體操作簡介
執行 Secure Shell Client,程式位置在【開始 / 程式集 / SSH Secure Shell / Secure Shell Client】:
2009年12月12日 星期六
Dev-C++ 無法 debug
問題說明
我在寫一些 C/C++ 小程式,使用 Dev-C++ 這個免費又好用的 IDE 開發工具。我用的版本是 Dev-C++ 5.0 beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2。在 debug 程式時,Dev-C++ 一直出現 “Your project does not have debugging information, do you want to enable debugging and rebuild your project?” 這個訊息:
不管按多少次 Yes,就是沒辦法 debug。我想這應該是 Dev-C++ 的臭蟲,它沒有正確傳達要產生 debug information 的訊息給 gcc。
解法
-
方法一:修改 “Project Options” (Project→Project Options→Compiler→Linker),把 “Generate debugging information” 改成 Yes。不過這個方法有個缺點,每個需要 debug 的專案都做同樣的動作:
-
方法二:修改 “Compiler Options” (Tools→Compiler Options→Settings→Linker),在底下視窗的兩個 textbox 中都輸入 -g,並把兩個 chekbox 都打勾,讓 gcc 每次編譯時都產生 debugging information,一勞永逸:
VisualSVN Server 簡介
VisualSVN Server 是什麼
VisualSVN Server 是 Subversion, Apache 和 MMC(MS Management Console) 的統包(Turnkey),好處有:
- 免費下載
- 檔案小,V1.7 版才 3.77MB
- GUI-based 介面,操作簡單
- 內建帳戶管理,亦支援 Windows, Active Directory 認證
安裝步驟
- 到 http://www.visualsvn.com/server/ 下載安裝程式
- 執行安裝程式
- 在 Custom Setup 頁面中選擇安裝路徑、Server Port 以及認證方式
-
開始安裝, 完成時安裝精靈會詢問你要不要開啟 VisualSVN Server Manager
使用範例
-
VisualSVN Server Manager 首次執行的畫面
-
先按 Create new user 建個帳號來試試
-
用剛剛建好的帳號瀏覽網頁,登入畫面如下:
VisualSVN Server 顯示目前還沒有 Repositories:
-
來建個 Repository 試試:
網頁上可看到剛建好的 sample repository:
-
也可以用 TortoiseSVN Client checkout
參考資料
-
VisualSVN - A Visual Studio plug-in that integrates Subversion and TortoiseSVN seamlessly with Visual Studio.
後記
-
VisualSVN 宣稱支援 Active Directory 認證,在 VisualSVN Server Properties 視窗的 Authentication 這裏有看到兩種認證方式 (1) 內建認證 和 (2)Windows 認證,但卻沒看到 Active Directory 的認證方式,不曉得 Active Directory 認證要怎麼做?