タグ

ブックマーク / blog.shibayu36.org (80)

  • 良い物件ではなく良い不動産屋を探した - $shibayu36->blog;

    いろいろあって今の家から引っ越すことになった。 良い物件どうやって探したらいいか分からなかったので、適当にググって http://nanapi.jp/286/ を実践してみたら、結果的にうまく行ったので経験をメモ。 結論 良い物件を探すのではなく、良い不動産屋を探すという方法にしたところ、僕の性格としては上手く行った 今回の流れ suumoやhomesで住みたい場所の物件を眺める 希望条件をまとめる 不動産屋を選んでメールしまくる 良さげなところを数社に絞って、さらに送られた物件見ながら返信してみる 一番いい感じに返答してくれた雰囲気の店に行って相談 suumoやhomesで住みたい場所の物件を眺める http://nanapi.jp/286/ とやってることは一緒なので割愛 希望条件をまとめる http://nanapi.jp/286/ とやってることは一緒なので割愛 不動産屋を選んでメ

    良い物件ではなく良い不動産屋を探した - $shibayu36->blog;
    y_uuki
    y_uuki 2014/07/19
    参考になる
  • 開発フローに新しい仕組みを導入するとき気をつけていること - $shibayu36->blog;

    最近開発フローに新しい仕組みを導入したりすることも多いのだけど、気をつけていることがいくつかある。 小さく導入する 短く導入する 振り返る 小さく導入する なんか導入する時は出来るだけ小さく導入してる。 理由は いきなりスクラムだとか言い始めてチーム全体のワークフローを変えようとした結果、チームの文化が崩壊する いきなりこれからはこのツールだとか言い始めてツールを導入した結果、誰も得してないのにツールだけ使われ続ける みたいなことがよく起こると思ってるため。既存の文化を壊したら元も子もないので結構気をつけてる。 小さく導入すれば、影響範囲を最小限に留めることができるし、あとから簡単にやめることが出来る。 小さく導入する方法はいくつかあって スクラムの中の一部だけ、チーム全体に適応する -> 導入するものを小さくする チーム内タスクの一部分だけに、仕組みを導入する -> 導入する範囲を小さく

    開発フローに新しい仕組みを導入するとき気をつけていること - $shibayu36->blog;
    y_uuki
    y_uuki 2014/05/14
    なるほど
  • なぜ開発で見積り失敗して忙しくなりがちなのか(アジャイルな見積りと計画づくり読んだ) - $shibayu36->blog;

    最近タスクがどのくらいで終わるか見積もることが多いんだけど、そのたびにうまく見積もりができてなかったり、思ったより長引いてしまってすごく忙しくなってしまったり、といったことが何度かあった。このままじゃ良くないなーと思って、「アジャイルな見積りと計画づくり」を読んだ。 アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~ 作者:Mike Cohn,マイク コーン毎日コミュニケーションズAmazon 実際読んでみると今の状況に非常にぴったりで良いだった。このを読んでいくと、最初から正確な見積りをするのは不可能で、作業をしながら見積りの精度をあげるといったり、変更やリスクに強いスケジュールをうまく作るということをしていく必要があるということが分かる。なんとなく自分がタスク管理をしないといけなくなったけど、なんかうまくいかないと思っている人には非常に参考になると思う。あと

    なぜ開発で見積り失敗して忙しくなりがちなのか(アジャイルな見積りと計画づくり読んだ) - $shibayu36->blog;
    y_uuki
    y_uuki 2014/03/29
    小銭ゲットエントリだ
  • git grep -Cなんてオプション知らなかった... - $shibayu36->blog;

    git grepの-Cってオプションを初めて知った。 -<num>, -C <num>, --context <num> Show <num> leading and trailing lines, and place a line containing -- between contiguous groups of matches.マッチした行の上下指定行数を表示してくれるらしい。例えばemacsでdefgroupどうやって定義しているのかなって知りたかったら git grep -C 2 -e defgroup とすると、以下のようにぱっと見で使えるデータが返ってくる。便利。 それ以外にもいろいろgit grepにはオプションがあった。--and, --or, --not, -eを使って、うまく検索してあげる事も出来る。このあたりはエンジニアだったら指定は分かりやすいかも。 # requ

    git grep -Cなんてオプション知らなかった... - $shibayu36->blog;
    y_uuki
    y_uuki 2014/02/10
  • LWP::Protocol::PSGIを使ってAPIを叩くメソッドのテストを書く - $shibayu36->blog;

    テストをするときに外部のAPIを叩く部分のテストを書きたい場合、出来る限り外部にアクセスせずにテストを書きたい。そういう時 Test::Mock::Guardを使って該当部分のメソッドが特定のデータを返すように書き換えてしまう LWP::Protocol::PSGIを使うなど、APIを叩くclient部分を差し替える Test::TCPを使って、APIのserver部分を差し替える などの方法がある。 今回はLWP::Protocol::PSGIを使ってAPIを叩くclient部分を差し替えるというのをやってみた。 テストしたい実装 例えばはてなブックマーク件数取得APIを使った実装があるとする。 以下の様な感じ。 package Bookmark::Client; use strict; use warnings; use URI; use URI::QueryParam; use LW

    LWP::Protocol::PSGIを使ってAPIを叩くメソッドのテストを書く - $shibayu36->blog;
    y_uuki
    y_uuki 2014/02/03
    Test::Mock::LWP::Conditional使ってた
  • Dockerが利用しているAUFSとLXC - $shibayu36->blog;

    最近Dockerをいろいろ触ってみていて以下の様な記事を書いたりしました。 Dockerで立てたコンテナにsshで接続する - $shibayu36->blog; serfとDockerでクラスタを組んでみる - $shibayu36->blog; 番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog; Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み - $shibayu36->blog; 社内用Docker Registryを立てる - $shibayu36->blog; docker commitでCMDやENVなどを指定する - $shibayu36->blog; docker inspectでDockerコンテナの情報を取得する - $shibayu36-

    Dockerが利用しているAUFSとLXC - $shibayu36->blog;
    y_uuki
    y_uuki 2013/12/30
    いきおいある
  • Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み - $shibayu36->blog;

    番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog; 開発合宿でDockerとMesosを使っていい感じにリソース提供とデプロイするやつを作ってた - wtatsuruの技術方面のブログ Docker + Mesos + Marathon + Graphite + Fluentd + Sensuを組み合わせたデプロイ管理ツールの話 - ゆううきブログ この辺に書いたとおり、id:wtatsuru, id:y_uuki, id:hagihala と一緒に、DockerやMesosなどを利用してBlue-Green Deploymentのプロトタイプのようなものを作っていた。この前は非常にざっくりと書いただけだったので、もう少し中身に突っ込んで書いてみる。かなり長くなったので時間があるときにでもどうぞ。 デプロイや運用の

    Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み - $shibayu36->blog;
    y_uuki
    y_uuki 2013/12/23
    本当の知見です
  • 本番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog;

    最近Dockerとか、serfとかその辺りのツールが流行ってる。その中でとりあえずDockerはテスト環境やCIでは使えるかもしれないけど、実際にwebサービスが動いているものに使えるかどうかはまだわかんないねーという流れになっていた。 まあでもとりあえず動いているwebサービスDockerでやったらどうなるかというのを知りたいというのがあって、いろいろ機会があったので4人で3日くらいやってプロトタイプ実装というのをしてみて試した。 結局出来たこと 結局以下の様なものが実際に動くところまで行った。 AWSのような環境がなくてもDockerさえ動けばブルーグリーンデプロイ出来る VPSだろうが自宅サーバだろうがなんでも ボタンだけで「番用環境構築」「番前の確認」「番切替」が出来る web n台くらいを一セットとみなした環境をボタンひとつで簡単に作れる Docker imageのビルド

    本番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog;
    y_uuki
    y_uuki 2013/12/21
  • ターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;

    emacsを使っているとterminalでもanything的にいろいろやりたくなるんだけど、そういう時にこれまでzawというツールを使ってきた。 https://github.com/zsh-users/zaw zaw.zshで最近移動したディレクトリに移動する - $shibayu36->blog; zawを使って最近更新したブランチをチェックアウトする - $shibayu36->blog; zaw結構便利なんだけど問題点もある。 読み込む行数が増えてくると遅くなる 履歴検索で10万行とか行くと動かないので致命的 zshに完全に紐付いてしまって、気軽には使えない で、この前YAPCでid:moozさんと話してて、percolという便利ツール作ってると聞いたので、試してみた。 percolとは 紹介記事などがあるので、それを参考に。 https://github.com/mooz/pe

    ターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;
    y_uuki
    y_uuki 2013/12/21
    めっちゃ便利
  • インフラのOrchestration? - $shibayu36->blog;

    Orchestrationやっぱりよく分かってなくて、色々話聞いてた。まだまだ分かってないけど、今のところをまとめるので、ここは違うとか指摘してください。 http://iiirc.org/snippets/321 Orchestrationに二つの意味が混ざっている? という話になった。一つはmizzyさんも言っていたインフラの動的な部分という意味で、一つはnaoyaさんやstanakaさんが言っていたサーバ同士がうまくコミュニケーションしあって統制するという意味っぽい。 それぞれの役割やツールへの対応としては インフラの動的な部分 あるサーバの状態に合わせて、実行する内容を動的に変える capistrano, fabric, MCollectiveなどが該当 サーバ同士が相互的にコミュニケーションして統制する serfなどが該当 インフラの動的な部分としてのOrchestration

    インフラのOrchestration? - $shibayu36->blog;
  • Immutable Infrastructureに対する自分なりの考えメモ - $shibayu36->blog;

    インフラ系技術の流れ - Gosuke Miyashita 今さら聞けない Immutable Infrastructure - 昼メシ物語 2014年のウェブシステムアーキテクチャ - stanaka's blog http://rebuild.fm/25/ この辺りを読んだ。自分の中ではImmutable Infrastructureについてはここ一週間で調べただけであり、解説などは出来ないが、とりあえず自分用のメモとして自分の思ったことなどを書いていく。 コンテナベースのデプロイ Dockerなどが出てきたことにより、Dockerのイメージをそのままアップロードし、それを番でも動かすということが出来そうというのが面白かった*1。こういう風なフローになるとすると、これまでのデプロイ手順とは全く違うようになりそう。 これまでのデプロイと、コンテナベースのデプロイ これまでのデプロイは

    Immutable Infrastructureに対する自分なりの考えメモ - $shibayu36->blog;
  • serfとDockerでクラスタを組んでみる - $shibayu36->blog;

    最近Serfというツールも気になっていたので、とりあえずクラスタを組んでイベントハンドラの設定をしてみるところまでやってみました。 Serfとは http://www.serfdom.io/ https://github.com/hashicorp/serf Serf is a decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant. Orchestrationという層を支援する軽いツールみたいですね。これをうまく使うことで、クラスタにjoinしたweb serverを自動的に配下に加えるHAProxyとかを実装したり出来ます。参考: Serf+HAProxyで作るAutomatic Load Balanc

    serfとDockerでクラスタを組んでみる - $shibayu36->blog;
  • Dockerで立てたコンテナにsshで接続する - $shibayu36->blog;

    最近Dockerをちょっと触っていて、とりあえずDockerでコンテナを立ててsshでつなぐということをやってみた。 Dockerを入れる macだとDockerが入っているvagrant環境があるのでそれを落としてくる。 http://docs.docker.io/en/latest/installation/vagrant/ $ git clone https://github.com/dotcloud/docker.git $ cd docker $ vagrant upこれでDockerが動くvagrant環境が出来た。今後の作業はこのvagrantにsshした状態で行う。 $ vagrant ssh sshdが起動したコンテナにつなぐ http://docs.docker.io/en/latest/examples/running_ssh_service/ この辺を参考に。 まず

    Dockerで立てたコンテナにsshで接続する - $shibayu36->blog;
    y_uuki
    y_uuki 2013/12/07
    情報だ
  • 日本酒のラベルに書いてある区分や用語 - $shibayu36->blog;

    こんな会話がありました。 @shiba_yu36 そのお店、月桂冠しかないので最高っぽい大吟醸のそれたのんで見たんですけど、そこいらの地酒純米酒に劣る風味でした。香りもないし、味も旨味なくて印象に残らなかった...すぐに店でました— ペロペロ (@experopero) 2013年10月19日 @shiba_yu36 そうですね...別に大吟醸だからといって味が保証されているわけではないですね。まあ手間かかってるし、純米に比べて美味い酒の割合は多い気はしているのですが...— ペロペロ (@experopero) 2013年10月19日 @shiba_yu36 なるほど〜。そういえば大吟醸でうまい酒って飲んだこと無い気がします。いつも行ってる店も純米オンリーだし。適当に買う時もとりあえ純米でうまい酒探すという感じでした。— ペロペロ (@experopero) 2013年10月19日 うー

    日本酒のラベルに書いてある区分や用語 - $shibayu36->blog;
    y_uuki
    y_uuki 2013/10/21
    どこにでもモヒカンがいる様子だ
  • vagrantでVMを一度に複数台立てる - $shibayu36->blog;

    以前、#kyotopm 04 Hackathonを開催して、Cinnamonの並列化に取り組んでいました - $shibayu36->blog; でも少しだけ触れましたが、vagrantでVMを一度に複数台立てるのをちょっとだけ試したのでメモ。 vagrantはMulti VMに対応していて、設定を少し書けばvagrant upするだけで複数のVMを立てることが出来る。Multi-Machine | Vagrant by HashiCorp あたりが参考になる。 precise32でまっさらなサーバを立てる 例えばpreciese32を使って、まっさらのサーバを2台立ててみる。以下の設定を書いてvagrant upするだけで良い。 Vagrant.configure("2") do |config| config.vm.box = "precise32" config.vm.box_url

    vagrantでVMを一度に複数台立てる - $shibayu36->blog;
  • perlのメトリクスをjenkinsで可視化する - $shibayu36->blog;

    最近リファクタリングをしたいと思っているんだけど、なかなか大変で後回しにしてしまう。これはいけないと思って、自分達を納得させるために、perlのメトリクスを出し、それをjenkinsで可視化するというのをやってみた。 perlのメトリクス集計 まずperlのメトリクス集計はPerl::Metrics::LiteやApp::plmetricsというのを使えば良い。これにより、関数の長さやCyclomatic Complexity(循環的複雑度)が集計できる。 まずPerl::Metrics::Liteのmeasureperlコマンドを使ってみる。すると以下のようにファイルの長さ、関数数やそれぞれのファイルのメソッドごとの長さ、Cyclomatic Complexityが集計できる。 $ measureperl lib #====================================

    perlのメトリクスをjenkinsで可視化する - $shibayu36->blog;
  • Kyoto.pm 05 Tech Talksを開催し、イベント開催の面倒を減らすというLTをしました - $shibayu36->blog;

    Kyoto.pm 05 Tech Talksを開催しました! #kyotopm - kyotopm's blog Kyoto.pm 05 Tech Talksを開催しました。今回は色々な方が参加してくれて、30人以上参加者が集まりました。発表者も結構集まって良かったです。 発表 僕自身は「イベント開催が面倒」というタイトルでLTさせてもらいました。愚痴ではなくて、イベント開催は様々な困難が付きまとうので、自動化出来るところはしていこうみたいな話です。 130713 kyotopm-lt from Yuki Shibazaki 今回のイベントを開催して、一番大変だったのは告知文をたくさん書くことでした。だいたい同じ事を書いているのにコピペしまくっていて、なんかダルいなーっていう感じです。 そこで告知文の雛形を用意しておいて、基的には同じ部分は自動生成してしまって、その後にいろいろ周知したい

    Kyoto.pm 05 Tech Talksを開催し、イベント開催の面倒を減らすというLTをしました - $shibayu36->blog;
    y_uuki
    y_uuki 2013/07/15
    "イベント開催が面倒"
  • Harrietを使ってprove単位でmysqldを作ってみた話 - $shibayu36->blog;

    tokuhirom blog を見て、これ便利だなーと思ったので、試しにこれを使ってprove単位でTest::mysqldを起動するやつを作ってみた。 harriet用設定を作る まずt/harriet/mysqld.plみたいなのを作る。この中でmysqldの起動とschema流し込みまでしてしまう。複数のdsnを保存しておきたければ、jsonで入れておくと良さそう。 # t/harriet/mysqld.pl use JSON::XS; use Path::Class; $ENV{TEST_EPIC_DSNS} ||= do { require Test::mysqld; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '', # no TCP socket 'default-storage-engin

    Harrietを使ってprove単位でmysqldを作ってみた話 - $shibayu36->blog;
    y_uuki
    y_uuki 2013/07/01
  • nekokakさんを呼んで、7/13(土)にKyoto.pm 05 Tech Talkを開催します!!!!! - $shibayu36->blog;

    前回からしばらく経ったので、そろそろKyoto.pm 05 Tech Talkを開催しようと思います。 Kyoto.pm 05 Tech Talkに参加する 今回はJPAの講師派遣プログラムを利用して、DBix::SkinnyやTengの作者である@nekokakさんに来てもらうことになりました!@nekokakさんに話していただきたいことを、参加フォームのアンケートで募集しています。この機会に是非リクエストしてみてください イベントの詳細は以下の通りです。 日時 : 7/13(土) 15:00- 場所 : 株式会社はてな 8F(http://www.hatena.ne.jp/company/location) 参加費 : 500-1000円 懇親会 : その場でかどこかに行きます(2000円-4000円) 参加は以下のボタンからZusaarで登録をお願いします。また発表者も募集しています

    nekokakさんを呼んで、7/13(土)にKyoto.pm 05 Tech Talkを開催します!!!!! - $shibayu36->blog;
    y_uuki
    y_uuki 2013/06/21
    !!!!
  • 処理のtimeoutを簡単に書くためのSub::Timeoutというモジュールを作りました - $shibayu36->blog;

    ある処理をするときに一定以上の時間かかったらtimeoutして処理を終わりたいみたいなことをしたい時がたまにあるので、それを行うSub::Timeoutというモジュールを作りました。 https://github.com/shibayu36/p5-Sub-Timeout 使い方 use Sub::Timeout; use HTTP::Tiny; my $res = timeout 3.5, sub { HTTP::Tiny->new->get('http://example.com/foo'); }; 基的には上のように、タイムアウトしたい秒数と処理のcoderefを渡します。 上の例だと3.5秒間で処理が終わった場合、その返り値を$resとして返し、処理が終わらなかった場合、その時点で処理を打ち切って例外を投げるようにしています。例外を投げるのでその後も処理を続けたい場合は例外処理をし

    処理のtimeoutを簡単に書くためのSub::Timeoutというモジュールを作りました - $shibayu36->blog;
    y_uuki
    y_uuki 2013/06/07
    定時後ワイワイ