広告

2014年12月15日月曜日

「はじめて読む486」が電子書籍化で適正価格で読めるようになってますね

以前、

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


の記事にて、「はじめて読む8086」の次に読む本として「はじめて読む486―32ビットコンピュータをやさしく語る」を推奨していました。



私は幸いそう高くない値段で本書を手に入れられたのですが、本書は品薄でAmazon等で中古本がプレミア価格で中々手に入れづらい状況でした。先日、ふとAmazonのページを見ているといつの間にか電子書籍化されてます。


とりあえず、Kindleと楽天Koboで電子書籍化されており、それにより中古本の価格も値下がりしているようです。電子書籍はどうも…という人も含めて、適正価格で手に入れられる状態になっています。

はじめて読む486―32ビットコンピュータをやさしく語る」の書籍が気になっていた方は、これを機会に本書にチャレンジしてみてはいかがでしょうか。






2014年12月14日日曜日

サーバーC++、クライアントJavaのシステムを担当【SE業務経歴振り返り(2)】

Windows系SEの日記: 最初の仕事はVB6で開発支援ツールの実装【SE業務経歴振り返り】

次に担当したのは全くの新規システムで、サーバー側をC++、クライアント側をJavaで実装するクライアント・サーバー型のシステムでした。わたしは主にクライアント側の実装を担当しました。

今では考えられませんが、十数年前はサーバーをJavaで実装するのはリスキーという判断があり、上記のような構成になりました。



■JavaのSwingの概念に面白さを感じつつも苦戦


私は主にクライアントのJava側を担当したのですが、Swingの概念は面白いと思ったものの、その理解には苦労しました。今ならググって参考になるサンプルを探せばなんとかなるのでしょうが、当時はネット上に上がっているサンプルも少なく、例えば画面上にグリッドを表示しグリッド内のセルをクリックするとセルの種別に応じた編集用のエディタがポップアップする、というような処理を実装するのに相当悩んだ覚えがあります。

参考になる書籍もあまりなく、以下の書籍くらいしかなかったような気がしますね。



■C++とJavaのクライアント・サーバ間通信も実装しました


当時は、C++とJavaといったような異環境間の通信方式としてCORBAを使うケースが結構有ったと思います。本システムでも当初はCORBAを検討していたようですが、CORBAを使うためのミドルウェアの費用面でNGとなり、通信部分もスクラッチで実装することになりました。

スクラッチで実装する場合、クライアント・サーバ間で通信するためのデータ形式(バイト列の意味、例えば4バイト目から8バイト目は〇〇番号を示すといったようなこと)を予めインターフェースとして定義しておく必要があります。

通常、そのようなインターフェース定義はExcel等の設計書で作成しますが、確かそのExcelのVBAの機能を使って、インタフェース定義からJavaとC++の通信用クラスを自動生成するようなマクロを作った覚えがあります。

当時はこの手のソースコードの自動生成という概念が結構流行ってたと思いますが、最近はあまり無いですかね。

この仕事で、Java、C++、VBAについてひと通りのコーディングを学んだ気がします。

2014年11月25日火曜日

Safari Books Online内の本を電子書籍形式でダウンロードしてみた

以前紹介したSafari Books Online。

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

定額でオライリーなどのコンピュータ関連の技術書を多数読むことができるサイトですが、技術書を電子書籍形式でダウンロードすることも可能です。


 例えばJavaScriptの定番本「JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides)」の場合、20トークンでMobi、ePubの2方式でダウンロードできます。
(昔はPDF形式でもダウンロードできたと思うのですが、今はできないようです)

ちなみにトークンというのはこんな感じで毎月与えられます。


わたしの契約プランの場合、毎月5トークンもらえるようです。




 本によっても違いますが、おおよそ一冊20トークンでダウンロードできますので、4ヶ月毎に一冊ダウンロードできることになります。

電子書籍としてダウンロードしたファイルはネットに接続されていない環境でもkobo aura等の電子書籍リーダーで読むことが出来ます。





2014年11月9日日曜日

情報処理技術者試験での小論文対策は試験以外でも有益

以前、情報処理技術者試験で小論文を書くのに苦戦したことを紹介しました。

Windows系SEの日記: 高度情報処理技術者試験で手書きで長文を書くことに苦戦しました



この小論文対策について、上手くまとまっている記事がありました。

守銭奴エンジニアが考えていること: 【20】情報処理技術者試験の小論文はカンタン







タイトルは煽り気味ですが書いている内容は

「事前に過去のプロジェクトやシステム経験の内容を、試験に求められるテンプレートに当てはめて書けるようにしておく 」

