<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>エスキュービズム ラボ Blog</title>
	<atom:link href="http://labs.s-cubism.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.s-cubism.com/blog</link>
	<description>エンジニアの活動報告などなど</description>
	<pubDate>Thu, 15 Dec 2011 12:21:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>ja</language>
			<item>
		<title>就活イベント・スケジュール管理iPhoneアプリを開発しました</title>
		<link>http://labs.s-cubism.com/blog/2011/12/15/238/</link>
		<comments>http://labs.s-cubism.com/blog/2011/12/15/238/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 12:19:57 +0000</pubDate>
		<dc:creator>chizuru.maki</dc:creator>
		
		<category><![CDATA[告知]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=238</guid>
		<description><![CDATA[
「会社なび/就職活動」が究極の就職活動支援iPhoneアプリを開発いたしました。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
就活予定帳！企業＆イベント管理
詳細・ダウンロードはこちらから
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
■本アプリの概要
エスキュービズムは学生向けの就職活動支援事業として
「会社なび／就職活動」を運営しております。
「会社なび／就職活動」では複数アプリをリリースしており、
前回アプリは総合ランキング1位を獲得いたしました。
今回開発した「就活予定表！」は
会社説明会や面接など、就職活動に関わるイベントや
スケジュールの管理を簡単に行うことができるアプリです。
～12/31まで、期間限定の無料キャンペーンを実施しています。
■主な機能
他社のアプリを徹底研究して使い勝手を追求いたしました。
・面接や説明会、ESの締切日など就活のイベントをカンタンわかりやすく管理
・GoogleカレンダーやiPhone標準カレンダーと同期も可能
・Webサービスの「会社なび/就職活動」と連動しているので、
大量のデータ入力はパソコンからでもOK
・大量の企業マイページURL、ID、パスワードも管理できる
・ソニーも物産も電通も、有名企業はもちろん20万社を超える社名が予め登録済
・就活関連の他社アプリを徹底的に調査・研究して
「使いやすい」「使える」アプリに
※利用テストした就活生の声
「Googleカレンダーと同期するのが便利」
「他のアプリが使えなかったけど、これは使える」
「Androidはまだないんですよね？iPhoneで良かった(笑)」
「クリックした時の反応速度がハンパなく早い｣
※便利に使えるようにこのアプリはWebサービスと完全連動します。
そのためご利用いただくにはユーザ登録が必要です。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
就活予定帳！企業＆イベント管理
詳細・ダウンロードはこちらから
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;

■「会社なび/就職活動」とは？
会社なび/就職活動は、「就活の不平・不満を全て解消する」ことを目指し、
就活に成功/失敗したOB・OGや内定者と一緒に創っているサービスです。
通過済みエントリーシートが見れるなど就活に便利なコンテンツを多数掲載、
企業側が学生にメッセージを送信する機能なども備わっています。
先日、【日経新聞】本誌にも取り上げられ、急激に利用ユーザ数が増えています。
会社なび/就職活動
http://sk.kaisyanavi.jp/

]]></description>
			<content:encoded><![CDATA[<div>
<p>「会社なび/就職活動」が究極の就職活動支援iPhoneアプリを開発いたしました。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong>就活予定帳！企業＆イベント管理</strong><br />
詳細・ダウンロードは<a href="http://itunes.apple.com/jp/app/id485813793" target="_blank"><strong>こちら</strong></a>から<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>■本アプリの概要</p>
<p>エスキュービズムは学生向けの就職活動支援事業として<br />
「会社なび／就職活動」を運営しております。</p>
<p>「会社なび／就職活動」では複数アプリをリリースしており、<br />
前回アプリは総合ランキング1位を獲得いたしました。</p>
<p>今回開発した「就活予定表！」は<br />
会社説明会や面接など、就職活動に関わるイベントや<br />
スケジュールの管理を簡単に行うことができるアプリです。</p>
<p>～12/31まで、期間限定の無料キャンペーンを実施しています。</p>
<p>■主な機能</p>
<p>他社のアプリを徹底研究して使い勝手を追求いたしました。</p>
<p>・<strong>面接や説明会、ESの締切日など就活のイベント</strong>をカンタンわかりやすく管理<br />
・GoogleカレンダーやiPhone標準<strong>カレンダーと同期</strong>も可能<br />
・Webサービスの「会社なび/就職活動」と連動しているので、<br />
大量のデータ入力はパソコンからでもOK<br />
・大量の企業<strong>マイページURL、ID、パスワードも管理</strong>できる<br />
・ソニーも物産も電通も、<strong>有名企業</strong>はもちろん20万社を超える社名が予め登録済<br />
・就活関連の他社アプリを徹底的に調査・研究して<br />
<strong>「使いやすい」「使える」アプリ</strong>に</p>
<p>※利用テストした就活生の声<br />
「Googleカレンダーと同期するのが便利」<br />
「他のアプリが使えなかったけど、これは使える」<br />
「Androidはまだないんですよね？iPhoneで良かった(笑)」<br />
「クリックした時の反応速度がハンパなく早い｣</p>
<p>※便利に使えるようにこのアプリはWebサービスと完全連動します。<br />
そのためご利用いただくにはユーザ登録が必要です。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong>就活予定帳！企業＆イベント管理</strong><br />
詳細・ダウンロードは<a href="http://itunes.apple.com/jp/app/id485813793" target="_blank"><strong>こちら</strong></a>から<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><a href="http://itunes.apple.com/jp/app/id485813793" target="_blank"><img class="alignnone" src="http://a3.mzstatic.com/us/r1000/075/Purple/28/53/37/mzl.rgxptjxl.320x480-75.jpg" alt="人気企業や優良企業の就活情報を管理できる[就活予定帳！]" width="50%" height="50%" /></a><a href="http://itunes.apple.com/jp/app/id485813793" target="_blank"><img class="alignnone" src="http://a2.mzstatic.com/us/r1000/111/Purple/32/07/21/mzl.owqmtylo.320x480-75.jpg" alt="iPhoneやGoogleカレンダーとも同期[就活予定帳！]" width="50%" height="50%" /></a></p>
<p>■「会社なび/就職活動」とは？</p>
<p>会社なび/就職活動は、「就活の不平・不満を全て解消する」ことを目指し、<br />
就活に成功/失敗したOB・OGや内定者と一緒に創っているサービスです。<br />
通過済みエントリーシートが見れるなど就活に便利なコンテンツを多数掲載、<br />
企業側が学生にメッセージを送信する機能なども備わっています。</p>
<p>先日、【日経新聞】本誌にも取り上げられ、急激に利用ユーザ数が増えています。</p>
<p>会社なび/就職活動</p>
<p><a href="http://sk.kaisyanavi.jp/" target="_blank">http://sk.kaisyanavi.jp/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2011/12/15/238/feed/</wfw:commentRss>
		</item>
		<item>
		<title>「会社なび/就職活動」を現在、パワーアップ公開中</title>
		<link>http://labs.s-cubism.com/blog/2011/10/17/236/</link>
		<comments>http://labs.s-cubism.com/blog/2011/10/17/236/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 06:51:56 +0000</pubDate>
		<dc:creator>みー</dc:creator>
		
		<category><![CDATA[告知]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=236</guid>
		<description><![CDATA[弊社サービスの「会社なび/就職活動」を現在、パワーアップ公開中です。
先輩のエントリーシートが1,200枚以上登録されていて、無料でWebテストの対策や、新卒マイページの管理、最終面接で何が聞かれるかなど就活お役立ち情報が盛りだくさんです。

今年はリクナビやマイナビなど就活系の大手サイトのオープンが 12月 になりましたが、すでに就職活動を始めている学生さんもけっこう多いと思います。
これからも機能を続々追加していきますので、ぜひ 会社なび を活用して就活を乗り切ってください。
会社なび/就職活動 で使える便利なアプリの数々をご紹介。

先輩のES

エントリーシート総数1,200枚以上！設問内容によって絞り込み検索までできちゃいます。

掲示板

登録20万社以上！試験何が出る？面接で何を聞かれる？貴方だけが知らないかも？

試験対策

国内最多の練習問題、しかも全問に解説付き！不合格を回避！選考突破に試験対策は重要です。

試験対策-外資

外資は全く別の対策が必要。問題を見たことがありますか？ 外資の対策も。

Webテスト

いきなり本番を迎えますか？模擬試験で慣れて就活を優位に進めよう。

ゲーム

似たような就活サイトにウンザリしてませんか？息抜きも必要です、気分転換にどうぞ

シュウちゃん＆カツくんの適職診断

iPhoneアプリ 総合No.1獲得！大ブレークしたアプリがWeb版になって再登場

学歴早見表

大学に入学した年をすぐに言えますか？えっと何年だっけ？とならないようにお手伝い

メッセージ

見落としたセミナー、説明会情報ない？全国の魅力的な企業からメッセージが届きます。
まだまだ就活に役立つツールやコンテンツを準備中。
これだけ使っても利用料は無料！ 就活生の皆さんはぜひ日本一の就活サポートサイト「会社なび」を利用してください。

]]></description>
			<content:encoded><![CDATA[<p>弊社サービスの「会社なび/就職活動」を現在、パワーアップ公開中です。</p>
<p><a title="エントリーシート、志望動機など書き方見本を探すなら、会社なび" href="http://sk.kaisyanavi.jp/app/essearch/" target="_self">先輩のエントリーシートが1,200枚以上</a>登録されていて、<a title="無料でWebテストの練習問題ができる、しかも解説付き" href="http://sk.kaisyanavi.jp/app/webtest/" target="_self">無料でWebテストの対策</a>や、新卒マイページの管理、<a title="新卒の最終面接、説明会の対策なら、会社なび" href="http://sk.kaisyanavi.jp/app/board/" target="_self">最終面接で何が聞かれるか</a>など就活お役立ち情報が盛りだくさんです。</p>
<p style="text-align: center;"><img class="aligncenter" src="https://sk-media.kaisyanavi.jp/images/l-clm-img-ttl2.gif" border="0" alt="https://sk-media.kaisyanavi.jp/images/l-clm-img-ttl2.gif" /></p>
<p>今年はリクナビやマイナビなど就活系の大手サイトのオープンが 12月 になりましたが、すでに就職活動を始めている学生さんもけっこう多いと思います。</p>
<p>これからも機能を続々追加していきますので、ぜひ 会社なび を活用して就活を乗り切ってください。</p>
<p>会社なび/就職活動 で使える便利なアプリの数々をご紹介。</p>
<ul>
<li>先輩のES</li>
</ul>
<p>エントリーシート総数1,200枚以上！設問内容によって絞り込み検索までできちゃいます。</p>
<ul>
<li>掲示板</li>
</ul>
<p>登録20万社以上！試験何が出る？面接で何を聞かれる？貴方だけが知らないかも？</p>
<ul>
<li>試験対策</li>
</ul>
<p>国内最多の練習問題、しかも全問に解説付き！不合格を回避！選考突破に試験対策は重要です。</p>
<ul>
<li>試験対策-外資</li>
</ul>
<p>外資は全く別の対策が必要。問題を見たことがありますか？ 外資の対策も。</p>
<ul>
<li>Webテスト</li>
</ul>
<p>いきなり本番を迎えますか？模擬試験で慣れて就活を優位に進めよう。</p>
<ul>
<li>ゲーム</li>
</ul>
<p>似たような就活サイトにウンザリしてませんか？息抜きも必要です、気分転換にどうぞ</p>
<ul>
<li>シュウちゃん＆カツくんの適職診断</li>
</ul>
<p>iPhoneアプリ 総合No.1獲得！大ブレークしたアプリがWeb版になって再登場</p>
<ul>
<li>学歴早見表</li>
</ul>
<p>大学に入学した年をすぐに言えますか？えっと何年だっけ？とならないようにお手伝い</p>
<ul>
<li>メッセージ</li>
</ul>
<p>見落としたセミナー、説明会情報ない？全国の魅力的な企業からメッセージが届きます。</p>
<p>まだまだ就活に役立つツールやコンテンツを準備中。</p>
<p>これだけ使っても利用料は無料！ 就活生の皆さんはぜひ日本一の就活サポートサイト「会社なび」を利用してください。</p>
<p style="text-align: center;"><a href="http://sk.kaisyanavi.jp/contents/flyer/" target="_blank"><img src="http://sk.kaisyanavi.jp/contents/flyer/images/flyer/btn-lp-entry.png" alt="http://sk.kaisyanavi.jp/contents/flyer/images/flyer/btn-lp-entry.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2011/10/17/236/feed/</wfw:commentRss>
		</item>
		<item>
		<title>「会社なび/就職活動」PR用のJSゲームアプリを作成しました</title>
		<link>http://labs.s-cubism.com/blog/2011/04/07/235/</link>
		<comments>http://labs.s-cubism.com/blog/2011/04/07/235/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 08:15:12 +0000</pubDate>
		<dc:creator>ishii</dc:creator>
		
		<category><![CDATA[アプリ]]></category>

		<category><![CDATA[告知]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[ゲーム]]></category>

		<category><![CDATA[サービス]]></category>

		<category><![CDATA[就活]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=235</guid>
		<description><![CDATA[弊社サービス「会社なび/就職活動」のPR用に、JavaScriptゲームアプリを作成しました。
面接ウォーズ ＜就活生の逆襲＞
良かったらプレイして見て下さいね！
mw-top posted by (C)kjirou
　


　
・・・と紹介が終わったということで、
以下は技術的なお話になりますが
今回、普通Flashで作るべきものをJavaScriptで作ったのは、
「自分がJSの方が得意なので工数が掛からない」という点もさることながら、
何より「こういうゲームの類で、JSだとどこまで出来るのか確認したい」と言う点もありました。
以下、雑感書き殴りです。
Flashとまず比較される速度面については、
Chromeは滑らかに動きます。IE8では結構カクカク、Firefox3でもたまにカクッとなりますが、
jQueryを使用しつつ、ほとんど速度対応しないで作成してますので、
ちゃんとその辺の技術のある方が作れば、かなりマシになると思います。
描画関係は、canvasがあるとは言え、IEも含めて考えると
全く太刀打ちできません。
その他、各ブラウザが結局は各社のソフトなんだということを実感する不便さもありました。
例えば、トリプルクリックやドラッグなどのJSで制御できない挙動をされることで
思いがけない動きが出ることがありました。
例えば、IE8だと「Bingで検索」みたいなアイコンが出ちゃいます。
と、困ったのはその位でしょうか。
まだまだFlashには及ばないにせよ、
大昔にJSでゲームを作ったころに比べると、天国のような環境になってはいます。
ソーシャルゲーム程度のものなら、技術の将来性を含めないでも、
JSの方がいいんじゃねーかなーと、今今の結論ではそう思っています。
]]></description>
			<content:encoded><![CDATA[<p>弊社サービス「<a href="http://sk.kaisyanavi.jp/" target="_blank">会社なび/就職活動</a>」のPR用に、JavaScriptゲームアプリを作成しました。</p>
<p><a href="http://sk.kaisyanavi.jp/mw/" style="font-weight:bold;" target="_blank">面接ウォーズ ＜就活生の逆襲＞</a></p>
<p>良かったらプレイして見て下さいね！</p>
<p><a href="http://photozou.jp/photo/show/135065/74423200"><img src="http://art45.photozou.jp/pub/65/135065/photo/74423200.png" alt="mw-top" width="450" height="364" style="border:0" /></a><br /><a href="http://photozou.jp/photo/show/135065/74423200">mw-top</a> posted by <a href="http://photozou.jp/user/top/135065">(C)kjirou</a><br />
　<br />
<span id="more-235"></span></p>
<hr />
　<br />
・・・と紹介が終わったということで、<br />
以下は技術的なお話になりますが</p>
<p>今回、普通Flashで作るべきものをJavaScriptで作ったのは、<br />
「自分がJSの方が得意なので工数が掛からない」という点もさることながら、<br />
何より「こういうゲームの類で、JSだとどこまで出来るのか確認したい」と言う点もありました。</p>
<p>以下、雑感書き殴りです。</p>
<p>Flashとまず比較される速度面については、<br />
Chromeは滑らかに動きます。IE8では結構カクカク、Firefox3でもたまにカクッとなりますが、<br />
jQueryを使用しつつ、ほとんど速度対応しないで作成してますので、<br />
ちゃんとその辺の技術のある方が作れば、かなりマシになると思います。</p>
<p>描画関係は、canvasがあるとは言え、IEも含めて考えると<br />
全く太刀打ちできません。</p>
<p>その他、各ブラウザが結局は各社のソフトなんだということを実感する不便さもありました。<br />
例えば、トリプルクリックやドラッグなどのJSで制御できない挙動をされることで<br />
思いがけない動きが出ることがありました。<br />
例えば、IE8だと「Bingで検索」みたいなアイコンが出ちゃいます。</p>
<p>と、困ったのはその位でしょうか。</p>
<p>まだまだFlashには及ばないにせよ、<br />
大昔にJSでゲームを作ったころに比べると、天国のような環境になってはいます。<br />
ソーシャルゲーム程度のものなら、技術の将来性を含めないでも、<br />
JSの方がいいんじゃねーかなーと、今今の結論ではそう思っています。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2011/04/07/235/feed/</wfw:commentRss>
		</item>
		<item>
		<title>html5boilerplateに見る最近のHTML・CSSプラクティス</title>
		<link>http://labs.s-cubism.com/blog/2011/03/23/234/</link>
		<comments>http://labs.s-cubism.com/blog/2011/03/23/234/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 01:02:40 +0000</pubDate>
		<dc:creator>hosoda</dc:creator>
		
		<category><![CDATA[アプリ]]></category>

		<category><![CDATA[プログラミング]]></category>

		<category><![CDATA[告知]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=234</guid>
		<description><![CDATA[html5boilerplate(日本語サイト)は、HTML、CSS、JSのベストプラクティスを詰め込んだテンプレートを提供するサイトです。ここでは、そこで使用されているプラクティスの幾つかを紹介します。

modernizr.jsによるHTML5/CSS3の対応調査
Modernizrは、ブラウザがHTML5/CSS3の新機能に対応しているか否かを判別するjavascriptです。このスクリプトを置くと、htmlのトップ要素に新機能の対応結果を示すclassがページロード時に付与されます。CSSではその付与されたclassを利用して、新機能が使える場合とそうでない場合に分けてスタイルを書くことができます（参考サイト）。
例えば、boxshadow機能がブラウザで使えない場合、
&#60;html class=&#8221;no-boxshadow &#8230;&#8221;&#62;
のように、classがページロード時に付与されます。html5boilerplateでは、このclassを利用してフォームの検証属性用スタイルを次のように定義しています：
input:invalid, textarea:invalid {
border-radius: 1px;
-moz-box-shadow: 0px 0px 5px red;
-webkit-box-shadow: 0px 0px 5px red;
box-shadow: 0px 0px 5px red;
}
.no-boxshadow input:invalid,
.no-boxshadow textarea:invalid { background-color: #f0dddd; }
後半部の、.no-boxshadowから始まる部分がboxshadow機能が使えない場合のスタイルです。なるほど、これはスマートな方法ですね。
iPhone/iPadなどへの対応
html5boilerplateのテンプレートでは、モバイルビューポートを最適化するコードを次のように書いています：
&#60;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width; initial-scale=1.0; maximum-scale=1.0;&#8221;&#62;
ビューポートは、iPhoneなどでの仮想的なウィンドウサイズのことです(参考サイト)。
また、iPhone/iPad用のアイコンも、通常のfaviconとともに指定しています：
&#60;link rel=&#8221;shortcut icon&#8221; href=&#8221;/favicon.ico&#8221;&#62;
&#60;link rel=&#8221;apple-touch-icon&#8221; href=&#8221;/apple-touch-icon.png&#8221;&#62;
最近は、このようなモバイル対応も重要になってくるのではないでしょうか。
IE対応
IEのバージョンごとにCSSのスタイルを変更するためには、htmlのトップ要素にそれを判別するclassを次のように付与しています。
&#60;!&#8211;[if lt IE 7 ]&#62; &#60;html class=&#8221;no-js ie6&#8243; lang=&#8221;en&#8221;&#62; &#60;![endif]&#8211;&#62;
&#60;!&#8211;[if IE 7 ]&#62;    &#60;html class=&#8221;no-js ie7&#8243; lang=&#8221;en&#8221;&#62; &#60;![endif]&#8211;&#62;
&#60;!&#8211;[if IE 8 ]&#62;    &#60;html class=&#8221;no-js [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://html5boilerplate.com/">html5boilerplate</a>(<a href="http://jp.html5boilerplate.com/">日本語サイト</a>)は、HTML、CSS、JSのベストプラクティスを詰め込んだテンプレートを提供するサイトです。ここでは、そこで使用されているプラクティスの幾つかを紹介します。</p>
<p><span id="more-234"></span></p>
<h3><strong>modernizr.jsによるHTML5/CSS3の対応調査</strong></h3>
<p><a href="http://www.modernizr.com/">Modernizr</a>は、ブラウザがHTML5/CSS3の新機能に対応しているか否かを判別するjavascriptです。このスクリプトを置くと、htmlのトップ要素に新機能の対応結果を示すclassがページロード時に付与されます。CSSではその付与されたclassを利用して、新機能が使える場合とそうでない場合に分けてスタイルを書くことができます（<a href="http://blog.mach3.jp/2010/07/modernizr-js.html">参考サイト</a>）。</p>
<p>例えば、boxshadow機能がブラウザで使えない場合、</p>
<blockquote><p>&lt;html class=&#8221;no-boxshadow &#8230;&#8221;&gt;</p></blockquote>
<p>のように、classがページロード時に付与されます。<code>html5boilerplateでは、</code><code>このclassを利用して</code><code>フォームの検証属性用スタイルを次のように定義しています</code><code>：</code></p>
<blockquote><p>input:invalid, textarea:invalid {<br />
border-radius: 1px;<br />
-moz-box-shadow: 0px 0px 5px red;<br />
-webkit-box-shadow: 0px 0px 5px red;<br />
box-shadow: 0px 0px 5px red;<br />
}<br />
.no-boxshadow input:invalid,<br />
.no-boxshadow textarea:invalid { background-color: #f0dddd; }</p></blockquote>
<p>後半部の、.no-boxshadowから始まる部分がboxshadow機能が使えない場合のスタイルです。なるほど、これはスマートな方法ですね。</p>
<h3><strong>iPhone/iPadなどへの対応</strong></h3>
<p>html5boilerplateのテンプレートでは、モバイルビューポートを最適化するコードを次のように書いています：</p>
<blockquote><p>&lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width; initial-scale=1.0; maximum-scale=1.0;&#8221;&gt;</p></blockquote>
<p>ビューポートは、iPhoneなどでの仮想的なウィンドウサイズのことです(<a href="http://ipn3g.com/web/study3.html">参考サイト</a>)。</p>
<p>また、<a href="http://web-tan.forum.impressrd.jp/e/2010/06/15/8178">iPhone/iPad用のアイコン</a>も、通常のfaviconとともに指定しています：</p>
<blockquote><p>&lt;link rel=&#8221;shortcut icon&#8221; href=&#8221;/favicon.ico&#8221;&gt;<br />
&lt;link rel=&#8221;apple-touch-icon&#8221; href=&#8221;/apple-touch-icon.png&#8221;&gt;</p></blockquote>
<p>最近は、このようなモバイル対応も重要になってくるのではないでしょうか。</p>
<h3><strong>IE対応</strong></h3>
<p>IEのバージョンごとにCSSのスタイルを変更するためには、htmlのトップ要素にそれを判別するclassを次のように付与しています。</p>
<blockquote><p>&lt;!&#8211;[if lt IE 7 ]&gt; &lt;html class=&#8221;no-js ie6&#8243; lang=&#8221;en&#8221;&gt; &lt;![endif]&#8211;&gt;<br />
&lt;!&#8211;[if IE 7 ]&gt;    &lt;html class=&#8221;no-js ie7&#8243; lang=&#8221;en&#8221;&gt; &lt;![endif]&#8211;&gt;<br />
&lt;!&#8211;[if IE 8 ]&gt;    &lt;html class=&#8221;no-js ie8&#8243; lang=&#8221;en&#8221;&gt; &lt;![endif]&#8211;&gt;<br />
&lt;!&#8211;[if (gte IE 9)|!(IE)]&gt;&lt;!&#8211;&gt; &lt;html class=&#8221;no-js&#8221; lang=&#8221;en&#8221;&gt; &lt;!&#8211;&lt;![endif]&#8211;&gt;</p></blockquote>
<p>ここで、&lt;!&#8211;[if ...]&gt;&lt;![endif]&#8211;&gt;は、ブラウザ自身が解釈して条件分岐する部分です。ここでは、ie6、ie7、ie8というclassをそれぞれの場合にて付与しています（なお、それと同時に付与されているno-jsというclassは前述のmodernizrで利用されるものです）。</p>
<p>例えば、チェックボックス、ラジオボタン、テキストインプットをラベルと揃えるCSSは次のように書かれています：</p>
<blockquote><p>input[type="radio"] { vertical-align: text-bottom; }<br />
input[type="checkbox"] { vertical-align: bottom; }<br />
.ie7 input[type="checkbox"] { vertical-align: baseline; }<br />
.ie6 input { vertical-align: text-bottom; }</p></blockquote>
<p>確かに、これは分かりやすいですね。</p>
<h3><strong>CSSヘルパ</strong></h3>
<p><code>html5boilerplateのテンプレートではまた、幾つかのCSSヘルパを用意しています。例えば、</code>子要素のmargin-collapsingを防止するCLERFIXを次のように構築しています。</p>
<blockquote><p>.clearfix:before, .clearfix:after {<br />
content: &#8220;\0020&#8243;; display: block; height: 0; visibility: hidden;<br />
}<br />
.clearfix:after { clear: both; }<br />
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */<br />
.clearfix { zoom: 1; }</p></blockquote>
<p>CSS周りでは複雑怪奇な部分が潜んでますが、このような標準的なヘルパを利用し従っていくのがいいと思います。</p>
<p>【お知らせ】</p>
<p>共にこれからを切り開いていくエンジニアを募集しております。</p>
<p>C,C++,Python,Ruby,Fortran etc.</p>
<p>並列計算、データ解析、WEBサービス、各種シミュレーション、画像認識 etc.</p>
<p>思い立ったらぜひ一度 g_bizdev【アット】s-cubism.jp までメールをお送り下さい。</p>
<p>お待ちしております。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2011/03/23/234/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[CentOS5.5]KVMでのbridge接続設定方法</title>
		<link>http://labs.s-cubism.com/blog/2011/01/17/233/</link>
		<comments>http://labs.s-cubism.com/blog/2011/01/17/233/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 12:36:14 +0000</pubDate>
		<dc:creator>goto</dc:creator>
		
		<category><![CDATA[サーバ構築]]></category>

		<category><![CDATA[告知]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=233</guid>
		<description><![CDATA[過去にエスキュービズムの開発環境について書いたことがありましたが、弊社では社内の開発環境ではバリバリ仮想サーバを使っています。
昨年あたり、具体的にはCentOS5.4（たしかそうだったと思います）から、パッケージの標準モジュールとしてKVMが組み込まれたのを機に、XenからKVMへと仮想化手法を切り替えました。KVMはインストール時に選択するだけでサクッと入るため、非常に簡単なのですが、そのままでは使えないんです。
というのも、標準では子機は親機とのNAT接続しか許可されてないためです。
これでは仮想サーバをたくさん作っても、外からつなげませんよね。ということで、Brige接続の設定を行います。

アダプタの作成
まずは、ifcfg-eth0をもとにifcfg-br0を作成します。
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
ifcfg-br0の内容は以下のような感じ
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.xxx
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
※IPアドレスはお使いの環境に合わせてください。
元々あったifcfg-eth0は以下のように変更します。
DEVICE=eth0
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
BRIDGE=br0
※HWADDRは初めから設定されているもののままでOKです
これでBridgeアダプタの作成は完了です。
NATアダプタの停止
ifconfigコマンドを叩いてみるとわかりますが、何もしなくても&#8221;virbr0&#8243;というアダプタが存在しています。こいつが親機と子機をつないでいるNATアダプタなので、止めてあげます。
virsh net-autostart default --disable
virsh net-destroy default
で、以下のコマンドを叩いてみて、br0だけが出てくればOKです。
brctl show
これでKVMで仮想サーバを作る準備は整いました。
「KVMはまだよくわかんないし…」と思っている方、これを機に試してみてはいかがでしょうか。
]]></description>
			<content:encoded><![CDATA[<p>過去にエスキュービズムの開発環境について書いたことがありましたが、弊社では社内の開発環境ではバリバリ仮想サーバを使っています。</p>
<p>昨年あたり、具体的にはCentOS5.4（たしかそうだったと思います）から、パッケージの標準モジュールとしてKVMが組み込まれたのを機に、XenからKVMへと仮想化手法を切り替えました。KVMはインストール時に選択するだけでサクッと入るため、非常に簡単なのですが、そのままでは使えないんです。</p>
<p>というのも、<strong>標準では子機は親機とのNAT接続しか許可されてない</strong>ためです。</p>
<p>これでは仮想サーバをたくさん作っても、外からつなげませんよね。ということで、Brige接続の設定を行います。</p>
<p><span id="more-233"></span></p>
<h2>アダプタの作成</h2>
<p>まずは、ifcfg-eth0をもとにifcfg-br0を作成します。</p>
<pre>cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0</pre>
<p>ifcfg-br0の内容は以下のような感じ</p>
<pre>DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.xxx
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes</pre>
<p>※IPアドレスはお使いの環境に合わせてください。</p>
<p>元々あったifcfg-eth0は以下のように変更します。</p>
<pre>DEVICE=eth0
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
BRIDGE=br0</pre>
<p>※HWADDRは初めから設定されているもののままでOKです<br />
これでBridgeアダプタの作成は完了です。</p>
<h2>NATアダプタの停止</h2>
<p>ifconfigコマンドを叩いてみるとわかりますが、何もしなくても&#8221;virbr0&#8243;というアダプタが存在しています。こいつが親機と子機をつないでいるNATアダプタなので、止めてあげます。</p>
<pre>virsh net-autostart default --disable
virsh net-destroy default</pre>
<p>で、以下のコマンドを叩いてみて、br0だけが出てくればOKです。</p>
<pre>brctl show</pre>
<p>これでKVMで仮想サーバを作る準備は整いました。<br />
「KVMはまだよくわかんないし…」と思っている方、これを機に試してみてはいかがでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2011/01/17/233/feed/</wfw:commentRss>
		</item>
		<item>
		<title>EXCEL集計関数の基礎</title>
		<link>http://labs.s-cubism.com/blog/2010/12/16/231/</link>
		<comments>http://labs.s-cubism.com/blog/2010/12/16/231/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 11:06:12 +0000</pubDate>
		<dc:creator>shingo.yonemoto</dc:creator>
		
		<category><![CDATA[ビジネス]]></category>

		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=231</guid>
		<description><![CDATA[我々エンジニアと切っても切れないドキュメント作成で利用されるEXCEL
しかし、ドキュメントを作成し図形やピクチャを貼るだけがEXCELではありません。
これから先、忘年会・新年会でもEXCELを利用した名簿を作成など、知っておくと少しだけ得をする
EXCELの集計関数を今回は紹介します。
１、COUNTIF関数について
集計関数として基礎とも言えるCOUNTIF 関数。設定した条件が&#8221;真&#8221;となる値を数値として表示してくれる機能です

上記のような出欠表があります。
この程度の表であれば目視で十分かもしれませんが、これが100人200人単位になった際に
果たして目視のみで出欠を正確に判断出来るか。そんな時に使うと便利な関数がCOUNTIF関数です。
※使い方
検索の値（つまり出席か欠席か）を表示したいセルにカーソルを合わせ、数式バーに
 = COUNTIF(出欠列(山田) : 出欠列(木下)  ,  ”出席/欠席&#8221;)
出欠列がB、山田が2から始まるとすると　B1:B6
また出欠席を出席とすると　= COUNTIF(B1:B6, &#8220;出席&#8221;)
と言う風になります。結果は４が返ってきます。
ただし、前途した通り&#8221;一意&#8221;であれば問題は有りません。
では、例外として次のような場合はどう対処すべきでしょうか。

上記の表を使って出席欠席以外の人間が何人居るのかを把握しようと思います。
この場合、上記でも書いています通り出席欠席以外の人を検索する為にはどうすれば良いか。
ここで使われる関数として、SUMPRODUCT関数を利用すると簡単に計算する事が出来ます。
= SUMPRODUCT (( 条件１) * (条件２) ・・・)
ここで重要になってくるのは、出席&#8221;以外&#8221; かつ 欠席&#8221;以外&#8221;の両方の条件を満たしているデータを抽出しカウントしてくれます。
= SUMPRODUCT(  (出欠列.山田 : 出欠列:種子島 &#60;&#62; &#8220;出席&#8221;) * (出欠列.山田 : 出欠列:種子島 &#60;&#62; &#8220;欠席&#8221;))
このように書く事が出来ます。
結果は、出席もしくは欠席以外のカウントですので7が表示されます。
EXCELの関数は、いわゆる『プログラミング言語』とは少し違い、ある程度の型枠が出来ています。
この型枠に沿った入力と条件を付ける事により便利な使い方が出来るようになります。
突き詰めていけば、マクロになってしまう訳ですが、あくまでもシンプルで簡素化された関数だからこそ
その関数を組み合わせ易く、応用していけば色々な事に役立てる事が出来ます。
突き詰めれば、このシンプルさを開発に、果てはお客様にどう提供していけるか。
誰もが使い易い。
言葉にしてみると凄く簡単かもしれませんけど、凄く難しい事でもあります。
しかし、我々エンジニア陣はその難しいことに常にチャレンジし続けたいと思っています。
]]></description>
			<content:encoded><![CDATA[<p>我々エンジニアと切っても切れないドキュメント作成で利用されるEXCEL<br />
しかし、ドキュメントを作成し図形やピクチャを貼るだけがEXCELではありません。<br />
これから先、忘年会・新年会でもEXCELを利用した名簿を作成など、知っておくと少しだけ得をする<br />
EXCELの集計関数を今回は紹介します。</p>
<p>１、COUNTIF関数について<br />
集計関数として基礎とも言えるCOUNTIF 関数。設定した条件が&#8221;真&#8221;となる値を数値として表示してくれる機能です</p>
<p><a href="http://labs.s-cubism.com/blog/wp-content/uploads/2010/12/dt1.jpg"><img class="alignnone size-medium wp-image-230" title="dt1" src="http://labs.s-cubism.com/blog/wp-content/uploads/2010/12/dt1.jpg" alt="" width="165" height="130" /></a></p>
<p>上記のような出欠表があります。</p>
<p>この程度の表であれば目視で十分かもしれませんが、これが100人200人単位になった際に</p>
<p>果たして目視のみで出欠を正確に判断出来るか。そんな時に使うと便利な関数が<strong>COUNTIF関数</strong>です。</p>
<p>※使い方</p>
<p>検索の値（つまり出席か欠席か）を表示したいセルにカーソルを合わせ、数式バーに</p>
<p><strong> = COUNTIF(出欠列(山田) : 出欠列(木下)  ,  ”出席/欠席&#8221;)</strong></p>
<p>出欠列がB、山田が2から始まるとすると　B1:B6</p>
<p>また出欠席を出席とすると　= COUNTIF(B1:B6, &#8220;出席&#8221;)</p>
<p>と言う風になります。結果は４が返ってきます。</p>
<p>ただし、前途した通り&#8221;一意&#8221;であれば問題は有りません。</p>
<p>では、例外として次のような場合はどう対処すべきでしょうか。</p>
<p><a href="http://labs.s-cubism.com/blog/wp-content/uploads/2010/12/d2.jpg"><img class="alignnone size-medium wp-image-232" title="d2" src="http://labs.s-cubism.com/blog/wp-content/uploads/2010/12/d2.jpg" alt="" width="166" height="254" /></a></p>
<p>上記の表を使って出席欠席以外の人間が何人居るのかを把握しようと思います。</p>
<p>この場合、上記でも書いています通り<strong>出席欠席以外</strong>の人を検索する為にはどうすれば良いか。</p>
<p>ここで使われる関数として、<strong>SUMPRODUCT関数</strong>を利用すると簡単に計算する事が出来ます。</p>
<p><strong>= SUMPRODUCT (( 条件１) * (条件２) ・・・)</strong></p>
<p>ここで重要になってくるのは、出席&#8221;以外&#8221; かつ 欠席&#8221;以外&#8221;の両方の条件を満たしているデータを抽出しカウントしてくれます。</p>
<p><strong>= SUMPRODUCT(  (出欠列.山田 : 出欠列:種子島 &lt;&gt; &#8220;出席&#8221;) * (出欠列.山田 : 出欠列:種子島 &lt;&gt; &#8220;欠席&#8221;))</strong></p>
<p>このように書く事が出来ます。</p>
<p>結果は、出席もしくは欠席以外のカウントですので7が表示されます。</p>
<p>EXCELの関数は、いわゆる<strong>『プログラミング言語』</strong>とは少し違い、ある程度の型枠が出来ています。</p>
<p>この型枠に沿った入力と条件を付ける事により便利な使い方が出来るようになります。</p>
<p>突き詰めていけば、マクロになってしまう訳ですが、あくまでもシンプルで簡素化された関数だからこそ</p>
<p>その関数を組み合わせ易く、応用していけば色々な事に役立てる事が出来ます。</p>
<p>突き詰めれば、このシンプルさを開発に、果てはお客様にどう提供していけるか。</p>
<p>誰もが使い易い。</p>
<p>言葉にしてみると凄く簡単かもしれませんけど、凄く難しい事でもあります。</p>
<p>しかし、我々エンジニア陣はその難しいことに常にチャレンジし続けたいと思っています。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2010/12/16/231/feed/</wfw:commentRss>
		</item>
		<item>
		<title>URIの仕様と設計について</title>
		<link>http://labs.s-cubism.com/blog/2010/12/16/226/</link>
		<comments>http://labs.s-cubism.com/blog/2010/12/16/226/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 04:49:56 +0000</pubDate>
		<dc:creator>fumihiko.yokoyama</dc:creator>
		
		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=226</guid>
		<description><![CDATA[
仕様について


URI(Uniform Resource Identifier)とはリソースを統一的に識別するＩＤのことです。(RFC3986)

使用できる文字は、ascii。ascii以外を使用するなら%エンコーディングが必要。
アルファベット A-Za-z
数字 0-9
記号 -,~&#8217;!$&#38;&#8217;()

URIでは一般的に、アルファベットの大文字と小文字は区別して扱われますが、
%エンコーディングで使用する文字列は大文字でも小文字でも同じ意味を持ちます。
(URIの仕様では、大文字を推奨しています。)
長さ制限はRFC上では特にありません。


URIの構文は以下の例のとおり。

例) http://user:pass@test.example.jp:8000/search?q=demo&#38;debug=true#n10

ユーザ情報：user:pass
URIスキーム：http
ホスト名：test.example.jp
ポート番号：8000
パス：/search
クエリパラメータ：q=demo&#38;debug=true
ＵＲＩフラグメント：#n10

以上は絶対URIですが、以下のような相対URI も存在します。
/foo/bar
相対URIはその解決のために、起点となるベースURIが必要です。
例) http://example.jp/foo/bar/
相対URI →　解決後

hoge　→　http://example.jp/foo/bar/hoge
../../hoge　→　http://example.jp/hoge
?q=hoge　→　http://example.jp/foo/bar?q=hoge
/hoge/fuga　→　http://example.jp/hoge/fuga


ベースURIの与え方には以下の二通りがあります。



リソースのURIをベースURIとする方法
ベースURIを明示的に指定する方法

リソースのURIをベースURIとする方法は直感的でわかりやすいのですが、リソースのURIをクライアント側で保存しておかなければなりません。
これは、たとえばwebページをhtmlとして保存した時に元のURIがわからず、そのhtmlファイルに含まれている相対URIも解決できないためです。

一方で、明示的に指定する場合は以下のとおりです。


HTMLの場合は
&#60;html&#62;
 &#60;head&#62;
 &#60;title&#62;test page&#60;/title&#62;
 &#60;base href=&#8221;http://example.jp/&#8221; /&#62;
 &#60;head&#62;
&#60;/html&#62;
でこの文書内のベースURLはhttp://example.jp/になる。

xmlの場合は
&#60;foo xml:base=&#8221;http://example.jp/foo&#8220;&#62;
&#60;!&#8211;ここのベースURIはhttp://example.jp/foo &#8211;&#62;

&#60;bar xml:base=&#8221;http://example.jp/foo/bar&#8220;&#62;
&#60;!&#8211;ここのベースURIはhttp://example.jp/foo /bar &#8211;&#62;
&#60;/bar&#62;
&#60;/foo&#62;
となる。


設計について

URIを変わりにくくすること。

言語に依存した拡張子やパスを含めない
例) http://example.jp/cgi-bin/login.pl
例) http://example.jp/servlet/LoginServlet

メソッド名やセッションIDを含めない
例) http://example.jp/Login.do?action=showPage
例) http://example.jp/home.jsp?jsessionid=123456

リファクタリング等で変更される可能性がある要素をURIに含めないよう設計することで
URIが変わりにくくなるだけでなく、ユーザビリティの向上にもつながります。

URIは情報資源の場所を指し示すものであり、WEBページの住所であると思います。
覚えてもらいやすく、変わることのない設計を心がけたいものです。



]]></description>
			<content:encoded><![CDATA[<p><strong></strong></p>
<div><strong>仕様</strong>について</div>
<p><br/></p>
<div>
<div><strong>URI</strong>(Uniform Resource Identifier)とは<strong>リソースを統一的に識別するＩＤ</strong>のことです。(RFC3986)</div>
<p><br/></p>
<div>使用できる文字は、<strong>ascii</strong>。ascii以外を使用するなら<strong>%エンコーディング</strong>が必要。</div>
<div>アルファベット A-Za-z</div>
<div>数字 0-9</div>
<div>記号 -,~&#8217;!$&amp;&#8217;()</div>
<p><br/></p>
<div>URIでは一般的に、<strong>アルファベットの大文字と小文字は区別して扱われます</strong>が、</div>
<div><strong>%エンコーディング</strong>で使用する文字列は<strong>大文字でも小文字でも同じ意味</strong>を持ちます。</div>
<div>(URIの仕様では、大文字を推奨しています。)</div>
<div>長さ制限はRFC上では特にありません。</div>
<p><span id="more-226"></span><br />
<br/></p>
<div>URIの<strong>構文</strong>は以下の例のとおり。</div>
</div>
<p>例) http://user:pass@test.example.jp:8000/search?q=demo&amp;debug=true#n10</p>
<ul>
<li>ユーザ情報：user:pass</li>
<li>URIスキーム：http</li>
<li>ホスト名：test.example.jp</li>
<li>ポート番号：8000</li>
<li>パス：/search</li>
<li>クエリパラメータ：q=demo&amp;debug=true</li>
<li>ＵＲＩフラグメント：#n10</li>
</ul>
<p>以上は<strong>絶対URI</strong>ですが、以下のような<strong>相対URI </strong>も存在します。</p>
<p>/foo/bar</p>
<p>相対URIはその<strong>解決</strong>のために、起点となる<strong>ベースURI</strong>が必要です。</p>
<p>例) http://example.jp/foo/bar/</p>
<p><strong>相対URI</strong> →　<strong>解決後</strong></p>
<ul>
<li>hoge　→　http://example.jp/foo/bar/hoge</li>
<li>../../hoge　→　http://example.jp/hoge</li>
<li>?q=hoge　→　<span>h</span><span>ttp</span><span>://</span><span>example.jp/foo/bar?q=hoge</span></li>
<li>/hoge/fuga　→　http://example.jp/hoge/fuga</li>
</ul>
<p><br/></p>
<div>ベースURIの<strong>与え方</strong>には以下の二通りがあります。</div>
<div>
<div>
<ul>
<li><strong>リソースのURI</strong><span>をベース</span><span>URI</span><span>とする方法</span></li>
<li><span>ベース</span><span>URI</span><span>を<strong>明示的</strong></span><strong>に指定</strong><span>する方法</span></li>
</ul>
<div>リソースのURIをベースURIとする方法は<strong>直感的</strong>でわかりやすいのですが、<span>リソースの</span><span>URI</span><span>を<strong>クライアント側</strong>で<strong>保存</strong>しておかなければなりません。</span></div>
<div><span>これは、たとえばwebページを<strong>htmlとして保存</strong>した時に</span><strong>元のURI</strong>がわからず、そのhtmlファイルに含まれている<strong>相対URIも解決</strong>できないためです。</div>
<p><br/></p>
<div>一方で、<strong>明示的に指定</strong>する場合は以下のとおりです。</div>
<div>
<br/></p>
<div><strong>HTML</strong><span>の場合は</span></div>
<div>&lt;html&gt;</div>
<div><span style="white-space:pre"> </span>&lt;head&gt;</div>
<div><span style="white-space:pre"> </span>&lt;title&gt;test page&lt;/title&gt;</div>
<div><span style="white-space:pre"> </span><strong>&lt;base href=&#8221;http://example.jp/&#8221; /&gt;</strong></div>
<div><span style="white-space:pre"> </span>&lt;head&gt;</div>
<div>&lt;/html&gt;</div>
<div>で<strong>この文書内</strong>のベースURLは<strong>http://example.jp/</strong>になる。</div>
<p><br/></p>
<div><strong>xml</strong>の場合は</div>
<div>&lt;foo xml:base=&#8221;<strong>http://example.jp/foo</strong>&#8220;&gt;</div>
<div>&lt;!&#8211;ここのベースURIは<strong>http://example.jp/foo</strong> &#8211;&gt;</div>
<div>
<div>&lt;bar xml:base=&#8221;<strong>http://example.jp/foo/bar</strong>&#8220;&gt;</div>
<div>&lt;!&#8211;ここのベースURIは<strong>http://example.jp/foo /bar</strong> &#8211;&gt;</div>
<div>&lt;/bar&gt;</div>
<div>&lt;/foo&gt;</div>
<div>となる。</div>
</div>
<p><br/></p>
<div><strong>設計</strong>について</div>
<p><br/></p>
<div>URIを<strong>変わりにくく</strong>すること。</div>
<p><br/></p>
<div><strong>言語に依存</strong>した<strong>拡張子</strong>や<strong>パス</strong>を<strong>含めない</strong></div>
<div>例) http://example.jp/cgi-bin/<strong>login.pl</strong></div>
<div>例) http://example.jp/servlet/<strong>LoginServlet</strong></div>
<p><br/></p>
<div><strong>メソッド名</strong>や<strong>セッションID</strong>を<strong>含めない</strong></div>
<div>例) http://example.jp/Login.do?action=<strong>showPage</strong></div>
<div>例) http://example.jp/home.jsp?<strong>jsessionid=123456</strong></div>
<p><br/></p>
<div><strong>リファクタリング</strong>等で<strong>変更される可能性がある要素をURIに含めない</strong>よう設計することで</div>
<div>URIが変わりにくくなるだけでなく、<strong>ユーザビリティの向上</strong>にもつながります。</div>
<p><br/></p>
<div><strong>URI</strong>は情報資源の場所を指し示すものであり、<strong>WEBページの住所</strong>であると思います。</div>
<div><strong>覚えてもらいやすく、変わることのない設計を</strong>心がけたいものです。</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2010/12/16/226/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UMLあれこれ</title>
		<link>http://labs.s-cubism.com/blog/2010/12/14/225/</link>
		<comments>http://labs.s-cubism.com/blog/2010/12/14/225/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 02:19:37 +0000</pubDate>
		<dc:creator>masanori.abe</dc:creator>
		
		<category><![CDATA[告知]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=225</guid>
		<description><![CDATA[UMLをご説明する前に、オブジェクト指向についてご説明いたします。
オブジェクト指向とは、オブジェクト同士の相互作用としてシステムの振る舞いを
とらえる考え方です。
ソフトウェアでも利用されており、Java、C++、C#などのプログラミング言語は
オブジェクト指向言語と呼ばれています。
オブジェクトとは、一般的な意味は、物体（本、椅子、時計など）、
対象（読む、座る、触るなど）を指しますが、抽象概念ではなく、より具体的に
示した事象を指します。
以下の４つの特性を備えたものをオブジェクトと呼びます。
１．固有の属性（オブジェクト固有の性質）を持つ。
２．固有の振る舞いを持つ。
３．他のオブジェクトと関連する。
４．固有のアイデンティティ（個性）を持つ。
さて、上記を踏まえて本題のUMLについてご説明したいと思います。
UMLとは、統一モデリング言語（UML: Unified Modeling Language）の略で
オブジェクト指向開発に使用するモデル表記法を標準化したものです。
ダイアグラムを使用して開発に携わる人たちがコミュニケーションを行える
ようにします。
近年、オブジェクト指向設計などのプロセスでUMLを使用するのが一般的に
なってきています。
モデルとは、対象をある目的と視点で捉えて単純化したものを指します。
ダイアグラムとは、UMLに規定されている図のことです。
UMLに規定されているダイアグラムについて説明いたします。
・ユースケース図
　→システム全体機能を表現した図。
　→システム利用者を表す「アクター」とシステムの機能を表す
　　「ユースケース」の関連を表す
・アクティビティ図
　→複数のユースケースに跨るワークフローや、各ユースケースのイ
　　ベントフローを表現する。
・クラス図
　→クラス同士やクラスとオブジェクト間の関係を静的に表現したもの。
・オブジェクト図
　→クラスを実体化して生成されたオブジェクト同士の関係を表現する 。
・シーケンス図
　→メッセージによるオブジェクト間の協調動作を時系列に注目して表現する。
・コラボレーション図
　→メッセージによるオブジェクト間の協調動作をオブジェクト間の関係に
　　注目して平面的に表現する。
・ステートチャート図
　→ある特定のオブジェクトに注目し、その状態の変化を表現する。
　→オブジェクトの生成から消滅までのライフサイクルを表現することができる。
・コンポーネント図
　→ソースコードや実行可能プログラムのプログラム間の依存関係を表現する。
・配置図
　→サーバ、PCなどハードウェアのネットワーク接続を表現する。
　→コンポーネント図と併用して、どのマシンにどのプログラムを配置するのかを
　　表現できる。
UMLを用いることでオブジェクト指向の分析や設計技術のスキルを向上することができます。
Microsoft社やIBM社、Oracle社などの大手企業が支持を表明しています。
]]></description>
			<content:encoded><![CDATA[<p>UMLをご説明する前に、オブジェクト指向についてご説明いたします。</p>
<p>オブジェクト指向とは、オブジェクト同士の相互作用としてシステムの振る舞いを<br />
とらえる考え方です。</p>
<p>ソフトウェアでも利用されており、Java、C++、C#などのプログラミング言語は<br />
オブジェクト指向言語と呼ばれています。</p>
<p>オブジェクトとは、一般的な意味は、物体（本、椅子、時計など）、<br />
対象（読む、座る、触るなど）を指しますが、抽象概念ではなく、より具体的に<br />
示した事象を指します。</p>
<p>以下の４つの特性を備えたものをオブジェクトと呼びます。</p>
<p>１．固有の属性（オブジェクト固有の性質）を持つ。<br />
２．固有の振る舞いを持つ。<br />
３．他のオブジェクトと関連する。<br />
４．固有のアイデンティティ（個性）を持つ。</p>
<p>さて、上記を踏まえて本題のUMLについてご説明したいと思います。</p>
<p>UMLとは、統一モデリング言語（UML: Unified Modeling Language）の略で<br />
オブジェクト指向開発に使用するモデル表記法を標準化したものです。</p>
<p>ダイアグラムを使用して開発に携わる人たちがコミュニケーションを行える<br />
ようにします。</p>
<p>近年、オブジェクト指向設計などのプロセスでUMLを使用するのが一般的に<br />
なってきています。</p>
<p>モデルとは、対象をある目的と視点で捉えて単純化したものを指します。<br />
ダイアグラムとは、UMLに規定されている図のことです。</p>
<p>UMLに規定されているダイアグラムについて説明いたします。</p>
<p>・ユースケース図<br />
　→システム全体機能を表現した図。<br />
　→システム利用者を表す「アクター」とシステムの機能を表す<br />
　　「ユースケース」の関連を表す</p>
<p>・アクティビティ図<br />
　→複数のユースケースに跨るワークフローや、各ユースケースのイ<br />
　　ベントフローを表現する。</p>
<p>・クラス図<br />
　→クラス同士やクラスとオブジェクト間の関係を静的に表現したもの。</p>
<p>・オブジェクト図<br />
　→クラスを実体化して生成されたオブジェクト同士の関係を表現する 。</p>
<p>・シーケンス図<br />
　→メッセージによるオブジェクト間の協調動作を時系列に注目して表現する。</p>
<p>・コラボレーション図<br />
　→メッセージによるオブジェクト間の協調動作をオブジェクト間の関係に<br />
　　注目して平面的に表現する。</p>
<p>・ステートチャート図<br />
　→ある特定のオブジェクトに注目し、その状態の変化を表現する。<br />
　→オブジェクトの生成から消滅までのライフサイクルを表現することができる。</p>
<p>・コンポーネント図<br />
　→ソースコードや実行可能プログラムのプログラム間の依存関係を表現する。</p>
<p>・配置図<br />
　→サーバ、PCなどハードウェアのネットワーク接続を表現する。<br />
　→コンポーネント図と併用して、どのマシンにどのプログラムを配置するのかを<br />
　　表現できる。</p>
<p>UMLを用いることでオブジェクト指向の分析や設計技術のスキルを向上することができます。<br />
Microsoft社やIBM社、Oracle社などの大手企業が支持を表明しています。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2010/12/14/225/feed/</wfw:commentRss>
		</item>
		<item>
		<title>自律分散システムをチョコっと眺めてみる？</title>
		<link>http://labs.s-cubism.com/blog/2010/11/18/223/</link>
		<comments>http://labs.s-cubism.com/blog/2010/11/18/223/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 09:48:57 +0000</pubDate>
		<dc:creator>akimitsu.hamaguchi</dc:creator>
		
		<category><![CDATA[アプリ]]></category>

		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=223</guid>
		<description><![CDATA[

自律分散システムをチョコっと眺めてみる？ on Prezi


by H
]]></description>
			<content:encoded><![CDATA[<div class="prezi-player"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="440" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="prezi_j5de0jzfwne3" /><param name="name" value="prezi_j5de0jzfwne3" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="prezi_id=j5de0jzfwne3&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0" /><param name="src" value="http://prezi.com/bin/preziloader.swf" /><embed id="prezi_j5de0jzfwne3" type="application/x-shockwave-flash" width="440" height="320" src="http://prezi.com/bin/preziloader.swf" flashvars="prezi_id=j5de0jzfwne3&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0" bgcolor="#ffffff" allowscriptaccess="always" allowfullscreen="true" name="prezi_j5de0jzfwne3"></embed></object></p>
<div class="prezi-player-links">
<p><a title="Suicaのシステムから学ぶ自律分散システム" href="http://prezi.com/j5de0jzfwne3/">自律分散システムをチョコっと眺めてみる？</a> on <a href="http://prezi.com">Prezi</a></p>
</div>
</div>
<p>by H</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2010/11/18/223/feed/</wfw:commentRss>
		</item>
		<item>
		<title>文字コードについて</title>
		<link>http://labs.s-cubism.com/blog/2010/11/17/222/</link>
		<comments>http://labs.s-cubism.com/blog/2010/11/17/222/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 14:32:04 +0000</pubDate>
		<dc:creator>keita.nomura</dc:creator>
		
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://labs.s-cubism.com/blog/?p=222</guid>
		<description><![CDATA[webエンジニアなら誰もが知ってる、そしてしばしば悩みの種。それが文字コード。
実際のところ、webアプリを作るに際して、文字コード関連の知識は初期段階では必須じゃないと個人的には思ってます。アプリよりも低レイヤーの話ですし。PHPであれば「LAMP環境で全部UTF-8にすれば何も問題ないじゃん？」と言われたらExactly、その通りでございます。
でもやっぱりエンジニアたるもの、基礎も理解しておきたいよね！ということで、全ての始まりであるASCIIコードと共に、文字コードの基礎の基礎のそのまた基礎をお勉強してみようと思います。



文字コードってそもそも何？
	まず「符号化」をご存知でしょうか？
	正確な定義についてはこちらをご覧いただくとして、ここでは簡単に
	「文字と対応するbitの組み合わせを規則化する事」とします。
	…これだけじゃ訳が分からないですね。以下、もうちょっと詳しく。
	コンピュータ上の情報の最小単位＝1bit(0/1)ですが、
	例えば「0は”A”を表示させ、1だったら”B”を表示させる」と決めると、2文字を表現できます。
	1bit＝2文字ってことになります。
	3bitあれば



A
000


B
001


C
010


D
011


E
100


F
101


G
110


H
111


	と、2^3=8文字を表現できます。これが文字コードであり、「文字を符号化する」という事に
	なります。文字コード=文字コード「表」と言い換えれば多少分かりやすいかもしれません。
	符号化について何となく分かったところでASCIIの話です。
	とりあえず英語が表現できればいい！って事で当時のエンジニアが7bit=128パターンの
	文字コード=ASCIIを考案しました。
	1byte=8bitなのに残り1bitはどこ行ったって話ですが、ASCIIの先頭1bitは0で固定です。
	コード表はこちら。bit列と文字の結び付きが分かると思います。
	何となく、ざっくりと、文字コードのイメージが掴めましたでしょうか。
	地球上の言語が英語だけならこれで終わってめでたしめでたしなんですが、当然ながら
	様々な言語に対応する必要が生じてきます。英語に近い西ヨーロッパ系言語であれば
	ASCIIの記号部分を各言語の固有文字に置き換えたASCII拡張コードの開発によって
	何とかなったりしたんですが、やがて「一つの文書内で複数言語を表現できない」
	とか、「数万種類ある漢字はどうすんだよ」等の問題が発生してきます。
	なのでASCII以後は8bitの文字コードや、8bitを複数組み合わせたマルチバイト文字等が
	続々開発されてゆき(ISO-2022とかUnicodeとか)今日に至るという寸法です。
	文字コードに関して掘り下げると、コンピュータの歴史を紐解くような感じになって
	参考ページや文献を読み込むと中々興味深かったりします(難解で眠くなる事も多々ありましたが)。
	「ISO-2022-JPとJISってどう違うの？」とか
	「UTF-8とUnicodeって厳密には別の事らしいよ？」
	などといった話を見たり聞いたりした方は多いと思いますが、スクリプトの処理系やDBMS等といった
	ミドルウェアが吸収してしまう事なので、きちんと理解している人は少なく(私も含めて)、
	それだけに、文字コードに関する深い知識をお持ちの方は、それだけで「こいつ、できる！」と
	周囲に思わせるエンジニアと言える、…かもしれません。
	この記事をきっかけに、普段何気なく使ってる文字の中身を覗いてみてはいかがでしょうか。
]]></description>
			<content:encoded><![CDATA[<p>webエンジニアなら誰もが知ってる、そしてしばしば悩みの種。それが文字コード。</p>
<p>実際のところ、webアプリを作るに際して、文字コード関連の知識は初期段階では必須じゃないと個人的には思ってます。アプリよりも低レイヤーの話ですし。PHPであれば「LAMP環境で全部UTF-8にすれば何も問題ないじゃん？」と言われたらExactly、その通りでございます。</p>
<p>でもやっぱりエンジニアたるもの、基礎も理解しておきたいよね！ということで、全ての始まりであるASCIIコードと共に、文字コードの基礎の基礎のそのまた基礎をお勉強してみようと思います。</p>
<p><span id="more-222"></span></p>
<hr />
<br />
<strong>文字コードってそもそも何？</strong></p>
<p>	まず「符号化」をご存知でしょうか？</p>
<p>	正確な定義については<a href="http://ja.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F" target="_blank"><u>こちら</u></a>をご覧いただくとして、ここでは簡単に<br />
	「文字と対応するbitの組み合わせを規則化する事」とします。<br />
	…これだけじゃ訳が分からないですね。以下、もうちょっと詳しく。</p>
<p>	コンピュータ上の情報の最小単位＝1bit(0/1)ですが、<br />
	例えば「0は”A”を表示させ、1だったら”B”を表示させる」と決めると、2文字を表現できます。<br />
	1bit＝2文字ってことになります。</p>
<p>	3bitあれば</p>
<div align="center">
<table border="1">
<tr>
<td>A</td>
<td>000</td>
</tr>
<tr>
<td>B</td>
<td>001</td>
</tr>
<tr>
<td>C</td>
<td>010</td>
</tr>
<tr>
<td>D</td>
<td>011</td>
</tr>
<tr>
<td>E</td>
<td>100</td>
</tr>
<tr>
<td>F</td>
<td>101</td>
</tr>
<tr>
<td>G</td>
<td>110</td>
</tr>
<tr>
<td>H</td>
<td>111</td>
</tr>
</table></div>
<p>	と、2^3=8文字を表現できます。これが文字コードであり、「文字を符号化する」という事に<br />
	なります。文字コード=文字コード「表」と言い換えれば多少分かりやすいかもしれません。</p>
<p>	符号化について何となく分かったところでASCIIの話です。</p>
<p>	とりあえず英語が表現できればいい！って事で当時のエンジニアが7bit=128パターンの<br />
	文字コード=ASCIIを考案しました。</p>
<p>	1byte=8bitなのに残り1bitはどこ行ったって話ですが、ASCIIの先頭1bitは0で固定です。<br />
	コード表は<a href="http://bit.ly/anTzjg" target="_blank"><u>こちら。</u></a>bit列と文字の結び付きが分かると思います。<br />
	<strong>何となく、ざっくりと、</strong>文字コードのイメージが掴めましたでしょうか。</p>
<p>	地球上の言語が英語だけならこれで終わってめでたしめでたしなんですが、当然ながら<br />
	様々な言語に対応する必要が生じてきます。英語に近い西ヨーロッパ系言語であれば<br />
	ASCIIの記号部分を各言語の固有文字に置き換えたASCII拡張コードの開発によって<br />
	何とかなったりしたんですが、やがて<strong>「一つの文書内で複数言語を表現できない」</strong><br />
	とか、<strong>「数万種類ある漢字はどうすんだよ」</strong>等の問題が発生してきます。</p>
<p>	なのでASCII以後は8bitの文字コードや、8bitを複数組み合わせたマルチバイト文字等が<br />
	続々開発されてゆき(ISO-2022とかUnicodeとか)今日に至るという寸法です。</p>
<p>	文字コードに関して掘り下げると、コンピュータの歴史を紐解くような感じになって<br />
	参考ページや文献を読み込むと中々興味深かったりします(難解で眠くなる事も多々ありましたが)。</p>
<p>	<strong>「ISO-2022-JPとJISってどう違うの？」</strong>とか<br />
	<strong>「UTF-8とUnicodeって厳密には別の事らしいよ？」</strong><br />
	などといった話を見たり聞いたりした方は多いと思いますが、スクリプトの処理系やDBMS等といった<br />
	ミドルウェアが吸収してしまう事なので、きちんと理解している人は少なく(私も含めて)、<br />
	それだけに、文字コードに関する深い知識をお持ちの方は、それだけで「こいつ、できる！」と<br />
	周囲に思わせるエンジニアと言える、…かもしれません。</p>
<p>	この記事をきっかけに、普段何気なく使ってる文字の中身を覗いてみてはいかがでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.s-cubism.com/blog/2010/11/17/222/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

