試練の軌跡

プログラミングで出くわした知識やツール、日常生活、働き方その他色々なことをメモしていくブログ

「来月もプレミアムに過ごすためのインフラ構成管理ツール入門編」に参加しました。

先日、Tech-Circle主催の「来月もプレミアムに過ごすためのインフラ構成管理ツール入門編」に参加しました。 techcircle.connpass.com 私はオリジナルのサービスをHerokuにアップしているのですが、その開発環境の構成管理ができるように構成管理ツールを導入してみたいと最近思うようになり、実際に使われている方の話を聞いてみたいとちょうど思っていました。

講師と発表内容(資料)

講師:@bbrfkrさん
発表内容(資料): 発表内容(資料)はこちらにまとめられております。
詳細はこちらを御覧ください。

www.slideshare.net

講座内で出た質問

印象に残ったところだけですが講座内で出た質問はこんな感じでした。

Q1.Serverspecのドキュメントではshould記法を使うべきかexpect記法を使うべきか?

A.基本的には好きな方を使えば良いと思います。

ここは人によっては議論になりそうですね。ちなみに参考程度ですが、Serverspec開発者の方のツイートがこの記事を書いている時に目に留まりました。

Q2.レシピ(playbook)はどのような流れで作るのか

A.レシピ(playbook)の作り方

  1. 検証環境を作る
  2. 手動で構築する(この時に実行したコマンドを記録しておく(コマンドラインツールのhistory機能がオススメ))
  3. Servespecでテストコードを作成する
  4. 作成したテストコードを実行し、結果がパスしたか確認する これで手動構築したコマンドの品質が担保される
  5. 別の検証環境を作る(もしくは検証環境を一番最初の状態に戻す)
  6. 作成したテストコードの結果がパスしたコマンドをレシピ(playbook)化する
  7. レシピ(playbook)を実行し、自動構築する
  8. 作成したテストコードを実行し、結果がパスされるか確認する これで、レシピ(playbook)の品質=手動構築したコマンドの品質になることが担保される。
  9. 本番環境でレシピ(playbook)を実行する!

※レシピをリファクタリングした場合は、リファクタリングしたレシピで自動構築後に作成したテストコードを実行し、結果がパスされるか確認する

レシピの作り方は人それぞれだとは思いますが大変参考になりました。以前、ドットインストールのAnsible入門をやった時に何故あんなキレイな流れでレシピ(playbook)が作れるのか疑問に感じていたのでこの質問を通して何となく腑に落ちました。試行錯誤しながらレシピ(playbook)を作っているのですね。 この他の作り方を周りに聞いてみるのは参考になりそうです。

LT枠

LTで参加された方のslideはこちらです。

Takeshi Kuramochiさん

www.slideshare.net

@setoazusaさん

www.slideshare.net

@ike_daiさん

www.slideshare.net

感想

このイベントを通して、構成管理ツールにチャレンジするモチベーションが上がりました。
itamaeとAnsible、どちらを使うかは悩みますがまずはどちらも軽く触ってみてどっちが自分にとって使いやすそうか模索してみるのが良いのかもしれません。
イベント終了後、@bbrfkrさんにこれから構成管理ツールを入門する人向けのオススメ本を聞いてみたところ「入門Ansible」という本をご紹介頂きました。

出版年数は少し古いですが、基本的な使い方やplaybookの作り方など一通り学べるそうです。
チェックしてみます!

「【学生&若手エンジニア向け勉強会】エンジニアのためのブログ講座」に参加しました

お久しぶりです。 先日、サポーターズ主催の「エンジニアのためのブログ講座」というイベントに参加しました。
今回はこのイベントに参加して得たことや感想を書きたいと思います。

講師と発表内容(資料)

講師:@ktanaka117さん
発表内容(資料): 発表内容(資料)はこちらにまとめられております。
詳細はこちらを御覧ください。
こちらの記事も参考になりました。

