広告

2014年3月19日水曜日

IE11だとセキュリティゾーンの違いのみで画面崩れが発生する可能性あり

マイクロソフトサポートチームのブログに、こんな記事が出ていました。

Internet Explorer 11 における文字列表示の変更点について


 概要はこんな感じです。
  • IE9からナチュラルメトリックという画面のピクセル計算をより厳密に行う仕組みが導入された
  • IE11よりナチュラルメトリックの適用範囲が大きく広がり、イントラネットゾーン以外では原則有効になる
  ナチュラルメトリックというのはIE9では サブピクセルフォントと呼ばれていたもののようです。
IE9 のサブピクセル フォント - Internet Explorer ブログ (日本語版) - Site Home - MSDN Blogs


 要はナチュラルメトリックにより画面のレンダリングのロジックが変わるため、スタイルシートなどでピクセルを細かく指定している画面については、画面崩れが発生する可能性があるわけですが、IE11では、 セキュリティゾーンの違いのみでナチュラルメトリックによる画面崩れが発生する場合があるということになります。

 今までの常識だとドキュメントモードの違いで画面表示が崩れるというようなことはありましたが、今後はセキュリティゾーンの違いでも画面崩れが発生するケースも多くなると思われますので、注意して下さい。

 なお回避策として、metaタグ
 <meta http-equiv="X-UA-TextLayoutMetrics" content="gdi">
を入れることで、 ナチュラルメトリックが適用されなくなるとのことなので、とりあえずの回避策としてはこれが一番簡単そうです。

2014年3月10日月曜日

「.NETエンタープライズWEBアプリケーション開発技術大全Vol.3」書評 ASP.NETだけでなくWebアプリケーション自体の設計の基本も学べます

Windows系SEの日記: 「.NETエンタープライズWEBアプリケーション開発技術大全Vol.2」書評 ASP.NETのアーキテクチャの基本を知りたい人向け


の記事で紹介した「.NETエンタープライズWEBアプリケーション開発技術大全」ですが、本記事ではVol.3を紹介します。Vol.2同様Vol.3もいい本ですので、是非読んでほしいと思います。


■本書の内容


 Vol.2はASP.NETアーキテクチャの基本に関する記載がメインでしたが、Vol.3はWebシステム設計時に主にITアーキテクトや開発管理担当者が考慮する必要がある技術要素
  • スケーラビリティ(負荷分散)
  • アプリケーションの状態管理
  • 例外処理
  • デバッグ、トレースログ出力手法
  • ソースコード、設定ファイルなどの構成管理
等について、ASP.NETの世界ではどのように考えるべきかが記載されています。つまり上記の技術要素の考え方の基本と、ASP.NETでの実装の両方が学べるわけです。

 正直、本書はASP.NET1.1を前提として記載されているため、ASP.NETでの実装に関しては現在では古くなっている箇所もありますが、上記の技術要素自体の考え方は今でも通用する記載になっています。

@IT:.NETエンタープライズWebアプリケーション 開発技術大全
.NETエンタープライズ Webアプリケーション開発技術大全 Vol.3 ASP.NET 応用編






上記のサイトで本書の一部が読めますので、内容を確認してみてください。


■Vol.2と合わせて読むのをオススメします。

Vol.2がASP.NETの基本とすると、Vol.3はWebシステム設計への応用編とも言える内容になっています。Webアプリケーション自体の設計の基本も学べます。上記の技術要素は、ASP.NETだけでなくWebアプリケーション開発一般に必要な知識になりますので、Vol.2を読んで興味深い、役に立つと思った人であれば、Vol.3もぜひ読んでみてください。


2014年3月9日日曜日

「.NETエンタープライズWEBアプリケーション開発技術大全Vol.2」書評 ASP.NETのアーキテクチャの基本を知りたい人向け

 私が初めてASP.NETアプリケーションの開発をすることになった際に一番参考になった本が「.NETエンタープライズWEBアプリケーション開発技術大全」です。本書はVol.5まで出ていますが、私はVol.2~5を読みました。

 本書は2004年に出版されASP.NET1.1を前提に記述されていますが、今読んでもASP.NETのアーキテクチャの基本を理解するためにはいい本だと思います。

 本記事ではVol.2を紹介します。

■本書の内容


本書は、ASP.NETのアーキテクチャを理解する上で必要な要素である

  • Webコントロール
  • ポストバック
  • コードビハインド
  • データバインド

