auのiPhone6SをSIMフリー化して、テザリング可能なDMMモバイルを使う

f:id:j74th:20160406214219j:plain

auでiPhone6Sを発売日に購入。世の中は格安MVNOのSIMの世の中になったので、そちらに乗り換えたいと思った。auの端末は購入から半年たつと、SIMロック解除可能とのこと。

audocomoとは利用電波が異なるため、auのMVNOを使う必要があると思っていた。しかし、auのMVNOではiPhoneテザリングできない可能性があるとあり、踏み切れなかった。ところが、iPhoneauでもdocomoでも同じ機種を使っている事がわかった。そのため、SIMフリー化さえすれば、auiPhoneでもdocomoのMVNOが利用できるらしい。

実際やっている人が見つからなくて不安だったが、最近やっている人が現れた。

SIMロック解除したauのiPhone6sで、格安SIMのFREETELにMNPしたぞ! | むねさだブログ

そして、自分でもやってみることにした。

まず、auSIMロック解除は、以下のURLからできる。まずiPhoneSIMロック可能かどうかの判定を行い、その後SIMロック解除のリンクが現れる。

https://au-cs0.kddi.com/au-support/sui/SUI001W001/SUI0010001BL.do

必要な情報であるIMEIは、設定→一般→情報から、確認できる。長押しするとコピーもできるが、スペースが入ってしまい、貼付け時にはスペースを削除して、切れてしまった末尾の番号を入れる必要がある。

SIMロック解除を受け付けましたと表示されて、実際にいつ解除されたのかはわからなかった。とりあえず解除されたらしい。

いかのサイトにある電話番号に電話をかけてMNP予約番号を発番してもらう。スマホでは、電話するしか方法がないらしい。なお、この時に契約時の暗証番号が必要だった。

www.au.kddi.com

私は、北陸出身のため、DMM mobileにMNPで契約することにした。

mvno.dmm.com

MNP予約番号を入れて申し込むと、2日ほどでSIMが送られてきた。マイページから、「手続きを開始」ボタンを押すと、家にいながらauからDMM mobileへのMNPが行われる。

一度iPhoneの電源を切り、SIMを入れ替えて、再起動する。一度wifiにつなぎ、APN構成プロファイルをダウンロードしてインストールする。案内にはAPN設定を手入力する方法も書かれているが、私のiPhoneでは入力することができず、wifiに繋げてAPN構成プロファイルをダウンロードする必要があった。

iOS端末 | SIM挿入手順・APN設定 - DMM mobile

1時間ほどでdocomoのネットワークが表示されるようになるが、実際にネットに繋がるまでに3時間ほどかかった。SIMロック解除に失敗していたのかと、どぎどきしたが、開通が終わっていないだけだった。なお、DMM mobileは手続きの開始と完了時にちゃんとメールで連絡が来る。完了のお知らせが来るまでは、docomo表示は現れてもネットワークに繋がらないので注意。

金額を計算したところ、このままauで契約解除可能月までの残り17ヶ月分払い続けているよりも、MVNOの方が8万円も安くなることが分かった。時代は変わったものだ。

golangでlogを標準出力とテキストファイルの2箇所の出力する

2箇所に出力したい場合、io.MultiWriterが便利。

logfile, err := os.OpenFile("./test.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
if err != nil {
    panic("cannnot open test.log:" + err.Error())
}
defer logfile.Close()

// io.MultiWriteで、
// 標準出力とファイルの両方を束ねて、
// logの出力先に設定する
log.SetOutput(io.MultiWriter(logfile, os.Stdout))

log.SetFlags(log.Ldate | log.Ltime)
log.Println("Log!!")

Redmineを、GIt、SVNホスティング付きですぐに使えるdockerイメージ作った

Qiitaにも投稿しています→ Redmineを、GIt、SVNホスティング付きですぐに使えるdockerイメージ作った - Qiita

職場ではRedmineを使ってタスク管理をしている。このRedmineの構築に結構苦労するので、この度Dockerコンテナ化することにした。

特徴は以下のとおり。

使うためには、dockerをインストールして、以下のコマンドを実行する。

docker run -d -p 80:80 --name redmine --restart=unless-stopped 74th/redmine-all-in-one:JP

上記コマンドは、自動起動させる--restart=unless-stoppedが含まれている。終了させるにはdocker stop redmineとする必要がある。また、コンテナ名、ポート番号を変えれば、いくつでもRedmineを立てることができる。

ノート

ALMiniumというとてもいい感じのRedmineを自動構築してくれるプロダクトがあったが、最近の更新はないため、dockerで作ることにした。しかし、ALMiniumのレベルに持っていくのは私にはできない。

Redmineの更新に追従しているsameersbn/redmineがあり、プラグイン追加機能もあり素晴らしい。しかし、Git、SVNホスティングは付属できない。