@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

201707 振り返り

今月は月の頭にキャンプに連れて行かれ、ラフティングをさせられと外に連れて行かれた。
今月は月の終わりにジャズのフェスに連れて行かれた。 ひとまず動ける体にならないといろいろつらいことがわかった。

べんきょうかい

今月は参加できなかったものが多くて申し訳なかった。
Bar Atlassian Vol.1 - クラフトビールが飲める会 が美味しいビールを飲みながら長沢さんと話ができたので良かったw

ほん

小説を読む勘は取り戻せた気がする。
1人で電車に乗っている間はスマホをいじらず本を読むように心がけてから本を読むペースがあがった。 このまま積読を減らしていきたい。
でも、新しい本買っちゃうんだよなー

えいが

パワーレンジャーがちゃんと戦隊モノだった気がする。
銀魂が自分の中ではヒットしてた。いろんなものを取り入れるのずるいと思う。
笑ったり、隣の人と話したり声を出しながら見たい映画だった。

ぶろぐ

本を読んだら感想書きますと言って半年以上立ってたので書いてみた。
僕はなにか新しいことを試行錯誤しているのが楽しいらしいと思った。

「Joy, Inc.」 を読んだ

最近どうも仕事が楽しく感じることが少なくなってきたので昨年末に出て読んで以来放置していたジョイ・インク 役職も部署もない全員主役のマネジメント を再度読んだので強く残ったところをメモしてみる。 この本はメンロ・イノベーションズ社の取り組みについて書いてある。その中で僕が気になったのは、

  • 新しい手法を取り入れることでどんなメリットがあったか
  • 採用の仕方
  • ユーザにプロダクトを渡すために素早く何度も間違える
  • 今起こっているメンローでの実際の問題

この本の中では実際に試した後に起こっている問題まで書いてあるのが面白いと思った。

ジョイ・インク 役職も部署もない全員主役のマネジメント

ジョイ・インク 役職も部署もない全員主役のマネジメント

プロダクトを作るうえで守らなければいけない期日・品質を守り、新しい知識を得ることができる。それは開発者としては確かに楽しい毎日だと思う。

1章8 変化は簡単ではない

メンロ・イノベーションズ社では、書類を見るだけではなく実際に作業をすることになる社員とのペアワークを行うことで採用を決めるみたいだ。 1日の1/3 - 1/2 程を一緒に過ごすことになる人なのだから感性が合う合わないはとても重要な事だと思う。入ってから会わなかった場合に双方辛い思いをするくらいなら最初からこういうプロセスを行うのは良いなと思った。

5章6 第二ラウンド・・・・・・実際の仕事をする

書いたコードが動くのか、ユーザが使ってくれる機能なのかをすばやくたくさん間違えることができる文化が蔓延しているらしい。失敗することは当たり前、実験してみることが大切だという文化はすごく共感できた。

7章1 すばやくたくさん間違えよう

全員がハッピーになれる昇進のシステム、チームが大規模になってきた時に適応しないといけないこと、顧客との距離が遠くなった時にうまくやる方法。是非分かったら続編で良いので教えて欲しい。

15章1 メンローでの実際の問題

まとめ

最近僕が楽しくないと思うのが何故かまでは考えつかなかった。 最近は知識も増えてきたので新しいことができていないことが原因なのかもしれないとは思った。

読んでみたところエクストリーム・プログラミングアジャイル開発、リーンソフトウェア開発などの実践してみた成功・失敗体験談が出ている。失敗しても問題ない文化ができあがっているため、新しいやり方を心置きなく試せるのだろうと思う。身近な会社でもそういう文化の会社が増えると楽しく過ごせるのかなと。 また、この中ではペアプログラミングが行われている旨が書かれているが最近だとモブプログラミングが流行っているらしい。 僕のできる範囲で仕事を楽しむための施策をススメていこうと思った。

今回は本当にこの本のなかの1部だけしか出せてないが、 自分の気になったところ、好きなところを話し合う読書会みたいなものを開くと人それぞれで違いがあって面白そうだなと思ったので、誰かに企画してもらおう。

