Hatena::ブログ(Diary)

130単位

2011-01-31

MacBook → MacBook Air 環境構築メモ

MacBookからMacBook AirへとTimeMachineを使って開発環境を移行しました。思うようにいかなかった部分が多々あり、メモとして残しておいてみます。いちおうなるべく標準のものを利用するというポリシーです。間違った情報がありましたらご指摘ください><

FileVault

  • FileVault適用済みの移行は注意が必要
    • そもそもTimeMachineの移行元として認識しなかった
    • 初期設定してから移行アシスタントで試みて失敗した
    • 同じ機種であればいいのかもしれない
    • 参考:no title
  • 移行の際はFireVaultは解除しておくのが良さげ
  • FireVault解除してOSインストールして無事移行できた

引き継ぎ

  • 標準のApache/PHP等の設定は引き継がれない
  • /etc/hostsとかも引き継がれない
  • XCodeの類も引き継がれない

MySQL

export PATH=/usr/local/mysql/bin/:$PATH
  • を.bash_profile(.bashrc)に記述

PHPPEAR

  • MacBookは標準のPHPに含まれていたけどAirにはなかった
  • /usr/local/以下に入れることにした
curl http://pear.php.net/go-pear | php
  • パイプではうまくいかなかった
    • sudo phpでもだめっぽい
curl http://pear.php.net/go-pear > pear.php
sudo php -q pear.php

MacPorts

  • MacPortsで入れたものは移行しても引き継がれる
  • MacPortsは/opt/local/以下に入る
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
  • 上記が.bash_profileに自動的に書き込まれてる
  • コマンドはこちらにあるものが優先されるよう
  • 標準よりMacPortsで管理するのがいいと思った

そのうち解決したい疑問点

  • MacPortsメインにした場合標準のApache/PHP/Rubyは消したほうがいいのか
    • 消す場合どうするのか
  • 標準ApacheMacPorts PHPの組み合わせは無理なのか
  • BINDでのローカルDNSの立て方
    • 固定IPにする必要があるのか

関連リンク


0596802722
Mac OS X Snow Leopard Pocket Guide


【関連記事】
MacBook Airとともに購入したアクセサリ - 130単位

2011-01-25

MacBook Airとともに購入したアクセサリ

MacBook Air 13インチを購入しました。メインマシンとして長く大切に使おうという気持ちが必要以上に強まり、やたらとカバーなど買ってしまいました。ので、並べて振り返ってみます。

ディスプレイフィルム

B0048KMNY4
クリスタルビュー1HGAG CRYSTAL VIEW I HDAG "High-definition Anti-Glare" for 13-inch / 13.3" Display / CV01133HDAG

アンチグレアなフィルム。販売業者による貼り付け代行サービスがあると聞いて。場所は港区芝浦。ただし平日11:00-16:00の間しか受け付けていないようです。地方在住の方は往復送料かかりますが配送でもokです。

実際に持ち込んで貼ってもらったわけですが、一発で完璧な仕上がりでした。さすがプロの技。にじみなど違和感はなく、満足のいく使用感です。

ちなみに、映り込みの軽減と発色の両方を満たす以下のアンチリフレクションタイプのほうが人気があるようです。

B0013G03RU
クリスタルビュー3AR CRYSTAL VIEW III AR "Anti-Reflection" for 13-inch / 13.3" Display / CV03133

トラックパッドフィルム

B001KV8JFQ
マルチパッドフィルム Multi pad Slick Film #601AFAG for MacBook Series / MPSF601AFAG

ディスプレイフィルムと同じくマイクロソリューション製。持ち込み時についでに貼ってもらいました。素の状態に比べると少し触感が変わります。保護よりも素のサラサラ具合が気に入っている方には不要かと思います。

キーボードカバー

B003UIRHMS
ELECOM シリコンキーボードカバー MacBook用 ブラック PKB-MACSC1BK

こちらはまだ購入してません。お値打ちそうなのをピックアップ。レビューを読んでいると、長く使うならあまり薄すぎないもののほうがいいようです。

【追記】購入しました。Airだとフィットはするもののファンクションキーの位置が異なっていたので、対応機種を確認してから購入するべきということを学びました><

本体カバー

ZAGG invisibleSHIELD for the Apple Macbook Air 13 inch 3rd Gen

D

海外発注までしてしまいました。送料込みで約5000円程度。クーポンコードを利用すると20%OFFになります。購入から手元に届くのに10日ほどかかりました。

で自分で貼ってみたんですが、案の定難しかったです。若干のずれや空気はもう妥協するしかありませんでした。そんなわけで貼り付け直後は虚無感があったりしたんですが、多少のことではキズがつかなくなったという安心感が得られたと考えれば、まあ買ってよかったといえるかもしれません。

