give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

音楽好きの在宅リモートワーカーとしてSpotifyを愛用しています

はじめに

みなさん、Spotify(スポティファイ)は使っていますか?
僕は日本で正式にサービスが開始されてからSpotifyを愛用しています。
Spotifyを使い始めてからそろそろ3ヶ月になるので、使ってみた感想をレポートしてみます。

Spotifyって何?

Spotifyはスウェーデンで生まれた音楽のストリーミング配信サービスです。
日本では2016年9月にサービスが開始されました。
Spotifyには4000万を超える楽曲が登録されています。

https://www.spotify.com/jp
f:id:JunichiIto:20161225091340p:plain

FAQ:「でも招待コードがいるんでしょ?」「いいえ不要です」

サービス開始当時は招待コードが必要でしたが、2016年11月から招待コードなしで一般公開されています。
なので、現在は誰でもサービスを利用できるようになっています。

無料版と有料版の違い

Spotifyには無料版と月額980円の有料版(プレミアム)があります。
無料版には以下の制限があります。

  • 曲が切り替わる合間にCMが入る
  • モバイル版はアーティスト単位のシャッフルプレイのみになる(デスクトップ版は自由に曲選択が可能)
  • デスクトップ版は再生時間が15時間を超えると再生できなくなる(モバイル版は時間制限なし)
  • オフライン再生(曲のダウンロード)ができない
  • 高音質再生ができない

有料版にアップグレードすると、上記の制限がなくなります。
つまり、CMもなく、好きなだけ、好きな曲がいつでも自由に聴けるようになります。

ちなみに僕はデスクトップ版の時間制限に達したタイミングで有料版を使うことに決めました。

参考: Premiumにアップグレード - Spotify

曲の品揃えについて:洋楽の充実度がすごい!

曲の品揃えについては、洋楽(ジャズやクラシックを含む)の充実度が圧倒的に高いです!
洋楽に関しては「この曲は聴けるかな?」と思った曲の9割以上が聴けます。
洋楽が好きな人であれば、自由に試聴可能なCD屋を手に入れたようなもんです。

一方、邦楽(J-POP)に関してはまだ洋楽ほど充実していません。
「聴きたい」と思った楽曲・アーティストがヒットする割合は感覚的には2~3割ぐらいです。
でも、「あ、こんなマイナーなアーティストの曲が聴けるんだ」と思ったり、「え、この有名なバンドの曲もSpotifyで聴けるの?ラッキー!」と思ったりすることがときどきあります。

たとえばこのあいだは、発売されたばかりのASIAN KUNG-FU GENERATION(アジカン)のニューアルバムが聴けたことにビックリしました。

また、「あれ、このバンドは前に検索したときはなかったはずだけど?」と思うこともあるので、登録されている日本人アーティストも徐々に増えてきている気がします。
なので、「今聴けない=今後も絶対聴けない」ということではないようです。

音質について:BGMとして聴くなら通常モードでも十分

有料版には高音質モードが用意されていますが、今のところ僕は通常モードで音楽を聴いています。
高音質モードと比較したりもしましたが、「言われてみたらちょっと良くなったかな?」と思う程度で、ブラインドテストでどっちか当てろと言われたら100%当てる自信はありません(苦笑)。

本格的にアンプやスピーカーを用意してじっくり耳を傾けるのであれば違いが出てくるのかもしれませんが、仕事中に聴くBGMとして流すぶんには通常モードでも音質は十分だと思います。

また、Spotifyの通常モードとiTunesを同じ曲で聞き比べても違いがほとんどわからなかったので、iTunesの音質に不満がないならSpotifyでもおそらく十分でしょう。

ちなみに僕は普段このBluetoothスピーカーを使っています。
サイズの割にすごくクリアでパワフルな音が出るのでオススメです。

Spotifyならではの制限事項:屋外での利用やアカウントの共有について

すごく便利なSpotifyですが、iTunesのような既存の音楽再生アプリにはない制限事項もいくつかあります。

