2014-01-01から1年間の記事一覧

10. Rails 4.2 へのアップデート

Release 3.0.0 一度、master へのマージを試してみたかったので、とりあえず、現在の状態を release 3.0.0 としてリリースし、master とマージした。Rails による校務支援システムとしては第三世代なので、3.0.0 からスタートした。3.1.0 を公開版の最初のリ…

9. Bootswatch の導入

Bootswatch のインストール Bootstrap 3 のテーマを簡単に設定できる Bootswatch をインストールしてみる。Rails 4.x で Bootswatch を使う方法を参照した。 # twitter bootstrap css & javascript toolkit gem 'twitter-bootswatch-rails', '~> 3.2.0' # tw…

8. Yard と SimpleCov の設定

今回は自動で Web 報告書を作成してくれるシステムを二つ紹介する。 Yard のインストール これまで RDoc でドキュメントの記述をしていたが、今回は Yard を使ってみる。Gemfile に yard を追加する # a documentation generation tool for the Ruby program…

7. FactoryGirl とモデルのテスト

FactoryGirl の記述 モデルを作成した時点で FactoryGirl の雛形は自動に作成してくれる。今回は、テストのために属性値だけ修正しておく。 FactoryGirl.define do factory :year do year 2014 default_year true end end 昨日、spec/factories を監視するよ…

6. モデルの作成と自動テスト

Rails が 4.2 がリリースされた。作成しているシステムも 4.2 ベースにアップグレードするが、溜め込んでいるネタを吐き出してからにする。 Guard のインストール ローカルでの自動テストを実施するために、guard をインストールする。また、受入テストのた…

5. 開発機(Linux)での設定

git flow の設定 SourceTree の開発が簡単なので、ここまでの設定は Mac 上でやっていた。そろそろ ubuntu 開発機の方でも同じ事ができるように調整する。以下は Linux 上での作業になる。こちらには git-flow が入っていなかったので、ansible 経由により a…

4. RSpec のインストール

RSpec のインストール RSpec については 3 系列からだいぶ変わってしまったので、Everyday Rails - RSpecによるRailsテスト入門という電子書籍で学習した。まず Gemfile に以下を追加する。本よりも新しいものがいくつかあったので、version だけは直してお…

3. Rails のインストール

.gitignore の設定 SourceTree が楽なので、しばらくは Mac で作業する。ブランチを昨日作成した feature/configure_systems に切り替え、ここに .gitignore を作成する。昔はみな手書きで整備した .gitignore を各自が保持していたものだが、今は gibo とい…

2. リポジトリの作成

リポジトリとブランチモデル これまで git は使っていたものの一人で開発してきたので、あまり master 以外のブランチを使ってこなかった。今後のことも考えて、いろいろなことを正しく活用していくことにした。SourseTree 自体に Git-flow をサポートする仕…

1. 開発機の準備

背景 職場で使用しているシステムのフレームワークが古く再開発が必要となっている。Rails は 3.0.20 と古くさく、Ruby も 1.9.3 で来年の 2 月にはサポートが切れてしまう。運用会社の人とも、次期システムの構築をしないといけないなと話が出ている。 デー…

homebrew, cask の ansible による設定

背景 Yosemite 関係で homebrew が混乱してしまったので、すべて消して再インストールしました。せっかくなので、homebrew 関係も ansible 化できないかと思ったところ、すでに AnsibleでHomebrew, Cask, Atomエディターのパッケージを管理するという記事を…

MacTeX の ansible による設定

背景 先日、Yosemite にアップデートしたところ、/usr/local の部分を Recovered Files からリストアする部分で止まってしまいました。ログをみたところ、ログバッファが溢れてしまったためのようです。原因は MacTeX を 2012, 2013, 2014 の3つとも入れっ…

ansible の導入

背景 構成管理ツールである Chef の本を買ったのですが,その後 ansible が簡単だという話を聞き,勉強してみました.せっかくなので,先日の Matlab に関する二つの設定を ansible でできるようにしてみました. Matlab 2014a の Retina 対応 Matlab スクリ…

整数演算だけで円を書く方法

高校時代に雑誌で読んで衝撃を受けたのを覚えています。今、自分で思い出しながら書いてみます。前提条件として、円は八分円が書ければ対称関係から真円が描けます。そのため、ω=0 からπ/4までが描ければよいことになります。絶対座標だと説明が面倒なので、…

意外と知られていないちょっとした機能

ここのところ Mac や iOS を使っている上で意外と知られていない機能があるんだということに気づいたのでまとめて見ました。 Mac編 (環境設定などで設定が必要なものもあります) テキストエリアの単語上でダブルクリックすると単語選択 同じくトリプルクリッ…

Matlab スクリプトの強引な UTF-8 化

