Tbpgr Blog

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

2013-06-01から1ヶ月間の記事一覧

徒弟制度に学ぶ熟練技術者の技と心得

概要 書籍「徒弟制度に学ぶ熟練技術者の技と心得」について要点まとめ 詳細 1章 徒弟制度やアプレンティスシップ・パターンの概要。 2章 カップを空にする パターン和名 パターン英名 要約 最初の言語 Your First Language 一定のスキルを得るまではひとつの…

Gradle | Javaのpackage-info.javaを自動生成するGradleカスタムPluginを作成

概要 Javaのpackage-info.javaを自動生成するGradleカスタムPluginを作成 内容 下記の記事で作成した内容をGradleのカスタムPlugin化します。 RubyでJavaのpackage-info.javaを一括生成するスクリプト http://d.hatena.ne.jp/tbpg/20120808/1344447924 要件 …

PlantUML | PlantUML Graphvizのインストールで利用UMLの幅を広げる

概要 PlantUML Graphvizのインストールで利用UMLの幅を広げる 内容 plantUMLのUML図の中にはGraphvizのインストールを必要とするものがあります。 Windows環境の場合は下記からインストーラーをダウンロードします。 http://www.graphviz.org/pub/graphviz/s…

Gradle | Gradle カスタムPluginの作成方法

概要 Gradle カスタムPluginの作成方法 内容 標準出力するだけのPluginをサンプルとして作成します。 Plugin名:Sample タスク名:hoge サンプルコード build.gradle def defaultEncoding = 'UTF-8' apply plugin: 'groovy' apply plugin: 'eclipse' sourceC…

Ruby | RubyでFutureパターンを実装する(シンプル編)

概要 RubyでFutureパターンを実装する(シンプル編) 内容 Ruby で Future パターンを実装する上記の記事では、パターンの理解をするためにあえてデザパタ本にならって 写経しましたが、実際には Ruby だともっと簡単に実装できます。 サンプルコード # enco…

Ruby で Future パターンを実装する

概要 RubyでFutureパターンを実装する 内容 Futureパターンは実行結果を得るまでに時間がかかる処理をする際に 結果の代わりに引換券をもらいます。例えばドラクエの購入をする際に予約がなければ発売当日にずっと並ばなければなりません。 ここで予約をして…

MediaWiki

概要 ウィキペディアのために作られたオープンソースのwikiパッケージMediaWikiについて 詳細 項目 内容 Media Wikiのインストール(Ubuntu12.04環境)について http://d.hatena.ne.jp/tbpg/20130621/1371827809 カテゴリの作成 http://d.hatena.ne.jp/tbpg/20…

MediaWiki | セットアップ(Ubuntu12.04環境)

概要 MediaWikiのセットアップ(Ubuntu12.04環境)について 詳細 下記構成を前提とします。 Ubuntu12.04 mediawiki-1.21.1 mysql 準備 下記をaptでインストール sudo apt-get install php5-cli sudo apt-get install apache2 sudo apt-get install php5 php5-m…

Coffee Script | console出力

概要 Coffee Scriptでconsole出力 内容 下記でコンソール出力が可能です。 デバッガを使うほどでもない、でも処理系かを確認したい、という場合に alertデバッグよりも便利です。 console.log( Date.now() ) サンプルコード cnosole_log.coffee console.log(…

Coffee Script | 文字列の変数展開

概要 Coffee Scriptの文字列の変数展開について。 内容 Rubyと同様、""内に#{var_name}で変数展開が可能です。 サンプルコード CofeeScript hoge = "hoge hige hage" alert "test #{hoge}" コンパイル後のJavaScript // Generated by CoffeeScript 1.6.3 (fu…

Coffee Script | インストール(Windows)

概要 Coffee Scriptのインストール(Windows)について。 内容 まずはNode.jsをインストールします。 下記サイトよりinstallerをダウンロードして解凍します。 http://nodejs.org/ Window 64bitなら以下 http://nodejs.org/dist/v0.10.12/x64/node-v0.10.12-x6…

Sublime Text2 | Coffee ScriptプラグインでCoffee Scriptのシンタックスハイライト機能を追加

概要 Coffee ScriptプラグインでCoffee Scriptのシンタックスハイライト機能を追加 内容 Coffee ScriptプラグインでCoffee Scriptのシンタックスハイライト機能を追加します。PackageControlインストール済み前提で Ctrl+Shift+P,install,Coffee Script,Enter…

Sublime Text2 | Ctrl+;で単語ジャンプ

概要 Ctrl+rで単語ジャンプ 内容 Ctrl+rで単語ジャンプが可能。 例えば現在開いているファイルのhigeにジャンプしたければ Ctrl+;,hige,Enterでジャンプ可能。

Sublime Text2 | Ctrl+rで関数・メソッド等へのジャンプ

概要 Ctrl+rで関数・メソッド等へのジャンプ 内容 Ctrl+rで関数・メソッド等の要素検索が可能です。 EclipseのCtrl+oと同等の機能。 基本例 例えばRubyでhigeメソッドにジャンプしたいとすれば Ctrl+r,hige,Enterでジャンプ可能。 Ctrl+r押下時 Ctrl+r押下後…

Gradle | Gradle Cobertura Pluginのser,reportsのクリーンタスクを定義

概要 Gradle Cobertura Pluginのser,reportsのタスクを定義 内容 前提としてCobertura Pluginの導入については下記参照。 http://d.hatena.ne.jp/tbpg/20130614/1371234136 task cleanCobertura << { delete cobertura.coverageReportDir delete cobertura.c…

Gradle | Groovy-EclipseでGradleのbuildファイルのハイライトや補完を有効化

概要 Groovy-EclipseでGradleのbuildファイルのハイライトや補完を有効化 内容 Groovy-EclipseでGradleのbuildファイルのハイライトや補完を有効化します。 インストール手順 ・Eclipseマーケットプレイスの検索欄に「Groovy-Eclipse」と入力して検索 ・Groo…

Gradle | FindBugs Pluginの導入

概要 FindBugs Pluginの導入 内容 build.gradleに以下を追加することでFindBugsを利用できます。 apply plugin: 'findbugs' Gradleタスク コマンド 依存先 内容 findbugsMain classes 製品のJavaソースを対象にFindBugsを実行します。 findbugsTest testClas…

Sublime Text2 | erbのスクリプトレット用スニペット

概要: erbのスクリプトレット用スニペット 内容 erbファイル編集時によく利用するスクリプトレットを入力するためのスニペットを作成します。 標準スクリプトレット <snippet> <content> ]]></content> <tabTrigger>sc</tabTrigger> <scope>text.html.ruby</scope> <description>erb scripitlet</description> </snippet> 出力スクリプトレット <snippet> <content></content></snippet>

