2011年10月28日金曜日

WubiでインストールしたUbuntu環境のディスク容量を増やす

自宅の開発環境に入れていたUbuntu11.04を、11.10にアップグレードしようとしたら
「容量足りて無いから出来ないでござる」(要約)
って怒られたので、対処法。

タイトルにも書いたとおり、開発環境はWubiで入れたUbuntu11.04。
開発でしか使わないだろうしってのと、SSDに換装したノートPCで容量にあまり余裕がなかったので、12GBだか13GBだか位の割り当てにしてました。
実際、自身の成果物程度であれば問題ない容量だったのですが、Androidの開発環境が思いのほか容量をとってまして、気づけば95%程度のディスク使用量に…。
本当は、余裕を見て32GBくらいにしたかったのですが、全体の容量にそこまで余裕がなかったので、16GBにディスク容量を増やすことにしました。

1.LVPMのインストール
 URL:http://lubi.sourceforge.net/lvpm.html
 上記公式配布先から、LVPMをDLする。
 併記されているバージョン情報が少し古いけど、問題ない。
 debパッケージなので、普通にインストール。

2.LVPMを起動、仮想ディスクのリサイズを行う。
 Dashに「lvpm」と入れるなりなんなりして、LVPMを起動。
 メニューで「resize」を選択。
 リサイズ後のディスク容量をMB単位で入力。
 今回は16GBなので、16384と入力し、実行。
 仮想ディスクのリサイズが開始される。
 リサイズといっても、実際には新しく16GB分のサイズの仮想ディスクを作成し、そこに現ディスクの内容をコピーしているだけのようなので、結構時間がかかります。
 ので、私は一度ここで放置して一度寝ました…。

3.仮想ディスクファイルをリネーム。
 再起動し、Windowsを起動します。
 Wubiのインストール先(判らなければ「Ubuntu」でファイル検索すれば出ます。たぶん。)の「disks」フォルダ内に、「new.disk」というファイルが出来ているハズ。
 「root.disk」というのが、リサイズ前のディスクなので、こいつをリネームするなりバックアップとって削除するなりしてから、新しく出来た「new.disk」を「root.disk」にリネームする。

4.Ubuntuを起動してみる。
 再び再起動し、Ubuntuを起動。
 正常に起動し、ディスク容量が増えていれば大成功。

この後、無事11.10にアップグレードできました。

Google+と連携しました。

プロフィールをGoogle+のものと連携させました。

ログインしてもバルーンが出てこなかったので、Bloggerログイン後、直接以下のURLにアクセスして対応。
http://draft.blogger.com/switch-profile.g

G+はかなりアクティブに利用しているので、個人的にはすごく便利です。
結構プライベートな話題も多いので、基本的に限定公開(サークルメンバーのみ)ですが…。
サクられたら取りあえずサクり返して、スパム等々の不要なユーザだったらアンサクする、という運用なので、気になる方は遠慮せずサクっちゃってください。

そのうち、気が向いたら自分のG+の使い方でもまとめてみようと思っています。
とりあえず、連携したよーという報告だけ…。

2011年10月12日水曜日

Access-Control-Allow-Origin

 ひっさびさにjQueryを使ってajaxであれこれやってたら、
 他サイトAPIはたたけても、自作したテスト用のサイトのJSONが取得できないという謎に躓いたので、メモ。

 ドメインが異なっている場合、表題のヘッダ(Access-Control-Allow-Origin)を設定していないと、データを読むことが出来ない。
 特定のサイトからのみ読み込みOKとする場合、サイトのアドレスを、全サイトからアクセスOKとする場合、*を指定する。
 とりあえずPHPだったので、以下の1文を追加して、解決。

header("Access-Control-Allow-Origin:https://**********.jp");

 さて、上記ヘッダが正しく設定されていない場合、JSON出力側のサイト(サーバ)はどうなるのかというと
 これ、ヘッダを見て、JSON取得側が表示を拒否っているだけなので、出力側の処理は正常終了扱いになっています。
 PHP等々が動いていて、サーバ上でデータの処理やメール送信を行っている場合、そこまでは正常に動くわけです。
 ブラウザからURLを直でたたいても、正常出力されちゃうわけです。

 ブラウザのエラー出力をしっかり読めばすぐわかる話なのですが(苦笑)結構解決に時間がかかったので、メモ代わりに載せときます。
 

