検索 - みる会図書館

全データから 212827件ヒットしました。

JavaScriptパターンー優れたアプリケーションのための作法


JavaScript バ タ ー ン ー 優 れ た ア プ リ ケ ー シ ョ ン の た め の 作 法 ー Stoyan Stefanov 著 豊 福 剛 訳 0 [email protected] オ ラ イ リ ー ・ ジ ャ パ ン

JavaScriptパターンー優れたアプリケーションのための作法


お ⅲ 召 e な e ル 42 カ 〃 ca 0 〃 s ル ″ わ CO 市 〃 g 4 〃 イ 24 な 〃 s JavaScript バ タ ー ン 優 れ た ア プ リ ケ ー シ ョ ン の た め の 作 法 ′ イ ′ ノ & の 〃 、 9 ツ 〃 0 著 豊 福 剛 訳 0 REILLY オ ラ イ リ ー ・ ジ ャ パ ン

メンテナブルJavaScript-読みやすく保守しやすいJavaScriptコードのための作法-


メ ン テ ナ プ ル JavaScript 読 み や す く 保 守 し や す い JavaScript コ ー ド の た め の 作 法 NichoIas C. Zakas 著 豊 福 剛 訳 0 REILLY オ ラ イ リ ー ・ ジ ャ パ ン

メンテナブルJavaScript-読みやすく保守しやすいJavaScriptコードのための作法-


メ ン テ ナ プ レ JavaScript ー 物 ガ / 〃 g ea イ 4 わ / e Code \ 物 、 、 ふ お 、 ミ ま い い 、 こ : い ン は 冫 ・ ′ ・ ′ ノ ル ・ ク 読 み や す く 保 守 し や す い JavaScript コ ー ド の た め の 作 法 0 ' R 日 L オ ラ イ リ ー ・ ジ ャ パ ン Ni 訪 0 / 0 / 4 た as 著 豊 福 剛 訳

メンテナブルJavaScript-読みやすく保守しやすいJavaScriptコードのための作法-