「人工知能---機械といかに向き合うか」を読んで

人工知能―――機械といかに向き合うか を読んだ。最近は仕事と関係なさそうな本も読むようにしてみている。 自分の知らないことを知ったりするのは純粋に楽しい。

人工知能―――機械といかに向き合うか (Harvard Business Review)

人工知能―――機械といかに向き合うか (Harvard Business Review)

読んでみた感想としてはAIと言うよりは、機械学習(特にディープラーニング)、データ解析について書いてあると思う。 今後の戦略・組織改革にどうやってこれらの技術を使っていけるか、今どう使っているかを書いている。 データが大量に取得できるようになってきているので、仮設を立ててシュミレーションをしてみるというのを機械に頼るのは良いことだと思う。 また、Google は評価制度や研修のために分析やツール作成を行っているらしい。 僕が気にするようになったからなのか分からないがHR Tech という分野が最近よく目につくようになった。まだ、決まった手法もツールもないように見えるので参入すると面白そうだと思った。

また、ちょうど同時期に、森博嗣青白く輝く月を見たか? を読んだ。 こちらは完全に小説ではある。 人工知能が出てくることで上の本と結びつけて読んだのだと思う。人工知能やトランスファがこの小説の中のように使えるようになると人間は何をしていくことになるんだろうと思いながら読んでいる。

まとめ

人工知能の話が出てくると人間の仕事がなくなるって話をよく聞く。 そんなに仕事なくなるのかな。。。

201706 振り返り

30代も半分を超えてくると物忘れが激しくなるので読んだ本や、参加した勉強会などをメモ ※個別に思うことがあった場合は別途ブログを書こうと思う。

べんきょうかい

Mesos Meetup はこれからMesos を使おうとしている人が多いんだなーと印象だった。 盛り上がってくと良いなーと。 社内の勉強会に株式会社リクルートテクノロジーズの黒田さんに来ていただきDevLOVE200 Bridge での内容を再演してもらった。 DevLOVE200 Bridge 時よりもゆっくり聞けたので大変勉強になった。資料は黒田さんがアップしてくれているのでまた読もうと思う。

ほん

今月は技術書全然だったな。 そろそろ勉強をする習慣を取り戻さなくては。そのためには朝起きれるように戻さないと。。。

えいが

BLAME! を見て懐かしくなって小説を買って読んでしまった。漫画も読もう。 22年目の告白はキャラを使ったうまい見せ方だなと思った。 ジーサンズが予想してたよりも面白かった。友達欲しい。

  • BLAME!
  • LOGAN
  • メッセージ
  • ちょっと今から仕事やめてくる
  • 22年目の告白-私が殺人犯です-
  • 劇場版 魔法科高校の劣等生
  • ジーサンズ
  • 結婚

Docker Advent Calendar 2015 に投稿してみた

Docker Advent Calendar 20156日目に記事を投稿してみました。

今年は、仕事でDocker の環境を構築し、Docker で動くアプリケーションもリリースできたので今年はなんとなくDocker の年かなと思いました。

来年は、もう少し違う技術についてもなにか書けるようになりたいと思います。 また、社外での発表もできるようになってみたいですまる。

Docker ハンズオン - 基本コマンド編

Docker ハンズオンの資料を作成したので投稿してみました。 ハンズオンは探せばいくらでも出てきますが、自分が説明する機会ができたので自分でも作ってみようと思って書いてみました。

ハンズオンの中身

ここではハンズオンの内容をタイトルだけ書いてみました。 詳しい、実施方法はここでご確認ください。

  • Docker のインストール
  • Docker の起動
  • イメージ取得・確認
  • コンテナの起動・プロセスの確認・停止
  • コンテナの詳細情報確認
  • コンテナの削除
  • イメージの変更・保存
  • イメージの削除
  • Dockerfile でコンテナ構築
  • レポジトリへのイメージ登録