2011年10月7日金曜日

Cassandra Conference in Tokyo 感想

 昨日行ってきた「Cassandra Conference in Tokyo」について、あまりきれいにまとまっていませんが、感想を上げておきます。
 公式サイト:http://ec-cube.ec-orange.jp/lp/cassandra-conference-in-tokyo/
 しっかり文章にまとめられればと思ったのですが、今週は少々忙しく…。文章の精査をやるくらいだったらさっさと内容だけあげちゃえ!という事になりました。
 読みづらい文章が多々出てくるかと思いますので、先に謝っておきます。ごめんなさい!

 最初は時系列順に、各プレゼンの感想。最後に全体の感想デス。
 後半、内容が薄くなっているのは、諸事情により集中力が切れてしまいあまり内容を把握できなかった所為です…orz。体調は万全に!これ大事。

!注意!
 各講演を聴いて、自分がどう感じたか?を主題に書いています。
 スピーカーの方々が実際に伝えたかったことや、プレゼンの主題とは離れた部分に着目している事も多々あります。
 実際の講演の内容そのものが知りたい方は、別途ほかの方々のまとめや、後日スライドがアップされることがあれば、そちらのスライドを参照して補完してください。
 この記事を書いている人(=私)は、インフラ関係は見習いレベルの、Webサービスのサーバ側をメインに書いているプログラマ、です。

 Cassandra関係のイベント・勉強会に参加するのは、今回が初めてでした。


・基調講演: Cassandra 1.0 and the future of big data
 私が遅刻して最初少し聞けなかった。もったいないorz
 内容としては、Cassandraのこれからについての話、かな?
 近いうちに公開される、1.0の話題も。
 これからは「もっと判りやすく、使いやすいCassandraにしていきたい。」という主旨の発言があったのが印象的。後、ひたすら「リアルタイム」という単語を使ってました。
 それに対して、ほかのスピーカーの方が「そこまでリアルタイムじゃないよね」なんて突っ込みを、後々の講演でしたりすることも…w

・ハイパフォーマンス・スケーラビリティーデータベース Apache Cassandra
 Cassandraの仕組みとか、具体的に運用したときのノード間の通信のイメージとかをわかりやすく紹介。
 特徴的な多次元KVSのデータ構造についても、簡単な例を交えて紹介。
 後、自社で行っているサポートと、コミュニティへの貢献のお話。
 基調講演の次にこのプレゼンが行われたことで、
「Cassandra気になって検討はしてるんだけど、まだ深いところ何も調べてないのよネ」 というレベルの自分でも、以後のプレゼンが判りやすくなりました。

・「Cloudian(クラウディアン)」におけるCassandra
 あー、その、ごめんなさい。
 英語力に自信が無いので、同時通訳を聞きながら見ていたのですが、通訳が…その、ちょっと微妙で。あまり頭に入ってきませんでしたorz
 通訳していただいている以上文句は言えないのですが!えぇ、ほんと、すいません。英語勉強シマス…。
 後日、違う方のまとめを見て、脳内の断片的な情報を補完する、予定。

・スマートフォン×Cassandraによるハイパフォーマンスサービス基盤の構築事例
 GeQuuはげくーじゃなくてじくー。スマホベースのユーザ向け各種ロギングシステムの事、らしい。
 自分が過去にどこ歩いてたかの履歴を地図上でアバターで動かしながら確認するデモがありました。
 コスモルートさんは名古屋の会社なのですが、名古屋ではCassandra等々の経験を持っている企業がほぼ皆無だと。関東方面に偏りすぎなんですかね、やはり。
 GeQuuのシステムとしては、検索関係がどうしても弱いので、最終的に検索用に自作のKVSをかませている、という話もありました。

