2012-05-01から1ヶ月間の記事一覧
概要 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:title=表示されるテキスト]これを毎回書くのが億劫になってきたので、URLをクリップボードに保存した状態で リンク設定を行いたいテキストを選択してマクロを実行すれ…
概要 秀丸エディタに関する使用方法、マクロなどについてまとめます カテゴリ カテゴリ 内容 使用方法 秀丸の設定に関わる情報をまとめます マクロ 秀丸のマクロに関わる情報をまとめます
パンくずリスト 秀丸 マクロ 概要 秀丸エディタのマクロについてまとめます 内容 ・選択中の文字列とクリップボードのURLではてな記法のリンクを作成する秀丸マクロ ・秀丸マクロを作成して、メニューにまとめる ・Ruby-秀丸マクロ連携 日付減算 ・選択中の…
パンくず 書籍 Refactoring to Patterns Protection 概要 Protection、保護に関するリファクタリング 保護に関するリファクタリング Refactoring リファクタリング Replace Type Code with Class クラスによる型コードの置換 Limit Instantiation with Singl…
パンくず 書籍 Patterns to Patterns Protection Replace Type Code with Class 概要 Replace Type Code with Classについて 使用する場面 タイプの指定ミスによるバグが想定される場合。 対応方法 Stateパターンを適用します 利点と欠点 利点 ・不正なパラ…
パンくず 書籍 Patterns to Patterns Generalization Replace Inplicit Language with Interpreter 概要 Replace Inplicit Language with Interpreterについて 使用する場面 シンプルだが組み合わせが多いような問題の解決が必要。 対応方法 Interpreterパタ…
パンくず 書籍 Patterns to Patterns Generalization Extract Adapter 概要 Extract Adapterについて 使用する場面 複数バージョンをサポートしなければならない場合。 対応方法 Adapterを適用する。 利点と欠点 利点 ・API,ライブラリ、コンポーネントの異…
概要 秀丸のCSVモードについて 方法 メニューの表示→タブストップ→CSVモード でカンマ区切りのCSVファイルを見やすく表示することが出来ます。 また、矩形選択などとあわせればコピー・編集などの操作を効果的に行うことが出来ます。 通常表示 CSV表示
概要 秀丸の矩形(くけい)選択で複数行一括編集する方法について 方法 ALT+ドラッグで矩形選択を行うことが出来ます。 また、BOX選択の開始にショートカットキーを割り当てることで、 BOX選択モード(=矩形選択)に移行することができます。この状況で、複…
パンくず 書籍 Patterns to Patterns Generalization Unify Interface with Adapter 概要 Unify Interface with Adapterについて 使用する場面 ・2つのクラスが似ているがインターフェースが異なる場合。 ・サードパーティの製品等、制約の関係上インターフ…
パンくず 書籍 Patterns to Patterns Generalization Replace Hard-Cord Notification with Observer 概要 Replace Hard-Cord Notification with Observerのリファクタリングについて 使用する場面 1つのReceiverしか受け取らないNotifierがあり、ハードコー…
パンくず 書籍 Patterns to Patterns Generalization Replace One/Many Distinction with Composite 概要 Replace One/Many Distinction with Compositeのリファクタリングについて 使用する場面 あるクラスがひとつのオブジェクトと多数のオブジェクトを扱…
パンくず 書籍 Patterns to Patterns Generalization Extract Composite 概要 Extract Compositeのリファクタリングについて 使用する場面 2つ以上の似たクラスを保持している場合 対応方法 Compositeパターンを適用する。 利点と欠点 利点 ・子の格納と処理…
パンくず 書籍 Patterns to Patterns Generalization Form Template Method 概要 Form Template Methodのリファクタリングについて 使用する場面 サブクラスに変数となる箇所と非変数となる箇所が混ざっている場合、非変数となる箇所はサブクラスで重複して…
パンくず 書籍 Refactoring to Patterns Generalization 概要 Generalization、汎化に関するリファクタリング 汎化に関するリファクタリング Refactoring リファクタリング Form Template Method Template Methodの形成 Extract Composite Compositeの抽出 R…
パンくず 書籍 Patterns to Patterns Simplification Move Embellishment to Decorator 概要 Move Embellishment to Decoratorのリファクタリングについて 使用する場面 核となる機能に飾るような機能を追加する場合、 既存のクラスに特定のケースのみ動作す…
パンくず 書籍 Patterns to Patterns Simplification Replace Conditional Logic with Strategy 概要 Replace Conditional Logic with Strategyのリファクタリングについて 使用する場面 Martin Fowler曰く「プログラムの複雑性のもっとも一般的なものの一つ…
パンくず Ruby 配列 indexを使用しながらイテレーターを利用する 概要 Rubyの配列に対し、イテレーターを使用して各要素にアクセスしつつ indexも取得する方法について 構文 array.each_with_index {|value,index|expression} サンプル # -*- encoding: utf-…
パンくず Ruby 配列 配列の内容を変換し別の配列にする 概要 Rubyの配列の各要素を変換して別の配列を作成する方法について 構文 array.collect {|value|expression} または array.map {|value|expression} サンプル # -*- encoding: utf-8 -*- require "pp"…
基本操作 操作方法 操作内容 画面右側をタップ ページ送り 画面左側をタップ ページ戻り 画面の右上端をタップ お気に入り登録・解除 ピンチイン 画面を縮小 ピンチアウト 画面を拡大 ロングタップ 選択用語に対して辞書の使用 ドラック テキストの範囲選択…
パンくず Ruby ラムダ構文 概要 Rubyのラムダ構文について 詳細 ラムダ構文を使用することで、ブロックをオブジェクトとして 利用することができます。 構文 lambda {|value|expression} または -> value {expression} または lambda do |value| expression …
パンくず Ruby ライブラリ Enumerable 概要 Rubyの組み込みライブラリのEnumerableモジュールについて Enumerableモジュール概要 繰り返しを行なうクラスのための Mix-in。 このモジュールの メソッドは全て each を用いて定義されているので、 インクルード…
パンくず Ruby ハッシュ ハッシュの初期化 概要 Rubyのハッシュの初期化について 内容 Rubyはハッシュの初期化時に各要素のデフォルト値を決めることが出来ます。 サンプル # -*- encoding: utf-8 -*- require "pp" hash = Hash.new # 何も指定しなかった場…
パンくず 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の配列をスタックとして操作する方法について 構文 追加 array.push data 取り出し:LIFO array.pop 取り出し:FIFO array.shift サンプル # -*- encoding: utf-8 -*- require "pp" numbers = %w[one two three …