2013-06-01から1ヶ月間の記事一覧
概要 書籍「徒弟制度に学ぶ熟練技術者の技と心得」について要点まとめ 詳細 1章 徒弟制度やアプレンティスシップ・パターンの概要。 2章 カップを空にする パターン和名 パターン英名 要約 最初の言語 Your First Language 一定のスキルを得るまではひとつの…
概要 Javaのpackage-info.javaを自動生成するGradleカスタムPluginを作成 内容 下記の記事で作成した内容をGradleのカスタムPlugin化します。 RubyでJavaのpackage-info.javaを一括生成するスクリプト http://d.hatena.ne.jp/tbpg/20120808/1344447924 要件 …
概要 PlantUML Graphvizのインストールで利用UMLの幅を広げる 内容 plantUMLのUML図の中にはGraphvizのインストールを必要とするものがあります。 Windows環境の場合は下記からインストーラーをダウンロードします。 http://www.graphviz.org/pub/graphviz/s…
概要 Gradle カスタムPluginの作成方法 内容 標準出力するだけのPluginをサンプルとして作成します。 Plugin名:Sample タスク名:hoge サンプルコード build.gradle def defaultEncoding = 'UTF-8' apply plugin: 'groovy' apply plugin: 'eclipse' sourceC…
概要 RubyでFutureパターンを実装する(シンプル編) 内容 Ruby で Future パターンを実装する上記の記事では、パターンの理解をするためにあえてデザパタ本にならって 写経しましたが、実際には Ruby だともっと簡単に実装できます。 サンプルコード # enco…
概要 RubyでFutureパターンを実装する 内容 Futureパターンは実行結果を得るまでに時間がかかる処理をする際に 結果の代わりに引換券をもらいます。例えばドラクエの購入をする際に予約がなければ発売当日にずっと並ばなければなりません。 ここで予約をして…
概要 ウィキペディアのために作られたオープンソースのwikiパッケージMediaWikiについて 詳細 項目 内容 Media Wikiのインストール(Ubuntu12.04環境)について http://d.hatena.ne.jp/tbpg/20130621/1371827809 カテゴリの作成 http://d.hatena.ne.jp/tbpg/20…
概要 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出力 内容 下記でコンソール出力が可能です。 デバッガを使うほどでもない、でも処理系かを確認したい、という場合に alertデバッグよりも便利です。 console.log( Date.now() ) サンプルコード cnosole_log.coffee console.log(…
概要 Coffee Scriptの文字列の変数展開について。 内容 Rubyと同様、""内に#{var_name}で変数展開が可能です。 サンプルコード CofeeScript hoge = "hoge hige hage" alert "test #{hoge}" コンパイル後のJavaScript // Generated by CoffeeScript 1.6.3 (fu…
概要 Coffee Scriptのインストール(Windows)について。 内容 まずはNode.jsをインストールします。 下記サイトよりinstallerをダウンロードして解凍します。 http://nodejs.org/ Window 64bitなら以下 http://nodejs.org/dist/v0.10.12/x64/node-v0.10.12-x6…
概要 Coffee ScriptプラグインでCoffee Scriptのシンタックスハイライト機能を追加 内容 Coffee ScriptプラグインでCoffee Scriptのシンタックスハイライト機能を追加します。PackageControlインストール済み前提で Ctrl+Shift+P,install,Coffee Script,Enter…
概要 Ctrl+rで単語ジャンプ 内容 Ctrl+rで単語ジャンプが可能。 例えば現在開いているファイルのhigeにジャンプしたければ Ctrl+;,hige,Enterでジャンプ可能。
概要 Ctrl+rで関数・メソッド等へのジャンプ 内容 Ctrl+rで関数・メソッド等の要素検索が可能です。 EclipseのCtrl+oと同等の機能。 基本例 例えばRubyでhigeメソッドにジャンプしたいとすれば Ctrl+r,hige,Enterでジャンプ可能。 Ctrl+r押下時 Ctrl+r押下後…
概要 Gradle Cobertura Pluginのser,reportsのタスクを定義 内容 前提としてCobertura Pluginの導入については下記参照。 http://d.hatena.ne.jp/tbpg/20130614/1371234136 task cleanCobertura << { delete cobertura.coverageReportDir delete cobertura.c…
概要 Groovy-EclipseでGradleのbuildファイルのハイライトや補完を有効化 内容 Groovy-EclipseでGradleのbuildファイルのハイライトや補完を有効化します。 インストール手順 ・Eclipseマーケットプレイスの検索欄に「Groovy-Eclipse」と入力して検索 ・Groo…
概要 FindBugs Pluginの導入 内容 build.gradleに以下を追加することでFindBugsを利用できます。 apply plugin: 'findbugs' Gradleタスク コマンド 依存先 内容 findbugsMain classes 製品のJavaソースを対象にFindBugsを実行します。 findbugsTest testClas…
概要: 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のリダイレクト先設定 概要 ルートURLのリダイレクト先設定 内容 config/routes.rb の「root to」を設定することでルートURLのリダイレクト先設定が可能です。 設定例 config/ro…
概要 SCSSプラグインでSCSSのシンタックスハイライト機能を追加 内容 SCSSプラグインでSCSSのシンタックスハイライト機能を追加します。PackageControlインストール済み前提で Ctrl+Shift+P,install,SCSS インストール後に再起動して設定完了です。
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 application.html.erbでシステム全体に適用するレイアウトの設定 概要 application.html.erbでシステム全体に適用するレイアウトの設定を行う 内容 下記のファイルを編集することでシステ…
概要 Compiz Config設定マネージャーでビューポートの表示ルールを設定 内容 ビューポート機能を利用すると、例えば下記のようなルールを自分で作って利用することになると思います ・ビューポート1は開発用のアプリA・Bを表示 ・ビューポート2はブラウジン…
概要 Eclipse+Cobertura PluginでJavaのテストカバレッジを計測する Cobertura=>コヴェルトゥーラ。スペイン語でcoverageの意。 詳細 Gradleプロジェクトを作成します。build.gradleに下記の設定を追加することでカバレッジを計測します。 build.gradle buil…
概要 文字を素早く囲む 内容 Sublime Textでは文字を選択中に括弧やクォートなど文字を囲うのに 利用する記号を入力すると自動的にその文字の両端を囲ってくれます。シングルクォート('') ダブルクォート("") 角括弧([]) 波括弧({})が対象です。(他にもある…
概要 書籍「メタプログラミングRuby」 イディオム・黒魔術一覧 詳細 イディオム 項目 概要 URL ミミックメソッド あたかも言語の組み込み機能であるかのように擬態するメソッド http://d.hatena.ne.jp/tbpg/20130613/1371142971 nilガード nil以外ならそのま…
概要 組み込み構文のように擬態するミミックメソッド 内容 Rubyのメソッドには記号を利用できたり、括弧を省略することで あたかも言語に組み込まれた構文のように記述できます。 このようなテクニックをミミックメソッドと呼びます。 ミミック=擬態。ドラ…
概要 WatirでWebの画面キャプチャを自動取得 内容 Webの自動テストツールであるWatirで画面キャプチャの取得が可能です。 サンプルコード このサイトのトップページをキャプチャします。 スクロールがある場合は、スクロールした分も自動的にキャプチャして…
概要 行の入れ替えのキーバインドをEclipseに合わせる 内容 行の入れ替えのキーバインドをEclipseに合わせます。 Sublime TextではデフォルトでCtrl+Shift+上下になっています。 これをEclipseと同様にAlt+上下に変更します。 キー設定 { "keys": ["alt+up"]…
概要 5行単位での行選択マクロを登録 内容 秀丸でやっていた作業をSublime Text2に移行する一貫です。 秀丸ではデフォルトでCtrl+上下で5行ごとの移動、 Ctrl+Shift+上下で5行単位での行選択が可能です。この機能をマクロ化しました。 手順 ・マクロの記録開…
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 validationの実装 概要 validationの実装 内容 モデルにvalidatesを追加することで、バリデーションチェックを複数追加することが可能です。 チェックコード 内容 :presence bool 必須チ…