2011-02-04 14 views
2

私は2年生の大学生ですから、自分の能力を伸ばすのがいいと思っていました。私は今年末に、Tkinterを使ってCプログラム用のGUIを完成させるためにPythonを使用しますが、私はサイドプロジェクトも作りたいと思っています。そしてPythonはそれを行うには素晴らしい言語のようです。Pythonを学ぶ良いプロジェクトですか?

私はコードに複数のレベルがあるプロジェクトが必要なので、間違いなくGUIとコマンドラインのバージョンを持っています。そして、おそらくいくつかのデータベースがあります(SQLとその他のデータベースについてもっと知りたいのでハイテク)。

私は音楽プレーヤーを作れると思っていました。まず、音楽ファイルを再生するコマンドラインプログラムを作ってから、そこから展開してください。おそらく、GUIのpygtkを使って展開してください。

私はPythonの経験はないと思っていますが、私はCとJavaで強力な背景を持っていますが、予期せずに私を止めるような問題があるでしょうか?私は以前に音楽アプリケーションを作ったことは一度もありません。たとえば、音楽ライブラリの保管には何が関係しているのか分かりません。

お勧めのプロジェクトがありますか?1か月で約3時間かかりますか? (あるいは、それが完成していなくても、重要な作業プログラムを手に入れてください)。

ありがとうございます!

答えて

10

私はPythonの経験はないと思っていますが、CとJavaには強い背景がありますが、予期せずに私を止めるような問題がありますか?

はい。

私はこれまでに音楽アプリケーションを作ったことがありません。たとえば、音楽ライブラリの保管には何が含まれているのかわかりません。

それはあなたを停止させます。

アドバイスをお願いします。

手順1.はい/いいえの質問をしないでください。

手順2.小さい方から開始します。 [次を参照]

ステップ3. Pythonでチュートリアルを開始します。

ステップ4.関連プロジェクトを検索し、コードをダウンロードして、それを読んでください。


オンスタートより小さい。

「約1時間一晩、3ヶ月間」。 90時間。

言語を理解するのに十分なPythonチュートリアルを40時間割り当てます。通常、これは80時間をお勧めしますが、予算は厳しいです。

あなたのプラットフォームでサウンド再生APIがどのように動作するかをさらに40時間割り振ります。これはあまりに時間がかかるかもしれませんが、いつも奇妙な謎があります。 OS APIとデバイスドライバの問題は、しばしば解決するのが困難な問題です。

十分に間違いなく実行して、PyGTKアプリケーションを正しく実行するには、さらに40時間を割り振ってください。通常、GUI設計には新しいチュートリアルが多数含まれているため、言語チュートリアルではカバーされていないため、少なくとも120時間は割り当てます。再度、あなたの予算は厳しいです。

SQLとデータベースの設計とORM APIの学習。おそらく40時間。あなたがここで作ることができる多くの間違いがあり、それらの間違いをする時間が必要です。

は、既存のファイルシステムAPIの上に構築された「ミュージック・ライブラリー」のいくつかの種類を作成する別の40時間を割り当てます。これには、追加、変更、削除のユースケースの定義と、そのユースケースの実装方法の把握が含まれます。

あなたは「小さいを開始」したいことを示唆しているため、私の根拠です。

+0

私は確かにpythonの基礎から始めます。しかし、私はあまりにも大きく開始しているとは思わない。その単純な目標は達成したいと思っています。私が言ったように、ベースポイントは音楽ファイルを演奏する単なるコマンドラインプログラムです。おそらく.oggや.flacのようなものが手に入ることがあります。 – Blackbinary

+0

私はあなたの展開を小さく始めていただきありがとうございます。しかし、私が言及したように、私は3ヶ月の終わりまでに完全な作業プロジェクトは必要ありません。限り、私は何かが動作しているとしても、すべての機能がそこにある、それはいいです。この場合、一度に1つのファイルをロードして再生できるGUIアプリケーションを用意しても問題ありません。ライブラリなし、データベースなし、非常に限定されたファイルサポート。同様に、Pythonを学ぶ多くの時間が削減され、私はFOSSである同様のプロジェクトのコードを見ることができます。 – Blackbinary

+0

@Blackbinary:「完了しました... 3ヶ月間」は質問です。あなたのコメントに「3ヶ月の終わりまでに完全な作業プロジェクトは必要ありません。これを明確にするため**の**アップデートを検討してください。 –

2

プログラムを書くことは言語の習得に役立ちますが、オープンソースのPythonプロジェクトの開発チームに参加するIMHOは、他の開発者が作成した高品質のコードを読むことで、あなたが一人で発見することのない言語。

だから、私の提案は、小さめと高品質のpythonのオープンソースプロジェクトのために狩りにそのコードを読んで、それが何をするかを理解してからの貢献を開始することです。あなたが使っているプロジェクトや好きなプロジェクトを選ぶのに役立つかもしれません。

+0

これは意味をなさないと思われます、私は見て、利用可能なものを見ます。アドバイスをいただきありがとうございます。 – Blackbinary

0

XBMCを見てください、アプリケーション自体は、大規模なとC/C++で書かれているが、あなたは、Pythonでアドオンを書くことができます。彼らのwikiを始めるには、素晴らしい情報があります。

HOW-TO write Python Scripts

HOW-TO write plugins for XBMC

XBMCメディアセンターですので、あなたは音楽にある場合、可能性は確かにあります。

+0

私はXMBCのプラグインがPythonで書かれていることに気づいていませんでした。これは良いプロジェクトのようです。私は歌詞のスクリプトを書いているかもしれません。音楽の歌詞がXMBCで利用可能であることを思い出さないので、実際のプログラミングは曲​​名とアーティストを使用して歌詞をダウンロードするのは簡単ではありません。 – Blackbinary

2

私はあなたのために何か良いプロジェクトのアイデアを持っていないが、Pythonのを知って取得を開始する一つの優れた方法は、「Pythonの挑戦」です:http://www.pythonchallenge.com/

私は数年前にそれを自分自身を試してみました。 pythonic wayで思考に慣れる良い方法です。

+0

うーん、興味深いですが、私はまず自分のベルトの下で練習をしなければならないでしょう。しかし、間違いなく脳のティーザーには良い。 – Blackbinary

0

私は(私のPOVからそれを見て)そのプロジェクトを開始し、かなり楽観的になります。コマンドラインクライアントは、gstreamerや別の非常に高いレベルのライブラリを使用することが期待されている、Python、引数、テキストなどの書き方については、tutorialsとの間でうまく行きます。実際の再生はそれほど難しくありません。

データベースも小規模で手近なプロジェクトです。私はそのようなことをやったことがあります。主にSQLを学び、試してみるために(私は普通は使っていませんが)、私はその前で非常に豊富なスキルを持っているとは思いません。

PyGtk(またはgtk3)も、それ自身の経験になる素敵なユニットです。それはsimpleであるかもしれないし、イベントやスレッドのウサギの巣を導くかもしれない。 :)

あなたがプログラムできる場合、私はあなたが一日でのpythonのはかなり便利な塊を拾うことができ期待したいと週間労働で書かれ、実際に便利な小さなツールの多くを得ることができます。しかし、あなたの質問にすべてのことをまとめることは、非常に迅速には起こりません。とにかく、プロトタイプを始めることができ、多くのことを学び、自分の興味によって動機づけられるということは、良いアイデアだと思います。

Windowsを使用すると、もちろん難しくなりますが、おそらく不可能ではありません。

関連する問題