Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2014-04-01から1ヶ月間の記事一覧

PHP | str_replace

PHP

概要 str_replace 詳細 mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )subjectからsearchを見つけ、replaceに置換します。 search、replaceは配列で指定可能です。 正規表現を使わない文字列置換をしたい場合に p…

Ruby | リファクタリング | 冗長なコードを記述=>メソッドの抽出=>動的メソッド定義 の流れのサンプル

概要 冗長なコードをmetric_fuで検出=>メソッドの抽出=>動的メソッド定義 の流れのサンプル 詳細 ・プロダクトコード、テストコードのひな型を生成 ・テストコードを記述 ・冗長なコードを記述 ・テストコードをリファクタリング ・プロダクトコードのリ…

Ruby | Integer | to_r

概要 Integer#to_r 詳細 自身を Rational に変換します。 サンプルコード # encoding: utf-8 require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 1.to_r 0.5.to_r 0.to_r -2.to_r EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubyge…

TbpgrUtils | 追加要件 MarkdownString#heading2 追加

概要 追加要件 MarkdownString#heading2 追加 詳細 追加要件 MarkdownString#heading2 仕様 ・Markdownのhearding2を出力します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://github.com/tbpgr/tbpgr_utils Rubygems http://rub…

RSpec | rspec metadata | user define metadata

概要 rspec metadata | user define metadata 詳細 context, itに任意の内容のキーと値を設定すると example.metadata[:key]で、該当の設定値を取得できます。ネストして定義した場合は、オーバーライドすることになります。 hige_spec.rb require 'spec_hel…

RSpec | rspec metadata | described_class

概要 rspec metadata | described_class 詳細 described_class変数でトップレベルのdescribeにクラスが設定されていた場合、 該当クラスを取得できます。 hige_spec.rb require 'spec_helper' require 'hige' describe Hige do it "hige1" do puts described…

RSpec | rspec helper | define helper method int module

概要 rspec helper | define helper method int module 詳細 Helperをmoduleで作成し、RSpec.configureに設定することで 複数のspec間で流用することができます。 lower.rb module Lower def lower(text) text.downcase end end spec_helper.rb require 'low…

RSpec | rspec hook | before/after

概要 rspec hook | before/after 詳細 rspecのhookについて。 before/afterフックは各exampleの処理前後に処理を追加することができます。 引数に「:each」「:all」のどちらかを指定することで1回だけ実行するか、 各exampleごとに実行するか設定できます。…

RSpec | rspec command | テスト順のランダム化

概要 rspec command | テスト順のランダム化 詳細 rspec command実行時に、spec_helperに config.order = 'random' の設定を行うことで各テストケースをランダムな順序で実行します。 この設定を行った場合、テスト実行終了時に乱数の種(seed)が表示されま…

RSpec | rspec helper | let

概要 rspec helper | let 詳細 letはexample内で変数を利用したい場合に使います。 beforeで@xxxなどで変数を利用する場合との違いは、lazy loadであることです。 subject { インスタンス } 構成 $ tree ┣ lib | ┗ hige.rb ┗ spec ┣ hige_spec.rb ┗ spec_he…

RSpec | rspec | 明示のsubject

概要 rspec | 明示のsubject 詳細 明示的に初期化する場合は下記の構文を利用します。 subject { インスタンス } 構成 $ tree ┣ lib | ┗ hige.rb ┗ spec ┣ hige_spec.rb ┗ spec_helper.rb hige.rb # encoding: utf-8 class Hige attr_accessor :msg def ini…

RSpec | rspec | 暗黙のsubject

概要 rspec | 暗黙のsubject 詳細 rspec実行時にExample内でsubjectを利用できます。 subjectはデフォルトではトップ階層のdescriptionのインスタンスです。 (descriptionがネストしている場合でもトップ階層のインスタンスが設定されます) descriptionに…

Ruby | Integer | times

概要 Integer#times 詳細 self 回だけ繰り返します。 self が正の整数でない場合は何もしない。 またブロックパラメータには 0 から (self - 1) までの数値が渡される。 サンプルコード # encoding: utf-8 5.times {puts "hoge"} 0.times {puts "@@@@"} 5.…

TbpgrUtils | 追加要件 MarkdownString#heading1 追加

概要 追加要件 MarkdownString#heading1 追加 詳細 追加要件 MarkdownString#heading1 仕様 ・Markdownのheading1を出力します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://github.com/tbpgr/tbpgr_utils Rubygems http://ruby…

Ruby | Integer | pred

概要 Integer#pred 詳細 selfを-1した値を返却します サンプルコード # encoding: utf-8 require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 2.pred 2.pred.pred 2.pred.pred.pred 2.pred.pred.pred.pred -5.pred EOS __END__ 下記はTbpgrUtils gemの機…

TbpgrUtils | 追加要件 Integer#palindromic_prime? 追加

概要 追加要件 Integer#palindromic_prime? 追加 詳細 追加要件 Integer#palindromic_prime? 仕様 ・回分素数か判定します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://github.com/tbpgr/tbpgr_utils Rubygems http://rubygems…

Ruby | Integer | odd?