書籍 RailsによるアジャイルWebアプリケーション開発 | ルートURLのリダイレクト先設定

パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 ルートURLのリダイレクト先設定 概要 ルートURLのリダイレクト先設定 内容 config/routes.rb の「root to」を設定することでルートURLのリダイレクト先設定が可能です。 設定例 config/ro…

Sublime Text2 | SCSSプラグインでSCSSのシンタックスハイライト機能を追加

概要 SCSSプラグインでSCSSのシンタックスハイライト機能を追加 内容 SCSSプラグインでSCSSのシンタックスハイライト機能を追加します。PackageControlインストール済み前提で Ctrl+Shift+P,install,SCSS インストール後に再起動して設定完了です。

書籍 RailsによるアジャイルWebアプリケーション開発 | application.html.erbでシステム全体に適用するレイアウトの設定

パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 application.html.erbでシステム全体に適用するレイアウトの設定 概要 application.html.erbでシステム全体に適用するレイアウトの設定を行う 内容 下記のファイルを編集することでシステ…

Ubuntu| Compiz Config設定マネージャーでビューポートの表示ルールを設定

概要 Compiz Config設定マネージャーでビューポートの表示ルールを設定 内容 ビューポート機能を利用すると、例えば下記のようなルールを自分で作って利用することになると思います ・ビューポート1は開発用のアプリA・Bを表示 ・ビューポート2はブラウジン…

Java | Eclipse + Gradle + Cobertura PluginでJavaのテストカバレッジを計測する

概要 Eclipse+Cobertura PluginでJavaのテストカバレッジを計測する Cobertura=>コヴェルトゥーラ。スペイン語でcoverageの意。 詳細 Gradleプロジェクトを作成します。build.gradleに下記の設定を追加することでカバレッジを計測します。 build.gradle buil…

Sublime Text2 | 文字を素早く囲む

概要 文字を素早く囲む 内容 Sublime Textでは文字を選択中に括弧やクォートなど文字を囲うのに 利用する記号を入力すると自動的にその文字の両端を囲ってくれます。シングルクォート('') ダブルクォート("") 角括弧([]) 波括弧({})が対象です。(他にもある…

メタプログラミングRuby イディオム・黒魔術一覧

概要 書籍「メタプログラミングRuby」 イディオム・黒魔術一覧 詳細 イディオム 項目 概要 URL ミミックメソッド あたかも言語の組み込み機能であるかのように擬態するメソッド http://d.hatena.ne.jp/tbpg/20130613/1371142971 nilガード nil以外ならそのま…

メタプログラミングRuby | イディオム | ミミックメソッド

概要 組み込み構文のように擬態するミミックメソッド 内容 Rubyのメソッドには記号を利用できたり、括弧を省略することで あたかも言語に組み込まれた構文のように記述できます。 このようなテクニックをミミックメソッドと呼びます。 ミミック=擬態。ドラ…

Ruby | WatirでWebの画面キャプチャを自動取得

概要 WatirでWebの画面キャプチャを自動取得 内容 Webの自動テストツールであるWatirで画面キャプチャの取得が可能です。 サンプルコード このサイトのトップページをキャプチャします。 スクロールがある場合は、スクロールした分も自動的にキャプチャして…

Sublime Text2 | 行の入れ替えのキーバインドをEclipseに合わせる

概要 行の入れ替えのキーバインドをEclipseに合わせる 内容 行の入れ替えのキーバインドをEclipseに合わせます。 Sublime TextではデフォルトでCtrl+Shift+上下になっています。 これをEclipseと同様にAlt+上下に変更します。 キー設定 { "keys": ["alt+up"]…

Sublime Text2 | 5行単位での行選択マクロを登録

概要 5行単位での行選択マクロを登録 内容 秀丸でやっていた作業をSublime Text2に移行する一貫です。 秀丸ではデフォルトでCtrl+上下で5行ごとの移動、 Ctrl+Shift+上下で5行単位での行選択が可能です。この機能をマクロ化しました。 手順 ・マクロの記録開…

書籍 RailsによるアジャイルWebアプリケーション開発 | validationの実装

パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 validationの実装 概要 validationの実装 内容 モデルにvalidatesを追加することで、バリデーションチェックを複数追加することが可能です。 チェックコード 内容 :presence bool 必須チ…