2012年12月10日月曜日

Androidアプリ開発の実機テスト


Windows7でAndroidのアプリ開発中~。
SDKで動作確認には十分過ぎるエミュレータが提供されているけど、
ピンチイン・アウトやらシェイクやらはやっぱり実機でテストする必要がある。

SDKマネージャでつーっと「Google USB Driver」をインストールして、
実機のUSBデバックONにしたものの、さっぱり認識してくれない。。。

で、ググってみるとどうも「Google USB Driver」は
Google社のハードにしか対応していないような感じ。。
#ココらへん適当です。私の端末とか一部だけかも。。

で、どうやら各ベンダーで開発用のUSBドライバーを
提供しているようなのでそちらをダウンロードして適用したら
すんなりと認識してくれた。

2012年12月8日土曜日

TortoiseSVNでコミット失敗


管理しているSVNサーバでコミットできなくなったとヘルプ要請があった。
TortoiseSVNで下記のエラーが出てコミットできなくなったとのこと。

コマンド: コミット
追加中: [クライアントフォルダ]\[対象フォルダ]
エラー: コミットに失敗しました (詳しい理由は以下のとおりです):
エラー: Cannot verify lock on path '[対象フォルダ]/[アップ対象ファイル]'; no matching
エラー: lock-token available
エラー: ロックを強制解除する場合は、「変更をチェック」ダイアログかリポジトリブラウザーを使用してください。
完了:

とりあえず素直にメッセージに従って対応したら?と伝えたが、
新規ファイルのコミットで失敗したので、対象のファイルがまだサーバになく、
手も足も出ないということだった。

エラーメッセージでググってなんとか英語のソースを読むとバッチリ答えが。
サーバにログインして下記コマンドを打って対象ファイルがロックされていることを確認。
svnadmin lslocks [リポジトリフォルダ]
んで、下記コマンドでロックを解除
svnadmin rmlocks [リポジトリフォルダ] [対象フォルダ]/[アップ対象ファイル]
それで無事にコミットできるようになったとさ。

2012年10月14日日曜日

KVMでUUID云々が原因でドメインを復元できない


今対応している案件について開発機は仮想OSで構築中。
ハイパーバイザに指定はなかったので今回全サーバLinuxなのもあって
KVMで構築することになった。

構築中、libvirtをアップデートしたり、仮想OSを作り直したりしているうちに
下記のエラーが出て仮想OSが起動できなくなった。

failed: cannot restore domain '[ホスト名]' uuid [UUID] from a file which belongs to domain '[ホスト名]' uuid [UUID]

あー直前に作った仮想OSのデータがゴミになって残ったかなと
UUIDを書き換えたり、仮想OSを再作成したりしても消えない。。

最後にエラーメッセージからググって下記のページを参考にした。
spectlog.com

そして、上記ページの通り下記コマンドで無事に復旧。
virsh managedsave-remove [ホスト名]

何というか、ドメインが復元できませんエラーは大抵managedsave-remove
でなんとかなる。

2012年6月17日日曜日

東京から北海道 大洗発か新潟発か

東京から愛車に乗って北海道ツーリングに行く場合、フェリーに乗ることになる。
二回くらいは大洗からのフェリーに乗っていたけど、
北海道で出会ったおっちゃんライダーに勧められて、
最近は新潟発のフェリーを利用している。
ちゃんと考えずになんとなくお得なんだろうと思って使っていたけど、
今回北海道ツーリングに行くにあたってそれぞれのメリットを整理したので、メモ。


◆新潟発のフェリー(新日本海フェリー)のメリット

①運賃が安い
   →(人間の分は船室によるので置いておいて)バイクの運賃は
      排気量にもよるけど 新日本海フェリーの方が5000~6000円近く安い。
      関越道の高速料金を差っ引いても新潟発の方が往復で5000円は安くなる。