まず、基本的にストリーミング再生なので、Wi-fi環境がないと通信料が気になって再生しづらいです。
モバイル版であれば事前にダウンロードすることもできますが、僕は通勤で移動したりしない在宅リモートワーカーなので事前ダウンロードはほとんど使っていません。

また、1アカウントだと複数のデバイスで別々の曲を聴くことができません。
なので、たとえば家の中で僕と妻が同時に好きな音楽をかけたいと思った場合はアカウントを2つ用意する必要があります。

個人的なお気に入りポイント3つ

これまでは「パソコンで音楽を聴く=自分で取り込んだiTunesの音楽を聴く」だったのですが、Spotifyを使い始めてからはそれ以外の選択肢が増えました。
個人的に「Spotifyのここが好き」と思っているポイントを3つ紹介します。

1. 公式プレイリストの選曲がナイス

Spotifyには公式アカウントによって作成された様々なプレイリストが提供されています。
プレイリストは音楽のジャンルやシチュエーションにあわせて、「いい感じの楽曲」が並んでいます。

全然知らないアーティストの曲もたくさん並んでいたりしますが、選曲のセンスが良いのでほとんどスキップせずに再生できます。
コーヒーを片手に「カフェ系」のプレイリストをかけたりすると、まるでスターバックスの店内にいるような気分になれます。

f:id:JunichiIto:20161225092146p:plain
カフェっぽい雰囲気の曲を選曲してくれる「Your Favorite Coffeehouse」というプレイリスト

他にも「ボサノバ」とか「ラテン系」のようなジャンルから適当にプレイリストを選ぶと、これまたいい感じの楽曲が次から次に流れてきます。
「ボサノバやラテン系のアーティストを自分で選べ」と言われたらほとんど知らないので誰を選んでいいかわかりませんが、プレイリストがあればジャンルを選ぶだけで済むわけです。

f:id:JunichiIto:20161225140016p:plain
「なんとなくボサノバを流したい気分」ならボサノバのプレイリストを再生

iTunesであれば「自分が知ってる楽曲から聴きたい曲を選ぶ」という操作になりますが、Spotifyの場合はそのときの気分で「知らない楽曲を適当に再生する」ということができます。
これはちょっとしたおみくじ気分で音楽が聴けるのでなかなか楽しいです。

2. ベスト盤がなくてもベスト盤のように再生できる

Spotifyには洋楽がたくさん登録されているので、「名前だけは知っている、あのバンドの曲を聴いてみたい」と思って検索することがよくあります。
ただ、「名前だけ知っているバンド」だと有名な曲や人気曲がどのアルバムに入っているのかよくわかりません。

でも大丈夫です。
Spotifyならアーティスト単位で人気順に曲を再生できるからです。
つまりSpotify上でベスト盤が最初から用意されているような状態になっています。

ここでもやはり「自分で聴きたい曲を選ぶ」のではなく、「どの曲を再生するかはSpotifyにおまかせする」ことができます。

f:id:JunichiIto:20161225094435p:plain
「デビッド・ボウイって名前だけは知ってるんだけど、どの曲が有名なのかは詳しくないんだよな~」という人は人気順に再生!

3. 昔懐かしの曲がたくさん聴ける

これはおっさん限定の話題になりますが、「学生時代によく聴いてたあのアーティストの曲」もSpotifyにいっぱい入ってたりします。
なので、「学生時代はカセットテープやMDにがんばってダビングしてたけど、iTunesには入れてないからもう10年以上聴いてないわ~」と思う曲にSpotify上で再会できます。
あと、「このアーティストのアルバム、全部聴きたかったけど、学生時代はお金がないから無理だった」みたいなやつとかね。

あんまり語るとダサくなるのでやめますが、ボンジョヴィやMR.BIGのアルバムとかも全部聴けるわけです、はい(40前後のおっさんだけがうなずく話題)。

f:id:JunichiIto:20161225092357p:plain
学生時代に頑張ってギターのコピーをしようとしてたんだよな~。(弾けなかったけど)


あと僕と同年代の人だと、こういうのも好きな人が多いのでは?(僕も好きですがw)

f:id:JunichiIto:20161225135620p:plain
TKと聞いて何を連想したかによって年齢がバレてしまう問題

まとめ