という極めてまっとうな対策だと思います。小論文が含まれる情報処理技術者試験を受験予定の方は一読することをオススメします。


■自分のやってきた仕事を文章化することは試験以外でも有益


自分の経験してきたプロジェクトやシステム開発経験を他人に説明する必要があるケースは試験以外でも時折あります。試験対策以外でも役に立つケースは多いと思います。特に若い人はキャリアの棚卸しも兼ねてやってきた仕事を文章化してみてはいかがでしょうか。



2014年11月2日日曜日

.NET開発者が必要最低限のCOM知識を学ぶための書籍「COM Programming with Microsoft .NET (Developer Reference)」

今は.NET FrameworkがWindows系の主な開発プラットフォームになっていますが、VB6で実装されたAPを.NETに移植する場合等、まだまだCOMの知識が必要となる場合があります。

また.NET Framework 1.1のマイクロソフトサポートが終了したことで、.NET 1.1のAPを.NET 4.Xに移植するという案件も増えています。
.NET 1.1のアプリ自体が元々VB6のアプリを移植したもので、実は.NETアプリからActive Xコンポーネントを呼び出していた、というような一見COMとは関係無いように見えて、実はCOMの知識が必要というようなケースもあります。


■今更COMを勉強し直すのも…という人におすすめ書籍あり



とは言え、今更COMを一から勉強し直すのも費用対効果に合わないのも事実です。上記のようなケースで.NET開発者が必要最低限のCOM知識を学ぶための書籍として、「COM Programming with Microsoft .NET (Developer Reference)」がオススメです。


COM Programming with Microsoft® .NET: O'Reilly - Safari Books Online








目次は上記サイトを参照してもらえればと思いますが、.NET開発者が最低限理解すべきCOMやCOM+の仕組みや、.NETからCOMにアクセスする際の実装方法等がまとまっています。

COM Programming with Microsoft .NET (Developer Reference)」を読むことで、古いプロジェクトファイル内にinteropとかaxinteropの名前のdllファイルが存在する理由もわかるようになると思います。

Safari Books Online会員であればWeb上で本書を読むことも可能ですが、Amazonマーケットプレイスで古本を安価で買うことも可能です。COMに興味のある.NET開発者の人は読んでみてはいかがでしょうか。

残念ながら本書の日本語訳はないと思いますが、平易な英語で書かれており洋書を読み慣れていない人でも大丈夫だと思います。



2014年10月22日水曜日

DBに関するおすすめ書籍「業務別データベース設計のためのデータモデリング入門」はボイスコッドや第五正規形への実践的な正規化手順等の解説あり

以前、データベース設計に関する書籍

Windows系SEの日記: 「生産管理・原価管理システムのためのデータモデリング」DB論理設計の詳細な具体例が知りたい人向けの本です

を紹介しましたが、今回は同じ著者の類書であるの「業務別データベース設計のためのデータモデリング入門」を紹介したいと思います。




基本的な本書の構成は、生産管理・原価管理システムのためのデータモデリング と同様で、前半はデータベースの正規化など、データベース設計に関する一般的な説明で、後半は実際の業務をデータモデリングする際の具体例の紹介となります。

生産管理・原価管理システムのためのデータモデリングはタイトルの通り、生産管理や原価管理に特化したデータモデリング例の解説でしたが、本書は、

商品管理
在庫管理
販売管理
購買管理
取引先管理
会計管理

の業務のデータベースモデリング例を広く浅く説明しています。データベース設計の初心者が読む分には本書のような幅広い業務の設計例を読んだほうが気づきが多いかもしれません。


■ボイスコッドや第五正規形への実践的な正規化手順の説明もあり


データベース設計において、通常第三正規形までは意識することが多いと思いますが、本書では「第五正規形」まで正規化できていないデータベースは使い物にならないと断言されています。

ボイスコッド正規形や第五正規形を実際のデータベース設計で意識しない人も多いと思いますが、本書では第五正規形まで正規化するための実践的な手順も紹介されています。


■本書のポイント


本書のポイントは以下の2点になると思います。
  • 様々な業務のデータモデリング、テーブル設計例の解説
  • ボイスコッド正規形や第五正規形を含むデータベース正規化の解説
上記のポイントが気になる方は本書を一度読んでみてはいかがでしょうか。


2014年10月19日日曜日

jQueryでTABLE内のラジオボタン選択行の背景色を変更するサンプル

最近jQueryを使う機会があり勉強中です。

本記事では、選択行の背景色を変えるjQueryのコードについてメモしておきます。