②新日本海フェリーの方が船内レストランの方がコスパ良い
   →どっちも船内レストランは美味しいけど、新日本海フェリーは
      地上とほとんど変わらない値段で提供している。
      乗船前にコンビニとかで買ってくる人が多いけど、
      私は新日本海フェリーでは必ず船内レストランで
      暖かい食事をいただいている。


◆大洗発のフェリー(商船三井)のメリット

①便数が多い
   →ほぼ毎日運行していて、しかもオンシーズンは1日2便ある。
      対して新潟発の新日本海フェリーは週休一日で一日1便なので、
      予定が噛み合わないことがある。

②東京から近い
   →これがすごく重要。東京から大洗は高速を普通に走って2時間ちょっと。
      対して新潟は高速を普通に走ると6時間弱。。
      体力の有無を考えなくとも行きに無駄に体力を使いたくないし、
      帰りは疲れているしでこの差は大きいと思う。

      しかも新日本海フェリーは朝10時出港なので、
      東京からは深夜に出発しないと間に合わないのでしんどい。。
      さらにどっちも航海時間は同じくらいなんだけど新日本海フェリーの便数の少なさも
      相まって新潟から出発すると一日がどっか行った気分になる。。


まとめると、体力と時間に余裕があるなら新潟発。お金に余裕があるなら大洗。






2012年5月21日月曜日

hpマシンのLinuxサーバでLAID構成を確認

ドキュメントの足りないサーバのHW構成を調査する時、
大体LAID構成が最後までわからないことが多い。
今日は故障したHDDの交換に立会い、コマンドを教えてもらったのでメモ。

まず、OSにログインしてACUを立ち上げる。
#hpacucli

で、ACUモードで下記コマンドを実行するとLAID構成が分かる。
=>ctrl slot=0 ld all show

物理的な一覧を表示させるとホットスペアがあるかないかも分かる。

=>ctrl slot=0 pd all show
  →spareとついているHDDがあればそれがホットスペア。
     ちなみにactiveとなっていると壊れたHDDのスペアとして稼働している。

ちなみにLAID5でサーバを組むときはホットスペア前提で考えたほうが良い。
LAID1だとホットスペアは本当にただのスペアでしかないけど、
LAID5の場合は壊れた時に下記のメリットがある。

1.HDD復旧時のリビルドが早い。
  →LAID5構成でホットスペアなしの場合、故障HDDを交換して
     リビルドすると正常HDDからハッシュを計算しつつリビルドするため、
     すごく時間がかかる。
     ホットスペアがあればすでに計算済みのハッシュがホットスペアに
     逃げているため、それをそのままコピーするだけ。
     なので圧倒的に早い。

2.データの損失を防げる。かもしれない。
  →HDD起因でデータがロストしたと聞けば、まずLAID5構成のマシンだ。
     以前後輩が故障したHDDを交換してリビルドが80%までいったところで
     マシンがダウンし、再度マシンを起動したところデータが全損していたことがあった。
     考えられる原因は正常HDDにエラーデータが蓄積しており、
     そこからリビルドのためハッシュを計算させたところデータの整合性が
     とれずに壊れたのではないかとのこと。
     ホットスペアがあればハッシュを逃がすことができたので、防げたかもしれない。
     まぁ、後はこまめに再起動していればデータの整合性チェックもできたかもしれない。
     RAID5構成は敬遠されがちだけど、OSのこまめな再起動とホットスペアが
     できるなら十分運用できると思う。

2012年4月29日日曜日

KVMとClonezillaでP2V

老朽化した社内開発サーバの移行を実施したのだけど、
ドキュメントが全くなく試行錯誤したものの新しいサーバ上への再構築を断念。
新しいサーバに仮想環境としてまるっと移すことにした。
最初、P2Vでググったら「virt-p2v」というソフトがヒットしたけど、
開発が終了しているようで配布も終わっていたのですぐにやめた。
次にddコマンドで流し込もうとしたものの上手く行かず、
同期から勧められたclonezillaを使ったらビックリするくらいすんなりいった。