・Cassandra上でトランザクションを操る”NanaHoshi”とその展開例
 てんとう虫のロゴかわいい!ハァハァハァハァ。
 NanaHoshiの開発にいたるきっかけとして、S-cubismさんが行っているEC CUBEというECサイトに特化したCMSのカスタマイズ版の経験。
 商品数がある一定ラインを超えてくると、MySQLやPostgreSQLでは耐え切れなくなるため、Oracleという選択肢になる。でもOracleはOSSじゃない。お金かかる。
 莫大なデータを扱うことのできるOSSのDBがほしい!→そうだ、Cassandraにトランザクションをつけよう!という流れ。すごく同意できた。
 NanaHoshiについての概要は、前にpyconJP 2011のLTで聞いた内容と似ていたので、二度目だったこともありすんなりと入ってきました。
 また、NanaHoshi自体のコードは、Pythonで書かれている事もありそんなに大きなものではない、との事。
 擬似コードでの、NanaHoshi利用例とかもあって、プログラマである自分にはわかりやすい話でした。

・Webアプリケーションから見たCassandra
 Webmailという、Webアプリケーションのメールシステムを開発・運用してきてのまとめ。
 実際にどれくらいの勢いで、負荷と容量が増えているのか。
 AWSで運用した場合、どれくらい予算が必要なのか。
 運用開始時の規模と、それから1年半運用した結果どれくらいの規模になったのか、等。
 実際の規模感や予算がまとめられているので、とても参考になりました。
 おまけで語られていた、全ノードが落ちたとき、バックアップから読むというのは、目から鱗でしたね。
 後、Cassandra用のORマッパーとかも出てきました。すごく魅力的!
 多言語向けのORマッパーとか出てくると、さらに利用実績が増えたり、するんじゃないかなぁ?

・KVSを活用したログ保管・解析基盤構築の実例
 ログの保管・解析のためのシステムを、HadoopとCassandraを組み合わせて構築した際の、実例と問題点についてでした。
 HadoopにはHBaseがあるのに、なぜCassandraなんだろう?とか。HadoopとCassandraの連携をもう少し詳しく見たかったなー、とか、自分の脳みそでは少々理解できない部分もありました。
 ただ、BigDataの解析の実例・構成が見たい!という人には良い内容だったと思います。

・Cassandra を使った大規模データ保存の事例紹介(Issues and Tips for Big Data on Cassandra)
 楽天さんなので、スライドの内容はすべて英語でした。しゃべる内容は日本語。
 内容的には、とあるシステムをこれまでMySQLでレプリケーション等々でがんばって運用してきたけど、さすがにもうムリだから、Cassandraに移行しようって話。
 Cassandra自体かれていないのと、楽天という大きなモール系ECサイトで扱うような膨大なデータを扱った事例が少ないこともあり、バグを見つけることも何度かあった、との事。
 楽天としてはCassandraのコミュニティに積極的に貢献していくとか。

■全体の感想
 Cassandraはまだまだ若く、伸びしろがたくさんあるのだな、と感じました。まぁ、まだ1.0にもなってないわけだし、当たり前といえば当たり前なんですが。
 でも、基本となる思想やアルゴリズム自体はほぼ完成していて、使いやすさを補助する機能が足りていない。そんな印象です。
 ジョナサンも、もっと使いやすくしていきたいと言ってましたし。
 また、NanaHoshiみたいな、Cassandraを補助するライブラリがもっと充実してくると嬉しいな!と思います。

 これからの進化に伴い、Cassandraがエンジニアにとって身近な存在となってくると、もっともっと小粒のプロダクトでも利用されるようになるのではないでしょうか。
「このシステム、ユーザが増えてくるとDB負荷が厳しい設計だけど…でも、そこまでユーザが増えることって滅多になさそうだし、このままでいっか。」
 なんて理由でRDBを使っているようなシステムが、
「このシステム、ユーザが増えるとDB負荷ヤバいよね。実際にそこまでのアクセスがあるかどうか分かんないけど、先の事を見越してCassandraで実装しとこうかな。」
 という流れにシフトするのも、そう遠くないと感じています。

