<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ウェビンブログ &#187; Others</title>
	<atom:link href="http://blog.webbingstudio.com/category/others/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.webbingstudio.com</link>
	<description>札幌のWebデザイナー・カスタマイズアドバイザー WebbingStudioのよしなし語り</description>
	<lastBuildDate>Fri, 30 Jul 2010 00:11:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>プログラミングのいろいろとわからないこと</title>
		<link>http://blog.webbingstudio.com/2010/07/programming.html</link>
		<comments>http://blog.webbingstudio.com/2010/07/programming.html#comments</comments>
		<pubDate>Fri, 30 Jul 2010 00:08:07 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1473</guid>
		<description><![CDATA[エンジニアさんは定年などと言われますが、
35歳ではじめてプログラミングのお仕事をしました。
PHP＋MySQLの簡単なアプリケーション作りです。
文字化けやエラーや条件分岐でうんうん悩んだりしながら、何とか形にできまし [...]]]></description>
			<content:encoded><![CDATA[<p>エンジニアさんは定年などと言われますが、<br />
35歳ではじめてプログラミングのお仕事をしました。<br />
PHP＋MySQLの簡単なアプリケーション作りです。</p>
<p>文字化けやエラーや条件分岐でうんうん悩んだりしながら、何とか形にできましたが、今度受注するときは、もっと早く作れるようにしないと全く元が取れません…</p>
<p>プログラミングについてはこれまで本格的な業務にもしていなかったし、ほぼ独学でやってきました。<br />
もちろん、基本的なセキュリティ対策はできるだけ勉強しているのですが、いわゆる「あまりサンプル集には載ってない細かいこと」がいろいろとわかりません。</p>
<p>開発オフに行くたびに聞くのを忘れてしまうので、めもめも&#8230;φ(。。</p>
<h3>変数の命名ってどうしたらいいのだろう</h3>
<p>今のところ、同じ関係のものは接頭辞を揃えて</p>
<pre><code>$hogeCnt / $hogeTitle</code></pre>
<p>のような感じで、二単語目以上になったらキャピタライズしたりしてます。<br />
でも処理が長くなると、どんどん命名がぐちゃぐちゃになってきてしまって…</p>
<pre><code>$fuga['cnt'] / $fuga['title']</code></pre>
<p>みたいに配列で管理すべき？</p>
<h3>データベースの接続と切断</h3>
<p>データベースを利用するときは、まずPDOなどで接続するのですが</p>
<pre><code>$piyo = new PDO('mysql:host=' . DB_HOST . '; dbname=' . DB_NAME . ', ' .  DB_USER . ', ' . DB_PASS);</code></pre>
<p>一定の処理が終わったら都度切断した方がいいのでしょうか。<br />
PHPスクリプトの先頭で接続、最後で切断…とかまずいでしょうか。</p>
<h3>一時変数</h3>
<p>複数の変数を組み立ててSQL文やURLを作るときは、一時的な計算のために変数を作ったりするのですが、万一のファイル改ざんが怖くて、処理が終わったらすぐunsetで消してます。</p>
<pre><code>unset($hoge, $fuga, $piyo);</code></pre>
<p>もちろん、クラス定義してプライベート変数にするのがいちばんだろうと思うのですが、PHPのサンプルやTIPSを見ても、一時変数はそのままになっています。<br />
ここまでする必要はないのでしょうか。むしろ処理の無駄？</p>
<pre><code>$hoge = NULL;</code></pre>
<p>それとも、ぬるぽにした方がいいのかな。</p>
<h3>三項演算子が嫌い</h3>
<pre><code>$hoge = ($fuga == 'abc') ? 'abcが入っています' : '別の値が入っています';</code></pre>
<p>だって一行にされるとなんか読みにくいし。</p>
<pre><code>if($fuga == 'abc')
  $hoge = 'abcが入っています';
else
  $hoge = '別の値が入っています';</code></pre>
<p>だと、プログラマさん的には冗長なんでしょうか。</p>
<h3>md5って大丈夫なのか</h3>
<p>PHPサンプルで、パスワードの暗号化などによくmd5が使われているのですが、みんなが使っているアルゴリズムを取り入れてしまって大丈夫なんでしょうか。<br />
他にもsha1とかいろいろあるらしいですが、md5が選ばれる理由って何？強固だから？</p>
<h3>ログイン認証にはセッションに何を渡したらいいんだ</h3>
<p>いやいやいや（°Д°三°Д°）<br />
どうしたかは書かないです書けないです。</p>
<p>ユーザー登録時にDBにパスワードとは別のランダムな認証キーを保管しておいて、ログインのときはそれを発行した方がいいのでしょうか。<br />
んー、この辺は簡単なCMSをいくつか自分で見て調べてみるかな。</p>
<h3>難読化って？</h3>
<p>ソースコードの著作権の話をしていたら、こいわさん(<a class="blank" href="http://twitter.com/koiwa">@koiwa</a>)が教えてくれました。</p>
<blockquote><p><a href="http://twitter.com/koiwa/status/19553921430"><img class="alignnone size-large wp-image-1475" title="100730-0001" src="http://blog.webbingstudio.com/uploads/2010/07/100730-0001-479x321.jpg" alt="んー　お客さんからお金もらって仕事する場合とかは、ソースコードの著作権どうする？　とかは、契約書に入ってますね。コピペ対策については、JavaScriptとかは難読化して対処するとかはあります。" width="479" height="321" /></a></p></blockquote>
<p>それって、プログラミングでもするのでしょうか。<br />
<a class="blank" href="http://www.a-blogcms.jp/">a-blog cms</a>は暗号化されていますね。でも読みにくくなった分、保守が大変そうです。</p>
<hr />
<p>考えはじめたらどんどん出てきそうですが、この辺でやめておきます…</p>
<p>PEARもCakePHPも何それおいしいの？な今は、まだまだ勉強が必要そうです。<br />
それでも、お仕事でプログラミングをすると「<strong>他の人が利用することを考える</strong>」分、確実にスキルアップできることはわかったので、これからも時間を見つけていろいろなことに挑戦してみようと思います。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E3%81%A8%E3%82%8F%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2F235l3a6&amp;in_reply_to_status_id=19866223831" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/07/programming.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone・iPadで読みたい本を「sigil」で作ってしまえ</title>
		<link>http://blog.webbingstudio.com/2010/07/iphone_ipad_sigil.html</link>
		<comments>http://blog.webbingstudio.com/2010/07/iphone_ipad_sigil.html#comments</comments>
		<pubDate>Fri, 09 Jul 2010 11:32:55 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[これはいい]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1430</guid>
		<description><![CDATA[
iPhone／iPad用のアプリケーション「iBooks」がリリースされました。
iBooksはストアから本を購入するだけでなく、自分で用意したEPUB形式の電子書籍を読むこともできます。最近では、既存の文書を自分で電 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.webbingstudio.com/uploads/2010/07/ibook1.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/ibook1-150x150.jpg" alt="" title="ibook1" width="150" height="150" class="alignleft size-thumbnail wp-image-1431" /></a></p>
<p style="margin-top: 0;">iPhone／iPad用のアプリケーション「iBooks」がリリースされました。</p>
<p>iBooksはストアから本を購入するだけでなく、自分で用意したEPUB形式の電子書籍を読むこともできます。最近では、既存の文書を自分で電子化することを「<strong>自炊</strong>」というらしいです。</p>
<div class="clear"></div>
<p>EPUB形式の電子書籍を作れるフリーウェア「<a href="http://code.google.com/p/sigil/" class="blank">sigil</a>」を使って実際に作ってみたので、手順やポイントなどまとめてみます。</p>
<p><span id="more-1430"></span><br />
<a href="http://blog.webbingstudio.com/uploads/2010/07/100709-0002.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/100709-0002-480x225.jpg" alt="" title="100709-0002" width="480" height="225" class="alignnone size-large wp-image-1432" /></a></p>
<p>「sigil」は、ブログやDreamweaverと同じ感覚で電子書籍を作成できるソフトで、HTMLなどのデジタル文書からの変換に適しています。Win／Mac／Linuxをカバーしています。</p>
<p><a href="http://code.google.com/p/sigil/" class="blank">sigil &#8211; Project Hosting on Google Code</a></p>
<p>今回のサンプルは私の好きな短編「<a href="http://www.aozora.gr.jp/cards/000119/files/624_14544.html" class="blank">山月記</a>」にしました。</p>
<p>実は<a href="http://naoki.sato.name/epubunco/bookmarklet.html" class="blank">青空文庫にはEPUB変換ブックマークレットが既にある</a>のですが、今回は敢えて自炊してみます。</p>
<p>最初のテスト原稿が<a href="http://twitter.com/smokeymonkey" class="blank">@smokeymonkey</a>さんの「<a href="http://togetter.com/li/33383" class="blank">妻は俺の嫁</a>」だったことは内緒です。</p>
<h3>いちばん簡単な作り方</h3>
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/sigil02.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/sigil02-480x378.jpg" alt="" title="sigil02" width="480" height="378" class="alignnone size-large wp-image-1433" /></a></p>
<p>「sigil」をインストールして起動すると、すぐに編集画面になります。</p>
<p>通常はプレビュー画面モードになっていますが、Web制作のスキルがある人には分割モードか、コード画面モードの方が取っ付きやすいと思います。<br />
モードは画面の上の方にある、本と&lt;&gt;が重なったボタンで切り替えできます。</p>
<p>ひとまず、HTMLを&lt;body&gt;タグ内にコピペしてみました。</p>
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/sigil04.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/sigil04-200x146.jpg" alt="" title="sigil04" width="200" height="146" class="alignleft size-medium wp-image-1434" /></a></p>
<p>書籍名／著者は、メニューバーの「Tools」から「Meta Editer」を選択すると設定できます。<br />
書籍名を入れておかないと、iTunesやiBooksで見たときに何の本だかわかりません。忘れず設定しましょう。</p>
<div class="clear"></div>
<p>左上の大きなボタンの左から三番目をクリックすると、すぐEPUB形式の文書が書き出されます。<br />
このファイルを音楽ファイルなどと同じ感覚でiTunesライブラリに読み込み（自動でブックとして扱われます）、iPhone／iPadと同期すれば、iBooksのリストに作った書籍が登場して、読めるようになります。</p>
<h3>使えないHTMLタグに注意</h3>
<p>…と言いたいところですが、私の場合、最初は失敗しました。</p>
<p><img src="http://blog.webbingstudio.com/uploads/2010/07/ibook2-150x150.jpg" alt="" title="ibook2" width="150" height="150" class="alignnone size-thumbnail wp-image-1435" /></p>
<p>何故かルビ部分で改行されとる |||orz</p>
<p>どうも、&lt;ruby&gt;タグが入っているとiBooksでは不具合が出るようです。<br />
余分なタグやインラインスタイルが入っているものをそのまま使うと、読み込み速度が遅くなるという話もあるので、一旦テキストエディタに貼り付けてスタイルをリセットした方が無難だと思います。</p>
<h3>章ごとに分割してみる</h3>
<p>「山月記」は章立てでないので文章を貼り付けただけでもいいのですが、途中で強制的にページを分割することもできます。</p>
<p>左のツリーの「text」フォルダを右クリック→「Add New Item」を選択でXHTML文書がひとつ増えます。文書と文書の間は、ビューワー内で強制的にページ送りとなります。<br />
右上の大きなボタンの中に「自動でセクションを分ける」ボタンもありますが、意図しないところで分かれてしまうことが多いので手動でやった方がいいと思います。</p>
<p>また、文中に&lt;h2&gt;以下の見出し要素があると、要素の内容がiBooksの目次に反映されます。<br />
見出しは、ソースコード画面で直接マークアップするか、テキストをドラッグ→左上のプルダウンリストから任意の見出しを選択で指定できます。</p>
<h3>画像を貼る</h3>
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/sigil03.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/sigil03-150x150.jpg" alt="" title="sigil03" width="150" height="150" class="alignleft size-thumbnail wp-image-1437" /></a></p>
<p>文書内に画像を貼ることも自由にできます。<br />
私は外字の部分に使用してみました。<br />
高解像度の画像を貼るとiPadでもきれいに見られますが、書籍の総ファイルサイズに影響するので、コミックなどの場合はサイズダウンなどの工夫が必要そうです。</p>
<h3 class="clear">CSSを指定する</h3>
<p>EPUB形式の電子書籍の実態は、XHTML文書です…<br />
ということは、CSSの定義も可能です。</p>
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/sigil05.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/sigil05-150x150.jpg" alt="" title="sigil05" width="150" height="150" class="alignleft size-thumbnail wp-image-1438" /></a></p>
<p>左のツリーの「Styles」フォルダを右クリック→「Add New Item」でCSSが新規追加されます。</p>
<div class="clear"></div>
<p>これだと自動的にHTMLにリンクしてくれないようなので、私はコード画面を開いて、いつものWeb制作と同じ感覚でhead要素内に&lt;link&gt;を追加しました。</p>
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/sigil06.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/sigil06-480x120.jpg" alt="" title="sigil06" width="480" height="120" class="alignnone size-large wp-image-1439" /></a></p>
<p>iBooksの場合、既存の枠にインラインフレーム風にHTMLが埋め込まれる形になります。<br />
そのため、文字色と背景色は全く意味がありませんが、本文の基本文字サイズ・行間・見出しの体裁を調整したり、1ページ目だけ体裁を変えたりといった「sigil」の内部機能だけではできない細かな調整ができます。<br />
コーディングのスキルがある人にはおすすめです。</p>
<hr />
<p><a href="http://blog.webbingstudio.com/uploads/2010/07/ibook3.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/07/ibook3-146x200.jpg" alt="" title="ibook3" width="146" height="200" class="alignleft size-medium wp-image-1440" /></a></p>
<p>そんなこんなで、自分で本まで作れる時代になってしまいました。<br />
まだ表紙を作る方法がわからないので、その辺りも時間があるときに試してみようと思います。</p>
<div class="clear"></div>
<p>「iBooks」がリリースされたものの、今のところストアでは日本語の本をほとんどリリースしていません。<br />
ですが、既存の本のリリースを待つよりは、自分がいつでも読めるようにしたいテキストを自炊したり、自作の小説やテキストを電子化してセルフリリースするのが電子書籍の醍醐味であり、本当の楽しみ方なのではと思います。<br />
2chの長編読み物やコラムサイト、CMSのオンラインマニュアルなど自炊したいところです。</p>
<p>ただし、著作物を扱うときは慎重に。<br />
iTunesのときと同じように、<strong>あくまで個人の範囲内で</strong>楽しみましょう。</p>
<p>著作権がなくなってない作品を不特定多数に配布とか、もってのほかですよ！<br />
っていうか<strong style="font-size: 150%;">私が納品したサイトのコーディング丸パクして別のサイト作ったやつ出てこい（微笑）</strong></p>

<a href="http://twitter.com/?status=RT+%40%3A+iPhone%E3%83%BBiPad%E3%81%A7%E8%AA%AD%E3%81%BF%E3%81%9F%E3%81%84%E6%9C%AC%E3%82%92%E3%80%8Csigil%E3%80%8D%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%88+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2F28kunsd&amp;in_reply_to_status_id=18110961726" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/07/iphone_ipad_sigil.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>foursquareを楽しむための３つのポイント</title>
		<link>http://blog.webbingstudio.com/2010/01/foursquare_point3.html</link>
		<comments>http://blog.webbingstudio.com/2010/01/foursquare_point3.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 07:49:55 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[manner]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1303</guid>
		<description><![CDATA[
現在地共有ゲーム？の「foursquare」をはじめてます。
foursquareのはじめ方については、こちらの記事が詳しいです。
5分でわかる foursquare の始め方 &#124; WWW WATCH
何日か利用してみ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.webbingstudio.com/uploads/2010/01/foursquare_00.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/01/foursquare_00-480x283.jpg" alt="" title="foursquare_00" width="480" height="283" class="alignnone size-large wp-image-1307" /></a></p>
<p>現在地共有ゲーム？の「<a href="http://foursquare.com/" class="blank">foursquare</a>」をはじめてます。</p>
<p>foursquareのはじめ方については、こちらの記事が詳しいです。<br />
<a href="http://hyper-text.org/archives/2010/01/foursquare_quick_start.shtml" class="blank">5分でわかる foursquare の始め方 | WWW WATCH</a></p>
<p>何日か利用してみて、このサービスをずっと楽しむためのポイントがわかってきたので、これから参入する人たち、プライバシーが心配で迷い中の人たちのためにまとめてみます。</p>
<p><span id="more-1303"></span></p>
<h3>１．遠くの有名人より、近くの一般人</h3>
<p>初期登録すると、Twitterかfacebookのfollower / friendsで既にfoursquareをはじめている人たちに、リクエストを送ることができます。<br />
とりあえず、Twitterのfollowerの皆さんにひと通りリクを送ってみたのですが、何日か経ってひとつ失敗したなあと気付きました。</p>
<p>私はTwitterでは、東京を中心に、本州在住のWEBクリエイターをたくさんfollowしています。<br />
彼らのつぶやきはとても勉強になるからです。<br />
でも、彼らがチェックインしている場所にいくことはまずないので、foursquareでは彼らの行動は参考にならないし、あんまり面白みがないのです。<br />
（ドワンゴなどの著名企業が出るとおおっと思いますがw）</p>
<p>むしろ、同じ札幌に住んでいる、WEB屋でない普通の人たち（Twitterであれば道民部など）を集めた方が、ずっとfoursquareを楽しめるわけです。</p>
<h3>２．ShoutとTipsは違う</h3>
<p><a href="http://blog.webbingstudio.com/uploads/2010/01/foursquare_01.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/01/foursquare_01-133x200.jpg" alt="" title="foursquare_01" width="133" height="200" class="alignleft size-medium wp-image-1305" /></a></p>
<p>見落としがちですが、チェックインするときにTwitter等に流す「<strong>Shout</strong>」は一時的なもので、foursquareで共有される情報とは別です。<br />
（スナップショットはiPhoneアプリの画面です）</p>
<div class="clear"></div>
<p><a href="http://blog.webbingstudio.com/uploads/2010/01/foursquare_02.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/01/foursquare_02-133x200.jpg" alt="" title="foursquare_02" width="133" height="200" class="alignleft size-medium wp-image-1306" /></a></p>
<p>そこのポイントに関する情報を恒久的に残したい場合は、上部のタブにある「<strong>Tips</strong>」で登録します。</p>
<p>なので、TwitterにShoutでpostしつつ、foursquareにも情報を残したい場合はShoutの文言をコピーして、Tipsにペーストするということをしなければいけません。<br />
ただし、後で自宅のPCから追加することもできるし、まだ行ったことがないポイントにTipsを投稿することもできます。</p>
<div class="clear"></div>
<p>意外とこれに気付いてない人が多いらしく、今のところあまりTipsを投稿している人はいないみたいです。<br />
今後、foursquareが日本で定着するには、海外のように生のクチコミ情報を共有したり、クーポン発行などのショップとの提携が必要なわけで、もっとMAYOR争い以外の楽しみ方が広まればと思います。</p>
<h3>３．チェックインするのはチェックアウトするとき</h3>
<p>foursquareをはじめるときに、プライバシー面でいちばん心配なのが<br />
「現在地をチェックインしたことで、自分の足取りをつかまれてしまう」<br />
というところです。</p>
<p>完璧ではないですが、私は簡単な予防法を実行してます。<br />
「そこに来たとき」ではなく、「<strong>そこを離れるとき</strong>」にチェックイン。<br />
foursquareで重要なのは「何回チェックインしたか」であって、「何時にチェックインしたか」というのはけっこうどうでもいいのです。</p>
<p>MAYOR争いの楽しみは無くなってしまいますが、変質者被害などが心配な女の子たちは、チェックイン数が多い街中のポイントを、広く浅くチェックインしていくようにしていけば、安心して楽しめると思います。</p>
<p>くれぐれも、自宅でチェックインしてしまわないようご注意を。<br />
（すぐ消すことはできますが）<br />
iPhoneアプリは、うっかりタップしない位置にアイコンを置いておいた方がいいです。<br />
iPhoneへのパスコードロックも忘れずに。</p>
<hr />
<p>そんなわけで、つらつらとfoursquareの楽しみ方を書いてみましたが、同地域の知り合いが少なかったり、都市圏に住んでいないとなかなか楽しさを見出すのが難しいサービスだなあ、というのが実感です。<br />
地方都市に住んでる人たちは、気心の知れた友達に声をかけて、ゲーム感覚で一斉に始めてみるのがいいかもしれないですね。</p>

<a href="http://twitter.com/?status=RT+%40%3A+foursquare%E3%82%92%E6%A5%BD%E3%81%97%E3%82%80%E3%81%9F%E3%82%81%E3%81%AE%EF%BC%93%E3%81%A4%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fyfmxsbk&amp;in_reply_to_status_id=8359645035" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/01/foursquare_point3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>→Pia-no-jaC←のボットとWEBマーケティングの話</title>
		<link>http://blog.webbingstudio.com/2009/11/pianojac_twitter.html</link>
		<comments>http://blog.webbingstudio.com/2009/11/pianojac_twitter.html#comments</comments>
		<pubDate>Tue, 03 Nov 2009 06:17:24 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[mixi]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1170</guid>
		<description><![CDATA[

私は、Twitterでは公式のアカウント(@webbingstudio)の他に「@pianojac_fan」というのも運営しています。




最近気に入っている、インストロメンタルユニット「→Pia- [...]]]></description>
			<content:encoded><![CDATA[<img src="http://blog.webbingstudio.com/uploads/2009/11/discography_firstcontact_ph.jpg" alt="discography_firstcontact_ph" title="discography_firstcontact_ph" width="180" height="180" class="alignleft size-full wp-image-1171" />

<p>私は、Twitterでは公式のアカウント(<a href="http://twitter.com/webbingstudio" class="blank">@webbingstudio</a>)の他に「<a href="http://twitter.com/pianojac_fan" class="blank">@pianojac_fan</a>」というのも運営しています。</p>

<div class="clear">
</div>

<p>最近気に入っている、インストロメンタルユニット「<a href="http://pia-no-jac.net/" class="blank">→Pia-no-jaC←(ピアノジャック)</a>」を応援するために作ったアカウントで、数時間に一回</p>

<ul>
	<li>メンバー(HAYATO / HIRO)がほぼ毎日更新しているブログの新着</li>
	<li>公式サイト・メルマガ配信されるライブ情報</li>
</ul>

<p>を、自動でpostしています。</p>

<object width="480" height="388""><param name="movie" value="http://www.youtube.com/v/uj4srCKWpeA&hl=ja&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uj4srCKWpeA&hl=ja&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

<p style="padding-top: 1.5em;">限定グッズ販売などの細かい情報はボットじゃ無理なので、これは私が手動で更新しています。<br />
お陰さまでぼちぼちfollowしてくれる人が増えてきたようです。</p>

<span id="more-1170"></span>

<p>→Pia-no-jaC←はまだ新進のアーティストですが、全国にたくさんのファンがいます。<br />
彼・彼女らはmixiに地方ごとのコミュを作って、ファン同士のコミュニケーションを取ったり、寄せ書きを集めてHAYATOとHIROにプレゼントしたりと、熱心な活動を続けています。<br />
→Pia-no-jaC←の運営元の会社もほとんどの活動はmixiの公式コミュが中心です。</p>

<p>ですが、mixiは純粋なSNSですから、その活動内容が検索エンジンなどを通してWEB上に広まることはありません。<br />
現状のファンは充分に満足しますが、私のようにヴィレッジヴァンガードから→Pia-no-jaC←に興味を持った人は公式サイトしか情報ソースがないのです。</p>

<p>9月にニコニコ動画で生ライブをしたとき（これも1200人が集まる大盛況でした）、→Pia-no-jaC←の二人は<br />
「武道館でのライブを目指したい！」と宣言しました。</p>

<p>インストロメンタル系のアーティストが武道館って、大変な目標だと思います。<br />
ファンが増える必要があるので、<strong>ヴィレバン・Youtube・ニコ動・mixiのどれにも縁がない人</strong>にも「→Pia-no-jaC←」の活動を伝えなければいけません。</p>

<p>今、最もWEBでの情報拡散力が高いのが「Twitter」です。<br />
WEB屋として応援できることはないかしら、と思って作ったのが、Twitterの@pianojac_fanなのです。<br />
→Pia-no-jaC←のファンのことは「→JackerS←」というので、@pia_no_jackersでも良かったかもと思ったりします。</p>

<p>→Pia-no-jaC←は、とにかくライブが楽しいアーティストです。<br />
なので武道館まで行ってしまうと、正直ちょっと寂しかったりしますが、私の地味なボットがちょっとでもファンを増やす役に立ってくれればいいなと思います。</p>

<p>今月末には、4thアルバムやスクエニの名曲アレンジ集「<a href="http://www.square-enix.co.jp/music/sem/page/lovesq/" class="blank">Love SQ</a>」への参加、<br />
年末には四大都市でのツアーもあります。<br />
お仕事のテンションを上げたい人は是非是非、→Pia-no-jaC←を聴いてみてくださいね。</p>
<a href="http://twitter.com/?status=RT+%40%3A+%E2%86%92Pia-no-jaC%E2%86%90%E3%81%AE%E3%83%9C%E3%83%83%E3%83%88%E3%81%A8WEB%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E8%A9%B1+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fybajb97" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/11/pianojac_twitter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>なかなか覚えられないPHPのclassについて考えてみた</title>
		<link>http://blog.webbingstudio.com/2009/09/php_class.html</link>
		<comments>http://blog.webbingstudio.com/2009/09/php_class.html#comments</comments>
		<pubDate>Thu, 10 Sep 2009 05:34:00 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1097</guid>
		<description><![CDATA[空いている時間にPHPの学習をはじめてずいぶん経つのですが、「クラス」の概念がなかなか理解できませんでした。
どう書けばどう動くまでは把握しているのですが、「なぜこんな風に書くのか」がつかめない。

コンストラクタ [...]]]></description>
			<content:encoded><![CDATA[<p>空いている時間にPHPの学習をはじめてずいぶん経つのですが、「クラス」の概念がなかなか理解できませんでした。<br />
どう書けばどう動くまでは把握しているのですが、「なぜこんな風に書くのか」がつかめない。</p>

<p>コンストラクタとかメンバ変数なんて難しい言葉使うなよー＞＜</p>

<p>でも、昨日の晩ふと「<strong>夕飯のメニュー</strong>」に例えて考えてみたら、ちょっと理解できたかもです。<br />
メモしておこう。</p>

<p>関連：<a href="http://blog.webbingstudio.com/2009/03/%E3%81%B2%E3%81%A8%E3%82%8A%E6%9A%AE%E3%82%89%E3%81%97%E3%81%AE%E3%81%97%E3%81%82%E3%82%8F%E3%81%9B%E3%83%98%E3%83%93%E3%83%AD%E3%83%86%E9%A3%9F%E6%9D%90.html">ひとり暮らしのしあわせヘビロテ食材</a><br />
何故こんな記事を書いてるんだ…笑</p>

<span id="more-1097"></span>

<h3>スーパーで食材を買ってくる</h3>

<p>夕飯のメニューは大体、スーパーに行ってから考えたりします。<br />
思いつかないことも多いので、「使い回しのきく食材」を選びます。</p>
<p>この食材を「メンバ変数」と考えると</p>

<textarea readonly="readonly" cols="60" rows="7">class banGohan {
  var $niku;  //にく
  var $ninjin;  //にんじん
  var $tamanegi;  //たまねぎ
  var $naganegi;  //ながねぎ
  var $kyabetsu;  //きゃべつ
  var $shimeji;  //しめじ
}</textarea>

<p>となります（たぶん）</p>

<h3>食材からレシピをイメージする</h3>

<p>使い回すレシピを考えるために、食材をイメージします。<br />
これを「コンストラクタ」と考えると</p>

<textarea readonly="readonly" cols="60" rows="10">class banGohan {
//前の続き

//コンストラクタ
function banGohan($niku, $ninjin, $tamanegi, $naganegi, $kyabetsu, $shimeji) {
  $this->niku = $niku;  //にく
  $this->ninjin = $ninjin;  //にんじん
  $this->tamanegi = $tamanegi;  //たまねぎ
  $this->naganegi = $naganegi;  //ながねぎ
  $this->kyabetsu = $kyabetsu;  //きゃべつ
  $this->shimeji = $shimeji;  //しめじ
}

}</textarea>

<p>です。<br />
実際には冷蔵庫には既に調味料（しょうゆやみそ）も入っているので、継承されたクラスと考えてもいいのかもです。</p>

<h3>定番レシピをセットしておく</h3>

<p>上の食材があると、定番レシピがいくつかできます。<br />
これを「メンバ関数」と考えてみると</p>

<textarea readonly="readonly" cols="60" rows="10">class banGohan {
//前の続き

function banGohanTonjiru(){  //とんじる
  $nabe = $this->niku . $this->ninjin . $this->naganegi . $this->tamanegi;
  $nabe *= "miso" . "dashi" . "shouga";
  return $nabe;
}

function banGohanCurry(){  //カレー
  $nabe = $this->niku . $this->ninjin . $this->tamanegi . $this->shimeji;
  $nabe *= "curryroux" . "hachimitsu" . "yoghourt";
  return $nabe;
}

function banGohanYakisoba(){  //やきそば
  $huraipan = $this->niku . $this->ninjin . $this->naganegi . $this->kyabetsu;
  $huraipan *= "mushimen" . "sauce";
  return $huraipan;
}

・・・
}</textarea>

<p>メンバ関数に入る値は、基本的に「肉」「にんじん」「きゃべつ」でなければならないですが、<br />
肉が「100g88円の切り落とし」でも、「100g300円の無菌豚」でもいいわけです。にんじんもブランド品だろうがキズものだろうがバラものだろうがなんでもいいわけです。<br />
レシピさえ確定していれば。</p>

<h3>さて作るか</h3>

<p>で、レシピに添って食材を実際に買ってきて作ります。</p>

<textarea readonly="readonly" cols="60" rows="10">//今週の場合
$konsyu = new banGohan("こまぎれ", "道内産三本袋", "バラ売り新玉ねぎ", "1本ものネギ", "1/4玉", "ホ○トのしめじ");
$kyo = $konsyu->banGohanTonjiru();
$asu = $konsyu->banGohanCurry();
$asatte = $konsyu->banGohanYakisoba();

//来週の場合
$raisyu = new banGohan("バラ肉", "バラ売りキズもの", "玉ねぎ三袋パック", "半分カット", "1/2玉", "地元農家のしめじ");
$kyo = $raisyu->banGohanCurry();
$asu = $raisyu->banGohanYakisoba();
$asatte = $raisyu->banGohanTonjiru();</textarea>

<p>レシピが確定しているので、いちいち本を読むこともなく、材料を買ってきては粛々と実行していきます。</p>

<hr />

<p>と、ここまで妄想してみたのですが、なんか違う気がしてきました…；；<br />
とりあえずclassの流れと使いどころは理解したので、今日のところはこれで良しとしよう…</p>

<p>追記：shuji_w6eさんが説明してくれました＾＾参考にどうぞ。<br />
<a href="http://d.hatena.ne.jp/shuji_w6e/20090910/1252574711" class="blank">クラスとは変数をまとめて使う事のできるテンプレート</a></p>
<a href="http://twitter.com/?status=RT+%40%3A+%E3%81%AA%E3%81%8B%E3%81%AA%E3%81%8B%E8%A6%9A%E3%81%88%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84PHP%E3%81%AEclass%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fmyr67o" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/09/php_class.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>RubyとWEBデザイナー</title>
		<link>http://blog.webbingstudio.com/2009/08/ruby.html</link>
		<comments>http://blog.webbingstudio.com/2009/08/ruby.html#comments</comments>
		<pubDate>Tue, 25 Aug 2009 16:42:17 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Hokkaido]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1028</guid>
		<description><![CDATA[
株式会社えにしテック
「えにしテック」は、最近設立されたばかりの札幌の企業です。
プログラミングの会社にも関わらず、準備中の段階からデザイン会社並みのきれいなサイト。正式公開が楽しみです。
代表の島田さんと設樂さんは、 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.webbingstudio.com/uploads/2009/08/enishitec.jpg" alt="enishitec" title="enishitec" width="480" height="366" class="alignnone size-full wp-image-1029" /></p>
<p><a href="http://www.enishi-tech.com/" class="blank">株式会社えにしテック</a></p>
<p>「えにしテック」は、最近設立されたばかりの札幌の企業です。<br />
プログラミングの会社にも関わらず、準備中の段階からデザイン会社並みのきれいなサイト。正式公開が楽しみです。</p>
<p>代表の島田さんと設樂さんは、プログラミング言語「Ruby」のコミュ「<a href="http://ruby-sapporo.org/" class="blank">Ruby札幌</a>」の主幹でもあります。<br />
Ruby札幌が本の出版などで全国的に活動している影響もあるのか、北大生を中心に札幌はRubiestが多いです。<br />
日本人が開発した言語なので日本語との親和性が高く、構造的にも優れた言語であるようです。</p>
<p>そんなこんなで私も近頃Rubyに興味を持っていて、本を読むこともあるのですが、WEBデザイナーとRubyの関わりはまだとても薄いのが現状です。</p>
<p><span id="more-1028"></span></p>
<p>WEBデザイナーが最も関わることが多い言語は「PHP」です。著名なメールフォームやCMSののほとんどがPHPでできているし、レンタルサーバーのほぼ全てが、PHPを何の設定もなく扱えるからです。</p>
<p>私もある程度は習得していて、お仕事でカスタマイズの際に書くことも多いです。<br />
それ以外の言語で普及している（というより数年前は主流だった）のはPerlくらいです。</p>
<p>WEBデザイナーは、覚えなければならないことがやたらとあります。<br />
XHTML＋CSSはもう当然ですが、AdobeCSシリーズの操作、デザインや色彩の知識、アクセシビリティ、SEO・SEM、言語ではPHPだけでなくJavaScriptやActionScriptも書くことがあります。<br />
PDFファイルの作成、CMSの構築スキルなんかもあります。</p>
<p><strong>プログラマよりずっと勉強してるぜ！という意味では絶対ない</strong>です。<br />
ぶっちゃけ「広く浅くのなんでも屋」、「いっこうにレベルが上がらないWizardryのビショップ」です。<br />
それだけに、どうしても学習コストを考えざるを得ません。</p>
<p>「私たちは理論的なこだわりがあってPHPを選択しているわけではないです。現場で有用な技術やアプリがPerlで書かれていればPerlを勉強しますし、Rubyで書かれていればRubyを勉強するのです」</p>
<p>以前、プログラマの方に尋ねられて、そう答えたこともあります。</p>
<p>なので、私がRubyに期待しているのが<br />
「WEBデザイナーがよく扱うWEBアプリケーションで、キラーアプリが出てくれること」です。<br />
CMSだと牙城は崩せないので、オープンソース・カスタマイズフリーのフォーム、Wiki、携帯サイトの運営ツールなどでしょうか。</p>
<p>また「初心者がWEBアプリを作れる学習本」などがたくさん出てくれると嬉しいです。<br />
（プログラマの皆さんはそういう本がお好きでないようです；；）<br />
そうなったら、PHP一辺倒の市場が変わるんじゃないかと思います。実際PHPもそうやって言語的に微妙であるにも関わらず主流になったわけです。</p>
<p>もちろん、学習する側の努力も必要ですよね…もっとがんばらないと。</p>
<hr />
<p>意外と知られていないことですが、ゲーム作成ソフト「RPGツクール」シリーズの近作は、Rubyで全てのイベント処理を書くことができます。</p>
<p><a href="http://tkool.jp/products/rpgxp/index.html" class="blank">RPGツクールXP（バリュー版）</a></p>
<p><a href="http://tkool.jp/products/rpgvx/index.html" class="blank">RPGツクールVX</a></p>
<p>私は元々ツクーラーで、この段階でRubyのことを知っていたのですが、結局ツクールXP以降を購入することはありませんでした。</p>
<p>もしツクールXPを購入して、Rubyに親しんでいたら、私も今頃Rubiestくらいにはなれていたかもしれません。<br />
そう思うとくやしくてくやしくてしょうがないですwww</p>

<a href="http://twitter.com/?status=RT+%40%3A+Ruby%E3%81%A8WEB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fl3q35h" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/08/ruby.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>おい！PokenもいいがBumpしようぜ！</title>
		<link>http://blog.webbingstudio.com/2009/08/bump.html</link>
		<comments>http://blog.webbingstudio.com/2009/08/bump.html#comments</comments>
		<pubDate>Sat, 08 Aug 2009 01:04:26 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=897</guid>
		<description><![CDATA[先日飲み会で教えてもらった、「Bump」が楽しいです。
http://www.bumptechnologies.com/index.phtml

「Bump」は、iPhoneを持った手をぶつけるだけで連絡先を交換できる、 [...]]]></description>
			<content:encoded><![CDATA[<p>先日飲み会で教えてもらった、「Bump」が楽しいです。</p>
<p><a href="http://www.bumptechnologies.com/index.phtml" class="blank">http://www.bumptechnologies.com/index.phtml</a></p>
<p><a href="http://blog.webbingstudio.com/uploads/2009/08/bump_1.jpg"><img src="http://blog.webbingstudio.com/uploads/2009/08/bump_1-150x150.jpg" alt="bump_1" title="bump_1" width="150" height="150" class="alignleft size-thumbnail wp-image-898" /></a></p>
<p>「Bump」は、iPhoneを持った手をぶつけるだけで連絡先を交換できる、<a href="http://poken.jp/ja/" class="blank">Poken</a>みたいな無料アプリです。<br />
App Storeの、10億本目のダウンロードアプリでもあります。</p>
<p>Pokenは結局購入してない私なのですが、専用の端末を持ち歩かなくていいので気に入ってます。</p>
<div class="clear"></div>
<p><span id="more-897"></span></p>
<p><a href="http://blog.webbingstudio.com/uploads/2009/08/bump_2.jpg"><img src="http://blog.webbingstudio.com/uploads/2009/08/bump_2-150x150.jpg" alt="bump_2" title="bump_2" width="150" height="150" class="alignleft size-thumbnail wp-image-899" /></a></p>
<p>Pokenのようなオンラインサービスではないので、送りたい連絡先は前もって作っておく必要があります。</p>
<p>起動画面の左下にある「My Profile」をタップすると、左のような画面になるので、さらに「Select」をタップして自分の情報として公開したい連絡先を選びます。</p>
<p>「Create」「Edit」でアプリから直接、連絡先を新規作成・編集もできます。</p>
<p>さらに、下のボタンをタップして「交換してもいい情報」にチェックを入れます。<br />
「名前」「電話番号」「メアド」「連絡先に登録している写真」を選べるので、メアドはいいけど電話番号は×、などもOKです。<br />
いちばん右の大きいボタンにチェックを入れると、全て公開します。</p>
<p><img src="http://blog.webbingstudio.com/uploads/2009/08/bump_s.jpg" alt="bump_s" title="bump_s" width="197" height="197" class="alignleft size-full wp-image-900" /></p>
<p>準備ができたら、あとはお互い起動した状態でiPhoneを持った手をゴスッとぶつけるだけです。<br />
しばらく待つと相手の連絡先が受信され、許可すると自動的に連絡先に登録されます。<br />
ディスプレイにちゃんと相手の名前やアバターが表示されるので、面白いです。</p>
<p>本名は公開したくないという人は、名前がハンドルネームになっている別の連絡先を作っておいて、オフ会などのときはそちらを送信するようにしてもいいですよね。</p>
<p>私のまわりはiPhoneユーザーがとても多いので、Bumpも広まってくれるとうれしいなあ。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%81%8A%E3%81%84%EF%BC%81Poken%E3%82%82%E3%81%84%E3%81%84%E3%81%8CBump%E3%81%97%E3%82%88%E3%81%86%E3%81%9C%EF%BC%81+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fm6c7mo" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/08/bump.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>お問い合わせフォームを作りました</title>
		<link>http://blog.webbingstudio.com/2009/08/contact_form.html</link>
		<comments>http://blog.webbingstudio.com/2009/08/contact_form.html#comments</comments>
		<pubDate>Thu, 06 Aug 2009 21:01:15 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=891</guid>
		<description><![CDATA[
「うぇびんぐさん、あのページ、もう一年くらい準備中ですよねw」
と、取引先の営業Tさんに言われていた「お問い合わせフォーム」が復活いたしました。
これまでは無料のフォームをカスタマイズしていましたが、勉強も兼ねて、自分 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.webbingstudio.com/uploads/2009/08/contact.jpg" alt="contact" title="contact" width="480" height="406" class="alignnone size-full wp-image-892" /></p>
<p>「うぇびんぐさん、あのページ、もう一年くらい準備中ですよねw」</p>
<p>と、取引先の営業Tさんに言われていた「お問い合わせフォーム」が復活いたしました。</p>
<p>これまでは無料のフォームをカスタマイズしていましたが、勉強も兼ねて、自分でいちからPHPを書きました。<br />
Ajax連動なんてできてないし、自動返信機能も付いてないのですが、やっとPHPで実用のアプリケーションを作ることができたので、ちょっとうれしいです。</p>
<p>で、何故ずっとメールフォームを作っていたのか、という話です。</p>
<p><span id="more-891"></span></p>
<h3>セキュリティの基礎をしっかりやる</h3>
<p>このフォーム、入力チェックをガチガチ入れています。<br />
メールアドレスをカンマ区切りでごっそり書かれた場合や、外国からのスパム、ボットの連続送信、確認画面の後で送信データを改ざんされた場合など、素人なりにできるだけの対策を講じてみました。<br />
そうでなければ怖くてお仕事で使えません。</p>
<p>メールフォームは、データの扱いが不特定の訪問者にゆだねられるので、慎重にならざるを得ません。<br />
実際、プログラミングの知識が浅い人が自作のフォームを配布して、プログラマにダメ出しされることはよくあります。<br />
こういうことを先にきちんとやっておけば、いつかプログラミングのお仕事をすることになったときに、お客様に迷惑をかけることはないだろうと思ったのです。</p>
<h3>複雑な分岐があるフォームがほしい</h3>
<p><img src="http://blog.webbingstudio.com/uploads/2009/08/contact1.jpg" alt="contact1" title="contact1" width="480" height="265" class="alignnone size-full wp-image-893" /></p>
<p>所属を「制作会社」か「一般法人」にすると、社名の入力が必須になります。<br />
これ以外の場合は空欄でも通ります。</p>
<p>ウェブサイト構築のお仕事でフォームを設置することは多いのですが、このような<br />
「○○の入力値が××だったときのみ、△△を入力必須にする」<br />
という処理はできないか、と尋ねられることが多いです。</p>
<p>このような機能は、一般的に手に入るフォームにはほとんどありません。<br />
100%完璧にできなくてもいい、という場合はjQueryで強引にフォームを書き換えることもあるのですが、そういったことはあまりしたくありません。</p>
<p>やっぱり、フォーム自体を自作できるようになるしかないかと思い、今回のお問い合わせフォームにがんばって入れてみました。</p>
<h3>フォームを搭載しているCMSも増えたけど</h3>
<p>最近のCMSは、ほとんどが高機能なフォームを備えています。<br />
WordPressの「<a href="http://ideasilo.wordpress.com/2007/10/22/contact-form-7-in-japanese/" class="blank">Contact Form 7</a>」にもずいぶんお世話になっています（リロードするとメールが再送されちゃいますが…笑）。</p>
<p>CMS連動のフォームはカスタマイズの手間なく設置ができて普段はとても良いのですが、SSLページへの設置を求められた場合は、フォーム自体をSSL領域に置かなければいけないので利用できません。<br />
先述したようなトリガー機能も流石にありません。<br />
やはり、小回りの利く単独のフォームも確保しておきたいのです。</p>
<h3>管理画面＋DB連動を視野に入れる</h3>
<p>このフォーム、入力項目の設定部分を連想配列で書いています。なので、今の時点では入力ページは普通の静的HTMLになっていますが、PHPで自動生成させることもできます。</p>
<p>本格的なメールフォームのように、ラベル名・inputの表示タイプ・順番・チェック項目などの要素を管理画面＋データベースで制御して、使い回しが効くようにしたいのです。<br />
きちんと規格化したアプリケーションを作っておけば、データベースやセッションなど、次のステップの勉強に進みやすいだろうともくろんでます。アンケートや掲示板への改造もしやすいですし。</p>
<p>私はお仕事でプログラミングをすることがほとんどないので、本に書いてある以外のことがなかなかつかめません。<br />
「わかりやすい」「論理的な」コーディングとはどう書けばいいのかとか、関数の再帰処理（関数をその関数自体の中でもう一度呼び出す処理）の辺りなどさっぱりわかりません。<br />
DevDoの人たちに、その辺のポイントなどアドバイスをもらおうと思います。</p>
<p>デザインやコーディングのお仕事があるのでなかなか時間が取れませんが、確実に前進していると自分をごまかしつつまた頑張ります。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Flovg2f" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/08/contact_form.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UNIQLO CALENDAR</title>
		<link>http://blog.webbingstudio.com/2009/06/uniqlo-calendar.html</link>
		<comments>http://blog.webbingstudio.com/2009/06/uniqlo-calendar.html#comments</comments>
		<pubDate>Wed, 10 Jun 2009 07:47:08 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Think]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[これはいい]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=649</guid>
		<description><![CDATA[



UNIQLO CALENDAR

ユニクロがリリースするFlash作品は、いつもすてき。

デザイン感覚も素晴らしいけど、リアルタイムの概念を持ったものを最小限のパフォーマンスで表現するというのは [...]]]></description>
			<content:encoded><![CDATA[<div>
<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='424' height='212' codebase='http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'><param name='movie' value='http://www.uniqlo.com/calendar/swf/uqcal_bp_loader.swf?cID=JP&aID=01103&bgm=0&size=large' /><param name='bgcolor' value='#ffffff'><param name='quality' value='high' /><param name='allowScriptAccess' value='always' /><embed src = 'http://www.uniqlo.com/calendar/swf/uqcal_bp_loader.swf?cID=JP&aID=01103&bgm=0&size=large' width='424' height='212' bgcolor='#ffffff' quality='high' allowScriptAccess='always' pluginspage='http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></embed></object>
</div>

<p><a href="http://www.uniqlo.com/calendar/" target="_blank">UNIQLO CALENDAR</a></p>

<p>ユニクロがリリースするFlash作品は、いつもすてき。</p>

<p>デザイン感覚も素晴らしいけど、リアルタイムの概念を持ったものを最小限のパフォーマンスで表現するというのは、Flashではとても難しいこと。<br />
このカレンダーの場合、画質をわざと落とすことで、ジオラマやシミュレーションゲームを見てるようなチープ感を出しつつファイルサイズも抑えてます。楽しさだけ伝えるなら、画質って意外と問題にならないのね。</p>

<p>本サイトをクリックしたときの展開も衝撃過ぎる。これはフルスクリーンで見るべき。</p>

<p>札幌は？札幌は？wktk</p>

<div><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/NK357O9mZPI&hl=ja&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NK357O9mZPI&hl=ja&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></div>

<p>はてブではこの人の作品ではないかって言われてますね。<br />
いろいろなところで取り上げられてるそうなので間違いないかも。後でYoutubeの作品もじっくり観よう。</p>

<p>写真家の本城直季氏が写真を連続撮影→動画化というのが有力ぽい。<br />
音楽の制作元はサイト内に書いてあるのに、動画を作った人の名前がない…気になるなー</p>
<a href="http://twitter.com/?status=RT+%40%3A+UNIQLO+CALENDAR+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fkjltpg" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/06/uniqlo-calendar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Six Apartのパスメモリー認証</title>
		<link>http://blog.webbingstudio.com/2009/06/six_apart_pass.html</link>
		<comments>http://blog.webbingstudio.com/2009/06/six_apart_pass.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 07:01:41 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[MovableType]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=642</guid>
		<description><![CDATA[
上の画像は、MovableTypeをダウンロードするときに必要な、シックスアパートユーザーID（SAID）の登録フォームの一部なんですが。
「自分の知っている人の名前と住所を5人分入れておいて、後でランダムに出てきた配 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-643" title="passmemory" src="http://blog.webbingstudio.com/uploads/2009/06/passmemory.jpg" alt="passmemory" width="480" height="311" /></p>
<p>上の画像は、MovableTypeをダウンロードするときに必要な、<a href="https://mtuser.sixapart.jp/" target="_blank">シックスアパートユーザーID（SAID）</a>の登録フォームの一部なんですが。</p>
<p>「自分の知っている人の名前と住所を5人分入れておいて、後でランダムに出てきた配列から正しい組み合わせを選ぶ」という認証システムを採用してます。</p>
<p><img class="alignnone size-full wp-image-644" title="passmemory2" src="http://blog.webbingstudio.com/uploads/2009/06/passmemory2.jpg" alt="passmemory2" width="480" height="297" /></p>
<p>※自分はこのシステム使ってないので、このリストの中に知人はいません</p>
<p>単語の羅列ではなくて、自分だけが知っていそうな長期記憶を利用する認証方法を「<a href="http://www.google.co.jp/search?q=%E3%83%91%E3%82%B9%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%BC%E8%AA%8D%E8%A8%BC" target="_blank">パスメモリー認証</a>」といいます。</p>
<p>「あなたの卒業した小学校は？」「母親の旧姓は？」<br />
というクイズ形式のはよく見ますが、こういうのはあまり見かけないなあ。<br />
しかも、大抵はパスワードを忘れたときのメール送信用に使われますが、SAIDの場合はこれ単独でもログイン可能です。</p>
<p>自分的に気になるのが、<br />
有名人や、会社の社長や、珍しい名前の人を登録してしまうと分かりやすすぎてザルなんじゃとか、<br />
「全然付き合いのない同僚」を登録してその同僚が辞めちゃったりしたら覚え切れるかなあとか、<br />
「誰を登録したのか」を忘れてしまったらとか、<br />
電話帳などのデータからランダムで出るとしたら、激レアな私の苗字が出たりしないだろうなとかwww</p>
<p>それでも</p>
<p><span style="color: #ff00ff;">単語の羅列で覚えられないから、メモ帳に書いてデスクトップに置いてます☆</span></p>
<p>というスイーツなことをされるよりはいいかもしれませんw</p>
<p>もともとSAIDは、MovableTypeの最新版をダウンロードしたり、サポートへメールをしたりするのに使う程度で、流出しても登録者の個人情報以外の損害は少ないものです。<br />
軽い認証で充分なものは、パスメモリー方式を採用した方がユーザーの負担も減って、いいかもしれませんね。</p>

<a href="http://twitter.com/?status=RT+%40%3A+Six+Apart%E3%81%AE%E3%83%91%E3%82%B9%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%BC%E8%AA%8D%E8%A8%BC+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Flh2ogc" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/06/six_apart_pass.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