下記はその手順。

移行元:CentOS5
移行先:CentOS6
2つのサーバは同じネットワークにいるものとする。



1.OSインストール(移行先サーバ)
① 言語

Japaneseを選択
② キーボード
日本語を選択
③ ストレージデバイス
基本ストレージデバイスを選択
④ ホスト名
ホスト名とeth0のIPアドレスを設定
⑤ タイムゾーンの選択
アジア/東京
+ システムクロックでUTCを使用にチェックを入れる
⑥ rootパスワード設定
※省略
⑦ パーティション設定
すべての領域を使用するを選択
+ システムの暗号化はチェックしない
+ パーティションのレイアウトの再確認と変更をチェック
デバイスは2つともインストール先デバイスにする
・ boot用RAIDパーティションを作成(sda)
+ 作成ボタンをクリック
+ RAIDパーティションを選択して作成
+ 使用可能なドライブにsdaだけを選択
+ 将来のカーネルのアップデートを見越して200MB確保
+ 固定容量(F) を選択
+ 基本パーティションをチェックする
・ boot用RAIDパーティションを作成(sdb)
+ 作成ボタンをクリック
+ RAIDパーティションを選択して作成
+ 使用可能なドライブにsdbだけを選択
+ 将来のカーネルのアップデートを見越して200MB確保
+ 固定容量(F) を選択
+ 基本パーティションをチェックする
・ /boot用RAIDデバイス作成
+ 作成ボタンをクリック
+ RAIDデバイスを選択して作成
+ マウントポイントを/boot
+ ファイルシステムはext4
+ RAIDデバイスはmd1
+ RAIDレベルはRAID1
+ RAIDメンバーはにsda1とsdb1をチェック
+ OK
・ LVM用RAIDパーティションを作成(sda)
+ 作成ボタンをクリック
+ RAIDパーティションを選択して作成
+ 使用可能なドライブにsdaだけを選択
+ 最大許容量まで使用
+ OK
・ LVM用RAIDパーティションを作成(sdb)
+ 作成ボタンをクリック
+ RAIDパーティションを選択して作成
+ 使用可能なドライブにsdbだけを選択
+ 最大許容量まで使用
+ OK
・ LVM用RAIDデバイス作成
+ 作成ボタンをクリック
+ RAIDデバイスを選択して作成
+ ファイルシステムはLVM
+ RAIDデバイスはmd2
+ RAIDレベルはRAID1
+ RAIDメンバーはにsda2とsdb2をチェック
+ OK
・ ボリュームグループ作成作成
+ 作成ボタンをクリック
+ LVMボリュームグループを選択して作成
+ 追加
+ ファイルシステムをswap
+ サイズを4000MB
+ 追加
+ マウントポイントは/
+ ファイルシステムをext4
+ サイズを残り全部
・ GRUBを/dev/md1にインストール
⑧ デフォルトインストール
Virtual Host
+ 今すぐカスタマイズするにチェックする
- リポジトリの選択
デスクトップ
+ XWindowSystemにチェック
+ デスクトップにチェック


2.一般ユーザ作成(移行先サーバ)


3.yum update(移行先サーバ)

4.ネットワーク設定(移行先サーバ)
①eth0設定
# system-config-network
> デバイス設定⇒eth0
> 下記のとおり設定
 ***.***.***.***
 ***.***.***.***
 ***.***.***.***
> ok⇒保存⇒保存して終了

②br0設定
# cp -p /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-br0
# vi /etc/sysconfig/network-scripts/ifcfg-br0
> 下記の通り記載
 DEVICE=br0
 TYPE=Bridge
 BOOTPROTO=none
 IPADDR=***.***.***.***
 BROADCAST=***.***.***.***
 GATEWAY=***.***.***.***
 NETMASK=***.***.***.***
 NETWORK=***.***.***.***
 ONBOOT=yes
 IPV6INIT=no
 USERCTL=no