Mini Displayport変換アダプタ

B0037HP7W4
PLANEX Mini Displayport ->VGA端子変換アダプタ (MacBook MacBook Pro MacBook Air) PL-MDPVG01

純正よりも1000円ほど安いです。DVIHDMIもありますが、どこかしらでプロジェクタにつないで発表したりする機会を考えると、VGAがいいと思います。先に買ってしまったDVIのは、自宅専用になりそうです。

おまけ

本日が応募締め切りなので…

MacBook Air 11インチ欲しい!

2011-01-23

TortoiseGitとGit Extensionsの比較

バージョン管理にgitを導入しようとしていて、非エンジニアの方でも問題なく使えるかどうかというところで、WindowsGUIツールを調査してみました。

TortoiseGit

TortoiseGit ? Windows Shell Interface to Git

Git Extensions

Google Code Archive - Long-term storage for Google Code Project Hosting.


というわけで日本語対応など明らかにメリット多いことから、Git Extensionsを採用することにしました。


427406767X
入門git

4798023809
入門Git

2011-01-18

CakePHP新春勉強会に参加した #cakephpstudy

CakePHP新春勉強会 東京 : ATND
http://atnd.org/events/11810

LTした

たいした話もできないので、皆さんに聞いてみたいことをネタにしてみました。前のエントリはその草稿的な内容でもありました。

スライド
no title
URL設計
  • Model単位
    • 規約通りのModel=Controllerな形式
    • 複数形ControllerのURL
  • ユースケース単位
    • 自由で柔軟なURL
    • Controller#loadModel()とかして対応

皆さんに聞いてみたところ、どちらも4割程度の方が手をあげてくださいました。まあ半々といったところでしょうか。単純なCRUD中心の業務アプリであればModel単位が適しているでしょうし、アプリの性質にもよるかと思います。

複数Modelのやりとり
  • Modelから別のModelを呼ぶ
  • ClassResistroy#init()を使う
  • 場合によってはControllerとModelの中継用クラスを作る
  • $useTable = false なModelとか

テーブルのない中継用のModelを作ったりするかどうか聞いてみたところ、3割程度の方が手をあげてくださいました。おそらく使い込んでいるような方々にとっては、割と一般的な手法なのだということがわかりました。

パラメータの扱い

クエリストリングを使うかどうか聞いてみたところ、手をあげてくださったのは1割もいませんでした。クエリストリングを使うようにした自分は少数派のようです。ソーシャルアプリなら特に問題ないかと思うのですが、SEO的には微妙だったりするので、一般的にはNamedパラメータを利用したほうがよさそうな感じです。

感想とか

  • CakePHP2.0は待ち遠しいけど投入できるまではまだしばらくかかりそう
  • Livlisの開発事例は興味深かった
    • もとはmixiアプリだった
    • リリースまでの開発期間は4ヶ月程度
    • AWSのプロダクトを積極的に採用
    • Nginxを採用
    • Lithium移行を考えてる
  • BaserCMS使ってみたい
    • 比較表みるとCroogoよりも使いやすそう
  • CakePHPオンライン勉強会(3月予定)に期待
  • [twitter:@yando]さんのLithiumコードあとで読みたい
  • Mini DisplayPort-DVIケーブルは持ってても使えない
  • CakePHPソーシャルアプリの事例は心強かった

内容はともかく、初LTが経験できて良かったです。会場提供のジンガジャパン様、運営の皆様、参加された皆様、どうもありがとうございました!


Pocket詳解 CakePHP辞典
Pocket詳解 CakePHP辞典


【関連記事】
CakePHP開発振り返りメモ - 130単位

2011-01-16

CakePHP開発振り返りメモ

モバイルソーシャルアプリでのものです。アプリのパフォーマンスなど運用面はふくんでません。

モジュール概要

Config
  • 種類別にファイル作成して管理
    • 環境依存設定
    • 定数定義
    • エラー文言定義
  • bootstrap
    • core.phpの修正
    • 上記ファイルの読み込み
  • routes
    • ユーザーページのURLを定義
Controller
  • AppController
    • OpenSocial対応
    • 絵文字変換
    • ユーザー読み込み
  • Component
Model
  • AppModel
    • スレーブ対応
    • ページネーション修正
  • Behavior
    • Containable
      • アソシエーション補助
    • SoftDeletable
      • 論理削除
      • 削除フラグ判定のWHERE句生成部分を修正
View
Plugin
  • DebugKit(開発用)
Vendor
Shell
その他

