2012年2月23日木曜日

ターミナルからMacVim-KaoriYaの新しいタブでファイルを開く

MacVimのターミナルからの起動用シェルスクリプト"mvim"はKaoriYa版には無いので、下記からスクリプをコピーして /usr/local/bin にシェルスクリプトを作成する。

mvimシェルスクリプト

作成したファイルに実行権限を付与。
$ sudo chmod u+k /usr/local/bin/mvim
既存のウィンドウの新しいタブで開く為に、~/.bashrcにエイリアスを記述する。
~/.bashrcが無かったので作成し、以下を記述。
alias mvim="mvim --remote-tab-silent"
Macはデフォルトで~/.bashrcを読込まないので~./bach_profileに読み込み設定を追加。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
これでターミナルから以下コマンドにより、MacVimの新しいタブでファイルを開ける。
mvim ファイル名

参考

2012年2月2日木曜日

Ruby 環境構築(Mac OS X 10.6.8 Snow leopard)

Xcodeをインストール
- Mac App Storeからインストール(無料)

MacPortsのアンインストール
- Homebrewをインストールするにあたって、MacPortsがインストールされていると問題があるようなのでMacPortsをアンインストールする。
- MacPortsでインストールしたパッケージを確認し、メモしておく。
$ port installed
- ガイドに習ってMacPortsをアンインストール。
$ sudo port -f uninstall installed
- 関連するディレクトリも綺麗にします。以下のコマンドをコピペして実行。
$sudo rm -rf /opt/local \
/Applications/MacPorts \
/Applications/DarwinPorts \
/Library/Tcl/macports1.0 \
/Library/Tcl/darwinports1.0 \
/Library/LaunchDaemons/org.macports.* \
/Library/StartupItems/DarwinPortsStartup \
/Library/Receipts/MacPorts*.pkg \
/Library/Receipts/DarwinPorts*.pkg \
~/.macports

Homebrewをインストール
- ここに習ってインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
- /usr/local/binにパッケージがインストールされるので、/usr/local/binにパスを通す。~/.bash_profileを編集。
export PATH=/usr/local/bin:$PATH
- gitをインストールして、Homebrewをアップデート
$ brew install git
# brew本体のアップデートにはgitが必要なため、gitインストール後にアップデート
$ brew update
- readlineをインストール
$ brew install readline
# readlineはlinkも設定する。
$ brew link readline
- MacPortsをアンインストールした為、必要なパッケージをインストールしておく
$ brew install curl
$ brew install mercurial
$ brew install python

rbenv,ruby-buildをインストール
- インストール
$ brew install rbenv
$ brew install ruby-build
- ~/.bash_profileに設定記述。~/.rbenv/completions/rbenv.bashが無い場合は、ここから持ってくる。
eval "$(rbenv init -)"
source ~/.rbenv/completions/rbenv.bash

rubyをインストール
- Ruby1.9をインストール
#インストール可能なRubyのバージョン一覧を表示
$ rbenv install
#インストール
$ rbenv install 1.9.3-p0
しかし、以下のようなエラーが出てインストールが失敗してしまう。
Installing ruby-1.9.3-p0...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/u2/u21bLVKaGBG2Cj5n9LFHB++++TI/-Tmp-/ruby-build.20120202170334.94832
Results logged to /var/folders/u2/u21bLVKaGBG2Cj5n9LFHB++++TI/-Tmp-/ruby-build.20120202170334.94832.log

Last 10 log lines:
In file included from ./include/ruby/ruby.h:64,
                 from ./include/ruby.h:32,
                 from main.c:13:
/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory
In file included from ./include/ruby/intern.h:32,
                 from ./include/ruby/ruby.h:1361,
                 from ./include/ruby.h:32,
                 from main.c:13:
/usr/include/varargs.h:4:26: error: varargs.h: No such file or directory
make: *** [main.o] Error 1
ググってみたところ、gccのバージョンが怪しいとか。gccのシンボリックリンク先をllvm-gcc-4.2からgcc4.2に変更。
$ sudo rm /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.2 /usr/bin/gcc
これで、先ほど同じくインストールしたらうまくいった。

