Author Archive

    はてなブックマーク - Fusic勉強会 #1 を開催します
    このエントリーをはてなブックマークに追加

    小山です。

    最近、中途採用担当になりました。イケテルと思う方、是非Fusicもチェックしてみてください。

    本日は会社主催の勉強会の告知です。

    Fusic勉強会開催のきっかけ

    Fusicでは毎週、社内技術発表を1時間程度行っていたのですが、このところ刺激が少なくなったと感じてきたので、

    「公開したら多少刺激的になるのでは?」と、社外の人にも参加できる会社主催の勉強会にしてしまおうということになりました。

    ということで、11月7日(木)に第1回「Fusic勉強会 #1」を開催します!

    Fusic勉強会 #1

    Fusic勉強会のルール

    現段階では以下のようなルールで進行していこうと思っています。

    - 19:00から、Fusic福岡本社で開催。
    - 1枠は15分もしくは30分での発表。
    - 1週間前に開催告知。
    - 基本的に1時間程度で終了。
    - 新人のためにも基礎的なことも率先して!

    注意点

    Fusic勉強会への参加定員ですが、もともとの経緯が「社内技術発表の公開」なので、Fusic社員が優先となっています。
    さらに、開催会場が20名程度の会議室になります。

    なので、社外から参加募集する人数は非常に少なくなります。申し訳ありません。

    Fusic勉強会に期待していること

    勉強会の形式は基本的にセミナー形式ですが、発表内容は発表者依存です。
    PHPやRubyに限定しているわけではないので、発表ジャンルが発散する分、飽きないものになることを期待しています。

    そのうちBeagleBone Blackの話とかLSIの話とかでてくるかもしれません。

    まだまだはじめる段階なので、今後も試行錯誤して「刺激的なもの」にできるようにしていきたいと思います。

    「こんなやり方はおもしろいよ」というものがありましたら教えてください。

    ただし、「闇(※)」はやりません。会社主催ですから。

    ※) レガシーズが飛んでくるような勉強会

      はてなブックマーク - TechTouch for Fusic -Vagrant ハンズオン- を開催しました
      このエントリーをはてなブックマークに追加

      最近プライベートで作っているツールの名前が決まらなくて、どうにもリリースができない小山です。
      よくありますよね。

      さて、今回社内勉強会としてVagrantハンズオンを開催しましたので、紹介します。

      なぜわざわざ開催したのか

      Vagrant、Macならすぐに設定できて試せるのはご存じのとおりです。ハンズオンの必要は全くないですね。

      問題は「Windowsで簡単に導入できるのかわからなかった」ところでした。

      インストールはインストーラでできるだろうことはわかるものの、「その後はあのコマンドプロンプトなのか?」「sshは?」と。

      個人的にはMac側で設定していたので、Windowsで試す気になれず、そのまま放置していました。

      ところが、とてもわかりやすいエントリーを見つけたのと、「新規環境でCakePHP1.2betaをCakePHP1.3.17まであげる」というなかなかアグレッシブな要件が個人的にでてきたので、いい機会なのでWindowsで設定してみました。

      すると、Windows上でも思いのほか便利に使える(コマンドプロンプトがいらない)ことが分かりましたので、「これは紹介しよう」と、社内でハンズオンを開催した次第です。

      この場を借りて@ogomrさんにお礼をいいたいと思います。

      素晴らしいエントリ、どうもありがとうございます。

      ハンズオン資料

      ほとんどは、先ほどのエントリのままなのですが、混乱を避けるためにいくつか省略した形で作成しました(パスの変更はデフォルト、Chefの説明は今回はしない、など)。

      gist.github.com/k1LoW/dda2f213d4dfae35db4b
      (embedしようとしたら、ブログCSSの影響でボロボロだったのでリンクにしました。。。)

      つまづいたところ

      つまづいたところは基本的にありませんでした。

      強いて言うならbox addが時間内に終わらなかったことでしょうか?ここはしくりました。

      終わらなかったので、その後は自分の環境で簡単に説明をしました。

      まとめ

      目的は「難しいものを分かりやすく」というよりも「話題の技術をとりあえず触ってもらうきっかけを作る」だったのですが、とりあえず最後まで説明できたので良かったです。
      今回のハンズオンで「Vagrant?触ったことない」ってことはほぼなくなったかと。
      次回は何かな。Ansibleか・・?

        はてなブックマーク - 悪魔に魂を売ってしまおう -devil’s pie- #phpmatsuri #phpmatsuri2013
        このエントリーをはてなブックマークに追加

        PHPMatsuri2013に参加してきました!
        奥芝商店というスープカレー屋で念願の本場スープカレーを食べました!
        が、とてもボリューミーで死にかけた小山です。創成寺(ソーセージ)うまい!

        今回はPHPMatsuri2013のハッカソンで作成した“devil's pie”について、技術的な点と今後について紹介したいと思います。

        “devil's pie”とは?

        詳しくはこちらPHPMatsuri2013″大”LT大会での発表スライドとデモムービーをご覧ください。

        話はそれますが、PHPMatsuriはこの”大”LT大会が祭りの醍醐味と言っても過言ではないと思っています。

        徹夜して開発した成果の発表を待ちながら、他の人のいろいろな成果発表を聞いて盛り上がる。そしてそれぞれがそれぞれに投票して参加できる。

        この発表の瞬間のために参加しているんだと思います。

        “devil's pie”の中の技術

        話を戻します。

        スライドを見てもらえれば分かりますが、”devil's pie”は

        Webアプリケーション設置に必要な、「サーバの構築」と「アプリケーションのデプロイ」を、「Ansible」「serverspec」「Capistrano」を使って自動化するためのWebインターフェースになっています。

        “devil's pie”の実行の流れ

        “devil's pie”の動きとしては、まずホストネームと「サーバの魂」であるrootパスワードをもらって、Ansibleを使ってdevilユーザを対象サーバに追加します。

        その後、そのdevilユーザを使って

        • 1. serverspecでテストを実行→失敗を確認
        • 2. Ansibleでサーバ構築
        • 3. Capistranoでアプリケーションデプロイ
        • 4. serverspecでテストを実行→成功を確認

        という流れでWebアプリケーションを設置しています。

        Webアプリケーションは現在はCandycane、baserCMS、CakePHPに「デモ的に」対応しています。

        “devil's pie”の今後

        “devil's pie”はPHPMatsuri2013での発表のために作られましたが、今後の展開も意外にまじめに考えています。

        “devil's pie”の使い勝手は今のままをできるだけ維持したいのですが、「設定側(管理側)はもっといろいろできるようにしたいなあ」と思っています(今はまだ結構ハードコーディングしてる)。

        例えば、

        • 任意のアプリケーションに対応できるようにAnsibleのplaybookやserverspecのspec、Capistranoのdeploy.rbを設定できる
        • 「サーバの構築だけ」とか「アプリケーションのデプロイだけ」「テストだけ」でも使えるように
          • 「最初のサーバ構築だけボタン1つでできる」だけでも随分楽になる
        • “devil”ユーザではなくてもいいように(さすがにdevilは本番で使えない)
        • Web APIを通じて継続的に実行とか
        • playbookやspec、deploy.rbのアーカイブダウンロード(“devil's pie”を卒業した人へ)

        などなど。

        “devil's pie”の配布方法について

        あと、”devil's pie”の生きる道は「社内ツール」しかないわけですが(もしWebサービスとして公開したら。。。怖)、その”devil's pie”自体の構築がかなり面倒です。

        ソースを公開してすぐに、「ノードキュメント」で動かしはじめた北の猛者がいたらしいと聞きましたが、そういう人は稀です。もう一度言います。そういう人は稀です。あと、ちょっとおかしい。

        “devil's pie”から”devil's pie”をデプロイできるようにはするつもりですが、「じゃあ最初の”devil's pie”はどこから??」という話になるわけで。

        これについては、いずれVagrantのBoxの配布などで対応できればなと思っています(つまり、「Packer使ってみたい」)。

        “devil's pie”のVagrant Boxで作った仮想サーバから任意のサーバへ”devil's pie”をデプロイすればいい感じに社内に設置できるんじゃないかと(混乱をまねく文章になっていますが)。

        と、ここまで書いて、ふとAnsibleのサイトをみたら”AnsibleWorks AWX”というAnsibleのWebアプリケーションが提供されているようですね。

        PHPMatsuri2013の感想

        スタッフとしても参加したのですが、主に北海道の方々の素晴らしい運営により、とても有意義に過ごせました。

        “devil's pie”も4位をいただくことができました!共感してくださった方ありがとうございます!みんな魂を売りたいんですね!

        賞品としてOn-Lapという外部ディスプレイをいただきました!VJで使います!

        ちなみに個人的に印象に残った発表は、いろいろありますが3つほど選んでみました。

         

        Matsuriのその日の話題から作る人は、すごいな、と。で、ここまで作るか、と。

        どれも今後も開発が継続されそうなので楽しみです。すごく使いそう。

        というわけで、PHPMatsuri2013堪能しました!