③設定適用
# service network restart


5.バックアップ取得(移植元サーバ)

①clonezillaでCDブート
>Clonezilla live⇒日本語⇒キーマッチをいじらない⇒ディスク/パーティション⇔イメージ⇒sshサーバをマウント⇒[sshfs先に構築サーバの情報を入力]⇒[移植元サーバのIPを入力]⇒savedisk⇒実行

②作業後シャットダウン

6.移植元サーバ仮想化(移植先サーバ)

① ClonzillaのCDをマウント

② GUIで仮想マシンマネージャ起動
> アプリケーション⇒システムツール⇒仮想マシンマネージャ
> ホストを右クリックして新規
> 設定は基本的にデフォルト
   起動はclonezillaを選択
   ディスク容量は適当に指定
③ clonezillaでリカバリ
> Clonezilla live⇒日本語⇒キーマッチをいじらない⇒ディスク/パーティション⇔イメージ⇒sshサーバをマウント⇒[sshfs先に移植先サーバの情報を入力]⇒[自サーバのIPを入力(移植元サーバのでいい)]⇒restoredisk⇒実行


2012年3月26日月曜日

連続したタイムスタンプを持ったファイルを作成する

Linuxで何日か以上前のファイルを消すとかのバッチの
境界値テストとかでときどき欲しいと思い、
いつも試行錯誤してコマンド組み立てるけど、忘れてしまうため、メモ。


例えば31日以前のファイルを削除するという時には
30日前、31日前、32日前のファイルを用意して、
31日前と32日前 のファイルが消えることを確認したい。
そんな時は下記のコマンド。

for TDATE in `seq 30 32` ; do touch -d `date +%Y%m%d  -d "${TDATE} days ago"` ${TDATE}.txt ; done

3つくらいだったら手で作っても良いけど30日分まとめて作るときとかは便利。

2012年2月5日日曜日

親知らず抜歯

下顎の右奥に生えた親知らずの抜歯をしたので、時系列的にメモ。

<始まり>
下顎の右奥歯が痛いので、歯医者さんに行ったら虫歯の判定をもらった。
応急的にその歯を処置しても良いけど、根本の問題は
さらにその奥に生えている親知らずが原因とのこと。
曰く、親知らずが下顎の右奥に真横に生えていて右奥歯とクロスしており、
そこから食べ残しやばい菌が入って永続的に虫歯になるとのこと。
よく分からないけど、親知らずを抜かなくてはいけないことがわかった。

自分でも生えていることにその時気付いた半埋没型の親知らずで、
縦ではなく真横に生えており、顎の骨にくっついてしまっているので、
一旦歯茎を切開して骨を削り、それから親知らずを抜くと言う。
なんか話だけ聞くと大手術の予感だけど、口腔外科ではありがちらしい。

ただ、地元の歯医者さんではできないので、大学病院で実施することになった。
紹介状をもらって有休とって大学病院へ。


<1日目>
朝一で大学病院に行き、精密検査のあと、施術。
局所麻酔をしてもらって10分程度ゴリゴリされて無事抜歯。
切開した歯茎もグイグイっと縫合してもらう。

術後しばらくは麻酔が効いているので痛みはない。
しかし、口がまともに開かないので発声がちゃんとできない。
翌日の消毒と術後確認を地元の歯医者さんにやってもらうため、
電話したけどすごく苦労した。
2~3時間でご飯を食べて良いと言われたので、2時間半ほど経ってから食事した。
食欲があったので、普通にどんぶり飯をたっぷり食べた。
片側だけで食べるのでよだれが飛び散ったが麻酔も落ち着いて、まともに食べれた。
しかし、そこで油断して歯磨きでちょっと触れてしまったら、温泉の様に血が吹き出した。
洗面台があっという間に真っ赤に染まる。。。
痛みはないけど、口に広がる血の味と周りの物が真っ赤に染まる光景に
若干取り乱しつつ、看護師さんに言われた通りティッシュを噛んで15分待って止血。

