アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

on

Lisp on Rails 第9回 〜 ビュー

こんにちは!! tahara です。 Objective-C づけになり、すっかりこぶさたしておりましたが Lisp on Rails 第9回です! 今回はビューです。 Common Lisp で ERB 相当を実装します。 Common Lisp で実装するからにはリードテーブルを使い、 HTML ファイルを関数…

Lisp on Rails 第8回 〜 before_*

こんにちは!! tahara です。 Lisp on Rails 第8回です! 今回は ActiveRecord::Base の save, create, update, destroy 等々のメソッドには beforo_* や after_* というフックメソッドを定義することができます。 ActiveRecord::Callbacks でそのあたりの実装…

Lisp on Rails 第7回 〜 ActiveRecord::Base の find メソッド

遅くなりました!! tahara です。 Lisp on Rails 第7回です! 今回は ActiveRecord::Base の find メソッドの機能を多少実装してみたいと思います。 ActiveRecord::Base の find メソッドは次の4つの使い方があります。 id で検索。 引数は (id, *args), (id1,…

Lisp on Rails 第6回 〜 ここらでリファクタリング

こんにちは!! tahara です。 Lisp on Rails 第6回です! has-one を has-many のコピペで書いてしまったので、 ここらでリファクタリングしたいと思います。 has-one のスロット定義 (defclass ar-has-one-slot-mixin () ((has-one :initarg :has-one :initfo…

Lisp on Rails 第5回 〜 has-one

こんにちは!! tahara です。 Lisp on Rails 第5回です! 今回は ActiveRecord の has_one アソシエーションもどきを実装したいと思います。 前回の has_many に瓜二つです。 ar-has-one-direct-slot-definition と ar-has-one-effective-slot-definition を定…

Lisp on Rails 第4回 〜 has-many

こんにちは!! tahara です。 Lisp on Rails 第4回です! 今回は ActiveRecord の has_many アソシエーションもどきを実装したいと思います。 前回の belongs_to とほとんど同じです。 ar-has-many-direct-slot-definition と ar-has-many-effective-slot-defi…

Lisp on Rails 第3回 〜 belongs-to

こんにちは!! tahara です。 Lisp on Rails 第3回です! 今回は ActiveRecord の belongs_to アソシエーションもどきを実装したいと思います。 実行時のイメージとしては次のようになります。 (def-record post) (def-record comment (:belongs-to post)) ; c…

CMYK

こんにちは!! tahara です。 今回は Lisp on Rails はお休みで、Ruby on Rails の Paperclip の話題です。 IE で RGB の画像は表示できますが、CMYK の画像は表示できません。 CMYK から RGB に変換する手もありますが、変換時に結構色が変ってしまいます。 …

Lisp on Rails 第2回 〜 メタクラス

こんにちは!! tahara です。 Lisp on Rails 第2回です! ActiveRecord::Base ではクラスメソッドとして find や all の検索メソッドが定義されています。 Common Lisp でそれらを実装するにあたり、メタクラスのメソッドとして実装してみます。 Common Lisp …

Lisp on Rails 第1回

こんばんは!! tahara です。 いま仕事で Ruby on Rails を使っています。 正直 Active Record いいっすねー。 DB いじるには楽です。 くやしいので Common Lisp でそれっぽいのを実装してみます。 Lisp on Rails ですね(何だか以前から聞く言葉のような気も…