[好站分享] GitHub 上的瘋狂 C++ 相關資源清單:Awesome-C++
逛國外網站這麼久,很少碰到有資源齊全到讓我倒抽一口涼氣的...這個作者對 C++ 很有愛啊~~
Awesome-C++,是掛在 GitHub 上的一個 C++ 資源清單。收集了 C++ 相關的函式庫、軟體、書籍、文章...還推薦作者覺得也不錯的其它清單。連結如下:
https://github.com/fffaraz/awesome-cpp
一旦點進去,你會被裡面滿滿的超鏈結,把你的腎上腺素濃度打到最高... XD。如果您平常工作與 C++ 相關,您絕對不能錯過這份清單。我簡單列出一下這份清單有什麼:
(以下文長,是寫給英文苦手的讀者看的。英文沒啥問題的朋友,建議直接看原文即可)
一、函式庫與框架
* 標準函式庫(Standard Libraries):
C++ 原生函式庫、POSIX、ISO、GNU 各家出品的標準函式庫都有。
* 程式框架(Frameworks)
「框架」比「函式庫」規格大一點。一般來說,「函式庫」幫你把常用的程式寫好,你只要叫用就好了,是一種幫助你加速完工、但並沒帶來任何新功能的一堆程式碼。「框架」則是替原始 C++ 帶來一些令人驚艷的新功能。不過這種分法,並非絕對的。
* 人工智慧(Artificial Intelligence, AI)相關框架與函式庫
想要催得動這一坨東西,得有點 AI 背景。否則你可能不知道函式庫提供給你「深先搜尋(Depth-first Search)」與「廣先搜尋(Width-first Search)」這些函數怎麼讓那堆冷冰冰的硬體多一點智慧。
* 非同步呼叫所使用的事件佇列(Asynchronous Event Loop)
一般來說,一個程式呼叫另一個程式,「叫人的」得等「被叫的」把事情做完,才能繼續進行下一步。就像一個經理眼睛盯著新手做事、沒辦法回到辦公桌做自己的事一樣,這種模式叫「同步呼叫(Synchronous Call)」。比較好的作法,是你交代完新手該做什麼,就離開回去做自己的事,等新手做完了,再來報告說「我做完了」,這種模式叫「非同步呼叫(Asynchronous Call)」。不過要能做到「非同步」,「叫人者」與「被叫者」之間,得有「事件(Event)」這個機制,讓兩者互相溝通該做的事,以及是否完工。此處提供的,都是讓 C++ 能達成「非同步」機制的函式庫或框架。
* 音效(Audio)相關框架或函式庫
這裡放的,都是讓你的 C++ 能做到讀取音效檔(如:mp3),並用程式碼對該檔進行剪輯、混音...等動作的函式庫或框架。
* 生物(Biology)相關框架或函式庫
這邊的函式庫,可以讓您用 C++ 比對兩條 DNA 序列相似度有多高,或者從一大堆不同樣本的 DNA 中,找出哪條 DNA 與哪條可能有親緣關係...等。
* 命令列(Command Line Interface, CLI)相關框架或函式庫
用這邊的函式庫,可以讓您在命令列跑出一些令人驚艷的效果。如 NCurses 就是一套能在命令列之下,用文字盡量模擬出下拉式選單、按鈕...圖形界面的感覺。
* 壓縮(Compression)相關函式庫
讓您不必瞭解檔案壓縮原理,會叫用相關函數就能做到檔案壓縮。
* 平行處理(Concurrency)相關函式庫
讓 C++ 也能輕易做到同時處理多件事情的函式庫。
* 資料結構相關函式庫(Containers)
提供資料結構內的 B-Tree 與 Hashmaps 等架構,讓 C++ 輕鬆取用。
* 加密(Cryptography)相關函式庫
提供加密解密相關函數。
* 資料庫(Database)相關函式庫
讓 C++ 可以用幾道命令,輕鬆接取 MySQL、MongoDB...等知名資料庫內的資料。
* 除錯、測試、效能(Debug)相關函式庫
雖然原文只用了「Debug」這樣的簡單字眼,但這一區的函式庫包含「單元測試(Unit Test)」、「效能測試(Benchmark)」、「記憶體用量追蹤(Memory Tracking)」等功能的函數。讓您的程式在還沒跑之前,就接受嚴格檢驗,降低發生錯誤的機會。
* 遊戲引擎(Game Engine)
提供一些函數,讓您輕鬆讀入 3D 建模軟體(如:Maya, 3D Studio...)做出來的模型與動畫。並在程式內特定事件(如:碰撞)發生時播放。也提供打光(Shading)、物理函數(如:彈跳、碰撞)...等方便的程式供您取用。這些東西讓您在寫遊戲時,能以更快的效率產出結果。
* 圖形界面(Graphical User Interface, GUI)
讓您用 C++ 建立漂亮的視窗、對話框、核取框、下拉式功能表...等圖形界面。
* 圖形(Graphics)相關函式庫
這部分多與遊戲引擎搭配,提供 2D 圖形處理或 3D 光跡追蹤(Rendering)等「外觀美化」的函數。讓您的遊戲角色或場景,看起來更栩栩如生。
* 影像處理(Image Processing)相關函式庫
包含讀入/繪出各式圖檔(PNG、JPG、GIF...)、光學字元辨識、電腦視覺、讀入/播放各式影片(MP4...)等函數。
* 國際化(Internationalization)相關函式庫
讓您用 C++ 寫出來的程式,可以輕易支援各國語言(當然,各國語言要事先請翻譯社先翻好,這邊只是提供語系切換的機制)。
* 行程間通訊(Inter-Process Communication, IPC)相關函式庫
兩個跑起來的獨立程式(如:兩個執行檔)想在執行過程中交換資料,稱為「行程間通訊」,簡稱 IPC。IPC 雖然不至於難如登天,不過要做到,手續還是很瑣碎的。這邊的函式庫提供好用函數,讓兩個行程交換資料時,變得比較容易。
* JSON 支援相關函式庫
JSON 原文是 JavaScript Object Notation。是一種用「純文字」來表示「資料」的方法。如一筆「李大華、35 歲、手機 0937555666」的資料,用 JSON 表示是這樣的:
[
Name: "李大華",
Age: 35,
Mobile: "0937555666"
]
之後可以讓這樣的資料,流通於瀏覽器與伺服器之間。而 JSON 函式庫,可以快速幫您分析 JSON 表示的資料,將它還原成您要的格式。
* 日誌(Logging)支援函式庫
日誌在「系統稽核」中,是很重要的功能。系統得把「什麼人、等級多高、做了什麼事、何時做的、對哪部分做的、從哪個 IP 過來...」忠實記錄下來。萬一系統出事了,我們就能追查可能是誰搞的。類似「監視器」的功能。這部分的函式庫,可以讓 C++ 輕易做到「日誌」功能,您不用傷腦筋日誌功能該怎麼寫,它已經幫您寫好了。您只要會用就行。
* 機器學習(Machine Learning)相關函式庫
提供如「類神經網路」、「電腦視覺」等進階函式庫,讓您的 C++ 程式有少量人類視覺與思考能力(真的很少量,請不用有太高期待)。
* 數學(Math)相關函式庫
一些線性代數、矩陣運算...等相關數學函數。
* 多媒體(Multimedia)相關函式庫
如:影音串流...等相關函數。
* 網路(Networking)相關函數
提供各種低階網路協定相關函數。如:TCP/IP、HTTP、點對點傳輸、非同步通訊、以及一些與 Facebook 橋接的相關函數。
* 物理模擬(Physics)相關函數
這部分也可以大量用於遊戲程式設計。主要提供一些函數,用來模擬自然界各種物理現象。如水流、風吹、碰撞、彈跳...等。
* 機器人控制(Robotics)相關函數
一堆方便你控制或模擬機器人行為的函數。
* 科學運算(Scientific Computing)
一些在科學上比較用得著的數學運算。如工程數學、傅立葉分析...等。
* 腳本語言控制(Scripting)
包含一些能讓 C++ 與各種腳本語言(JavaScript、PHP、Perl...)橋接的函數。
* 序列化控制(Serialization)
首先解釋一下何謂序列化。序列化可以把程式執行到一半的樣子,如數保存於硬碟中,甚至於可以關機。之後可以把序列化的資料「反序列化」,將它「解凍」還原至記憶體繼續跑,就像當初跑到一半被「冷凍」當下再往下執行一樣。這邊提供許多 C++ 序列化的函式庫。
* 影片處理(Video)
可以讀入/播放各種影片檔的函式庫。
* 虛擬機(Virtual Machines)
這邊提供一些用 C++ 寫出來的「輕量級」虛擬機。所謂虛擬機,是用軟體模擬出硬碟、處理器、記憶體、螢幕,工程師可以在虛擬機內安裝另一個作業系統,就好像安裝作業系統至真實機器一樣。
* 網頁應用軟體框架(Web Application Framework)
集合了一些用 C++ 寫出來的 WWW 伺服器、或開發網頁時用得上的函式庫等。
* XML
如果你希望教會你的 C++ 程式「讀懂」一個 XML 檔在講什麼,這邊提供了一堆 XML 解析器(XML Parser),方便您分析從遠方伺服器傳來的 XML 檔到底想表達什麼樣的資料。
* 其它(Miscellaneous)
一些無法分類的東西,通通塞在這裡。大部分是一些小型的函式庫或 C++ 與其它語言的橋接軟體。
二、C++ 相關軟體
* 編譯器(Compiler)
各類把 C++ 原始碼編成 0 與 1 機械碼的軟體。
* 線上編譯器(Online Compiler)
懶得安裝編譯器的話,現在有一堆線上的編譯器。你上傳原始碼,它會編成機械碼後,丟還個執行檔給你下載。
* 除錯器(Debugger)
一些有名的 C++ 除錯器。當你的程式無法執行時,可以靠它找出到底錯在哪裡。
* 整合式開發環境(Integrated Development Environment, IDE)
IDE 就是把文字編輯器(Editor)、編譯器(Compiler)、除錯器(Debugger)...等軟體整合成一體的軟體。您可以不離開該環境,就能寫碼、編譯、除錯、執行...。
* 軟體建構系統(Build Systems)
簡單說,就是把一些瑣碎動作事先安排好、可以在程式碼修改後,下達一條指令(如:「建構!」),就可全自動一條鞭地從編譯、測試、備份、安裝...一口氣完成的系統。
* 原始碼靜態分析軟體(Static Code Analysis)
丟入原始碼,可以幫你找出哪段程式可能發生錯誤,或者可能造成效能低下。也能找出完全沒被叫用到的原始碼,提醒您刪除。甚至於可以把您的程式碼重排成符合特定格式,統一多人寫碼風格時很有用。
三、其它資源
* API Design 文件
* 有用文章(Articles)
* 推薦書籍(Books)
* 寫碼風格(Coding Style)
* 演講(Talks)
* 影片教學(Videos)
* 有用網站(Web Sites)
* 有用部落格(Weblogs)
* 其它 Awesome C++ 姊妹作(Other Awesome Projects)
四、其它也很棒的清單(Other Awesome Lists)
能看到這行字的,給您拍拍手!辛苦了!希望今天分享的內容您會喜歡!也請您不吝按讚鼓勵,或分享給您 Facebook 的親朋好友!
同時也有19部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,ASP.NET數位影音資料庫第2天上課全程影音分享 第二天上課內容以範例為主,儘可能的讓每個同學學起來輕鬆又簡單, 幾乎很快可以做出來,大家幾乎都是沒有程式設計基礎的學員, 剛開始還會懷疑自己是不是學的會ASP.NET,但兩天課程下來, 都可以不只做出成果,還可以做一些變化了, 可見ASP.NEY...
「php 下拉式選單 資料庫」的推薦目錄:
- 關於php 下拉式選單 資料庫 在 紀老師程式教學網 Facebook 的最佳貼文
- 關於php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最讚貼文
- 關於php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最佳解答
- 關於php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於php 下拉式選單 資料庫 在 [請益] 動態下拉式選單連結資料庫且不跳頁- 看板PHP 的評價
- 關於php 下拉式選單 資料庫 在 資料庫程式設計-PHP+MySQL:下拉式時間輸入 - YouTube 的評價
- 關於php 下拉式選單 資料庫 在 【請益】 動態兩階式選單- PHP程式板 的評價
- 關於php 下拉式選單 資料庫 在 [題目解析] 技能檢定!網頁設計乙級術科考題分析(題組三) 的評價
- 關於php 下拉式選單 資料庫 在 [問題] 動態下拉式選單,連結mysql ,不跳頁.... - Mo PTT 鄉公所 的評價
- 關於php 下拉式選單 資料庫 在 php下拉式選單資料庫的解答,ITHOME、YOUTUBE ... - 工程師的救星 的評價
- 關於php 下拉式選單 資料庫 在 [請益] 下拉式選單問題- 看板PHP - PTT數位生活區 的評價
- 關於php 下拉式選單 資料庫 在 PHP 下拉式選單資料庫在PTT/mobile01評價與討論 - 速食 的評價
- 關於php 下拉式選單 資料庫 在 PHP 下拉式選單資料庫在PTT/mobile01評價與討論 - 速食 的評價
php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最讚貼文
ASP.NET數位影音資料庫第2天上課全程影音分享
第二天上課內容以範例為主,儘可能的讓每個同學學起來輕鬆又簡單,
幾乎很快可以做出來,大家幾乎都是沒有程式設計基礎的學員,
剛開始還會懷疑自己是不是學的會ASP.NET,但兩天課程下來,
都可以不只做出成果,還可以做一些變化了,
可見ASP.NEY與ASP、PHP、JSP相比較,真的易學易用多了,
以我自己的使用經驗來說,ASP.NET與ASP相較之下有幾個大的進步:
1.開發工具的進步:以前ASP只能用FRONTPAGE之類的程式開發,無法除錯,
現在ASP.NET用VWD2008來寫真的很棒,IIS不用理,還可以拖拉控制項來用,
也可以逐行除錯,幾乎就跟寫VB.NET沒什麼兩樣,真是超容易的,
和PHP那就更簡單多了,所以無痛學習程式語言,可以從ASP.NET開始。
2.系統設定的簡化:無論以往哪一種互動式語言,一定都要先安裝一堆系統,
光設定好就不是簡單的事,所以真的要開始寫程式,往往就讓一對人卻步,
如今ASP.NET完全不用安裝任何系統就可以開始設計,已經預先都幫設計師裝好虛擬的主機,
只要寫好程式就可以執行並除錯,真是太貼心了。
3.控制項的使用,幾乎把功能包好,直接拿來用就可以達到效果,真的是一大進步。
但相反的,因為方便,可能會讓一些設計師學不到深入的功能,
不過自現在什麼都講求效率的時代,這樣的工具真是好工具,
如果想同樣的專案,ASP.NET至少比ASP、PHP或JSP快好幾倍的速度。
吳老師 2010/04/30
以下是今天上課的影音:
01複習開關網站&建立十二生肖
02建立12生肖介面
03撰寫四個按鈕的程式碼
04易錯說明
05加入下拉式選單程式碼
06練習加入下一張&上一張按鈕
07更改檔名稱與撰寫程式
08撰寫註解與測試程式並應用
09讓下拉式選單同步
10建立BMI練習程式
11BMI程式介面設計
12輸出姓名與密碼
13計算BMI值
14產生相關的評語
15如何讓使用者一定要輸入身高體重
16如何讓使用者一定要輸入資料
17RangeValidator控制項的使用方法
吳老師教學網:
http://3cc.cc/10g
部落格:
http://terry55wu.blogspot.com/
論壇:
http://groups.google.com/group/itctcaspnet?hl=zh-TW
YOUTUEB:
http://www.youtube.com/view_play_list?p=A66F49C7EFA684DD
ASP.NET 3.5,吳清輝老師,文化大學,推廣部,職訓案,程式設計,WEB2.0,線上教學,TQC,Dreamweaver,Flash,影音資料庫
php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最佳解答
ASP.NET數位影音資料庫第2天上課全程影音分享
第二天上課內容以範例為主,儘可能的讓每個同學學起來輕鬆又簡單,
幾乎很快可以做出來,大家幾乎都是沒有程式設計基礎的學員,
剛開始還會懷疑自己是不是學的會ASP.NET,但兩天課程下來,
都可以不只做出成果,還可以做一些變化了,
可見ASP.NEY與ASP、PHP、JSP相比較,真的易學易用多了,
以我自己的使用經驗來說,ASP.NET與ASP相較之下有幾個大的進步:
1.開發工具的進步:以前ASP只能用FRONTPAGE之類的程式開發,無法除錯,
現在ASP.NET用VWD2008來寫真的很棒,IIS不用理,還可以拖拉控制項來用,
也可以逐行除錯,幾乎就跟寫VB.NET沒什麼兩樣,真是超容易的,
和PHP那就更簡單多了,所以無痛學習程式語言,可以從ASP.NET開始。
2.系統設定的簡化:無論以往哪一種互動式語言,一定都要先安裝一堆系統,
光設定好就不是簡單的事,所以真的要開始寫程式,往往就讓一對人卻步,
如今ASP.NET完全不用安裝任何系統就可以開始設計,已經預先都幫設計師裝好虛擬的主機,
只要寫好程式就可以執行並除錯,真是太貼心了。
3.控制項的使用,幾乎把功能包好,直接拿來用就可以達到效果,真的是一大進步。
但相反的,因為方便,可能會讓一些設計師學不到深入的功能,
不過自現在什麼都講求效率的時代,這樣的工具真是好工具,
如果想同樣的專案,ASP.NET至少比ASP、PHP或JSP快好幾倍的速度。
吳老師 2010/04/30
以下是今天上課的影音:
01複習開關網站&建立十二生肖
02建立12生肖介面
03撰寫四個按鈕的程式碼
04易錯說明
05加入下拉式選單程式碼
06練習加入下一張&上一張按鈕
07更改檔名稱與撰寫程式
08撰寫註解與測試程式並應用
09讓下拉式選單同步
10建立BMI練習程式
11BMI程式介面設計
12輸出姓名與密碼
13計算BMI值
14產生相關的評語
15如何讓使用者一定要輸入身高體重
16如何讓使用者一定要輸入資料
17RangeValidator控制項的使用方法
吳老師教學網:
http://3cc.cc/10g
部落格:
http://terry55wu.blogspot.com/
論壇:
http://groups.google.com/group/itctcaspnet?hl=zh-TW
YOUTUEB:
http://www.youtube.com/view_play_list?p=A66F49C7EFA684DD
ASP.NET 3.5,吳清輝老師,文化大學,推廣部,職訓案,程式設計,WEB2.0,線上教學,TQC,Dreamweaver,Flash,影音資料庫
php 下拉式選單 資料庫 在 吳老師教學部落格 Youtube 的最佳貼文
ASP.NET數位影音資料庫第2天上課全程影音分享
第二天上課內容以範例為主,儘可能的讓每個同學學起來輕鬆又簡單,
幾乎很快可以做出來,大家幾乎都是沒有程式設計基礎的學員,
剛開始還會懷疑自己是不是學的會ASP.NET,但兩天課程下來,
都可以不只做出成果,還可以做一些變化了,
可見ASP.NEY與ASP、PHP、JSP相比較,真的易學易用多了,
以我自己的使用經驗來說,ASP.NET與ASP相較之下有幾個大的進步:
1.開發工具的進步:以前ASP只能用FRONTPAGE之類的程式開發,無法除錯,
現在ASP.NET用VWD2008來寫真的很棒,IIS不用理,還可以拖拉控制項來用,
也可以逐行除錯,幾乎就跟寫VB.NET沒什麼兩樣,真是超容易的,
和PHP那就更簡單多了,所以無痛學習程式語言,可以從ASP.NET開始。
2.系統設定的簡化:無論以往哪一種互動式語言,一定都要先安裝一堆系統,
光設定好就不是簡單的事,所以真的要開始寫程式,往往就讓一對人卻步,
如今ASP.NET完全不用安裝任何系統就可以開始設計,已經預先都幫設計師裝好虛擬的主機,
只要寫好程式就可以執行並除錯,真是太貼心了。
3.控制項的使用,幾乎把功能包好,直接拿來用就可以達到效果,真的是一大進步。
但相反的,因為方便,可能會讓一些設計師學不到深入的功能,
不過自現在什麼都講求效率的時代,這樣的工具真是好工具,
如果想同樣的專案,ASP.NET至少比ASP、PHP或JSP快好幾倍的速度。
吳老師 2010/04/30
以下是今天上課的影音:
01複習開關網站&建立十二生肖
02建立12生肖介面
03撰寫四個按鈕的程式碼
04易錯說明
05加入下拉式選單程式碼
06練習加入下一張&上一張按鈕
07更改檔名稱與撰寫程式
08撰寫註解與測試程式並應用
09讓下拉式選單同步
10建立BMI練習程式
11BMI程式介面設計
12輸出姓名與密碼
13計算BMI值
14產生相關的評語
15如何讓使用者一定要輸入身高體重
16如何讓使用者一定要輸入資料
17RangeValidator控制項的使用方法
吳老師教學網:
http://3cc.cc/10g
部落格:
http://terry55wu.blogspot.com/
論壇:
http://groups.google.com/group/itctcaspnet?hl=zh-TW
YOUTUEB:
http://www.youtube.com/view_play_list?p=A66F49C7EFA684DD
ASP.NET 3.5,吳清輝老師,文化大學,推廣部,職訓案,程式設計,WEB2.0,線上教學,TQC,Dreamweaver,Flash,影音資料庫
php 下拉式選單 資料庫 在 資料庫程式設計-PHP+MySQL:下拉式時間輸入 - YouTube 的推薦與評價
許多在科技大學教程式設計的同仁,大多感觸很深、感到知識難以傳授給學生。本人的淺見是目前各種課程 ... 資料庫 程式設計- PHP +MySQL: 下拉式 時間輸入. ... <看更多>
php 下拉式選單 資料庫 在 【請益】 動態兩階式選單- PHP程式板 的推薦與評價
... 的下拉式選單,選單的項目是來自讀取資料庫(access)的資料表資料庫有兩個資料 ... level_1 level_2 從網路找了php(mysql)+javascript的範例改寫 ... ... <看更多>
php 下拉式選單 資料庫 在 [請益] 動態下拉式選單連結資料庫且不跳頁- 看板PHP 的推薦與評價
我寫了二個下拉式的選單,二個選單的資料都是從資料庫裡叫出來的,
這2個下拉式選單是有關聯的,使用者選取第一個下拉式選單時,第2個
下拉式選單會依據使用者選取第1個下拉式選單的值,到資料庫去查詢
資料而顯示其在第2個下拉式選單,如 第一個選單有新北市,屏東縣,(存
於資料表中)當使用者點選第一個選單的新北市時,第2個選單會顯示
"大直區","士林區","信義區"(存於資料表中)
當使用者點選第一個選單的屏東縣時,第2個選單會顯示"屏東市","潮
州鎮",但出現了一個問題==>就是當使用者選擇第一個選單時,因當初
程式是寫
<select name="city" onChange="window.location='XXX.php?city='+this.value">
所以會連回本頁(XXX.php是本頁)並攜帶city這個參數,但連回本頁會
造成頁面會跳到最上面,還要使用者移動滑鼠滾輪往下,才會回到選單
的位置,但我希望的是選擇第一個選單後,仍在原位,於是我想要onChange
的動作不是連回本頁,純粹只傳遞變數到另一個下拉式選單,但javascript
好像不能傳遞參數給PHP....
該如何才能讓使用者按下第一個下拉式選單,能傳遞結果給第2個下拉式選
單而不需要跳頁(且有連結資料庫)................
拜託了...我搞了好久
資料表內容:
城市 分店
新北市 大直區
新北市 士林區
新北市 信義區
屏東縣 屏東市
屏東縣 潮州鎮
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.62.253
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1398652131.A.079.html
... <看更多>