JS memo

お洒落にJavaScript。

2019年5月26日8:33

プログラミングの独学が楽しくなるサイト

おそらく今この記事に訪れているほどんどの方は言語が何であれプログラミングを独学で学んでいるのではないでしょうか。暇つぶしだったらごめんなさい。
私も実はプログラミングを半独学で学んでいます。半独学と言うのも大学は主に遺伝の研究をしていましたが、どーしてもプログラミングをしたくなったのでアメリカのシアトルの大学で半年ほどコンピューターサイエンスの基礎を 学び、そこから色々なオンラインサイトや教材を元に勉強をしているからです。
今回は色々なオンラインサイトで勉強してみた結果、とてもためになったサイトを皆さんに共有したいと思います!

「勉強がマンネリ化してきたな」とか「勉強の仕方が分からなくなってきた」という方にこの記事を読んで、少しでもプログラミングの勉強を手助けできれば嬉しいです。

※紹介するサイトは英語のものがあるので、英語ができる方 or プログラミングと英語の両方を勉強したい方 or Google翻訳大好き!な方向けです。

目次

  1. おすすめのオンラインサイト
  2. まとめ

おすすめのオンラインサイト

いきなりですが、私おすすめのオンラインサイトをご紹介していきます!(順位不動)

1. コードを早くスマートに「Codewars」

codewars

海外だと割と有名な「Codewars」ですが、ある程度勉強しているプログラミング言語の基礎は学び終わり、「コードを早く書けるようになりたい!」または「もっと綺麗なコードを書けるようになりたい!」と言う野望を お持ちの方におすすめです。

内容はシンプルで、
「与えられた二つの数を足した値を出力するコードを実装せよ。」みたいなミッションに好きなプログラミング言語で挑んでいきます。

最終的に実装したコードは提出すると答え合わせをしてくれ、合っていれば次の問題に行くことができます。(合っていなくても諦めれば次の問題にいけます。)

一見このようなお題形式のサイトは色々あると思いますが、Codewarsの優れている点は他の人が実装したコードを見せてくれることです。

問題の解き方を自分で探ってどのように実装するか学べる段階と、他の人の答えをみてより綺麗なコードを学べる段階の二段階で学習ができます。
一石二鳥とも言えます。(※言い方は人のさじ加減によって異なります。)

私の場合(JavaScript)、配列から値を取り出すときはforループかwhileでちまちま配列をループさせてるコードを書いていましたが、
他の人の答えを参照してmapとかreduce、forEachなどの使いどころを学ぶことができました。

上記のメリットに加えて30種類以上のプログラミング言語に対応いる & 一日中Codewarsをしていても枯渇しない豊富なお題数が魅力です。
デメリットとしては登録初期に設定されているアイコンが少し怖いことぐらいです。

無料で登録もすぐにできるので気になった方はぜひやってみてください。

予告ですが「Codewarsのお題に1日中挑戦してみた感想」的な記事を書く(未定)のでそちらもよかったらみてください♡

メリット

  • お題が豊富
  • 選べるプログラミング言語が豊富
  • 他の人の回答が見れる
  • 夢中になるぐらい楽しい

2. アプリを作成しながら学べる「Udacity」

codewars

Udacityは割と日本でも有名なので、もしかしたらご存知の方がいらっしゃるかもしれませんが、よくある動画で講座をしてくれるサイトです。
よくある動画講座サイトではあるのですが、GoogleやAmazon、Redditなど有名なIT企業の現役のエンジニアが講師をしてくれるのが魅力の一つです。
ただ教えてくれるだけでなく、Redditを立ち上げた時の話のような社内の事例や体験談を交えて教えてくれる講座もあります。

Udacityは動画をコース形式で提供しているのですが、ユニークなコースが多く、例えばコース「Intro to Computer Science」はコンピューターサイエンスをPythonで検索エンジンを作りながら学んでいくことができます。

またながーい一つの動画をただ見るのではなく、数分間の動画に分けて、合間合間にクイズを設けるなど受講者も参加できるような工夫もされています。

質が高いので上級者、中級者向けのコースは値段が高いものが多いですが、基本的なプログラミングの講座はほとんど無料です。
Udacityのアプリもあるので通勤や片手が空いた時にサクッと動画を見ることもできます。

メリット

  • 講師が今を司るIT企業の社員が多い
  • アプリを作りながら学べる
  • コースがユニークで面白い
  • 初心者〜中級者向けのコースは無料が多い

3. お馴染み「youtube」

youtube

youtubeとか誰でも知ってるよ!と思ってもJavaScriptを勉強中の方は読み飛ばさないでね!

皆さんご存知(多分)のyoutubeですが、プログラミングの基礎や分からないことを勉強するにはyoutubeを利用することを強くおすすめします。

例えば、メイクのスキルを身につけたい時って文字で学ぶより、動画で一緒に実践しながら学ぶ方が効率的にスキルアップできると思いませんか?

メイクのスキルを身に着けるのと一緒というと語弊かもしれませんが、プログラミングも初めのうちは、文字だと「引数」「関数」と難しいプログラミング用語が多く理解に時間がかかりますが、 動画だと実際にコードを実装しながら説明してくれるので、すんなり理解することができます。

youtubeは有益なプログラミングの動画が豊富なことに加えて、無料で登録がいらないのでサクッと勉強することができます。

JavaScriptについての動画になりますが、私がいつも見ているチャンネルをご紹介します。

techsith

JavaScriptのチュートリアルを提供しているチャンネル。教え方がわかりやすぎて高評価のコメントが多い

Fun Fun Function

上記のチャンネルと同じくJavaScriptのチュートリアルの動画を配信している。テンション高め。

Google Webmasters

Google Webmasterの公式チャンネルでSEO関連の動画を配信している。SEOとJavaScriptについての動画もある。

メリット

  • サクッと動画が見れる
  • コスパが最強
  • Googleなどの公式チャンネルがある

4. ブログプラットフォーム「Medium」

youtube

mediumはTwitterを作った人が立ち上げたブログのプラットフォームです。

先ほどyoutubeの紹介で「プログラミングを勉強するには動画だよ!」みたいなことを言ったのにごめんなさい。

Mediumはプログラミングに関して有益で面白い記事がたくさんあるので、勉強というよりは空いた時間にmediumのアプリ版で情報収集したり暇つぶしの際におすすめです。

面白い記事をいくつかご紹介します。

Top 10 JavaScript errors from 1000+ projects

How I used my coding skills to make an airline replace my lost baby stroller

How a Googler solves coding problems

メリット

  • 片手が空いた時に情報収集ができる
  • スマホでも読みやすい
  • 情報量が多く面白い記事が多い

まとめ

ここまで読んでくれてありがとうございました。
ご紹介したオンラインサイトを目的別にまとめておきます。

コードを早く綺麗に書くスキルを身につけるにはCodewars
実際に何か作りながら勉強したい方はUdacity
サクッと効率的に勉強するならyoutube
情報収集や暇つぶしがてら勉強するならMedium

がおすすめです。

まだまだおすすめのオンラインサイトはあるので、今度はジャンル別にご紹介した記事を書きたいと思います。