wincloneを使ってbootcamp領域のパーティションサイズ変更 

bootcamp領域の容量が数百MBになってしまったため、パーティションサイズを変更しました。
どこのブログを見ても、大体以下の手順で行ってましたので、真似しました。
環境は、MacOSX 10.8.4、bootcamp内のWindowsは7です。

1.wincloneでbootcamp領域から外部ディスクにwindowsイメージ保存

2.bootcampアシスタンスを使ってbootcamp領域の削除

3.パーティション作成

4.wincloneでbootcamp領域に復元

まず1のwincloneがいつの間にかシェアウェアになってましたので、購入。

さすが有料なだけあってインターフェイスがすごくわかりやすくなったと思います。
Paypalが使えるので、決済も楽ですね。

3ではパーティション分割後、exFatにフォーマットしましたが、復元時にwincloneが勝手にNTFSに再フォーマットしてくれてたんで、どのフォーマットにするべきか等、あんまり神経質になる必要は無いです。

あと普段私はVMWareからBootcamp領域を起動して使ってるので、どうなるんだろうと思ってましたが、VMライブラリの一覧からBootcampを一旦削除して、VM新規追加ボタンから「新しいbootcamp」を選択したら、特に問題なく起動出来ました。
(VMwareToolsの再構成処理のようなのが走ってましたが)


SVNの使用ポートが標準と異なる場合の接続方法

SVNサーバの設定によってはSSHの使用ポート番号を変更している場合があります。
その場合は、クライアント側でSSHトンネル設定を追加しましょう。

下記の記事を参考にしました。

sshトンネルを使う場合のポート番号指定方法

~/.subversion/configに下記のような指定を追加します。

/tunnels でサーチして、該当箇所を出すのが早いと思います。

[tunnels]
ssh_hoge = ssh -p 8888

そして、接続時には先ほど設定した変数ssh_hogeを使って下記のように記述します。

svn co svn+ssh_hoge://domain.com/svnroot/fuga


新規Webサイトを立ち上げる際にやった最低限のこと

実家家業のガソリンスタンドのWebサイトを立ち上げました。

豊富燃料株式会社

やったことをメモ程度に残します。

サーバ
サーバは当ブログで使用しているさくらVPS2Gにバーチャルホストを設定して使用しています。
この程度のサイトなら、もっと安いレンタルサーバでもいいかもしれません。

ドメイン
バリュードメインで取得しました。
ただ、ドメインの管理ツールが使いづらいので、値段が同じなら他の業者でもいいんじゃないかと思います。
DNS関係をバリュードメインのツールで設定すればOK。メールもGoogleAppsに転送する設定にしています。

SEO対策
Googleでサイトマスター設定、アナリティクス設定を実施しました。
サイトマスターの設定はサイトのインデックス状況の確認に必須だと思われます。
robots.txt、サイトマップを仕込み、サイトマスターツールに読み込ませましょう。
サーバはnginxなんですが、存在しないrobots.txtに対してアクセスがあったときに404じゃなくて500を吐き、
ウェブマスターツールでクロールエラーが発生してました。
confが何かまずいことになっているんでしょうが、robots.txtを実際に置くことで対応しました。
アナリティクスは、ドメイン保有の確認のため、ファイルを1つアップロードする必要がありますが、これは特に問題無いと思います。
静的リソースなら適当にアップロード、wordpressならプラグインを使えばいいんじゃないでしょうか。

ソーシャルボタン
Facebookのみを設定しています。これが意外に結構面倒でした。
まず、Facebookでアプリを登録してアプリIDを取得する必要があります。
実際にアプリは作成しなくてよいので、Webサイト向けにIDを生成してくれる機能を用意してくれたらいいんですが。
次に、そのIDに対して「いいねボタン」を生成します。
Web上のツールでコードが出力されるので、それを対象ページに組み込めばいいのです。
もしFacebook上にシェアされた時に表示される情報をコントロールしたいのであれば、
オープングラフのメタデータを組み込めばOKです。

詳しい内容は省いていますが、流れは大体こんな感じかと。