というわけで、このエントリでは僕が愛用しているSpotifyを紹介してみました。
日本でサービスが始まる前から「Spotifyはすごい」という噂を耳にしていたので、非常に楽しみにしていましたが、これは期待以上の音楽配信サービスだなと思いました。
あとは新旧含めて邦楽の品揃えが洋楽レベルになれば、最強の音楽配信サービスになると思います。

Spotifyは特に僕のように在宅でリモートワークしている人にとっては仕事中のBGMとして利用するのに最適です。
「まだSpotifyを使ったことがない」という人は、まずは無料版から使ってみてください!

https://www.spotify.com/jp
f:id:JunichiIto:20161225091340p:plain

仕事用のMacBook ProをmacOS Sierraにアップデートした

はじめに

タイトルの通り、仕事用のMacBook ProをmacOS Sierraにアップデートしたので、まだアップデートしていない人向けのメモを残しておきます。

ご注意

このエントリの情報は2016年12月23日時点での情報です。
将来的に状況が変わる可能性もあるので、適宜最新の情報もあわせて確認するようにしてください。

僕のMac環境

  • 用途:主にプログラミング(Ruby on Rails)
  • Mac本体:MacBook Pro 15-inch, Mid 2015
  • Mac本体のキーボード:US配列
  • 外部キーボード:Happy Hacking Keyboard (HHKB) Professional 2 Type-S

Mac本体のキーボードを使うこともありますが、仕事中はこんな感じで外部ディスプレイと外部キーボードをメインで使っています。

f:id:JunichiIto:20161223083355j:plain

Sierraアップデート前の懸念

El CapitanまではKarabinerを使ってキーボード設定を以下のようにカスタマイズしていました。

  • 左コマンドキーの単独押しを英数キーに割り当て
  • 右コマンドキーの単独押しをかなキーに割り当て
  • 外部キーボードのF1~F12を輝度調整やボリューム調整キーに割り当て

しかし、KarabinerはSierraでは使えなくなっています。代わりにSierra向けにKarabiner Elementsという簡易版が提供されています。
そこまで複雑なカスタマイズをしているわけではないので、とりあえずKarabiner Elementsでなんとかなるんじゃないか、という淡い期待を抱いてSierraにアップデートすることにしました。

Sierraアップデートの流れ

OSをインストールする

まず、OSをインストールするまでの流れはこんな感じです。

  • 最悪何か大きな問題が起きても、時間をかけてリカバリできる日程・時間帯を選ぶ。
  • Time Capsule + Time Machineを使ってMacをバックアップ。

APPLE AirMac Time Capsule - 2TB ME177J/A

APPLE AirMac Time Capsule - 2TB ME177J/A

  • Sierraのダウンロード開始。時間がかかるので、夜9時にスタートさせて就寝。
  • 早朝4時ぐらいに確認したらダウンロードが終わっていたので、インストール開始。
  • 6時ぐらいに確認したらインストールも完了していた。
SSHの設定を変更する

次に、SSHの関連の設定を変更します。
どうもSierra 10.12.2からSSHの設定が変わったようで、そのままだとGitHubやHerokuにpush/pullするときにエラーが出たりします。

僕は以下のサイトを参考にして修正しました。

difficulties with ssh-agent in macOS Sierra : osx

具体的には ~/.ssh/config に次のような設定を追加します。

Host *
   UseKeychain yes
   AddKeysToAgent yes
   IdentityFile ~/.ssh/id_rsa
   IdentityFile ~/.ssh/id_25519

IdentityFile に渡すファイル名は自分の環境に合わせて変更してください。
GitHubへのpush/pullなど、SSH接続周りでエラーが出なくなればOKです。

キーボード周りの設定を変更する

さて、次が一番の懸念事項になっているキーボード関連の設定変更です。
予想通り、Karabinerの設定は使えなくなっていました。
というわけで、Karabiner Elementsをインストールします。

GitHub - tekezo/Karabiner-Elements: The next generation Karabiner for macOS Sierra

