新しいプログラミングプロジェクトの準備[終了]


8

私は自分が初心者プログラマだと思います-初心者はあなたが好きです。そのため、これまでにないことを行うプロジェクトでプロジェクトを開始する方法がまだわかりません。

たとえば、YouTubeから動画をダウンロードして、ユーザーが指定した形式に変換できるプログラムを書きたいと思います。私はこれまでこのようなことをしたことがなく、どこから始めればいいのか本当にわかりません。むしろ、何を検索すればよいかわかりません。

「YouTubeダウンローダー」を検索すると、既存のYouTubeダウンローダーサイトへの無用なリンクが大量に表示されますが、そのほとんどは機能しません。

私が知りたいのは、私が何も知らないプロジェクトを始める方法です。このプロジェクトに必要なものを見つけるにはどうすればよいですか?これに最適な言語を見つけるにはどうすればよいですか?特に役立つAPIがあるかどうかを確認するにはどうすればよいですか?また、新しいプロジェクトに取り組む準備をするときに、他にどのような質問をする必要がありますか?


また、Wiresharkを使用して、ブラウザがWebサイトと通信する方法、およびブラウザ間で転送されるデータについて知ることもできます。
rwong

答えではありませんが、tubemaster.netを試しましたか?それはオープンソースでさえあるので、それを使って何かを学ぶことができます(コードの品質とあなた自身のレベルによっては、そうでないかもしれません)。
jv42

回答:


13

あなたはそれを分解する必要があります。やりたいことを構成するさまざまな要素について考えます。特定の意味ではなく、一般的な意味でそれらについて考えてみてください。以前に行ったことと重複する可能性があることについて考えます。

たとえば、YouTubeダウンローダーのアイデアの場合:

  • YouTubeから動画をダウンロード
    • より一般的なビュー:リンクされたファイルをWebページからダウンロードします。だから多分あなたはする必要があります:
      • URLを取る
        • URLを選択するためのインターフェースをどのように提示しますか?
      • そのページをリクエストする
      • HTMLを解析してFLVなどへのリンクを見つける
      • そのファイルをダウンロード
  • ユーザーが指定した形式に変換する
    • したがって、FLVを他のさまざまな形式に変換する必要があると思います(そうですか?)
      • どんなフォーマット?
      • フォーマットを選択するためのインターフェースをどのように提示しますか?
      • 変換を行うライブラリを見つけることができますか?
      • 変換を行うコマンドラインツールを見つけることができますか?
      • 選択した言語で書かれたプログラムからコマンドラインツールをどのように呼び出しますか?

とにかく、それは私がタイプしたいくつかのがらくたです。しかし、考慮すべき主なことは、問題をより小さな個々の問題に分解し、かみ込むことができる一口サイズのチャンクになるまで分解し続けることです。


2
私はこれ以上同意できませんでした。「アジャイル/ XP」プログラマーは、「スパイク」という用語を使用して、理解できない領域の研究を意味します。最も難しいと思われる問題の部分を特定し、それらの問題を解決する小さなモックアッププロジェクトを作成してスパイクを実行します。これらのプロジェクトは、スパイクからの成果物です。理解していないすべての問題を解決するプロジェクトをモックアップしたら、それらをつなぎ合わせて全体を形成できるはずです。

この場合、動画をスクラップするよりも、GoogleのYoutube APIを使用する方がおそらく簡単です。developers.google.com/youtube/getting_started
TomJ 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.