2011年12月17日

次期ASP.NETのBundling and Minification機能が良さそうだ

次のASP.NET(4.5)には「Bundling and Minification」機能というものがあるそうだ。

New Bundling and Minification Support (ASP.NET 4.5 Series) - ScottGu's Blog

サーバー側で、複数のスタイルシートやJavaScriptを一つにまとめてさらに「Minification」までして返してくれるという機能らしい。

通常だとファイルが例えば3つに分かれていればクライアントのブラウザからは3回のHTTPリクエストが発生する。でもこの機能を使うと「〇〇フォルダのCSSファイルを全部取って来て」という指定をするとサーバー側でそのフォルダ内のCSSファイルを一つにまとめてからクライアントに返してくれるそうだ。

サーバー側でまとめる時に、当然順序が正しくないとおかしな事になる。そこで、基本的にはアルファベット順になるけれども、JavaScript なら jQuery、スタイルシートなら reset.css など一般的に最初に読み込んだ方が良さそうなものはちゃんと最初に持って来てくれる。

またBundle処理の詳細やMinificationの詳細な動きを自分で制御したい場合は、それなりのクラスを継承したクラスを書いてコードから呼び出せば可能だそうだ。

ASP.NET 4.5、この他にも多くの新機能があってなかなか面白そうだ。
ASP.NET 4.5 Series - ScottGu's Blog









2011年12月9日

App Engineで課金を出来るだけ少なくする方法

下のブログを見て、ほぉーと思ったのでメモ。
 Google Developer Day 2011 Japan: 「App Engine 最新機能」 | Google Japan Developer Relations Blog 

48分もある動画だったので、飛ばしながら観ていたらGoogleの松尾さんが「このセッションで最も重要な事」と言われている部分(20:00辺り)があった。

「App Engineで課金額を気にする人は今すぐこの設定をして下さい。」と言われているので、早速やっておいた。

管理画面に入って、「Application Settings」を開くと下の2つのスライダーがある。


  • 「Max Idle Instances」を最小(1)にする。 
  • 「Min Pending Latency」を最大(15s)にする。 


これで課金が最小になるとの事。

その後それぞれのスライダーの意味の説明を聞いて、確かになるほどなと思った。 

ただし、プロダクションで使っている重要なアプリケーションの場合はこの設定を適用するのは慎重にした方が良いらしい。

趣味で作っているサイトであればこれで特に問題は無いだろうと思う。











2011年11月23日

Android: Theme.Dialogを適用したアクティビティを最大化して表示したい時は

マニフェストファイルに下の様に書くだけでアクティビティがダイアログ風に表示されるのはとても便利。
<activity android:label="Help" android:name=".WebViewActivity"   android:theme="@android:style/Theme.Dialog">
</activity>
ただ、これで表示されるダイアログの大きさは、その中に表示する内容によって変わる。 

たまたま、WebViewとButtonをFrameLayout上に配置して幅・高さともにfill_parentを指定した時に、内容が見えないくらいにダイアログが小さくなってしまって困った。

 こんな感じになってしまう。


検索したらやっぱり同様に困っていた人がいた。
android - How can I get a Dialog style activity window to fill the screen? - Stack Overflow
ここにある通り、onCreate内でsetLayoutをすれば意図した通りダイアログが最大化されて表示された。


こんな感じで一件落着。

ついでに、ダイアログのタイトルバーが不要なので消したい。

まず、res/values/styles.xmlファイルを作る。

あとはマニフェストで @android:style/Theme.Dialog の代わりに @style/Theme.MyDialog を指定すればOK。