BootcampのWindows7をまだWindows8にアップグレードしてはいけない(VMWare Fusion 5ならOK)

スクリーンショット_2013_01_29_19_01

久々の更新です。

今月末までWindows8が3,300円ということで、Windows7も大したまともに使っていないんですが、アップグレードすることにしました。

で、結果から言ってしまうと、Bootcampから起動した場合にタッチパッドが認識されなくなってしまいました。。
ドライバ入れなおせばOKかとおもいきや、対象バージョンではないと怒られてしまいます。

対して、VMWareFusion5からBootcamp領域を起動した場合は全く大丈夫です。
VMWare側でイベントだけ拾ってるんだろうな。

というわけでBootcampメインで使ってる方は要注意です!!Appleの正式対応を待ったほうがいいですよ。

アップグレードの手順はマイクロソフトのサイトをどうぞ。

(追記)
マイクロソフトの規約変更によって、BootcampとVMWareでのWindows8ライセンスの併用ができなくなってしまいました。。
単純に2ライセンス契約すればいいのか、その上でVMイメージを新規に作成しなければいけないのか不明ですが、Bootcamp領域からVM起動していたユーザーにはキツいですね。Windows使う機会が益々減りそう。
(追記ここまで)

(追記2)
BootcampがWindows8に対応したようです。
私はというと、8にイライラしてWindows7にダウングレードしました。。
(追記2ここまで)

あとどうしてもWindows8入れたい方はVMwareFusion5をどうぞ。


Yii CGridViewで’where clause is ambiguous’が出た時の対処法

CGridViewでwith指定して、別テーブルを結合している場合、where句のカラム名にエイリアスがつかずエラーが出るケースがあります。

CGridViewはCActiveDataProviderを使用してデータ取得するため、Giiで焼いたModelクラスのseach()メソッドを呼んでインスタンス生成していると思います。

その際、Giiのデフォルトでは、

$criteria->compare('hoge',$this->hoge);

という実装になっており、大概の場合はこれが原因で’where clause is ambiguous’(where句があいまいだぞオラっ)って怒られます。

$criteria->compare('t.hoge',$this->hoge);

のように、カラム指定部分にテーブル名のエイリアス”t.”を付加してあげればOKです。
毎度付加するのは面倒なので、Giiのテンプレートをカスタマイズしておくといいんでしょうね。

エイリアスがtとか気に食わねぇよって方は、criteriaのaliasプロパティに好きな名称ブチ込んて、tの部分も変えてあげれば良いです。(tとなっているのは、Yiiが生成するSQLのデフォルトの仕様です)
その場合にしても、withに指定するrelation名とは被らないように注意しましょう。

 


MacBookProの移行アシスタントで躓いたこと

自宅用の黒MacBookがかなりヘタって来たこともあって、MacBookPro15インチ通常版(2012MID)への買い替えに踏み切りました。

Retinaを選ばなかった理由は、拡張性の乏しさ。
CTOでSSD最大、メモリ最大にしちゃうと結構とんでもない値段だし。あとゲームしたいので、ショボくてもちゃんとグラボが載ってるのが条件ということで、13インチProやAirも除外です。もうちょっと待てば13インチRetinaが出たのかもしれないけど、それは自宅用じゃなくて仕事用の置き換えで検討ですかね。

そんなこんなで15インチの下位版を価格コム最安値くらいで購入。店頭販売やってるところが職場の近くにあったので、そこにしました。
メモリは公式には8GBまで対応なんだけど、どうやら16GBまで認識するとのことで秋葉原の某店でADATAの8GBx2(DDR3 1600)を8000円弱で購入。ついでにDSPのWindows7 Professionalも。あとは自宅に1TBのHDDが余ってるので、それもブチ込みます。

で、黒MacBook(一応Lionにアップ済)のTime Machineバックアップからデータ移行しようとしたんだけど、とにかく躓きました。

何度やってもメインのユーザだけが移行できない。デフォルトで作成するユーザはおそらく内部的に’user’という名前で管理されており(ユーザフォルダの名前がuserで作成されている)、その名前が新Macと旧Macでかぶってしまっていたことが原因と思われます。

