2012/12/26

Win7 システムイメージから復元する際に外部ストレージが見えない

(※本稿は作業ログです)

Windows7のWindowsBackupでバックアップファイルの保存先をUSB外付けディスクドライブとして、システムイメージ含めてまるごとバックアップした。
その後、「高度な回復方法」から回復をしようとしたところ、外付けドライブを認識しないために復元ができなかった。


原因は、USB3.0のドライバがインストールされていなかったためだ。
回復する際、復元ウィザードの過程でPCが再起動し、サードパーティのドライバがインストールされない等の特別な状態(回復モード?)で、システムの回復元となるバックアップファイルを指定する。
この時、USB3.0のドライバは自動的にはインストールされていないので、外付けドライブが認識されず、ドライブ内のバックアップファイルが見つからなかった。
だから、手動でUSB3.0のドライバをインストールしてやればいい。

参考にしたサイト[1]では、nusb3hub.inf,nusb3xhc.infという2つのドライバ設定ファイルをインストールしていたが、私の場合はiusb3hub.inf,iusb3xhc.infというファイルのインストールが必要だった。
これらのファイルは通常時に普通に使えている外付USBドライブならば、すでにPC内に存在する。
下記ディレクトリにはインストールされているドライバが格納されているので、ここから探して取得する事ができる。
C:\Windows\System32\DriverStore\FileRepository
もしなかったとしても、メーカーサイトからダウンロードすればいい。
このinfファイルをCドライブ直下などドライバがインストールされない状態(回復モード?)でも見える場所にコピーしておく。

以下、再起動後の画面(回復モード?)での操作手順である。

1.ドライバファイルがインストールされない状態(回復モード?)の画面において、「次へ」をクリック。

2.「詳細設定」をクリック


3.「OK」をクリック

4.「ドライバーをインストールする」をクリック

5.保存していたドライバファイル(iusb3hub.inf)を選択して「開く」をクリック

6.「ドライバーの追加」をクリック(2~6をiusb3xhc.infについても繰り返す)

7.「戻る」をクリック


8.外付けドライブが見えるようになり、バックアップファイルが見つかる。「次へ」をクリックして復元を開始

参照したURL

12/12/26に参照した。

  1. Windows7 forums|Windows 7 - Problem recoverying from backup via USB 3.0 external drive<http://www.sevenforums.com/backup-restore/195068-problem-recoverying-backup-via-usb-3-0-external-drive.html>

2012/12/12

Eclipseでvim

(※本稿は作業ログです)

Eclipseでvimを使うにはvrapperというアドオンを使えばいい。
さらに~/.vrapperrcファイルに設定を書き込んでカスタマイズすることもできる。
しかし、普通の設定ファイルvimrcなどをコピーしても、Eclipse起動後ステータスバーに"-- vrapper disabled --"と表示され、うまく機能しない。
専用の記述が必要なようだ。
こちらの方[1]などの設定ファイルをコピーして使用した。
また、インサートモードからノーマルモードに移った際、全角入力から半角入力に自動的に変更させるため、設定ファイルに下記の行を追加した。

set imdisable 1

これについての詳細はこちらのページ[2]に記載がある。

参照したURL

すべて12/12/12に参照した。
  1. はてなブックマーク | derisの日記 vrapperrcを晒してみる<http://d.hatena.ne.jp/deris/20110130/1296402960>
  2. はてなブックマーク | vrapper でインサートモードから抜ける際に ime を off にする<http://d.hatena.ne.jp/basyura/touch/20110919/p1>

2012/12/09

EclipseでEUC-JPを使うには

EclipseでファイルのエンコーディングをEUC-JPにしようとしたところ、選択肢にEUC-JPがない。
こちらのページ[1]の通り、プルダウンに直接"EUC-JP"と打ち込むと設定できる。
(※本稿は作業ログです)

参照したURL

12/12/09に参照した

  1. EclipseでEUC-JPを使うには<http://blog.suz-lab.com/2008/05/eclipseeuc-jp.html>

2012/12/08

