カテゴリ: プログラミング

ドットインストール_有料会員



プログラミング学習サービスの「ドットインストール」の有料会員になってみたので、実際に利用してみた感想や他の人の評判を紹介していきます。



  • ドットインストールの有料会員(月額980円)になるメリット。
  • ドットインストールの有料プランの評判。
  • ドットインストールとProgateの違い。



特にこういったポイントについて説明していきます。




ドットインストールの有料会員(月額980円)になるメリット


ドットインストールの有料会員(月額980円)になるメリット


ドットインストール より


ドットインストールの有料会員になるメリットは、上の画像のようにたくさんありますが、この中でも特に大きなメリットは以下の3つです。



  1. 全部のコンテンツを見れるようになる。
  2. 動画の文字起こしやソースコードを確認できるようになる。
  3. 疑問点を先生に質問できるようになる。




1. 全部のコンテンツを見れるようになる


ドットインストール_全部のコンテンツが見れる


まずひとつ目は、有料会員になると中級・上級者向けのコンテンツなども全部見れるようになることです。無料でも学べることはかなり多いですが、より本格的に学びたい場合は有料会員になったほうがいいです。

ちなみにドットインストールはカリキュラムの数も多めなので、幅広く色々なコースのカリキュラムを勉強できます。(Progateよりもドットインストールのほうが多いです。 )


2. 動画の文字起こしやソースコードを確認できるようになる


ドットインストール_動画の文字起こし_ソースコードの確認


2つ目は、動画の文字起こしや、コンテンツのソースコードを確認できることです。


ドットインストール_文字起こし


文字起こしは聞き逃した時とかに便利ですし、


ドットインストール_ソースコードの確認



ドットインストール_ソースコードの比較


ソースコードに関しては、見本と自分の書いたコードを比較することが出来るようになります。




3. 疑問点を先生に質問できるようになる


ドットインストール_疑問点を先生に質問


そして、この3つ目の質問サービスが、ドットインストールの一番の特徴だと思います。(ただし現在試験運用中)。ちなみに1ヶ月のうち5回まで質問できます。


ドットインストール_質問する


実際に質問する際は「この動画に関して質問する」の箇所をクリックして、



ドットインストール_質問の投稿


こちらの画面から投稿します。



ドットインストール_質問への回答



なお実際の回答ですが、こんな感じでかなり丁寧に回答してもらえます。質問内容に関連して、今後どうやって勉強を進めていけばいいのかという所まで含めてアドバイスがもらえたので、とてもありがたいと思いました。

ちなみに夕方の16時くらいに質問して、翌日の朝10時前には返事がもらえました。(ちなみに自分が質問した時は62件待ちでした。)基本24時間以内には回答してくれる仕組みになっているそうです。



ただ人によっては1時間くらいで返答がもらえた人もいるみたいなので、タイミングによっても返事がもらえるスピードは変わってくるかもしれません。








ちなみに質問の対応に関しては、他の人の意見を見ても、ポジティブなものばかりでした。




ドットインストールの有料プランの評判









上で紹介した質問への対応だけに限らず、ドットインストールは有料プラン利用してもほんとに評判いいですね。Twitterの口コミ、トータルで100件くらいみましたが、マイナス評価している人、一人も見てないような気がします。




結論:ドットインストールとProgate、両方使うのがよいと思う


ドットインストールとProgateの両方を使う



  • ドットインストールとProgate、どちらもとても分かりやすい。
  • 両方有料会員になっても、そこまでお金かからない(スクールに比べて)。
  • どちらか片方にしかないカリキュラムもあるので、両方使うとより広範囲の内容をカバーできる。



こういった理由から、本気でプログラミングの勉強をしたいと考えている人は、できれば両方のサービスを利用するのがいいと思います。






ちなみにこういう使い方をする人もいます。 実際、Progateは毎回最後に授業の理解度を測るテストがあって、ドットインストールよりも実践的かもしれません。


なので、どちらのサービスから始めようか迷う場合は、
  


  • 「実践形式で進めたい」ならProgate
  • 「分からないことを先生に質問できること」を優先するならドットインストール



こんな基準で選ぶといいかもしれません。


ちなみにある程度基礎的な知識がある人は、自分で問題を解決できるかもしれませんが、そうでない場合は、質問できる環境があると安心できると思います。

つまずいて解決できずに時間だけが過ぎ、勉強するモチベーションも下がっていって結果的に挫折する、というパターンが多いみたいなので、不安な人はドットインストールを検討してみるといいかもです。

あと毎月2000円払える人は、両方のサービスに期間を限定して加入し、短期集中で勉強するのもひとつです。