概要 Integer#odd? 詳細 数値が奇数か判定します。 サンプルコード # encoding: utf-8 (1..10).each { |v| puts "#{v} is odd? :#{v.odd?} " } 出力 1 is odd? :true 2 is odd? :false 3 is odd? :true 4 is odd? :false 5 is odd? :true 6 is odd? :false 7…

説得とヤル気の科学 最新心理学研究が解き明かす「その気にさせる」テクニック

概要 『説得とヤル気の科学 最新心理学研究が解き明かす「その気にさせる」テクニック』 マインドマップ まとめ 人をヤル気にさせる要因を7つに分類しています。・帰属意識 ・習慣 ・物語の力 ・アメとムチ ・本能 ・熟達願望 ・心の錯覚それぞれについて、…

Ruby | 二次元配列の各配列からまとめて指定数の値をランダムに抽出する

概要 二次元配列の各配列からまとめて指定数の値をランダムに抽出する 詳細 tbpgr_utils gemのArray#together_sample(別名でtsampleもあり) 二次元配列の各配列からまとめて指定数の値をランダムに抽出します。 事前準備 gem install tbpgr_utils 主な用途…

Ruby | 二次元配列の各配列をまとめて逆順にする

概要 二次元配列の各配列をまとめて逆順にする 詳細 tbpgr_utils gemのArray#together_reverse(別名でtreverseもあり) 二次元配列の各配列をまとめて逆順にします。 事前準備 gem install tbpgr_utils 主な用途 二次元配列の各配列をまとめて逆順にしたい…

TbpgrUtils | 追加要件 String#cygwinpath_to_winpath 追加

概要 追加要件 String#cygwinpath_to_winpath 追加 詳細 追加要件 String#cygwinpath_to_winpath 仕様 ・cygwinのパスをWindowsのパスに変換します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://github.com/tbpgr/tbpgr_utils R…

Ruby | Integer | next

概要 Integer#next 詳細 次の変数を返却します。 aliasにsuccがあります。 サンプルコード # encoding: utf-8 require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 0.next 0.succ 0.succ.next EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval htt…

Ruby | 二次元配列の各配列をまとめてreduce(inject)する

概要 二次元配列の各配列をまとめてreduce(inject)する 詳細 tbpgr_utils gemのArray#together_reduce(別名でtreduce, together_inject, tinjectもあり) 二次元配列の各配列をまとめてreduce(inject)します。 事前準備 gem install tbpgr_utils 主な用…

Ruby | 二次元配列のそれぞれの配列からpopする

概要 二次元配列のそれぞれの配列からpopする 詳細 tbpgr_utils gemのArray#together_pop(別名でtpopもあり) 二次元配列のそれぞれの配列からpopします。 事前準備 gem install tbpgr_utils 主な用途 二次元配列のそれぞれの配列からpopしたい場合。 サン…

TbpgrUtils | 追加要件 String#winpath_to_cygwinpath 追加

概要 追加要件 String#winpath_to_cygwinpath 追加 詳細 追加要件 String#winpath_to_cygwinpath 仕様 ・Windowsのパスをcygwinのパスに変換します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://github.com/tbpgr/tbpgr_utils R…

Ruby | Integer | lcm

概要 Integer#lcm 詳細 最小公倍数の配列を取得します。 lcm = Least Common Multiple サンプルコード # encoding: utf-8 require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 2.lcm 4 2.lcm -4 2.lcm 3 2.lcm 0 0.lcm 2 12.lcm 24 EOS __END__ 下記はTbp…

Ruby | 二次元配列の各要素を元にブロックを実行し、戻り値の配列を返却する

概要 二次元配列の各要素を元にブロックを実行し、戻り値の配列を返却する 詳細 tbpgr_utils gemのArray#together_map(別名でtmap, together_collect, tcollectもあり) 二次元配列の各要素を元にブロックを実行し、戻り値の配列を返却します。ブロックの戻…

Ruby | 二次元配列の最後の要素を配列で取得する

概要 二次元配列の最後の要素を配列で取得する 詳細 tbpgr_utils gemのArray#together_insert(別名でtinsertもあり) 二次元配列の最後の要素を配列で取得します。引数を指定しない場合は最後の要素を1次元配列で返却。 引数を指定した場合は、最後からn番…

TbpgrUtils | 追加要件 String ascii_unicode_html_table 追加

概要 追加要件 String ascii_unicode_html_table 追加 詳細 追加要件 String ascii_unicode_html_table 仕様 ・ASCIIコード2/10進数とUnicodeをHTMLの表形式の文字列で取得します ※より詳細についてはGitHubのREADMEおよびテストケース参照 GitHub https://g…

Ruby | Windows7環境 + コマンドライン + ワイルドカード展開の罠をきっかけにRSpecのコードリーディングをした話

概要 Windows7環境 + コマンドライン + ワイルドカード展開の罠をきっかけにRSpecのコードリーディングをした話 経緯 ※タイトルでピンとくる方は「何を今更・・」という情報だと思います。RSpecの基本的な利用法を覚えるためにrspecコマンドの各オプションを…