omuriceman's blog

iOS / AWS / Firebase / JavaScript / Deep Learning を中心とした技術を面白く紹介します!

英語のリスニングとプログラミングを同時に鍛えるYouTube動画20選とオススメチャンネル5選!

最近「英語のリスニングを鍛えたい!」と思い立ち継続してやっていることがあります。

その説明に入る前に、まずはこちらの動画をご紹介させてください。

英語のリスニングを「爆発」させる最強の方法 4K

内容を要約すると英語のリスニングを鍛えるには、

  • リスニングを鍛えたい国の動画を字幕付きで見る
  • 1日1分以上、週6日見る
  • わかりやすい動画にする

を行うと良いと言う事です。詳細は動画を見てくださいね。

上記を行うには映画を英語字幕で見るのがいいと思うのですが、私が契約しているAmazon Prime Videoは英語字幕出せない… とはいえ、他のNetflixなどのサービスに申し込むのも勿体無い。他にいい方法はないものか…と悩んでおりました。

しかしピンチはチャンス!

調べてみるとYouTubeにプログラミング系の英語動画がたくさんあることが判明しました。しかも海外のプログラミング系YouTube、動画のクォリティが高いのが多いんですよね。(余談ですが、日本はまだまだそういった動画が少ないように思います。日本市場は小さいですが、参入のチャンスでしょうか。)

私は電車移動中に1日10分以上英語字幕ありでプログラミングの動画を見るようにしています。

そんな中で貯めに貯めた「字幕ありで聞き取りやすいYouTube動画」を厳選していくつかご紹介したいと思います。

動画を見る前の注意事項

ある程度プログラミング経験がある方の学び直しを対象としています。プログラミング初心者で英語が得意ではない方は日本語の動画やレッスンを取り組む方がいいと思います。

英語動画厳選20選

  • ブログのタイトルにはわかりやすく「プログラミング」と書きましたが幅広い範囲の動画を取り上げております
  • シリーズ物の場合は最初の1つめを紹介していますチャンネルには他に面白い動画もあるのでYouTubeに遷移して好きなように見てみてください

アルゴリズム

アルファベット順に本を並べる最速の方法 ― チャンド・ジョン

とても有名ですが、TEDの動画は日本語字幕ありの動画が多く手始めに見るにはいいかもしれません。

TCP/UDP

TCP vs UDP Comparison

DNS

DNS: The Internet's Phonebook

SSH

How Secure Shell Works (SSH) - Computerphile

公開鍵暗号

Asymmetric encryption - Simply explained

Git and GitHub

What is VCS? (Git-SCM) • Git Basics #1

First Look • Collaboration with Git and GitHub

Scrum

Scrum vs Kanban - What's the Difference? + FREE CHEAT SHEET

MVP

Making Your First Game: Minimum Viable Product - Scope Small, Start Right - Extra Credits

OOP

8.1: What is Object-Oriented Programming (OOP)? - Processing Tutorial

Python

Lesson 1 - Python Programming (Automate the Boring Stuff with Python)

Python Tutorial for Absolute Beginners #1 - What Are Variables?

Unit Tests

Unit Tests in Python || Python Tutorial || Learn Python Programming

JavaScript

JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour [2019]

Unity

How to make a 2D Game in Unity

デザイン

Learn the Most Common Design Mistakes by Non Designers

Firebase

Introducing Firebase

機械学習

Hello World - Machine Learning Recipes #1

Googleの動画も日本語字幕ありの動画が多いので英語学習に良いですね。

ニューラルネットワーク

But what is a Neural Network? | Deep learning, chapter 1

TensorFlow

Get started with Google Colaboratory (Coding TensorFlow)

オススメしたいチャンネル&再生リスト5選

本当にいいチャンネルが多くて迷ってしまいました。今回は日本であまり有名ではないチャンネルを推薦していきたいと思います。

「退屈なことはPythonにやらせよう」で有名な著者のPythonレッスン動画

Automate the Boring Stuff with Python - YouTube

TypeScriptのデザインパターンからブロックチェーンまで幅広い動画が掲載

www.youtube.com