が、僕が見る限り、「コマンドキーの単独押し」という選択項目がない!
一応、コマンドキーを英数キーや、かなキーに割り当てることはできるのですが、これだと「常時英数キー」「常時かなキー」になってしまうので、コマンドキーとして使えなくなってしまいます。

これは予想外。うーん、困った・・・と思ってネットを調べていたら、「英かな」という代替アプリが存在していることを知りました。

⌘英かな

これをインストールすると、今まで通り「コマンドキーの単独押し」で「英数キー」「かなキー」として動作させることができました。
良かった良かった。開発者の方、どうもありがとうございます!

Karabiner Elementsはもういらないや、と思ってアンインストールしました。
が、このあとでまたインストールすることになります。

2017.8.3追記

ついにKarabiner Elementsで コマンドキーによる「英数 / かな」の切り替えができるようになりました。
なので、「英かな」を使わずKarabiner Elementsのインストールだけで済みます。
(英かな、どうもお世話になりました)


HHKBを使えるようにする

続いてHHKBもSierraで使えるようにします。
最新のドライバはSierraに対応しているので、まだインストールしていない人はこれをインストールします。

Happy Hacking Keyboard | Macintosh用ドライバダウンロード | PFU

これでHHKBもバッチリ!・・・と思ったのですが、なんか動きがおかしい。
SierraにしてからはなぜかAlt(Opt)キーと◇(Command)キーが入れ替わっているようです。

なんでだろう?と思っていたのですが、これはキーボード本体のDIPスイッチで変更することができます。
今まではSW5がONになっていたのですが、これをOFFにするとAlt(Opt)キーと◇(Command)キーの動きが元通りになりました。

ちなみに今はこんな感じでSW2とSW6だけがONになっています。

f:id:JunichiIto:20161223091049j:plain

さらにキーボード設定をカスタマイズ

これでキーボード周りもOK!と思っていたのですが、なんかおかしい。
HHKBのファンクションキーを使ってもMacの輝度調整やボリューム調整ができません。

そういえばここはKarabinerで設定してたんだった!
というわけで、もういらないと思ってアンインストールしたKarabiner Elementsを再度インストールします。

Karabiner ElementsはKarabinerと同様、ファンクションキーの設定変更ができるようになっています。

f:id:JunichiIto:20161223091529p:plain

ただ、Karabiner Elementsを入れると、環境設定で変更していた「Mac本体のCaps LockキーをControlキーとして使う」設定が無効になってしまいます。
なので、Karabiner Elements自身にその設定を追加します。

f:id:JunichiIto:20161223091741p:plain

これでEl Capitan時代と同じようにMac本体のキーボードとHHKBが使えるようになりました。

開発環境の動作確認

OSのアップデートにより、開発環境が壊れていないことを確認します。
僕は主要なプロジェクトのRSpecのテストが全部パスするか、Webの画面もちゃんと立ち上がるか、といった点をチェックしました。
こちらは特に問題なく、今まで通り動作していました。

起動ディスクの作成

万一マシンが起動しなくなったときに備えて、Sierraの起動ディスクを作成しておきます。
ここでいう起動ディスクの作成とは、USBメモリからSierraをブートできるようにすることです。

「Sierra 起動ディスク作成」のようなキーワードで検索すると情報がいくつか見つかるので、それを参考にして起動ディスクを作成します。
作成したら念のためUSBメモリからちゃんとブートできることを確認しておきましょう。

BUFFALO USB3.0対応 USBメモリ バリューモデル 8GB ホワイト RUF3-K8GA-WH

BUFFALO USB3.0対応 USBメモリ バリューモデル 8GB ホワイト RUF3-K8GA-WH

これが終わればSierraのアップデート作業は完了です!

まとめ

Sierraが公式リリースされてから3ヶ月経っているので、ネット上には有益な人柱情報が結構たまってきています。
そういった情報のおかげで今回は大きなトラブルもなく、思った以上にスムーズにアップデートすることができました。

Karabinerで無茶苦茶マニアックな設定をしていた人はまだ移行しにくいかもしれませんが、僕はそこまでではなかったので、なんとか今までどおりのキーボード設定が使えるようになりました。

