$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

挫折しないための英語勉強

 最近また英語の勉強をしている。僕自身は全く英語の勉強が続いたためしがなくて、毎回はじめてから1~2ヶ月くらいたつと英語の勉強に飽き、挫折してしまう。けれど今回は何とかして続けたいと思って、いつもとは全く違うアプローチで英語の勉強を続けたところ、今のところ6ヶ月くらい英語を続けられている。

 今日はどんな感じで英語勉強してきたか軽く書いてみたい。

挫折しないために決めた方針

 これまでは毎回英単語を勉強したり、英語の本を読んだり、英語のニュースを聞いてリスニングの勉強をしたり、といういわゆる英語の勉強をやってきた。でもこれだと自分は挫折するということが分かった。

 今回は海外の人と友だちになれればモチベーション維持できるのではと考えて

  • 海外の人と友だちになってチャットしたり会話したりを勉強の中心にする
  • チャットや会話を円滑にするための勉強をする

という方向性でやってみた。

効果的だったもの

効果的だったものは以下。

  • ひとまず海外のチャット友達を作る
  • 瞬間英作文
  • 英会話なるほどフレーズ100
  • Langrich
  • 適当に海外の友だちとあって、一日中英語話す

ひとまず海外のチャット友達を作る

 ひとまず少しでも英語を読んだり書いたり出来るなら、まずチャット友だち作るのがモチベーションを維持するのに一番効く。チャットの場合、辞書も引けるし、遅くなってもあんまり問題ないので、エンジニアとかだったら少し時間はかかるものの普通にチャットできる。

 チャットの相手見つけるのそんなに難しくない。ペンパル募集サイトみたいなのがあるので、適当に書き込むと日本に興味ある人がすごい勢いでメール送ってきたりしてくれる。その中で趣味合う人とかと話してみるといい。アニメとか好きだったら結構食いついてくれる人が多い。

 僕の場合はこの段階で、3~4人くらい英語でチャットする相手を見つけて、SkypeとかLINEとかでチャットしてた。これを最初にしていたおかげで

  • チャットしてるだけでちょっとは楽しい
  • 英語も調べながらなので、なんかあんまり英語できないなーという気持ちになれる

という意味で、モチベーションの維持に非常に貢献してくれた。

瞬間英作文

 チャットし始めた段階では、自分が言いたいことが日本語では出てくるのだけど、英語にうまく変換できないという経験をする。そういう時には瞬間英作文をやるのがおすすめ。瞬間英作文というのは簡単な日本語の文をひたすら英語の文にしていくってやつで、http://enjoylifeinenglish.blog112.fc2.com/blog-entry-254.htmlとかでも紹介されている。

 僕自身は出来るだけ座って勉強したくなかったので、これのiPhoneアプリを買った。おすすめはこれ。
https://itunes.apple.com/jp/app/poketto-shun-jian-ying-zuo/id481587346?mt=8&uo=4&at=10l8JW&ct=hatenablog
 これを買っておくとひとまず電車の中でとか、歩いて聞きながら瞬間英作文したりとかできる。スキマ時間に便利に使える。

 瞬間英作文本当におすすめ。あんまり大変ではないのに、ずっと繰り返してやってると意外とすらすらチャットとか出来るようになってくる。まずチャットとか会話できるようにしたい時には最適だと思う。

英会話なるほどフレーズ100

 瞬間英作文で簡単なフレーズならすぐに出てくるようになるんだけど、

  • なるほど
  • うーん
  • それいいね
  • ちょっと出来た

みたいな会話でよく使うような頻出表現みたいなのは学べない。

 そこでひたすら簡単なフレーズを100種類紹介しているだけの本である「英会話なるほどフレーズ100」がおすすめ。

 例文集というのは英語でチャットしたり会話したりするときにはすごく大事で、なんとなく知らないとうまくフレーズが出てこない。でもよくある例文集は結構分量が多くて、読むのが結構大変なことが多い。この本ではすごく簡単なフレーズが100個だけ載ってる、という作りなので気軽に勉強しやすい。また単に100フレーズ載ってるだけじゃなくて、そのフレーズからちょっと単語を変えるといろいろな表現に変えられるようになっていて、100フレーズ眺めるだけでいろんな表現に応用することが出来る。

 いろいろ例文集探してみたけど、ひとまず実践的に使えるようになるところを目指すには、この本が一番お勧めだと思う。

Langrich

 ここまでやってるとチャットはまあ普通に出来るようになってくる。でも次の難関として英語を話す勇気が出ないというものがある。

 そこでここはちょっとお金かかってもいいから、オンライン英会話を利用するようにした。知り合いもいるのでLangrichを利用することにした。

