SHOYAN BLOG

I am a pragmatic programmer.

StudyPlusを使った英語の勉強をはじめて5ヶ月目の記録

StudyPlusに英語の勉強を記録し始めて5ヶ月。
幸運なことに継続して学習を続けることができている。

勉強時間は128時間(累計)。
覚えた単語数は4600。
前回が3500だったので1ヶ月で1100、語彙数が増えた。
だんだん単語が覚えやすくなってきた感じがしている。

前回から変わった点としては洋書を読み始めたことがあげられる。
Kindle Unlimitedを契約したので、洋書の入手に事欠かなくなったからだ。

最近読んだのは以下の本。
英語の効果的な勉強法を英語で勉強できるので1粒で2度おいしい。

Kindle Unlimitedは洋書が132万冊あるので、これから存分に活用させてもらうつもりだ。
ちなみにLearn Englishによると、知っている映画の本を読むのがリーディングに最適だそうだ。

また、洋画を観ることも始めた。
こちらはまだ習慣化するところまで至っていないが、基本的には同じ映画のセリフを覚えるまで何回も繰り返し観るということをやろうと考えている。
題材はThe Devil Wears Plada(プラダを着た悪魔)だ。
これにした理由はニューヨークを舞台とした映画が良いと思っていて(これについては完全なる好みの問題)たまたま手元にあったのがプラダを着た悪魔だった。

過去の英語の勉強記録

Slackで定期的にRubotyに仕事をさせる

ChatOpsの一環としてSlackにRubotyを常駐させているのだが、Rubotyに定期的にタスクを実行させたいことがあった。
最初はruby-cronを使ってみたのだが、Slackだとうまく動かなかった。
具体的にはジョブの登録はできるのだがジョブの実行(通知)がされない。

うまくいかなかったのでSlackのリマインダー機能を使ってみることにした。
Slackのリマインダー機能を使うと Reminder: と言うプレフィックスが入るのでRubotyが反応せず、こちらもうまくいかなかった。

最終的にはcronでスクリプトを定期実行させることにした。
Slackに通知するスクリプトを作って、それをcronで定期的に実行させる。
メッセージを拾ったRubotyがタスクを実行するといった感じだ。

サンプルコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require "faraday"

username = 'your name'
channel = 'your channel'
slack_token = 'your slack token'
icon_url = 'your icon url'

body = {
  username: username,
  channel: channel,
  icon_url: icon_url,
  text: "ruboty ping"
}

Faraday.new('https://slack.com') do |c|
  c.request :url_encoded
  c.adapter Faraday.default_adapter
end.post("/api/chat.postMessage?token=#{slack_token}", body)

これでRubotyに定期的に仕事をさせることができるようになった。

RubyGems.orgに反映させるRakeタスクの紹介

Gemを更新した場合はRubyGems.orgに反映させる手続きが必要だ。
Gemを更新することはそんなに多くないので(私の場合)よく手順を忘れてしまう。
毎回手順を探すのはストレスなので以下のようなRakeタスクを作成した。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require "bundler/gem_tasks"
require "rspec/core/rake_task"

RSpec::Core::RakeTask.new(:spec)

task :default => :spec

namespace "gem" do
  desc 'Build a gem package'
  task :build do
    sh "gem build your_gem_name.gemspec"
  end

  desc 'Push a gem package'
  task :push do
    Rake::Task["gem:build"].execute
    sh "gem push your_gem_name-#{YourGemName::VERSION}.gem"
  end
end

公開する時は以下のタスクを実行すればいい。

1
$ rake gem:push

以下は実際のソースだ。
参考にしてほしい。

Kindle Unlimitedの冊数は図書館並みだった

今更ながらKindle Unlimitedを使ってみた。
すでに承知の方が大半だろうが、Kindle UnlimitedはKindle本の読み放題サービスだ。
月額980円でKindle Unlimitedに登録されている本を読むことができる。
ちなみに現在登録されている本はおよそ13万冊。
この数は私が利用する糸島市図書館のおよそ2倍だ。

ちなみに13万冊というのは日本で出版されている本の数で洋書は含まれていない。
洋書は10倍にあたる132万冊を読むことができる。
132万冊といえば全国で6番目に蔵書数が多い滋賀県立図書館に匹敵する。

洋書を手に入れる場所は日本だと限られているが、Kindleを使えば大型の図書館の蔵書数に匹敵する洋書を読むことができる。
また、Kindleアプリには英語の翻訳機能が搭載されているので、不明な単語があれば即座に意味を確認することもできる。

使ってみて3週間ほど経つが、月額980円をペイするには十分すぎるクオリティだと思う。
Kindleは各プラットフォームにアプリが用意されており、Kindleがなくても読むことができる。
自分はKindle Fireを持っているがKindle Fireを使うことはあまりなく、iPhoneやMacで読むことの方が多い。

Kindle Unlimitedで読めるKindle本は以下で確認できる。

Macを引っ越ししたらDockerデーモンが起動しなくなった

Macを引っ越ししたらDockerデーモンが起動しなくなった。
Dockerを起動しようとすると Cannot connect to the Docker daemon. Is the docker daemon running on this host? というメッセージがでて起動しない。
docker-machineコマンドで確認してみると以下のエラーが出ていた。

1
2
3
$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

1度docker-machineコマンドで既存のDockerを削除して作成するとうまくいった。

1
2
$ docker-machine rm -f default
$ docker-machine create -d virtualbox default

今度はDockerのバージョンがv1.12.1と表示されている。

1
2
3
⇒  docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.1

ちなみに既存のDockerを削除すると今までのimageは消えてしまう。

Docker for Macがでてそっちに移行した方がよさげな機運を感じるので、そろそろDocker ToolboxからDocker for Macに移行する時期なのかな。