Sierraにアップデートするかどうか迷っている人は、よかったらこのエントリの情報を参考にしてみてください。

あわせて読みたい

僕がHHKBを使うようになった理由を書いたエントリです。

JISキーボードとUSキーボードの違いをまとめたエントリです。

OSのアップグレードではなく、Mac本体を買い換えたときの苦労話を書いたエントリです。

【翻訳】Rails 5およびRSpec 3.5対応版「Everyday Rails - RSpecによるRailsテスト入門」のアップデートについて

2017.6.22追記:英語版がアップデートされました

原著である英語版がアップデートされ、RSpec 3.6とRails 5.1に対応しました。
詳しい情報は以下のエントリをご覧ください。


2017.4.9 追記:4月時点でのアップデート状況について

もともと2月にアップデートできたら、という予定でしたが、著者のAaronさんのお仕事が忙しいらしく、執筆が大幅に遅れているようです。
具体的なスケジュールはまだ出ていませんが、早くても5月以降になりそうです。
日本語版のアップデートはさらにその後になります。
申し訳ありませんが、もうしばらくお待ちください。

(追記ここまで)

はじめに

僕が翻訳者として携わった電子書籍「Everyday Rails - RSpecによるRailsテスト入門」のアップデート情報が著者のAaronさんのブログで掲載されました。

早速僕の方でこのブログの内容を翻訳したので、みなさんにご紹介したいと思います。

アップデートの要点

その前に、本文が少し長いので簡単に要点をまとめておきます。

  • Rails 5 / RSpec 3.5対応版のサンプルアプリケーションは新しく作り直す。さらに、昨今のベストプラクティスを踏まえながら、書籍の構成も見直す。
  • 書籍の名前と表紙が変わる可能性がある。
  • アップデート版は無料で提供する。(英語版、日本語版とも)
  • アップデート版は2017年2月に公開するのが目標。(日本語版もできるだけ早く追従する予定)

それでは以下が全文です。

【翻訳】Rails 5およびRSpec 3.5対応版「Everyday Rails - RSpecによるRailsテスト入門」のアップデートについて

Rails 5が公開されてから数ヶ月が経ちました。そして私は「Everyday Rails - RSpecによるRailsテスト入門」は新バージョンのRailsや最近のRSpecの変更点にいつ対応するんですか?という質問を何度も受け取りました。この件に関して私はしばらく沈黙していましたが、ようやく新しいお知らせができるようになったので、すでに本書を購入してくださったみなさんへ、それに購入しようかどうか迷い続けているみなさんにもお知らせしたいと思います。


まず最初に、サンプルコードが最新のRailsやRSpecをカバーしていないからといって、本書の内容が全く無価値になったわけではありません。本書で紹介したテクニックは私自身も自分のRailsアプリケーションをテストするために使い続けています。コントローラのテストはあまりしなくなりましたが、コントローラスペックの章にはテストコードを整理するための重要なテクニックを説明しており、私自身もそうしたテクニックを使い続けています。つまり、もしあなたがサンプルコードが最新のRailsをサポートしていないために、本書の内容が古くさくなっているんじゃないかと心配しているのであれば、その心配は無用です。本書の内容は現在でも有効ですし、もっとテストを書かなければいけないRails 4.xのコードベースはたくさん存在しているはずです!もしすでにRails 5を使っていたり、そろそろアップグレードしようと考えていたりする場合は、私が過去に書いたリクエストスペックフィーチャスペックの記事(英語版)が参考になると思います。


