プログラミングの勉強には、ドットインストールを受講してみよう

2007-06-11-14-57-24今回は、パソコンの超初心者向け動画解説サイト ドットインストール の使い方を紹介してみます。
photo credit: harald walker




ドットインストールとは


ドットインストール とは、パソコンの超初心者向け動画解説サイトのことです。パソコンの使い方に関する解説が1回3分以内に終了し、1つのテーマにつき複数回に分けられているのが特徴です。


dotinstall


私自身、パソコンの超初心者ということで、 ドットインストール が登場した当初 Vim 講座を受講してみたのですが、1,2回で挫折してしまいました。


挫折してしまった理由は、...内緒です。


ドットインストールの再受講を試みる


そこで、ドットインストールの再受講を試みたいと思い、色々と動画再生環境を考えてみました。


結論としては、やはりWebサイトから見るよりも、ダウンロードしてみたほうがいいというのが結論です。何度も再生するかもしれませんし、更に、iPhoneなどに入れて再生するかもしれませんので、ファイルとして保存していたほうが扱いやすいかなと思ったのです。


brew install wget

brew install youtube-dl

brew install mplayer



mkdir -p ~/Movies/dt && cd ~/Movies/ && wget -r http://dotinstall.com/

find ~/Movies/dotinstall.com/lessons -name "[0-9]*" | xargs -I{} cp {} ~/Movies/dt/ && cd ~/Movies/dt/ && cat [0-9]* [0-9]* > filename.txt && grep videoId filename.txt > videoid.txt && sed "s|videoId: '|http://jp.youtube.com/watch?v=|" videoid.txt > url.txt && sed "s/',//g" url.txt > url2.txt && youtube-dl -A -t -a url2.txt



なお、私の場合は、すべての動画ファイルをダウンロードするにも時間が掛かるので、講座を受講したい時に、レッスン毎にダウンロードし、再生することにしました。以下のようにすれば、少しは受講しやすいのではないかと思います。




mkdir -p ~/Movies/dt/ && cd ~/Movies/dt/ && wget -r http://dotinstall.com/lessons

ls ~/Movies/dt/dotinstall.com/lessons/ > ~/Movies/dt/lesson.txt && echo "alias lesson-ls='cd ~/Movies/dt/ && vim lesson.txt'" >> ~/.zshrc && echo "alias lesson-dl='~/Movies/dt/lesson-dl'" >> ~/.zshrc && cd ~/Movies/dt/ && source ~/.zshrc



そして、以下のようなシェルスクリプトを作成し、実行権限 chmod +x lesson-dl を与えます。

#!/bin/zsh
until cd ~/Movies/dt/dotinstall.com/lessons/"$1" && touch test.mp4 test.part && rm *.mp4 *.part && cat [0-9]* [0-9]* > filename.txt && grep videoId filename.txt > videoid.txt && sed "s|videoId: '|http://jp.youtube.com/watch?v=|" videoid.txt > url.txt && sed "s/',//g" url.txt > url2.txt && youtube-dl -A -t -a url2.txt && mkdir -p ~/Movies/dt/"$1" && mv *.mp4 ~/Movies/dt/"$1" && cd ~/Movies/dt/"$1" && find `pwd` -maxdepth 1 -mindepth 1 | grep -v "\/\." > mylist && mplayer -playlist mylist -x 680 -y 360 -geometry +1+40 do echo "ダウンロードが失敗しました。もう一度ダウンロードします。終了する場合は、Ctrl+Cを押してください。" done



以上の手順を踏むことで、 lesson-ls とすることで、ダウンロードするレッスンを選択し(Vimが起動しますので、Downloadしたいものをyyでコピーでもしてください)、 lesson-dl 貼り付け とすることで、レッスンをダウンロードし、再生できます。例えば、 Ruby について学びたければ、lesson-dl basic_ruby となります。


dotinstall

なお、もしレッスン一覧(lesson.txt)にあるレッスンをヤンクして使用する場合は、以下の Vim 設定を忘れないでください。

" 無名レジスタに入るデータを、*レジスタにも入れる。
:set clipboard+=unnamed


なお、以下のようにエイリアスを設定しておけば、lesson コマンド一発で、リストにあるレッスンをコピーし、終了すると、コピーしたレッスンを自動ダウンロードしてくれます。

alias lesson='lesson-ls && pbpaste | xargs ./lesson-dl'