2013年4月15日

3D程式開發準備(3D Programming Beginning) #1 OpenGL 學習資源

OpenGL 學習資源

編譯環境設定:

  使用早期的 glew 與 freeglut 程式庫
   Setting up OpenGL, GLEW, and FreeGLUT in Visual C++
       http://openglbook.com/setting-up-opengl-glew-and-freeglut-in-visual-c/

   可參考第二篇相關文章" #2 OpenGL 程式庫編譯設定與四種可用資源(freeglut,SDL, Allegro, GLFW)"

線上網頁版電子書 :

   OpenGLBook.com (OpenGL 4.0) - A Free OpenGL Programming Book
       http://openglbook.com/the-book/

   OpenGL Insights - OpenGL, OpenGL ES, and WebGL community experiences
       http://openglinsights.com/

   GPU Gems 3 線上版
       http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

   Learning Modern 3D Graphics Programming 網頁版
       http://www.arcsynthesis.org/gltut/

2013年3月12日

Visual Studio Express 與 Professional (專業版) 的差異


最近安裝了Visual Studio 2010 Express的軟體(C++, C#),想了解與專業版(Professional)的差異,於是編譯測試了一些程式碼範例。

Visual Studio C++ Express為例,我發現可產生Lib, DLL, EXE等檔案,也可以透過內附的 MASM ml.exe 編譯 x86 組合語言的 asm 程式,但只能產生32位元版本的程式檔案。
從 UI 介面上亦發現支援編譯產生 Mutl-Threaded 或 Open MP 的 Code

其他較清楚的差異說明資訊,終於在網路上發現微軟官方的說明,分享給大家參考。
(下次如果老闆或主管問為什麼要買專業版而不用免費版時,這些資訊就可以拿出來用。)

上述網頁中微軟的相關說明文字摘錄於下:

QVisual Studio Express Professional 以上版本的主要功能差異?

AExpress僅提供最基本開發功能供學習及上手用,Professional/Premium/Ultimate 主要是供專業開發者/企業及團隊開發用,因功能差異點很多,但對於專業開發者實務開發上,在此列出 Express 版的主要差異,
1. 有限的專案範本與專案類型的支援
Visual Studio Express 版大多內建於各式 Microsoft 開發套件 (SDK),例如 Visual Studio 2010 Express for Windows Phone 內建於 Windows Phone SDK 7.1。還有些是可以獨立安裝的,如開發 ASP.NET / ASP.NET MVC Visual Web Developer Express,或開發 Windows Form 應用程式的 Visual Basic Express, Visual C++ ExpressVisual C# Express
依據不同的用途,Express 版僅提供最基本的專案範本,從網路上下載的一些專案類型或程式碼範例很有可能無法開啟,原因可能是少了專案範本、項目範本,例如:安裝專案 (Setup Project)、單元測試專案、WCF 服務、SQL Server 報表應用程式、工作流程應用程式等。
除此之外,像是類別設計師 (Class Designer)、程式碼定義視窗 ( Code Definition Window ) 等則無法使用。
2. 缺少巨集功能
一般在開發專案時,會利用巨集功能處理一些重複性的編輯工作,在 Visual Studio 2010 Express 無法使用。
3. 缺少 Visual Studio 2010 擴充管理員 ( Add-Ins, Wizard, VSPackages … )
Visual Studio 2010 擴充管理員提供 Visual Studio 2010 的擴充能力,可以下載並安裝許多好用的免費元件、擴充套件及範本、範例程式等,使用 Express 版無法使用擴充管理員。
關於一些常用的擴充套件,可以參考 Visual Studio 2010 開發技巧文章  Visual Studio Gallery,可以找到很多非常實用的套件。
4. 缺乏版本控管及完整軟體生命週期管理機制
Visual Studio 2010 Professional / Premium/ Ultimate 內建了與 Team Foundation Server (TFS) 伺服器整合的相關功能,但是在 Visual Studio 2010 Express 裡是不支援的。
5. 偵錯工具(Debugging Tools)
偵錯功能是開發過程中極其重要的功能,Visual Studio 2010 Express 裡有基本的功能,例如設定中斷點、單步執行、監看式視窗 (Watch Window)、本地變數視窗 (Local Window)、呼叫堆疊視窗 (Call Stack Window)、即時視窗 (Immediate Window)、輸出視窗 (Output Window) 等。
但還有一些常見的偵錯功能在 Visual Studio 2010 Express 並不提供,例如:附加至處理序 (Attach to process)、自動視窗 (Autos Window)、中斷點視窗 (Breakpoints Window)、呼叫瀏覽器 (Call Browser)JIT 偵錯 (Just-In-Time Debugging)
6. 單元測試 (Unit Test) - Express 版不提供單元測試功能
7. 64 位元程式開發  – Express 版不支援 64 位元應用程式開發
8. 若是 Web 開發者 - 下表列出 Visual Studio 2010 Professional 中可用的額外功能。更高階版本 – Premium Ultimate 亦包含 Professional 版的全功能,詳細功能比較,請參考 - Visual Studio 2010 版本比較表
功能
詳細資料
Web 控制項程式庫範本
Web 控制項程式庫專案範本可讓開發人員撰寫自訂的 Web 伺服器控制項。範本會加入建立控制項所需的專案項目,接著才能將控制項加入至任何 Web 專案。
Windows Presentation Foundation (WPF)
Windows Presentation Foundation (WPF) 提供統一的程式撰寫模型 (Programming Model),可為使用者建置豐富的 Windows 用戶端,在其中整合 UI、媒體和文件。
ASP.NET Crystal Reports
Crystal Reports Visual Studio 的報表工具,可讓開發人員建立互動、具簡報品質的內容。
SQL Server Compact Edition
SQL Server Compact Edition 是一款免費且容易使用的內嵌式資料庫引擎,可讓您建置穩固的 Windows 桌面及行動應用程式,以在所有 Windows 作業系統 (包括 Windows XPVistaPocket PC 以及 Smartphone) 上執行。
其他XML 功能
Visual Studio 包含 XML 支援,例如:
·         XSLT 偵錯工具。
·         XSD 結構描述設計工具。
·         XML 執行個體建立 XML 結構描述的能力。
·         XML 編輯器檢視 XSLT 輸出的能力。
·         編輯 XSLT 樣式表時的智慧驗證支援。
·         用於 XML 編輯的即時線上工具列。
其他程式碼編輯功能
Visual Studio 包含其他程式碼相關功能,例如 [程式碼定義] 視窗和更多的重構 (Refactoring) 支援。
[程式碼定義] 視窗是唯讀的編輯器檢視,可顯示使用中專案儲存在程式碼檔案中或加以參考之符號的定義。
重構 (Refactoring) 是在程式碼撰寫之後,藉由變更程式碼內部結構來改善程式碼的程序,這項程序不會變更程式碼的外部行為。
其他建置支援
Visual Studio 包含其他建置支援,包含定義建置前和建置後命令的功能、強式名稱簽署,與程式碼存取安全性 (CAS) 設定。
其他程式碼撰寫公用程式
Visual Studio 包含其他程式碼撰寫公用程式,例如原始檔控制的整合支援。它同時含轉換公用程式,可將 Visual Basic 6.0 專案轉換為 Visual Studio 中的 Visual Basic 專案。

2013年3月11日

Visual Studio C++ 2010 編譯設定參考


Visual Studio C++ 2010 編譯設定參考

  Solution Explorer 下 點選 Solution項目按右鍵選 Properties
    Property Pages 視窗
      Configuration Properties (Debug Version之$(Configuration)為Debug)
         General
            Output Directory => $(ProjectName)$(Configuration) (所設定之值存入$(OutDir) )
            Intermediate Directory => $(ProjectName)$(Configuration)\tmp
            Target Name => $(ProjectName)
         C/C++
           General
             Additional Include Directories => (#include 檔案的路徑,使用$(SolutionDir)要注意 sln檔所在的目錄,若需 include外部 lib,需加入相關 header檔的路徑。程式中的 #include 後的 header檔名內盡量不用相對路徑或絕對路徑,減少因程式或所使用參數之目錄發生異動,造成無法 include到正確路徑的 header檔。)
         Linker  (執行檔或DLL檔)
           General
             Output File => $(OutDir)xxx.exe ($OutDir為前面"Output Directory"所設定之目錄)
             Additional Library Directories => (設定所需其他 lib 檔 的目錄集合,編譯後產生的 lib檔可統一集中手動複製到專案目錄下的"Lib Debug"或"Lib Release"供其他程式專案使用)
           Input
             Additional Dependencies => (放入所要連結的外部 lib檔案名稱,若Debug版與Release版檔名不同,則需注意設定正確。)

         Librarian  (Lib檔)
           General
             Output File => $(OutDir)xxx.lib ($OutDir為前面"Output Directory"所設定之目錄)
             Additional Dependencies => (意義同上)
             Additional Library Directories => (意義同上)

2013年1月8日

Adobe CS2 軟體組合於官網提供下載

Adobe 描述 CS2產品啟用伺服器因技術問題無法於新的作業系統上使用,官網出現下載這些產品的網頁。

這次提供下載 Adobe CS2 的軟體包括:
Creative Suite 2(Windows、Mac)
Acrobat 3D 1.0 for Windows
Acrobat Standard 7.0(Windows、Mac)
Acrobat Pro 8.0(Windows、Mac)
Audition 3.0(Windows)
GoLive CS2(Windows、Mac)
Illustrator CS2(Windows、Mac)
InCopy CS2(Windows、Mac)
InDesign CS2(Windows、Mac)
Photoshop CS2(Windows、Mac)
Photoshop Elements 4.0/5.0(Windows、Mac)
Adobe Premiere Pro 2.0(Windows)

Adobe官方下載軟體頁面(無須註冊,網頁上已提供序號)
   http://www.adobe.com/downloads/cs2_downloads/index.html

可參考介紹文章:
   http://www.freegroup.org/2013/01/adobe-photoshop-illustrator-acrobat-indesign-cs2-for-free/#.UOvH0uSt_Xf

不知在Windows 7/8上可否正常執行?

至於是否屬於免費使用,官方原意應是提供原有CS2授權使用者繼續使用的服務,所以無授權的企業或商業使用應該是不行的。那個人在家庭的學習使用而不做商業用途呢?就請大家自行解讀了...

可參考如下iThome 2013-01-08 新聞"Adobe:CS2 公開序號是為繼續服務舊版客戶"
新聞中提到...


對於目前在網路上盛傳的Adobe免費提供CS2及Acrobat 7等軟體與啟用序號的消息,Adobe周一(1/7)發表聲明表示,這是為了服務老客戶。因此,若未購買授權的企業,切勿下載並安裝。 
......
所以,雖然使用者能夠透過官網免費下載Adobe這些舊版軟體,並取得軟體的啟用序號,但並不意謂著企業可以自由免費下載使用。若企業未購買合法授權,那麼很可能被視為侵權。所以建議原先誤以為這是Adobe免費贈送而安裝的使用者,盡快移除電腦上的軟體安裝以免觸法。



2012年4月28日

Highcharts - javascript 超炫互動圖表的程式庫


最近觀察到 javascript 透過程式庫與元件更新不斷的進化,

1.現有的模板程式庫已可同時滿足所有主流瀏覽器(跨平台)與行動平台環境。
2.簡潔易用的特性。
3.圖形UI能力愈來愈強。(透過google與apple瀏覽器技術的推動)
4.強勁的程式庫與元件支援不斷被開發出來,連不支援 HTML5 的瀏覽器都可以透過執行免費js程式庫,達到支援的效果。

以下提供javascript展示互動圖表的程式庫範例...

Highcharts - javascript 互動圖表 library

官網 http://www.highcharts.com/
Demo
Highcharts http://www.highcharts.com/demo/ 
Highstock http://www.highcharts.com/stock/demo/

2012年3月30日

圖書館自動化系統機讀編目的基礎知識

圖書管理系統或其他產生機讀編目之資訊系統匯出MARC機讀格式,須先確認格式屬性:
MARC 格式是否符合標準 ISO2709 格式
字元編碼,以中文來說常見的有 CCCII, BIG5, UTF8
確認 MARC 資料與館藏資料正確性
確認 MARC 格式,CMARC or UNIMARC or MARC21 等,

全國圖書書目資訊網(National Bibliographic Information Network,簡稱NBINet)網址為http://nbinet.ncl.edu.tw/,NBINet系統存有US(美國機讀編目)及C(中國機讀編目) 兩種機讀格式,皆為UNICODE字碼之ISO2709記錄。
國家圖書館書目資訊中心為了推動NBINet聯合目錄資料採用此一國際標準,自2004年即組成「Unicode工作小組」,並於95年完成CCCII(Big5)與Unicode對照表,除了建置系統,提供檢索外,也久於各種合作館會議中預先說明字碼轉換計畫及其影響,以利早為因應。
與系統廠商經過多次測試之後,聯合目錄系統於2010年完成將資料內碼從CCCII轉換為Unicode (UTF8)。目前系統提供的公用目錄 (WebOPAC) 為Unicode查詢介面,為了維持儲存及輸出內碼之一致性,書目資料輸出內碼亦更改為Unicode。
中文內碼轉為Unicode之歷程說明請參考 http://nbinet.ncl.edu.tw/content.aspx?t=b&id=5

全國圖書書目資訊網(National Bibliographic Information Network,簡稱NBINet)聯合目錄系統於1998年4月正式啟用,主要功能在提供國內各圖書館合作編目之用,並可供一般使用者查詢利用聯合目錄資料庫。
NBINet「圖書聯合目錄」資料庫採集中式結構,收錄的資料包括國家圖書館及76所各類型合作單位陸續提供之書目及館藏資料、國際標準書號中心新書書目、漢學研究中心藏書目錄、民國1-38年參考書目、港澳地區參考書目,書目資料量截至100年1月底止已超過870萬筆。
該資料庫系統功能除提供合作館進行線上合作編目之外,一般使用者可使用瀏覽器連線查詢並下載或轉錄多種格式資料,並提供符合Z39.50協定之跨系統查詢功能,連結其他具有相同功能的資料庫進行查詢。本資料庫目前採Unicode內碼儲存,可查詢及顯示中、日、韓、歐文等多種語文資料。

Koha 是OpenSource 圖書館自動化系統(Integrated Library System, ILS), 可處理MARC資料( 包含 big5 轉成 utf8 ),官網為 http://trac.koha-tw.org/
有關機讀格式與館藏資料匯入 KOHA可參考
http://trac.koha-tw.org/wiki/ImportToKoha

2012年2月19日

Apple IOS 程式開發免費電子書最新消息!

iPhone/iPad/Mac 軟體開發所需的Apple官方電子書,最近開放從 iTunes/iBooks 平台免費下載了,小弟從
Cult of Mac "Apple Publishes Six Free Electronic Books for Developers" 文章得知後,也下載了5本電子書(Cocoa Fundamental’s Guide, The Objective-C Programming Language, iOS Application  Programming Guide, Object Oriented Programming With Objective-C, iOS Technology Overview)。不過這是Cult of Mac文章提到6本中的5本,其中第6本"iOS Human Interface Guidelines" 在 iTunes/Books搜尋不到,可能已下架。

Apple對OSX/IOS程式開發者的照顧果然用心,XCode不用錢,不像微軟 Visual Studio 只有express版免費,現在結合iBooks/iPad/免費電子書的服務,這種佈局真是厲害!