自 己 紹 介 高 島 亮 祐 (たかしま りょうすけ) id:rst76 (twitter, hatena, github) 日 本 ユニシス 株 式 会 社 2001 年 度 入 社 2010 年 くらいから Ruby / Rails に 携 わる( 同 僚 のお 手 伝 い) プライベートでは



Similar documents
決 算 で 注 意 すべき 復 興 特 別 所 得 税 今 年 1 月 以 降 に 決 算 期 末 を 迎 える 事 業 年 度 の 法 人 税 の 申 告 では 所 得 税 と 復 興 特 別 所 得 税 の 切 り 分 けが 必 要 となります 今 年 1 月 以 降 に 決 算 期 末 を 迎


Kyosuke MOROHASHI

はじめに

1. 検 索 項 目 の 分 類 について 個 人 プロフィール 2 経 験 職 種 経 験 業 種 3 語 学 力 4 希 望 条 件 5 スキルシート 資 格 6 行 動 ターゲティング 7 フリーワード 8 会 員 の 検 索 範 囲 スカウト 条 件 設

■ディレクトリ

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

<4D F736F F F696E74202D E A B D682CC91E3955C93498D558C822E707074>

役 員 の 退 職 金 を 支 払 う 場 合 の 注 意 点 役 員 に 対 する 退 職 金 はよく 節 税 目 的 で 利 用 さ れますが トラブルの 多 い 項 目 の 一 つとなって いるため 注 意 が 必 要 です 役 員 に 対 する 退 職 金 を 支 払 う 場 合 の 注 意

総合評価点算定基準(簡易型建築・電気・管工事)

うものとします なお 一 度 当 社 に 支 払 われた 対 価 について 当 社 は 如 何 なる 場 合 でも 返 還 する 義 務 を 負 わないも のとします 2. 契 約 者 は 本 サービスの 利 用 開 始 日 が 属 する 暦 月 から 起 算 して 利 用 契 約 の 終 了 日

…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_

Microsoft Word - 奨学金相談Q&A.rtf

Excel(エクセル) 表 計 算 ソフト Vel. 対 応 Excel の 了 起 動 と 終 2. 基 本 操 作 1(ブックを 開 く 画 面 操 作 ) Excel 基 礎 基 本 操 作 3. 基 本 操 作 2( 範 囲 選 択 ブックを 閉 じる) 4. 新 規 ブック

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

PowerPoint プレゼンテーション

2 1.ヒアリング 対 象 (1) 対 象 範 囲 分 類 年 金 医 療 保 険 雇 用 保 険 税 備 考 厚 生 年 金 の 資 格 喪 失 国 民 年 金 の 加 入 老 齢 給 付 裁 定 請 求 など 健 康 保 険 の 資 格 喪 失 国 民 健 康 保 険 の 加 入 健 康 保 険

2. 会 計 規 程 の 業 務 (1) 規 程 と 実 際 の 業 務 の 調 査 規 程 や 運 用 方 針 に 規 定 されている 業 務 ( 帳 票 )が 実 際 に 行 われているか( 作 成 されている か)どうかについて 調 べてみた 以 下 の 表 は 規 程 の 条 項 とそこに

事例でわかる!スマートフォン対応手法カタログ

フロアレイアウト+ 実 装 図 の 管 理 簡 単 で 分 かりやすいビジュアルレイアウト 寸 法 通 り 作 成 された 平 面 図 によりフロアレイアウトをタ イル 単 位 で 正 確 に 表 示 することにより 実 態 の 正 確 な 把 握 と 将 来 レイアウトプランを 容 易 にします

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

Microsoft Word - mtdevguide1_for_sample.doc