について記載されています。

 また、ASP.NETの大きな特徴としてWebフォーム(Webアプリケーションをあたかもデスクトップアプリケーションのようにイベント駆動型でコーディングできる)というのがあります。つまり、Visual Studio上で画面をデザインしボタンを置いて、 そのボタンをダブルクリックすると、そのボタンが押された時に呼ばれるメソッドが自動的に作成される、というものです。Webアプリケーションで何でこんなことができるんだと疑問に思っている人もいると思いますが、どのようにこの仕組を実現しているかも本書を読めば理解できると思います。

 また以下のサイトにて本書の一部抜粋が読めるので、参考にして下さい。

@IT:.NETエンタープライズWebアプリケーション 開発技術大全
.NETエンタープライズ Webアプリケーション開発技術大全 Vol.2 ASP.NET 基礎編






■ASP.NETのアーキテクチャの基本が知りたい方にオススメです


 私の場合、jspやservletによるWebアプリケーションの開発経験はありましたが、ASP.NETについては全く知識のない状態でASP.NETのWebアプリケーションを開発する事になりました。本書はASP.NETの基本を理解する上で非常に役立ちました。

 Visual StudioでのASP.NET開発環境は良く出来ているため、本書の内容を理解していなくても、業務ロジックを実装するだけであれば何となく開発はできます。ただトラブルが発生した場合や、一部処理にJavaScriptを使いたい等の場合に本書の内容を理解する必要があります。

 最近はAmazonでも価格がかなり安くなっているので、ASP.NETのアーキテクチャの基本が知りたい方に是非オススメしたいと思います。



2014年3月8日土曜日

MCP資格参考書の効率的な入手方法を紹介

 マイクロソフトの資格であるMCP、私もいくつか持っています。MCP資格の勉強時に悩むのが、問題集や参考書の入手についてです。

 主に2つの問題点があります。

  • MCP参考書類の値段が高い
  • MCP資格の種類によっては参考書がない

 本記事では、上記の問題点を解決する、MCP参考書の効率的な入手方法を紹介したいと思います。


■Safari Books Onlineを活用する


 上記の効率的な入手方法というのは、以前も以下の記事で紹介した

Windows系SEの日記: Safari Books Online紹介(定額でコンピュータ関連技術書読み放題サイト)

Safari Books Onlineを活用する方法になります。

 Safariは定額制で何冊読んでも同じ値段なので、費用を気にせずいろいろな参考書を読むことができます。またMCP参考書というのは、資格に合格してしまえば、その後あまりその本を読み返さなくなることも多いと思いますので、その点でもSafariのような定額制サイトを利用するメリットがあります。

 また、MCSDのような開発系のMCP資格の場合など、日本語版の参考書がない資格についても、Safari内を検索すれば、大概の資格については参考書や問題集が見つかります。

 例えば、

MCP 試験詳細 - マイクロソフト ラーニング ポータル
試験番号:70-486 ASP.NET MVC 4 Web アプリケーションの開発






のようなまだ日本語版の参考書類がない新しい資格でも、以下のようにSafariなら参考書を読むことが出来ます。


 以上、MCP資格取得を考えている人は参考にして頂ければと思います。

2014年3月5日水曜日

「満員電車にサヨナラする」もっと簡単な方法

 以下のITmediaの記事を読んでて思ったことですが、

満員電車にサヨナラする方法・最終回:あなたの望む自由な働き方ができるときが来た - 誠 Biz.ID
満員電車にサヨナラする方法 ...






そう言えば、僕も2年位前に満員電車にサヨナラしたなあと。

 多分、上記の記事に載っているようなクラウドソーシングサイト経由で働くより簡単な方法だと思います。会社の近くに引っ越す、という方法です。

 毎日電車通勤しなくていいというのは想像以上に快適です。新しい働き方がどうとか考えるより手っ取り早いので、満員電車にサヨナラしたい人は、家賃が月2,3万円高くなっても検討したほうがいいと思いますよ。