ソースコード例はこんな感じ。

 var $radioButton= $("input[name='aaaa']");
 $radioButton.click(function(){
  $radioButton.parents('table').find('td').css('background', 'white');
  $("input[name='aaaa']:checked").parent().parent().children().css('background', 'blue');
 });

基本的にはラジオボタンがクリックされると、まずテーブル全体のセルの背景色を塗りつぶして、変更前の行の色を元に戻してから、新たに選択された行の色を変更するというロジックです。

悩んだのがラジオボタンが存在するテーブルやテーブル列全体の背景色を変更する方法でした。単純にTABLEタグやTRタグの背景色を変更するだけでは上手くいかず、上記処理のようにTDタグ全体を取得したり、選択行についてはparentとchildrenを並べて対応しています。

もっとスマートな方法もあるかもしれませんが、参考になれば。


2014年9月30日火曜日

高度情報処理技術者試験で手書きで長文を書くことに苦戦しました

情報処理技術者試験(平成26年度秋期試験)が10/19(日)に行われます。私もかなり昔ですが、ネットワークスペシャリストとデータベーススペシャリスト(現在はちょっと名称が違いますが)の資格を持っています。

一応ホルダーとして、今後高度情報処理技術者試験を受験予定の方に経験談からのアドバイスを書いておきたいと思います。


■長文を手書きで書く必要がある試験に注意


いわゆる高度情報処理技術者試験には試験パターンとして2種類あります。1つ目のパターンはネットワークやデータベーススペシャリストのように原則長文を記述する必要がない試験、もうひとつは数千字の文章を書くことがメインとなる試験(システムアーキテクト試験等)です。

この長文を書く必要がある試験は要注意です。私も以前アプリケーションエンジニア試験(システムアーキテクト試験の前身)を受験したことがあるのですが、文章は当然PCではなく手書きで解答用紙に記述する必要があります。最近は手書きで長文を書く機会がないため、手書きで長文を書く練習をしていないと試験当日苦戦することになります。

私の場合、手書きで長文を書く練習を特にせず試験に臨んだため、試験中に手書きで文章を書いたり推敲して直したりすること自体に手間取り、試験途中に心が折れてしまった苦い思い出があります。


■予め手書きで長文を書く練習をしておきましょう


長文系の高度情報処理技術者試験を受験予定の方は手書きで長文を書く練習をしておくことをオススメします。




2014年9月19日金曜日

Windows Serverのメモリダンプやページングファイルについての良資料を紹介

Windows Serverのメモリダンプやページングファイルの仕様は2008→2008 R2→2012→2012 R2とバージョンアップに従い、微妙に仕様が変わってるのですが、設定例も含めてよくまとまった資料がWeb上に公開されていましたので備忘録としてメモしておきます。




Windows Server 2008/2008 R2/2012/2012 R2 大容量メモリダンプファイル設計ガイド - win2008-memory-dump.pdf

富士通のサーバ製品PRIMERGY、PRIMEQUESTサイト上の資料ですが、特に富士通サーバに特化した内容でなく、Windowsサーバ一般に通用する内容です。

2014年9月15日月曜日

「Microsoft Visual Studio 2005によるWebアプリケーション構築技法」ASP.NET2.0以降の業務Webアプリ開発者向け良書

以前、小規模なWebアプリケーションをASP.NETで開発することになった際にかなり参考にした書籍Microsoft Visual Studio 2005によるWebアプリケーション構築技法 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)を紹介したいと思います。


■本書は「.NETエンタープライズWEBアプリケーション開発技術大全」のASP.NET2.0対応まとめ版


本書を簡単に説明すると、以前紹介した「.NETエンタープライズWEBアプリケーション開発技術大全」のVol.2~5の要点をまとめてASP.NET 2.0に対応した内容です。

今や.NET Framework 4.5.2の時代で、ASP.NET 2.0古!と思う人もいるかもしれません。さすがにASP.NET1.1系はサポートも終了しましたし、動いているシステムもかなり少なくなってきたと思いますが、.NET2.0~3.5のシステムはまだまだ現役ですし、.NET Framework 3.5 SP1はMicrosoft .NET Framework サポート ライフサイクル ポリシーの FAQでも
「.NET Framework 3.5 SP1 は、Windows Server 2003 SP2、Windows Vista SP2、Windows 7 SP1、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows 8.1 Update、Windows Server 2012、および Windows Server 2012 R2 上で、各オペレーティング システムのサポート終了日に従ってサポートされます。」
と言明されており、当分サポートは続きます。