5.2 CSS か ら JavaScript を 隔 離 す る 一 55 HTML だ け を 見 れ ば 解 決 で き る で し よ う 。 ス タ イ ル の 問 題 が 発 生 し た と き は 、 CSS に 問 題 が あ る こ と が わ か り 、 css を 修 正 す る だ け で 済 み ま す 。 最 後 に 、 も し 振 る 舞 い に 問 題 が あ る 場 合 、 JavaScript に 直 行 し て 解 決 す れ ば い い の で す 。 こ う し た 対 応 が 可 能 な こ と こ そ 、 メ ン テ ナ ン ス 性 に 優 れ た ウ エ プ イ ン タ フ ェ ー ス の 鍵 で す 。 52 CSS か ら JavaScript を 隔 離 す る lnternet Explorer8 と そ れ 以 前 の バ ー ジ ョ ン に は 、 一 部 で は 愛 さ れ 、 し か し 多 く の 人 々 に 嫌 わ れ た 機 能 が あ り ま し た 。 そ れ は CSS 式 で す 。 CSS 式 を 使 う と 、 CSS に JavaScript を 直 接 挿 入 で き ま す 。 CSS コ ー ド の 中 で 計 算 な ど の 機 能 が 直 接 実 行 で き る の で す 。 た と え ば 、 次 の コ ー ド で は 、 プ ラ ウ ザ の 幅 に 合 致 す る よ う に 要 素 の 幅 を 設 定 し て い ま す 。 . box { width: expression(document. b0dy.0 幵 setWidth + "px"); CSS 式 は expression() と い う 特 殊 な 関 数 で 囲 ま れ た 部 分 で あ り 、 JavaScript の い か な る コ ー ド で も 受 け 付 け ま す 。 CSS 式 は 頻 繁 に 検 討 し 直 さ れ 、 性 能 を 悪 化 さ せ る も の と 見 な さ れ ま し た 。 steve Souders の 『 High performance Web Sites 』 ( 邦 題 『 ハ イ パ フ ォ ー マ ン ス Web サ イ ト 』 オ ラ イ リ ー ・ ジ ャ パ ン 刊 ) で は 、 避 け る べ き も の に 数 え ら れ て い ま す ( ル ー ル 7 : CSS expression の 使 用 を 控 え る ) 。 性 能 問 題 と は 別 に 、 CSS の 中 に JavaScript を 埋 め 込 む と 、 メ ン テ ナ ン ス は 悪 夢 と な り ま す 。 著 者 も 直 接 体 験 し た こ と が あ り ま す 。 2005 年 、 私 が 担 当 し た JavaScript の バ グ に は 、 最 初 か ら 苦 し め ら れ ま し た 。 そ の バ グ は InternetExpIorer で の み 発 生 し 、 し か も プ ラ ウ ザ の ウ イ ン ド ウ の サ イ ズ 変 更 を 行 っ た 、 ほ ん の 数 回 し か 発 生 し な い の で す 。 そ の 時 点 で は 、 lnternet Explorer の た め の 最 良 の JavaScript デ ノ ヾ ッ ガ は Visual Studi0 で し た が 、 こ の 問 題 の 発 生 源 を 特 定 す る こ と は で き ま せ ん で し た 。 プ レ イ ク ポ イ ン ト の 設 定 と alert ( ) 文 の 挿 入 に 丸 1 日 を 費 や し て 、 何 が 置 き て い る の か 把 握 し よ う と し た の で す 。 そ の 日 の 終 わ り 近 く に な っ て 、 ど う に も 好 き に な れ な い デ バ ッ グ 手 法 で あ る コ ー ド の シ ス テ マ チ ッ ク な 削 除 を 試 し て み ま し た 。 1 つ 1 つ の フ ァ イ ル か ら JavaScript を 取 り 除 き 、 問 題 が 再 現 す る か 試 し た の で す す ぐ に イ ラ イ ラ が 募 り 、 ペ ー ジ か ら JavaScript を す べ て 取 り 除 き ま し た 。 そ れ で も バ グ カ 再 現 す る の で す 。 信 じ ら れ な い 思 い で ス ク リ ー ン を 見 つ め ま し た 。 JavaScript が 一 切 含 ま れ な い ペ ー ジ で JavaScript 工 ラ ー が 起 き る っ て 、 ど う い う こ と ? 結 局 CSS を 調 べ る こ と に な っ た の で す が 、 そ の 日 ま で CSS の ど こ に 罠 が あ る の か 知 り ま せ ん で し た 。 そ の と き は 、 何 を 探 せ ば い い の か す ら 、 よ く わ か ら な か っ た の で す 。 CSS の 頭 か ら 順 に 、 ゆ っ く り ス ク ロ ー ル し な が ら 、 何 か 目 に 飛 び 込 ん で こ な い か 見 て い ま し た 。 そ し て 遂 に 、 問 題 の 原 因 が CSS 式 だ と わ か っ た の で す 。 そ れ を 削 除 し た ら 、 JavaScript 工 ラ ー は 消 え ま し た 。 こ の 経 験 か ら 本 章 の ル ー ル を 学 び ま し た 。 JavaScript の バ グ を JavaScript か ら 探 す の に 丸 0 ヾ 、

開眼!JavaScript-言語仕様から学ぶJavaScriptの本質


付 録 B 終 わ り に 本 書 を 読 み 終 え て 、 あ な た が 使 っ て い る JavaScript ラ イ プ ラ リ を よ り 深 く 理 解 で き て い る こ と 、 も し く は 自 分 の JavaScript ソ リ ュ ー シ ョ ン を 書 け る 準 備 が で き て い る こ と を 望 み ま す 。 ど ち ら に し て も 、 本 書 は 全 て を 網 羅 し た JavaScript 言 語 の ガ イ ド で は あ り ま せ ん 。 本 書 を 起 点 と し て 以 下 の よ う な 書 籍 を 読 む こ と に よ っ て ( も し く は 再 読 す る こ と に よ っ て ) 、 違 う 見 地 か ら の JavaScript を 学 ん で く だ さ い 。 ま た 本 書 で は 紹 介 し き れ な か っ た ト ピ ッ ク を 巡 る こ と に よ り 、 あ な た の も つ 知 識 と JavaScript 言 語 へ の 理 解 を 絶 え ず 補 強 す る こ と を お す す め し ま す 。 LJavaScript: 羽 Good Parts 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "JavaScript: ((YReilly) 羽 le Good Parts" ((YReiIIy) fJavaScript パ タ ー ン 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "JavaScript Patterns" Performance JavaScript" (O'Reilly) 『 ハ イ パ フ ォ ー マ ン ス JavaScript 』 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 、 原 書 "High 、 ・ l)rofessional JavaScript for Web DeveIopers" (WiIey/Wrox) 、 和 書 未 刊 "Object-Oriented JavaScript" (Packt PubIishing) 『 オ プ ジ ェ ク ト 指 向 JavaScript 』 ( ア ス キ ー ・ メ デ ィ ア ワ ー ク ス ) 、 原 書

10日でおぼえる JavaScript 入門教室 新版


第 8 日 「 Ajax の 基 本 」 Web ア プ リ ケ ー シ ョ ン 作 成 に 不 可 欠 で あ る Ajax の 、 基 本 的 な 仕 組 み を 学 び ま す 。 理 論 的 な 解 説 の 後 、 実 際 に 簡 単 な Ajax プ ロ グ ラ ム を 使 っ て 、 Ajax が ど う い っ た も の か を 理 解 し ま す 。 第 9 日 「 JavaScript ラ イ プ ラ リ 」 も は や 、 JavaScript プ ロ グ ラ ミ ン グ に な く て は な ら な い JavaScript ラ イ プ ラ リ の 使 い 方 に つ い て 学 習 し ま す 。 数 あ る ラ イ プ ラ リ の 中 か ら 、 Prototype と Dojo 、 jQuery の 3 つ を 例 に 、 ラ イ プ ラ リ を 使 う と ど ん な こ と が で き る の か を 、 簡 単 な プ ロ グ ラ ム を 実 際 に 作 っ て 体 験 し ま す 。 第 10 日 「 総 合 制 作 Ⅱ 」 最 初 に 、 JSONP と Web サ ー ビ ス に つ い て 学 び ま す 。 そ し て Ajax と JavaScript ラ イ プ ラ リ の 知 識 を 元 に 、 公 開 Web サ ー ビ ス API を 利 用 し た プ ロ グ ラ ム と 簡 単 な マ ッ シ ュ ア ッ プ も っ と JavaSc 「 ipt を 学 ぶ た め の 推 薦 図 書 サ イ ト を 制 作 し ま す 。 XVIII 面 ・ 応 用 面 で の チ ュ ー ト リ ア ル で す 。 ( 3 ) は 、 実 際 に プ ロ フ ェ ッ シ ョ ナ ル な レ ベ ル で JavaScript を 使 う 上 で の 、 さ ま ざ ま な 技 術 論 的 な 解 説 、 後 半 は JavaScript お よ び DOM の レ フ ァ レ ン ス に な っ て い ま す 。 ( 2 ) お よ び の 知 識 の あ る 人 が 理 解 を よ り 深 め る の に は 最 適 で す 。 ( 1 ) は 前 半 が JavaScript の 詳 細 な 理 い ず れ も 最 近 出 版 さ れ た も の で す 。 初 心 者 向 け で は あ り ま せ ん が 、 あ る 程 度 JavaScript 2 開 7 年 ( 3 ) Danny Goodman 著 「 JavaScript & DHTML Cookbook 2nd Edition 」 (O Reilly) (Apress) 2 開 7 年 ② Frank W. Zammetti 著 「 PracticaI JavaScript, D OM Scripting, and Aj ax Proj ects 」 2 開 6 年 く 日 本 語 訳 : 「 JavaScript 第 5 版 」 ( オ ラ イ リ ー ・ ジ ャ パ ン ) 2 開 7 年 > ( 1 ) David FIanagan 著 「 JavaScript: The Definitive Guide 5th Edition 」 (O'Reilly ) 深 く 勉 強 し た い 方 に は 、 以 下 の 本 を お 薦 め し ま す 。 べ て の 知 識 を 本 書 だ け で 身 に 付 け る の は 不 可 能 で す 。 本 書 を マ ス タ ー し た 上 で 、 さ ら に 「 10 日 間 で お ば え る 」 と い う コ ン セ プ ト お よ び ペ ー ジ 数 の 関 係 上 、 JavaScript に つ い て す

10日でおぼえる JavaScript 入門教室 新版


第 0 日 / オ リ エ ン テ ー シ ョ ン ・ 本 書 の 使 い 方 第 1 日 「 は じ め て の JavaScript 」 本 書 の 構 成 と ポ イ ン ト ど う や っ て 実 現 さ せ る の か を 学 び 、 今 ま で 作 っ た プ ロ グ ラ ム を 実 際 に 手 直 し し て 、 コ ー 「 じ ゃ ま に な ら な い JavaScript 」 と 「 オ プ ジ ェ ク ト 指 向 JavaScript 」 を 、 そ れ ぞ れ 具 体 的 に 第 6 日 「 JavaScript プ ロ グ ラ ミ ン グ の 新 し い ス タ イ ル 」 さ せ る こ と が で き る よ う に な り ま す 。 DOM と 合 わ せ て CSS を 操 作 す る こ と に よ り 、 さ ら に Web ペ ー ジ を ダ イ ナ ミ ッ ク に 変 化 CSS に 関 す る 短 い 復 習 を し て か ら 、 JavaScript に よ る CSS の 操 作 に つ い て 学 び ま す 。 第 5 日 「 CSS と JavaScript 」 つ い て 学 び ま す 。 Math オ プ ジ ェ ク ト の メ ソ ッ ド を 使 っ た よ り 高 度 な 計 算 な ど 、 JavaScript を 使 っ た 計 算 に ま ず 文 字 列 型 デ ー タ と 数 値 型 デ ー タ の そ れ ぞ れ の 特 徴 を 概 観 し 、 続 い て 四 則 計 算 か ら 第 4 日 「 JavaScript で 計 算 を す る 」 中 核 と な る 重 要 な 要 素 で す 。 り ま す 。 DOM は JavaScript と 合 わ せ て 、 ク ラ イ ア ン ト サ イ ド で の Web プ ロ グ ラ ミ ン グ の HTML 文 書 を 読 み 込 ん だ 後 で も 、 HTML 要 素 を 動 的 に 変 化 さ せ る こ と が で き る よ う に な で き る DOM に つ い て 学 び ま す 。 JavaScript を 使 っ て DOM を 操 作 す る こ と に よ り 、 JavaScript と 組 み 合 わ せ る こ と に よ っ て 、 HTML 文 書 を 自 由 に 変 化 ・ 加 工 す る こ と の 第 3 日 「 ロ OM を 使 う 」 そ れ ぞ れ の 概 念 を し つ か り 把 握 す る こ と が 、 JavaScript を 理 解 す る 上 で 重 要 で す 。 JavaScript の コ ア の 部 分 で あ る 、 変 数 と 配 列 ・ オ プ ジ ェ ク ト ・ 関 数 に つ い て 学 び ま す 。 第 2 日 「 変 数 ・ 配 列 ・ オ プ ジ ェ ク ト ・ 関 数 」 れ の こ と だ っ た の か 」 と 思 っ て い た だ け れ ば 十 分 で す 。 理 解 で き な く て も か ま い ま せ ん 。 後 の 章 で 詳 し く 学 ん だ と き に 、 「 あ の と き の あ れ は 、 ま た 変 数 や 関 数 と い っ た 概 念 を 学 習 し ま す 。 こ の 時 点 で は 、 プ ロ グ ラ ム の 中 身 が す べ て い た だ き ま す 。 そ れ と 同 時 に 、 JavaScript プ ロ グ ラ ミ ン グ に お け る 共 通 の ル ー ル を 学 び 、 簡 単 な プ ロ グ ラ ム を 通 じ て 、 JavaScript と は 実 際 に ど の よ う な も の な の か を 実 感 し て ド が ど の よ う に 変 わ る の か を 見 ま す 。 第 7 日 「 総 合 制 作 I 」 こ れ ま で 学 ん だ こ と の 応 用 と し て 、 DOM ス ク リ プ テ ィ ン グ の 手 法 を 使 っ た デ ス と フ ォ ト ア ル バ ム を 制 作 し ま す 。 ー タ ベ ー XVII

メンテナブルJavaScript-読みやすく保守しやすいJavaScriptコードのための作法-


・ JavaScript は 、 ペ ー ジ に 振 る 舞 い を 追 加 し 、 す 。 の と し て イ メ ー ジ さ れ ま す ( 図 5-1 ) 。 U に で の 疎 結 合 ウ エ プ 開 発 に お い て 、 UI(user interface) は 恊 働 す る 3 つ の 独 立 し た 層 で 定 義 さ れ ま す 。 ・ HTML は 、 ペ ー ジ の デ ー タ と セ マ ン テ ィ ク ス を 定 義 す る の に 使 わ れ ま す 。 ・ CSS は 、 ペ ー ジ の ス タ イ ル を 設 定 し 、 視 覚 的 な 特 徴 を 作 る た め に 使 わ れ ま す 。 こ れ ら の UI 層 は 、 通 常 HTML が 基 本 に あ り 、 そ れ に CSS と JavaScript の 層 が 被 さ っ た も よ り イ ン タ ラ ク テ イ プ に す る た め に 使 わ れ ま JavaScript CSS HTML 図 5-1 ウ ェ ブ ユ ー ザ イ ン タ フ ェ ー ス の 各 層 と は い え 、 CSS と JavaScript の 実 際 の 関 係 は 、 JavaScript が CSS に 依 存 し て い る と い う よ り も 、 兄 弟 の よ う な も の で す 。 JavaScript の な い HTML と CSS だ け の ペ ー ジ に す る こ と も 可 能 で す し 、 CSS の な い HTML と JavaScript だ け の ペ ー ジ に す る こ と も 可 能 で す 。 こ れ ら 3 層 の 関 係 に つ い て は 、 図 5-2 の よ う に 考 え る こ と に し て い ま す 。 CSS と JavaScript を 、 ウ エ プ ユ ー ザ イ ン タ フ ェ ー ス 全 体 に お い て 同 じ 位 置 に あ る と 考 え れ ば 、 よ り 可 能 性 が 広 が り 、 依 存 性 を な く す こ と が で き ま す 。 た と え ば 、 CSS に 頼 ら な い と JavaScript が 正 し く 機 能 し な い よ う で は い け ま せ ん 。 仮 に 2 つ の 間 に 相 互 作 用 が あ る 場 合 で も 、 css に 依 存 す る こ と な く 機 能 す る べ き で す 。

10日でおぼえる JavaScript 入門教室 新版


う こ ぞ JavaScript の 世 界 へ ! 2005 年 以 降 の Ajax プ ー ム が JavaScript の 世 界 に 与 え た 最 大 の 影 響 は 、 プ ロ グ ラ ミ ン グ 技 法 の 高 度 化 ・ 精 緻 化 で し た 。 そ れ 以 前 の JavaScript が 、 趣 味 の web ペ ー ジ 作 り の 道 具 と い う 色 彩 が 濃 か っ た と 同 時 に 、 Java や c + + な ど と 比 べ て 比 較 的 簡 単 に 習 得 で き る 、 敷 居 の 低 い プ ロ グ ラ ミ ン グ 言 語 だ っ た の に 対 し 、 最 近 の JavaScript は プ ロ フ ェ ッ シ ョ ナ ル な Web プ ロ グ ラ ミ ン グ に お け る 必 須 ア イ テ ム と な り 、 Ajax の 本 な ど を 読 ん で も 覚 え る こ と が 多 す ぎ て 何 か ら 手 を 付 け た ら い い の か 途 方 に 暮 れ て し ま う と い う 方 も 増 え て い る の で は な い か と 思 い ま す 。 本 書 は 、 「 10 日 で お ば え る シ リ ー ズ 」 の 中 の 1 冊 と し て 、 ま っ た く の 初 心 者 で も ス テ ッ プ を 踏 ん で JavaScript を 学 ぶ こ と に よ っ て 、 10 日 間 で JavaScript の 最 新 の 知 識 が 習 得 で き る よ う に 工 夫 を こ ら し て あ り ま す 。 学 習 の 効 率 性 を 考 え て 余 分 な ト ピ ッ ク は 極 力 省 く よ う に し た た め 、 本 書 1 冊 で JavaScript の す べ て を 網 羅 的 に カ バ ー す る こ と は で き ま せ ん が 、 こ の 本 を 読 み 終 え る こ ろ に は 、 少 な く と も 「 Ajax と は 何 か 」 「 オ プ ジ ェ ク ト 指 向 JavaScript プ ロ グ ラ ミ ン グ と は 何 か 」 「 JavaScript ラ イ プ ラ リ と JSONP を 使 っ て Web サ ー ビ ス を 組 み 合 わ せ た マ ッ シ ュ ア ッ プ サ イ ト を 作 る に は ど う し た ら い い の か 」 な ど 、 2007 年 末 現 在 の 最 先 端 の JavaScript に つ い て わ か る よ う に な る は す で す 。 ま た 、 初 心 者 だ け で な く あ る 程 度 JavaScript の 知 識 の あ る 方 が 、 さ ら に 最 新 の 知 識 ・ プ ロ グ ラ ミ ン グ 技 法 を 身 に 付 け る の に も 十 分 役 に 立 っ と 自 負 し て い ま す 。 こ の 数 年 で 、 Wiki や SNS 、 プ ロ グ な ど イ ン タ ー ネ ッ ト の 利 用 法 も ず い ぶ ん と 多 様 化 し て き ま し た 。 情 報 が 多 角 的 に 受 発 信 さ れ る メ デ ィ ア と し て の イ ン タ ー ネ ッ ト の 発 展 が 、 今 後 社 会 を ど う 変 え て い く の か 、 非 常 に 興 味 の あ る と こ ろ で す 。 そ の 中 に あ っ て 、 ク ラ イ ア ン ト 側 で リ ッ チ な ユ ー ザ ー イ ン タ ー フ ェ ー ス を 実 現 す る JavaScript の 役 割 は 、 ま す ま す 重 要 に な っ て い く こ と は 間 違 い な い で し よ う 。 本 書 を 通 じ て 1 人 で も 多 く の 方 が JavaScript の 面 白 さ に 目 覚 め 、 ま た JavaScript を 使 っ て イ ン タ ー ネ ッ ト の 発 展 に 寄 与 す る こ と に な っ た と し た ら 著 者 と し て こ の 上 な い 喜 び で す 。 287 年 12 月 北 カ リ フ ォ ル ニ ア の 寓 居 に て 岡 田 克 司