Android開発 - Googleカレンダーの情報を取得

Googleカレンダーからデータを出し入れするアプリを作りたい。
まずはGoogleカレンダーにアクセスするアプリを作ろう。
(※本稿は作業ログです)

まったく内容を理解しないまま、こちらのページ(*1)のコードをコピーして走らせた。

実行にはAndroidManifest.xmlに下記のパーミッションを追加する必要があった。

<uses-permission
  android:name="android.permission.READ_CALENDAR"/>
<uses-permission
   android:name="android.permission.WRITE_CALENDAR"/>


また、私の環境だと、CalendarListFragment.javaの97,98行目は下記のようにしないとエラーとなってしまった。

public void onLoadFinished(Loader loader, Object data) {
mAdapter.swapCursor((Cursor)data);


参照したURL

すべて12/12/08に参照した

  1. smartphone-Zine CalendarAPIを使用したアプリケーションの作成方法<http://smartphone-zine.com/mobile/google-calendar-app-sourc.html>

GitHub with Eclipse - gitignoreファイルとcloneからプロジェクトを作る

EclipseでGitHubを使う際に困ったことを二つほど。
(※本稿は作業ログです。)


  • .gitignoreファイルの作成
  • GitHub上のプロジェクトをcloneでダウンロードし、新しいプロジェクトをEclipseで作成


.gitignoreファイルの作成

binフォルダ内のファイルなど、頻繁に変更されかつファイルが失われても再作成が可能なファイルは普通バージョン管理外に置くと思う。
gitで無視するファイルを指定するには、ワーキングフォルダのトップに置かれているgitignoreファイルに記載することだ。
.gitignoreファイルは、こちら(*1)を真似した。
ただ、Eclipseのプロジェクトファイルも同期するため、下記の行はコメントアウトした。

# Eclipse project files
.classpath
.project

これは、後述するcloneからEclipseプロジェクトを開始する場合に必要だから。

GitHub上のプロジェクトをcloneでダウンロードし、新しいプロジェクトをEclipseで作成

こちらのページ(*2)を参考にして行った。
前述のとおりEclipseのプロジェクトファイルも同期していれば問題なくできる。

参照したURL

すべて12/12/08に参照した


  1. GitHub gitignore/Android.gitignore allonhadaya<https://github.com/github/gitignore/blob/master/Android.gitignore>
  2. vogella.com Git with Eclipse (EGit) - Tutorial<http://www.vogella.com/articles/EGit/article.html#clone_respository>

2012/12/06

GitHub with Eclipse

スマホアプリを作るためにEclipseでもGitHubにアップロードできるようにした。
(※本稿は作業ログです)

  • EclipseにEgitをインストール
  • EclipseでGitHubにファイルをアップロードする
  • EclipseでGitHubからファイルをダウンロードする

EclipseにEgitをインストール

Eclipse all in Oneをインストールしているなら、最初からインストールされているはず。

EclipseでGitHubにファイルをアップロードする

ファイルをリモートサーバのリポジトリにアップロードすることをgitではpushという。
EgitのウェブヘルプのGitHubの項(*1)にしたがって実施する。
sshで接続をしようとしたところ、下記のエラーメッセージが表示され、次のダイアログが操作できなかったので、sshは諦め、httpsで接続することにした。
Cannot get remote repository refs.
Reason:
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
また、最初にGitHub側でプロジェクトを作成する際、"initialize this repository with a README"を選択してREADMEを作ってしまうと、このREADMEを作ったこと自体が最初のコミットとなってしまい、
GitHub 新しいリポジトリを作る(GitHub.comより引用)
Eclipseからpushしようとするとコミットの競合が起こってしまう。
pushすると競合する(Eclipseより引用)
強制的にpushすることも可能だろうが、READMEを作らなければ回避できる。

*********12/12/08追記*********
Egitで管理すると、プロジェクトのワーキングフォルダが~/workspaceからgitリポジトリに移動される。気持ち悪いが、このページ(*3)を見るに、慣れろということらしい。そして関連するプロジェクトは一つのリポジトリで管理せよともある。

Egitでの管理開始時に、名前の解決がうまくいかないことがあるが再起動すれば直る。リポジトリに登録したらEclipseを立ち上げなおすことが必要そうだ。
*********12/12/08追記ここまで*********

EclipseでGitHubからファイルをダウンロードする

ファイルをリモートサーバのリポジトリからダウンロードすることをgitではpullという。
Eclipseでプロジェクトを右クリックし、コンテンツメニューでTeam>Pullを選択すればよい。
しかし最初のままでは下記のエラーが発生する。

The current branch is not configured for pull
No value for key branch.master.merge found in configuration

こちらのサイト(*2)を参考にして対応した。
しかし、さらに下記のエラーが表示された。

The current branch is not configured for pull
No value for key remote.origin.url found in configuration

指示通り、key"remote.origin.url"を先の対応と同様に.git/configに追加する。値はGitHubのプロジェクトのリポジトリへのuriである。
さらに、Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>remote>Configure fetch from upstreamを選択する。
ダイアログが表示されるので"Add"をクリック。
Configreダイアログでaddをクリック(Eclipseより引用)
fetch/pullするブランチ名を入力する。通常はmaster。
"master"と入力すると自動的に補完される(Eclipseより引用)
その他はこのままで"next","finish","save"。
これでpullの準備ができた。
Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>Pullを選択すればファイルがダウンロードできる。
ただ、新しいブランチを作る際にコンフィグを変更しなければならないかもしれない。
ということで、上記は正しいやり方でないかもしれないことをご了承願う。

参照したURL

1.と2.は12/12/06に参照した。3.は12/12/08に参照した

  1. Egit/User Guitde<http://wiki.eclipse.org/EGit/User_Guide#GitHub_Tutorial>
  2. mooapp iPhone App "Morve"の開発・サポートサイトです。<http://moomindani.wordpress.com/2012/09/10/eclipse-4-2xegit%E7%92%B0%E5%A2%83%E3%81%A7pushpull%E3%81%AE%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%A9%E3%81%93%E3%82%8D%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B/>
  3. stack Overflow Should I store git repository in Home or Eclipse Workspace?
    <http://stackoverflow.com/questions/7685246/should-i-store-git-repository-in-home-or-eclipse-workspace>



2012/12/05

GitHub 事始め

「GitHubに上げてるから良かったら見て」
そうカッコつけて言いたいがために。
GitHubをやってみる。

(※本稿は作業ログです)

PCでGitHubにソースをアップできるようにする。
さらに、PhpStormを使って、GitHubにソースをアップロードできるようにする。
  • GUIのGitHubクライアントのインストールと設定
  • PhpStormでGitHubと同期

GUIのGitHubクライアントのインストールと設定

GitHubの公式サイト(*1)でアカウントを登録する。GitHubのWindows用のソフトウェアがGitHub公式サイトからダウンロードできるので、ダウンロードしてインストール。アップしたソースコードはデフォルトで公開される。非公開にしたければ毎月$6の料金の支払いが必要だ。ビジネスで使うため、私は支払って、非公開とした。
なお、後述するPhpStormで同期するリポジトリについては、混乱するようなのでこのソフトでは同期しない。

PhpStormでGitHubと同期

PhpStormはコマンドラインのGitクライアントを使う。そのため、Gitの公式サイト(*2)からクライアントアプリをダウンロードし、インストールする。
PhpStormのsettingsからVersionControl>Gitの箇所で、gitの実行パスを指定する。
PhpStormのVCS>Import into Version Control>Share Project on GitHubを選択し、GitHubにアップロードする。gitはcommitのあとPushを行う必要が有ることに注意する。
以降は変更するたびにVCS>Commit Changes ...を選択し、commit and pushを実行すれば良い。

参照したURL

すべて2012/12/05参照

  1. GitHub・Social Coding<https://github.com/>
  2. Git<http://git-scm.com/>
  3. PhpStorm web help<http://www.jetbrains.com/phpstorm/webhelp/getting-help.html>