Gemを更新した場合はRubyGems.orgに反映させる手続きが必要だ。
Gemを更新することはそんなに多くないので(私の場合)よく手順を忘れてしまう。
毎回手順を探すのはストレスなので以下のようなRakeタスクを作成した。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
公開する時は以下のタスクを実行すればいい。
1
|
|
以下は実際のソースだ。
参考にしてほしい。
Gemを更新した場合はRubyGems.orgに反映させる手続きが必要だ。
Gemを更新することはそんなに多くないので(私の場合)よく手順を忘れてしまう。
毎回手順を探すのはストレスなので以下のようなRakeタスクを作成した。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
公開する時は以下のタスクを実行すればいい。
1
|
|
以下は実際のソースだ。
参考にしてほしい。
今更ながら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デーモンが起動しなくなった。
Dockerを起動しようとすると Cannot connect to the Docker daemon. Is the docker daemon running on this host?
というメッセージがでて起動しない。
docker-machineコマンドで確認してみると以下のエラーが出ていた。
1 2 3 |
|
1度docker-machineコマンドで既存のDockerを削除して作成するとうまくいった。
1 2 |
|
今度はDockerのバージョンがv1.12.1と表示されている。
1 2 3 |
|
ちなみに既存のDockerを削除すると今までのimageは消えてしまう。
Docker for Macがでてそっちに移行した方がよさげな機運を感じるので、そろそろDocker ToolboxからDocker for Macに移行する時期なのかな。
以前、Dockerコンテナを連携させる方法を書いたが、コンテナ間の連携が必要な際はdocker-composeを使うと便利だ。
今回は前回と同じようにPHPとMySQLのコンテナを連携させるが、その連携にdocker-composeを使った方法を紹介する。
まずは、適当なディレクトリをつくる。
今回は docker-compose-sample
とする。
docker-compose-sample/
配下にDockerfileを作成する。
1 2 3 4 5 |
|
次に docker-compose.yml
を作成する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
servicesにwebとmysqlという名前でコンテナを定義している。
webコンテナはDockerfileをbuildして、mysqlコンテナと連携させる定義をしている。
これによりwebコンテナからはmysqlという名前でmysqlコンテナにアクセスできるようになる。
MySQLは公式のイメージを使っている。
他のコンテナからアクセスできるようにexposeで3306ポートを指定している。
公式のMySQLイメージから作成したコンテナは/docker-entrypoint-initdb.d/
配下にあるシェルスクリプトやsqlファイルを起動時に実行するようになっている。
今回はデータベースとテーブルを作成するためにこの機構を利用する。
volumesを利用してファイルを配置している。
以下のdocker-compose-sample/docker-entrypoint-initdb.d/setup.sql
を作成しておく。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
DBにアクセスできているかを確認するためのスクリプト connect.php
を用意しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
準備ができたのでdocker-composeコマンドでコンテナを起動する。
以下のようにネットワークとコンテナが作成される。
-d
オプションはバックグラウンドでコンテナを起動するために指定している。
1 2 3 4 |
|
コンテナにログインしてみる。
1
|
|
確認用スクリプトで疎通を確認する。
バージョンとtableが表示されたら成功だ。
1 2 3 4 5 6 7 8 9 |
|
コンテナを削除するには docker-compose down
コマンドを使う。
1 2 3 4 5 |
|
サンプルコードをgithubで公開しているので参考にしてほしい。
SIMといえば携帯電話やスマートフォンに入っているカードという認識はありましたが、そのSIMについて調べてみました。
SIMとは Subscriber Identity Module = 加入者IDモジュール の頭文字をとったものです。
それをカード状にしたものが「SIMカード」と呼ばれています。
つまり一種のIDカードです。
また、簡単に情報が盗まれないような仕組みも入っています。
SIMが内部に保持している情報の代表的なものが電話番号です。
電話番号は国際的に一意になるよう定められており、国番号と加入者電話番号の組み合わせにより世界中で唯一無二の存在になります。
例えば、090-1234-5678のSIMカードを持っている人は、日本からはその番号が、海外からは国番号を表す「+」記号と日本の国番号「81」を先頭につけて「+81-90-1234-5678」がそのSIMへの電話番号となります。
090ではなく90となっているのは理由があります。
実はこの省略された0は電話番号の一部ではなく、「国内プリフィックス」と呼ばれる、国内への電話番号だよということを電話に識別させるための識別番号なのです。
ですので、日本から電話をかけるときは 「0」、海外から電話をかけるときは「81」に変わるわけです。
国際電気通信連合で定められた、すべてのICカードを一意に識別するためのIDです。
クレジットカードにも使われています。
構成は以下です([]の中の数字は桁数です)。
[2]産業識別(電気通信=89) | [2]国番号(日本81) | [3]事業者番号(ドコモ=100, SB=200, KDDI=300) | [11]カード番号 | [1]チェックデジット |
SIMカードで最も重要な情報です。
SIMカードの通信上の根本となるもので、1枚のSIMカードに固有の一意な番号が与えられおり、世界で一意に識別できる番号です。
構成は以下です。
[3]MCC(国番号 日本=440) | [2]MNC(事業者番号 ドコモ=10, SB=20, KDDI=50/54) | [最大10]MSIN |
キャリアと契約するとキャリアから与えられる番号で、いわゆる電話番号です。
これはSIMカード固有ではなく、キャリアがどのSIMカードにこの番号を書くかを決定します。
構成は以下です。
[3]CC(国番号 日本=81) | [2]NDC(国内宛先番号 90など) | [最大10]加入者番号(電話番号) |
例えば、090-1234-5678の番号の場合は |81|90|12345678|
となります。
SIMカードを使う利点は、端末と電話番号の切り離しができることです。
つまり、端末からSIMカードを抜いてしまえば電話番号はまったく残らないことになります。
これにより以下のメリットがあります。
ユーザーはSIMを抜いて別の端末に挿せば様々な端末を同じ電話番号で使えるようになります。これにより、新しい端末が出た際にSIMカードを挿せば同じ電話番号ですぐ使うといったことができ、機種を変えることが容易になります。
端末と電話番号が結合していると、必然的にキャリアの力が上になります(というのもメーカーは端末を作ったらキャリアに電話番号をつけてもらわないといけなくなるため)。SIMカードによって端末と電話番号が分離することで、メーカーはキャリアの意向に関係なく自由に端末を作ってマーケティングすることが可能となります。