一旦新Macのユーザーを別名で作り直し、最初に作ってしまったユーザーを削除、その状態で移行アシスタントを実行したところ、ユーザの移行がうまくいきました。いや、ほんとに何回試したかわかりません。

あとこれとはおそらく全く別の問題で、MacBook AirのTime Machineデータ(MountainLionのもの)はまったく認識されませんでした。これは後々問題が起きるような気がしております。


VMware Fusion 5からBoot Camp領域のWindows7を実行する

act2.com

(追記)【注意】マイクロソフトの規約が変わり、Bootcamp領域を残したままのVMwareからの併用は1ライセンスでは違反となりました!追加でライセンス購入するか、仮想マシンにインポートしてしまいましょう。
 

VMware FusionはBoot Camp領域にインストールしたWindows7も標準で起動できてしまいます。
この方法だとVM上からの起動ではパフォーマンス的に不安がある場合(例えば3Dゲームの実行など)にBoot Campでフルの性能を使用できるので、そういったシーンが考えられるならオススメです。また、現在Boot Campを使っていて、ドキュメント等を確認したい程度でしたら、マシンを再起動せずに簡単にVMwareから起動出来ますし、Boot Camp領域から仮想マシンをインポートして、Boot Camp領域自体を削除してしまうという手も考えられます。
1点注意としては、VM起動のWindowsではSilverLightなどで著作権設定がされている動画・音楽が再生できないケースがありますので、そういった用途を考えられている場合はBoot Camp領域を残しておくのが良いでしょう。

手順1 メニューもしくはウインドウ左上の追加ボタンからインポートを選択
手順2 「ライブラリをインポート」のウインドウでBoot Campのアイコンを選択
手順3 A.Boot Camp領域をそのまま活かす場合は「Boot Campボリュームを使用するVMware仮想マシンを作成します。」を選択、
B.Boot Camp領域からコピーして新規VMを作成する場合は、「Boot Campボリュームの内容をインポートし、それを使用してVMware仮想マシンを作成します。」を選択します。

Aの場合は上記で終了、Bの場合は新規VMの保存先を選択するダイアログが表示されますので、適宜名称をつけ、インポートを押してください。

以上です。

私はまだWindows7はあまり活用しておらず、CentOSをCUIモードで使用するのみですが、起動も早く、非常に快適に使用できています。
まっさらのLAMP開発環境のベースをVMで作成しておくと、新規案件の環境を作成する際にもコピーするだけで完了できますので、やはり便利ですよ。特にVMware FusionはMacOSのバージョンアップへの対応が早いので、安心できると思います。是非使用してみてください。
act2.com


MountainLionのバグ?

MountainLionのバグらしきを発見。

音声をミュートにした状態でしばらく使ってから、ヘッドホンをつなぐと、
それまでにメール送受信した際のSEがヘッドホンにすべて流れるようです。
ポン、ポン、ポン、ポン、ズギューン、ポン、ポン、ズギューン……、みたいな。

特に影響はないんですが、既知なんでしょうか。


VMware Fusion 5にアップグレードしてみた

act2.com

VMware Fusion 5がリリースされました。同時にVMware Fusion 5 Professionalという新たなバージョンも発表されております。
VMware Fusion 4からのアップグレードはProfessionalのみが提供されており、価格は通常版の新規購入額と一緒の$49.99です。
正直Professional版だけの機能はピンときてないので、通常版へのアップグレードを安く提供して欲しかったところですが、Professional版にアップグレードしました。

ちなみに10%5%オフクーポンも出まわっております(promo codeにvmf3affと入力)が、アップグレードには非対応のようで、入力しても空振りでした。(特にエラーは出ず、割引も適用されません)

導入後は各仮想マシンの最適化が必要になるようで、Bootcamp領域もリストから一旦ゴミ箱ボタンで削除、再度取り込む必要があります。

4と比べて動作が早くなっていたり、省電力化されていたりするようなので、しばらく使って使用感をレポートしたいと思います。

act2.com