Safari Books Online紹介(定額でコンピュータ関連技術書読み放題サイト)

 SEやプログラマーをやっていると、この手の技術書を読むケースが多いと思います。


 ただ、この手の技術書は一冊最低でも数千円、下手をすると一冊一万円近くするため、ちょっと興味があるレベルでは中々購入できません。
 
 洋書限定になりますが、このような技術書を月額4,000円程度($42.99)で読み放題のサイトが【Safari Books Online】です。私も現在利用しているこのSafari Books Onlineを紹介します。
 
 
 Safari Books OnlineのURLは以下になります。
 





 

 上記のサイトで検索してみると分かりますが、以下の様なWindows関連の定番本も読むことが出来ます。
 

 
 
 
 
 サイト名の通り、動物の表紙でおなじみのいわゆるオライリー本も読めます。検索機能は会員でなくても利用可能ですので、まずは目当ての本の有無を確認してみてはいかがでしょうか。
 
 

■画面イメージ

 
 ブラウザから読む場合の画面イメージはこんな感じです。
 
 
また、Android版ではアプリも提供されていますが、個人的にはGoogle Chrome等のAndroid版のブラウザ経由で読んだほうが読みやすいと思います。
 
 Android版のChromeで読む場合、以下の様な画面イメージになります。
 
 
 
 
 
 また現在無料トライアルも実施しているようですので、上記のような技術書を洋書で読みまくりたい人はまずは無料トライアルから試してみてはいかがでしょうか。
 
 
 

「APIで学ぶWindows徹底理解」SE向け書籍レビュー Windows OSアーキテクチャの基本を学びたい人向け

 Windows OSについて書籍で勉強しようとすると、限られた時間で読みこなすのが難しい書籍が多いですが、Windows OSの仕組みについて簡潔にまとめられているのが「APIで学ぶWindows徹底理解」です。




 Windows OSの仕組み理解の入門書としておすすめの本書を紹介します。


■本書の概要

本書は、
  • 第1部 OSの仕組みを学ぶ
  • 第2部 APIから知るWindowsの仕組み
の2部構成からなっています。
 第1部ではまずCPUとOSがどのように連携するか、から始まりシステムコール、プロセス/スレッド管理、メモリ管理、ファイル管理といったWindows OSの基本機能に関する説明がコンパクトにまとめられています。そしてWindows OSの仕組みを理解する上で欠かせない特徴であるメッセージループに関する説明という構成になっています。ページ数としては30ページ弱ですが、Windows OSの概要がコンパクトにまとめられており、この内容を理解することでWindowsの基本はおさえている、といっても過言ではないと思います。

 第2部は第1部の詳細をタイトルの通りWindows APIの観点から掘り下げた形で記述されています。詳しくはAmazonの目次などを参考にしていただければと思いますが、DLLの動作原理からデバイスドライバまでWindowsの仕組みについて幅広く記載されています。


 ■どのような人にオススメか


 私の場合ですが、数年前Windowsを扱う部署に異動になりWindowsの勉強をする必要がありました。先述の通りWindows OSに関する書籍は



のような定番があります。

 上記のような定番書の内容を理解することがベストなのですが、正直上記レベルの内容を仕事の合間に読んで理解することはかなり難しいです。というか私自身も異動した当時、いきなり上記の定番本で勉強しようとして大苦戦しました。

当時購入したので版数は古いです
そのような状況でなにかいい本がないかと探しているところに出会ったのが「APIで学ぶWindows徹底理解」になります。というかこの本の内容だけでも十分仕事に使えます。仕事でWindows OSを理解する必要が生じた場合、いきなり上記の定番本に手を出すよりまずは「APIで学ぶWindows徹底理解」から入ってみることをオススメします。

 本書は発売が2004年ということで古さを心配する方もいるかもしれませんが、Windows OSの基本部分はそんなに変わってないので大丈夫です。まずは本書で基本をおさえてから、上記のインサイドWINDOWSやAdvanced Windows等にチャレンジしていけばよいと思います。

 あとタイトルにAPIとあるのでプログラマー向きと思われるかもしれませんが、本書ではAPIをあくまでWindows OSが提供する機能を理解するための切り口として扱っています。なので、あくまでWindowsベースでのシステム設計やトラブル対応を行うためにWindows OSの概念や仕組みを知りたいシステムエンジニア向けの書籍である点は注意が必要です。


 ただ、この本は最早新品で購入するのは困難なので、Amazon等の中古で購入することになりますが、基本的に品薄なため、異常に高値がついているケースがあります。

 そのような場合は、同著者の本書の続編とも言える

こちらの本を買うという手もあります。こちらは未読なのですが、目次などを見る限りかなり内容がかぶっていると思われます。

