Tbpgr Blog

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

2012-05-01から1ヶ月間の記事一覧

書籍 Regular Expressions Cookbook

概要 Oreillyの英書「Regular Expressions Cookbook」の学習まとめ。 自分の中で既知の情報は除外してまとめるため書籍全般をカバーするわけではない。 正規表現の動作確認はRubyで行います。 各章 Chapter 1. Introduction to Regular Expressions とくにな…

オブジェクト指向プログラマーがゾッとする実話

とあるJava開発での設計の話。お弁当箱の中におにぎりが入っていて、 おにぎりは米と海苔と塩で出来ている というような感じの構造の設計を依頼された。 class LunchBox { private RiceBall riceBall;//おにぎり //略 } class RiceBall { private Rice rice;…

秀丸エディタ | 使用方法

パンくずリスト 秀丸 使用方法 概要 秀丸エディタの使用方法についてまとめます 内容 設定 ・単語コピーにショートカットを割り当て ・秀丸アウトプット枠の書式変更 ・プログラマーのM+フォント適用祭 ・秀丸でRubyのコーディングを行う準備 ・秀丸の強調定…

秀丸ですべての行を特定の文字列で囲う方法

概要 秀丸ですべての行を特定の文字列で囲う方法 構文 以下の内容で置換を行います 置換前:^(.*)$ 置換後:【\1】 ※この例では【】で囲っている 置換前 テスト1行目 テスト2行目 テスト3行目 置換後 【テスト1行目】 【テスト2行目】 【テスト3行目】

秀丸で括弧で囲われた任意の文字列を削除

概要 秀丸で括弧で囲われた任意の文字列を削除する方法について 構文 以下の内容で置換を行います 置換前:\[.*\] 置換後:空文字 置換前 [hoge]テスト1行目 [01234---]テスト2行目 [日本語]テスト3行目 置換後 テスト1行目 テスト2行目 テスト3行目

選択中の文字列とクリップボードのURLではてな記法のリンクを作成する秀丸マクロ

概要 はてなの記事にリンクを作成する場合、下記の記法を利用することになります。 [url:title=表示されるテキスト]これを毎回書くのが億劫になってきたので、URLをクリップボードに保存した状態で リンク設定を行いたいテキストを選択してマクロを実行すれ…

秀丸エディタ

概要 秀丸エディタに関する使用方法、マクロなどについてまとめます カテゴリ カテゴリ 内容 使用方法 秀丸の設定に関わる情報をまとめます マクロ 秀丸のマクロに関わる情報をまとめます

秀丸エディタ | マクロ

パンくずリスト 秀丸 マクロ 概要 秀丸エディタのマクロについてまとめます 内容 ・選択中の文字列とクリップボードのURLではてな記法のリンクを作成する秀丸マクロ ・秀丸マクロを作成して、メニューにまとめる ・Ruby-秀丸マクロ連携 日付減算 ・選択中の…

書籍 Refactoring to Patterns | Protection

パンくず 書籍 Refactoring to Patterns Protection 概要 Protection、保護に関するリファクタリング 保護に関するリファクタリング Refactoring リファクタリング Replace Type Code with Class クラスによる型コードの置換 Limit Instantiation with Singl…

書籍 Refactoring to Patterns | Protection| Replace Type Code with Class

パンくず 書籍 Patterns to Patterns Protection Replace Type Code with Class 概要 Replace Type Code with Classについて 使用する場面 タイプの指定ミスによるバグが想定される場合。 対応方法 Stateパターンを適用します 利点と欠点 利点 ・不正なパラ…

書籍 Refactoring to Patterns | Generalization | Replace Inplicit Language with Interpreter

パンくず 書籍 Patterns to Patterns Generalization Replace Inplicit Language with Interpreter 概要 Replace Inplicit Language with Interpreterについて 使用する場面 シンプルだが組み合わせが多いような問題の解決が必要。 対応方法 Interpreterパタ…

書籍 Refactoring to Patterns | Generalization | Extract Adapter

パンくず 書籍 Patterns to Patterns Generalization Extract Adapter 概要 Extract Adapterについて 使用する場面 複数バージョンをサポートしなければならない場合。 対応方法 Adapterを適用する。 利点と欠点 利点 ・API,ライブラリ、コンポーネントの異…

秀丸のCSVモードでCSVファイルを見やすく表示、便利に編集

概要 秀丸のCSVモードについて 方法 メニューの表示→タブストップ→CSVモード でカンマ区切りのCSVファイルを見やすく表示することが出来ます。 また、矩形選択などとあわせればコピー・編集などの操作を効果的に行うことが出来ます。 通常表示 CSV表示

秀丸の矩形(くけい)選択で複数行一括編集

概要 秀丸の矩形(くけい)選択で複数行一括編集する方法について 方法 ALT+ドラッグで矩形選択を行うことが出来ます。 また、BOX選択の開始にショートカットキーを割り当てることで、 BOX選択モード(=矩形選択)に移行することができます。この状況で、複…

書籍 Refactoring to Patterns | Generalization | Unify Interface with Adapter

パンくず 書籍 Patterns to Patterns Generalization Unify Interface with Adapter 概要 Unify Interface with Adapterについて 使用する場面 ・2つのクラスが似ているがインターフェースが異なる場合。 ・サードパーティの製品等、制約の関係上インターフ…

書籍 Refactoring to Patterns | Generalization | Replace Hard-Cord Notification with Observer

パンくず 書籍 Patterns to Patterns Generalization Replace Hard-Cord Notification with Observer 概要 Replace Hard-Cord Notification with Observerのリファクタリングについて 使用する場面 1つのReceiverしか受け取らないNotifierがあり、ハードコー…

書籍 Refactoring to Patterns | Generalization | Replace One/Many Distinction with Composite

パンくず 書籍 Patterns to Patterns Generalization Replace One/Many Distinction with Composite 概要 Replace One/Many Distinction with Compositeのリファクタリングについて 使用する場面 あるクラスがひとつのオブジェクトと多数のオブジェクトを扱…

書籍 Refactoring to Patterns | Generalization | Extract Composite

パンくず 書籍 Patterns to Patterns Generalization Extract Composite 概要 Extract Compositeのリファクタリングについて 使用する場面 2つ以上の似たクラスを保持している場合 対応方法 Compositeパターンを適用する。 利点と欠点 利点 ・子の格納と処理…

書籍 Refactoring to Patterns | Generalization| Form Template Method

パンくず 書籍 Patterns to Patterns Generalization Form Template Method 概要 Form Template Methodのリファクタリングについて 使用する場面 サブクラスに変数となる箇所と非変数となる箇所が混ざっている場合、非変数となる箇所はサブクラスで重複して…

書籍 Refactoring to Patterns | Generalization

パンくず 書籍 Refactoring to Patterns Generalization 概要 Generalization、汎化に関するリファクタリング 汎化に関するリファクタリング Refactoring リファクタリング Form Template Method Template Methodの形成 Extract Composite Compositeの抽出 R…

書籍 Refactoring to Patterns | Simplification | Move Embellishment to Decorator

パンくず 書籍 Patterns to Patterns Simplification Move Embellishment to Decorator 概要 Move Embellishment to Decoratorのリファクタリングについて 使用する場面 核となる機能に飾るような機能を追加する場合、 既存のクラスに特定のケースのみ動作す…

書籍 Refactoring to Patterns | Simplification | Replace Conditional Logic with Strategy

パンくず 書籍 Patterns to Patterns Simplification Replace Conditional Logic with Strategy 概要 Replace Conditional Logic with Strategyのリファクタリングについて 使用する場面 Martin Fowler曰く「プログラムの複雑性のもっとも一般的なものの一つ…

Ruby | 配列 | indexを使用しながらイテレーターを利用する

パンくず Ruby 配列 indexを使用しながらイテレーターを利用する 概要 Rubyの配列に対し、イテレーターを使用して各要素にアクセスしつつ indexも取得する方法について 構文 array.each_with_index {|value,index|expression} サンプル # -*- encoding: utf-…

Ruby | 配列 | 配列の内容を変換し別の配列にする

パンくず Ruby 配列 配列の内容を変換し別の配列にする 概要 Rubyの配列の各要素を変換して別の配列を作成する方法について 構文 array.collect {|value|expression} または array.map {|value|expression} サンプル # -*- encoding: utf-8 -*- require "pp"…

Kindle Touchの基本操作

基本操作 操作方法 操作内容 画面右側をタップ ページ送り 画面左側をタップ ページ戻り 画面の右上端をタップ お気に入り登録・解除 ピンチイン 画面を縮小 ピンチアウト 画面を拡大 ロングタップ 選択用語に対して辞書の使用 ドラック テキストの範囲選択…

Ruby | ラムダ構文

パンくず Ruby ラムダ構文 概要 Rubyのラムダ構文について 詳細 ラムダ構文を使用することで、ブロックをオブジェクトとして 利用することができます。 構文 lambda {|value|expression} または -> value {expression} または lambda do |value| expression …

Ruby | ライブラリ | Enumerable

パンくず Ruby ライブラリ Enumerable 概要 Rubyの組み込みライブラリのEnumerableモジュールについて Enumerableモジュール概要 繰り返しを行なうクラスのための Mix-in。 このモジュールの メソッドは全て each を用いて定義されているので、 インクルード…

Ruby | ハッシュ | ハッシュの初期化

パンくず Ruby ハッシュ ハッシュの初期化 概要 Rubyのハッシュの初期化について 内容 Rubyはハッシュの初期化時に各要素のデフォルト値を決めることが出来ます。 サンプル # -*- encoding: utf-8 -*- require "pp" hash = Hash.new # 何も指定しなかった場…

Ruby | ハッシュ | 順序

パンくず Ruby ハッシュ 順序 概要 Rubyのハッシュの順序について 内容 Rubyのハッシュは保存された順序を保持しています。 サンプル require "pp" hash = {one:1,two:2,three:3} hash.each {|number|pp number} 結果 [:one, 1] [:two, 2] [:three, 3]

Ruby | 配列 | スタックの操作

パンくず Ruby 配列 スタックの操作 概要 Rubyの配列をスタックとして操作する方法について 構文 追加 array.push data 取り出し:LIFO array.pop 取り出し:FIFO array.shift サンプル # -*- encoding: utf-8 -*- require "pp" numbers = %w[one two three …