.NET 3.5というのは.NET 2.0の機能追加の位置づけですから、ASP.NET2.0の知識は今でも十分使えます。「.NETエンタープライズWEBアプリケーション開発技術大全」に興味あったけど今更ASP.NET1.1の本を4冊読むのはキツイなあ、という人にもMicrosoft Visual Studio 2005によるWebアプリケーション構築技法はおすすめです。


■対話型トランザクション処理の概念を理解したい人にもオススメ


あと本書の目次(Amazonより抜粋)

  • 第1部 ASP.NET2.0基礎(ASP.NETランタイムとWeb UIコントロールツリー、コードビハインド ほか)
  • 第2部 データバインドによる参照系アプリケーションの開発(ADO.NETによるデータアクセス、ASP.NET2.0データバインド概要 ほか)
  • 第3部 トランザクション制御を用いた更新系アプリケーションの開発(対話型トランザクション処理の設計パターン 業務排他制御による対話型トランザクション処理の開発 ほか)
  • 付録(基本的なデータ操作 Visual Studio 2005によるエンタープライズ開発 ほか)
 を見ても分かる通り、本書は業務系Webアプリにおけるトランザクションの考え方についても丁寧に記載されており、対話型トランザクション処理を
  • 後勝ちルール
  • 業務排他制御
  • 楽観同時実行制御
の3つの設計パターンに分類してそのメリット、デメリットを説明してます。

業務系のWebアプリを設計、開発する際に上記の概念を理解することは必須です。上記概念にイマイチぴんとこなかった人も含め、ASP.NETで業務系Webアプリケーションを開発したり維持管理することになった人はMicrosoft Visual Studio 2005によるWebアプリケーション構築技法は目を通しておくべき書籍だと思います。


■今ならお値段もリーズナブルです


ちなみに定価は4,000円超の本書ですが、Amazonマーケットプレイスだと今なら送料込み500円位で買えるようですので、値段的にもリーズナブルです。

2014年9月11日木曜日

情報処理技術者試験対策用のサイトを紹介

私もSEの端くれとして、ネットワークスペシャリスト等いくつか情報処理技術者の資格を持っていますが、情報処理試験に合格するためには情報処理教科書 [春期]高度試験午前I・II 2015年版の様な午前試験の対策のために問題集を購入して勉強する必要があります。

この手の問題集は意外と値が張るのでできれば問題集を買わずに済ませたいという人も多いと思います。そのような人にオススメのサイトがありました。

必ず受かる情報処理技術者試験-トップページ

要は情報処理試験の過去問なのですが、回答と解説も記載されており結構役に立ちます。

私の場合、情報処理試験ではなく社内資格の勉強用に活用しましたが、無料で公開されているものとしては十分なクォリティーだと思いました。

今後、情報処理試験を受験予定の方は、上記サイトも活用してみてはいかがでしょうか。





2014年9月7日日曜日

「アンドキュメンテッドMicrosoftネットワーク」Windowsネットワークの歴史や過去の仕様を知りたい人向けの書籍を紹介します



Windows XPのサポートも終了した今となってはさすがにちょっと古いのですが、

  • WINS
  • NetBIOS名とホスト名の違い
  • LMHOSTS
  • NetBIOS ovet TCP/IP
  • NTLM認証

等Windowsネットワークについてまとまった情報はあまりないと思います。

昔Windowsネットワークについて勉強したいと思い色々探したのですが、そこで私が見つけることが出来た上記に関する数少ない書籍が「アンドキュメンテッドMicrosoftネットワーク―誰も知らなかった「ネットワークコンピュータ」の秘密 (達人の道)」になります。

今ならAmazon等で安価で購入できますので、紹介してみます。


 ■目次(Amazonより抜粋)


目次はこんな感じです。


第1章 名前解決の基礎
第2章 複数セグメントとWINS
第3章 ブラウジング機能の基本動作
第4章 ブラウジング機能の応用
第5章 ドメインと認証機構
第6章 ダイヤルアップ接続とトラヒックの削減
付録(Microsoftネットワークとファイアウォール、SMBのセキュリティ、ネットワークモニタの紹介、SambaとMicrosoftネットワーク ほか)


■パケットキャプチャ等の動作検証結果を元に記述されてます


この書籍の特徴としては、実際にネットワークのパケットキャプチャを取得し動作検証を行った結果を元に記述されている、という点です。単にマイクロソフトの公開情報をまとめただけの書籍ではなく、むしろMSの公開情報とOSの実際の挙動の違いを指摘しているケースもあるくらい、実際の動作にこだわった記述になっています。


