<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ぷりどうぐ &#187; 勉強</title>
	<atom:link href="http://prius.cc/d/category/work/study/feed" rel="self" type="application/rss+xml" />
	<link>http://prius.cc/d</link>
	<description>1981年生まれのITエンジニアが成長日記や技術情報やスノーボードのことを書いているブログ。</description>
	<lastBuildDate>Thu, 29 Jul 2010 00:38:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/category/work/study/feed" />
		<item>
		<title>OpenSocial周りのWebの盛り上がりについて。</title>
		<link>http://prius.cc/d/20090627_opensocial.html</link>
		<comments>http://prius.cc/d/20090627_opensocial.html#comments</comments>
		<pubDate>Sat, 27 Jun 2009 05:46:48 +0000</pubDate>
		<dc:creator>tera</dc:creator>
				<category><![CDATA[勉強]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://prius.cc/d/?p=1794</guid>
		<description><![CDATA[				前エントリで
				
				
				  正直、参加者の大半が課題作れなかったのは意外だった。…と他人事のように書いて俺も出来なかったわけだがw、おそらく主催者のwillnetさんはこれくらい簡単にできると思 [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://prius.cc/d/20090627_opensocial-host.html">前エントリ</a>で</p>
				
				<blockquote>
				  <p>正直、参加者の大半が課題作れなかったのは意外だった。…と他人事のように書いて俺も出来なかったわけだがw、おそらく主催者のwillnetさんはこれくらい簡単にできると思ってたんじゃないかな？</p>
				</blockquote>
				
				<p>と書いたわけだけど、これはマジで意外だった。</p>
				
				<p>実は俺が思ってるより課題(<a href="http://d.hatena.ne.jp/willnet/20090626">こちら</a>を参照)が難しかったのかもしれないけど、やる事と言えば</p>
				
				<ol>
				<li>Todoリストの完了ボタンにユニークなid属性を付与する</li>
				<li>完了ボタンを押すとid情報をJavaScript APIに渡し、Todo情報を削除するようにする</li>
				</ol>
				
				<p>くらいだから、やはりこれくらいは簡単にできる想定だったんだろう。つまり<strong>昨日の参加者はJavaScriptに不慣れだった</strong>と勝手に決め付けて話を進めるが、俺は勉強会＝ある程度は出来る人の集まりというイメージを持ってたし参加者もWeb系の人がほとんど(だったと思う)ので、この結果には驚いてしまったのである。という事で考察。</p>
				
				<h4>1. 普段JavaScriptを書いてない人が興味を持ってる</h4>
				
				<p>まぁ俺ですが、普段Webアプリも作らないくせにmixiアプリに興味を持ってOpenSocial勉強会に参加した人。けどこれは少数派。会場に来てたと思われるWeb系の人はどうなの？となるが、Web系だからと言ってJavaScript書いてるとは限らないのである(学生時代のWeb系会社バイト経験より)。</p>
				
				<p>参加者の中にドリコムの人がいて彼はバリバリmixiアプリ作ってそうだったけど、ドリコムは「なるべくJavaScriptを書かずmixiあぷりを作れるような」フレームワークを構築してるらしい。</p>
				
				<p>実際俺も<strong>「JavaScriptって書くの面倒っぽくてクライアント環境に依存する割に大したことできねーし」</strong>と思って今まで勉強しなかったわけだし、Web系会社に勤めていても「毎日JS書いてます！」という人は少ないのかもしれない。</p>
				
				<h4>2. 普段JavaScriptを書いている人が興味を持っていない</h4>
				
				<p>ポイントはこっちかな。毎日JS書いてそうなWeb上での有名人がOpenSocialに食いついてない気がする。これも勝手に考えると、</p>
				
				<ol>
				<li>技術的には面白くない</li>
				<li>ソーシャルってのが気に喰わない</li>
				<li>検証環境を作るのが面倒。</li>
				</ol>
				
				<p>のかなぁと。OpenSocialといってもmixiの情報使えるだけで後はJavaScriptで書くだけ。普段からJS使ってる人はあまり目新しいと思わないのかも。もう一つが、mixiアプリ作ってもmixiの中でしか使えないこと。俺は<a href="http://prius.cc/d/20090515_mixiapp.html">このエントリ</a>で書いたとおり<strong>友達が使ってくれるだけでもいいじゃん</strong>と思うんだけど、Webアプリを作ってURL一発でリーチしてる人なら、mixiだけのためにアプリ作るなんてアホらしいのかもしれない。会員制サイト否定派も多いしねー。</p>
				
				<p>最後はおまけだけど、いちいちファイルアップしてmixiアプリにアクセスするのが面倒という説。普段使ってる環境使えないとストレス溜まります。<a href="http://mixiapp.rash.jp/wp/?p=15">OpenSocial Development Environment</a>は使えるけど、eclipseインストールするのめんどいという人もいる。</p>
				
				<p>以上3つの理由で食いつきが悪いのかな、と思います。</p>
				
				<hr />
				
				<p>そう考えると、mixiアプリの作成者属性ってiPhoneアプリ作成者と被るところはあるのかも。面白半分、利益半分。普通のWebアプリに比べて法人割合が高い。</p>
				
				<p>ただ言えることは、現時点で<strong>mixiアプリを自在に作れる人は少数</strong>だということ。勉強会に来るメンバーがこのくらいの習熟度ということは、今のうちにノウハウ積み上げれば正式版スタートしてから手をつける人に差をつけることができるかも…！</p>
				
				<h3>とはいえ</h3>
				
				<p>前途多難だなー。プラットフォームが不安定で検証もままならねーし、JavaScriptっていっても昔流行ったステータスバーの表示をちょろっと変えるレベルじゃないからね。実際、<a href="http://www.amazon.co.jp/JavaScript-%E4%B8%AD%E7%B4%9A%E8%AC%9B%E5%BA%A7-~Ajax%E3%82%92%E5%AD%A6%E3%81%B6%E5%89%8D%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E8%97%A4%E6%9C%AC-%E5%A3%B1/dp/4774132349/ref=pd_sim_b_6">この本</a>を120ページくらいまで読んだけど、mixiアプリのコード例で使われてる書式なんて全然出てきませんからね＞＜　Web2.0時代のJavaScriptにはまだ遠いわー。</p>
]]></content:encoded>
			<wfw:commentRss>http://prius.cc/d/20090627_opensocial.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/20090627_opensocial.html" />
	</item>
		<item>
		<title>OpenSocial Host勉強会に行ってきたよーvv</title>
		<link>http://prius.cc/d/20090627_opensocial-host.html</link>
		<comments>http://prius.cc/d/20090627_opensocial-host.html#comments</comments>
		<pubDate>Sat, 27 Jun 2009 04:23:39 +0000</pubDate>
		<dc:creator>tera</dc:creator>
				<category><![CDATA[勉強]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://prius.cc/d/?p=1791</guid>
		<description><![CDATA[				26日(金)は第1回「OpenSocial Host勉強会」でした。
				
				JavaScript初心者の俺ですが、OpenSocialに興味があったので参加してみました。…どのくらい初心者かというと勉 [...]]]></description>
			<content:encoded><![CDATA[				<p>26日(金)は第1回「<a href="http://atnd.org/events/819">OpenSocial Host勉強会</a>」でした。</p>
				
				<p>JavaScript初心者の俺ですが、OpenSocialに興味があったので参加してみました。…どのくらい初心者かというと<strong>勉強会に参加決めてから初めてJSの参考書を買ったくらい</strong>です。まぁ締切効果を利用してJS勉強できたので良かったっちゃあ良かった(ぉ</p>
				
				<p>※参考：<a href="http://prius.cc/d/20090515_mixiapp.html" title="OpenSocialというかmixiアプリは実は簡単に作れそうな話。">OpenSocialというかmixiアプリは実は簡単に作れそうな話。</a></p>
				
				<p>ちなみにOpenSocialというのは今ベータテスト期間中の<a href="http://developer.mixi.co.jp/appli">mixiアプリ</a>で採用されている技術で、これを学べば自分でmixiアプリを作って友達に使ってもらったり、PV増やして収益上げたりできるかもしれない。まだ知名度は低いけど、将来的にiモードみたいに一般的なものになる…かも？といった段階です。</p>
				
				<h3>OpenSocial Hostとは?</h3>
				
				<p>今回はOpenSocial Host(以下OSH)の勉強会でした。OSHは<a href="http://www.heartrails.com/">株式会社ハートレイルズ</a>さんが提供しているOpenSocailのアプリ開発を支援するサービス。</p>
				
				<p>OpenSocialを作るためにはプログラムファイルを置くサーバが必要。けどレンタルサーバは有料だったりするので<strong>OSHがファイル置き場を無料で提供します</strong>、というのがまず1点(※)。とはいえ、普通のエンジニアはサーバの1つや2つ持ってるのでこれだけではメリットにならない。ポイントは外部サーバのDBに簡単に書き込みできるAPIを提供している事だと思う。</p>
				
				<p>※ 無料プランで1アプリにつき100ファイル、1ファイル10MB、合計500MBまで。</p>
				
				<h3>OpenSocialアプリと外部サーバの関係</h3>
				
				<p>仮にOpenSocialアプリ(mixiアプリ)で外部サーバにデータを保存しない場合でも、「永続化データ」という手法を使ってOpenSocial側(mixiのサーバ)にデータを保存することができます。ただこれが</p>
				
				<ol>
				<li>データ保存個数が限られる。gooホームの場合、1アプリに付き10個までしか保存できない。</li>
				<li>同じアプリを入れてる人同士だと、お互いのデータが丸見え。</li>
				<li>永続化データはユーザー毎に独立した領域に保存される。</li>
				</ol>
				
				<p>とめちゃくちゃキツい制約あり。</p>
				
				<p>例えば閲覧者の住んでいる場所を取得して明日の天気を返すだけのアプリならいいけど、日記アプリを作ろうとすると、</p>
				
				<ol>
				<li>11個以上日記が書けない。</li>
				<li>秘密の日記が書けない</li>
				<li>コメントの実装が大変でシステムリソースを食う。</li>
				</ol>
				
				<p>となる。3については「永続化データはユーザー毎に独立した領域に保存される」制約が作用していて、例えばAさんの日記にBさんがコメントをつけたとしても、そのコメントはAさんのデータ領域に保存されない。つまり<strong>Aさんの日記にコメントがついているかどうか調べるために、Aさんのマイミク(で日記アプリ使ってる人)を全員調べないといけない。</strong>日記一覧を表示してコメント数を表示するだけでも、大変なりソースを消費してしまうわけで。</p>
				
				<p>んじゃ外部サーバにデータ保存するしかないよね、って話になるけど、OpenSocailアプリからのデータを受信するプログラムを別途書いたりしないといけないのでJS以外の知識も必要になる。</p>
				
				<h3>そこでOpenSocial Host</h3>
				
				<p>OSHならJavaScript API(※)でOSHのサーバにデータを書き込めてしまう。しかもデータに細かい権限設定ができるので秘密の日記なども作成可能。加えてアクセス解析機能も充実していて、例えばユーザーID単位でPV/UU集計できるので<strong>「あいつにアプリ紹介してやったのに全然見てねーわ」</strong>とかも分かっちゃう＞＜</p>
				
				<p>※ API使用回数：5,000,000回／月まで無料</p>
				
				<p>OSHを使ったデモとして<a href="http://platform001.mixi.jp/view_appli.pl?id=3045">円グラフ日記</a>を見せてもらいました。簡単そうに見えますが、最新の円グラフは永続化データで保存してHOMEビューに表示、円グラフについたコメントはOSHに保存という作りで開発には1週間かかったみたい。ただデータ保存部分をOSHで代用しなければもっと長くかかったんじゃないかな？と思います。</p>
				
				<p>あと(なんでもそうですが)1個作れば使いまわして類似アプリを作れるので苦労するのは最初だけ！早いとこ自分の&#8221;フォーム&#8221;を確立しないとなーと思いました。</p>
				
				<h3>OpenSocial Hostで何か作ってみよう！</h3>
				
				<p>残り時間でOSHを使ったmixiアプリを作ってみよう！ということで、参加者みんなでOSHに登録した後、<a href="http://d.hatena.ne.jp/willnet/">id:willnet</a>さんの用意した<a href="http://d.hatena.ne.jp/willnet/20090626">雛形</a>を使ってmixiアプリ登録→ちょこっと改造という流れ。</p>
				
				<p>…だが「ボタンを押したらTodoリストを消す」という最初の課題もできない。いーよいーよ、どうせJS始めたててでDOMとかも分かってねーし(その割には各Todoにidを付与するとこまではできた)とふて腐れてたんだが、1時間経って課題を作れた参加者は2名だけでしたとさ。うーん。ここらへんは次のエントリあたりで補足予定→<a href="http://prius.cc/d/20090627_opensocial.html">補足した。</a></p>
				
				<h3>OpenSocial Host 今後の予定</h3>
				
				<ul>
				<li>mixiモバイル対応：7月末～8月頭目標。PCもモバイルも&#8221;なるべく&#8221;同じソースを使えるように検討中。</li>
				<li>データベース／ログのインポート／エクスポート機能</li>
				<li>JavaScriptAPIの拡充
				** 複数コンテナ(mixi⇔goo⇔orkut)／アプリケーション間の連携支援API
				** 写真や動画などのマルチメディアファイルの投稿／取得API</li>
				<li>アプリの雛形となるソースの提供</li>
				</ul>
				
				<hr />
				
				<h3>感想いろいろ</h3>
				
				<h4>まずはOSHの感想から。</h4>
				
				<p>正直外部サーバにデータ保存するところまでmixiアプリ作れてなかったのでOSHに興味なかったけど、永続化データの制約知った＋登録簡単ですぐに使い始められるOSHはなかなかいいなぁと思いました。</p>
				
				<p>あとは雛形のソースコードを充実させてほしいかな。。。例えば、普通の人がmixiアプリ作って外部サーバにデータ保存しようとした場合、まず<a href="http://developer.mixi.co.jp/appli/pc/lets_enjoy_making_mixiapp/require_servers" title="mixi Developer Center (ミクシィ デベロッパーセンター) ≫ 外部サーバを呼び出してみよう">mixi Developer Center</a>見たり、実際にソース公開してる人探したりすると思います。</p>
				
				<p>参考：<a href="http://d.hatena.ne.jp/naoto5959/20090526/1243348685">mixiアプリからの署名付きリクエストの受け側を作る &#8211; プログラマー、再起動中</a></p>
				
				<p>んで、そのやり方で作れちゃうとOSHｲﾗﾈってなってしまうので、OSHを使ったmixiアプリのソースを解説付きで公開してくれるとありがたいです。<strong>まぁ僕が参考にしたいだけなんですけどね！</strong></p>
				
				<p>その他。</p>
				
				<ul>
				<li>アクセス解析はいいなぁと思いました。自分で実装するの面倒だしこれに慣れるとOSHから離れられないとかありそう。有料プランなら時間も取れるとか機能強化もできるし。</li>
				<li>GoogleAppEngineでmixiアプリできるよーvvという記事がいくつか上がってるので、圧倒的なブランド力に押されてtwitterに対するもごもご/wassr的な位置づけにならないか心配です。</li>
				</ul>
				
				<h4>OpenSocial周りのWebの盛り上がりについて。</h4>
				
				<p>これは<a href="http://prius.cc/d/20090627_opensocial.html">次のエントリ</a>で。</p>
				
				<h4>初めての勉強会感想</h4>
				
				<p>オフ会の延長線って感じかな。違うのは、仲良くするのが目的じゃなく勉強/情報交換がメインなこと。例えば</p>
				
				<ul>
				<li>出欠確認なし</li>
				<li>参加者同士の自己紹介はなし</li>
				<li>名札なし</li>
				<li>名刺交換なし</li>
				</ul>
				
				<p>って感じ。昨日だけでは判断できないけど、技術で会話するエンジニアにとってはオフ会よりやりやすい…かもしれません。けど正直1人参加は勇気がいるね。オフ会と違って普段からネットで仲良くしてる人って訳じゃないし、行ったら行ったで内輪気味な会かもしれない(昨日は違ったけど)。例えば参加者のブログ読んどいて「あの記事面白かったですね！」からきっかけ作ればいいけど、なかなかタイミングがないし(そもそもお互いの名前知らない)。</p>
				
				<p>やっぱり懇親会なのかな？技術レベルが違いすぎる＋Web系の人ばっかりっぽかった(私服多かった)ので参加しなかったけど、そういう所で仲良くなれれば次へのきっかけになるかもしれない…と<strong>帰ってから思った。</strong>例えばmixiアプリ作ってる人とブログやtwitterで交流する→勉強会で初顔合わせなら盛り上がったかもしれないなー。</p>
				
				<p>課題出来なかった事も含めてやや不完全燃焼でしたが、mixiアプリと合わせてOSHの情報も追っかけていきたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://prius.cc/d/20090627_opensocial-host.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/20090627_opensocial-host.html" />
	</item>
		<item>
		<title>RMagick 2.9.0 for Windows インストール時の注意点。</title>
		<link>http://prius.cc/d/20090130_rmagick_2_9_0_for_windows_insu.html</link>
		<comments>http://prius.cc/d/20090130_rmagick_2_9_0_for_windows_insu.html#comments</comments>
		<pubDate>Fri, 30 Jan 2009 13:36:23 +0000</pubDate>
		<dc:creator>tera</dc:creator>
				<category><![CDATA[勉強]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://prius.cc/d/rmagick-290-for-windows-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e6%99%82%e3%81%ae%e6%b3%a8%e6%84%8f%e7%82%b9%e3%80%82.html</guid>
		<description><![CDATA[&#9632;結論RMagick 2.9.0(に同梱されているImageMagick)を使用するには、Visual C++ 2008のランタイムが必要である。ImageMagick本家のフォーラムVisual C++ 2008のダ...]]></description>
			<content:encoded><![CDATA[				<h3>&#9632;結論</h3>
				
				<p>RMagick 2.9.0(に同梱されているImageMagick)を使用するには、Visual C++ 2008のランタイムが必要である。</p>
				
				<ul>
				<li><a href="http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&amp;t=12972" target="_blank">ImageMagick本家のフォーラム</a></li>
				<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&amp;displaylang=en" target="_blank">Visual C++ 2008のダウンロード先</a></li>
				</ul>
				
				<hr />
				
				<p>ということで、rubyで画像ファイルを生成できるRMagickというのがあるらしいので使ってみた。</p>
				
				<h3>&#9632;インストール</h3>
				
				<ol>
				<li><a href="http://rubyforge.org/projects/rmagick" target="_blank">RubyForge： RMagick： Project Info</a>からRmagickをダウンロード</li>
				<li>バイナリのImageMagickをインストール。ImageMagick-6.4.8-6-Q8-windows-dll.exeみたいなやつ。</li>
				<li>ダウンロードしたディレクトリに移動して、「gem install rmagick-2.9.0-x86-mswin32.gem」を実行。</li>
				</ol>
				
				<blockquote>
				<p>ERROR:  Error installing rmagick-2.9.0-x86-mswin32.gem:</p><p>        rmagick requires Ruby version &gt;= 1.8.5</p></blockquote>
				
				<p>おっと、rubyのバージョンが古かったようだw <a href="http://www.ruby-lang.org/ja/downloads/" target="_blank">本家</a>よりダウンロードしてアップデート。</p>
				
				<h3>&#9632;そして嵌った。</h3>
				
				<p>どうやらRmagickのインストールは結構難しいらしい。</p>
				
				<blockquote>
				<p><a href="http://d.hatena.ne.jp/hi_c_mayu/20080831/1220175808" target="_blank">RMagick のインストール &#8211; まゆの日記</a></p><p></p><p>インストールで失敗するという噂の RMagick を入れてみようと思います。</p></blockquote>
				
				<p>Windows版は比較的簡単らしいが、冒頭のようにVC++が入ってないとエラーになるとかいろいろ躓きポイントあり。</p>
				
				<p><a href="http://www.katawara.com/2008/01/rmagick/" target="_blank">RMagickをインストールしてみる（Windows）　|　Katawara.*</a></p>
				
				<p>あと一番嵌ったのが間違ったテストコードを使っていたこと。</p>
				
				<blockquote>
				<p>require &#8216;rubygems&#8217;</p><p>require &#8216;RMagick&#8217;</p></blockquote>
				
				<p>だけではダメで、3行目に</p>
				
				<blockquote>
				<p>include Magick</p></blockquote>
				
				<p>が必要だったんですね。どんなバージョン組み合わせてもエラーが出て半日くらい嵌ってました。</p>
				
				<p>※俺のruby知識のなさが証明された。</p>
				
				<h3>&#9632;使ってみる</h3>
				
				<p><a href="http://blog.longearth.net/2008/06/04/%E3%80%90ruby%E3%80%91%E3%80%90rmagick%E3%80%91web20%E7%9A%84%E3%81%AA%E3%83%AD%E3%82%B4%E3%82%92%E4%BD%9C%E3%82%8B/" class="broken_link"  target="_blank">【ruby】【RMagick】WEB2.0的なロゴを作る | earth</a></p>
				
				<p>このページのテストコードが一番分かりやすかった。元ネタは<a href="http://doruby.kbmj.com/akio0911_on_rails/20090115/RMagick__" target="_blank">ここ</a>だと思いますが。その他、rubyで画像処理をするなら<a href="http://d.hatena.ne.jp/secondlife/20070612/1181618706" target="_blank">モテる Ruby! &#8211; Ruby会議 2007 &#8211; 川o・-・）＜2nd life</a>が詳しい。</p>
				
				<hr />
				
				<p>なぜこういう勉強をしているかというと、僕が重宝しているWebサービスのうちの一つ、<a href="http://thunder.tepco.co.jp/" target="_blank">雨量・雷観測情報</a>のデータを解析したいからである。<a href="http://thunder.tepco.co.jp/cgi-bin/main.cgi?area=9&amp;zoom=8&amp;type=1" target="_blank">このリンクが</a>東京都の雨量情報なのだが残念ながら携帯に対応していない。</p>
				
				<p>そこで画像データを取得して携帯で見れるくらいに変換してやる。雨が降っていると地図上に青や紫の点が表示され、その間隔は毎回同じ。つまり青や紫の点の位置を特定して位置と紐付けてやれば、「○○市で○mmの雨」というデータが取得できるわけだ。</p>
				
				<p>取りあえず今日はインストールだけで疲れたのでここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://prius.cc/d/20090130_rmagick_2_9_0_for_windows_insu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/20090130_rmagick_2_9_0_for_windows_insu.html" />
	</item>
		<item>
		<title>Ubuntu8.10をデュアルディスプレイにしようとして苦労する(未解決)</title>
		<link>http://prius.cc/d/20090108_ubuntu8_10odearudeisupureinish.html</link>
		<comments>http://prius.cc/d/20090108_ubuntu8_10odearudeisupureinish.html#comments</comments>
		<pubDate>Thu, 08 Jan 2009 12:04:43 +0000</pubDate>
		<dc:creator>tera</dc:creator>
				<category><![CDATA[勉強]]></category>
		<category><![CDATA[LINUX]]></category>

		<guid isPermaLink="false">http://prius.cc/d/ubuntu810%e3%82%92%e3%83%87%e3%83%a5%e3%82%a2%e3%83%ab%e3%83%87%e3%82%a3%e3%82%b9%e3%83%97%e3%83%ac%e3%82%a4%e3%81%ab%e3%81%97%e3%82%88%e3%81%86%e3%81%a8%e3%81%97%e3%81%a6%e8%8b%a6%e5%8a%b4%e3%81%99.html</guid>
		<description><![CDATA[Ubuntuにも大分慣れて来たのでデュアルディスプレイに挑戦してみました。WindowsではM2A-VM HDMIのオンボードVGAとUSB-RGBを使ってデュアルディスプレイ...]]></description>
			<content:encoded><![CDATA[				<p>Ubuntuにも大分慣れて来たのでデュアルディスプレイに挑戦してみました。</p>
				
				<p>Windowsでは<a href="http://www.unitycorp.co.jp/asus/motherboard/amd/socket_am2/m2a-vm_hdmi/m2a-vm_hdmi.html" target="_blank">M2A-VM HDMI</a>のオンボードVGAと<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000RG9L0W/pridoug-22/ref=nosim/" name="amazletlink" target="_blank">USB-RGB</a>を使ってデュアルディスプレイを構築してたけど、UbuntuでUSG-RGBは使えなさそうなので新しくグラフィックボードを購入しました(WindowsとUbuntuはデュアルブート)。選んだのは<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0014E99GM/pridoug-22/ref=nosim/" name="amazletlink" target="_blank">RH3450-LE256H/HS</a>。ローエンドだけどゲームとか興味ないので出力すればそれでよし。</p>
				
				<h3>&#9632;ここからありのままに起こったことだけを書くと…</h3>
				
				<p><strong>1.まずはWindowsで認識させる。</strong></p>
				
				<p>RH3450-LE256H/HSを挿してWindowsを起動したところオンボードVGA側からの出力がされずハードウェアとしても認識されない。ここでBIOSを調べたところPCIExpressが優先させる設定となっていた。今までになにも挿さってなかったPCIExpressスロットにRH3450-LE256H/HSを挿したことで、オンボードVGAデバイスが無視されるようになったと推測。オンボードVGAを優先させるよう変更したところ、VGAデバイス、PCIExpressの両方から出力され、2つのVGAデバイスが認識されるようになった。<strong>成功。</strong></p>
				
				<p><strong>2.Ubuntuで認識させる。</strong></p>
				
				<p>これで起動したところ、Xが起動せずCUIモードのログイン画面が出力された。startxと入力しても&quot;デバイスが見つからない&quot;と表示される。ここで、元のBIOS設定(PCIExpressを優先)に戻して起動したところ、PCIExpressから出力され、オンボードVGAからは出力されなかった。</p>
				
				<ol>
				<li>RH3450-LE256H/HSを挿す前はオンボードVGAから出力されていた</li>
				<li>RH3450-LE256H/HSを挿した後はRH3450-LE256H/HSから出力された</li>
				</ol>
				
				<p>以上より、ハードウェア側に問題はないと判断し、Ubuntuの設定を見ていく事にした。</p>
				
				<h3>&#9632;Xorg.confを設定</h3>
				
				<p>Xが起動しない、ということはXorg.confの設定に問題があると踏み調査。といっても知識がなくxorg.confをデフォルトに戻したりするだけで全然解決しない。こうなったら！で別パーティションにもう一つUbuntu8.10をインストールしてそこから設定ファイルを取り出す事にした。オンボードVGAが優先されるBIOSでOSインストールを行えば、その状態にあった設定ファイルが生成されるはず。</p>
				
				<p>ちなみに以下はUbuntuでデュアルディスプレイに成功しているリンク集。</p>
				
				<ul>
				<li><a href="http://gihyo.jp/admin/serial/01/ubuntu-recipe/0048" target="_blank">Ubuntu Weekly Recipe：第48回　デュアルディスプレイを使う｜gihyo.jp … 技術評論社</a></li>
				<li><a href="http://d.hatena.ne.jp/higepon/20060822/1156229563" target="_blank">デュアルディスプレイ設定 &#8211; ひげぽん OSとか作っちゃうかMona-</a></li>
				<li><a href="http://d.hatena.ne.jp/piropati/20080427/1209291296" target="_blank">ubuntu 8.04　でATIのドライバを使ってデュアルディスプレイ環境を作る！→うまく行ってない &#8211; Mattari Memo</a></li>
				<li><a href="http://ore.saizensen.net/archives/66" target="_blank">おれ最前線ねっと &#8211; デュアルディスプレイ設定 &#8211; xorg.conf</a></li>
				</ul>
				
				<h3>&#9632;Ubuntu8.10インストール</h3>
				
				<p>パーティションを切ってUbuntu8.10インストール→起動したところ、オンボードVGAが優先されるBIOSでXが正常起動しました。ほーら！思った通りじゃん！早速xorg.confを確認したところ…ん?さっきの設定と同じだぞ…。</p>
				
				<p>ここで、制限付きグラフィックドライバ(※1)を導入するか問うアラートが上がったので見てみると…お！2つのVGAデバイスが認識されてる！(※2)ここでドライバをインストールして再起動するとデュアルディスプレイになるかな!?⇒<strong>残念ながらXが起動しなくなりました。</strong></p>
				
				<p>その後、BIOSをPCIExpress優先にするとXが起動するあたり最初にインストールしていたUbuntuと全く同じ症状。制限付きドライバを使わないよう設定を戻しても症状は治りません。今は3つ目のUbuntuをインストールして、次に行う検証を考えてます。</p>
				
				<p>※1 UbuntuではデフォルトでOS提供のドライバを使うが、NVIDIAやATIが提供する非オープンソース(=制限付き)のドライバを使うことも出来る。後者の方が性能は上だが、オープンソース信奉者の中には嫌がる人もいる。</p>
				
				<p>※2 これは制限付きドライバのインストール選択画面でドライバの選択肢が2つ上がったため、2つのVGAデバイスに別々のドライバを適用する=2つのVGAデバイスが認識できているものと思った。しかし、3つ目のUbuntuではこの画面で1つしかドライバが表示されず、詳細は不明。</p>
				
				<h3>&#9632;まとめ</h3>
				
				<p>・<strong>BIOSでPCIExpress優先にした場合</strong></p>
				
				<table>
				<tr><td>_</td><th>オンボードVGA</th><th>RH3450-LE256H/HS</th></tr>
				<tr><td>WindowsXP</td><td>×</td><td>○</td></tr>
				<tr><td>Ubuntu(制限付きドライバ導入前)</td><td>×</td><td>○</td></tr>
				<tr><td>Ubuntu(制限付きドライバ導入後)</td><td>×</td><td>○</td></tr>
				</table>
				
				<p>これはハードウェアレベルでオンボードVGAが無視されている。OSの設定で解消するのは難しい。</p>
				
				<p><strong>・BIOSでオンボードVGA優先にした場合</strong></p>
				
				<table>
				<tr><td>_</td><th>オンボードVGA</th><th>RH3450-LE256H/HS</th></tr>
				<tr><td>WindowsXP</td><td>○</td><td>○</td></tr>
				<tr><td>Ubuntu(制限付きドライバ導入前)</td><td>○</td><td>×</td></tr>
				<tr><td>Ubuntu(制限付きドライバ導入後)</td><td>△(X起動せず)</td><td>×</td></tr>
				</table>
				
				<p><strong>制限付きグラフィックドライバを一度導入しただけで、Xが起動しなくなる。</strong></p>
				
				<ul>
				<li>制限付きグラフィックドライバ導入前、OS側で2つのVGAデバイスが存在することは認識している…と思う。</li>
				<li>制限付きドライバを導入すると、なんらかの動作(競合とか?)が働いてXが起動しなくなる。ログには&quot;デバイスが見つからない&quot;と表示されるが詳しいことは追えてない。</li>
				<li>「制限付きドライバを使用しない」に設定してもXが起動しないのは、一度制限付きドライバをダウンロード→保存してしまっているためX起動時にチェックを行いエラーとなっている?</li>
				<li>あるいは設定ミスで、まだ制限付きドライバが使われているのかも?</li>
				</ul>
				
				<p>以上の事が推測される。次に行う検証項目は以下の通り。</p>
				
				<p><strong>1.ドライバ導入前OS・後OSの差分を取得するためのfind,diff書式</strong></p>
				
				<p>現在、制限付きドライバ導入前のUbuntuと導入後のUbuntuが存在するので、それらの差異を確認する。そのためにfindで全ファイルを出力しdiffで差異を出力したい。</p>
				
				<p><strong>2.ドライバ保存場所特定</strong></p>
				
				<p>Ubuntuが一般的にダウンロードしたドライバをどこに保存するのか調べる。そのファイルを消せば「制限付きドライバ導入後」⇒「制限付きドライバ導入前」の状態に戻せるかもしれない。今後の検証を考えると&quot;何かあったときに戻せる&quot;というのは重要である。</p>
				
				<p><strong>3.制限付きドライバ導入前状態で、xorg.confをデュアルディスプレイ稼動するよう書き換えてみる。</strong></p>
				
				<p>制限付きドライバ導入前の状態ではオンボードVGAが表示できる。ということは、xorg.confの設定次第でデュアルディスプレイ設定が可能!?aticonfigというコマンドでATIチップに合ったxorg.confを生成してくれるみたいなので試してみる。ATIのドライバ導入してないと無理かなぁ…。</p>
				
				<p><strong>4.KDE試してみる</strong></p>
				
				<p>GNOMEでテストしてるけどKDEはどうなんだろう?</p>
				
				<p><strong>5.RH3450-LE256H/HSを抜いてオンボードVGA優先BIOSで起動してみる</strong></p>
				
				<p>Xが起動しないのがBIOS設定のせいではない事を確認。</p>
				
				<p><strong>6.grub.confの設定方法</strong></p>
				
				<p>今回の問題とは別件だが、たくさんUbuntuをインストールしたらGRUBの画面に選択肢が増えてしまったので削除したい。あと、最後にインストールしたUbuntuを消去したときGRUBがどうなるのか動きを確認しないと。</p>
				
				<p><a href="http://nobumasa-web.hp.infoseek.co.jp/multi_boot/index.html" target="_blank">マルチブートの仕方(プロローグ)</a></p>
				
				<p>とにかく、ちょっとトライ&amp;エラーで足元がおぼつかないので腰すえてログ見ようかな、と思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://prius.cc/d/20090108_ubuntu8_10odearudeisupureinish.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/20090108_ubuntu8_10odearudeisupureinish.html" />
	</item>
		<item>
		<title>Ubuntu8.10の仮想マシン上でWinXPを動かそうとして苦労する。</title>
		<link>http://prius.cc/d/20090107_ubuntu8_10nokasoumashinjoudewi.html</link>
		<comments>http://prius.cc/d/20090107_ubuntu8_10nokasoumashinjoudewi.html#comments</comments>
		<pubDate>Wed, 07 Jan 2009 06:46:10 +0000</pubDate>
		<dc:creator>tera</dc:creator>
				<category><![CDATA[勉強]]></category>
		<category><![CDATA[LINUX]]></category>

		<guid isPermaLink="false">http://prius.cc/d/ubuntu810%e3%81%ae%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3%e4%b8%8a%e3%81%a7winxp%e3%82%92%e5%8b%95%e3%81%8b%e3%81%9d%e3%81%86%e3%81%a8%e3%81%97%e3%81%a6%e8%8b%a6%e5%8a%b4%e3%81%99%e3%82%8b.html</guid>
		<description><![CDATA[前エントリの通り、Ubuntu8.10上のFirefox3と実ホスト：Ubuntu8.10 仮想ホスト：WindowsXP(VMware Server2)仮想ホスト上のブラウザ：Sleipnir2を比べる事を目標に...]]></description>
			<content:encoded><![CDATA[				<p>前エントリの通り、Ubuntu8.10上のFirefox3と</p>
				
				<p>実ホスト：Ubuntu8.10 <br />
				仮想ホスト：WindowsXP(VMware Server2)<br />
				仮想ホスト上のブラウザ：Sleipnir2</p>
				
				<p>を比べる事を目標に作業を進めた所、むちゃくちゃ苦労したのでメモします。</p>
				
				<h3>&#9632;苦労話が長いので先に結論。各OS毎のブラウザアクセス速度。</h3>
				
				<p>予想通り、Ubuntu8.10上のFirefox3より仮想WinXP環境下でのSleipnir2の方が早かったです。順番に並べると</p>
				
				<table>
				<tr><th>仮想化</th><th>OS</th><th>ブラウザ</th><th>速度</th></tr>
				<tr><td>-</td><td>WinXP</td><td>Sleipnir2 + IE8beta</td><td>◎◎</td></tr>
				<tr><td>-</td><td>WinXP</td><td>Firefox3</td><td>◎</td></tr>
				<tr><td>Ubuntu8.10+VirtualBox</td><td>WinXP</td><td>Sleipnir2 + IE8beta</td><td>○</td></tr>
				<tr><td>-</td><td>Ubuntu8.10</td><td>Firefox3</td><td>△</td></tr>
				<tr><td>-</td><td>Ubuntu8.10</td><td>Opera</td><td>×</td></tr>
				</table>
				
				<p>って感じです。客観的な数値データがないのですが、<strong>Ubuntu8.10上のWebブラウズが遅い</strong>ということが体感的に分かりました。</p>
				
				<h3>&#9632;解決方法</h3>
				
				<p>う～ん。<br />
				IPv6を切るとか小手先の設定は変えたので、これ以上早くするならOSの深いところを操作しないといけないのか…。情報集めるしかなさそうです。</p>
				
				<hr />
				
				<p>以下仮想マシン作成時の苦労話。</p>
				
				<h3>&#9632;実ホスト：Ubuntu 仮想ホスト：WindowsXP(VMware)の動作がハンパなく遅い。</h3>
				
				<p>Ubuntu上のVMwareでWinXPのインストールを開始したのですが…<strong>遅い！</strong>通常ならインストール開始後約8分でユーザーID入力画面になるのが、40分。仕方ないのでUbuntu上での仮想マシン作成を諦め、実ノード：WindowsXP上でWinXPのイメージを作成しUbuntuでマウントする作戦に切り替え。今度はスムーズにインストール→起動までいきました。さて、Ubuntuでマウントしようかな…<strong>遅い！</strong>マウスカーソルが常時固まる状態で使い物になりません。</p>
				
				<p>ここでWebの情報をあさった所、<strong>実ホスト：Ubuntu 仮想ホスト：WindowsXP(VMware)はむちゃくちゃ遅いとか仮想マシンのCPUの数を1つにしないと動作しないとかいろんなレポートが見つかる。</strong>とにかく安定してないことは分かったので、VMwareを諦めて<strong>VirtualBoxでやることにしました。</strong>…せっかく仕事で使ってるからひいきにしてやったのに＞＜</p>
				
				<h3>&#9632;実ホスト：Ubuntu 仮想ホスト：WindowsXP(VirtualBox)ではまる。</h3>
				
				<ul>
				<li><a href="http://linuxsalad.blogspot.com/2007/08/virtualboxos.html" target="_blank">Linux Salad： VirtualBoxでクリーンかつ安全に別のOSを導入する</a></li>
				<li><a href="http://plusd.itmedia.co.jp/pcuser/articles/0704/11/news040.html" target="_blank">ITmedia +D PC USER：“タダ”で幸せになるソフトウェアパラサイト：「Vistaじゃ使えねえぇぇ」見捨てられた周辺機器で幸せになる (1/3)</a></li>
				</ul>
				
				<p>ここらへんを参考にしながら、VirtualBoxを導入しました。今回は仮想マシン作成からXP起動までスムーズに終了。さて、仮想マシンでネット接続をするかな…<strong>接続できない！</strong>調べた所、ゲストOSのIP、ゲートウェイの設定は正しいもののDNSサーバが10.0.2.3とかいうわけの分からんアドレスになっており名前解決できていなかった様子。DNSサーバのアドレスを手動で入力し、無事仮想マシンから<a href="http://yahoo.co.jp" target="_blank">http://yahoo.co.jp</a>に接続できたのでした。<br />
				(こういう時は、なんとなくYahoo!Japanにアクセスしてしまう俺です。)</p>
				
				<h3>&#9632;その途中のしょっぼいトラブル2発。</h3>
				
				<p><strong>1.ゲストOSにGuest Addtionsがインストールできない</strong></p>
				
				<p>Guest AddtionsってのはホストOSからゲストOSの操作を快適に行うためのツールで、まぁVMwareでいうVMware toolsみたいなものです。これをインストールしようとすると「ホストOSにイメージが見つからずインストールできない」と言われる。その時ちょうとDNSサーバがおかしいトラブル中だったので「フルパッケージでインストールしてるはずなのに、イメージが見つからないなんておかしい！」とかいろいろ調べたんですが、なんてことはない。VirtualBoxのOSE版をインストールしていただけでした。OSE版ってのはVirtualBoxをオープンソースでビルドで、ライセンス的には綺麗だけど製品版の一部機能が使えないとのこと。個人的あるいは評価の使用に対しては製品版でも無料なので、ハマったついでに製品版に変更しました。</p>
				
				<p>&quot;apt-cache search virtualbox”を実行してvirtualbox-2.1とかバージョン名付きのが製品版、virtualbox-oseがOSE版です。</p>
				
				<p><strong>2.WinXPの自動ログオン設定後、WinXPにログオンできなくなった。</strong></p>
				
				<p>おめーそれでもMS社の仕事してるのかっていうくらいしょっぼいトラブルです。</p>
				
				<ol>
				<li>「control userpasswords2」より自動ログオンを設定(この時管理者パスワードを間違った?けどエラーは出なかったしなぁ)</li>
				<li>次回のログオン時に、自動ログオンに失敗した</li>
				<li>そのままなぜか&quot;ようこそ&quot;画面に進んでしまいハングアップした。</li>
				</ol>
				
				<p>1,2はともかく、3はなんで??? とにかくこのままじゃ起動しないので回復を試みる。めんどくせ～。</p>
				
				<p>・セーフモードで起動</p>
				
				<p>しようと思ったら、<strong>VirtualBoxで作った仮想マシンにはセーフモードは搭載されないみたい。</strong>なので、回復コンソールからboot.iniをいじります。WinXPのCDから起動して回復コンソールにログイン。bootcfg /addコマンドから、boot.iniに新しいエントリを追加。</p>
				
				<p>bootcfg /addと入力してEnter<br />
				→「Windows のインストールとして認識された合計数 : 1 」と出るので、1を選択。<br />
				→「読み込み識別子を入力してください」と出るので、なんでもいいので名前を入力(WinXP-20081227とか)<br />
				→「読み込みオプションを入力してください」ここが重要！セーフモードで起動したいときは、「/SAFEBOOT:minimal」と入力します。</p>
				
				<p>boot.iniのオプションはこのページが詳しかったです。</p>
				
				<p><a href="http://itaya.corso-b.net/TIPS/TIPS17.html" target="_blank">Boot.iniのオプションスイッチ</a></p>
				
				<p>これで、WinXP起動前に普通のモードかセーフモードか選べるようになりました…んだけど、やっぱり起動できない…</p>
				
				<p>・「前回正常起動時の構成」で起動</p>
				
				<p>ダメ元で「前回正常起動時の構成」で起動を試みる。これはboot.iniのオプションに「/LASTKNOWNGOOD」をつければいいみたいなので、セーフモードと同じ要領で作業。うん、だめでした。</p>
				
				<p>・レジストリを入れ替え</p>
				
				<p>ほぼ諦めていたので、以下の手順で現在のレジストリ(自動ログオン設定あり)を破棄し、デフォルトレジストリ(自動ログオン設定なし)のレジストリに入れ替え。</p>
				
				<p><a href="http://support.microsoft.com/kb/307545/ja" target="_blank">レジストリの破損により Windows XP を起動できなくなった場合の回復方法</a></p>
				
				<p>結果、ログオン前にハードウェアエラーでダウン。そりゃうまくいくわけないよね～。たしかに自動ログオンじゃなくなってるけど、もっと重要な情報が失われちゃってるもんね～。</p>
				
				<h3>&#9632;結局仮想マシンの作り直し。</h3>
				
				<p>もうね、<strong>なんかする前はスナップショットとっとけ</strong>と。</p>
]]></content:encoded>
			<wfw:commentRss>http://prius.cc/d/20090107_ubuntu8_10nokasoumashinjoudewi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://prius.cc/d/20090107_ubuntu8_10nokasoumashinjoudewi.html" />
	</item>
	</channel>
</rss>