前回の記事で Jenkins 出力を UTF-8 にすることができましたが、Matlab エディタ上で生成するスクリプトは SJIS のままでした。ひとまず、以下のようにして LANG の設定も追加してみましたが、m ファイルの文字コードは SJIS のままでした。getenv('LANG') …

Matlab シミュレーションの多重実行と自動記録 (教員のための Mac Tips:11)

背景 Matlab での開発環境がかなり整ってきました。自作の画像クラスはグレースケールだけだなくカラーにも対応し、 OpenEXR の浮動小数点表現、色空間変換、トーンマッピングなどいろいろと取り込んでかなり膨らんできました。クラスのテストについては、MA…

Matlab 2014a の Retina 対応

背景 Matlab 2013b からは内蔵している JRE が Retina に対応していないことから画面が非常に汚いという問題がありました。そこで、Matlab Centralなどで内蔵されている JRE を置き換える対応法などが検討されていました。しかしながら、Java 7 までは文字は…

楽器モデルの追加

モデルの追加 楽器(Instrumental)クラスを作成します。Title に belongs_to したモデルで、それ以外は並び順(sort_order)の属性を保持します。並び順は10置きに設定し、クラスメソッド renumber により、再整列できるようにします。この時、モデルのジェネレ…

Bootstrap 3 の導入

背景 これまで作ってきたページは見た目がみすぼらしい感じでした。せっかくなので最近流行りの CSS である Bootstrap 3 を使ってみようと思います。Bootstrap 3 については色々なサイトで紹介されていますが、Bootstrap の使い方というページが分かりやすか…

カバレッジの取得とテストの追加

カバレッジの取得 タイトルについて一段落付いたので、このあたりでコードカバレッジを測定してみます。以前は rcov というものがありましたが、Ruby 1.9 では正しく測定できないということで、SimpleCov というものに変わっています。さっそく Gemfile のテ…

コントローラの作成(3)

細かく書きすぎると肝心なところが抜けてしまうので、これまでと同じところは省略していきます。特に locales のところは記述しませんので、適当に補完して下さい。 タイトルの編集 引き続き、編集・更新のコントローラを作成します。いつものようにテストか…

タイトルコントローラの作成(2)

タイトル追加部分の作成 シナリオ: 開発環境で新規タイトルを作成する 前提 タイトル一覧を表示する もし "[タイトル追加]" をクリックする ならば 画面に "タイトル追加" と表示されていること もし "日本語" に "森高 千里" と入力する かつ "英語" に "Ch…

タイトルコントローラの作成(1)

今回の作業を行っていく上で config/locales/views/*.yml の変更時に Guard が反応しませんでした。Guardfile に以下の行を追加します。 watch(%r{^config/locales/views/(.+)\.yml$}) { "spec" }また、haml を修正時には feature を実行したいので、同様に …

タイトルモデルの作成

背景 chisato-moritaka-db の時には、日本語・英語の振り分けを Mix-in の形で登録していました。今回は、さまざまなタイトルを個々のテーブルに持つのではなく、Title モデルを導入することにしました。タイトル一覧のページを作ることで、同一タイトルのオ…

日本語・英語の切替の実装

step の追加 Gemfile に capybara-webkit が入っていませんでした。 gem 'capybara-webkit'を追加しておきました。それでは、steps を保存するフォルダを作成します。 mkdir -p spec/acceptance/steps このフォルダを rspec 時に読み込むように spec_helper.…

テスト環境(Rspec, Turnip, Guard, Spring, Jenkins) の設定

前回はテストまで進めなかったので、今回はテスト環境を設定するところまで記述します。どうしてもテストがうまく動かないなと思っていたら、前回設定した Gemfile に Turnip が入っていませんでした。記事は修正しておきました。また、今回の環境構築にあた…

アプリケーション環境の設定

Rails の設定については、Rails4でheroku Pushまでの最短手順 Haml/bootstrap 3.0/postgresql or MySQLのページを参考にしています。最初に、ローカル Redmine に「moritaka-db」プロジェクトを作成します。最初のチケットは「アプリケーション開発環境の整…

アプリケーションの設計指針

作成するもの すでに、Rails3 のアプリケーションとして、chisato-moritaka-db をheroku 上で公開しています。これは以前、Perl の html 作成自動スクリプトで運用していたものを、Rails で動的に表示するようにしたものでした。そもそも閲覧専用アプリとし…

Rails 4 時代のアプリケーション作成日誌

はじめに Rails 3 の時代にかなり頑張ってシステム構築をしていましたが、Rails 4 になりかなり環境もかわりつつあるようです。日々学習していないと取り残されていきますので、自分でアプリを作りながら環境構築をして見たいと思います。取り急ぎ、まずは現…