■Windowsネットワークの歴史や過去の仕様に興味のある人は一読してみては


本書の元ネタは2000年~2001年の日経オープンシステムの記事「Microsoftネットワークを解剖する」なので、今となってはさすがに古い内容も多いです。

とは言えNetBIOS名など今のWindowsでも引き続き使われ続けている概念もあります。今ならAmazonマーケットプレイスで安価で購入できますのでWindowsネットワークの歴史や過去の仕様に興味のある人は一読する価値はあると思います。



2014年9月2日火曜日

PAGE_FAULT_IN_NONPAGED_AREA ParametersのMemory address referencedとAddress that referenced memoryの違い

Windows Serverのダンプ解析に先立ち、まずはPAGE_FAULT_IN_NONPAGED_AREAについて調査していたのですが、

Bug Check 0x50: PAGE_FAULT_IN_NONPAGED_AREA (Windows Debuggers)

のパラメータの説明を見ると

Parameter1:Memory address referenced
Parameter3:Address that referenced memory (if known)

と記載されており、「どっちも参照されたメモリのアドレス?」と、わたしの英語力では最初違いがわかりませんでした。


■WinDbgのログを見てやっと意味がわかりました


とりあえずWinDbgのログを見てみると、Parameter1のほうは参照された(不正な)メモリアドレスの意味で、Parameter3の方は、the instruction address which referenced the bad memoryというような記載があり、不正なメモリを参照したコードが格納されているアドレスの意味でした。

まあ確かにParameter 3を直訳すると「メモリを参照したアドレス」となるので、「メモリを参照した(コードが格納された)アドレス」と補完すればよいようです。

今後、この手の英語の文書を読む際の参考にしたいと思います。

2014年8月31日日曜日

「アドバンストMS SQL SERVER 2008 構築・管理」SQL Serverで何かあると本書を確認してます


わたしが自腹で買った本ではないのですが、「アドバンストMS SQL SERVER 2008 構築・管理」は特にSQL Serverのトラブルシューティングや運用管理の実務で使えるいい本で、SQL Server関連のトラブルがあるとまず本書を確認する感じです。

そこで本書を紹介したいと思います。



■目次


まず目次はこんな感じです。(Amazonから抜粋)

第1章 導入と構成
第2章 ストレージ要件の整理とファイル配置
第3章 テーブルとインデックス
第4章 統計情報とCHECKDB
第5章 フラグメントと領域監視
第6章 データの移動
第7章 バックアップ管理
第8章 セキュリティ
第9章 モニタリングツール
第10章 メモリ、プロセッサ、I/O
第11章 ロック
第12章 クエリインデックスチューニング
第13章 クラスタリング
第14章 データベースミラーリング
第15章 ログ配布
第16章 レプリケーション

SQL Serverの機能についてひと通り網羅されていることがわかると思います。


■実務で使えるネタ多数あり


マイクロソフト製品の中でもSQL Serverは

SQL Server 2008 自習書シリーズ

徹底検証シリーズ | SQL Server 2008 R2


等比較的公開情報が充実している方だと思いますが、やはり実務で使えるノウハウに関する情報は少ないのが現実です。「アドバンストMS SQL SERVER 2008 構築・管理」は実務で使えるノウハウが多いです。

わたしとしては特に以下が役に立ちました。

  • SQLトレース等の負荷の目安
  • 実行プラン解析例
  • デッドロック解析例
  • クラスタ復旧パターン


■SQLトレース等取得すべき項目と負荷の目安


SQLトレースは負荷がかかると一般に言われますが、じゃあどの項目を取得するとどれだけ負荷がかかるのか?という情報は中々ありません。本書ではSQLトレースも含めて、一般の運用時、トラブル解析時にそれぞれ取得すべきデータ項目一覧と負荷の目安が記述されています。


■実行プラン解析例


またやたら処理時間がかかるクエリの原因調査を行う場合、実行プランの解析が必要になります。この実行プランの解析については中々情報がないのですが、本書はある程度実行プランの解析方法についてもまとめられています。


■デッドロック解析例


第11章 ロックではログからデッドロックの原因をログからの調査例が記載されています。


■クラスタリング環境のトラブルパターンと復旧手順例


第13章 クラスタリングでは、単にSQL Serverクラスタリングの仕組みだけでなく、発生しうるトラブルのパターンとパターンごとの復旧手順例まで記述されており、実際にクラスタ環境のトラブルシューティングや運用手順作成時に役に立つと思います。


