2013-01-01から1ヶ月間の記事一覧
パンくず Eclipse CheckStyle CheckStyleでコメントによる単一行チェック除外設定を行う方法について 概要 CheckStyleでコメントによる単一行チェック除外設定を行う方法について 詳細 基本はチェック内容を守りたいが、一部チェック適用外にしたい場合など…
概要 複合キーのMap>取得ユーティリティについてまとめます 詳細 Map>のKが複数キーを持つデータクラスとなるMapを Listから取得するユーティリティを作成する。KのすべてのカラムはTと同じ名前、同じデータ型であることを前提とする。 代表的な用途 テーブ…
パンくず Java Eclipseのファイル検索機能でHashMapをEnumMapに一括置換 概要 Eclipseのファイル検索機能でHashMapをEnumMapに一括置換 詳細 Enumをキーとして利用する場合、HashMapよりもEnumMapのほうが高速に機能します。 既存システム上でEnumMapを全く…
パンくず Eclipse Eclipseのファイル編集中に正規表現のヘルプを表示する方法 概要 Eclipseのファイル編集中に正規表現のヘルプを表示する方法 詳細 検索窓を開いた状態でCtrl+スペースを押下すると 正規表現のヘルプが表示されます。
パンくずリスト Grease Monkey Grease Monkeyで好きなサイトのチェックボックス全選択 概要 Grease Monkeyで好きなサイトのチェックボックス全選択 詳細 Grease Monkeyを利用すると、(全て|任意)のWebサイトに任意のScriptを実行させることができます。 通常…
概要 Grease Monkeyを利用すると、(全て|任意)のWebサイトに任意のScriptを実行させることができます。 通常自分が管理しているサイト以外の挙動を変えることは出来ませんが、これにより 任意の機能を追加することができます。 ユーザースクリプト一覧 ・チ…
パンくず Redmine Redmineの再起動 Redmineの再起動について 下記フォルダにrestart.txtを配置すると次のレクエスト時に サーバーを再起動できます。 (中身は空ファイルでよい) 再起動用TeraTermマクロ ※前回実行時に残っていたrestart.txtを処理開始時に…
概要 RubyでJavaのプロダクトコードとテストコードの対応有無チェック用のCSV生成します。 要件 Javaのプロジェクトのプロダクトコードに対応するテストコードがあるかどうかを確認したい。 前提は以下。・プロダクトコードとテストコードのパッケージ構成は…
パンくず Ruby メソッド ブロック有無の判断 概要 ブロック有無の判断について 内容 メソッドの引数の最後に&付きの引数を定義することで 呼び元で渡したブロックをProcとして受け渡すことができます。 この際、呼び出し側でブロックの指定をしたかどうか判…
概要 Rubyの代入について 詳細 変数の代入 variable = 任意の値 属性の代入 instance.attribute = 任意の値 多重代入 Rubyは複数の変数に一気に値を代入することが可能です。 a,b = 1,2 代入の入れ子 多重代入を行う際に、括弧を付けることができます。 入れ…
概要 Rubyの処理中にOSのコマンドを実行する方法について 詳細 Rubyではコマンド展開という記法により、OSのコマンドを実行できます。 文法は二種類あり、バッククォートでくくる方法 `任意のcommand` %xと記号でくくる方法 %x{任意のcommand} サンプルコー…
パンくず Ruby 戻り値 概要 Rubyのメソッドの戻り値について 内容 ・Rubyのメソッドは必ず値を戻します。 利用側は戻り値を利用せずに無視することもできます。・Rubyの戻り値は最後に実行した文の値を戻します。 明示的に値を戻す場合はreturn文を利用しま…
パンくず Effective Java 一般的に受け入れられている命名規約を守る 概要 一般的に受け入れられている命名規約を守る 活字的規約 パッケージ名の規約 ・ピリオドで区切られた要素を持ち、階層的であること。 ・各要素は小文字のアルファベットと数字で構成…
パンくず Effective Java すべての公開API要素に対してドキュメントコメントを書く 概要 すべての公開API要素に対してドキュメントコメントを書く 詳細 公開APIは必ずJavaDocのドキュメンテーションコメントを付与すること。 保守を意識するなら、公開しない…
概要 配列を文字列として出力する方法についてまとめます 詳細 配列を文字列として出力する場合にはArrays.toStringを利用します。 サンプルコード import java.util.Arrays; import java.util.Date; public class Sample { public static void main(String[…
パンくず Effective Java 必要な場合には、防衛的にコピーする 概要 必要な場合には、防衛的にコピーする 詳細 クラスの内部を変更されたくない場合は、防衛的コピーによって 参照を渡さずに値をコピーして渡すこと。 これにより、外部から意図せぬ変更をさ…
パンくず Effective Java パラメータの正当性を検証する 概要 パラメータの正当性を検証する 詳細 publicメソッドの場合 JavaDocに引数が取りうる値に関する仕様を記述し、 例外を投げる場合はthrowsを記述する。 privateメソッドの場合 アサーション(asser…
パンくず Effective Java nullではなく、空配列か空コレクションを返す 概要 nullではなく、空配列か空コレクションを返す 詳細 配列やコレクションを返却する処理で、データが無いケースを扱いたい場合は nullではなくサイズ0の空配列・空コレクションを返…
パンくず Ruby メソッド booleanのメソッドの命名慣習 概要 booleanのメソッドの命名慣習について 内容 Rubyでは慣習として、booleanのメソッドの末尾はクエスチョンマークを付与します。 is_method_name? 下記は、Stringクラスの末尾の文字を削除するメソッ…
パンくず Ruby 破壊的メソッド(bang method) 概要 Rubyの破壊的メソッド(bang method)について 内容 Rubyでは慣習として、レシーバーを変更するメソッド(破壊的メソッド)を 定義する際には感嘆符を末尾に付与します。 method_name! 下記は、Stringクラスの…
パンくず Effective Java 拡張可能なenumをインターフェースで模倣する 概要 拡張可能なenumをインターフェースで模倣する 詳細 Enumは継承できないが、インターフェースによる模倣が可能。 実装が重複する場合はヘルパークラスなど外部化することで重複を解…
パンくず Ruby メソッド Procオブジェクトの受け渡し 概要 Procオブジェクトの受け渡しについて 内容 メソッドの引数の最後に&付きの引数を定義することで 呼び元で渡したブロックをProcとして受け渡すことができます。 def (first, &second) # xxxx end サ…
概要 Rubyの正規表現のグループ化とインデックス参照について説明します。 詳細 正規表現中に丸括弧でグループ化が可能です。 グループ化した正規表現は、実行後にMatchDataからインデックス参照が可能です。 サンプルコード # encoding: Windows-31J requir…
概要 正規表現の拡張モード 詳細 オプションxを使用することで、拡張モードを使用できます。 拡張モードでは、スペースや改行が無視され、#によるコメントも行末まで無視されるようになります。 複雑な正規表現を書く際に、コメントやスペーシングにより分か…
概要 正規表現の複数行対応 詳細 オプションmを使用することで、「.」が改行にもマッチするようになります。 reg = /正規表現/m サンプルコード # encoding: Windows-31J target =<<EOS EOS puts /./m =~ target # =>マッチしてインデックス0が返却される puts /./ =~ target # =>マッチせずni</eos>…
概要 複数存在する、Regexpのインスタンス生成方法について 詳細 //の間に記述する方法 reg = /正規表現/ Regexpをnewする方法 reg = Regexp.new("正規表現") %rを利用する方法。波括弧部は各種記号で代用可能。 主にエスケープする文字以外の文字で囲うこと…
パンくず Java HashMapとEnumMapの比較 概要 HashMapとEnumMapの比較 詳細 HashMapとEnumMapの性能を比較します。比較時の使用はHashMapとEnumMapそれぞれに100個のEnumをキーに設定。 Valueには100個のIntegerを設定します。 設定後に、100個のEnumで100回M…
概要 タグジャンプとバックタグジャンプ 設定内容 以下の形式の行で、F10を押すとタグジャンプにより該当ファイルの該当行に移動します。 ファイルパス(行数)Ctrl+Shift+F10でバックタグジャンプ=ジャンプ前の位置に戻ります。
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 cssの修正 概要 cssの修正 詳細 \depot\app\assets\stylesheets 上記のフォルダにある任意のscssを修正することでcssを変更できます。scssはcssとの互換性を保ちながら拡張したようなもの…
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 seeds.rbによるテストデータの定義 概要 seeds.rbによるテストデータの定義 詳細 seeds.rbを編集し、コマンドを実行することでテストデータを投入することができます。 rake db:seed テス…