2011-12-23 77 views
4

幾年來,我一直是自學Web開發人員,通常使用C#/ ASP.NET,Python和PHP。但我想通過做更先進的事情來嘗試提高我的技能。我正在嘗試構建一個像SQLite這樣的數據庫程序,或者在C/C++中創建一個迷你MySQL類的東西來練習和學習新事物。在C/C++中編寫數據庫軟件

編輯: 我的項目並不一定是一個RDBMS。它可以像簡單的Web服務器或其他東西。只是看看我是否喜歡做這種事情比網站開發更多。

但是,我似乎無法在網上找到任何類型的書籍或教程,教導這種事情。有誰知道我在哪裏可以找到有關這方面的資源?我有一本教C語言本身的書,但是當我嘗試構建特定的數據庫引擎等時,我學會了如何更好地思考事情。感謝您的任何意見。

+2

這個問題不是很清楚。你在尋找一本DBMS書嗎?如果您正在查找實現細節,可以在[download](http://www.sqlite.org/download.html)頁面上找到SQLite的源代碼。 – styfle 2011-12-23 04:34:24

+2

「我正在嘗試構建像SQLite這樣的數據庫程序」 - 您想要設計和構建一個RDBMS?對於編程練習?建議你選擇一些不太有抱負的東西 – 2011-12-23 04:37:53

+1

那麼我已經獲得了MySQL和SQLite的源碼。但是看到的東西教導了爲什麼做某些事情某些方面對於該類型的程序的性能,模塊性,可移植性方面比其他類型更好,或者如何以某種方式處理不同方面以達到特定標準。 – vol4life27 2011-12-23 04:39:33

回答

6

對於文獻,我可以推薦一些類似於C++的加速C++或Thinking。我最近還親自動手了Code Complete,發現它在工作中的架子上,並且和人們說的一樣好。堅實的語言不可知的建議。

此外,你應該分開C和C++,它們可能看起來很相似,人們把它們聚集在一起,但它實際上是兩種不同的思維方式。現在新的C++ 11使差異變得更加重要,C++不僅僅是C類。

+0

代碼完成+1。這就是說,它更像是「學會成爲一個更好的程序員」的書,而不是Corey似乎正在尋找的「學習C」書。還分離C和C++ +1。 – 2011-12-23 18:21:22

+0

哦,我肯定知道區別。大聲笑我只是指可能使用這兩個來建立該項目。但感謝您的意見。我絕對看看引用的項目。 哦,@TaylorPrice,我實際上是在尋找一種「學習如何像一個更好的程序員一樣思考」的書。我有C和C++書籍。如果你知道你可以列出更多的東西,那麼我需要更多的「繼承人如何通過一個項目來思考」這種參考。謝謝! – vol4life27 2011-12-23 19:54:40

+0

我的理解。代碼完成是一本很棒的書!我的老公司讓每一位新開發人員在第一年內閱讀它。 – 2011-12-23 20:06:56

0

@MitchWheat說過,即使像SQLite這樣的東西寫得很雄心勃勃,我選擇嘗試做一個小型的Web服務器,而發現this post,其中包括幾個鏈接做到這一點。感謝您的意見。

5

爲什麼不嘗試像射線示蹤劑一樣小一點?它很容易實現,寫一個簡單的,可以產生一些漂亮的圖像,它的東西,你可以回來一次又一次添加功能。

+0

這可能不是OP的想法,但我喜歡這個想法+1。 – 2011-12-23 05:50:49

5

你可以閱讀Zed Shaw的書Learn C the Hard Way。他教你如何使用MakeValgrind來編寫C語言。後來的練習會讓你編寫自己的軟件包安裝程序和一個小型的Web服務器。最重要的是,它是免費的。

1

收藏這個資源,http://nptel.iitm.ac.in/courses.php?disciplineId=106

這往往是在深入瞭解了從算法,數據庫管理系統,圖形實時系統有很大/巨大的起點。完成視頻課程/講座或書面課程材料。一個擴大知識或獲得想法的地方。

例如,你可以查看視頻講座約DBMS發展 - >http://nptel.iitm.ac.in/video.php?subjectId=106106093

...或者爲什麼沒有這一項關於人工智能 - >http://nptel.iitm.ac.in/video.php?subjectId=106105077

沒有C/C++例子,但它們向下鑽取每個部分,模式,策略和算法。

......唯一令人傷心的是,大多數教授講英語真壞。