<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>messaliberty 日本語</title>
	
	<link>http://jp.messaliberty.com</link>
	<description>hulor と開発チームの最新情報</description>
	<lastBuildDate>Fri, 12 Feb 2010 08:39:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/feed/" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/messaliberty/jp" /><feedburner:info uri="messaliberty/jp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>messaliberty/jp</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://feedpath.jp/feedreader/feeds_add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://feedpath.jp/common/images/sub_feedpath.gif">feedpath???</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/messaliberty/jp" src="http://www.bloglines.com/images/sub_modern11.gif">Bloglines???</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://buttons.googlesyndication.com/fusion/add.gif">Google???</feedburner:feedFlare><feedburner:feedFlare href="http://r.hatena.ne.jp/append/http://feeds.feedburner.com/messaliberty/jp" src="http://r.hatena.ne.jp/images/addto_w.gif">???RSS???</feedburner:feedFlare><feedburner:feedFlare href="http://reader.livedoor.com/subscribe/http://feeds.feedburner.com/messaliberty/jp" src="http://image.reader.livedoor.com/img/banner/91_17_1.gif">Livedoor???????</feedburner:feedFlare><feedburner:feedFlare href="http://reader.goo.ne.jp/web/bookmarklet.html?,,http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://reader.goo.ne.jp/web/img/addwebrss.gif">goo RSS???????</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.co.jp/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://img.yahoo.co.jp/i/jp/my/addtomy1.gif">myyahoo???</feedburner:feedFlare><feedburner:feedFlare href="http://www.fenrir.co.jp/rd/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://images2.fenrir.co.jp/fb/sleipnir_feed.gif">Sleipnir に追加</feedburner:feedFlare><feedburner:feedFlare href="http://reader.excite.co.jp/subscribe/?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmessaliberty%2Fjp" src="http://reader.excite.co.jp/images/add_rss_excitereader.gif">エキサイトリーダーに登録</feedburner:feedFlare><item>
		<title>「常識が変わる」という機会の損失</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/JsuGWG0UC-I/</link>
		<comments>http://jp.messaliberty.com/2010/02/dontbelieveyourcommonsense/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 08:39:12 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[lifehacks]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=847</guid>
		<description>「○○円貯まったら留学する」とか
