2013-12-01から1ヶ月間の記事一覧
概要 プロトタイピングツールSwordSoft Layoutをインストール+試用してみる 詳細 プロトタイピングツールSwordSoft Layoutをインストール+試用してみる・機能的にはbalsamiqと近い balsamiqの記事参照 http://d.hatena.ne.jp/tbpg/20131211/1386776749・CU…
概要 プロトタイピングツールbalsamiqを試用してみる 詳細 プロトタイピングツールbalsamiqを試用してみる・sketch skin(手書き風)とwireframe skin(通常)を選択可能 ・さくさく動く ・CUIがあるので習熟すると作業効率が上がりそう。 サジェストしてくれる…
概要 プログラムに関わるものでカテゴライズに困ったらここにまとめます 詳細 項目 URL 先行評価(eager evaluation)と遅延評価(lazy evaluation) http://d.hatena.ne.jp/tbpg/20131211/1386776623 継続渡しスタイル(CPS = Continuation Passing Style) http:…
概要 先行評価(eager evaluation)と遅延評価(lazy evaluation) 詳細 先行評価(eager evaluation)と遅延評価(lazy evaluation)について 先行評価(eager evaluation) 即時にプログラムを評価する。 関数言語以外では標準的な手法。 関数言語以外でも大抵、遅延…
tbpgr(てぃーびー)がCodeIQで出題している問題の情報や、公開されたCodeIQ MAGAZINEの記事の情報の一覧です
概要 CodeIQの出題者をやることになりました 経緯 CodeIQの問題のフィードバックに誤った箇所があったため連絡をとり合った際に 雑談交じりのメールになり、出題の提案などを行ったりした。 その点と当ブログ内容などが目に止まってお声がけ頂いたようです。…
概要 Role 詳細 RoleにはNode間にまたがる設定を保存する。 0〜n個のAttributesとrun listを設定可能です。 RoleはNodeで指定可能です。 フォーマット RubyのDSL、JSONの2パターンの記述方法を利用可能 参照 http://docs.opscode.com/essentials_roles.html …
概要 Data Bag 詳細 Data Bagはグローバルなドメインに属するデータを管理する。 代表的な例がユーザーデータです。 Attributeは各Resourceの属性情報を保存するが、その点が異なる。詳細な利用方法については下記記事参照 data bagで各cookbookに依存しない…
概要 Attribute 詳細 Attributeについて。AttributeはノードやResourceの属性で、固定的ではないものを定義するもの。 例えば、インストール対象のバージョンや設定値など。 DataBagはユーザー等、ノードやResourceに縛られないものを定義する点で異なる。At…
概要 デザインパターン 詳細 項目 内容 GoFのデザインパターン http://d.hatena.ne.jp/tbpg/20120310/1331390825 マルチスレッドデザインパターン http://d.hatena.ne.jp/tbpg/20130703/1372866242 Functional Collection Patterns http://d.hatena.ne.jp/tb…
概要 Functional Collection Patterns 詳細 Pattern URL Map Pattern http://d.hatena.ne.jp/tbpg/20131209/1386589674 Filter Pattern http://d.hatena.ne.jp/tbpg/20131209/1386590008 Reduce Pattern http://d.hatena.ne.jp/tbpg/20131209/1386590299
概要 Reduce Pattern 詳細 Collectionの全ての要素を元にスカラー値を返す。 Rubyではreduce(inject)が該当。 サンプル # encoding: utf-8 list = [1, 2, 3, 4] p list.reduce(0) {|sum, e|sum += e} 結果 10 参考 http://www.ugrad.cs.jhu.edu/~wsix/collec…
概要 Filter Pattern 詳細 Collectionの各要素から条件に一致する要素のみを抽出する。 Rubyではselectが該当。 サンプル # encoding: utf-8 list = [1, 2, 3, 4] p list.select {|e|e.even?} 結果 [2, 4] 参考 http://www.ugrad.cs.jhu.edu/~wsix/collectio…
概要 Map Pattern 詳細 Collectionの各要素を1対1で変換するFunctionを作成すること。 Rubyではmap(collect)が該当。 サンプル list = [1, 2, 3, 4] p list.map {|e|e + 1} 結果 [2, 3, 4, 5] 参考 http://www.ugrad.cs.jhu.edu/~wsix/collections.pdf
概要 採点レポートツール Akapen 初期リリース 詳細 採点レポートツール Akapen 初期リリース。 仕様 ・何かの採点結果に応じてレポートを出力する ・採点プログラムは規約によりクラス名とメソッド名を固定とし、戻り値はtrue・falseにする形で 統一する前…
概要 Enumerable#inject 詳細 Enumerable#inject memoにすべての要素を順次渡す。 引数に初期値を指定します。 サンプル コード # encoding: utf-8 require "pp" list = [] 10.times {|i|list << i + 1} p list p list.inject(0) {|sum, i|sum + i} p list.i…
概要 Enumerable#group_by 詳細 Enumerable#group_by 各要素をブロックで呼び出し、その結果でグループ分けを行う サンプル コード # encoding: utf-8 require "pp" class Fixnum def fizz? self % 3 == 0 end def buzz? self % 5 == 0 end def fizz_buzz? s…
概要 テストレポートをtsv形式で出力してみる 詳細 テストレポートをtsv形式で出力してみる 仕様 メソッド、ケース番号、ケース名、成功・失敗をtsv形式で出力する。 tsvにしたのはExcelにそのままはれるから。実装内容は下記記事で作成したものをコード生成…
概要 EvolusPencil 詳細 手軽に画面のプロトタイピングが可能な無料のツール、Evolus Pencilを インストールして、簡単なサンプルを作成しました。 出来ること ・Webやデスクトップアプリのデザイン ・設計用のデザイン部品も用意されている ・携帯、スマホ…
概要 definitionの利用により独自定義のresourceを作成する 詳細 definitionの利用により独自定義のresourceを作成します。 tar resourceを定義してみる definitions/tar.rb # encoding: utf-8 define :tar, :extract => false, :compress_name => "sample.t…
概要 RSpecのテストレポートをtsv形式で出力してみる 詳細 RSpecのテストレポートをtsv形式で出力してみる 仕様 メソッド、ケース番号、ケース名、成功・失敗をtsv形式で出力する。 tsvにしたのはExcelにそのままはれるから。 構成 │ .rspec │ Gemfile │ ├─l…
概要 matcherの戻り値に応じて後処理を行う 詳細 matcherの戻り値に応じて後処理を行います。RSpecのmatcherは成功時にtrue、失敗時にnilを返すので それを判断基準に処理を分岐して、Procを実行させてみます。 前提 rspec_piccoloを利用します 構成 $ tree …
概要 execute と script と bashの違いを知るためにオープンソースのコードリーディングをする 詳細 execute と script と bashの違いを知るためにオープンソースのコードリーディングをする ※他の言語系リソースもbash resourceと同様です(Csh, Ruby, Pytho…
概要 1つのcookbookで複数のrecipeを作成する場合 詳細 例えばmysqlをインストールするレシピがあるとして、・default.rbのレシピには本体のインストール ・config.rbのレシピには設定情報のカスタマイズなどという風に分けておくと本体はインストールしたい…
概要 rubyで任意のスクリプトを実行 詳細 rubyで任意のスクリプトを実行します。 ※冪統性の保証を自分で行う必要がある。 ruby "some name" do # options end 詳細については公式サイトリンクを参照。 http://docs.opscode.com/chef/resources.html#ruby サ…
概要 run_list 詳細 run_listについて 記述法 { "run_list" :[ "nginx", "mysql", "some" ] } nginx, mysql, someのデフォルトのレシピが実行されます。 { "run_list" :[ "nginx::default", "mysql", "some", "some::some_recipe" ] } nginx, mysql, someの…
概要 User,Groupの作成 詳細 User,Groupの作成を実行します。 user "user name" do # options end group "group name" do # options end 詳細については公式サイトリンクを参照。 http://docs.opscode.com/chef/resources.html#user http://docs.opscode.com…
概要 Executeで任意のスクリプトをroot権限で実行 詳細 Executeで任意のスクリプトをroot権限で実行します。 ※他のリソースで可能なことは他のリソースで行うこと。 executeやbashコマンドは何でも出来る反面、冪統性の保証を自分で行う必要がある。 execute…
概要 Subscribeで他のリソースをトリガーに任意のアクションを実行する 詳細 Subscribeで他のリソースをトリガーに任意のアクションを実行します。 resource "some_resource" do # options subscribes :action, "target_resource" end 詳細については公式サ…
概要 Notificationで他のリソースに対して任意のアクションをトリガーする 詳細 Notificationで他のリソースに対して任意のアクションをトリガーします。 resource "some_resource" do # options notifies :action, "target_resource" end よく利用するシチ…