- Ruby1.8をインストール
1.8は普通にインストールするとエラーがでるので、CONFIGURE_OPTSでreadlineライブラリを読込むように指定しインストールする。
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.8.7-p357
- Rubyのバージョン切り替え
# インストール済のRubyバージョン一覧
$ rbenv versions
  1.8.7-p357
* 1.9.2-p180 (set by /Users/home/.rbenv/version)
  1.9.2-p290
  1.9.3-p0
# 使用するRubyを指定
$ rbenv global 1.9.3-p0
# 変更を反映
$ rbenv rehash
# 現在有効になっているRubyのバージョンを表示
$ rbenv version
1.9.3-p0 (set by /Users/home/.rbenv/version)
# Rubyのバージョンを確認
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]

2011年3月29日火曜日

Macで MacHg と bitbucket を使用して Mercurialでバージョン管理

MacHgのインストール
•動作環境はOSX 10.6+ (snow leopard以降)
MacHg Download からzipファイルをダウンロード。
•zipファイルを解凍するとMacHgのアプリケーションファイルができるので、そいつをアプリケーションフォルダにドラッグ&ドロップする。

MacHgの使い方
•MacHgを初めて起動すると、このような画面。(途中アラートダイアログが出るがOKをクリックで問題無し)
•左の REPOSITORIES と書いてあるサイドバーに、リポジトリを作成するプロジェクト等のフォルダをドラッグ&ドロップする。


•リポジトリ作成のダイアログが開くので、項目を確認する。基本デフォルトでOK。
 Create Repository をクリック。

・そうすると以下のような画面がでます。リポジトリに登録されていないファイルにのアイコンが付きます。それらのファイルの登録をする必要があります。その前にコミッットしない不要なファイルを無効にしておく。
不要なファイルを選択して、メニューの Action > Ignore Selected Files。

・ファイルの登録は適当なファイルを選択した状態で、メニューの Action > AddRemove All Files。そうすると新しくリポジトリに登録されたファイルに+のアイコンが付きます。

・メニューの Action > Commit All Files でローカルのリポジトリにコミットします。
 以下の画面でコミットメッセージを入力して、OKをクリック


・コミットされると、先ほどの+マークが消えます。

・何かファイルを編集して保存すると、Modifiedのアイコンが表示されます。

・Modifiedのアイコンが付いているファイルを選択し、メニューの Action > Commit Selected Files。これで編集したファイルがコミットされました。

・左上のViewで、真ん中を選択すると履歴画面見れます。

ここで、ダブルクリックすると指定した差分ツールが開いて、差分の確認等ができます。
また、コードの編集等を行うと、現在編集中のレビジョンがグレーで現れるので、それをダブルクリックすると最後にコミットした状態との差分を確認できます。

・bitbucketでリポジトリを作成します。

・こんな感じにできます。

・MacHgに戻って、左サイドバーのフォルダのところで右クリックし、Add Server Repository を選択。

・ダイアログが開くので、各項目を入力。Sever URLは先ほどbitbucketで $ hg clone の横に表示されているURL。Username, Passwordはbitbucketのユーザー名とパスワード。
中央下のアイコンがチェックマークになったのを確認し、Add Server をクリック。

・左サイドバーのフォルダの下に、Server Repository のアイコンが追加されます。
右の矢印は、↓がPull、↑がPushできるチェンジセットの数が表示されます。
 ・bitbucketサーバーにリポジトリをプッシュします。上部ツールバーのPushボタンをクリックすると以下のダイアログがでるので、プルダウンから適切なサーバーを選択しPushをクリック。

・しばらく待ってプッシュが成功すると、結果画面が出ます。
 ・先ほどのPushのチェンジセットの数が0になりした。
 ・bitubucketのページを更新すると、以下のようにリポジトリが表示されます。












参考サイト
MacHg と BitBucket でソースコードの管理 - Debian GNU/Linux 3.1 on PowerMac G4

MacPortsでインストールしたパッケージのアップデート

MacPorts自身のアップデート
$ sudo port selfupdate
Password:

アップデートが必要なパッケージの確認
$ port outdated