初めてDocker コマンドを実行する人を対象にしました。 もし興味のある方がいたら、実施していただきコメントなり指摘なりをいただけると幸いです。 今回はコマンドをたたいてもらうことを中心のハンズオンにしました。 次回はDocker Compose、Docker Swam らへんを中心としたハンズオンを作成したいと思っています。

以下では、実行して気になったことを。

yum -y -q install docker-engine

今回のハンズオンではCentOS7.1.1503 にDocker 1.8.1DockerProject配布のDocker をインストールしています。 Docker 1.7.1RHEL/CentOS配布のDocker の場合、/etc/systemd/system/multi-user.target.wants/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker -d $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave

[Install]
WantedBy=multi-user.target

だったのですが、Docker 1.8.1DockerProject配布のDocker の場合

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

だいぶシンプルです。 ただ、ここで気になるのはEnvironmentFile が定義されなくなっていることです。 /etc/sysconfig/docker を見ると

# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker daemon

other_args=""

other_args という変数が用意されているのですが、今のままでは何を書いても読み込まれることはありません。 例えば、Docker でOverlayFS を使用しようと想った際には、/etc/systemd/system/multi-user.target.wants/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
ExecStart=/usr/bin/docker daemon -H fd:// -$other_args
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

と書き換えた後に、/etc/sysconfig/docker

# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker daemon

other_args="-s overlay"

とか書きなおし、Docker を起動することで対応しました。 ただ、これが正解かどうか分からないので、もし分かる人がいたら教えて下さい。 ※コメントを頂いて、Docker のversion. の問題ではなく、配布元の違いでした。訂正させていだきました。

第1回 Docker社公認トレーニングコース を受けてきた

クリエーションライン株式会社 が主催したDocker社公認トレーニングコースを受講してきました。講習内容は以下の内容でした。

コンテンツ

Day 1

  1. コンテナ入門(Introduction to containers)
  2. Dockerの概念と用語(Docker concepts and terms)
  3. Dockerのインストール(Installing Docker)
  4. イメージ入門(Introduction to images)
  5. コンテナの実行と管理
  6. イメージの構築(Building images)
  7. イメージの管理と配布
  8. コンテナのボリューム(Container volumes)
  9. コンテナのネットワーク(Container networking)
  10. 継続的インテグレーションにおけるDocker(Docker in continuous integration)

Day 2

  1. Dockerデーモンの制御(Controlling the Docker daemon
  2. セキュリティとTLS(Security and TLS
  3. 自分用レジストリのセットアップ(Setting up your own Registry)
  4. Dockerトラステッド・レジストリ(Docker Trusted Registry)
  5. Dockerマシン(Docker Machine)
  6. Dockerスウォーム(Docker Swarm)
  7. マイクロサービス・アプリケーションの構築(Building micro service applications)
  8. Dockerコンポーズ(Docker Compose)

受講の感想

内容は、docker が出てくるまでの歴史の勉強、docker の説明、実際にdocker コマンドを触ってみるハンズオン、個人用レジストリの構築、docker のためのセキュリティ(さらっと)、docker Machine、docker Swarm、docker Compose の実践と大量の内容を6時間×2日で教えてもらい自分でも作業するハードな内容でした。

レーニング環境が与えられ、ハンズオンで試せると言っても、なぜ動いているのか、設定はこれであっているのかを考えるには短い時間でした。

社内でハンズオン形式の勉強会を実施したいと思っているので、資料を作成次第投稿をしていきたいと思う。

紹介

第2回 Docker社公認トレーニングコースが10月7日(水),8日(木)に開催される予定だそうです。(日にちは変更になることがあるそうです。) もし興味のある人は参加を考えてみたら良いと思います。

宣伝

Dockerfile に似た内容があるから気になったのを自分なりにまとめているので読んでいただけると嬉しいです。 ※ 間違っている箇所の指摘などがあればいただけると大変嬉しいです。

COPY vs ADD CMD vs ENTRYPOINT

戯言

Docker は構築の際や運用の際にストレージやネットワークのことも考えるのでインフラレイヤーのことも勉強しないとな、したいなと思います。