2009-05-04 68 views
2

所以,我一直在腦海中徘徊一段時間。它的核心,主要是我學習編程的一個項目。我的想法是,我有一大批數據,我的音樂收藏。我的音樂有很多數據集。格式,藝術家,標題,專輯,流派,長度,發行年份,文件名,目錄等等。理想情況下,我想創建一個數據庫,其中存儲了所有這些數據,並且將來可以在其上創建一個Web界面,以便管理我的音樂收藏。所以,我的問題如下:基於網絡的音樂庫(編程概念)

  1. 這聽起來像一個很好的項目,從頭開始構建數據庫?
  2. 你會推薦哪種語言我開始?我知道PHP的花絮,但我會想象用一個文件系統索引數據會很糟糕。 Python是我想到的另一種語言,因爲它是大多數人認爲是初學者語言的語言。
  3. 如果您打算在家中實施這種系統(網絡界面)(如果您的家中有幾臺電腦連接了PC,並且連接了軟件),那麼您需要什麼樣的功能查看?

我建立了索引腳本將如下的想法:

  • 得到它來填充只有文件名
  • 從文件名的擴展名的數據庫,確定格式
  • 獲取文件大小
  • 使用數據庫中的文件名作爲參考,拉ID3或其他適用的元數據(藝術家,曲目名稱,專輯等)
  • 檢查所有文件仍然存在磁盤上,如果沒有,標誌該文件不可用

另一個劇本後會去檢查文件是否回來,如果他們都沒有,將從中刪除行數據庫。

回答

3

我認爲這是學習編程的好項目。通過使用自己的「產品」,您可以真正追求缺失的東西,更有動力去學習和改善您的計劃 - 這就是所謂的dogfooding。奇怪的是,Dive Into Python這本書雖然有點陳舊,但詳細介紹瞭如何使用Python提取音樂文件的ID3信息。由於這是最經常爲初學者推薦的書,我敢打賭,這將是最好的開始。

1

處理你關心的事情是學習編程的最好方式,所以我認爲這是一個好主意。

我也推薦Python作爲開始的地方。玩的開心!

1

如果你使用Python,你可以使用Google App Engine來構建它。它給你一個非常好的數據庫界面,而教程將帶你從'Hello world!'到一個運作的網絡應用程序

您甚至不需要將結果上傳到Google;您可以在開發環境中運行它,並且可以在家庭網絡中訪問它。

1

我認爲Python會是很好的選擇,因爲

  1. 簡單易學,但有先進的太
  2. 良好的Web框架提供的功能如django,你可以在你的機器上運行
  3. Word類免費蟒蛇託管可用,即谷歌應用程序引擎
  4. 圖書館幾乎可以想象得到的任何東西,用於閱讀你的mp3標籤,你可以使用http://id3-py.sourceforge.net/
  5. 搜索你可以使用pylucene http://lucene.apache.org/pylucene/ 最好的搜索引擎可用。