すこしやりづらかったこと

  • 多次元配列タイピング
    • $user['User']['id'] のuserの二度手間さ*1
  • bakeで生成されるPHP4対応のコード
  • Viewへの値の受け渡し
    • $this->set(compact('var_a', 'var_b')); ってやってるけど
    • Controllerのプロパティをそのまま展開してほしい気もする

なんとかしたいこと

よかったこと

なんとかしたいことでいい案あったりする方は教えていただけますと助かります><


Pocket詳解 CakePHP辞典
Pocket詳解 CakePHP辞典


【関連記事】
ソーシャルアプリ CakePHP調査メモ - 130単位
mixiアプリ リリースまでの開発振り返り - 130単位

*1:アソシエーションあるから仕方ないかもですが

2011-01-07

WiMAX WM3500Rへ乗り換えた

f:id:deeeki:20110108000358j:image

WM3300R(左)からWM3500R(右)へ乗り換えました。キャンペーンがきっかけで契約プランの見直しもして、縛りはありますがコスト面で優れているBIGLOBEの年間パスポート(月3,801円)にしました。

顛末

  • 12/30
  • 12/31
    • BIGLOBEキャンペーンでWM3500Rと年間パスポート申し込み
    • ※同一IDでは1日経たないと再契約できない
    • ※課金開始は端末を受け取った日からとのことなので最終日なら問題ないはず
  • 1/4
  • 1/5
  • 1/6
    • TRY WiMAX到着&一時利用開始
  • 1/7
    • WM3500R到着&利用開始

重複課金を避けたかったので上記スケジュールを試みたのですが、振り返ってみると微妙でした。

12/30〜1/3昼までは帰省していたため問題なかったのですが、1/3夕方〜1/6までがネット環境なしで辛かったです。で結局TRY WiMAXは1日しか必要なかったという。

WM3500Rは売り上げ好調のようで在庫に不安があったのですが、申し込みから1週間程度で届きました。よって、TRY WiMAXが手元にある状態にしてから解約がベストだったといえます。

接続スピードテスト

PC

f:id:deeeki:20110108000357j:image

=== Radish Network Speed Testing Ver.3.2.2 - Test Report ===

使用回線:UQ WiMAX

------------------------------------------------------------

測定条件

 精度:高 データタイプ:標準

下り回線

 速度:1.349Mbps (168.6kByte/sec) 測定品質:91.8

上り回線

 速度:3.729Mbps (466.1kByte/sec) 測定品質:95.4

測定者ホスト:*****************.tky.mesh.ad.jp

測定サーバー:東京-WebARENA

測定時刻:2011/1/7(Fri) 22:58

------------------------------------------------------------

測定サイト http://netspeed.studio-radish.com/

============================================================

デフォルト設定での計測です。WM3300Rと比べて下りはいまひとつですが上がりは速くなっています。設定次第で改善されるのかもしれません。

また、別のサイトではなぜか上がりがほぼ0という結果になりました。

f:id:deeeki:20110108000356p:image

Speedtest by Ookla - The Global Broadband Speed Test

iPhone

f:id:deeeki:20110108002820p:image

f:id:deeeki:20110108002812p:image

f:id:deeeki:20110108002733p:image

iPhoneだと下りの調子がいいようです。よくわかりません。


そんなわけで、ML115(Win)/Macbook/iPhoneで問題なくつながり、ひとまず安心したところです。モバイル環境下でのバッテリーの持ちで真価が発揮されるのに大いに期待です。


NEC モバイルWiMAXルータ(プラチナブラック) [PAWM3500RATB]【送料無料】

【関連記事】
WiMAX WM3500Rへ乗り換えを検討 - 130単位
WM3300R購入&WiMAX利用開始 - 130単位
Try WiMAXを体験してみた - 130単位

2011-01-06

12月分の読書記録

あまり読めませんでした。『どうして羽生さんだけが、そんなに強いんですか?―現代将棋と進化の物語』は、読み始めたら一気にのめり込みました。レベルは違えども、将棋への熱を著者や棋士と共有できたことが要因のように思います。自分と同じ感覚で万人が読めるとは思いませんが、あえてのこのタイトルとのことですので、興味を持たれた方は読んでみてほしいですね。

12月分読書データ

