コンサルタントコラム

ホーム >コンサルタントコラム >紀井 斎

コンサルタントの紹介

紀井 斎(制作部長)

新技術の導入、新商材の開発まで手掛け品質・運用管理を統括

食品メーカー内の情報処理部門における基幹システム運用管理・インフラ整備・Webサイト制作などで得た豊富な経験をもとに、Webサイト構築、品質管理、運用管理、新技術の検証・導入、新商材の企画・開発を行う。現在は、制作部門のマネジメントを担うとともに社員育成にも力を入れ、社内大学制度では自ら講師として教壇に立って人材の”人財化”を推進。企業価値を高められる人材創出に奔走している。

プログラミング人材育成品質管理

XHTMLが担う役目

2009年06月 6日 02:54 PM

 投稿者 紀井 斎

 この記事のパーマリンク

Webサイト制作

今日は、Webコンサルタント.jpの紀井でございます。

弊社では、Find Job!に掲載(6/8まで)などして現在Webの制作者の採用活動を行っているのですが、面接時に「XHTMLとCSSとを用いてコーディングをやっていました」という様に前職でのご経験にお話をいただく事が多いです。
その際に、何故XHTMLで記述する必要があるのかをお聞きするとまちまちな答えが返ってきます。
一般的に、XHTMLによる文書構造化とCSSによる装飾でWebサイトを構築するとSEOに効果的だと言われています。

では、何故、文書構造化と装飾に分ける必要があるのでしょうか?

それは、HTMLの歴史について、少し知っておくと分かり易いと思います。
元々コンピュータは数値演算につかわれていたのですが、それ以外の利用の理論を研究している人は幾人もいたようです。
その中で、テキストにリンクを貼ったり、画像を表示したりと考案したのが、ティム・バーナーズリー氏でした。
HTMLも歴史が移り変わる中で、HTML1.0からHTML5.0(予定)まで仕様が変更されてきています。
元々、文章をWeb上で公開させたいというところから始まっていたのですが、色を変えたいであるとか、大きくしたい、太文字にもしたいというニーズを取り入れてきている経緯があります。
他にも文字を動かしたいであるとか、点滅させたい等々、様々なニーズを取り入れるにつれて、ただ文章を公開するだけでなく、よりグラフィカルするという機能が追加されています。
この時点で、文章と装飾がごちゃまぜになってきています。

さて、近年では、WebサイトをYahoo!やGoogleなどのサーチエンジンで、検索上位にしたいというニーズがあり、だからこそ検索エンジンを最適化しようとするSEOという概念が存在しています。
サーチエンジンでの順位を決める為の要素というのはいくつもあるのですが、ではいったい誰がどのようにして決めているのか?
今現在は、クローラーと呼ばれるロボットがサイトを巡回して、情報を収集しているようです(昔は人海戦術だったらしいです)。
ロボットがWebサイトを見に来るというところで、では、一体何を見ているのか?非常に気になるところではあります。
実は、人間のように視覚から情報を得るわけでもなく、文章からその真意を理解できるわけでもありません。
ロボットはただ記述されたタグの意味と内容を照らし合わせているだけなのです。
つまり、視覚情報から得られる恩恵をロボットは得られません。
それどころか、不要な記述があれば理解に時間がかかったり、理解できなかったりする事があります。
だから、文書構造化と装飾とに分ける必要がでてくる訳です。
人間向けに装飾を効かせたグラフィカルなサイト。ロボット向けに理解しやすいように記述したソース。
題名になっているXHTMLが担う役目というのは、このロボット向けに理解しやすいように記述したソースな訳です。
ロボットというと、クローラーだけではなく、視覚にハンデをお持ちの方がWebブラウジングを楽しむ為に開発された音声ブラウザでも存在します。
音声ブラウザはタグの意味を理解し、見栄えではなく、文書として強調すべきところは男性の声で発音し、文書のタイトルやリンクでも区別してくれます。
だからこそ、文書と装飾を分ける必要があったんですね。

弊社では、そういった背景を理解し常に最適なものを提供できるよう日々取り組んでおります。

蛇足ですが、Find Job!掲載終了後も弊社採用情報ページでも引き続きアルバイトさんの募集を掛けさせていただいておりますので、興味をお持ちの方は、一緒にお仕事してみませんか?

今回のは2年くらい前に作った万年カレンダーです。
DEMO
万年カレンダー自体は何も珍しくありません。
PHPの場合は、pear::calendar等を利用すると簡単に作れるのですが、DEMOではPerlで作られたところがポイントです。
Perlは、文字列や正規表現には強かったりするのですが、トランザクション内で行う処理が細かに指定できる分、組み上げるのに非常に時間を要します。
カレンダー生成の流れ
1 当日日付を取得
2 当日日付から当月の月初日と月末日を算出
3 月初日からツェラーの公式を用いて曜日を算出
4 月初日の曜日からテーブルの位置を確定し、ループする処理を使って各枠内に日を当て込んでいく
というように、細かく算出を行う必要があり、かなり時間がかかってしまいます。
ツェラーの公式(年+年/4?年/100+年/400+(13*月+8)/5+日mod7)を知らなかったら、そのアルゴリズムを考えるのに苦労したことでしょう。
また、カレンダーの場合、気をつけるべき点は、うるう年計算です。
#1. 西暦が4で割り切れる年はうるう年
#2. かつ、西暦が100で割り切れる年はうるう年では無い
#3. かつ、西暦が400で割り切れる年はうるう年
これにより2月月末日が28か29で変わってきます。
2年くらい前だと、なかなかカレンダーって簡単に出来る仕組みがなくて苦労しましたが、現在はフリーソースなんかでもいくつか見受けられますし、便利な世の中になったなと思います。

本日はこれにて、失礼いたします。

この記事に関連するテーマ