タグ

ブックマーク / www.ryuzee.com (18)

  • 【資料公開】スクラムチームは改善する問題を正しく選んでいますか?

    みなさんこんにちは。@ryuzeeです。 2019/2/22-23に行われたSCRUM FEST Osakaの登壇資料を公開します。 プロダクトを作るのは、一般的には、儲けるためであることがほとんどです。 つまり、「うまく作る・たくさん作る」ことよりも「成果を出す」ことにフォーカスするのが良いと考えています。 成果を形にするには、開発力が必要で、開発力をあげようと思ったら、継続的な投資と学習が必要になります。 社会学的な話も重要ですが、現状では言い訳としても使われていることも多いため、いまいちど当の問題が何なのかを考えてみることをお勧めします。 それでは。 ユーザーストーリーマッピング著者/訳者:Jeff Patton、川口 恭伸、長尾 高弘出版社:オライリージャパン発売日:2015-07-25単行(ソフトカバー):368ページISBN-13:9784873117324ASIN:487

    【資料公開】スクラムチームは改善する問題を正しく選んでいますか?
  • スクラムイベントに出席しない優秀で不可欠な(?)エンジニアをどう扱うか

    みなさんこんにちは。@ryuzeeです。 スクラムマスター用のロールプレイのお題をTwitterに書いたら、多くの方から「自分ならこうする」という案を頂いたので共有します。 今回のお題は、以下のものです。 あなたならどうするシリーズw 『あるメンバーはデイリースクラムの時間に出社せず、ほかのイベントでも内職したり別のミーティングでどこかに行ってしまうことがしばしばです。一方で技術的には非常に優秀で、現在の速度で開発する上では不可欠な存在です。スクラムマスターとしてどうしますか?』 — Ryutaro YOSHIBA (@ryuzee) January 1, 2019その他のお題はこちらにあるので、チームで自由に遊んでみてください。 あらかじめ言っておきますが、どの対応が正解というのはありません。 これは、あくまでロールプレイなので、色々なオプションを考えておいて、実際にそのような状況に遭遇

    スクラムイベントに出席しない優秀で不可欠な(?)エンジニアをどう扱うか
  • プロジェクトが失敗する10の兆候

    今年こそは失敗プロジェクトをなくしたいと思っているみなさんこんにちは。ryuzeeです。 先日海外のサイトを見ていたところ、10 Signs When Projects Are Doomed to Failureという面白い記事を見つけたので、10の兆候それぞれをご紹介しつつ私の私見を述べておきたいと思います。 なお、アジャイルなのかウォーターフォールなのかは関係なくあてはまります。 失敗プロジェクトの兆候(1) プロジェクトメンバーが自分たちのタスクをこなすよりもプロジェクトの悪い状況について話し合いをするのに時間を使っている よくあるパターン。 たとえばなかなか仕様が決まらないので見切りで発射してみたら、途中で色々な仕様変更がおこったり考慮漏れが出てきたりして常に対策会議をしなければいけなくなったり、 品質が悪すぎて品質改善のための会議を頻繁におこなうことになったりといった状況。 タス

    プロジェクトが失敗する10の兆候
  • CakePHP2系でマイグレーションを利用する方法

    マイグレーションを使わないで、データベースのスキーマ構成を変更したりすると、特に複数人で開発しているような場合にこんなことが起こったりします。 自分の開発マシンとテストサーバ等でスキーマ構成が違っているさらには他人の開発マシンともスキーマ構成が異なっているしかもどっちがあっているか分からない例えば、みんなが色々変更しているせいで、カラムの順番が入れ子になってたりする番サーバに反映しようとした時に、どの順番にスキーマ変更を行ったらよいか分からない。ソースコードのリリースバージョンと紐付くデータベースの状態がよく分からない。こういう質的でないことに時間を使っては勿体無いので、データベースの構成管理にはマイグレーション機能を使うのが定石です。Railsなんかだと当たり前なのですが、今回はCakePHP2系でマイグレーションを利用する方法を紹介します。 CakeDC Migrationの導入C

    CakePHP2系でマイグレーションを利用する方法
  • Electronでデスクトップアプリを簡単構築

    全国5000人のエンジニアをやめて寿司職人になろうと思っているみなさんこんばんは。 前回までスライド共有用のアプリケーションを趣味(リハビリ)で作っていたのですが、折角なのでデスクトップクライアントも作ってみました。 構築にはElectronを使ったのですが、結構簡単にできたので記録としてまとめておきます。 Electronって何?GitHubが開発するクロスプラットフォームで動作するアプリケーションを開発するためのフレームワーク。コードの記述はHTML5とNode.js。その範囲であれば既存のWeb開発技術が使いまわせる。例えばjQueryとかAngularなんかを使うのも可能Chromeブラウザのオープンソース版のChroniumのエンジンを内蔵例えばAtom・Visual Studio Code・Slackクライアントや、日だとKobitoあたりがメジャー作り方あちこちに記事があが

    Electronでデスクトップアプリを簡単構築
  • DockerのCentOSベースイメージを簡単に作る方法

    みなさんこんにちは。@ryuzeeです。 ググるとたくさん出てくるテーマでアレなんですが、これが楽かなと思う方法をご紹介します。 全体像イメージを作る環境自体はVagrant上の仮想マシンを利用する。作成しようとしているOSにあわせておくと良い(バージョンが違っても大丈夫)仮想マシン自体のセットアップはもちろんのこと、Dockerのイメージを作るところまでVagrantのFile ProvisionerとShell Provisonerを使って何度でも同じことができるようにするFile Provisionerはepelのレポジトリを有効にするためだけに使っており、Shell Provisonerでイメージの作成をする作業手順今回作成するのはCentOSのイメージですが、このルートイメージを作成するためにfebootstrapを使います。febootstrapは標準のyumレポジトリには含ま

    DockerのCentOSベースイメージを簡単に作る方法
  • Chefのレシピをサクサク書けるVim用スニペット

    タイトルのまま。僕はレシピの作成をVimを使ってやっているのですが、毎回似たようなコードを手打ちしていくのは頭おかしくなりそうなので、スニペット化していました。なんか需要がありそうなので公開しておきます。 コードはGitHubのryuzee/neosnippet_chef_recipe_snippetにおいてあります。 インストール方法大前提としてVimのNeoSnippetプラグインが必要ですので、適宜インストールしてください。 スニペットのインストールは、Bundleを使っている場合、.vimrcなどにBundleの追加とスニペットのパスの追加を行ってください(コードは折り返されているので注意)。 Bundle 'ryuzee/neocomplcache_php_selenium_snippet' let g:neosnippet#snippets_directory='~/.vim/

    Chefのレシピをサクサク書けるVim用スニペット
  • 5分で分かるDockerのキホン

    全国100万人のImmutable Infrastructure職人のみなさんこんにちは。 もう誰も彼もがDockerなので、あんまりブログに書こうという気にもならなかったのですが、知り合いからリクエストを貰ったので、5分くらいで分かるようにかいつまんで概略を説明します。 Dockerとは詳しくは家サイト見ればだいたい分かる。仮想化技術コンテナ単位でパッケージングVirtualBoxとかと違って高速、オーバーヘッドが少ない。chrootに近い。LXCには依存しなくなっているコンテナごとにIDが振られるコンテナは差分保存なのでロールバックも簡単一回作ればどこでも動く。JavaっぽいDockerfileでコンテナを作成するDockerfileの1行ごとにコンテナIDがフラれる動作環境Linux Kernel 3.8以降 64bit OSMacの場合はVirtualBoxの中で動かす形になる→

    5分で分かるDockerのキホン
  • 【発売のお知らせ】Chef実践入門

    全国1000万人のInfrastructure as Code職人とImmutable Infrastructure芸人のみなさんこんばんは! ということでタイトルの通りなのですが、このたび5月22日に「Chef実践入門 コードによるインフラ構成の自動化」(技術評論社)が発売になりますのでお知らせいたします。 の表紙はこんな感じになります(カバーの色やデザインは変更の可能性があります)。 ご予約は、こちらで受付中です!昨年前半に着手していたので随分時間がかかってしまいましたが、なんとか出すことができました。 今回はCakePHP界隈でもおなじみの安藤祐介さん、イケメン寿司&ドラクエ好きでおなじみの伊藤直也さん、Ruby使いの菅井さん、インフラのスペシャリスト並河さんという凄い人たちとの共著になります。 の内容ですが、Vagrantを使って簡単なクックブックをChef Soloを使って実

    【発売のお知らせ】Chef実践入門
  • PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com

    みなさんこんにちは。@ryuzeeです。 ComposerはRubyでいうところのBundlerのようなもので、アプリケーションが必要とする外部ライブラリを、そのアプリケーション固有の状態で一元的に管理してくれるツールです。 PHPではPearのようなコマンドを使ってライブラリをインストールすることが一般的ですが、アプリケーションによって必要とするバージョンが違う、といったケースでは問題が起こりやすくなります。 例えば手動でインストールをしていた場合、将来的にライブラリの配布が終わってしまったり、特定のバージョンが配布されなくなると困ってしまいます(したがって、インストールしたバージョンは構成管理の対象とするべきで、常に環境を再現可能にしなければいけません)。 Composerを使うことで、そのような問題からは簡単に解放されます。 なお、ComposerはPHP5.3.2以降で利用可能です

    PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com
  • vagrant-serverspecを使ってプロビジョニング結果をテストする

    全国1000万人のVagrant利用者のみなさんこんにちは。 Vagrantいいですよね!そしてインフラの状態をテストするserverspecもいいですよね!この2つがシームレスに統合されるとかなりうれしいですよね! ということで日12/2にvagrant-serverspecというプラグインがリリースされたので早速紹介します。 インストールインストールは簡単です。いつも通りvagrant plugin install vagrant-serverspec としてください。 コード自体は https://github.com/jvoorhis/vagrant-serverspec で公開されています。まだバージョン0.0.1なので、問題を見つけたらPR送るなりIssueを切るなりすると良いと思います。 使い方使い方も簡単です。まずVagrantfileを見てみましょう。 これは何をやって

    vagrant-serverspecを使ってプロビジョニング結果をテストする
  • 続報 PackerでVagrant用のBoxを作成する

    Packerってなに?という人は前回のエントリを先にどうぞ 0.10と0.11だと作成されたVagrantのboxの中のディスクイメージの命名の問題があります(詳細はこちら)。ソースを持ってきてビルドしたPackerを使えばとりあえず問題ありません。→0.12で修正されました! 前のエントリで紹介したPackerですが、Vagrantのboxの作り方が把握できたので紹介しておきます。 今回はUbuntuのboxの作成を例にして解説します。 なお、CentOSの例は以下に置いておきました。 まずは設定ファイルです。前の記事で紹介したものより長くなっています。 { "builders":[{ "type": "virtualbox", "guest_os_type": "Ubuntu_64", "iso_url": "http://releases.ubuntu.com/12.04/ubunt

    続報 PackerでVagrant用のBoxを作成する
  • vagrant-global-status v0.1.4をリリースしました

    以前、このサイトでVagrantの仮想マシンの一覧を簡単に取得する方法として、vagrant-global-statusというプラグインを使う方法を紹介しました。 その後何回かGitHub上でPRを送っていたところ、vagrant-lxcの作者でもあるFabio Rehmさんから、自分は思ったほどこのプラグイン使わないので、権限付与するのでどんどん開発してくれていいよ、という流れになり、バージョンアップしましたのでお知らせします。(Saharaの時と同じパタン…) インストール vagrant plugin install vagrant-global-status v0.1.4で出来ること 起動中の仮想マシンの一覧を取得する(VirtualBoxに限らず、他のモノにも対応しています) vagrant global-status 起動の状態に関係なく全仮想マシンの一覧を取得する(いままでp

    vagrant-global-status v0.1.4をリリースしました
  • vagrant-awsの環境別オプション指定方法

    全国1000万人のVagrantユーザーのみなさんこんにちは。今回はVagrantからAmazon EC2を操作する際に利用するvagrant-awsプラグインについて詳細を見ていきましょう。 インストールもうこれは書くまでないのですが、以下のようにインストールしてください。vagrant plugin install vagrant-aws Amazon EC2のネットワークについて知っておこう今回の肝はここです。Amazon EC2のインスタンスを立ち上げる際に選択可能な環境は3つあります。EC2-Classic環境内に構築するデフォルトVPCの環境内に構築する自分でVPCを定義し、その中に構築するそれぞれによってvagrant-awsで指定すべきオプションの内容が変わってきます。したがって自分がどの環境内にEC2のインスタンスを構築するのかをまず明らかにしてください。それぞれの違いは

    vagrant-awsの環境別オプション指定方法
  • Vagrantで仮想マシンの一覧を簡単に取得する方法

    全国1000万人のVagrantユーザーのみなさんこんにちは。 Vagrantを普段から多用していると、知らないうちに仮想マシンが沢山起動していて母艦に負荷がかかったり、止めるの面倒くさい~といったことがよくあります。 VirtualBoxの場合は以下のようにVirtualBoxの画面で起動中の仮想マシンの一覧を把握できますが、どこのパスで起動した仮想マシンなのかもよく分からないため十分ではありません。 そこで今日は起動中のVagrantの仮想マシンの一覧を簡単に取得する方法を紹介します。 プラグインのインストール 今回使うのはvagrant-global-statusというプラグインです。 インストールは vagrant plugin install vagrant-global-status でOKです。 実行するには、好きな場所で vagrant global-status -a と

    Vagrantで仮想マシンの一覧を簡単に取得する方法
  • opscodeのphpのcookbookを解説してみる

    みなさんお料理頑張ってますか?僕は毎日cookbookのrecipeみながらkitchenでknife使ってChef気分です(意味不明)。 今日はopscodeが提供しているphpのcookbookをみて中身を解説したいと思います。 コードはここです。https://github.com/opscode-cookbooks/php(なお、build-essentialとxmlとmysqlのcookbookに依存性がありますので、それぞれ入手してください) この記事の目的は、標準的なcookbookの構成の把握とopscodeでのcookbookの作り方の紹介とそれを利用したカスタマイズ方法を紹介することです。 ディレクトリ構成まずソースコードのディレクトリ構成をみてみます。当たり前ですが通常のcookbookのディレクトリ構成と同じです。├── CHANGELOG.md ├── CONTR

    opscodeのphpのcookbookを解説してみる
  • Vagrantで簡単仮想マシン構築

    VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアだ。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができる。更にはCapistranoと組み合わせてアプリケーションのデプロイも一括で行うことで完全自動でいつでもテスト環境をつくれたりもする。 仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがある。 以下ではまずはVagrantを利用した簡単な仮想マシン構築の手順を説明する(当に説明したい内容はもっと違う話なのだが追って別のエントリで書いていくことにする) Oracle VirtualBoxのインストールhttps://www.virtualbox.org/にアクセスし左ナビ

    Vagrantで簡単仮想マシン構築
  • PHPUnitのアンチパターンとベストプラクティス

    みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたらPHPUnitのアンチパターン・ベストプラクティスに関する素晴らしいスライドを見つけたので内容を抜粋で紹介します。 1. テストの中で何もテストしていない class FooTest extends PHPUnit_Framework_TestCase { public function testSomething() { $foo = new Foo; $foo->doSomething(new Bar); } } こういうテスト。どこにもアサーションがなくて何もチェックしていません。 $foo->doSomethingの戻り値を検証しないならなんの意味もありません。 純粋にTDDをしていれば、テストコード作成→テスト実行でRed→プロダクションコード作成→テスト実行でGreenなのでこういうテストは登場しませ

    PHPUnitのアンチパターンとベストプラクティス
  • 1