仕事で使ったポイントを記載してきましたが、同じことで困っている人であれば本書は助けになると思いますので一度目を通してみてください。



2014年8月25日月曜日

.NET Framework 4、4.5、および 4.5.1 のサポートも2016年1月12日に終了でお客様説明に苦労しそう

Internet Explorer 8のサポートが2016年1月12日で終了する旨が話題になってますが、ヒッソリと.NET Framework 4.x についてもサポートポリシーが変更になってます。

Microsoft .NET Framework サポート ライフサイクル ポリシーの FAQ








.NET Framework 4、4.5、および 4.5.1 のサポートが 2016年1月12日に終了し、以降はバージョン4.5.2のみがマイクロソフトのサポート対象になるとのこと。


.NET Framework 4.5はWindows 8及びWindows Server 2012、4.5.1はWindows 8.1及びWindows Server 2012 R2にプリインストールされていますが、.NET Frameworkのサポートを受けるためには2016年1月12日までに最新の4.5.2をインストールする必要がある事になります。

今後Windows 8系をターゲットにした新規.NETアプリケーションについては、OSにプリインストールされている.NET 4.5や4.5.1ではなく、最新の.NET Framework 4.5.2を前提に開発するひつようがありそうです。


■既存の.NET 4.5、4.5.1アプリはどうするか?


 問題なのは、既存の.NET 4.5、4.5.1アプリケーションです。

上記のマイクロソフトのサポートページによると、.NET 4.5や4.5.1でコンパイルされた.NETアプリケーションは再コンパイルの必要なく、.NET Framework 4.5.2上で動作するとあります。ただ完全互換をマイクロソフトが保証するわけではありませんので、 既存の.NET 4.5や4.5.1アプリケーションを.NET 4.5.2上で動作保証するためには、また再試験が必要となりお客様説明などに苦労しそうです。

2014年8月22日金曜日

IE11エンタープライズモードがSIerには悩みの種になりそう

2016年1月12日以降最新のIEのみがサポート対象になり、そのためWindows 7+IE8を動作保証対象としている企業システムは対策を迫られます。

その対策として、今まで話題になりそうで、あまりなってなかったIE11のエンタープライズモードが改めて注目されそうですが、このエンタープライズモード、SIerにとって逆に悩みの種になりそうな気がします。


■IE11エンタープライズモードとは



IE11エンタープライズモードというのは、以下のマイクロソフトのブログ記事にもありますが簡単に言うとIE11上で特定のページのみIE8互換で動作させる仕組みです。

Blogs - Japan IE Support Team Blog - Site Home - TechNet Blogs

機能自体は多分?よく出来てるんだと思います。


■エンタープライズモードがお客様との費用交渉を難しくする


とは言え、このエンタープライズモードでマイクロソフトがIE8完全互換を保証してくれるわけではありません。そのためSIerの立場で既存のIE8対象システムをエンタープライズモードで動作保証するためには、結局ひと通りの確認試験をせざるを得ないということになります。

逆にお客様はIE11に移行する費用をエンタープライズモードを使って大幅に安くするようにSIerに求めてきますので、かえって費用交渉が難しくなるんですよね…。

今後、IE11エンタープライズモードを使うことで確認試験費用をいかに下げられるかがSIerの課題になりそうです。

2014年8月18日月曜日

2014 年8 月13日公開の問題の更新プログラムが家のPCにもインストールされてました

2014 年 8 月 13 日公開の更新プログラムを適用すると、Stop 0x50 エラーで起動しなくなる場合があるとのことで、結構問題になっていますね。

マイクロソフトのセキュリティチームのブログ

【リリース後に確認された問題】2014 年 8 月 13 日公開の更新プログラムの適用により問題が発生する場合がある - 日本のセキュリティチーム - Site Home - TechNet Blogs

によると、

  1. 2982791 [MS14-045] カーネル モード ドライバーのセキュリティ更新プログラムについて (2014 年 8 月 12 日)
  2. 2970228 Update to support the new currency symbol for the Russian ruble in Windows
  3. 2975719 August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
  4. 2975331 August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012

の4つの更新プログラムが問題とのこと。


■家のWindows 7 PCにも問題の更新プログラムが…


わたしのWindows7母艦PCを確認してみたところ




おもいっきり問題の更新プログラムがインストールされてました…。が、とりあえずわたしのPCでは起動時にSTOPエラーは発生しませんでした。

まあ流石にWindows Updateで自動更新されるプログラムについてはGDRである程度ちゃんとした試験が行われているはずですので、 多分特定の環境でのみSTOPエラーや異常終了が発生するんだろうと思います。


