2013年3月4日月曜日

herokuのSpring MVC & Tomcat Applicationを読んでみた。

herokuはeclipseでプロジェクトを作るだけで公開されるのですごいと思います。
ただ新しい機能が使われており主にSpring関連の設定が逆に訳が分からなかったため確認してみました。

Spring MVC & Tomcat Applicationのテンプレートを確認しました。
ほとんどは以下のapplicationContext.xmlで分かりそうです。

https://github.com/heroku/template-java-spring-hibernate/blob/master/src/main/resources/applicationContext.xml

①ローカル環境とデプロイ環境でDBが違うのはどうやっている?

Spring3.1のBean Definition Profilesの機能を利用しているようです。
<beans profile="default"><beans profile="prod">
でローカル環境とデプロイ環境で読み込むbeanを切り替えているようです。
Procfileでは-Dspring.profiles.active=prod とオプションが設定されているので
デプロイ時には<beans profile="prod">が読み込まれるのでしょう。

②テーブルを作っていないのにアプリケーションを動作させた際にテーブルができているのはどうやってる?

Hibernateのアプリケーション起動時に自動でテーブルを作成する機能を利用しているようです。<prop key="hibernate.hbm2ddl.auto">をcreateもしくはupdateとすることでこの機能を有効にしていました。createとupdateの違いは起動時にDBを初期化するかしないかぐらいかなと思います。


2013年3月3日日曜日

動的型付け言語と静的型付け言語

bloggerでテーブルを試してみた。
お題は最近何故か話題になっている動的型付け言語と静的型付け言語です。
動的型付け言語静的型付け言語
型が決まるタイミング型が実行時に決まる。型がコンパイル時に決まる。
採用している言語perl,python,php,ruby,javascript,LISPC,C++,Java,Haskell,COBOL
メリット記述が簡潔になる。実行速度が速い。
デメリット実行速度が低下する。記述が冗長になる。
使いどころプロトタイプ型の開発を行うシステム大規模で厳密性を求められるシステム

WebシステムではWeb系だと動的型付け言語、SI系だと静的型付け言語を使うことが多いと思います。メリット、デメリット、使いどころは色々書くと面倒くさい人たちが出てくるので最低限書いています。あまり関係ないけど動画置いときます。