2011年12月24日土曜日

再びiPhoneアプリ開発へ

途中までやっていた、iPhone開発入門的なものを再開する。


iPhoneのローカライズをやっていたが、ターミナルからgenstringsでうまくいくよ、的な記事を見てきたが、そもそもgenstringsのコマンドないよ、と怒られる。


自分のターミナルはシェルをzshにしているからなのかな?
と思い、システム環境設定→アカウント→右クリックで詳細オプションからbashを選択。



genstrings -a ./Classes/*.m

を再度トライしてみる。見かけ上はうまくいっているように見えるのだが、Localizable.stringsファイルが出来ていない。もう少し調べてみる。

2011年6月8日水曜日

Android環境構築@MacBook

ということで、環境構築です。

以下のサイトから、SDKをダウンロードしときます。
http://developer.android.com/sdk/index.html

で、Eclipseはすでにinstall済みでしたので、そこにAndroidのPlug-inを入れます。
help->Install new softwareを選択して、以下のアドレスを指定。
https://dl-ssl.google.com/android/eclipse/

適当にacceptしたら、Install開始。→そして終了。

それが終わったら、Windowメニュー(Windowsのメニューじゃないよ!)からAndroid SDK and AVD Managerを選択。
AvailablePackagesを選択して、あるものすべてInstall!!!

めちゃくちゃ時間がかかるので、今日はこのあたりで。

2011年6月7日火曜日

WWDCとコーディング規約

さて、ちまたではWWDCで持ちきり(!?)な感じですが、近況でも書こうと思います。
最近は、資格の勉強をしています。メンドクサイので資格なんて取っていませんでしたが、遂に取らないといけない日が来そうです。笑

まぁ、そんなことはよいのですが、今日は仕事のグループミーティングでJavaのコーディング規約に関する講義があったので、覚えていることだけ、メモしときます。

まず、簡単なところで、
Stringで文字連結するな
ってことです。これは、Stringを連結する場合、ミュータブルな値なので、連結の度にコピーして連結、コピーして連結っつー無駄な処理が入ります。
StringBufferや、最近出てきたStringBuilderを使えば、とある環境ですと、2000倍も性能が変わってきます。これはでかいですね。
#そういえば、StringBufferってequalsメソッドないんですね。知らなかったー(-_-;)

あとは、
Static Initializerを使って初期化しろ
ってことです。フィールドの定義の部分で
static int INT_C = 1234;
って定義してJar化してしまうと、コンパイラは1234で初期化を行い、このクラスのModuleのみを差し替えようとした場合、フルビルドしないと、INT_Cは1234が入ったままになっています。ですので、static initializerを使って、実行時に初期化してねってことです。

あとは、
メソッドの引数のクラスは再利用するな!
です。final宣言し、引数として扱うことで、再利用をさせないようにします。
このクラス引数を、自クラスのフィールドに代入するときは、cloningしてから代入しましょう。また、自クラスのフィールドがpublicの場合、書き換えられる可能性もあるため、この対処は必要です。

あとは、
例外処理はフィルタリングしろ!
ってことです。だらだらとメソッドの横にExceptionを書きまくっている汚いコーディングをするのではなく、public void sample() throws MyLogicException{}的な感じで、ちゃんと例外をフィルタリングしましょうってことです。

また、
例外処理をちゃんと書け!
っつーことです。throws Exceptionおしまい。みたいな?なに、この例外?ってことは無いように。

とりあえず、今日はこの辺にしておきます。

ちょっとうるおぼえな所があるかもしれないので、間違っていたらご指摘していただければ幸いです。

2011年5月11日水曜日

Apache Derby

今日は、最近色々調べているApacheDerbyのメモです。
そして、Windowsの話です。

まず、EclipseにApacheDerbyプラグインをぶち込みます。

ApacheDerbyのサイトから、プラグインのzipを落としてきます。
そして、それをEclipseのpluginsフォルダにぶち込みます。

Eclipseを起動して、プロジェクトフォルダ上で右クリックすれば、ApacheDerbyっつー選択肢が増えているはず。

そこからAdd Apache Derby natureを選択すると、buildpathに自動的にDerbyに必要なjarが追加されます!

再度右クリック→ApacheDerbyでDerbyを起動するとDerbyが動きます。
ここで、再度右クリック→ApacheDerbyでijを起動します。
なんだ、ijっていうと、まあ、コンソールですwww

ここから色々とDerbyにSQLで命令できてしまうとです。
後は、また後日。

2011年4月9日土曜日

bashからzshへ

以前、時間があったらbashからzshに移行しようということを書きましたが、本日、しました。

やり方を調べていたところ、MacPortsからinstallする方法が書いてありしました。
ただ、投稿が古かったので、再度検索してみたところ、snow leopardならシステム環境から変更する方法を見つけました!
  1. システム環境設定のアカウントを開く
  2. 左下の認証鍵をあける
  3. 自分のアカウント名上で右クリック
  4. ログインシェルをzshへ
なんて簡単!
ちなみに、以下のやり方でもおk。
sudo dscl . -create /Users/<user-name> UserShell /bin/zsh


これから、以下のサイトでお勉強します。
http://journal.mycom.co.jp/column/zsh/index.html

◎参照サイト

2011年4月6日水曜日

DjangoでProject作成

さてさて、実は昨日からTryしてみたものの、うまくProjectが作成できなかったので、メモする。

とりあえず、DjangoのHPを見ると、
>django-admin.py startproject <your-site name>
と入れると、CurrentFolderに<your-site name> projectができると書いてあったので、Tryしてみるも、以下のErrorが…
command not found...

なにー?
ということで、PythonのVersionを確認してみても糸口が見つからず。。。
取りあえず、環境変数おかしいんじゃね?ってことで、ターミナルから.bash_profileをvimで開いてみる。特に不自然なところは無いので、MacPortsの環境変数PathのFolder(/opt/local/binかな?)に移動してみると。。。

な、なんと、
django-admin-2.6.py
の文字が!!!

なんじゃい!2.6って!

てことで、
>django-admin-2.6.py startproject <your-site name>
で、無事Project作成成功。

試しにサーバーを起動してみることに。

>python manage.py runserver

Validating models...


0 errors found
Django version 1.3, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

そして、localhost:8000にアクセス!!!
おー!
It workedの文字が!!!

快感ですね。


◎参照ページ
http://docs.djangoproject.com/en/dev/intro/tutorial01/

2011年4月4日月曜日

Pythonの切り替えとDjangoのインストール

Pythonの切り替えについては以前も書きましたし、色々な人が書いているので省略します。
簡単に言うと、MacPorts使ってpython_selectで切り替えます。おしまい。

Djangoですが、こちらはGAEで採用されているWebアプリケーションフレームワークです。
Djangoでジャンゴと読むみたいです。(デ、ディーは!?)

さて、Djangoのinstallですが、こちら
tar.gz形式で圧縮されています。
ですので、
tar xzvf Django-1.3.tar.gz
で解凍!
cd Django-1.3
で移動して
sudo python setup.py install
でinstall完了!

ま、URLに書いてある通りです。

installが終わったら、ターミナルで"python"と打ち込んで、Pythonを起動。
>>> import django
>>> django.VERSION
と打ち込んで、versionがでれば、install成功。

ターミナルに戻って
> django-admin.py startproject <project name>
と打っても、command not foundとか言いやがる。

そういえば、dmgを使ってPython2.7をinstallした記憶が。。。

取りあえず、Library/Frameworks/Python.flameworkをゴミ箱に入れて、.bash_profileで2.7のPathを削除。

再度、django-admin.pyを試すもcommand not found
何があかんのやろかー。

2011年4月1日金曜日

正規表現

恥ずかしながら、今まで正規表現をちゃんと使ったことなかったんですが、知った途端にのめり込んでしましました。
面白いですね、正規表現。今日も2時間ぐらい正規表現で遊んでました。

このサイトを利用すると、正規表現をすぐに確認できるので便利です。
結構お気に入りです。

http://regexpal.com/

そういえば、今読んでるビューティフルコードの中では、偉大なプログラマーで正規表現を使いこなせない人はいない、といった表現がありました。
まさに、その通りですね。

2011年3月28日月曜日

ブクログ

ブクログを最近始めたので、このブログに表示させたいと思い、色々なサイトを見て追加の方法を調べていた。
が、意外とわからんもので、紆余曲折の後、何故かJavascript, Google code, RapidSVNをGoogleのサイトから学んでいた。

で、まー何か得られたかというと、Javascriptの基本、Google codeとは何か、RapidSVNでのチェックイン、チェックアウトの方法など、簡単な事は学習した。

で、飽きて来たのでこのブログのデザインからガジェットの追加を見ていたところ、ありました、HTML/Javascriptの追加という項目を!

これこれ!探してたの!

ということで、ブクログのブログパーツから自分の本棚を表示するscriptをコピペして、ブログを表示。

おー!ちゃんと右側に本棚があるではないか!(寂しい棚ですが。。。)

2011年3月24日木曜日

今日はwebapp

先日、Emacsと格闘したが、あきらめてCotEditorに落ち着きました。

さて、今日はwebappというフレームワークを使用したGETとPOSTのやり取りをしました。
Googleのサンプルをコピペしてプログラム読んでただけなので、特にこれと言って問題はありませんでした。

ただ、先日はhelloworld.pyを色々いじってみたものの、ページが更新されないという問題が起きていました。GAEが参照先を指定できていなかったみたい。。。

明日はデータストアを試そうと思います。

今日はgit


ということで、gitを入れました。
先日入れたMacportsを利用して。

$ sudo port install git-core

これだけ。なんて簡単!

☆Editorについて☆
Editorをどうしようか悩んでいたが、Emacsに慣れていたので、Emacsを導入。
Ctrl-hでヘルプがでてしまうので、キーバインドをBSに変更しようとしたが、で、できない。

.emacs.elに以下の1行を追加して、RootDirectory( /.emacs.el )に置いたのに。。。

(global-set-key "\C-h" 'delete-backward-char)

何故だろう。今日は疲れたので、また時間があるときにでも調べよう。

2011年3月23日水曜日

環境構築

今日も環境構築。
昨日までに、MacPortsを入れて、Python2.5を利用する準備ができた。
後は、PyDevを使ってEclipseにInterpretersを設定するだけ。
ここで問題。
/System/Library/Frameworks/python.framework/Versions/2.5/Python
をPythonのInterpretersに選択したが、エラー。
色々調べたが、わからなかった。
ただ、/usr/bin/python2.5を選択してみたらうまくできた。
取りあえずよしとしよう。

2011年3月21日月曜日

GAE and Pythonで行こうかな〜。

とりあえず、GAEとPythonを使ってProgrammingBeginnerである私が色々遊んで行きたいと思います。
環境は、Macの10.6.6。
取りあえず、GAEを入れました。EclipseでGAEを使うためにPyDevをPlug-inに追加。今回は手動で追加しました。そして、Eclipseで新規Projectを作成中に躓きました。
うまく、GAE Directoryが設定できません。
問題はGAE_ROOT/lib/djangoという場所を探しに行くのだが、コンソールでディレクトリを調べると、django_0_96とdjango_1_2があるではないですか。
ということで、利用するシンボリックリンクをdjango_1_2に設定しておきました。
これで問題解決!
と思ったら、GAEをinstallした時から薄々気づいていたのですが、無視していた問題が。
Pythonが2.6でした(笑)
なので、Python2.5を入れます。
入れるために、MacPortsを入れようとしますが、Xcodeが無いとダメみたいなので、無償版のXcode3を入れました。(Xcode4は600円でした。AppStoreからdownloadできるのですが、途中でErrorしてうまくinstallできないみたいです。回避策はあるみたいですが。。。)
ということで、無事、Xcode3とMacPortsのinstallが完了しました。

取りあえず、今日はここまで。

☆今日の横道☆
zshとbashについて。
自分はbashを使用していますが、訳もわからずに使用しています。
ただ、どちらにどのようなメリットがあるのかは見えてきました。
だけど、導入の仕方がわからないので、また今度時間のある時に調べようと思います。