2008年12月24日水曜日

Google AdSense

Google AdSense  
Webサイトの内容に関連のあるWeb広告を自動的に配信し、Webサイト運営者に広告収入を支払うサービス。Google社がWebサイト運営者に対して提供しているサービスである。Google AdSenseを利用する場合、申し込みをした後で、Googleの提供するJavaScriptを自身のWebページに埋め込むと、Googleから配信されるWeb広告を自身のWebサイトに掲載できる。広告料はWeb広告のクリック回数に応じてWebサイト運営者に支払われる。Googleから配信されるWeb広告は、Webページを読み込み解析することでその内容に最も関連したものが自動的に選ばれる。また、Webサイト内にGoogleの提供する検索ボックスを埋め込むことで、その検索ボックスの検索結果に応じた広告を表示することもできる。Web広告とWebサイトの内容を連動させることで、Webサイト閲覧者の興味のある分野のWeb広告を表示することができ、閲覧者がWeb広告をクリックする確率を上げる効果が期待できる。Webサイトの解析には、Googleの検索エンジンに使われている技術が応用されており、Webサイトに掲載されている文章の文脈に応じて語句の意味を区別し、適切な広告を選択することができるようになっている。広告を機械的にクリックしたり、AdSenseを含むページを更新を繰り返すなどの禁止された行為を行うとアカウントを停止されることがある。一度停止になると復活は不可能と言われており、部外者が故意にアカウント停止にする行為が問題となっている。
このようなサービスを提供するGoogleだが、立案されたモノの中から実際にサービスが開始されるのは何分のいくつなんだろう。常に最新の技術を備え、常に最高のエンジニアを抱えているグーグルだからこそ出来る。エンジニアなら1度は働いてみたいと思うはずだ。

2008年12月17日水曜日

【framework】


枠組み、下部構造、構造、組織という意味の英単語。

 ソフトウェアの世界では、アプリケーションソフトを開発する際に頻繁に必要とされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのこと。アプリケーションの雛型。開発にフレームワークを利用すると、独自に必要とされる部分だけを開発すれば済むため開発効率の向上が見込める。具体的なソフトウェアだけでなく、汎用的に適用できるプログラムの設計モデルや典型的な処理パターンなどを含めてフレームワークと呼ぶ場合もある。

近年ではMicrosoft .NET Frameworkが非常に有名です。

ちなみにMicrosoft .NET Framework とは Microsft が提供する、(2000年6月に発表された)新しい開発プラットフォームです。

.NET Framework では、プログラムはネイティブコードではなく、IL (Intermediate Language)と呼ばれる中間コードにコンパイルされます。 この IL を実行するための環境(の仕様)を CLI (Common Language Infrastructure)といいます。 IL は、この CLI 仕様にそった実装さえされていれば任意のプラットフォームで実行することが出来ます。

Microsoft 自身による Windows 上の CLI 実装である Common Language Runtime (CLR)に加えて、 現在、Microsoft は Corel と提携し、 Mac / FreeBSD 版の CLI を開発しています。 (β版が Microsoft のサイトや Corel のサイトからダウンロードできます。) また、 Ximian が Linux 版の CLI であるmonoを、 Southern Storm Software が、DotGNU を開発しています(C#コンパイラとクラスライブラリの一部は完成)。

また、IL は CLI によってファイル、メモリ、ネットワーク接続などのリソースを管理されていて、 メモリの解放し忘れなどによるリソースリークを防ぐことが出来ます。

.NET Framework に対応したすべての言語は IL にコンパイルされます。 現在、.NET Framework に対応している言語は Microsoft が提供している C#、VB.NET、C++/CLI (C++を.NETに適応するように改良したもの)、JScript や、サードパーティの提供する Perl や Python など、20種類以上のものがあります。 .NET Framework では、これらすべての言語で同じライブラリを利用できますし、 異なる言語で書かれたプログラムを呼び出すことが出来ます。 例えば、C++/CLI で書かれたクラスを継承した新しいクラスを VB.NET で作り、そのクラスを C# から呼び出すといったことも可能です。

また、.NET Framework を用いることでプログラマは COM やレジストリなどの知識がなくても分散アプリケーションの作成、配布が容易に行えます。

VB、JScript、C++ などの既存の言語は、.NET Framework に対応出来るように拡張されています。 一方、C# は初めから .NET Framework 上で使うことを想定して設計された言語です。

2008年12月11日木曜日

西暦2036年問題

西暦2036年問題
一部のソフトウェアやプロトコルの仕様により、西暦2036年以降の日付や時刻を正しく扱えない問題。また、それが原因でコンピュータが一斉に誤作動を起こし社会に混乱を招く可能性があるという問題。
インターネットなどで時刻合わせのために使われるプロトコルであるNTP(Network Time Protocol)は時刻を1900年1月1日午前0時からの積算秒数で管理している。この値は32ビットの符号無し整数(unsigned long int型)で表現されるため、上限値である42億9496万7295秒を超えると正しく時刻を表現できなくなる。経過秒数がこの上限を超えるのは協定世界時(UTC)で2036年2月6日6時28分15秒(日本時間15時28分15秒)であり、これを過ぎるとNTPで時刻設定を行なっているシステムが誤作動を起こす可能性がある。
コンピュータに詳しくない人はなんの事かわからないと思うが、簡単に言うと10桁しか計算できない電卓で11桁目の計算をしなければならなくなるのが2036年目におとずれるかんじ…かな?誤作動が起こる前に対策を整えておけるのか。

2008年12月4日木曜日

【OpenSocial】


Google社が2007年10月に発表した、ソーシャルネットワーキングサービス(SNS)を利用したアプリケーションソフトを開発するための共通の機能セット(API)の体系。

SNSがOpenSocialに呼び出し規約に従って機能を開放することにより、開発者がそのSNSのデータや機能を利用したサービスやソフトウェアを開発することができるようになる。

 従来、SNSの持つデータなどは運営企業が独占的に利用することができ、外部の開発者がそれを利用したアプリケーションを作ることはできなかったが、米大手SNSのFacebookが自社の持つデータや機能を利用できるようAPIを開放したところ、数千に及ぶ対応アプリケーションが開発され、Facebookの普及を促進する一因ともなった。

 こうした動きを受け、Google社は複数のSNSで共通して使える呼び出し規約をOpenSocialとして整備し、各社に対応を呼びかけている。

OpenSocialを利用して作られたアプリケーションは、基本的にはOpenSocialに対応したどのSNSでも使えるようになる。Google社自身のSNSであるOrkutに加え、米大手SNSのFriendster、日本最大手SNSのmixiなど十数社が対応を表明している。

2008年12月2日火曜日

File Allocation Table 32


Windows 95 OSR 2.0以降やWindows 98/Meで利用されるファイルシステム。ディスクを2の32乗(=約42億)の小さな単位に分割して管理する事が出来る。

最大2TBまでの領域を管理できる。FAT16でも管理できる2GB以下の容量のディスクをFAT32で管理すると、管理効率が高まって無駄な領域が減るため、ディスクを有効利用できる。
FAT32は主にWindows 98/Meで使われているが、Windows 2000/XPなどで使用することもできる。しかしながらWindows NTでは使用できないという利用環境の制限もある。。File Allocation Table 32
Windows 95 OSR 2.0以降やWindows 98/Meで利用されるファイルシステム。ディスクを2の32乗(=約42億)の小さな単位に分割して管理する事が出来る。