期間 : 2010年12月
読了数 : 6 冊
3月のライオン (5) (ジェッツコミックス)
羽海野 チカ / 白泉社 (2010-11-26)
★★★☆☆ 読了日:2010年12月26日
わずかなきっかけで、残酷な世界がつくられる。そこから救うのも、わずかなきっかけと変えたい思い。
べしゃり暮らし 11 (ヤングジャンプコミックス)
森田 まさのり / 集英社 (2010-11-19)
★★★★☆ 読了日:2010年12月25日
友人と仕事してみて可視化される合わない点。常に共に行動する芸人だからこその急展開
M-1戦国史 (メディアファクトリー新書 013)
★★★★☆ 読了日:2010年12月25日
適切に抜粋されたトピックとともに各大会が要約されており、興味深く振り返ることができた
半値になっても儲かる「つみたて投資」 (講談社+α新書)
星野 泰平 / 講談社 (2010-12-20)
★★★★☆ 読了日:2010年12月23日
一括投資と異なる点や利益が出る仕組みがグラフ付きでわかりやすく解説されている。つみたて投資は口数と終えるタイミングが重要
リアル (10)
井上 雄彦 / 集英社 (2010-11-26)
★★★☆☆ 読了日:2010年12月12日
バスケと関わりたい高橋の心理描写が秀逸。野宮トライアウト期待
どうして羽生さんだけが、そんなに強いんですか?―現代将棋と進化の物語
★★★★☆ 読了日:2010年12月6日
代将棋の最先端とともに、対話を通して巧みな表現でつづられる棋士の人間性。観る将棋に新たな魅力を感じられた

メディアマーカー

11月分の読書記録 - 130単位 (一ヶ月前)

12月分の読書記録 - 130単位 (一年前)

2011-01-02

DropboxをCentOSのCUIで利用する

GitHubにあげるほどでもないソースコードの管理のために、LinuxでもDropboxを使えるようにしたいと思いました。

TipsAndTricks/TextBasedLinuxInstall - Dropbox Wiki
http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall

公式Wikiの手順に沿ってやってみました。環境はServersMan@VPSのCentOS5.5です。

Pythonインストール

  • Python2.6以上が必要
    • yumで探したけど見当たらなかった
  • no title
    • 上記より最新版を確認 (現時点では2.7.1)
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar xvzf Python-2.7.1.tgz
cd Python-2.7.1
./configure && make
sudo make install

Dropboxインストール

  • 32bit PC版
cd
wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"
tar -xvzf dropbox.tar.gz
  • ~/.dropbox-dist/に展開される

Dropboxデーモン起動と認証

~/.dropbox-dist/dropboxd

This client is not linked to any account...

Please visit https://www.dropbox.com/cli_link?host_id=xxxxxxxxxxxxxxxxxxxx to link this machine.

  • URLにアクセスして認証

Client successfully linked, Welcome user!

  • ~/Dropbox/が作られて同期開始
  • (おそらく)設定情報が~/.dropbox/に保存される

自動起動

CPU使用率が高いためやらないほうがいいかも

sudo vim /etc/init.d/dropbox
sudo echo 'DROPBOX_USERS="user"' > /etc/sysconfig/dropbox
sudo chmod 0755 /etc/init.d/dropbox
sudo chmod 0644 /etc/sysconfig/dropbox
sudo /sbin/chkconfig dropbox on

official Dropbox CLI

Pythonスクリプトでできた公式コマンドラインツール

インストール
mkdir -p ~/bin
wget -O ~/bin/dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"
chmod 755 ~/bin/dropbox.py
使用例
  • 全体の同期の状態
/usr/local/bin/python dropbox.py status

Downloading 201 files (488.6 KB/sec, 1 hr left)

  • ファイルごとの同期の状態
/usr/local/bin/python dropbox.py filestatus Dropbox/

Dropbox/: syncing

参考リンク

PR


【関連記事】
Dropbox 複数アカウントとフォルダ共有についてのメモ - 130単位
ServersMan@VPS Apache設定 - 130単位
ServersMan@VPS(CentOS 5.4) ユーザー作成とSSH初期設定 - 130単位

2011-01-01

ふりかえり2010&目標2011

ふりかえり2010

前半はそれなりに順調だった気がしますが、後半は停滞してました。社外での発表やMashup Award応募をもくろんでいたりしたのですが、どちらもできず。停滞の大きな原因としては、独りでやろうとしていたことが挙げられます。ここは改善が必要です。

個人的に大きかったのは、同世代のエンジニアさんと会って話ができたこと。自分の力のなさを思い知るのと同時に、近しいロールモデルとして強く刺激を受けました。まずは自分自身が与えられる何かを持つのが不可欠ですが、定期的に情報交換できたらいいなと思います。

目標2011

  • Ruby/Rails3を習得
  • 社外で発表
  • コンテストに応募
  • prfm_rmxを超える何かをつくる

前半はRails3に注力することになりそうです。それには周囲を巻き込めるかどうかが鍵だと認識していて、苦手なところですがチャンスでもあるので、相乗効果を生み出せるようにやっていきたいと思います。あとは、2010年にできなかったことを。


【関連記事】
自分語り2010 - 130単位