Rubyでステートマシンを実装してみる
前回、ステート・パターンをRubyで実装してみた。 簡潔さは力なり!Rubyでステートパターン(State Pattern)を実装する | Futurismo これを機に、ステート・マシンもちゃんと実装まで学んでおこうとおもう。 ステート・マシンとは ステート・マシンとは、システムの振る舞いの仕組み。 ステートマシン図とは、それをUML記法で表したもの。 有限オートマトン – Wikipedia...
View ArticleC言語の二重インクルード(多重インクルード)防止について
C言語のヘッダファイルでおまじないのように書いているコレ。 #ifndef _FOO_H_ #define _FOO_H_ #endif インクルードガードという。いったいなんなのか調べた。 無限ループ防止 互いのヘッダファイルをインクルードしあうと、コンパイル時に無限ループに陥る。 foo.h #include "bar.h" bar.h #include "foo.h" 実行結果 $gcc...
View ArticleHow to write a code like English(英文のようにプログラミングをする方法)
英語の文章のようにプログラミングをする方法についてのまとめです。 はじめに書いておくと、今回の記事の元ネタは以下の2つです。 正しいコーディングが身につくエンジニア英語の手引き 〜文法とクラス/メソッド、命名規則〜 | Find Job ! Startup 散文的ブログラミングの哲学につら抜かれたCleanCodeでカルチャーショック体験 | Futurismo...
View ArticleRubyからExcelを操作する方法について
RubyからExcel操作をする手順について調べてみた。 RubyからExcelを操作するライブラリ RubyからExcelやスプレットシートを操作するライブラリはいくつかあるようだ。 RubyでExcelファイルを扱うライブラリの比較 – Qiita 標準ライブラリに含まれているものは、Win32OLEというものなので、これを試す。 環境 Windows 7 64bit cygwin Ruby...
View ArticleRSpecでWindows-31Jの文字コードを使うときのメモ
RSpecで Windows-31Jのエンコードを扱うときにハマったので、作業メモ。 Rubyファイルのエンコードについて Rubyでは、ファイルのエンコードを判定するために、 ファイル冒頭のマジックコメントを利用している。 UTF-8の場合 # coding: utf-8 Windows-31Jの場合 # coding: Windows-31J...
View ArticleRSpecのテスト結果をCSVで出力する
テスト項目表をExcelで作成する必要がある。 RSpecの実行結果をExcelにコピペするための楽な方法を考えてみたメモです。 RSpecのカスタムフォーマット RSpecには、カスタムフォーマットという機能がある。 出力のフォーマットを自分でカスタマイズするための拡張ボイント。 Class: RSpec::Core::Formatters::BaseFormatter —...
View ArticleProgramming Mobile Applications for Android Handheld...
Androidの学習をcourseraをつかってしました。 Programming Mobile Applications for Android Handheld Systems | Coursera 内容 Lecture Android開発で必要な知識を体系的に習得できる。 特徴は、知識ベースの網羅的解説。 実際にアプリをつくって楽しみましょうというスタイルとは、正反対。...
View Articleクールなオブジェクト指向言語 Coolを Linux Mintにインストール
Coolは、Classroom object Oriented Languageの略。 Cool (programming language) – Wikipedia, the free encyclopedia 文字通り、教育用オブジェクト指向言語。 courseraで始まったCompilerの講義でつかう。この言語で、コンパイラの仕組みを学ぶ。 Compilers | Coursera...
View ArticleRun Book Autmationとはなにかについて調べてみた
Run Book Autmationというキーワードについてまとめてみました。 Run Book Automation この記事を書くきっかけになったのが、以下の本を買ったからです。 インフラ管理者のためのRun Book Automation実践ガイド オープンソースを使ったシステム構築/管理自動化入門 posted with amazlink at 14.03.26 志茂 吉建 Amazon...
View ArticleRSpecのモックについて調べてみた
今日は、RSpecにおけるモックオブジェクト技法について調べてみました。 モックオブジェクト技法とは モックオブジェクト技法とは、 オブジェクト同士のコラボレーションに注目したテスト方法。 オブジェクトの状態よりも、オブジェクト同士のやりとりに注目する。 インターフェースのテスト、シーケンス図のテストに注力した技法。 詳しくは、この本がいい。 実践テスト駆動開発...
View ArticleEmacsでrubydbを利用してステップ実行する
ruby-debugについて Rubyには、debugというデバッカが標準ライブラリとしてついている。 library debug これをつかうと、gdbのようなステップ実行ができる。 使い方 コンソールから以下のように入力する。 ruby -rdebug [filename] (rdb:1)というコンソールが現れて、入力待ちになる。操作方法は以下のとおり。...
View ArticleSquidをつかってWindows環境化でプロキシサーバを立ててみる
わけあってプロキシサーバを立ててみたくなったので、 Windows環境でプロキシサーバをたてる方法について調べてみた。 Squidをつかう フリーソフトのSquidを利用する。Squidはマルチプラットフォームなプロキシサーバソフト。 Suid (ソフトウェア) – Wikipedia 以下から、windows用のプログラムをダウンロードしてくる。 Acme Consulting -Società...
View ArticleProxy配下でgitを利用する方法、ほか
掲題のとおり、proxy配下でgitを利用する方法について調べてみました。 設定方法 結論からいうと、以下のコマンドを叩く。 git config --global http.proxy http://proxy.example.com:8080 これによって、~/.gitconfigファイルに以下の行が追加される。 [http] proxy =...
View ArticleEmacsでのExcel VBA開発環境を構築
Excel VBAなどの開発環境は、たいていVisual Basic Editorです。 しかし、なんでもEmacs上でやらないと病気になってしまう、 もやしな人間たちにとってはEmacsでVBAが書きたいところ。 というわけで、無謀にもEmacsでVBAの開発がでいないものか、調べてみました。 visual-basic-mode.el...
View ArticleExcel VBAで テスト駆動開発してみる
2年前に、VB Lite Unitをいじっていたことがあるが、 より未来派ハッカーに近づいたいま、改めていじってみる。 VB Lite Unitでの記法まとめ | Futurismo クラスモジュールでないとテストできない VBAには、ユーザフォーム、標準モジュール、クラスモジュールの3種類のコードの種類がある。 VBLiteUnitでは、クラスモジュールに対してテストを実施する。...
View ArticleExcelVBAのコードをimport/exportする
Excel VBAの最大の課題が、保守性。 Excelの中にコードが縛られている。このコードを外に出すと、 バージョン管理ができる VimやEmacsなどのエディタで開発できる テスト駆動開発できる などなど。 レガシーなExcelVBAもバージョン管理、テスト、自動化という 現代ソフトウェア開発の三種の神器に従って開発ができる。 調べてみると、同じようなことを考えている人たちがいた。 vi...
View ArticleExcelVBAのステップ数をカウントする
Excel VBAのステップ数を数えるツールを探そうとおもったけれども、勉強のために自作してみる。 ステップ数を数える方法について ソースコードから以下の情報を得たい。 全体のステップ数 実行ステップ数 コメント行 空白行 こんな出力結果を得たい。 -------------------------- FileName Exxecute --------------------------...
View ArticleExcelVBA統合BDD開発環境をrakeでまとめてみた
ExcelVBAで統合BDD開発環境を構築したメモです。 この記事は以下の記事の続きです。 EmacsでのExcel VBA開発環境を構築 | Futurismo Excel VBAで テスト駆動開発してみる | Futurismo ExcelVBAのコードをimport/exportする | Futurismo ExcelVBAのステップ数をカウントする | Futurismo 機能...
View ArticleMozartをemacsclientから起動する方法のメモ
以前、Oz用のプログラミング環境Mozartをインストールした。 マルチパラダイム言語Ozの開発環境MozartをインストールしてHelloWorldするまで | Futurismo この方法だと、mozart専用のEmacsがたちあがる。 できれば、今動いているemacs-serverにemacsclientでアクセスしたい。 Elispの取得...
View Article