インフラや通信用語などを知りたい場合はこのチャンネル

www.youtube.com

たくさんのプログラミングのレッスンを行なっているチャンネル

www.youtube.com

デザインのこと詳しくないけど見てるだけで楽しいデザイン専門チャンネル

www.youtube.com

学習法

残念ながら私はまだ英語が得意ではないので、周囲にいる得意な人も含めて動画による学習法を調査しました。

  • 英語字幕で動画を見る
  • 動画の発音を真似して喋る
  • 母国語字幕で動画を見る→英語字幕で動画を見る→字幕無しで動画を見る
  • 字幕無しで動画を見る→英語字幕で動画を見る(自分で推測して答え合わせする意図のようです)

人によってバラバラですね。字幕無しで見るという方法もありますがまずは自分にあった方法で楽しく継続できるのが大事ではないでしょうか。(と言っている英語学習動画もありますね。)

まとめ

自分がやっていて面白いのが、自分が理解している技術については英語がわからなくてもある程度理解ができるのですが、ブロックチェーンなど理解していない技術についてはわかりやすい動画でも内容が理解できないのです。 つまり、英語動画の内容が理解できる=その技術を理解している。ということになるのではないかと思いました。

英語やプログラムの学習にYouTube動画を取り入れてみてはいかがでしょうか。

無料で使えるClipboardの履歴管理アプリ「Pasta」が便利 | Macユーザーは使ってみて!

f:id:omuriceman:20190810154703p:plain

先日ProductHuntをパラパラと眺めていたらPastaというアプリを見つけた。

www.producthunt.com

端的に機能の説明をすると「Clipboardの履歴を管理できるアプリ」である。

私の場合、一度に複数のコピーをして貼り付けたりするケースがよくあるのだが、そんな時は標準のメモアプリに貼り付けたり、強引な時はブラウザのURL入力欄にペーストして退避させたりなどして効率が悪いなと感じることがあった。

このPastaはなかなか便利だし基本的な使い方は無料なのでMacユーザーは是非ダウンロードしてほしい。

App Storeのリンクはこちらから。

Pasta

Pasta

  • WonderBit S.L.U.
  • 仕事効率化
  • 無料
apps.apple.com

Clipboardの履歴管理アプリは他にもあるのだが、有料・デザインが好みでない・機能が足りないということがあり、当面はPastaを常駐させていきたいと思っている

画面説明

f:id:omuriceman:20190809172911p:plain

画面はこんな感じにになっている。macOS Mojaveのダークモードに対応しているので、Macの設定に合わせて画面が黒くなっている。

f:id:omuriceman:20190810140514p:plain

また、普段はステータスバーに常駐しているので画面を邪魔しない。

逆に画面に出し続けることも可能で、それはアプリ画面上に表示されている錨マークを選択すれば良い。

f:id:omuriceman:20190810140909p:plain

機能紹介

簡単に機能紹介をしたいと思う。

文字列検索+フィルタリング

コピーした履歴を検索することができて、使用したアプリやファイル形式でのフィルタリングが可能になっている。アプリのフィルタリングは、用途の違うコピーを分けることが簡単になるので使えるのではないかと思う。

f:id:omuriceman:20190810144238g:plain

キーボードショートカットが使いやすい

もう1つオススメしたいのがキーボードショートカットだ。コピーした内容を素早く呼び出したい時に、⌘⌥Vで画面を起動させ⌘1~9で過去のコピー履歴を呼び出すことができる。

こちらについては画面の操作を見てもらうとわかりやすい。

f:id:omuriceman:20190810151945g:plain
⌘⌥Vで起動して2番目を⌘2で選択して貼り付けている

秘匿性が高い

パスワードのコピーも安全に行ってくれるようだ。

When copying sensitive information from apps like 1Password, Pasta will obfuscate it on screen and will encrypt it when saved to disk.

翻訳すると以下のような内容になる。

1Passwordのようなアプリから機密情報をコピーする場合、Pastaは画面上でそれを難読化し、ディスクに保存するときに暗号化します。