「○○年経ったら結婚する」とか
「○○年勤めたら転職する」とか
「自分は○○だから××しない」という話を聞くことがありますが、私はこの考え方が好きではありません。その一番の理由として、こ [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>「○○円貯まったら留学する」とか<br />
「○○年経ったら結婚する」とか<br />
「○○年勤めたら転職する」とか<br />
「自分は○○だから××しない」という話を聞くことがありますが、私はこの考え方が好きではありません。その一番の理由として、この考え方が「それをすることに伴なう考え方と更なる行動の変化」」を考慮していない考え方だと思うからです。</p>
<h5>【英語上達のための勉強の例】</h5>
<p>例えば、英語の勉強を例に挙げてみます。留学をしたことのない人が「日常会話がある程度聴き取れるようになったらオーストラリアへ留学する」という目標を立てたとしましょう。そういう人に対して私は「いやいや、まずその国へ行ってみなよ」とお薦めします。山登りに例えるならば死なない程度に「まずは登ってみる」ということです。やってみることによって、考え方が変わり、その先の行動も変わります。</p>
<p>「ネイティブが何言ってるかさっぱり分からん～！リスニングもっと頑張らないと！！」<br />
「ヨーロッパ人留学生の発音すごくきれいだな。自分は何て発音が下手なんだ・・・！！」</p>
<p>それらの「恥」は帰国後の勉強の進歩具合を大いに加速してくれることでしょう。<br />
はたまた、</p>
<p>「いや、オーストラリアって案外おもんないな。自分は留学は別にしなくてもいいかも・・・」<br />
「やっぱり自分には語学は向いてない！辞めて他の勉強をしよう」<br />
と言った前向きな気付きによる下山かも知れません。<br />
いずれにせよ<strong>「とりあえずやってみることによる精神的変化とそれに引き起こされる行動の変化」</strong>が重要なわけです。</p>
<h5>【スノーボードでの例】</h5>
<p>スノーボードが上手くなりたかったら、本を読んでフォームを勉強するのは一旦辞めて、挫折を味わいにゲレンデに滑りに行き、その後、本で勉強すれば良いと思います。本を読んで正しいフォームを身につけることもとっても重要です。ドラマティックな成長のためには「正しいやり方を真似ること」が必須です。ただしそれは「もうあんな恥はかきたくない！」という考え方への変化を起こしてからです。「颯爽と滑っている自分がなんだか想像できる」という考え方の変化かも知れません。その経験があるのとないのとでは本で学ぶという「行動」時の集中力や真剣さに差が出て、成長放物線の角度が変わってくると思うのです。</p>
<h5>【会社組織においても一緒】</h5>
<p>ちょっと話が変わりますが、これらは会社組織においても同じことが言えると思います。あなたの会社が年間目標を立てたとしましょう。<br />
「今年の年末には年商1000万円達成するぞ！！」1000万円が山頂です。この場合は「1000万円を達成するための数値ベースでの事業計画を立てること」が「具体的な行動」です。それは「1000万円達成するには今のままでは全然無理だ！」という精神的変化を促します。「現在地を知る」という点において「自分の英語が通じなかった」「リフトから降りれなかった」という「恥」と一緒です。以前関わりのあった年商2000万の会社では「年商10億！」と壁に貼ってありましたが、具体的方法は話されていませんでした。何となく目標が達成されることはないと思うのです。また、山頂にたどり着く間のマイルストーンが見えずに山登りするのは精神的負担がかかります。山頂が見えていないと尚更です。</p>
<p>英語やスノーボードの場合、行動が「本当にやりたいかどうか？」という精神的変化（願望）を起こし、更なる行動につながると思います。会社の売上の場合は「本当に出来るかどうか？」という精神的変化（焦り）を起こし、更なる行動につながると思います。</p>
<h5>【常識は変化する】</h5>
<p>主旨が「目標設定の重要さ」のようになってしまいましたが、一番書きたかったことは「行動してみることにより気持ちに変化が起こる」ということです。つまりは「常識が変わっていく」ということです。<br />
冒頭に戻って、例えば「今付き合って3年だけど5年経ったら結婚する」としましょう。仮に3年目で結婚したとして、4年目、5年目間に精神的変化が起こります。<br />
「別に欲しくなかったけど何だか子供が欲しくなってきた」<br />
「精神的に落ち着いて、人に優しくなれるようになった」<br />
結婚を先延ばしにした場合に比べ、6年目の時点では全く別の人生になっていると思うのです。</p>
<p>「入社したけど面白くなかった。でも3年は勤めると決めたから絶対辞めないぞ」という場合も面白くないのであれば辞めてもっと楽しい会社に入ったらいいのです。<br />
「転職して新しい会社でタイと取引をすることになって、タイ語を勉強しようかななんて気になってきた」なんて素敵です。</p>
<p>「自分が社交ダンスなんてガラじゃないよ」なんて思っていても、いざやってみたら楽しくて習いに行き始めた。新たな生涯の趣味が一つ増えた！なんてことになるかも知れません。</p>
<p>行動してみることによって以前は考えられなかった考え方の変化が訪れるかも知れませんが、そしたらそっちへ向かってまた走り出せばいいのではないでしょうか。現在の状態でくすぶって「自分（会社）の中での常識の変化とそれに伴なう行動」という機会を損失するよりよっぽどか成長すると思います。個人としても会社の一員としても「具体的行動による常識の変化」を起こしていくように心がけようと改めて思った次第です。</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=JsuGWG0UC-I:BDjQfmLPdSo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=JsuGWG0UC-I:BDjQfmLPdSo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=JsuGWG0UC-I:BDjQfmLPdSo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=JsuGWG0UC-I:BDjQfmLPdSo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=JsuGWG0UC-I:BDjQfmLPdSo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=JsuGWG0UC-I:BDjQfmLPdSo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=JsuGWG0UC-I:BDjQfmLPdSo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=JsuGWG0UC-I:BDjQfmLPdSo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/JsuGWG0UC-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/02/dontbelieveyourcommonsense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/02/dontbelieveyourcommonsense/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/02/dontbelieveyourcommonsense/</feedburner:origLink></item>
		<item>
		<title>Google App Engine 上の JRuby でメールを受信する方法</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/jIaMCzUzync/</link>
		<comments>http://jp.messaliberty.com/2010/01/how-to-receive-incoming-mail-on-jruby-on-rails-on-gaej/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:52:48 +0000</pubDate>
		<dc:creator>ice</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=840</guid>
		<description>以下の組み合わせで動作を確認しています

jruby-1.4.0
rails 2.3.2
appengine-java-sdk-1.3.0.zip
appengine-apis-0.0.11.jar (0.0.12 でも [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/11/how-to-use-email-to-create-and-reply-to-forums-on-redmine/' rel='bookmark' title='Permanent Link: Redmine のフォーラムをメールで更新する方法'&gt;Redmine のフォーラムをメールで更新する方法&lt;/a&gt; &lt;small&gt;最近は BTS としてだけでなく、様々なプロジェクトの管理に Redmine を使っています。10月までは Basecamp と Trac の組み合わせでしたが、いま Redmine...&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/jruby-on-rails-on-gaej-howto-put-rubygems-into-a-jar-file-to-reduce-number-of-files/' rel='bookmark' title='Permanent Link: [JRuby on Rails on GAE/J] rubygems を jar ファイルの中にまとめる'&gt;[JRuby on Rails on GAE/J] rubygems を jar ファイルの中にまとめる&lt;/a&gt; &lt;small&gt;GAE/J で Rails アプリを開発するとき、GAE/J 上にアップロードできるファイル数の制限の関係から、 なんとかしてファイル数を減らしたくなります。 そこで、有効なのが、使用する rubygems を jar...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>以下の組み合わせで動作を確認しています</p>
<ul>
<li>jruby-1.4.0</li>
<li>rails 2.3.2</li>
<li>appengine-java-sdk-1.3.0.zip</li>
<li>appengine-apis-0.0.11.jar (0.0.12 でもメール受信部分の機能は入っていないっぽい)</li>
</ul>
<p>GAE/J でのメールの受信の流れは以下のようになっています。</p>
<ol>
<li>(string)@(appid).appspotmail.com 宛へメールを送る</li>
<li>次のURLが呼び出される http://(appid).appspot.com/_ah/mail/(string)@(appid).appspotmail.com</li>
<li>↑ の URL に関連付けられた method が呼び出される</li>
<li>TomCat(?) の HttpServletRequest req の req.getInputStream() から受信したメールを読み込む</li>
</ol>
<p>※ (string)には好きな文字列、(appid)には GAE の appid が入ります。</p>
<p>Java でメールを読み込む部分のサンプルは以下のような感じになります。<br />
<a href="http://code.google.com/intl/en/appengine/docs/java/mail/receiving.html" target="_blank">Receiving Email &#8211; Google App Engine &#8211; Google Code</a></p>
<pre style="color: #7eff00; background-color: #000000;">
<span style="color: #ffff00;">import</span> <span style="color: #ff00ff;">java</span>.<span style="color: #ff00ff;">io</span>.<span style="color: #ffffe0;">IOException</span>;
<span style="color: #ffff00;">import</span> <span style="color: #ff00ff;">java</span>.<span style="color: #ff00ff;">util</span>.<span style="color: #ffffe0;">Properties</span>;
<span style="color: #ffff00;">import</span> <span style="color: #ff00ff;">javax</span>.<span style="color: #ff00ff;">mail</span>.<span style="color: #ffffe0;">Session</span>;
<span style="color: #ffff00;">import</span> <span style="color: #ff00ff;">javax</span>.<span style="color: #ff00ff;">mail</span>.<span style="color: #ff00ff;">internet</span>.<span style="color: #ffffe0;">MimeMessage</span>;
<span style="color: #ffff00;">import</span> <span style="color: #ff00ff;">javax</span>.<span style="color: #ff00ff;">servlet</span>.<span style="color: #ff00ff;">http</span>.*; 

<span style="color: #ffff00;">public</span> <span style="color: #ffff00;">class</span> <span style="color: #ffffe0;">MailHandlerServlet</span> <span style="color: #ffff00;">extends</span> <span style="color: #ffffe0;">HttpServlet</span> {
    <span style="color: #ffff00;">public</span> <span style="color: #ffffe0;">void</span> <span style="font-weight: bold; text-decoration: underline;">doPost</span>(<span style="color: #ffffe0;">HttpServletRequest</span> <span style="color: #90ee90;">req</span>,
                       <span style="color: #ffffe0;">HttpServletResponse</span> <span style="color: #90ee90;">resp</span>)
            <span style="color: #ffff00;">throws</span> <span style="color: #ffffe0;">IOException</span> {
        <span style="color: #ffffe0;">Properties</span> <span style="color: #90ee90;">props</span> = <span style="color: #ffff00;">new</span> <span style="color: #ffffe0;">Properties</span>();
        <span style="color: #ffffe0;">Session</span> <span style="color: #90ee90;">session</span> = Session.getDefaultInstance(props, <span style="color: #ff00ff;">null</span>);
        <span style="color: #ffffe0;">MimeMessage</span> <span style="color: #90ee90;">message</span> = <span style="color: #ffff00;">new</span> <span style="color: #ffffe0;">MimeMessage</span>(session, req.getInputStream());
</pre>
<p>特に GAE 用の API を呼び出しているわけでもなく、HttpServletRequest にアクセスしているだけです。<br />
ただ jruby の場合、HttpServletRequest のインスタンスが見あたりません・・・。<br />
なので、少しトリッキーなことをして HttpServletRequest のインスタンスを取ってくる必要があります。<br />
rails 2.3.2 で動作確認をしていますので、sinatora などの場合、HttpServletRequest を取ってくる辺りの処理を変更する必要があるかも知れません。（未確認）<br />
それが↓のコード <b>appengine_mail_ext.rb</b> になります。</p>
<p>以下のエントリーの Java のコードを参考にさせていただきました。<br />
<a href="http://d.hatena.ne.jp/nowokay/20091024" target="_blank">Google App Engine for Javaでのメール受信コード &#8211; きしだのはてな</a></p>
<p><b>appengine_mail_ext.rb</b></p>
<pre style="color: #7eff00; background-color: #000000;">
<span style="color: #9acd32; background-color: #000000;"># </span><span style="color: #9acd32; background-color: #000000;">-*- coding: utf-8 -*-
</span>
<span style="color: #ffff00;">begin</span>
  <span style="color: #ffff00;">module</span> <span style="color: #ffffe0;">AppEngine</span>
    <span style="color: #ffff00;">module</span> <span style="color: #ffffe0;">Mail</span>
      import com.google.appengine.api.mail.<span style="color: #ffffe0;">MailServiceFactory</span>
      import com.google.appengine.api.mail.<span style="color: #ffffe0;">MailService</span>

      import java.io.<span style="color: #ffffe0;">IOException</span>
      import java.io.<span style="color: #ffffe0;">InputStreamReader</span>
      import java.io.<span style="color: #ffffe0;">BufferedReader</span>
      import java.util.<span style="color: #ffffe0;">Properties</span>
      import javax.mail.<span style="color: #ffffe0;">Message</span>
      import javax.mail.<span style="color: #ffffe0;">Session</span>
      import javax.mail.internet.<span style="color: #ffffe0;">MimeMessage</span>
      import javax.servlet.http.<span style="color: #ffffe0;">HttpServletRequest</span>
      import javax.servlet.http.<span style="color: #ffffe0;">HttpServletResponse</span>

      <span style="color: #ffff00;">module</span>_function

      <span style="color: #ffff00;">def</span> <span style="font-weight: bold; text-decoration: underline;">java_servlet_request</span>(controller)
        <span style="color: #ffff00;">begin</span>
          url = controller.instance_variable_get(:<span style="color: #90ee90;">@url</span>)
          req = url.instance_variable_get(:<span style="color: #90ee90;">@request</span>)
          env = req.instance_variable_get(:<span style="color: #90ee90;">@env</span>)
          java_servlet_request = env[<span style="color: #eeee00;">'java.servlet_request'</span>]
        <span style="color: #ffff00;">rescue</span>
          <span style="color: #ffff00;">raise</span> <span style="color: #eeee00;">"java.servlet_request not found."</span>
        <span style="color: #ffff00;">end</span>
        <span style="color: #ffff00;">return</span> java_servlet_request
      <span style="color: #ffff00;">end</span>

      <span style="color: #ffff00;">def</span> <span style="font-weight: bold; text-decoration: underline;">receive</span>(java_servlet_request)
        props = <span style="color: #ffffe0;">Properties</span>.new
        session = <span style="color: #ffffe0;">Session</span>.getDefaultInstance(props, <span style="color: #90ee90;">nil</span>)
        message = <span style="color: #ffffe0;">MimeMessage</span>.new(session, java_servlet_request.getInputStream())

        <span style="color: #ffff00;">return</span> <span style="color: #90ee90;">nil</span> <span style="color: #ffff00;">if</span> message.nil?

        mail = {
          <span style="color: #ff00ff;">:subject</span>      =&gt; message.get_subject,
          <span style="color: #ff00ff;">:content_type</span> =&gt; message.get_content_type,
        }
        mail[<span style="color: #ff00ff;">:from</span>]     = message.get_from[0].to_string <span style="color: #ffff00;">rescue</span> <span style="color: #90ee90;">nil</span>
        mail[<span style="color: #ff00ff;">:to</span>]       = message.get_recipients(<span style="color: #ffffe0;">Message</span>::<span style="color: #ffffe0;">RecipientType</span>::<span style="color: #ffffe0;">TO</span>).map {|address| address.to_string } <span style="color: #ffff00;">rescue</span> <span style="color: #90ee90;">nil</span>
        mail[<span style="color: #ff00ff;">:cc</span>]       = message.get_recipients(<span style="color: #ffffe0;">Message</span>::<span style="color: #ffffe0;">RecipientType</span>::<span style="color: #ffffe0;">CC</span>).map {|address| address.to_string } <span style="color: #ffff00;">rescue</span> <span style="color: #90ee90;">nil</span>
        mail[<span style="color: #ff00ff;">:bcc</span>]      = message.get_recipients(<span style="color: #ffffe0;">Message</span>::<span style="color: #ffffe0;">RecipientType</span>::<span style="color: #ffffe0;">BCC</span>).map {|address| address.to_string } <span style="color: #ffff00;">rescue</span> <span style="color: #90ee90;">nil</span>

        <span style="color: #ffff00;">if</span> message.is_mime_type(<span style="color: #eeee00;">'text/plain'</span>)
          mail[<span style="color: #ff00ff;">:content</span>] = message.get_content
        <span style="color: #ffff00;">elsif</span> message.mime_type?(<span style="color: #eeee00;">'multipart/alternative'</span>)
          content = message.get_content
          (0..(content.count-1)).each <span style="color: #ffff00;">do</span> |i|
            bp = content.get_body_part(i)
            <span style="color: #ffff00;">if</span> bp.mime_type?(<span style="color: #eeee00;">"text/plain"</span>)
              r = <span style="color: #ffffe0;">InputStreamReader</span>.new(bp.get_input_stream)
              buf = <span style="color: #ffffe0;">BufferedReader</span>.new(r)
              msg = <span style="color: #eeee00;">''</span>
              <span style="color: #ffff00;">while</span> line = buf.read_line
                msg &lt;&lt; line + <span style="color: #eeee00;">"\n"</span>
              <span style="color: #ffff00;">end</span>
              mail[<span style="color: #ff00ff;">:content</span>] = msg
              <span style="color: #ffff00;">break</span>
            <span style="color: #ffff00;">end</span>
          <span style="color: #ffff00;">end</span>
        <span style="color: #ffff00;">else</span>
          <span style="color: #ffff00;">raise</span> <span style="color: #eeee00;">"unknown content type."</span>
        <span style="color: #ffff00;">end</span>
        <span style="color: #ffff00;">return</span> mail
      <span style="color: #ffff00;">end</span>
    <span style="color: #ffff00;">end</span>
  <span style="color: #ffff00;">end</span>
<span style="color: #ffff00;">rescue</span> <span style="color: #ffffe0;">NameError</span> <span style="color: #9acd32; background-color: #000000;">#</span><span style="color: #9acd32; background-color: #000000;">LoadError
</span>  <span style="color: #9acd32; background-color: #000000;"># </span><span style="color: #9acd32; background-color: #000000;">appengine api wasn't available so neither can the store be
</span>  <span style="color: #9acd32; background-color: #000000;"># </span><span style="color: #9acd32; background-color: #000000;">This will occur when run script/*
</span><span style="color: #ffff00;">end</span>
</pre>
<p>この <b>appengine_mail_ext.rb</b> を config/environment.rb 内で require するか、<br />
config/initializers へコピーすることで、<br />
AppEngine::Mail が拡張され、メール受信の準備が整います。<br />
(AppEngine::Mail へ受信の method をつっこんでよかったのかなぁ・・・)</p>
<p>次に、メールを受信する部分のコードを action に書いてメール受信処理が完了します。</p>
<p>http://(appid).appspot.com/_ah/mail/(username)@(appid).appspotmail.com へのアクセスを action につなげる部分は、<br />
Java では web.xml に書きますが、GAE/J + jruby + rails の場合、いつも通り config/routes.rb を編集すればいいようです。</p>
<p>以下は MailHandleController#receive へ割り当てた例：</p>
<pre style="color: #7eff00; background-color: #000000;">
<span style="color: #ffffe0;">ActionController</span>::<span style="color: #ffffe0;">Routing</span>::<span style="color: #ffffe0;">Routes</span>.draw <span style="color: #ffff00;">do</span> |map|
  <span style="color: #9acd32; background-color: #000000;"># </span><span style="color: #9acd32; background-color: #000000;">...
</span>  map.mail      <span style="color: #eeee00;">'_ah/mail/:email'</span>, <span style="color: #ff00ff;">:controller</span> =&gt; <span style="color: #eeee00;">'mail_handle'</span>, <span style="color: #ff00ff;">:action</span> =&gt; <span style="color: #eeee00;">'receive'</span>, <span style="color: #ff00ff;">:email</span> =&gt; <span style="color: #eeee00;">/.*/</span>
</pre>
<p>最後に、メールを受信するコントローラーとアクションを書いて完了です。<br />
↓はメールを受信して、それをログに表示するサンプル。</p>
<pre style="color: #7eff00; background-color: #000000;">
<span style="color: #ffff00;">class</span> <span style="color: #ffffe0;">MailHandleController</span> &lt; <span style="color: #ffffe0;">ApplicationController</span>
  <span style="color: #ffff00;">def</span> <span style="font-weight: bold; text-decoration: underline;">receive</span>
    email = params[<span style="color: #ff00ff;">:email</span>] <span style="color: #9acd32; background-color: #000000;"># </span><span style="color: #9acd32; background-color: #000000;">guess_gmail(params[:email])
</span>    mail = <span style="color: #ffffe0;">AppEngine</span>::<span style="color: #ffffe0;">Mail</span>.receive(<span style="color: #ffffe0;">AppEngine</span>::<span style="color: #ffffe0;">Mail</span>.java_servlet_request(<span style="color: #90ee90;">self</span>))

    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"email          : </span><span style="color: #90ee90;">#{email}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:content] : </span><span style="color: #90ee90;">#{mail[:content]}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:subject] : </span><span style="color: #90ee90;">#{mail[:subject]}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:from]    : </span><span style="color: #90ee90;">#{mail[:from]}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:to]      : </span><span style="color: #90ee90;">#{mail[:to]}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:cc]      : </span><span style="color: #90ee90;">#{mail[:cc]}</span><span style="color: #eeee00;">"</span>)
    <span style="color: #ffffe0;">Rails</span>.logger.debug(<span style="color: #eeee00;">"mail[:bcc]     : </span><span style="color: #90ee90;">#{mail[:bcc]}</span><span style="color: #eeee00;">"</span>)

    render <span style="color: #ff00ff;">:text</span> =&gt; <span style="color: #eeee00;">"mail received.\n"</span>
  <span style="color: #ffff00;">end</span>
<span style="color: #ffff00;">end</span>
</pre>
<p>おしまい。</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/11/how-to-use-email-to-create-and-reply-to-forums-on-redmine/' rel='bookmark' title='Permanent Link: Redmine のフォーラムをメールで更新する方法'>Redmine のフォーラムをメールで更新する方法</a> <small>最近は BTS としてだけでなく、様々なプロジェクトの管理に Redmine を使っています。10月までは Basecamp と Trac の組み合わせでしたが、いま Redmine...</small></li><li><a href='http://jp.messaliberty.com/2009/12/jruby-on-rails-on-gaej-howto-put-rubygems-into-a-jar-file-to-reduce-number-of-files/' rel='bookmark' title='Permanent Link: [JRuby on Rails on GAE/J] rubygems を jar ファイルの中にまとめる'>[JRuby on Rails on GAE/J] rubygems を jar ファイルの中にまとめる</a> <small>GAE/J で Rails アプリを開発するとき、GAE/J 上にアップロードできるファイル数の制限の関係から、 なんとかしてファイル数を減らしたくなります。 そこで、有効なのが、使用する rubygems を jar...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jIaMCzUzync:594i0AuFc98:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jIaMCzUzync:594i0AuFc98:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jIaMCzUzync:594i0AuFc98:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jIaMCzUzync:594i0AuFc98:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jIaMCzUzync:594i0AuFc98:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jIaMCzUzync:594i0AuFc98:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jIaMCzUzync:594i0AuFc98:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jIaMCzUzync:594i0AuFc98:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/jIaMCzUzync" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/01/how-to-receive-incoming-mail-on-jruby-on-rails-on-gaej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/01/how-to-receive-incoming-mail-on-jruby-on-rails-on-gaej/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/01/how-to-receive-incoming-mail-on-jruby-on-rails-on-gaej/</feedburner:origLink></item>
		<item>
		<title>[英語] 勉強せずに英語を習得する方法 1 – はじめに</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/jHVcZTPO5sk/</link>
		<comments>http://jp.messaliberty.com/2010/01/how-to-learn-english-1/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 00:49:22 +0000</pubDate>
		<dc:creator>hiro</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[languages]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=834</guid>
		<description>2010年の誓いとして個人の Blog にも書いたのですが、今年は英語の勉強をしないことに決めました。これまでも何をしたということは無かったのですが、やろうやろうと思い続けるのもすっきりしないので、止めることにしました。 [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/messa-tv-jp-start-soon/' rel='bookmark' title='Permanent Link: messa.tv JP がはじまります！'&gt;messa.tv JP がはじまります！&lt;/a&gt; &lt;small&gt;messa.tv の日本語版となる技術情報系ポッドキャスト、messa.tv JP が近日スタートします！ messa.tv は最初、「オタクとオタクじゃない人々の壁をぶち壊す番組」として2006年春にスタートしました。 [...]...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 250px"><a href="http://www.flickr.com/photos/psycho-spider/3286595049/"><img alt="How to" src="http://farm4.static.flickr.com/3559/3286595049_2eb0d1a5fb_m.jpg" title="How to" width="240" height="180" /></a><p class="wp-caption-text">How to</p></div>
<p><a href="http://jp.hiroyukishinohara.com/2010/01/new-years-resolutions-2010.html">2010年の誓い</a>として個人の Blog にも書いたのですが、今年は英語の勉強をしないことに決めました。これまでも何をしたということは無かったのですが、やろうやろうと思い続けるのもすっきりしないので、止めることにしました。ただ、現状に満足しているわけではありませんので、これからも引き続き向上させることは意識します。</p>
<p>では、どうやって勉強せずに英語力を向上させようというのか。このテーマでシリーズ化してみます。</p>
<h3>バックボーン</h3>
<p>書いている本人が英語まったくしゃべれないのでは説得力が無いので、少しバックボーンを説明します。僕はこれまでに TOEC を受けたことがないし、特別な勉強をしたこともありません。そのため文法や語彙力はひどいものです。ですが、いまは毎日英語を使って仕事をしています。</p>
<p>普段のオフィスでの会話やテキストチャットなどのコミュニケーションは、英語と日本語の割合が50%ぐらいです。会議やメールは2か国語が基本なのです。英語が共通語となる来客があると、90%ぐらいが英語になります。</p>
<p>実際どの程度の英語力なのかについては、僕の英語を見ていただくのが良いと思います。ブログは個人のものも会社のものも英語と日本語で書いています。このエントリーのように例外的に日本語だけ、あるいは英語だけの時も有りますが、まずは英語で書いてそれを日本語化するので、英語版が基本です。</p>
<ul>
<li><a href="http://www.hiroyukishinohara.com/">Source Code of My Life &#8211; 篠原裕幸個人ブログ英語版</a></li>
<li><a href="http://www.messaliberty.com/">messaliberty Blog &#8211; 会社ブログ英語版</a></li>
</ul>
<p>あと何よりの証明が動画です。技術情報ポッドキャスト、<a href="http://messa.tv/">messa.tv</a> をやっていますので、どんな英語を話しているのかは一目瞭然です。ぜひご覧ください。</p>
<ul>
<li><a href="http://messa.tv/">messa.tv &#8211; 技術系情報番組</a></li>
<li><a href="http://jp.messa.tv/">messa.tv JP &#8211; 英語で読み解く IT トレンド</a></li>
</ul>
<h3>結論</h3>
<p>さっそくですが、このシリーズ共通の結論から言います。タイトルの答え、つまり、勉強せずに英語を習得する方法です。</p>
<p><strong>英語圏の Blog を読みまくり、Podcast を聴きまくり、英語を話す人達としゃべりまくる。</strong></p>
<p>なんのひねりもありません。この説明をすると、どれも始めるのが難しいとか、続かないとか、そういった反論を受けます。だったら英語を諦めてくださいとしか言えないのですが、もう少しお付き合いください。</p>
<p>語学は体育です。英語に限らず外国語ができるということは、頭のつくりが優れているからできるのでは無く、練習をいっぱいやったからできるのです。先程書いた結論というのは、すべて体で覚える方法です。</p>
<p>また、社内でも話していたのですが、英語を習得するためにもっとも大切なことは、「挫折を味わうこと」だと思っています。理解できない、伝わらない、そのもどかしさを痛感し、とどめにコミュニケーションがうまく取れないことによる辛い体験をすることが、何よりも必要だと思います。<strong>そんな思いをしてまでなぜ英語を使えるようになりたいのか？</strong>その答えが見つかる人は、必ず英語が自分の体の一部になります。そしてそのために必要なアクションが、先程挙げたものです。</p>
<p>では、次回以降敷居の低いものから順に、生活の中に取り入れて行く方法を紹介します。</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/12/messa-tv-jp-start-soon/' rel='bookmark' title='Permanent Link: messa.tv JP がはじまります！'>messa.tv JP がはじまります！</a> <small>messa.tv の日本語版となる技術情報系ポッドキャスト、messa.tv JP が近日スタートします！ messa.tv は最初、「オタクとオタクじゃない人々の壁をぶち壊す番組」として2006年春にスタートしました。 [...]...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jHVcZTPO5sk:bRNNllcJpH0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jHVcZTPO5sk:bRNNllcJpH0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jHVcZTPO5sk:bRNNllcJpH0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jHVcZTPO5sk:bRNNllcJpH0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jHVcZTPO5sk:bRNNllcJpH0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jHVcZTPO5sk:bRNNllcJpH0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=jHVcZTPO5sk:bRNNllcJpH0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=jHVcZTPO5sk:bRNNllcJpH0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/jHVcZTPO5sk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/01/how-to-learn-english-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/01/how-to-learn-english-1/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/01/how-to-learn-english-1/</feedburner:origLink></item>
		<item>
		<title>WordPressで構築したサイトでFlashコンテンツを表示させる</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/K2i2-fufrSU/</link>
		<comments>http://jp.messaliberty.com/2010/01/wordpress_flash/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 01:50:34 +0000</pubDate>
		<dc:creator>take</dc:creator>
				<category><![CDATA[techtips]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=816</guid>
		<description>全く基本的なことで恐縮ですが、Web制作においてFlashコンテンツを表示したいということがあると思います。
今回はWordPressで構築したサイト内でFlashコンテンツを表示させる際、ブラウザ間で不具合なく表示させ [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/curvycorners/' rel='bookmark' title='Permanent Link: javascriptライブラリを利用して角丸を生成する『curvyCorners』'&gt;javascriptライブラリを利用して角丸を生成する『curvyCorners』&lt;/a&gt; &lt;small&gt;messalibertyのサイトにも使われている角丸は『curvyCorners』というjavascriptライブラリを利用して表現しています。 すごくキレイな角丸を表現できるのですが、少し重いのが難点です。 近いうちに [...]...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>全く基本的なことで恐縮ですが、Web制作においてFlashコンテンツを表示したいということがあると思います。</p>
<p>今回はWordPressで構築したサイト内でFlashコンテンツを表示させる際、ブラウザ間で不具合なく表示させるのにしばし時間を要してしまったこともあり、またまたメモ代わりとしてポストさせていただきます。</p>
<p>当初は普通に書き出されたソースをコピペで終了だと思っていたのですが、IEで表示されなかったりembedタグは非推奨であったりと足止めを食らってしまいました。</p>
<div id="attachment_815" class="wp-caption alignnone" style="width: 280px"><img src="http://jp.messaliberty.com/wp-content/uploads/2010/01/wp_fl.gif" alt="WordPress上でflashコンテンツを表示させる" title="WordPress上でflashコンテンツを表示させる" width="270" height="120" class="size-full wp-image-815" /><p class="wp-caption-text">WordPress上でflashコンテンツを表示させる</p></div>
<h3>表示する2つの方法</h3>
<h4>1. plugin「WP-SWFObject」を使用する</h4>
<p>そもそもこれが一番簡単だったのですが、この方法を敢えて取らなかったために時間を要してしまいました。逆に言うと最近はすぐにpluginに逃げてしまいます。</p>
<p>「WP-SWFObject」というプラグインをインストールし、有効化します。</p>
<p>そして、以下のソースを埋め込むだけです。</p>
<pre class="brush: xml;">[SWF]表示したいswfファイルの絶対パス,横幅,縦幅[/SWF]</pre>
<p>以上でIE7,IE6,Firefoxにて表示されました。</p>
<h4>2. objectタグだけを利用して表示する</h4>
<p>embedタグを使用するとXHTMLではembedタグは定義されていないと言われて怒られます。ということで、objectタグだけで表示しないといけません。</p>
<p>表示させるのに必要なソースは、</p>
<pre class="brush: xml;">
&lt;object data=&quot;表示したいswfファイルの絶対パス&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;横幅&quot; height=&quot;縦幅&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;表示したいswfファイルの絶対パス&quot;&gt;&lt;/param&gt;&lt;param name=&quot;play&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;loop&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;/object&gt;
</pre>
<p>でOKです。</p>
<p>こちらもIE7,IE6,Firefoxにて表示されました。</p>
<p>まずは表示させるということで今回はこれで良しとします。</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/12/curvycorners/' rel='bookmark' title='Permanent Link: javascriptライブラリを利用して角丸を生成する『curvyCorners』'>javascriptライブラリを利用して角丸を生成する『curvyCorners』</a> <small>messalibertyのサイトにも使われている角丸は『curvyCorners』というjavascriptライブラリを利用して表現しています。 すごくキレイな角丸を表現できるのですが、少し重いのが難点です。 近いうちに [...]...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=K2i2-fufrSU:VLp6_EmCwNE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=K2i2-fufrSU:VLp6_EmCwNE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=K2i2-fufrSU:VLp6_EmCwNE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=K2i2-fufrSU:VLp6_EmCwNE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=K2i2-fufrSU:VLp6_EmCwNE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=K2i2-fufrSU:VLp6_EmCwNE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=K2i2-fufrSU:VLp6_EmCwNE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=K2i2-fufrSU:VLp6_EmCwNE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/K2i2-fufrSU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/01/wordpress_flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/01/wordpress_flash/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/01/wordpress_flash/</feedburner:origLink></item>
		<item>
		<title>タリーズで見つけた Google のマーケティングキャンペーンにひとこと</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/80iTl_4ETAI/</link>
		<comments>http://jp.messaliberty.com/2010/01/google-japans-marketing-campaign-at-tullys-coffee-but-wait/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 00:15:14 +0000</pubDate>
		<dc:creator>hiro</dc:creator>
				<category><![CDATA[marketing]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[cafe]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[japan]]></category>
		<category><![CDATA[wi-fi]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=807</guid>
		<description>messa.tv でも最近よく取り上げる話題ですが、Google は日本の検索市場で一位になるためにこれまで以上の力を入れています。積極的に TV に出演したり、CM を流したり、街中でキャンペーンを実施したり。
タリー [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/11/2-keyboard-shortcuts-you-must-know-for-google-wave/' rel='bookmark' title='Permanent Link: Google Wave に必須な2つのキーボードショートカット'&gt;Google Wave に必須な2つのキーボードショートカット&lt;/a&gt; &lt;small&gt;社内でのテキスト会議の際、Google Wave を使い始めました。実際に使ってみると、リアルタイム性に驚かされます。同時に、そのリアルタイム性が最大限に活かされるように、キーボードショートカットを駆使する必要が出てきま [...]...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 250px"><a href="http://www.flickr.com/photos/psycho-spider/4281245569/"><img alt="Google at Tullys" src="http://farm5.static.flickr.com/4020/4281245569_5b4a7b5cbf_m.jpg" title="Google at Tullys" width="240" height="180" /></a><p class="wp-caption-text">Google at Tully&#39;s</p></div>
<p><h href="http://messa.tv/">messa.tv</a> でも最近よく取り上げる話題ですが、Google は日本の検索市場で一位になるためにこれまで以上の力を入れています。積極的に TV に出演したり、CM を流したり、街中でキャンペーンを実施したり。</p>
<p>タリーズコーヒーでも写真のようなカードを見つけました。いまなら無料で Wi-Fi が使えます。でも、過剰な期待は禁物。なんとこのキャンペーン、接続可能な時間はわずか30分！</p>
<p>Wi-Fi の実際のプロバイダーである NTT やタリーズをはじめとするパートナー企業は長時間の無料化に抵抗があるのでしょうが、これでは印象は良くありません。Google がやるのなら、もっと強烈なインパクトを与えてくれるものだと期待してしまいます。</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/11/2-keyboard-shortcuts-you-must-know-for-google-wave/' rel='bookmark' title='Permanent Link: Google Wave に必須な2つのキーボードショートカット'>Google Wave に必須な2つのキーボードショートカット</a> <small>社内でのテキスト会議の際、Google Wave を使い始めました。実際に使ってみると、リアルタイム性に驚かされます。同時に、そのリアルタイム性が最大限に活かされるように、キーボードショートカットを駆使する必要が出てきま [...]...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=80iTl_4ETAI:OgSNchcn4J4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=80iTl_4ETAI:OgSNchcn4J4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=80iTl_4ETAI:OgSNchcn4J4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=80iTl_4ETAI:OgSNchcn4J4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=80iTl_4ETAI:OgSNchcn4J4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=80iTl_4ETAI:OgSNchcn4J4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=80iTl_4ETAI:OgSNchcn4J4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=80iTl_4ETAI:OgSNchcn4J4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/80iTl_4ETAI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/01/google-japans-marketing-campaign-at-tullys-coffee-but-wait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/01/google-japans-marketing-campaign-at-tullys-coffee-but-wait/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/01/google-japans-marketing-campaign-at-tullys-coffee-but-wait/</feedburner:origLink></item>
		<item>
		<title>中国のネット規制に対する話題が盛り上がってる</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/7dchD_Uft7U/</link>
		<comments>http://jp.messaliberty.com/2010/01/chinavsgoogle/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 13:23:05 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=803</guid>
		<description>中国のネット規制に関する重大ニュースが２つも続きました。
まず昨年１２月中旬に出たニュース。
中央日報 &amp;#8211; 「ネット上のサイト、個人の所有認めず」／中国
ブログなど個人が運営するサイトは、以前のインターネット [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>中国のネット規制に関する重大ニュースが２つも続きました。</p>
<p>まず昨年１２月中旬に出たニュース。<br />
<a href="http://japanese.joins.com/article/article.php?aid=124039&amp;servcode=A00&amp;sectcode=A00">中央日報 &#8211; 「ネット上のサイト、個人の所有認めず」／中国</a></p>
<blockquote><p>ブログなど個人が運営するサイトは、以前のインターネットポータルやビジネス向けのサイトでのみ可能だということだ。すでに開設されている個人のサイトは段階的に閉鎖される。</p></blockquote>
<p>メチャクチャですね。<br />
インターネットがこれだけの普段使いなメディアになった時代にすごいですね。<br />
時代錯誤も甚だしい。まあ中国からすればだからこその規制なんでしょうけど・・・。<br />
他国のサーバーにデータを置けば簡単にすり抜けてれしまうので、<br />
恐らくサーバーやドメインを取得する他国のサイトにもアクセスできなくなるんだろう。</p>
<p>そして今日。<br />
<a href="http://www.asahi.com/digital/internet/TKY201001140481.html">asahi.com（朝日新聞社）：グーグル中国版、自主規制解除か　「天安門事件」</a></p>
<blockquote><p>中国のインターネット検閲に反対して現地法人の閉鎖を宣言した米ネット検索最大手のグーグルの中国版サイト上で、これまで規制の対象だった１９８９年の「天安門事件」や、チベット仏教最高指導者の「ダライ・ラマ１４世」などの検索結果が表示される状態が続いている。</p></blockquote>
<p>このニュースが流れた後、すごい反響があちらこちらで上がっています。<br />
Yahooはどうするのかーとか株価がどうとかGoogleニュースもどんどん更新されてます。<br />
中国政府からしたら寝耳に水ですね。</p>
<p>ポイントとしては<br />
「Googleは中国ではそれ程シェアを握っていなかった」ということがあるかと思います。<br />
百度がいるため検索No,1を奪えず、それは今後も変わりそうになかった模様。<br />
それだったらいっそのこと中国を切って、勇敢な企業として他国からの賞賛を得ることにしたんじゃないかとはTechCranch。<br />
<a href="http://jp.techcrunch.com/archives/20100112google%e2%80%99s-china-stance-more-about-business-than-thwarting-evil/">Googleにとっての中国: 人権うんぬんよりも世界でのビジネスが第一</a></p>
<p>そんな意地悪なことも書いておきつつも、やっぱりすごい決断をしたと思います。</p>
<p>上記に取り上げた、中国政府が個人のサイト所有を禁止したことも影響しているのではないかと思います。<br />
ブログやネットショップがダメってことはAdsenseもAdwordsも期待できないですもんね。<br />
広告ビジネスモデルの会社からしたら「そんな国でやっとれるかい！」ってなもんでしょう。<br />
もしも本当にGoogleが中国から撤退し、個人のサイト所有が完全に規制されたら、<br />
10年～15年程前の日本であったような「ポータルからたどっていって登録サイトへたどり着く」という<br />
時代錯誤な方向へ進むと思われます。言論の自由vs共産主義ですね。<br />
<strong>インターネットの歴史上の出来事としても残るようなビッグニュース</strong>だと思います。</p>
<p>数日後にはYes/Noが出ているんだろうな。<br />
中国に強い興味を持つ人間としてはこれからの動向がとても気になります。</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=7dchD_Uft7U:IjYDQ0b1RJk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=7dchD_Uft7U:IjYDQ0b1RJk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=7dchD_Uft7U:IjYDQ0b1RJk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=7dchD_Uft7U:IjYDQ0b1RJk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=7dchD_Uft7U:IjYDQ0b1RJk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=7dchD_Uft7U:IjYDQ0b1RJk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=7dchD_Uft7U:IjYDQ0b1RJk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=7dchD_Uft7U:IjYDQ0b1RJk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/7dchD_Uft7U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2010/01/chinavsgoogle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2010/01/chinavsgoogle/" />
	<feedburner:origLink>http://jp.messaliberty.com/2010/01/chinavsgoogle/</feedburner:origLink></item>
		<item>
		<title>svn の repository を git の repository に変換する方法</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/RJCiM1kK8KY/</link>
		<comments>http://jp.messaliberty.com/2009/12/how-to-convert-svn-repo-to-git-repo/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 02:59:56 +0000</pubDate>
		<dc:creator>ice</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[techtips]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=789</guid>
		<description>svn の repository を git の repository に変換するには、git-svn を使用します。
git-svn は、svn の repository を git コマンドで直接さわれる様にしてくれ [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>svn の repository を git の repository に変換するには、git-svn を使用します。<br />
git-svn は、svn の repository を git コマンドで直接さわれる様にしてくれます。</p>
<p>Ubuntu の場合、git と git-svn のインストールは以下のコマンドで</p>
<pre style="color: #7eff00; background-color: #000000;">
% sudo aptitude install git-core git-svn
</pre>
<p>以下、変換前の svn repository を svn-repo、変換後の git repository を git-repo と表記します。</p>
<p>流れとしては、以下の感じ<br />
1.  svn-repo のログのユーザー名を、git 形式に変換するための authors.txt を作成<br />
2.  ローカルにカラの git-repo を作成<br />
3.  svn-repo を git svn clone コマンドで取り出す ※ 取り出したものを git-svn-repo と表記<br />
4.  git-svn-repo の origin に git-repo を割り当てる<br />
5.  git-svn-repo の trunk を git-repo の master branch として移行<br />
6.  git-svn-repo に trunk 以外にも branch があれば git-repo へ移行<br />
7.  git-svn-repo に TAG があれば、git-repo へ移行<br />
8.  必要なら git-repo を remote の gitosis などへ移行<br />
9.  git-svn-repo はもういらないので削除<br />
10. おしまい</p>
<p>注意点は、<br />
- 明示的に svn の trunk を、git の master に変換しないといけない<br />
&#8211; 普通に移行すると、svn の trunk は、git-repo の trunk というただの branch になる<br />
&#8211; svn の最後に行われた commit のある trunk/branch が git の master になってしまう<br />
- svn-repo を、まずは、ローカルの git-repo へ移行する<br />
&#8211; 直接 gitosis などのサーバー上の git-repo に移行すると失敗したときに大変</p>
<p>1. svn-repo のログのユーザー名を、git 形式に変換するための authors.txt を作成<br />
 % cat authors.txt </p>
<pre style="color: #7eff00; background-color: #000000;">
userA = user1 <user1@example.com>
userB = user1 <user1@example.com>
userC = user2 <user2@example.com>
userX = user3 <user3@example.com>
userZ = user4 <user4@example.com>
</pre>
<p>svn-repo のログにある userA を、移行後の git-repo 上の user1 <user1@example.com> に変換する感じ。<br />
このファイルは後で使う。</p>
<p>2. ローカルにカラの git-repo を作成</p>
<pre style="color: #7eff00; background-color: #000000;">
% mkdir git-repo.git
% cd git-repo.git
% git --bare init
Initialized empty Git repository in /home/ice/git-repo.git/
% cd ..
</pre>
<p>ここに、今、svn-repo にある trank/branches/tags を移行する</p>
<p>3. svn-repo を git svn clone コマンドで取り出す ※ 取り出したものを git-svn-repo と表記</p>
<pre style="color: #7eff00; background-color: #000000;">
% git svn clone -A authors.txt -s /path/to/svn-repo git-svn-repo.git
% cd git-svn-repo.git/
% git branch
* master
% git branch -r
  branch-1
  tags/tag-1
  tags/tag-2
  trunk
% git branch local-trunk refs/remotes/trunk
% git branch
  local-trunk
* master
</pre>
<p>/path/to/svn-repo は svn の repository へのパス<br />
ローカルなら /home/ice/svn/svn-repo の様な感じ<br />
サーバーなら svn+ssh://my-server/var/svn/repos/svn-repo の様な感じ</p>
<p>この svn-repo には、trunk と branch-1 という branch が1つ、tag-1 と tag-2 という名前の tag が2つある</p>
<p>4. git-svn-repo の origin に git-repo を割り当てる</p>
<pre style="color: #7eff00; background-color: #000000;">
% git remote add origin /home/ice/git-repo.git
</pre>
<p>5. git-svn-repo の trunk を git-repo の master branch として移行<br />
まず、local-trunk という名前の branch を作成、svn の trunk を指す様に。</p>
<pre style="color: #7eff00; background-color: #000000;">
% git branch local-trunk refs/remotes/trunk
% git branch
  local-trunk
* master
</pre>
<p>git-svn-repo の local-trunk を、git-repo の master として移行</p>
<pre style="color: #7eff00; background-color: #000000;">
% git push origin local-trunk:master
</pre>
<p>6. git-svn-repo に trunk 以外にも branch があれば git-repo へ移行</p>
<pre style="color: #7eff00; background-color: #000000;">
% git branch local-branch-1 branch-1
% git push origin local-branch-1:branch-1
</pre>
<p>master も branch-1 も扱いは同じ branch なので、先ほどとほぼ一緒</p>
<p>7. git-svn-repo に TAG があれば、git-repo へ移行</p>
<pre style="color: #7eff00; background-color: #000000;">
% git tag tag-1 refs/remotes/tags/tag-1
% git tag tag-2 refs/remotes/tags/tag-2
% git tag
tag-1
tag-2
% git push --tags
</pre>
<p>8. 必要なら git-repo を remote の gitosis などへ移行<br />
9. git-svn-repo はもういらないので削除<br />
10. おしまい</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=RJCiM1kK8KY:vxMgcimbQE4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=RJCiM1kK8KY:vxMgcimbQE4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=RJCiM1kK8KY:vxMgcimbQE4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=RJCiM1kK8KY:vxMgcimbQE4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=RJCiM1kK8KY:vxMgcimbQE4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=RJCiM1kK8KY:vxMgcimbQE4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=RJCiM1kK8KY:vxMgcimbQE4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=RJCiM1kK8KY:vxMgcimbQE4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/RJCiM1kK8KY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2009/12/how-to-convert-svn-repo-to-git-repo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2009/12/how-to-convert-svn-repo-to-git-repo/" />
	<feedburner:origLink>http://jp.messaliberty.com/2009/12/how-to-convert-svn-repo-to-git-repo/</feedburner:origLink></item>
		<item>
		<title>マウスレス環境に近づけるための５つの方法（Windows）</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/Rvb8ibPM2KQ/</link>
		<comments>http://jp.messaliberty.com/2009/12/5mouslesstechs/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 10:15:26 +0000</pubDate>
		<dc:creator>ken</dc:creator>
				<category><![CDATA[lifehacks]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=770</guid>
		<description>私はキーボードショートカットを使うのが好きです。普段メインでノートPCを使っているため、マウスを使わないで済む方が何かとありがたいのです。「Ctrl+P」で印刷、「Ctrl+C」でコピー、「Ctrl＋V」でペーストなどは [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>私はキーボードショートカットを使うのが好きです。普段メインでノートPCを使っているため、マウスを使わないで済む方が何かとありがたいのです。「Ctrl+P」で印刷、「Ctrl+C」でコピー、「Ctrl＋V」でペーストなどは使っている方は多いですよね。「Alt＋Tab」でアプリ間の移動、「Ctrl＋Tab」でタブ間の移動、「Windows ボタン＋D」でデスクトップの表示、なども知ってる方も多いかも知れません。</p>
<p>今日は、自分が使っているけど実はあまり知られていなさそうな、マウスレス環境を構築するための方法を５つほど紹介したいと思います。</p>
<p>1, 右上の検索バーへ移動する<br />
2, アドレスバーへ移動する<br />
3, 右クリックをマウスレス出来るようにする<br />
4, スクロールをスムーズにする<br />
5, キーボードでリンクの移動が出来るようにする</p>
<p>1,　右上の検索バーへ移動する方法</p>
<p><img src="http://jp.messaliberty.com/wp-content/uploads/2009/12/28.png" alt="2" title="2" width="597" height="197" class="alignnone size-full wp-image-782" /></p>
<p>画面をご覧ください。ブラウザ右上の検索ボックスで検索されている方は多いのではないでしょうか？「Ctrl＋E」でここの検索ボックスへ移動することが出来ます。ちなみにこの検索ボックスにいる時に「Ctrl+↓」で対象サイトを選べるのもあまり知られていないショートカットかも。Firefoxだけでなく、 I.E, でも使えました。私の場合Firefoxではこの窓自体消してしまったのでI.Eをキャプチャしました。</p>
<p>2,　アドレスバーへ移動する方法<br />
<img src="http://jp.messaliberty.com/wp-content/uploads/2009/12/29.png" alt="2" title="2" width="597" height="197" class="alignnone size-full wp-image-786" /><br />
アドレスバーに移動して、コピーしていたURLを貼り付けたい。これもよくあることかと思いますが、そんな時にはブラウザ上で「Ctrl＋L」。アドレスバーに移動できます。Firefoxだけでなく、 I.E, GChromeでも使えます。</p>
<p>３,「右クリックメニューを表示したい！」</p>
<p><img src="http://jp.messaliberty.com/wp-content/uploads/2009/12/33.png" alt="3" title="3" width="554" height="406" class="alignnone size-full wp-image-787" /><br />
右クリックメニュー、正式名称はコンテキストメニューと言います。使うこと多いですよねー。これ、「Shitf＋F10」で表示します。写真の表示方法を変更したり、フォルダを作成したり、色んなことがマウスレスでできて便利です。</p>
<p>４,Spaceキーでゆっくりスクロール出来るようにする。</p>
<p>LDR（ライブドアリーダー）の様なゆっくりしたスクロールをFirefoxでも出来るようにします。firefoxのGreasemonkeyスクリプトを入れます。</p>
<p>http://d.hatena.ne.jp/nagaton/20060831/1156993415</p>
<p>矢印の↓は一行ごとにスクロールができないのですが、これを入れることによりスペースキーでゆっくりページスクロールが出来ます。<br />
うまいこと説明できませんが便利ですよ。一度試してみてください。Shiftキーを足すと上スクロールです。　　　</p>
<p>５, リンクをキーボードでクリックできるするようにする<br />
firefoxの拡張「マウスレスブラウジング」を入れます。</p>
<p>http://journal.mycom.co.jp/articles/2009/04/13/mouselessbrowsing/index.html</p>
<p>他にも同様の拡張があるみたいなのでどれでもいいですが、これを使うとキーボードだけでブラウジングが可能になります。</p>
<p>気になったものがあれば使ってみてください。ところで今回紹介したアイデアの一部もそうですが、<br />
私がfirefoxを使っていたのはその拡張機能の豊富さがあったからでした。なのですが先週、Google Chromeが拡張機能を公開。</p>
<p>http://journal.mycom.co.jp/news/2009/12/09/014/?rt=na</p>
<p>既にほぼfirefoxのマストな拡張はカバーしていて、しかも何だか開発が簡単らしくてすごい勢いで増えていくことが予想されます。<br />
Firefox vs Chromeブラウザ戦争これからどうなっていくか楽しみです。</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=Rvb8ibPM2KQ:vtwWbC6KIj4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=Rvb8ibPM2KQ:vtwWbC6KIj4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=Rvb8ibPM2KQ:vtwWbC6KIj4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=Rvb8ibPM2KQ:vtwWbC6KIj4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=Rvb8ibPM2KQ:vtwWbC6KIj4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=Rvb8ibPM2KQ:vtwWbC6KIj4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=Rvb8ibPM2KQ:vtwWbC6KIj4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=Rvb8ibPM2KQ:vtwWbC6KIj4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/Rvb8ibPM2KQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2009/12/5mouslesstechs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2009/12/5mouslesstechs/" />
	<feedburner:origLink>http://jp.messaliberty.com/2009/12/5mouslesstechs/</feedburner:origLink></item>
		<item>
		<title>WordPress のテーマで日付表記をローカライズする</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/J6u0oRwx_OM/</link>
		<comments>http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 00:34:28 +0000</pubDate>
		<dc:creator>ianc</dc:creator>
				<category><![CDATA[techtips]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[date format]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[japanese]]></category>
		<category><![CDATA[localisation]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=750</guid>
		<description>messaliberty の日本語版と英語版は同じ WordPress テーマを使っています。1つのファイルで両方に対応している、という意味です。このやり方を実現するためには、完全に内部で切り分けて各言語ごとにローカライ [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/11/thoughts-on-the-gpl-and-wordpress-themes/' rel='bookmark' title='Permanent Link: GPL と WordPress のテーマについて'&gt;GPL と WordPress のテーマについて&lt;/a&gt; &lt;small&gt; GPL が問題ではない理由 WordCamp 京都 2009 は最高でした。デジタルキューブさんの GPL に関するプレゼンテーションをきっかけに、私を含む周りのグループでちょっとしたディスカッションが起こりました。 [...]...&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/' rel='bookmark' title='Permanent Link: WordPress ショッピングカードプラグイン Welcart のお客様情報ページに AjaxZip2 を設定する'&gt;WordPress ショッピングカードプラグイン Welcart のお客様情報ページに AjaxZip2 を設定する&lt;/a&gt; &lt;small&gt;1. AjaxZip 2.0 公式サイト より「一括アーカイブ」の ZIP ファイルをダウンロード、解凍する。 2. 解凍してできた [ajaxzip2]...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<div id="attachment_1238" class="wp-caption alignnone" style="width: 200px"><img class="size-medium wp-image-1238" title="cal2" src="http://www.messaliberty.com/wp-content/uploads/2009/12/cal2-190x300.jpg" alt="cal2" width="190" height="300" /><p class="wp-caption-text">Ken&#39;s stuck in time calendar</p></div>
<p>messaliberty の日本語版と英語版は同じ WordPress テーマを使っています。1つのファイルで両方に対応している、という意味です。このやり方を実現するためには、完全に内部で切り分けて各言語ごとにローカライズする必要があります。英語と日本語の大きな違いは日付のフォーマットです。2009年12月13日は英語では Dec 13th 2009 にする必要があります。</p>
<p>最初 <a href="http://jp.messaliberty.com/aboutus/#chapp">Chapp</a> はテーマファイルの中にハードコードしていました。</p>
<pre class="brush: php;">
&lt;?php the_time('F jS, Y'); ?&gt;
</pre>
<p>このままでは日本語版で日付がおかしくなります。だからといって <strong>&#8216;F jS, Y&#8217;</strong> の部分を取り除くと、デフォルトの挙動で時間が表示されてしまいます。この問題は、次のような書き方で解決できます。</p>
<pre class="brush: php;">
&lt;?php the_date(); ?&gt;
</pre>
<p>これで両方の言語で正しい表記となりまいた。めでたしめでたし・・・。と思いきや、WordPress がアーカイブページを生成するとき、date() が予期せぬ挙動をしてしまいます。<a href="http://codex.wordpress.org/Template_Tags/the_date">特定の日付を一度しか表示しない</a>のです。つまり、同じ日に2回投稿すると、一方にだけ日付が表示されます。配列を使ったあまりスマートではない解決策もありますが、以下の方法が良さそうです。</p>
<pre class="brush: php;">
&lt;?php the_time(get_option('date_format')); ?&gt;
</pre>
<p>上記処理では、<em>設定 &gt; 一般 &gt; 日付フォーマット</em>の設定値を呼び出して使っています。英語版なら値が <strong>F jS, Y</strong> になっていて、日本語版なら <strong>Y年n月j日</strong> になっています。こうやってみると分かりやすい解決策ですが、この問題には少し手こずりました。</p>
<p>同じテーマファイルを複数の言語用に利用する場合は、設定画面の日付フォーマット項目を利用して設定をするようにしてください。（WordPress MU の場合は少し異なります。）</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/11/thoughts-on-the-gpl-and-wordpress-themes/' rel='bookmark' title='Permanent Link: GPL と WordPress のテーマについて'>GPL と WordPress のテーマについて</a> <small> GPL が問題ではない理由 WordCamp 京都 2009 は最高でした。デジタルキューブさんの GPL に関するプレゼンテーションをきっかけに、私を含む周りのグループでちょっとしたディスカッションが起こりました。 [...]...</small></li><li><a href='http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/' rel='bookmark' title='Permanent Link: WordPress ショッピングカードプラグイン Welcart のお客様情報ページに AjaxZip2 を設定する'>WordPress ショッピングカードプラグイン Welcart のお客様情報ページに AjaxZip2 を設定する</a> <small>1. AjaxZip 2.0 公式サイト より「一括アーカイブ」の ZIP ファイルをダウンロード、解凍する。 2. 解凍してできた [ajaxzip2]...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=J6u0oRwx_OM:8HzzaQ749BQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=J6u0oRwx_OM:8HzzaQ749BQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=J6u0oRwx_OM:8HzzaQ749BQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=J6u0oRwx_OM:8HzzaQ749BQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=J6u0oRwx_OM:8HzzaQ749BQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=J6u0oRwx_OM:8HzzaQ749BQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=J6u0oRwx_OM:8HzzaQ749BQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=J6u0oRwx_OM:8HzzaQ749BQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/J6u0oRwx_OM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/" />
	<feedburner:origLink>http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/</feedburner:origLink></item>
		<item>
		<title>WordPress ショッピングカードプラグイン Welcart のお客様情報ページに AjaxZip2 を設定する</title>
		<link>http://feedproxy.google.com/~r/messaliberty/jp/~3/CfMzmrQIDFc/</link>
		<comments>http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 00:47:01 +0000</pubDate>
		<dc:creator>har</dc:creator>
				<category><![CDATA[techtips]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ajaxzip2]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[welcart]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jp.messaliberty.com/?p=755</guid>
		<description>1. AjaxZip 2.0 公式サイト より「一括アーカイブ」の ZIP ファイルをダウンロード、解凍する。
2. 解凍してできた [ajaxzip2] ディレクトリ内の

jquery.js
[sample] ディレ [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/' rel='bookmark' title='Permanent Link: WordPress のテーマで日付表記をローカライズする'&gt;WordPress のテーマで日付表記をローカライズする&lt;/a&gt; &lt;small&gt;messaliberty の日本語版と英語版は同じ WordPress テーマを使っています。1つのファイルで両方に対応している、という意味です。このやり方を実現するためには、完全に内部で切り分けて各言語ごとにローカライ [...]...&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://jp.messaliberty.com/2009/12/curvycorners/' rel='bookmark' title='Permanent Link: javascriptライブラリを利用して角丸を生成する『curvyCorners』'&gt;javascriptライブラリを利用して角丸を生成する『curvyCorners』&lt;/a&gt; &lt;small&gt;messalibertyのサイトにも使われている角丸は『curvyCorners』というjavascriptライブラリを利用して表現しています。 すごくキレイな角丸を表現できるのですが、少し重いのが難点です。 近いうちに [...]...&lt;/small&gt;&lt;/li&gt;&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</description>
			<content:encoded><![CDATA[<p>1. <a href="http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html" target="_blank">AjaxZip 2.0 公式サイト</a> より<a href="http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html#download" target="_blank">「一括アーカイブ」の ZIP ファイルをダウンロード</a>、解凍する。</p>
<p>2. 解凍してできた [ajaxzip2] ディレクトリ内の</p>
<ul>
<li>jquery.js</li>
<li>[sample] ディレクトリ</li>
<li>[work] ディレクトリ</li>
</ul>
<p>を削除する</p>
<p>3. [ajaxzip2] ディレクトリを WordPress ディレクトリ直下にアップロードする。<br />
<div id="attachment_757" class="wp-caption alignnone" style="width: 204px"><img src="http://jp.messaliberty.com/wp-content/uploads/2009/12/ajaxzip2ftp.jpg" alt="AjaxZip2" title="AjaxZip2" width="194" height="202" class="size-full wp-image-757" /><p class="wp-caption-text">AjaxZip2</p></div></p>
<p>4. 郵便番号フォームを表示するページの html ヘッダーに以下の文を追加する</p>
<pre>&lt;script src=&quot;ajaxzip2/prototype.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;ajaxzip2/ajaxzip2.js&quot; charset=&quot;UTF-8&quot;&gt;&lt;/script&gt;</pre>
<p>5. Welcart の郵便番号フォーム出力部分のソースを書き換える<br />
/wp-content/plugins/usc-e-shop/templates/cart/customer_info.php の 87 行目</p>
<pre>&lt;input name=&quot;customer[zipcode]&quot; id=&quot;zipcode&quot; type=&quot;text&quot; value=&quot;' . $usces_entries['customer']['zipcode'] . '&quot; /&gt;
  ↓
&lt;input name=&quot;customer[zipcode]&quot; id=&quot;zipcode&quot; type=&quot;text&quot; value=&quot;' . $usces_entries['customer']['zipcode'] . '&quot; onKeyUp=&quot;AjaxZip2.zip2addr(this,\'customer[pref]\',\'customer[address1]\')&quot; /&gt;</pre>
<p>これは以下のような構成のサンプルなので</p>
<ul>
<li>都道府県名 -> プルダウン</li>
<li>市区町村 -> テキストフィールド</li>
</ul>
<p>変更の必要がある場合は <a href="http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html#sample1" target="_blank">AjaxZip 2.0 公式サイトのサンプルHTMLソース</a>を参考に書き換えてください。</p>


<p>Related posts:<ol><li><a href='http://jp.messaliberty.com/2009/12/localizing-dates-in-wordpress-themes/' rel='bookmark' title='Permanent Link: WordPress のテーマで日付表記をローカライズする'>WordPress のテーマで日付表記をローカライズする</a> <small>messaliberty の日本語版と英語版は同じ WordPress テーマを使っています。1つのファイルで両方に対応している、という意味です。このやり方を実現するためには、完全に内部で切り分けて各言語ごとにローカライ [...]...</small></li><li><a href='http://jp.messaliberty.com/2009/12/curvycorners/' rel='bookmark' title='Permanent Link: javascriptライブラリを利用して角丸を生成する『curvyCorners』'>javascriptライブラリを利用して角丸を生成する『curvyCorners』</a> <small>messalibertyのサイトにも使われている角丸は『curvyCorners』というjavascriptライブラリを利用して表現しています。 すごくキレイな角丸を表現できるのですが、少し重いのが難点です。 近いうちに [...]...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=CfMzmrQIDFc:HkMMZcGfthY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=CfMzmrQIDFc:HkMMZcGfthY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=CfMzmrQIDFc:HkMMZcGfthY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=CfMzmrQIDFc:HkMMZcGfthY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=CfMzmrQIDFc:HkMMZcGfthY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=CfMzmrQIDFc:HkMMZcGfthY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?i=CfMzmrQIDFc:HkMMZcGfthY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/messaliberty/jp?a=CfMzmrQIDFc:HkMMZcGfthY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/messaliberty/jp?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/messaliberty/jp/~4/CfMzmrQIDFc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/" />
	<feedburner:origLink>http://jp.messaliberty.com/2009/12/welcart-ajaxzip2/</feedburner:origLink></item>
	</channel>
</rss>