Langrich | EnglishCentral
f:id:shiba_yu36:20140605224638p:plain

 LangrichっていうのはSkypeでオンライン英会話が出来るサービスで、月額6000円くらい払ったら毎日好きな時間に30分英語のレッスン受けられるってやつ。講師はフィリピンの人で日本語話せないので、英語話すしかないって感じなのも良い。

 お金払って先生と英会話のレッスンをするのは、知り合ったばかりの人と英語で話す時よりもまだ気軽に英語を話すことが出来る。なのでまずこれを練習台に英語を話す勇気みたいなのをつけていった。もちろん勇気だけじゃなくて英語のリスニングとか表現力とか上がってく。

 昔は夜に予約して英会話してたんだけど、これだとだめで大体飲みに行きたくなって破滅するので(僕だけかも)、毎朝レッスン予約するのがおすすめ。毎朝レッスン予約しておくと、副作用としてちょっと早起き出来るってのもある。

適当に海外の友だちとあって、一日中英語話す

 ここまで来ると少しは表現力もついて、英語話す勇気も付いてくるので、なんとかして海外の友だちにあって英語話しまくるといい。チャットしてた友だちがいるはずだから、その人が日本に来た時とかに案内するでもいいし、普通にSkypeとかで電話してみるでもいい。

 感覚的にはリスニングスキルは一日中友だちと英語を話しまくるのが一番早い。ひたすら早い英語話してきて、朝はあんまり理解できないんだけど、夜になってくるとだんだん理解できるようになってきて、その次の日になんかLangrichの先生の英語は100%理解できる、みたいなことがあった。

 あとやっぱり直接話すことが、英語もっとやろうというモチベーションに直接つながる気がする。これは僕が会話するのが好きっていうのもあるけど、まあ普通に楽しい。

 というわけで、ある程度話せるようになったら、会話してみるといいです。

まとめ

 英語の勉強挫折しないために何を勉強してきたかについて紹介してみた。これで大体6ヶ月くらい勉強し続けられているので、やはり友だち作るのが一番手っ取り早いのではと思ってるのでお試しください。

perlの変数のデータ量を測定する

perlの変数のデータ量を調べたいということがあって、何を使ったらいいか調べたんだけど、Devel::Sizeというのが便利そうだった。

こんなかんじで使える。

use Devel::Size qw(size total_size);
 
my $size = size([1, 2, 3, 4, 5]);
warn $size;

my $total_size = total_size({
    a => [1, 2, 3],
    b => {
        c => [1, 3, 5],
    },
});
warn $total_size;


sizeというのは構造のために使われている容量を出してくれるやつ。

The size function returns the amount of memory the variable returns. If the variable is a hash or an array, it only reports the amount used by the structure, not the contents.


ちゃんと容量を知りたかったらtotal_sizeというのを使わないといけない。

The total_size function will traverse the variable and look at the sizes of contents. Any references contained in the variable will also be followed, so this function can be used to get the total size of a multidimensional data structure. At the moment there is no way to get the size of an array or a hash and its elements without using this function.


ひとまずバイト単位で簡単に出してくれるので便利。ただやってみると意外とPerlメモリ使うなあという気持ちになる。

はてなで開催されたGitHub勉強会に行きました

はてなで開催された、GitHub勉強会に参加しました。

今回は勉強会自体が目標というより、GitHubの人と交流するためにいった。GitHub Kaigiでは人も多くてあんまり話せなかったので。

最近英語をちょっとずつ勉強しているのだけれど、これは実は前回のGitHubのイベントで、全く英語が話せなくて悔しい思いをして、そこから英語の勉強をし始めたという経緯があった。そこで、今回は前回のリベンジということでひとまずGitHubの人に英語で会話を仕掛けていった。


実際に聞いたこととしては

  • リモートワークしてるけど、開発フローを整えるチームがあるの?
  • issueとpull requestを紐付ける機能なくなるって言ってるのどうして
  • pull requestを再レビューする時どうしてるの、二つのcommitのcompareビューでレビューしたいんだけど

らへん。

開発フローを整えるチームというのはあるらしい。でもそれはそんなに人数がいないらしい。250人今は働いているらしいけど、その中で数人と言ってた気がする。あとはみんな気が向いたときにいろいろ作り始めるんだよっていってて、そのへんはまあ一緒だなと思った。

issueとpull requestを紐付ける機能の質問は実はあんまり聞き取れなくてよく分からなかった。issueはpull requestと一対一対応してないこともあってわかりづらいという話をしていた気もする。とはいえなくさないでほしいな。

pull requestをレビューしてもらって、更にそれを修正した後、その修正をレビューしたいことがある。しかし現状はpull request全体のFiles Changesを見るか、修正commitを1つずつ見ていくしか無い。これ困るからcompare viewでなんとかコメント付けられないかなって要望出したら、ああそれは機能開発チームにフィードバックしておくよって言われた。前回も同じ質問したのであうたびに質問を繰り返したい。


ひとまず英語を流暢に会話したり、相手の言っていることを大体理解するということはかなわなかったものの、前回のように喋りかけることも出来ないし、伝えることも出来ないという状態からは脱した気がする。もうちょっと会話を成り立たせたいので、さらに英会話なんとかしたい。