まとめ

  • コピー履歴を管理できるPastaを使い始めた
  • 使用したアプリごとのフィルターやファイルタイプごとにもフィルターができる
  • 一度に複数の要素をコピーしたいときに使えるだけでなく作業の振り返りなどにも利用できそう
  • 無料で起動も早いので常駐させておいて損はない

getpasta.com

履歴の数や画面のレイアウトのカスタマイズなどを行いたい場合は、¥1,400でアップグレードが可能なので気に入ったら購入してみてほしい。

ターミナルの操作を録画してgifにする「terminalizer」をさらに映えさせるためのTIPS

技術ブログを映えさせるためにいろんなツールを調査しているのですが、terminalizerというターミナル操作を録画してgifにするOSSを利用することにしました。

github.com

terminalizerはgifにするときに色々なカスタマイズがあるのですが、これをいじることで画面の見栄えにかなり影響がでます。使い方と合わせてブログで紹介したいと思います。

インストール

公式では下記のコマンドを入力すればインストールできると書いてあります。

npm install -g terminalizer

私の場合は初めてインストールした時に「Error: EACCES: permission denied, ~」というエラーが出てしまいました。sudoをつけてもインストールできなかったのですが、最終的に以下の方法でインストールができました。

sudo npm install -g terminalizer --unsafe-perm=true --allow-root

使い方

terminalizerで必要な操作は大きく3つだけです。

record(録画)

terminalizer record <recordingFile>

で録画を開始します。

f:id:omuriceman:20190804220655g:plain

play(再生)

terminalizer play <recordingFile>

recordした内容を再生します。

f:id:omuriceman:20190804224735g:plain

render(gif出力)

terminalizer render <recordingFile>

recordした内容をgifに出力します。

f:id:omuriceman:20190804225249g:plain

見栄えを良くするためのTIPS

さて一見便利そうなterminalizerですが、デフォルトの設定では少し見辛いかな〜と思うことがあります。 皆さんも私の意見を参考にしつつ自分の最適な設定を見つけてもらえれば幸いです。

f:id:omuriceman:20190804232710g:plain
デフォルト設定のterminalizer

モバイル端末で見るともはや何も見えませんね!

フォントサイズの変更する

まず何より文字が小さくて見辛いのでフォントサイズを12から20にあげました。 全体の設定に反映する場合は、.terminalizer/config.ymlのfontSizeを変更すればOKです。

f:id:omuriceman:20190804233036g:plain
フォントサイズを変更

少し修正するだけで見やすくなったと思います。

行数/列数を明示的に指定して不要な間を消す

さて次は行数と列数を変更します。上記までは行数と列数がautoになっていたので、下の方に不必要な隙間ができていました。

f:id:omuriceman:20190804235301p:plain

最適な設定は録画する内容によって変わるかと思いますので難しいのですが、行数を10・列数を50に設定しています。

f:id:omuriceman:20190804234050g:plain
行列の設定変更例

ブログだけでなくSNSなどに投稿する場合にも見栄えが良く見えるのではないでしょうか。

gif画像のフレームのタイトルを変更する

こちらの部分のことです。Terminalizerと書いてあるとちょっと気になりますよね。

f:id:omuriceman:20190804234254p:plain

上記と同じconfig.ymlファイルのframeBox->titleを変更します。私の場合は「omuriceman」としました。

.bash_profileでターミナルの表示名を変更する

これはterminalizerの設定ではありませんが、.bash_profileでプロンプトの表示形式をカスタマイズすることができます。 私の設定は下記の通りです。

export PS1="🌈\[\e[33m\] \W \[\e[0m\]\$ "

ユーザー名などの情報についてはgif出力時に余計な幅にしかならないので、がっつり省きました。

設定できる内容については、とても良くまとまっている記事がありましたので紹介します。

qiita.com

色々と設定するとこんな感じです。 f:id:omuriceman:20190804220655g:plain

まとめ

  • terminalizerはターミナル操作をgifにしてくれる
  • ブログやSNSなどで発信したり、コマンドの操作共有などに使えそう
  • そのままの設定だと見辛いので修正を加えるべきポイントをまとめた