もはやその日は何をする気も起きず、就寝。
その時はまだ15時くらいだったが、結局深夜まで起きず。
予想以上に体力を消費していることに驚いた。

<2日目>
処方してもらった痛み止めと抗生物質をちゃんと摂取したせいか、
痛みも無し。普通に出社。
抜いた歯の側を使わない食べ方にも慣れた。
ただ、思い出したように血がチョロチョロっと出る。

<3日目>
2日目と同様。
基本お風呂に浸かるのが好きな人間なので入ってみたが、
やっぱり血が出てしまい、早々に上がる。。

<4日目>
朝で処方してもらった薬が終わる。
そして、お昼ごはん食べてから徐々に痛むように。。
何やってても気になるので、早めに寝る。

<5日目>
朝から気持ち疼き、昼から痛くなり始め、夕方から辛くなる。
しょうがないので、やっぱり早めに寝る。

<6日目>
5日目同様、しかし、夕方からの痛みでとうとう仕事が手につかなくなり、
歯医者さんに飛び込む。
治り自体は悪くないが、肉の盛り上がりが若干足りていなさそうなので、
削った骨が突っかかっているのではとのこと。
塗り薬塗ってもらって、痛み止めと抗生物質を処方してもらう。
どうしてもぬけられない打ち合わせがあったので、夜にオフィスに再度戻って仕事。。。

<7日目>
処方してもらった薬で痛みもなく快調。
しかし、夜ご飯食べてる最中に急激に痛み出し、
急いで薬を服用するも、薬が効くまで15分程度悶絶する。

<8日目>
朝痛みがなかったので、薬を飲まず様子見。
昼も我慢できた。しかし、やっぱり夜ご飯食べると痛む。
すぐに薬を飲んで、事無きを得た。

<9日目>
疼くと痛いの中間みたいな感覚はあったが、痛み止めを飲まずに乗りきれた。


<10日目>
やっと抜糸。結構きつく縫われていたようで切る時にグイグイ引っ張られ、結構痛かった。
でも糸がなくなるとすっきりして痛みもほとんどなくなった。
しかし、鏡で見てみると穴がぽっかり空いていてものすごく気になる。。


<11日目>
痛みもないので、久しぶりにランニングしてみた。途中までは無痛だったが、
そのうち、地面をけるたびにその衝撃が鈍痛になって襲ってくる。。
早めに引き上げる。


<12日目>
痛みはないけど、やっぱり抜いた方の側の歯で食事はできない。。
結構気をつけてはいるけど、穴に食べカスが入ってしまう。。
気になって仕方ないけど、ほじくるわけにもいかず、我慢。。。


<13日目~16日目>
穴にはまった食べカスが気になる以外は快調。
ランニングすると相変わらず痛みもはしる。。


<17日目>
地元の歯医者さんに通院。
穴も塞がり始めたとのことで奥歯の処置をしてもらう。
やっとすっきりした。この日から抜いた方の歯で食事もするようにした。
穴のせいかしばらく使っていなかったせいか噛むと若干痛む。


<18日目>
ランニングしても痛みがなくなった。やっと日常に戻れたかな。

<総括>
色々あったけど抜いてよかったと思う。
若いうちに抜かないと親知らずと顎の骨が同化して抜くために大きな手術になるし、
抜くだけでもかなり体力を消耗することがわかった。

場合によっては親知らずが抜けた歯の代わりになったり移植もできるらしいけど、
虫歯になったら100%抜かないといけないとのこと。
抜く抜かないは歯医者さんと相談だけど、
歯ブラシしにくいならバッサリ抜いたほう良いと思う。






2012年1月14日土曜日

「G」でググると

隠し機能でもなんでもないと思うんだけど、タイプミスしたら面白かったので。

万有引力定数 = 6.67300 × 10-11 m3 kg-1 s-2