あとドットインストールの質問機能は、あくまでもまだ試験運用中となっているので、実際に有料会員になる際はしっかりと事前に確認するようにしてください。

ドットインストール


Cloud9のデータをダウンロードする方法

Cloud9にあるデータをダウンロードする方法についてまとめています。


ちなみに、 

Cloud9の利用期限


Cloud9は、2019年の12月31日までしか利用できません。

なので、それまでにAWS Cloud9の方にデータを移行するか、Cloud9にあるそれぞれのWorkspaceのデータをダウンロードしておく必要があります。

※ 既にCloud9でワークスペースを開いたり、コードを編集したりする事はできないようになっています(2019年の6月30日まで)。


この記事の流れに沿って作業を進めれば、ひとつあたり、約3分程で完了すると思うので、さくっとやっておいてしまいましょう。



Cloud9のデータをダウンロードする方法


Cloud9_ログイン


Cloud9より

Cloud9にログインして、



Cloud9_ワークスペース一覧


自分のワークスペース一覧の画面で、緑色の「Prepare to Download / Migrate」のボタンをクリックすると、



Cloud9_Archive


このような表示が出るので、右下にある緑色の「Archive」のボタンをクリックします。

ちなみにGoogle翻訳で確認したところ「ダウンロード・移行する前に、いまの状態を把握する必要があって、処理にしばらく時間がかかるかもしれません。完了したらメールでお知らせしますよ。」っていう感じの内容でした。



多分そんなにファイル数が多くない、普通のサイトであればそこまで時間はかからないと思います。自分の場合は1分もしないうちにメールが届きました。


Cloud9_メール


そしてArchiveが完了すると、このようなメールが届きます。

ちなみに2つのリンクがありますが、上はCS50の生徒用(ハーバード大学のComputer Scienceのコース?みたいです)のものなので、該当しない場合は下の「 https://c9.io/〜〜〜」の方のリンクをクリックします。



Cloud9のダウンロード画面



すると次はこのような画面が表示されるので、上にある「Download to my computer」のほうにチェックを入れ、右下にある緑色の「Next > 」をクリックします。

(下の「Migrate to AWS Cloud 9」は、Cloud9 から AWS Cloud9 にデータを移行する場合のものです。)



Cloud9のダウンロード画面2


そして最後にこちらのページで、2つのうちのどちらかにチェックを入れて「Download」をクリックします。


Cloud9_Google翻訳1

(上の項目の翻訳)

Cloud9_Google翻訳2

(下の項目の翻訳)


Google翻訳より



ちなみにそれぞれの項目の内容はこのような感じになっています。

ローカル環境でも動かしてみたかったので、最初は下の方だけにしようと思いましたが、自分はまだレベルが低く、ちょっと不安だったので、念のため両方ダウンロードしておきました。



以上こんな感じで、Cloud9からのデータのダウンロードはサクッと終わります。
数が多い場合、ひとつずつやるのがちょっと面倒ですが、空いてる時間で一気にやってしまいましょう。


Cloud 9


Google colaboratory_Python_Yahooニュース


Google Colaboratory というサービスを利用して、PythonでYahoo!ニュースTOPの主要記事のタイトルをスクレイピングし、それをCSVファイルにダウンロードするまでの流れを、メモがてらまとめていきたいと思います。

Google Colaboratoryは、最初に環境を構築する事なく、WEBブラウザ上からすぐにpythonを実行できるようにするためのツールです。



なお今回の作業は、以下の記事を参考にしながら行いました。

Pythonによるスクレイピング①入門編 ブログの記事をCSVにエクスポートする / DAINOTE





まずはGoogle Colaboratoryをダウンロード


GoogleColaboratory_Python_ダウンロード

Google ColaboratoryはGoogle Driveからダウンロードできます。 「新規」の中の「その他」にある


GoogleColaboratory_Python_ダウンロード


「アプリを追加」をクリックして、


GoogleColaboratory_Python_ダウンロード

検索窓に「Colaboratory」と入力し、右側の青い「接続」をクリックすると利用できるようになります。



Google_Colaboratory_helloworld



Yahoo!ニュースTOPの主要タイトルをスクレイピングしてCSVファイルにダウンロードする



以下、実際のコードです。 コードの内容は、大きく8つに分けられるようになっています。 


# ①「requests」と「BeautifulSoup」と「pandas」と「files」と、4つのライブラリーをインポートする
import requests
from bs4 import BeautifulSoup
import pandas as pd
from google.colab import files 

# ② URLの取得
html_doc = requests.get('https://news.yahoo.co.jp').text

# ③ 取得したデータを切り貼りできるように整形する
yahoo = BeautifulSoup(html_doc, 'html.parser') 