パッケージの一括アップデート
$ sudo port upgrade outdated
Password:

参考
MacPortsでインストールしたものを最新版にアップデートする方法

sarコマンド

# cd /var/log/sa
# LANG=C
# sar -A -f sa22 > sa22.txt

mac x11

ターミナルを開いて
$ ssh -X userid@host

cpu確認コマンド : top  1で表示切り替え

linux コマンド

コピー cp -r /home/yappa/cardata/* /usr/local/tomcat/webapps/

ディレクトリ削除 rm -rf cardata/

ファイル内容を行番号付きで表示 less -N textfilename.txt


ファイルディレクトリを削除できないようにする
chattr +i

2011年3月25日金曜日

Objective-C コレクション

Objective-Cの配列の順序

以下リンクより抜粋
NSSet は NSArray や NSDictionary と同じでオブジェクトの集合をまとめます。ただし NSArray などとは違い各要素に順序という概念がありません。したがって Index (番号) やキー (名前) を付けて個々の要素を管理することはできません。NSSetもやはり要素の数や内容を変更できません。それに対して要素の数や内容を変更できるものが NSMutableSet です。


viva Cocoa learn ObjC 2.0 no.4

2011年3月3日木曜日

Mac mercurial インストール

Mac Mercurial インストールの流れ
•Macports インストール
•Python の確認
•Mercurial インストール
•Mercurial 設定ファイルの作成


Macports インストール
The MacPorts Project -- Download & Installation -  ここのページのMac OS X Package (.pkg) Installerの項目のSnow Leopardのリンクをクリックし、dmgファイルをダウンロードする。
•dmgを開いて、インストーラに沿ってインストール。
•ターミナルを起動し、Mac port 最新版に更新する。sudo で実行しパスワードを聞かれるのでMacの自分のアカウントのパスワードを入力。
$ sudo port selfupdate
Password:

Python の確認
•snow leopard では Python2.6.1 が標準でインストールされている。
•ターミナルで、Pythonがインストールされてるか確認。
$ python --version
Python 2.6.1

Mercurial インストール
•ターミナルで、MacportsからMercurialをインストール。パスワードを聞かれるのでMacのアカウントのパスワードを入力。
$ sudo port install mercurial
Password:
•バージョン確認
$ hg --version
Mercurial - 分散構成管理ツール(バージョン 1.7.2)
(詳細は http://mercurial.selenic.com を参照のこと)

Copyright (C) 2005-2010 Matt Mackall 他
本製品はフリーソフトウェアです。
頒布条件に関しては同梱されるライセンス条項をお読みください。
市場適合性や特定用途への可否を含め、 本製品は無保証です。

Mercurial 設定ファイル作成
•MacVimか、ターミナルからViで、HOMEディレクトリに.hgrcファイル(設定ファイル)を作成する。
HOME$ vi .hgrc
•.hgrcファイルに.hgignoreファイル(無視ファイル)の場所とユーザー名を設定する。
[ui]
ignore = ~/.hgignore
username=<ユーザー名>
•MacVimか、ターミナルからViで、HOMEディレクトリに.hgignoreファイル(無視ファイル)を作成する。
HOME$ vi .hgignore
•.hgignoreファイルにコミットさせないファイルを設定する。
syntax: glob
.DS_Store
.svn
.hg
.hgignore
.hgsvn
Thumbs.db

// iOSプロジェクト用
syntax: regexp
/\.
DS_Store
^build/
.*\.mode1v3$
.*\.pbxuser$

参考サイト
JapaneseTutorial - Mercurial
Mercurialでバージョン管理
Mercurial の利用
Mercurialを使ってXcodeのプロジェクトを管理しはじめる

2011年2月27日日曜日

Mac Snow Leopardの機能でNTFSに書き込み可能にする。

今までNTFSの外付HDDへの書き込みは、NTFS-3Gを使用して書き込んでいたけど、ファイルサイズが大きかったりすると時々エラーコード-43が出て書き込みが出来ず困っていました。
有料版の Tuxera NTFS を入れてみたら、めちゃくちゃ書き込みが早くエラーもでないので素晴らしかったんだけど、試用期限を過ぎたら購入しなければなりません。
調べてみると、Snow Leopardは設定をすれば標準機能でNTFSに書き込みできるようになっているらしい。
ブログを参考に以下の手順で設定。

手順
・ターミナルを起動する。
・diskutil info /Volumes/ でボリュームの Volume UUID: と Volume Name: を確認しどっかにコピペしておく。
・sudo vim /etc/fstab
・以下のように記述し保存する。<>の部分が先ほどコピペしたUUIDとNameになる。
    UUID=<Volume UUID> none ntfs rw
    LABEL=<Volume Name> none ntfs rw
・Macを再起動したら、画像のように書き込みができるようになる。


実際に書き込んでみると、エラーも出ないし、書き込み速度もTuxera NTFSと変わらずとても速いです。
今までNTFS-3Gで時間をかけて書き込んでいたのを後悔しました。

※2011/3/29追記
先日、この方法でデータを外付HDDに移行した際、ちゃんと書き込みできたのを確認して、後日開いてみると、データがごっそり無くなってました。でも、HDDの容量は減ってなかったのでデータが見えなくなっているだけのようですが。。。ターミナルから管理者でアクセスしてもデータが無い。結局MacとNTFSの相性に不安がつきないので、外付HDDをMac OS X形式にフォーマットして利用することになりました。


参考
Snow Leopardで、NTFSフォーマットのボリュームを読み書き可能にする方法

2011年2月8日火曜日

Mac vim環境

入れるもの

•MacVim-kaoriya
•neocomplcache
•cocoa.vim
•snipMate

設定
.vimrc
・スワップファイル(ファイル名.swp)とバックアップファイル(ファイル名.拡張子~(チルダ))の設定

スワップを有効
set swapfile
スワップを無効
set noswapfile
スワップファイルの場所を指定
set directory=~/.vim/tmp

バックアップを有効
set backup
バックアップを無効
set nobackup
バックアップファイルの場所を指定
set backupdir=~/.vim/tmp


参考
vimエディタが(勝手に)作成する、一見、不要に見えるファイルが何をしているか — 名無しのvim使い
vimのswpファイルとバックアップファイルの設定 - RKTMの日記 -

2011年2月7日月曜日

iPad safari でのHTML5 videoタグ 

参考にしたブログのやりかたで自動再生のプログラムを書いたが、実機では自動再生されなかった。OSのバージョンがあがってできなくなったのかもしれない。

参考サイト
iPad/iPhone で HTML5の自動再生を実現する方法 (iOS4 対応版)

2011年2月3日木曜日

Flash CS5 Packager for iPhone (iOS)

Flash CS5 の Packager for iPhone (iOS)

やってわかったこと(iPhoneデプロイタイプ クイックパブリッシューデバイスでのテスト用のとき)
・デバイスはiPadも設定できる。
・iPhone OS 設定 で、フルスクリーンモードにチェックをいれると変な枠がでてくる。
チェックを入れないと、なぜかフルスクリーンになる。
・iPhone証明書(p12)とプロビジョニングプロファイルが必要。(当たり前だけど)
p12ファイルはMacのキーチェーンで簡単に作成できる。
・パブリッシュするとipaファイルができるので、それをiTunes経由でデバイスに同期させる。
・パブリッシュは少し時間がかかる。

ビデオ関係
・iPhone, iPadの実機で再生できたもの、できなかったもの
mp4をAdobe Media Encoder1でf4vに変換 ○
flv ○
mp4 ×
mov ×


参考サイト
Adobe Flash CS5 Packager for iPhone

2010年12月2日木曜日

デバッグ

・JavaScript(firebug)
if ("console" in window && "time" in window.console) {
    console.log("hoge");
}

・ActionScript
trace("hoge");


参考
Firebugにみる「フィーチャーディテクションプログラミング」の使い方

2010年11月15日月曜日

jbossが起動できない

jbossをコマンドプロンプトからrun.batで起動しようとすると以下のエラーがでる。

'findstr' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

環境変数のPATHに、C:\WINDOWS\system32 を追加したら起動できた。


参考
FindstrCommandNotFound

2010年8月19日木曜日

MySQL Workbench

MySQL Workbenchで、データベースとモデルをを同期させる。
メニューから、 Database >  Synchronize Model...

2010年8月17日火曜日

正規表現

単語の境界(完全一致) \b<文字列>\b
ワイルドカード 1文字 .  連続文字 .*

NetBeansのデフォルトエンコーディングをUTF-8にする

\etc\netbeans.conf を開く
netbeans_default_optionsに、-J-Dfile.encoding=UTF-8を追加する。

2010年8月16日月曜日

vim コマンド

移動 h, j, k, l
特殊移動 b, w, e, 0, $, ^
削除 x
挿入 i
単語の末尾に挿入 a
行頭に挿入 I
行末尾に挿入 A
行の下に挿入 o
行の上に挿入 O
1文字削除して挿入 s
単語の削除 d-
単語を削除して挿入 c-
空白込 w
  空白除 e
  行末まで $
行の削除 dd
カーソル位置から行末まで削除 D
行を削除して挿入 cc
カーソル位置から行末まで削除して挿入 C
ヤンク y
行のヤンク yy Y
貼付け p, P
貼付け後、カーソルポイントを末尾へ gp, gP
1文字置換え r
1文字以上置換え R

レジストリにヤンク、ペースト(aに記憶させる場合)
ヤンク "ay
ペースト "ap
挿入•検索•置換モードのとき、 
y等でヤンクしたものをペースト ctrl-r "
"ayでヤンクしたものをペースト ctrl-r a

インデント < , >

ファイル名と行数 ctrl + g
ファイルの先頭 gg
ファイルの最後 G
指定行に移動 数値 - G

検索 /
migemo検索 g/ (香り屋パッチ)
検索文字移動 n N
後方検索 単語の上で*(完全一致)、g*(部分一致)
前方検索 単語の上で#(完全一致)、g#(部分一致)
行の文字を検索 t<検索文字> , f<検索文字> 大文字だと後方検索
ハイライトを消す :nohl<Enter>

カーソル位置
アンドゥ ctrl - o
リドゥ ctrl - i
ページの上、中、下 H, M, L

対応するカッコへ移動 %

検索置換 
行の最初の文字 :s/aaa/bbb/
行の全ての文字 :s/aaa/bbb/g
行間の全ての文字 :#,#s/aaa/bbb/g
全ての語句 :%s/aaa/bbb/g
置換時確認 :%s/aaa/bbb/gc


特定の文字が含まれる行を選択(続けて実行するコマンドを入力)
:g/<文字>/

アンドゥ u
リドゥ ctrl + r
行全体のアンドゥ U

保存して終了 wq
破棄して終了 q!

シェルコマンド実行 : ! -
名前を付けて保存 : w ファイル名

ページ操作
上にスクロール : ctr - y, u, b
下にスクロール : ctr - e, d, f

ビジュアルモード
文字単位 v
行単位 V
短形 ctrl-v

短形から挿入 I<文字><Esc>、 A<文字><Esc>
前回の選択範囲を再選択 gv

大文字小文字変換 ~ 
直前のコマンドを繰り返す .

ビジュアルオペレータ(y, d, cの後に続けて入力)
単語選択 iw (空白文字を含む aw)
1文選択 is (空白文字を含む as)
1段落 ip (空白文字を含む ap)
()の中身 ib (()を含む ab)
{}の中身 iB({}を含む aB)


コマンド記録
記録開始 q[a-z]
記録終了 q
記録したコマンドを実行 @[a-z]



参考サイト
Vim完全バイブル 第6章 基本的なビジュアルモード
名前つきバッファと履歴バッファ  
Vimの使い方

2010年8月12日木曜日

GlassFishからデータベースへの接続

GlassFishの管理コンソールでデータベース(mySQL)への接続設定をして、アプリケーションを実行すると、

java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Access denied for user 'root'@'localhost' (using password: YES)

とゆうエラーがでる。
データベース側のパスワードを設定していなかったので、GlassFish側も接続プールのプロパティのpasswordの値を空にしていたのだが、パスワードが設定されてないとダメなようだ。
パスワードを設定してあげたらちゃんと接続できた。