講座内で出た質問

印象に残ったところだけですが講座内で出た質問はこんな感じでした。

  • Q1.記事を投稿する際に気をつけていることはありますか

    A.技術的な記事を書く場合は検証用のプロジェクト(環境)を都度作成しています。

    確かに一回試した結果を記事にするのではなく、検証用の環境を作って確認したことを記事にすることで再現性を上げるのは記事の質を上げる方法の一つだと思いました。

  • Q2.実名を使うかハンドルネームを使うのか悩んでいます

    A.基本的にはどっちでも良いと思います。私の場合は、自分のブログを読んでくれた人とイベントでお会いした時に 「あ!あのブログを書いた人ですね!」とわかりやすくするようにしています。

    ここは私もブログの開設前にとても悩みました。個人的にはまずはハンドルネームで始めてみて、ブログを書きながら名前をどうするか決めていけば良いのかなと思いました。

  • Q3.「ブログを始めたての頃」と「現在」で記事の作成時間はどれくらいですか

    A.基本的には記事の作成時間は記事の内容にもよります。ただ、ホントに始めたての頃は2週間くらい掛かりました。現在では早いと1時間。かかっても2,3日くらい。イベントレポートだと早い時で懇親会が始まる頃に投稿している場合もあります。

    これはホントに凄いと感じました。「継続は力なり」というのはこういうことなんだなと率直に感じました。

    感想

    今回、このイベントに参加したことで記事を書く上でのTipsを得ることができ、とても勉強になりました。加えて以下のようなことも感じました。

  • 書きたいことを書きたい時に書く
    自分でブログを始めてみて感じたのは普段何気なく見ている記事は読みやすく、わかりやすいんだなぁと感じました。なので、そういった記事のレベルを目指す!!….のはとても良い事です。しかし、まずは書きたい時に書きたいことを投稿し、継続していくことで段々と記事の質を上げていくのが良いのかと思いました。小さい内容でもまずは気楽に投稿してみる。もしかすると普段見ているブロガーさんの一番最初に投稿された記事から最新の記事までざぁーっと見てみることで記事の書き方がどのように変化していったのかを見てみるのは参考になるかもとふと思いました。

  • 仲間に見てもらってみる
    もし、投稿する記事に自信がない場合は気の合う仲間を数人集めてグループを作って、記事を見てもらうのも手なのかと思いました。 情報共有サービスとして、esa.ioやQiita:Teamなどがありますが、 私の場合は、Kibelaというサービスを利用しています。

    Kibela - 個人の発信を組織の力にする情報共有ツール

    現在(2017/04/02時点)は5人までのグループなら無料で作成可能で、Markdown記法で記事が書けるようです。 「この記事はこのまま投稿できそうだな。この記事はみんなに見てもらうか」といった具合にしていくうちに段々と自分で記事を投稿できるようになっていくのかもしれないですね。

ということで、今回得たことを徐々にこのブログに反映させていこうと思います!

今回参加した勉強会のページはこちらです。

Vagrantで立ち上げた仮想マシンの中にあるプロジェクトをAtomエディタで編集する方法

最近Vagrant上に開発環境を構築しました。その際に、CyberDuck仮想マシンに接続し、編集したいファイルを1ファイルずつ開いていたのですが、さすがに面倒になったためAtomエディタでプロジェクトを開きたい!!と思い、やってみました。

こちらの記事を参考にしました

前提

バージョン

remote-ftpのインストール

Atom → Preference → installからinstall package画面に移動し、remote-ftpを検索し、インストールしてください。

.ftpconfigファイルの作成

remote-ftpで.ftpconfigファイルを作成します。作成する場所はどこでも良いのですが、私はわかりやすいように仮想マシンを作成したフォルダの直下に作成しています。以下手順です。

  1. Atomから File → Open で構築した仮想マシンのフォルダを選択
  2. Packages → remote-ftp → Create SFTP config file を選択し.ftpconfigファイルを作成