(Microsoft Word - 06_1_22410-\210\343\227\303\213@\212\326\202\251\202\347\202\314\203f\201[\203^\216\346\223\276_ doc)

2

第1章 財務諸表

Enterprise Architect日本語版 モデリング操作ガイド (データベースモデリング編)

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

Meet-Me Number/Pattern の 設定

い Q. 中 途 退 社 の 人 の 源 泉 徴 収 票 を 出 力 したい A. 従 業 員 マスタ 給 与 タブの 年 調 区 分 を 不 要 とし 年 末 調 整 計 算 処 理 画 面 を 開 いて( 中 途 のデ ータで 再 計 算 されます) 画 面 を 保 存 後 出 力 してください

6 (1) app.html.eex 28 lib/nano_planner_web/templates/layout/app.html.eex 27 <footer> Oiax Inc <%= this_year() %> Oiax Inc. 29 </footer>

Ruby on Rails (RoR) を弄る

アジェンダ 0. 導入 1. Web API(Web サービス ) 2. マッシュアップの構図 3. ブラウザオブジェクト < 休憩 > 4. クライアント側コードに起因するスクリプト注入 5. 同一源泉 と 他源泉 6. 他のマッシュアップ論点の学習方法 2

別 紙 第 号 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 議 案 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 を 次 のように 定 める 平 成 26 年 2 月 日 提 出 高 知 県 知 事 尾

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

消 費 ~ 軽 減 率 消 費 の 軽 減 率 制 度 が 消 費 率 10% 時 に 導 入 することとされています 平 成 26 年 4 月 1 日 平 成 27 年 10 月 1 日 ( 予 定 ) 消 費 率 5% 消 費 率 8% 消 費 率 10% 軽 減 率 の 導 入 平 成 26

2 Java 35 Java Java HTML/CSS/JavaScript Java Java JSP MySQL Java 9:00 17:30 12:00 13: 項目 日数 時間 習得目標スキル Java 2 15 Web Java Java J

WDI-Slides-14.pptx

特 別 徴 収 による 納 税 の 仕 組 み 従 業 員 事 業 所 市 町 村 3 特 別 徴 収 税 額 の 通 知 ( 従 業 員 用 ) 1 給 与 支 払 報 告 書 の 提 出 (1 月 末 日 まで) 2 税 額 の 計 算 4 給 与 支 払 いの 際 に 税 額 を 徴 収 3

Excel 応 用 Ⅱ Excelの 知 識 をより 深 め 今 以 上 に 活 用 し 業 務 を 効 率 化 させたい 人 にお 勧 めします また 豊 富 な 問 題 演 習 で 実 務 に 活 かせるスキルを 身 につけます 容 : 複 合 グラフの 操 作 データベースの 活 用 ピボット

代 議 員 会 決 議 内 容 についてお 知 らせします さる3 月 4 日 当 基 金 の 代 議 員 会 を 開 催 し 次 の 議 案 が 審 議 され 可 決 承 認 されました 第 1 号 議 案 : 財 政 再 計 算 について ( 概 要 ) 確 定 給 付 企 業 年 金 法 第

毎 月 の 給 与 等 ( )を 一 定 の 等 級 区 分 にあてはめた 標 準 月 額 の 上 限 が 現 行 の47 等 級 から50 等 級 に 改 正 されます ( 別 紙 健 康 保 険 料 額 表 参 照 ) なお 法 改 正 に 伴 い 標 準 月 額 が 改 定 される 方 につい

1 光 回 線 工 事 1 2 光 回 線 工 事 光 提 供 機 器 光 回 線 工 事 内 容 説 明 本 参 考 回 線 工 事 間 機 器 設 置 場 所 検 討 宅 内 配 線 端 末 機 器 等 準 備 提 携 申 込

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289


データベースS 演習資料

03_主要処理画面.xlsx

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20

3. システム 要 件 IM- 社 内 便 Ver.7.2 は 以 下 の 製 品 上 で 動 作 します サーバ 要 件 Windows Server 2003 R2 Windows Server 2008 Windows Server 2008 R2 Red Hat Enterprise Lin

Microsoft Word - 311Tools_END

Microsoft Word 利子補給金交付要綱

決 算 時 の 流 れ-1 1 年 間 の 仕 訳 入 力 が 終 了 したら 以 下 の 手 順 で 決 算 書 を 作 成 します Step1 精 算 表 を 印 刷 する 1.[F2 入 力 ]タブより 合 計 表 を 選 択 し 月 度 の 指 定 で 期 首 ~12ヶ 月 目 を 指 定

Microsoft PowerPoint - 【New】2804申込書の書き方ポイント集0323

PowerPoint プレゼンテーション

N 一 般 の 住 宅 について 控 除 の 対 象 となる 借 入 金 は 平 成 26 年 4 月 平 成 31 年 6 月 30 日 までの 入 居 の 場 合 は4,000 万 円 ( 平 成 26 年 3 月 までの 入 居 の 場 合 は2,000 万 円 )までとなります 建 物 や

Microsoft Word - サンプル _データベースアクセス_.doc

( 延 納 ) 第 6 条 前 第 5 条 第 1 項 の 期 日 までに 学 費 の 納 入 ができない 者 は 次 の 期 日 までに 延 納 願 いを 提 出 し 許 可 を 得 なければならない 前 期 分 延 納 願 い 4 月 15 日 後 期 分 延 納 願 い 9 月 10 日 2

2011論稿_吉川宏之.indd

スライド 1

All About特集 とは 約1,300に及ぶガイドサイトの160,000本以上の記事を中心にシーズナリティ や流行にマッチした旬のテーマで記事をまとめた All Aboutの編集企画です 特集トップページ または スポンサードコンテンツ ガイド記事 まとめ 様々なガイドがそれぞれの切り口で執筆し

 

PowerPoint プレゼンテーション

1級 ワンポイント

<4D F736F F D2095CA8E A90DA91B18C9F93A289F1939A8F D8288B3816A5F E646F63>

弁護士報酬規定(抜粋)

1,.,,,., RDBM, SQL. OSS,, SQL,,.

~ 目 次 ~ 1. 履 修 登 録 のながれ 1 2. 利 用 可 能 な 機 能 について 2 3.Web 履 修 登 録 画 面 へのログイン ログアウト 方 法 3 4. 予 備 登 録 ( 定 員 設 定 科 目 の 履 修 ) (1) 予 備 登 録 5 (2) 予 備 登 録 状 況

<4D F736F F D2095BD90AC E ED957D977B8ED28E918A6982C982C282A282C42E646F63>

Fckeditor の 基 本 的 な 使 い 方 Point!! fckeditor を 上 手 く 使 うコツ 始 めにページ 内 に 一 通 り 文 章 ( 画 像 や 表 を 含 む)を 書 いてから 文 字 装 飾 をして 下 さい 編 集 したいテキストや 画 像 を 選 択 し アイコ

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照

スライド 1

0 目 次 1. 畑 のあしあとの 使 い 方 P.3 2.オプション P.6 3.モバイルデバイスより 履 歴 取 得 P.8 4. 基 本 情 報 管 理 P 栽 培 計 画 P.22 6.ドキュメント 出 力 P 栽 培 履 歴 管 理 P.28 8.モバイルでの 栽

Microsoft Word - Android_SQLite講座_画面800×1280

PowerPoint プレゼンテーション

競 合 分 析 から 得 られるもの (1) 競 合 各 社 のパフォーマンスが 把 握 できます 自 社 サイトと 競 合 サイトを 比 較 し 各 サイトのパフォーマンスはどうなっているか? 集 客 力 が 強 いのはどこ か?CV 率 (*1)が 高 いのはどこか?など 各 社 の 状 況 の

DN6(R04).vin

Microsoft Word - 目次.doc

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

お客様からの依頼内容とその現状

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

労働時間と休日は、労働条件のもっとも基本的なものの一つです

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

(Microsoft Word - [Kiyou]HiroshiUeda_HarumiMurakami_-_NDCSuggest_Modified_06\201c)

もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方

スライド 0

研究者情報データベース

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数

Microsoft Word 基_シラバス.doc


第4回税制調査会 総4-1

生協法見直し

Microsoft PowerPoint - webapp.ppt [互換モード]

平成17年度高知県県産材利用推進事業費補助金交付要綱

Presentation

Microsoft Word - Active.doc

T T VWAPギャランティ 取 引 とは T T VWAPギャランティ 取 引 とは これまでの 成 行 や 指 値 とは 異 なる 東 海 東 京 証 券 が 提 供 する 新 しい 形 の 売 買 方 法 です その 方 法 とは 1 金 融 商 品 取 引 所 ( 以 下 取 引 所 )に

積 載 せず かつ 燃 料 冷 却 水 及 び 潤 滑 油 の 全 量 を 搭 載 し 自 動 車 製 作 者 が 定 める 工 具 及 び 付 属 品 (スペアタイヤを 含 む )を 全 て 装 備 した 状 態 をいう この 場 合 に おいて 燃 料 の 全 量 を 搭 載 するとは 燃 料

別記

スライド 1

調 査 概 要 調 査 期 : 2011 年 10 月 ~2012 年 9 月 ーモカウ 利 者 調 査 新 築 マショ 編 2012 年 秋 版 調 査 概 要 調 査 対 象 : ーモカウ 新 築 マショ を 利 し 新 築 マショ 検 討 者 うち ーモカウ 新 築 マショ で 紹 介 れ 新

自 己 紹 介 冨 田 昌 宏 ( 株 ) 富 士 通 システムズ イースト 長 野 勤 務 OSS 推 進 フォーラム アプリケーション 部 会 に 参 加 1998 年 から 個 人 的 にRubyを 使 用 2003 年 からRubyで 製 品 開 発

Transcription:

Ruby on Rails の 紹 介 2015/10 高 島 亮 祐

自 己 紹 介 高 島 亮 祐 (たかしま りょうすけ) id:rst76 (twitter, hatena, github) 日 本 ユニシス 株 式 会 社 2001 年 度 入 社 2010 年 くらいから Ruby / Rails に 携 わる( 同 僚 のお 手 伝 い) プライベートでは Haskell / Lazy K ゴルファー ( 端 的 に 言 うと 関 数 型 厨 )

コードゴルフって? 仕 様 を 満 たすプログラムを できるだけ 少 ない 打 数 (バイト 数 )で 実 装 する 例 : 自 然 対 数 の 底 eを100 桁 出 力 する 27182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274 main=print$sum$36:scanl div(10^100)[1..99] (42bytes in Haskell) 浮 動 小 数 では 精 度 が 足 りないので 多 倍 長 整 数 を 使 う 指 数 関 数 のテイラー 展 開 を 利 用 する 高 階 関 数 のパターンにはめる(scanl) a 1 2 3 a/1! a/2! a/3! a=10 100 sum

Lazy K って? コンビネータ 論 理 (= 型 なしラムダ 計 算 )を 具 現 化 した 言 語 プリミティブは 以 下 の3つだけ S = λxyz.xz(yz) K = λxy.x I = λx.x たとえば 整 数 は 以 下 のように 定 義 できる 0 = SK 1 = SKK = I (*) = S(KS)K = B 0 * 1 0 に 見 えるが 0 * 1 = S(KS)K(SK)(SKK) = (KS)(SK)(K(SK))(SKK) = S(K(SK))(SKK) 0 * 1 = 0 が 成 り 立 つ! 0 f x = SKfx = Kx(fx) = x (0 * 1) f x = S(K(SK))(SKK)fx = (K(SK)f)(SKKf)x = SKfx=x ちなみに 1 f x = SKKfx = Kf(Kf)x = f x (チャーチ 数 )

Lazy K の Quine (*) `S````SSSS``SS`SK``SS`SK``S`KSK```S``S`KS``S`K`S`KS``S`K`S`KK``S`K`S`KS ``S`K`S``S`KS``S`K`S`KS``S`K`S`K`S`KS``S`K`S``S`KS``S`KK``S`KS``S`KK``S ``S``SSS`SK`KK``S`KK``S``S`KSK`K```S`KSK``S`K`S``S``SKK`K```S``SS``SS`` SS``SS``SSS``SS`SK``S`KSKK``S`K`S`KK``S`K`S``S`KS``S`KK``S`KSK``S`KK``S `K`S``S`KS``S`KK``S`K`S``S`KSK``S`KSKK``S`KK``S`K`S``S`KS``S`KK``S`KSKK ``S``S``S``S``SSS`SK`KK`K``S`K`S``S``SKK`K```SS``SS``SS``S``SSS``S``SS`` SS`SK``SS`SK``S`KSKK`K``S`K`S``S``SKK`K```SS``SS```SS```SSSS``SS`SK``S` KSKK``SKK``SKKSKSKSSKKSKSKSSKKSKSKSSSKKSSKKSKSSKSSSSKKSSSSSSSSKKKSSSSK KKSSSSKKSSSSKKKSKKSKSKSSKKSSKKSSKSKKSSKKSKKSKSKSSSKKSSKKSKSSKSSSSKKSKS SKSSSSKKSSSSKKSSKKSSSSSSKKSSKKSSSSKKSSSSKKSSSSKKKSKKSKSKSSKKSSKKSSKSKK SSKKSKKSKSKKSKSSKSSSSSSKKSSKKSSKKSSKKSSKKSKSKSSSKKSSKKSKSKKSSKKSSSKKSS KKSSKSKKSSKKSKSKKSSKKSKSKSSSKKSSKKSKSSSKKSSKKSSKSKKSSKKSKSKKSSKKSSSKKS SKKSSKSKKSSKKSKSKKSSKKSKSSSKKSSKKSKSKKSSKKSSSKKSSKKSSKSKKSSKKSKSKKSSKS KKSSKKSKSKSSSKKSSKKSKSSKSSSSKKSSSSSSKKSSSSKKSSSSKKSSSSKKSSSSKKSSKKKSKK SKSKSSKKSSKKSSKSKKSSKKSKSSSKKSSKKKSKKSKSSSKKSSKKSSKKSKSKKSSKKSKSKKSKSS KSSSSSSKKSSKKSSKKSKSKKSSKKSSSKKSSKKSKSKKSSKKSSSKKSSKKSSKSKKSSKKSSSKKSS KSKKSSKSKKSSKKSSSKKSSKSKKSSKKSSSKKSSKKSSKSKKSSKKSSSKKSSKSKKSSKKSKSKKSS KSKKSSKKSSSKKSSKSKKSSKKSSSKKSSKKSSKKKSKSSSKKSSKKSKSSKSSSSKKSKSSKSSSSKK SSSSSSSSKKKKSSK (*) 自 分 自 身 を 出 力 するプログラム

じゃあ Ruby でコードゴルフを ごめんなさい 読 めません _="_=%p;$><<_%%_";$><<_%_ (Quine in Ruby) Ruby についてはあまりディープな 使 い 方 をしていないので 今 日 は 主 に Rails の 話 をします

Ruby on Rails って? Ruby による Web アプリケーションフレームワーク 2003 年 David Heinemeier Hansson が 開 発 現 在 のバージョンは4.2(もうすぐ5.0)

Rails のよいところ オブジェクト 指 向 にのっとったキレイな 設 計 RESTful なルーティング 抽 象 度 の 高 い O/R マッパー 低 い 開 発 負 荷 豊 富 なライブラリ 準 備 された 開 発 環 境

Ruby on Rails のアーキテクチャ Webブラウザ HTTPリクエストの 受 け 付 け 適 切 なModelへの 振 り 分 け 結 果 のViewへの 受 け 渡 し HTTPレスポンスの 返 却 Controller Model 業 務 ロジック DBアクセス 1 2 3 8 5 4 データベース 7 6 HTMLやJSONのレンダリング View Rails Railsの 場 合 原 則 として データベースの1テーブルに Modelの1クラス Controllerの1クラスが 対 応 する

RESTful なルーティング HTTPメソッド パス コントローラ#アクション 目 的 POST /books books#create 書 籍 を1つ 作 成 する GET /books books#index すべての 書 籍 の 一 覧 を 表 示 GET /books/:id books#show 特 定 の 書 籍 を 表 示 する PATCH/PUT /books/:id books#update 特 定 の 書 籍 を 更 新 する DELETE /books/:id books#destroy 特 定 の 書 籍 を 削 除 する GET /books/new books#new GET /books/:id/edit books#edit 書 籍 を1つ 作 成 するための HTMLフォームを 返 す 書 籍 を 編 集 するための HTMLフォームを 返 す

抽 象 度 の 高 い O/R マッパー(1) books name: string author_id: integer authors name: stirng class Book belongs_to :author end class Author has_many :books end books = Author.find_by(name: ' 安 部 公 房 ').books SELECT authors.* FROM authors WHERE authors.name = 安 部 公 房 LIMIT 1 SELECT books.* FROM books WHERE books.author_id = 1

抽 象 度 の 高 い O/R マッパー(2) books name: string writings author_id: integer book_id: integer authors name: string class Book has_many :writings has_many :authors, through: writings end class Writing belongs_to :author belongs_to :book end class Author has_many :writings has_many :books, through: writings end books = Author.find_by(name: ' 安 部 公 房 ').books SELECT authors.* FROM authors WHERE authors.name = 安 部 公 房 LIMIT 1 SELECT books.* FROM books INNER JOIN writings ON books.id = writings.book_id WHERE writings.author_id = 1

豊 富 なライブラリ 例 ) 全 文 検 索 エンジンを 利 用 したい ライブラリを 導 入 して 以 下 のように 書 けば インデクシングされる class Dataset searchable do text :name, stored: true text :description, stored: true time :created_at time :updated_at end その 他 にも Key Value Store との 連 携 など 様 々なライブラリ が 存 在

準 備 された 開 発 環 境 本 番 環 境 APサーバ: Apache + Passenger DBサーバ: PosgreSQL / MySQL (/ SQL Server (/ Oracle)) 開 発 環 境 APサーバ: WEBrick DBサーバ: SQLite 環 境 の 差 異 を 意 識 せずに 開 発 できる

Ruby のメタプログラミング(1) ミラノ 万 博 アプリ: 多 言 語 対 応 ( 日 英 伊 の3ヶ 国 語 )が 必 要 name_ja, name_en, name_itの3つの 属 性 からユーザに 応 じ て 適 切 な 属 性 を 選 択 したい つまり のようなことを 各 属 性 についてやりたい def name(user) send name_#{user.language} end これを 各 属 性 について 書 くのは 面 倒 なので

Ruby のメタプログラミング(2) モジュールに 定 義 して 取 り 込 めば 使 えるようにした multilingual_support.rb module MultilingualSupport def self.included(base) base.class_eval do def self.attr_multilingual(*attrs) attrs.each do attr define_method attr do user send("#{attr}_#{user.language}") end : content.rb class Content include MultilingualSupport attr_multilingual :name, :description 呼 出 元 @content.name(@user) @content.description(@user)

Ruby のメタプログラミング(3) 動 的 なメソッド 定 義 といったメタプログラミングが 自 由 自 在 (send, define_method, method_missingなど) 使 いすぎには 注 意 が 必 要 ( 黒 魔 術 ) Rails 等 ライブラリの 内 部 はメタプログラミングの 塊

参 考 書 籍 Railsの 書 籍 は 色 々あります