■とりあえずアンインストールしておきました


MSのブログでは上記更新プログラムがインストールされていた場合、問題が発生してなくてもアンインストールが推奨されてます。以下のとおりアンインストールしておきました。



 上記の更新プログラムは現在は配信停止されているとのことですので、現時点でインストールされていない場合、インストールされていてもアンインストールできればひとまず安心です。


■起動しなくなった際の対処策もMSブログにあり


なお起動しなくなった場合の対処策も上記MSブログにありましたので、困っている人は確認して下さい。

2014年8月14日木曜日

C++の定番本ですが「Effective C++」は読んでおくべき

C++を勉強したい人向けに、定番本ですが「Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series」をオススメしたいと思います。


■Effective C++書籍の構成


本書の目次を見ると

第2章 メモリ管理
5項 newとdeleteのペアは、同じ形式に備えよう

というように1項ごとに一つのトピックについて記述し、それが合計50項記載されるという形式をとっているのですが、単なる断片的なノウハウ集ではなく、C++の基本事項が網羅されていると思います。


■まず読むべき項目


特にわたしがためになった箇所は

第2章 メモリ管理
第3章 コンストラクタ、デストラクタ、代入演算子

の章全体と第4章の

21項 使える時は必ずconstを使おう
22項 値渡しよりも、リファレンス渡しを使おう

あたりです。上記の項を読むことでC++ではどのようなときに新しいオブジェクトが作られメモリが使われるか、無駄なオブジェクト作成を避けるためにどのようなコーディングをすべきかということが理解出来ました。

古い本で改訂版も出ているのですが、今回紹介した改訂2版であればAmazonで格安で入手できます。まずは古い版を読んでみるのがいいのではないかと思います。



■もう一冊おすすめ「CプログラマのためのC++入門」



もう一冊C言語はある程度知ってる人が、C++言語を勉強する際のおすすめの書籍として「CプログラマのためのC++入門」も上げておきます。

こちらも古い書籍ですが、その分安く入手可能です。



2014年8月12日火曜日

IE8サポートが2016年1月12日で終了で企業システムは対策が必要ですね

Microsoft、IE 8のサポートを2016年1月12日に終了へ - ITmedia ニュース

の記事によると、Internet Explorer 8のサポートが2016年1月12日で終了するとのこと。

正確に言うと、各OSにインストール可能な最新のIEのみがサポート対象になるようです。

http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx


マイクロソフトのブログにも以下の記載があり、

After January 12, 2016, only the most recent version of Internet Explorer available for a supported operating system will receive technical support and security updates. For example, customers using Internet Explorer 8, Internet Explorer 9, or Internet Explorer 10 on Windows 7 SP1 should migrate to Internet Explorer 11 to continue receiving security updates and technical support.
例えばWindows 7 SP1では2016/1/12以降はIE8,9,10はサポート及びセキュリティアップデートは提供されないとのことです。


■IE8サポート終了で企業システムは対策が必要


これ一般コンシューマーはともかく、企業システムにとってはでかいニュースではないでしょうか。

企業システムはOSにプリインストールされているIEバージョンを動作保証対象にしているケースが多いですし、基本的にOSのサポート期限までプリインストールバージョンのIEもサポートされる前提で考えてたと思います。

Windows 7だと 2020/01/14が延長サポート終了予定日です。IE8もそこまではサポートされるのかなと私も思ってました。

今後、企業システムでは対応の見直しが必要になるでしょうね。

2014年8月10日日曜日

「LINQテクノロジ入門」 ラムダ式やデリゲートを勉強したい人にもオススメの本

マイクロソフト関連の仕事をしている人にはお馴染みの赤間信幸氏の著書「LINQテクノロジ入門 MS VS2008による新たなクエリ構築技法 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)を紹介します。





■ LINQは使わなくてもラムダ式やデリゲートは使うはず


「LINQなんて使っているところ見たことないよ」と思われるかもしれません。私もLINQを使っている現場を経験したことはないです。

じゃあ何でこんな本を買ったの?ということですが、LINQを理解したかったというよりは、.NET Frameworkの実装を理解する上で重要な「ラムダ式」と「デリゲート」の具体例が知りたかったのが理由です。
また赤間信幸氏の本は他にも何冊が読んでおり、基本わかりやすくて面白いというのもありました。

他にも、自動型推定機能や匿名データ型等、.NET Frameworkのコーディングを理解する上で必要な概念が色々記載されています。LINQを理解するためには、まずこれらの概念を理解する必要があるためです。