# ④ 取得するデータの内容を指定する
titles =  yahoo.select(".topics_list li")


# ⑤ CSVの列名を指定するために「columns」を用意して、列名を指定。(dfはデータフレームの略。)
columns = ["name", "url"]
df = pd.DataFrame(columns=columns)

# ⑥ 記事のタイトルとURLを取得して「name」と「url」に格納。
for title in titles:
 name = title.a.getText()
 url = title.a.get("href")

# ⑦ 取得した記事タイトルとURLをデータフレームに追加。
 se = pd.Series([name, url], columns)
 print(se)
 df = df.append(se, columns)

# ⑧ result.csvという名前でCSVに出力、encodingを指定、そして最後にダウンロード。
filename = "result.csv"
df.to_csv(filename, encoding = 'utf-8-sig') 
files.download(filename)



①〜④はデータの取得先の内容を指定する記述で、⑤以降は、指定したデータを実際にCSVファイルに出力してダウンロードする方法についての記述です。



Yahoo!ニュースTOP_Python_スクレイピング


こちらがスクレイピングする実際のYahoo!ニュースのTOPですが、



Yahoo!ニュースTOP_Python_スクレイピング_CSV


しっかり実際のサイトと同じものが、CSVファイルにダウンロードできている事が確認できました。



Pythonのクラスとインスタンスについて

最近になって、Pythonというプログラミング言語を学びはじめました。データスクレイピングで色々遊んでみたいというのが理由です。

progateというサービスを使ってちょっとずつ進めていますが、今回習得する際に大事なポイントになるっぽい「クラスとインスタンス」の箇所をやったので、メモがてら残しておきます。


「クラス」っていう概念について


設計図 → クラス
もの → インスタンス



「もの」を生成するために、まずは設計図を用意する必要がある。 クラスを用意すれば、同じ種類のものを複数作成することが出来る。


インスタンスを生成するには


インスタンスを生成する際の流れは以下の通り。



  • クラスを用意する。
  • クラスからインスタンスを生成する。
  • インスタンスに情報を追加する(名前・日付け・値段・性別などなど)




1. クラスを用意する。


class ItemList:
   # 処理



※クラス名は大文字。
※最後に「:(コロン)」



2. クラスからインスタンスを生成する。



class ItemList:
   pass


item_list1 = ItemList()




※ ItemList ( ) → クラス名 ( ) とすると、クラスを用いて新しくインスタンスを生成できる。
※ 変数名= クラス名で、生成したインスタンスを変数に代入することが出来る。



3. インスタンスに情報を追加する(名前・日付け・値段・性別などなど)



class ItemList:
   pass


item_list1 = ItemList()
item_list1.name = 'ハンバーガー'




※ item_list1に「name」が「ハンバーガー」という情報を追加している。
※ 「neme」は「インスタンス変数」という。




クラスとメソッドについて


クラスの中では関数を定義する事が可能で、クラスの中で定義した関数の事を「メソッド」という。メソッドを定義する方法は以下の通り。



class ItemList:
   def hello(self):
    print ('おはようございます')

item_list1=ItemList() item_list1.hello()




※ メソッドを定義する場合、必ず第一引数にSelfを追加する必要があることに注意
※ item_list1.hello()のように、クラスの中で定義して、インスタンスに対して呼び出すメソッドのことを「インスタンスメソッド」という。


selfの正体


第一引数に指定した「self」には、メソッドを呼び出したインスタンスが代入される。



class ItemList:
   def info(self):
    print ('self.name')


item_list1=ItemList()
item_list1.name = 'ハンバーガー'
item_list1.info()




よってこのようなコードを書くと、「self」に「item_list1」が代入されて、print ('self.name') で「ハンバーガー」が出力される。




特殊なインスタンスメソッド(__init__)


__init__メソッドを使用すると、インスタンスが生成された時点で、自動的にメソッドが呼び出される。

つまり、基本的にインスタンスを生成すると、毎回変数に値を代入する必要があるが、__init__メソッドを使用すればその必要がなくなり、インスタンスを生成すると同時に値を代入することが出来るようになる。



例えば、__init__メソッドを使用すれば、



class MenuItem:
def __init__(self):
self.name = "ハンバーガーセット"
self.price = 800


def info(self):
return self.name + ': ¥' + str(self.price)


menu_item1 = MenuItem()
print(menu_item1.info())



とするだけで、「ハンバーガーセット:¥800」と出力される。



__init__メソッドに引数を渡すことも可能




class MenuItem:
def __init__(self,name):
self.name = name


menu_item1 = MenuItem(ハンバーガー)
print(menu_item1.name)






↑このページのトップヘ