2011年10月5日水曜日

JINS PC買って使ってみて。

各所で話題になっているJINS PC。http://www.jins-jp.com/functional/pc.html
夏ごろ、発売されるというニュースを見たときから気になっていたので、発売当日に買ってまいりました。
ちなみに、色はパープルです。紫が好きなので。

発売からまだ一週間もたっていませんが、効果を感じる所まで来たので、個人的なレビューを残します。
購入を悩んでいる方、参考にどうぞ。

■はじめに
私の視力や目に関する状況について、はじめに書いておきます。
この前提が無いと、参考にならないと思いますので。

視力は、両方とも1.0以上。最後に計ったときは両方とも1.5でしたが、その後酷使して少し下がったような気がしています。
そのため、生まれてこの方一度も眼鏡をかけたことがありません。JINS PCは度が入っていないとはいえ、人生初眼鏡です。

エンジニア&PCオタクなので、起きている時間の8割以上、PCモニタと顔をつきあわせています。
ここ数年、目にダメージが溜まってきたのか、PC操作を始めて数時間たつと、目が軽くかすむようになりました。PC操作用の目薬が無いと、正直生きていけません。
このまま何も対策をせず、薬局の目薬でごまかしながらPC操作をしていると、近いうちに視力低下が始まるのではないか、という危機感は常に感じていました。
かといってPCから離れて生きることは、職業的にも趣味的にも不可能なので、どうしようかな~、と悩んでいるところに、JINS PCの存在を知り、購入を決意しました。
仮に効果が感じられなかったとしても、あの値段なら大して損じゃないな、と。

■最初につけてみての感想
この辺は箇条書きで。
  • 軽い!とにかく軽い!持ってまずびっくりした。昔遊びでかけた友達の眼鏡はこんなに軽くなかった!!
  • モニター上で、白背景に黒の文字を見ると、コントラストが強すぎて文字がぼやけて見えることが多かったが、それが即無くなった。
  • 思ったよりも黄色くない。けど、眼鏡をつけたりはずしたりすると確かに黄色い。デザイン系の作業をしない限り気にならないレベル。
  • 鼻が痛い。JINS PCは現状フレーム1種で、鼻当ての部分の調整・交換ができません。顔の形によってはこの辺がかなりのネックになると思います。
■暫くつけてみて気づいたこと
目薬が要らなくなりました。
即効結論を書いてしまいましたが……。
ああいう、ドライアイや眼精疲労用の目薬って、目が辛いな~って思ったときにさすじゃないですか。
特に、何時にさす、とか決めずに。
JINS PCをかけながら作業していると、「あー、そろそろ目薬ささないと、辛いな…」って思わないんですよ。
つまり、それだけ目が疲れていないということだと。
プラセボ的な部分も強いんだろうな、と、半信半疑で買ったんで、気づいたときには本当にびっくりしてしまいました。

ちなみに、何処だかで見た記事にあった、「ブルーライトを浴びていると眠気が飛んでしまうが、JINS PCをつけているとブルーライトがカットされるため、眠気が飛ばなくなり、夜普通に眠くなる。」ということは、私はあまり感じませんでした。
まぁ、ゲームやったり何なりしてれば、頭は覚醒してるだろ、って事ですね。

しかし、鼻当ての調整が効かないのが本当にツライ…。
元々眼鏡をかけたことが無く、慣れていないということも原因のひとつだとは思うのですが、本当に鼻が痛いです。
休憩中ははずさないと、痛さと違和感でやっていけません。

フレームの交換が利かない点については、さほど問題ないです。
PC操作中なんて、人に見られることはそこまで意識しないですし。耳部分については、自由にまげて調整ができるので。

■まとめ
JINS PC、イイです。効果はしっかりとあります!
鼻が痛いという欠点はありますが、普段はずしている分には問題がありませんし、一生ものの目を守ると考えれば安いもんです。
何より、値段が安い。お試しで1個買っても問題ないお値段ですので、是非!