そのためLINQ自体には興味がなくても、先に述べたキーワード(ラムダ式、デリゲート、自動型推定、匿名データ型等)に興味のある方にとっても興味深い本になっています。

あ、もちろんLINQ自体を理解する上でもいい本ですよ。




2014年8月9日土曜日

「絵で見てわかるSQL Serverの内部構造」SQL Serverを深く知りたい人は挑戦すべき書籍

絵で見てわかるSQL Serverの内部構造 (DB Magazine SELECTION)」を紹介します。


タイトル通り、SQL Serverの内部構造を豊富な図を交えて解説した本です。本書は
  • SQL Serverの内部アーキテクチャや仕組みを深く知りたい人
  • SQL Serverのトラブルシューティングやチューニングを担当する人
に読んでもらいたい書籍です。


■目次


目次は以下のとおりです(Amazonから引用)。

SQL ServerによるCPUリソースの使用
SQL Serverが実行するI/O動作
SQL Serverのメモリ管理~前編
SQL Serverのメモリ管理~後編
データベース構造の深層
テーブル構造の深層
データベース破損への対応
バックアップと復元の深層
リレーショナルエンジンを徹底解剖
SQL Serverとネットワーク
お勧めのSQL Server便利ツール
特選トラブルシューティングTips


■内容はかなり濃いです


SQL Serverはスレッド管理をOS任せにせず、SQLOSスケジューラでスレッド管理とCPU割り当てを独自に行いうのですが、「SQL ServerによるCPUリソースの使用」の章ではその仕組を丁寧に説明しています。

またSQL Serverのメモリの使い方やファイル構造については、SQL Server内部で使われているWindowsのAPI(WriteFileGather、VirtualAlloc関数)やOS自体のメモリ管理の仕組み(ユーザーモード、カーネルモード)も含めて説明されています。

ページ数は270ページほどでそうボリュームがあるわけではないですが、上記の通り内容はかなり濃いと考えて下さい。一読しただけで内容を全て理解することは出来ないと思います。

私自身もヒマを見て何回か読み返していますが 内容を完全に把握したとは言えないです。逆に本書の内容を頭にいれることができれば、SQL Serverの内部挙動をかなり推測、説明できるようになるでしょう。

SQL Serverを仕事で使う人、特にDB管理やチューニング、トラブルシューティングを担当する人はぜひ挑戦したい書籍でしょう。

2014年8月7日木曜日

「生産管理・原価管理システムのためのデータモデリング」DB論理設計の詳細な具体例が知りたい人向けの本です

以前、データベースの論理設計をする際に参考にした本「生産管理・原価管理システムのためのデータモデリング(渡辺 幸三)」を紹介します。



データベース論理設計を生産管理・原価管理システムの具体例から解説した、わたしの知る限りあまり類書がない本だと思います。

■目次

目次は以下のとおりです。

第1部 データモデリング入門
 第1章 データベースとデータモデル
 第2章 エンティティ関連と正規化
 第3章 システム設計に関する知識

第2部 生産管理システムのデータモデル
 第1章 部品表と工程表
 第2章 未来を見通す在庫システム
 第3章 入出荷と製造
 第4章 月次計画と原価計算)

本書の構成は、「第1部 データモデリング入門」で関数従属性や第一~第三正規形等のRDBでのデータベース論理設計を行うための基本的な知識の説明を行い、「第2部 生産管理システムのデータモデル」で、第1部の知識を使って具体的な業務においてどのように設計を行うかの具体例を解説する、という流れになっています。


■本書の特徴


この手の本では通常データベースの基本的な知識の説明がメインで、その具体例というのはオマケ程度で実際の業務の参考にはならないというパターンが多いですが、この本は違います。むしろ「第1部 データモデリング入門」はさらっとした説明にとどめ、「第2部 生産管理システムのデータモデル」の説明に重点が置かれています。ページ数で見ても第1部が70ページ程度に対して、第2部は200ページ以上のボリュームです。

生産管理業務おいて、「品目」とは何か?「部品表」とは何か?これらの業務をデータベースで表現するにはどのように設計すればよいか?、原価計算における集計と配賦に適したデータモデルは?というようなことが延々と記載されています。


■とにかくDB論理設計の詳細な具体例の解説が欲しい人にオススメ


データベース論理設計(データモデリング)の理論だけではなく実在の業務での具体例が知りたいという人にはピッタリの本だと思います。本書のタイトルに生産管理、原価管理とありますが、具体例が生産管理、原価管理システムというだけで、考え方自体は、他の業務システムのデータベース設計にも役立つと思います。