タグ

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

  • アーキテクチャの意思決定を記録する Lightweight Architecture Decision Records について - Tbpgr Blog

    Lightweight Architecture Decision Records とは? Lightweight Architecture Decision Records とは、 重要なアーキテクチャの意思決定を背景と結果とともに記録する手法 です。 Architecture Decision Records は ADR とも呼びます。 一般にこれらは Wiki や コラボレーションツールに保存されます。 ADRにお役立ち情報 以下のリポジトリに実際に ADR を導入する際の手順などがまとまっています。 github.com と言ってもシンプルなもので、実際にやることといえば テンプレートを決める ファイル名のフォーマットを決める アーキテクチャの意思決定をする 意思決定内容をテンプレートにそって記載してバージョン管理ツールに残す このぐらいです。 ツール ADRのためのコマンドライン

    アーキテクチャの意思決定を記録する Lightweight Architecture Decision Records について - 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
  • 3つのgemの事例から学ぶRubyにおけるコマンドラインツール設計技法 - Tbpgr Blog

    3つのgemからRubyのCLIツールの設計について学びます。 今回コールドリーディングをするのは bundler itamae serverkit です。 学習対象 bundler bundler は Ruby のパッケージ管理ツールです Repository github.com Code Reading CLI Framework thor - GitHub 処理の流れ exe/bundle コマンドラインからの呼び出しをもとに入力を受付け、 Bundler:CLI.start に受け渡しています。 # 略 Bundler.with_friendly_errors do require "bundler/cli" # Allow any command to use --help flag to show help for that command help_flags = %w(-

    3つのgemの事例から学ぶRubyにおけるコマンドラインツール設計技法 - Tbpgr Blog
  • 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
    clavier
    clavier 2016/01/29
  • Rubyベースの文法でJVMで動作するMirah言語の情報まとめ #mirah #ruby - Tbpgr Blog

    Rubyベースの文法でJVMで動作するMirah言語の情報まとめです。 2015/07/07 時点の内容をまとめました。 Official Site Mirah Official Wiki Mirah Wiki GitHub Mirah - GitHub Web Application Framework DubiousはMirthで書かれたApp Engine上で実行するWeb Application Frameworkです。 ちなみにDubious=「怪しげな」の意。 Dubious - GitHub Pindah MirahでAndroidアプリを作成するためのツールPindah pindah - GitHub 外部サイト d.hatena.ne.jp d.hatena.ne.jp www.moongift.jp www.infoq.com yohshiy.blog.fc2.com

    Rubyベースの文法でJVMで動作するMirah言語の情報まとめ #mirah #ruby - Tbpgr Blog
  • Ruby + Web APIに関わる情報のリンク集 - Tbpgr Blog

    Ruby + Web APIに関わる情報をまとめます。 Microservicesの需要が高まる昨今、Web APIの導入に対する需要も当然高まっていると思います。 導入企業の情報を見るとRubyを活用しているところが多いように感じます。 そこで、Ruby+Web APIに関わる情報を調べてみることにしました。 認証, 認可 Web APIの話では無いのだが、認証を切り出すケースは多いだろうということで。 qiita.com エラー処理 qiita.com API Document qiita.com Grape RESTful APIを簡単に作るためのDSLを備えたRubyのフレームワーク。 Grape - GitHub Grape関連情報 dev.classmethod.jp qiita.com qiita.com qiita.com スライド Ruby Web API Tools A

    Ruby + Web APIに関わる情報のリンク集 - Tbpgr Blog
    clavier
    clavier 2015/07/21
    Ruby + Web APIに関わる情報のリンク集 - Tbpgr Blog
  • 自動化・効率化 の検討方法を検討しよう - Tbpgr Blog

    概要 自動化・効率化 の検討方法を検討する 経緯 2015/01/18 から個人KPT を開始しました。経緯については下記参照。 個人での KPT の活用開始と KPT-CD という独自概念について 現在、実行中の try の中に 毎週土曜に自動、効率化を必ず行う 自動化検討タスク 自動化実装タスク があります。 日々増える大量のインプット・アウトプット。 どんどん増えるやりたいこと。 これに対応するために、定期スケジュールの中に自動化・効率化を組み込むことにしました。 そして日が初回実施日。 着手するにあたって、自動化・効率化の検討を行う際の基準を決める必要がでてきました。 目的 自動・効率化によって時間を創出する。 自動・効率化のコスト - 自動・効率化による長期コストの削減 + 自動・効率化時に得られた技術的知見 = 自動・効率化利益 雑な感じだけど、上記のようなイメージで 自動・

    自動化・効率化 の検討方法を検討しよう - Tbpgr Blog
  • Ruby で Future パターンを実装する - Tbpgr Blog

    概要 RubyでFutureパターンを実装する 内容 Futureパターンは実行結果を得るまでに時間がかかる処理をする際に 結果の代わりに引換券をもらいます。 例えばドラクエの購入をする際に予約がなければ発売当日にずっと並ばなければなりません。 ここで予約をしておけば予約券を受け取って実際に発売日が来たら受け取ることが可能です。 当日受け取り時間が遅れたとすれば待機することになります。 補足 ※補足実際はこの例より簡単に実装可能。 あくまでパターンの理解を優先してRubyの言語側で 用意してくれている仕組みは利用せずに処理します。 簡易実装版については以下参照 RubyでFutureパターンを実装する(シンプル編) UML plantUMLソース @startuml{future_pattern.png} title Future Pattern class Main class Host

    Ruby で Future パターンを実装する - Tbpgr Blog
    clavier
    clavier 2015/01/14
  • esa.io と DocBase を比較してみた #esa_io #docbase - Tbpgr Blog

    概要 esa.io と DocBase を比較してみました 利用歴 esa.io : 約 1 ヶ月 DocBase : 1日 ご覧のとおりのため、 DocBase については見逃している便利な使い方や私の勘違いなどあるかもしれません また、利用期間が大きく異なるため情報の量が esa.io に偏っていることをご了承ください。 esa.io の特徴について 下記の記事にまとめてあります。 ※ただし、記事作成後に使い易い機能が日々追加されています。 esa.io でゆるふわ情報共有 - Middleman Blog への Export サンプル付き DocBase の特徴について 下記の記事にまとめてあります。 「小さなメモから始めて、チームを育てる 」 DocBase を触って基機能や特徴をまとめてみた 比較 コンセプトの違い esa.io 規模:小さなチーム向け 暗黙知可視化への工夫:W

    esa.io と DocBase を比較してみた #esa_io #docbase - Tbpgr Blog
  • Javaプログラマーが学ぶRuby基礎/pretty_printメソッドで整形出力 - Tbpgr Blog

    概要 pretty_printメソッドで整形出力する方法について説明します。 内容 pretty_printメソッドを使用することで、ハッシュや複雑なオブジェクトの内容を 人間が見やすい形で出力することが出来ます。 構文 require "pp" : : pp <出力対象> サンプルコード require "pp" class Person attr_accessor:name,:age,:memo def initialize(name,age,memo) @name=name @age=age @memo=memo end end tanaka = Person.new('田中',20,'田中くんこんにちは'*10) suzuki = Person.new('鈴木',20,'鈴木くんこんにちは'*10) person_list = [tanaka,suzuki] puts "−−−−−

    Javaプログラマーが学ぶRuby基礎/pretty_printメソッドで整形出力 - Tbpgr Blog
    clavier
    clavier 2015/01/08
    Javaプログラマーが学ぶRuby基礎/pretty_printメソッドで整形出力 - Tbpgr Blog
  • メタプログラミングRuby | 番外編 | Ghostableでゴーストメソッドを少しだけ楽に作成 - Tbpgr Blog

    概要 Ghostableでゴーストメソッドを少しだけ楽に作成 内容 ゴーストメソッドの定義を支援するモジュール=Ghostableを作成します。 今回想定するのはあるパターンの文字列を持つメソッド名のみゴーストメソッドとして扱います。 通常のゴーストメソッド ソースコード # encoding: utf-8 module Lawable def method_missing(method_name, *args, &block) lawnized_call method_name.to_s if method_name.to_s.include?("呼ぶ") end def lawnized_call(name) puts "create new method = #{name}" singleton_class.class_eval do define_method name do na

    メタプログラミングRuby | 番外編 | Ghostableでゴーストメソッドを少しだけ楽に作成 - Tbpgr Blog
  • メタプログラミングRuby | イディオム | 名前付き引数 - Tbpgr Blog

    概要 名前付き引数 内容 Ruby1.9以前には名前付き引数がサポートされていません。 擬似的に名前付き引数を利用するためにハッシュを利用します。 サンプル # encoding: utf-8 def hoge(args) args[:cnt] ||= 1 puts args[:hage]*args[:cnt] + args[:hige]*args[:cnt] end hoge(hige:'ひげ', hage:'はげ') hoge(hage:'はげ', hige:'ひげ', cnt:2) 出力 はげひげ はげはげひげひげ 参考(Ruby2.0) Ruby2.0ではパラメータ付き引数が言語サポートされています # encoding: utf-8 def hoge(hage: 'hage', hige: 'hige', cnt: 1) puts hage*cnt + hige*cnt end

    メタプログラミングRuby | イディオム | 名前付き引数 - Tbpgr Blog
  • 1