タグ

ブックマーク / maeharin.hatenablog.com (4)

  • レガシーシステムを理解する方法 - maeharinの日記

    結構年季が入ったJavaのレガシーなwebアプリをRailsに移行するというプロジェクトを進めている。レガシーシステムは以下のような状態。 ・オリジナルを作ったエンジニアは既に不在 ・ビジネスロジックに対するドキュメントは殆ど存在しない ・単体テストは存在しない ・社内WAFで、ドキュメントなし ・複数のシステムが連動している このような状態は、年季の入ったシステムではわりとよくあることだと思うが、いかんせん「仕様がわからない」ということが色んな所でボトルネックになっていた。その対策方法について、メモしておく。 仕様を理解するための時間を確保する 「その内時間が経てば理解できるよ」という考えもあるだろうが、ある程度年季が入ったシステムをリプレースするなら、初期段階で多少コストをかけてでも、既存仕様を理解するための時間を作った方が効率的だと思う。既存仕様をよく理解しないまま移行開発を行っても

    レガシーシステムを理解する方法 - maeharinの日記
  • Backbone.jsでViewからModel・DOMを操作する時の流れ - maeharinの日記

    自分の頭の中の整理のために。 はじめに Backbone.jsガイドブックを読んでいたら、このような事が書いてあった。 Backbone流MVCでは、ビューとコントローラは両方ともViewが担当します。(略)これらはそれぞれViewのメソッドとして実装しますが、書では区別のために前者をビューメソッド、後者をコントローラメソッドと呼ぶことにします。(略)重要な点は、DOMイベントに応じてコントローラメソッドが実行されることで処理が始まり、その中でmodelやcollectionを操作し、その結果生じるイベントがビューメソッドを呼ぶ、という流れを意識することです。そのためにも、コントローラメソッドには処理の起点になる以上の仕事を与えず、DOM操作はすべてビューメソッドに集めるよう明確に区別しましょう。 図にするとこんな感じになる(点線がイベントで実線が直操作) しかし、なぜこのような書き方に

    Backbone.jsでViewからModel・DOMを操作する時の流れ - maeharinの日記
  • や...やっと理解できた!(2) JavaScriptのスコープチェーン - maeharinの日記

    前回はJavaScriptのプロトタイプチェーンについて、図解を用いることでなんとか理解できました。今回はスコープチェーンに挑戦してみます。前回と同じく「1. 図解を用いる」「2. 用語を明確に定義する」「3. Standard ECMA-262 3rd editionを情報ソースとする」というアプローチで紐解いて行きます。 用語の定義 ・エントリの文章における表記は、以下の表の「ECMA-262 3rd」に統一する ・エントリの図における表記は、以下の表の「エントリの略称」に統一する ・エントリ内におけるES3とは、Standard ECMA-262 3rd editionを指す ECMA-262 3rd エントリの略称 JavaScript(サイ)第5版(日語) Execution Contexts EC 実行コンテキスト Variable Object VO 変数定義の

    や...やっと理解できた!(2) JavaScriptのスコープチェーン - maeharinの日記
  • や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記

    JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう

    や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記
  • 1