「はじめて読む8086-16ビット・コンピュータをやさしく語る」SE向け書籍レビュー PCアーキテクチャの概要がわかります

 CPUやコンピュータの基本を学ぶための本は色々あると思いますが、コンパクトにまとまっていてわかりやすい本として、 「はじめて読む8086-16ビット・コンピュータをやさしく語る」を紹介します。


■本書の概要


目次はこんな感じです。

1 マシン語から広がる世界
2 実行型ファイルをダンプする
3 実行型ファイルのメッセージを変更する
4 これだけは覚えて欲しいコンピュータの知識
5 8086CPUの基礎
6 マシン語命令の実習
7 やさしいプログラミングの実例
8 マクロアセンブラによるマシン語プログラミング

 1章はアセンブラの簡単な説明です。2,3章はMS-DOSを前提とした今となっては昔話なので軽く読み飛ばす程度で大丈夫です。

 この本のポイントは4章~6章だと思います。これらの章に今でも通用するコンピュータを理解するための基本的な概念、CPU、レジスタ、メモリ、アドレス、アセンブラ、スタック、割り込み等の説明がコンパクトにまとめられています。

 この本が出版された当時はCPUも16bitが前提でした。もちろん現在の64bitのCPUやコンピュータはもっと複雑なのですが、基本的な考え方は変わっておらず、今でも参考になると思います。

 
 7,8章もMS-DOS前提なので読み飛ばしでもOKだと思います。


■どのような人におすすめか


 私もSEとして働き始めた当初は、業務ロジックをJava等のプログラミングで実装することはそれなりにできましたが、どのような仕組みでJava等のプログラムが動いているかがよくわかってませんでしたが、この本を読んでコンピュータの仕組みが何となく腹に落ちたことを覚えています。何回も読み返しました。

 
 ITアーキテクト的な仕事をするときやシステム不調時のトラブルシューティングを行う際には本書の内容は必須の知識だと思います。

 
 特に若手のシステムエンジニアでCPUやメモリについて何となくはわかるけど…という方は一度「はじめて読む8086」を読んでみてはいかがでしょうか。

 なお、「はじめて読む8086」本の内容が理解できたら、次は続編とも言えるこの本にチャレンジするのもいいかもしれません。

 32bit版のCPUを前提とした本なので、現在のCPUやコンピュータにより近い内容になっていますが、こちらの本はボリュームもあり、内容も難しくなってます。


2014年3月2日日曜日

「Cプログラミング専門課程」SE向け書籍レビュー C言語をあまり使う機会がない若手のSEにオススメします

 最近では、C言語でプログラムを実装する機会があるSEはすくないと思います。ただしWindowsやLinux等のOSやドライバの実装等、システムの基盤となる部分にはまだまだC言語は使わていますので、OSの内部アーキテクチャを理解したり、トラブルシューティング等でダンプの解析を行ったりする際には、C言語の概念をある程度理解することはシステムエンジニアとして必要です。
 C言語の文法はある程度知ってるけど…、というSEに次にオススメしたい書籍が「Cプログラミング専門課程」です。

■本書の内容

char *a = "ABC"
char a[] = "ABC"

の違いについて、きちんと説明できるでしょうか?
 初心者向けのC言語の解説だと、ポインタと配列は基本的に一緒というような記載がされているケースがあります。まあ単純な業務処理ではあれば一緒と考えて問題ないケースもないわけではないですが、実際はメモリへの格納のされ方が異なりますが、本書を読むことで、上記の違いがスッキリ理解できるようになります。
 
 
 本書の基本的な記載スタイルは、C言語でこのように実装するとこのようにメモリに格納されます、というものになります。本書の内容を理解した上でC言語のソースを読むと、「ああ、この処理でメモリのこの部分にこんな感じでデータが格納されているな」ということが理解できるようになります。またメモリリークが発生した場合、簡単なものであれば机上のソースを見るだけで原因を特定できるようになると思います。

 また

  • 配列とポインタの違い
  • バイトオーダー
  • アラインメント
  • キャスト
あたりを「メモリ」の観点から丁寧に説明されています。

■どのような人におすすめか

 基本的にはC言語をあまり使う機会がない若手のSEにオススメします。上記の通りC言語で実装する機会は無くとも、C言語の知識をもつことはSEにとって役に立つ場面が多いですので。今ならAmazonのマーケットプレイスで送料込みで600円程度で入手できますので、ぜひ読んでみてください。