.ftpconfigファイルの編集

ここから.ftpconfigファイルを編集するのですが、設定する情報がわからない!?という状態になると思います。そんな時はコマンドラインツールを立ち上げて仮想マシンディレクトリで

vagrant ssh-config

を打つと下記のような具合で接続に必要な情報が表示されます。

testCentOS$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/test/testVagrant/testCentOS/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

※testCentOSは私が作成した仮想マシンのフォルダ名です。

表示された情報を基に.ftpconfigファイルを編集してください。以下は今回の設定情報です。

.ftpconfig

{
    "protocol": "sftp",
    "host": "127.0.0.1",
    "port": 2222,
    "user": "vagrant",
    "pass": "",
    "promptForPass": false,
    "remote": "/home/vagrant/",
    "local": "",
    "agent": "",
    "privatekey": "/Users/test/testVagrant/testCentOS/.vagrant/machines/default/virtualbox/private_key",
    "passphrase": "",
    "hosthash": "",
    "ignorehost": true,
    "connTimeout": 10000,
    "keepalive": 10000,
    "keyboardInteractive": false,
    "watch": [],
    "watchTimeout": 500
}

仮想マシンに接続

最後に、接続すれば完了です。 以下手順です。

  1. Atom → Packages → remote-ftp → Toggleを選択しサイドバーを表示する
  2. 表示されたサイドバーにある Connect を選択
  3. サイドバーに接続先のディレクトリが表示されれば完了

以上、これでAtomで開発できます!!

全文検索が可能な技術書を探す際にやっていること

ブログ開設してから大分日が経ちましたが、よろしくお願い致します。

技術書を買う際に、今までは断然紙の本を買っていました。しかし困るのが…

  • 調べたいことを目次や索引を見てペラペラめくるのが面倒!

    • 甘ったれんな!!って言う意見があるかもしれませんが調べたいことはなるべく早く見つけたいですよね
  • いつの間にか部屋に置く場所が無い!!

    • アレもコレもと買っているうち部屋にドンドン本が溜まり本棚に収まりきらない・・・断捨離が苦手な人は特に辛い
  • 何より重い
    • 外出先で勉強したい時に本を持ち歩いていると重くて次第に疲れていく。肩こりの原因に繋がるっているかも

そこで電子書籍の登場!!なのですが・・・

だったら電子書籍版を買えば良いじゃない!!と思い、Amazonで何も考えずに買ってしまうと・・・

  • 全文検索ができない!?

  • 実はPDF版が別の販売サイトで存在していた!?

    • もしかしたら珍しい例なのかもしれませんがAmazon電子書籍では、固定レイアウト型で販売→実は別の販売サイトでPDF版では販売!!というパターンに遭遇しました。何も考えずにAmazonで買ってしまい涙目に

なんてことがあります。

全文検索が可能な技術書を探すには

私は技術書を買う時は、いつもこの手順で確認しています。

  • Amazonで欲しい技術書のキーワードで調べる
  • 欲しい本を見つける
  • ブクログ 電子書籍 [IT系技術書] の新刊情報でPDF版があるかを調べる
    • このWebサイトのページでは達人出版会、O'Reilly Japan、技術評論社(GDP)の新刊情報がupされているみたいです。「購入する」ボタンから販売元のページに飛ぶとPDF版の書籍が購入できます。(※注意書きなどがあれば必ず確認してから購入する)

以上、こんな具合でいつも全文検索が可能な技術書を購入しているのですが、皆さんはどのように買っているんだろうか・・・
もっと上手い方法があれば是非教えて欲しいです^^;。

本ブログについて

ブログを始めてみました。

このブログでは、主にIT系のこと(プログラミングやPCなど)での私のメモ(備忘録)を書いていこうとおもます。

拙いで文章力ですがよろしくお願い致します。