とはいえ、現在私はRailsとRSpecの変更点を反映するために本書をアップデートしている最中です。この作業は以下のような理由でいつもよりも少し時間がかかっています。

  • 私はサンプルアプリケーションを新しく作り直し、内容を充実させるために機能を増やしました。これによりさらに豊富なテストコードの例を紹介することができます。実験的にサンプルアプリケーションをいくつか作ってみましたが、最終的には複数ユーザーで使用するプロジェクトマネージメントツールを選びました。TODOリストはWebアプリケーションチュートリアルの定番ですし、テストの考え方を説明するための基礎的なアプリケーションとしてもピッタリです。このアプリケーションを使ってRSpecの使い方や、API、JavaScriptなどをテストする関連ツールの説明をしていきます。
  • それに関連して、コンテンツの構成を見直し、現在私が実践しているテストの書き方や、Railsのテスト全般に役立つベストプラクティスを紹介します。たとえば、先ほども述べたとおり、現行版ではshared exampleやモックの説明をするためにコントローラのテストを使っていましたが、実際には私はコントローラをあまりテストしなくなっています。また、Railsコミュニティにおいても、コントローラのテストはだんだん重要度が低下しています。古いRailsアプリケーションにはコントローラのテストがまだ残っているかもしれないので、アップデート後も簡単に説明しますが、shared exampleやモックの説明は他の項に移動させ、必要に応じてより詳しく説明する予定です。


二つ目に、本書の名前と表紙が変わるかもしれません。私のブログ「Everyday Rails」は本書よりも前から存在していました。しかし、ブログ名を書籍名に含めたことにより、私のこれまでの活動を知らない多くの人たちを混乱させてしまいました。なので、計画がうまく進めば、私のブログと区別しやすい新しいタイトルを付けるつもりです。ただし、名前が変わっても全体的なトピックやアプローチは同じです。Railsアプリケーションを実践的かつ信頼性の高い方法でテストし、既存のアプリケーションにテストを追加するところから始めて、最後にテストファーストに移行します。つまり、本書に新しい名前が付けられるだけです。


三つ目に、すでに英語版を購入してくれた方には無料でアップデート版を提供します。中国語版と日本語版については翻訳者の意向を尊重して何も言いませんが、英語版については以前のバージョンを購入してくれた方全員にアップデート版を提供する予定です。(訳注:日本語版も無料でアップデートします!)


その代わりに、といってはなんですが、私からみなさんにお願いがあります。もしみなさんが「Everyday Rails - RSpecによるRailsテスト入門」をとても役に立つ本だと考えてくれていたら、友人や同僚にそれを教えてあげてください。友人や同僚の人たちも今購入すれば、みなさんと同じように無料でアップデート版を手に入れることができます。


最後に、新しいコンテンツはできれば2017年2月中に公開しようと考えています。それまでに100%完成しているとは断言できません。なぜなら私は本書の執筆中にも普段の仕事をこなしているからです。しかし、それまでにこの内容なら公開しても問題ないと思えるレベルにアップデート版を仕上げるのが、現在の私の目標です。(訳注:日本語版の提供時期は未定ですが、できるだけ早くアップデート版に追従しようと考えています。)


アップデート版の公開までもうしばらくかかりますが、それまでご辛抱いただけるとありがたいです。本の執筆は思ったよりも大変です。既存の技術書を書き直すのはさらに困難が伴います。(ソフトウェアを書き直すプロジェクトに参加したことがあれば、きっと理解してもらえると思います。)何か質問があればコメント欄にコメントをください。もしくは当ブログのナビゲーションバーにあるチャンネルのいずれかを使って、直接連絡してもらっても構いません。(訳注:これは英語版ブログの話です。日本語で問い合わせる場合はTwitter等で翻訳者に連絡してください。)


最新情報があれば、ブログ「Everyday Rails」に投稿していきます。メールで更新を受け取りたい場合は私のニュースレターを購読してください。(訳注:これも英語版ブログの話です。日本語で最新情報を知りたい方はこのブログをチェックしてください。)


いつものことですが、みなさんのサポートには大変感謝しています!本書を最初に公開してからもう5年近く経っているとは自分でも信じられません。たくさんの人たちに支えられて、私は本当に嬉しく思っています。

(翻訳はここまで)

まとめ

というわけで、いよいよEveryday RailsのRails 5 / RSpec 3.5対応が始まります。
上の文中にも書いてあるように、既存の購入者はアップデート版も無料で手に入れられるので、アップデート版の公開を待つ必要はありません。
RSpecでRailsのテストを書けるようになりたいという方は、ぜひ「Everyday Rails - RSpecによるRailsテスト入門」を購入してやってください!


Everyday Rails - RSpecによるRailsテスト入門
f:id:JunichiIto:20161207084257p:plain