タグ

ブックマーク / tbpgr.hatenablog.com (35)

  • OODAループとは? - Tbpgr Blog

    PDCAサイクル:実態と致命的欠点 という記事を読みOODAに関する関心が高まりました。 該当記事は引用元の文献が不明だったので、自分で文献を探しながら理解を深めることにしました。 OODAループとは? ジョン・ボイド氏が考案した意思決定の理論。 OODAループは 監視(Observe) 情勢判断(Orient) 意思決定(Decide) 行動(Act) のサイクルからなります。 アメリカ軍のほか、ビジネスの領域にも広く導入されています。 Observe - 監視 軍事においては敵を探知し、情勢判断・意思決定の基盤となるものです。 ビジネスにおいては企業とそれに関る周辺環境で何が起こっているかに関する情報を集めること。 例えば、新規顧客率・契約期間・解約率など、何を対象にし、 どのようにフィルターするかが重要となる。 Orient - 情勢判断 軍事においては監視で得た情報をもとに、情勢を

    OODAループとは? - Tbpgr Blog
    alluser
    alluser 2017/12/04
  • SlackのSlash Commands+Google Apps Scriptで無料ボット生活 - Tbpgr Blog

    Slackのチャットボットを作成する場合、 HubotやRuboty+Herokuという組み合わせを利用している方が多いと思います。 ただ、Herokuの無料枠には限りがあります。 そこで、簡単な機能であれば Google Apps Script と Slash Commands Integrations を組み合わせることで実現できます。 Slash Commands Integrations とは? Slackには組み込みで使える / ではじまる Slash コマンドがあります。 この機能を外部サービスと連携してカスタマイズできるのが Slash Commands Integrations です。 Slash Commands - Slack公式ドキュメント 作成手順 今回は疎通確認だけします。 ping に対して pong を返却します。 Google Apps Scripts: S

    SlackのSlash Commands+Google Apps Scriptで無料ボット生活 - Tbpgr Blog
  • Alfredではてなブックマークの人気記事の検索をする設定 - Tbpgr Blog

    Alfredはてなブックマークの人気記事の検索をするための設定をします 背景 何かの技術や概念に関する情報が欲しい時に、質の高いものを探したいものとします。 この時 Google の検索上位の記事が質が高いとは限らない事が多く 、 はてなブックマークで検索し人気順表示を利用することがよくありました。 (これでいい記事に出会えるとも限らないけど、選択肢の一つとして) この手順を AlfredのWeb Search に登録して楽にできるようにしたくなりました。 設定 Key Value Search URL http://b.hatena.ne.jp/search/text?safe=on&sort=popular&q={query} Title Hatena Bookmark popular search Keyword hatebu 例えば上の Validation を実行すると下記のペ

    Alfredではてなブックマークの人気記事の検索をする設定 - Tbpgr Blog
  • Google SpreadSheet で手軽にデータ取得 - Tbpgr Blog

    Google SpreadSheet で手軽にデータ取得する方法をまとめます。 ※個人メモとしての記事で、既出情報です IMPORTDATA サンプル IMPORTFEED サンプル IMPORTHTML サンプル IMPORTRANGE サンプル IMPORTXML サンプル IMPORTDATA 指定URLのデータをCSV,TSV形式でインポートする IMPORTDATA - Google ドキュメント エディタ ヘルプ サンプル 都道府県データのCSVを取得します 都道府県データ - tbpgr/sample_data - GitHub =IMPORTDATA("https://raw.githubusercontent.com/tbpgr/sample_data/master/prefectures.csv") IMPORTFEED RSS フィードや Atom フィードをインポー

    Google SpreadSheet で手軽にデータ取得 - Tbpgr Blog
  • 3つのgemの事例から学ぶRubyにおけるPlugin設計技法 - Tbpgr Blog

    RubyにおけるPluginの設計技法について、実際に多くのユーザーに利用されている 3つの gem を参考にしてみます。 1. Minitest github.com Minitest とは? Minitest は UnitTest を行うためのライブラリです。 Plugin機構のルール ファイルは minitest/XXX_plugin.rb で作成する RubyのLOAD_PATHに配置する(rubygemsやその他) plugin_XXX_init メソッドを定義すると初期化処理として実行される plugin_XXX_options メソッドを定義するとオプションパースの処理として実行される Plugin機構のコード Minitest の Plugin 関連のコード minitest/lib/minitest.rb L77-202 - seattlerb/minitest - Gi

    3つのgemの事例から学ぶRubyにおけるPlugin設計技法 - Tbpgr Blog
  • 配管を通ってGitを理解してみる - Tbpgr Blog

    Gitを理解するにはGitの中身の知るのが良い、 と天の声が聞こえてきたので学習がてらまとめることにしました。 この記事は個人メモ的な記事です。 基的に既出情報なのでタイトルをみてピンと来ているかたは読む必要がありません。 ※この記事を読むタイミングとしてはGitの基的な操作と概念をある程度理解した あとが良いと思います。曖昧な基準ですが。 Gitの2種類のコマンド 配管( Plumbing ) コマンド 磁器( Porcelain ) コマンド Gitの中身 Gitオブジェクト blob オブジェクト tree オブジェクト commit オブジェクト tag オブジェクト 参照 .git配下のファイル、ディレクトリの説明 HEAD ファイル index ファイル objects ディレクトリ refs ディレクトリ 関連資料 Gitの2種類のコマンド Gitの中身はキーバリュー型の

    配管を通ってGitを理解してみる - Tbpgr Blog
    alluser
    alluser 2016/10/06
  • GitHub の新フィーチャー Projects と Waffle.io どちらを取るか現時点での評価をしてみた - Tbpgr Blog

    2016/09/15 に GitHub の新機能が公開されました。 その中の一つに Projects があります。 私はある現場で Waffle.io を約1年使っています。 のせかえるかどうか評価したかったので一通りさわってみることにしました。 Projectsとは? github.com GitHub の Issueはステータスを管理する機能がありません。 そこで Waffle.io, ZenHub のようなカンバンビューを持つ外部サービスを活用すると、 TODO・DOING・DONE などのステータスをレーンで管理できたり、 レーン内のカードの並び順で優先度を表すことができます。 またカンバンになっていることでプロジェクトの現状がひと目で把握できます。 これらに相当する機能が GitHub 体についたのが Projects です。 プロジェクト プロジェクト は 1つのカンバンを管

    GitHub の新フィーチャー Projects と Waffle.io どちらを取るか現時点での評価をしてみた - Tbpgr Blog
    alluser
    alluser 2016/09/16
  • 人生ドラクエ化マニュアル実践記-セーブデータ15-見栄、世間体を気にしない - Tbpgr Blog

    人生ドラクエ化マニュアルを実施することで、当に人生が変わるのか?楽しくなるのか? まずは行動してみよう、ということで週に1回を目安に行動し、その結果をログとして残そうと思います。 今回は「見栄、世間体を気にしない」です。 人生ドラクエ化マニュアルとは? 人生ドラクエ化マニュアル、略して人ドラ(ジンドラ)。 「人生をドラゴンクエストに置き換えて楽しむ方法を考えてみよう!」 そんな考え方をまとめた書籍です。 元エニックス社員のJUNZOさんの著書で、すでにパート1・パート2がでています。 運命のクエストカード 書籍「人生ドラクエ化マニュアルⅡ」には付録として「運命のクエストカード」がついています。 クエストカードは全部で32あります。 1日1枚引くことを推奨していますが、他にも色々とやることがあるので週1を目安にしてみました。 週に1つを目安に実際に行動していきます。 そして、その結果を記事

    人生ドラクエ化マニュアル実践記-セーブデータ15-見栄、世間体を気にしない - Tbpgr Blog
    alluser
    alluser 2016/08/02
  • 小学1年生の娘に「成長の階段」について説明した - Tbpgr Blog

    小学1年生の娘に「成長の階段」について説明しました。 経緯 最近長女が色んな事をできるようになってきた反面、次女に対して 自分ができることを基準にして駄目だしをするような機会が増えてきていました。 また、長女は着実に成長しているのですが自分自身ではその実感がもてないようです。 そこで、「成長の階段」という話をしてみることにしました。 つまり2つのことを目的として長女に今回の話をしました。 次女の成長を一緒に喜べるようになってもらうため 長女自身の成長を実感し、自信を持って日々を過ごしてもらうため ※補足 成長、階段あたりをキーワードにした情報はけっこう見かけますけど、 どれかにインスパイアされたわけではなく自分の説明の便宜上「成長の階段」という 表現を使っただけです。もしかして既存の考え方として既に知られている「成長の階段」という 概念があるかもしれませんが、それとは全く関係ないです。 長

    小学1年生の娘に「成長の階段」について説明した - Tbpgr Blog
    alluser
    alluser 2016/08/01
  • Atom実践入門を読んだ - Tbpgr Blog

    最近Sublime TextからAtomに移行したばかりなので 飛びつくようにAtom実践入門を購入しました。 既に書評はあちこちにあるし、 個人的にこのから新たに覚えたことだけ抜粋してまとめます。 Core Cancel Command Pallete 利用時に Core Cancel を呼び出すことで Escape と同じ動作が可能。 Esc はキーが遠いので、タイプ数は増えるがホームポジションから 指を移動しないで済むほうが嬉しいという人には嬉しい機能。 Tree View CLI による Tree View 操作。 key 操作内容 ctrl-0 エディタとツリービューの切り替え d duplicate.ファイルコピー A Add File.新規ファイルの作成 shift-A Add Folder.新規フォルダの作成 fn-2 Rename.名前変更 backspace or d

    Atom実践入門を読んだ - Tbpgr Blog
    alluser
    alluser 2016/07/27
  • UI flows - Railsを作ったDHHが所属する37signals(Basecamp!)が生んだUIツール - Tbpgr Blog

    37signals(現在はBasecamp!)が生んだUIツール「 UI flows 」についての関連情報をまとめます 前提 この資料は今後自分が業務で行う作業に必要になったためまとめたものです。 実践したうえでの情報ではなく、参考文献をもとに自分の中で理解した内容をまとめ直しただけです。 UI flowsとは? UIのフローを作る際に、全てのアクションの画面遷移図を作るのは現実的ではありません。 逆にシナリオベースの文章の場合はそのフローを読んで理解にしにくいですし、 その内容をチェックリストにしたりメンテナンスするのも難しいです。 この双方の不足を補うことができるのが UI flows です。 UI flows では画面とアクションをテキストでシンプルに書きます。 画面に属するアクションを実行すると次の画面に遷移します。 テキストベースで作成できることから、デザイナ以外でも簡単に作成で

    UI flows - Railsを作ったDHHが所属する37signals(Basecamp!)が生んだUIツール - Tbpgr Blog
  • 目標について考えていたら目標の知識が曖昧だったので整理した - Tbpgr Blog

    目標について考えていたら目標の知識が曖昧だったので整理しました。 目標とは? 目標( Objective )とは目的( Goal )を達成するための具体的な行動指標。 ある目的を達成するための目標は複数存在しえる。 目標は目的と比べて具体的であり、短・中期的なものである。 よい目標 SMARTな目標 English Japanese Specific 具体的。 水泳を上手になりたい、ではなく半年間でクロールで100メートル1分を切る、など Measurable 測定可能。達成したかどうかが判別可能にします。 上記の半年間で100メートル1分を切る、というのが測定可能な例 Achievable 達成可能。現実的に達成できる見込みの無い目標ではモチベーションを保てません 例えば、現在50メートルしか泳げない人が半年以内にクロールで100メートル1分で泳ぐのは無理でしょう。 きっとやる気もでませ

    目標について考えていたら目標の知識が曖昧だったので整理した - Tbpgr Blog
  • 2015年振り返り - 優秀な人達との出会い、可能性が広がった1年 - Tbpgr Blog

    2015年 を振り返って。 今年は外とのつながりが増え、出会いと可能性が広がった1年でした。 またフェーズとしては今後のための下地作りと言えそうです。 仕事 コンテキスト 2014年から2015年の状況 2015年 組織レベルの活動を開始 開発基盤 チーム強化 クリエイターズネクスト コンテキスト 役割 副産物 CodeIQ 手動期 自動期 CodeIQ MAGAZINE Miira 個人的なこと 家庭 病気 アウトプット 外界 2016年に向けて 外部資料 仕事 コンテキスト 業務に関する詳細やドメインについては話せないのですが、 自社の業はシステム開発ではない 形式的にはシステム開発会社だけど、実態は親会社のシステム部 という立ち位置で仕事をしています。 私達の部署は自社(グループ)向けの Web システム ( Rails ) の開発が主業務だったのですが、 もう1レイヤーが上がって

    2015年振り返り - 優秀な人達との出会い、可能性が広がった1年 - Tbpgr Blog
    alluser
    alluser 2016/01/01
  • DashでGUIを利用せずSnippetを管理する - Tbpgr Blog

    経緯 DashのSnippetですが、Dash Guideやネットにある情報を見る限り DashのGUIから登録する方法しか提供されていないようだ。 が、大量のデータをSnippetとして利用したい場合にこれはあまりに不便である。 そこでTwitterでSnippetについてつぶやいてみたところ @tbpgr よく使うもの以外は都度検索してますね.. https://t.co/tzWEek29TL こちらの記事にあるようにprefixをつけて絞り込みやすくしてます。GUI以外の管理手段はわからないですね。。SQLiteで管理してるようなので頑張ればできるのかもしれません。— Retu Fukui (@fukuiretu) 2015, 12月 10 このような情報をいただいた。 ありがとうございます!! ちょうどこの時こちらでもDashのDocsetsはSQLiteで管理されてるようなので、

    DashでGUIを利用せずSnippetを管理する - Tbpgr Blog
    alluser
    alluser 2015/12/11
  • CrystalでFizzBuzzコマンドラインツールを作成する - Tbpgr Blog

    CrystalでFizzBuzzコマンドラインツールを作成する 仕様 標準入力から x を与えると1からxまでのFizzBuzzを出力する。 FizzBuzzの仕様については下記を参照 r FizzBuzz - Wikipedia 手順 プロジェクトテンプレートの生成 $ crystal init app fizzbuzz create fizzbuzz/.gitignore create fizzbuzz/LICENSE create fizzbuzz/README.md create fizzbuzz/.travis.yml create fizzbuzz/shard.yml create fizzbuzz/src/fizzbuzz.cr create fizzbuzz/src/fizzbuzz/version.cr create fizzbuzz/spec/spec_helper.c

    CrystalでFizzBuzzコマンドラインツールを作成する - Tbpgr Blog
  • 未経験?履歴書?実力さえあれば全然気にしない。CodeIQで優秀な人材を効率良く狙い撃ちした話 - Tbpgr Blog

    CodeIQで業界未経験の優秀な人材を効率良く狙い撃ちした話について。 経緯 今年度に入ってから、チームが新たな局面を迎えています。 今までは社内の1システムを主として,その他にいくつかのシステムを保守していたのが、 会社全体を見据えたシステム群の設計・開発をすることになりました。 技術的にも新たに導入が必要なものが多数あり、新規メンバーが必要となってました。 ※ちなみにシステム開発とは別の業を行う親会社のための開発会社であり、 現状では社名をアピールすることが推奨されていないので匿名にします。 そのうち状況が変わるかもしれませんが。 前提 転職市場 ちょっと古い記事ですが、「なるほど」と思える記事があります。 第1回 エンジニアがなかなか採用できないワケ - なぜ,エンジニアの採用は難しいのか? ポイントは以下です。 転職したいエンジニアは2割 絶対転職しないと思うエンジニアは1割 転

    未経験?履歴書?実力さえあれば全然気にしない。CodeIQで優秀な人材を効率良く狙い撃ちした話 - Tbpgr Blog
    alluser
    alluser 2015/10/05
    良い話だなぁ(T^T)
  • Vagrantの後継ツールOttoで自動判別、自動構築を試す - Tbpgr Blog

    Vagrantの後継ツールOttoで自動判別、自動構築を試します。 インストール Ottoのバイナリを ダウンロードする ファイルを解凍してパスが通った場所に配置します。 疎通確認をします $ otto --version Otto v0.1.1 サンプル 現在時刻をランダムなWebフォントで表示するアプリケーションを作成します。 フォルダ構成は以下。 $tree . ├ config.ru ├ Gemfile ├ Gemfile.lock ├ Procfile └ timer.rb アプリケーション Gemfile source 'https://rubygems.org' gem 'sinatra', '~> 1.4.6' gem 'thin' timer.rb require 'sinatra' module Template HTML =<<-EOS <!DOCTYPE html>

    Vagrantの後継ツールOttoで自動判別、自動構築を試す - Tbpgr Blog
    alluser
    alluser 2015/09/30
  • 全体像を共有するためのユーザーストーリーマッピングについて - Tbpgr Blog

    全体像を共有するためのユーザーストーリーマッピングについて ユーザーストーリーマッピングとは? Jeff Pattonが考案した、ユーザーストーリーを時系列・優先度別に並び替えることで、 全体等としての物語をチームで共有しやすくする手法です。 なぜユーザーストーリマップが必要か? アジャイル開発でよく利用されるユーザーストーリーは小さな粒度で各ストーリーに専念できる反面、 全体像や優先度の概念が失われがち。 ユーザーストーリーマッピングを利用すれば、全体像の認識をチーム全体で共有でき 優先度もわかりやすくなり必要な開発・リリースに集中できるようになるため。 ユーザーストーリーマップの作成手順 ストーリーを話しながらカードをどんどん作成する 最上部には粒度の大きいカードを置く システム全体を時系列に考えた場合に合わせてカードを左右に移動する 重要度に合わせてカードを上下に移動する(重要なほど

    全体像を共有するためのユーザーストーリーマッピングについて - Tbpgr Blog
  • Vagrant+CoreOS+DockerでCrystalの実行環境をさくさくっと手に入れる - Tbpgr Blog

    Vagrant+CoreOS+DockerでCrystalの実行環境を手に入れます 経緯 構成 手順 1. Vagrantfileの初期化 2. Vagfantfileの編集 3. VMの起動 4. Crystalコンテナの実行 5. FizzBuzzしてみる Vagrantfileの公開 まとめ 外部資料 経緯 個人的に1日1Crystalということをやっていて、 Crystalの標準ライブラリのメソッドを一つずつ試しています。 横着して環境構築せずにPlaygroundを利用していたのですが、 今日Playgroundを実行すると500エラーになってしまいました。 仕方ないので環境構築をすることにします。 構成 VirtualBox 4.3 Vagrant 1.7.4 HostOS - Windows7 Guest OS - CoreOS + CrystalのContainer Cor

    Vagrant+CoreOS+DockerでCrystalの実行環境をさくさくっと手に入れる - Tbpgr Blog
  • MySQL | mysql-serverのcuiインストール時にパスワード入力のプロンプトを表示しないようにする - Tbpgr Blog

    概要 mysql-serverのcuiインストール時にパスワード入力のプロンプトを表示しないようにする 詳細 mysql-serverのcuiインストール時にパスワード入力のプロンプトを表示しないようにします。 通常下記のようにmysql-serverをインストールすると、途中でパスワード確認のプロンプトが3回表示されるため Chef等のツールで自動インストールすることが出来ません。 そこで、Ubuntuのdebconf-set-selectionsを利用します # パスを仮にrootで設定 vagrant@vbbinstubs:~$ sudo debconf-set-selections <<< 'mysql-server-5.5.34 mysql-server/root_password password root' vagrant@vbbinstubs:~$ sudo debconf

    MySQL | mysql-serverのcuiインストール時にパスワード入力のプロンプトを表示しないようにする - Tbpgr Blog