GAEアプリケーション移行
2013年1月10日

前々から、やらなくてはいけないと思いつつ、のびのびになっていた、Google App EngineアプリケーションのMaster/Slave から High Replication へのマイグレーションを行っています。(現在進行中)

以下のサイトを参考にしています。

Master/Slave から HRD への移行

マイグレーション作業を行う前に、とりあえず、GAEのデプロイしたソースを以下の手順でダウンロードします。

mkdir <output-dir>
cd <output-dir>
appcfg.py download_app -A <your_app_id> -V <your_app_version> ./

ちなみに、app.yamlやskip_filesはダウンロードできない。

以上。

django admin をサブディレクトリで動かした時の設定 覚書
2012年11月28日

2012/12/05 nginx.conf に追記・削除。
       →スラッシュ補完を正常に動作させるため。

os:Ubuntu 12.04.1 LTS
Python 2.7.3
django 1.4.2
nginx 1.1.19 

django admin をサブディレクトリで動した時の設定をメモ。
リバースプロキシにnginxを使い、djangoアプリサーバーは、デフォルトのrunserverを使用。
django admin (管理画面)を
http://www.example.com/admin ではなく、
http://www.example.com/djangodir/admin で動かす。
/static/フォルダが読み込めず、結局、nginxのconfでベタ打ち。
とりあえず動いている。
ちなみに、python開発環境には、virtualenvを使用している。

django の settings.py (抜粋)

# STATIC_URLのみ設定。
STATIC_ROOT = ''
STATIC_URL = '/djangodir/static/'
STATICFILES_DIRS = (
)

# 最終行に以下を追加
FORCE_SCRIPT_NAME='/djangodir'

nginx.conf (抜粋)※2012/12/05 追記・削除

        location /djangodir {
                 # 2012/12/05 以下の一行追記
                 rewrite ^/simpledjango/(.*)$ /$1 break;
                 proxy_pass http://localhost:8000;
        }
        
     # 以下、三行削除
        #<del datetime="2012-12-09T13:50:45+00:00">location /djangodir/admin/ {</del>
        #         <del datetime="2012-12-09T13:50:45+00:00">proxy_pass http://localhost:8000/admin/;</del>
        #<del datetime="2012-12-09T13:50:45+00:00">}</del>
  
        location /djangodir/static/ {
                 # static/がどうしても読み込めずベタ打ち
                 alias /home/user01/.virtualenvs/djangodir/lib/python2.7/site-packages/django/contrib/admin/static/;
        }

static/ の設定は、「とりあえず動く」ということで・・・。本番環境では問題あるかも?
djangoアプリサーバーは、gunicornに置き換える予定。

<参考>
nginx連載4回目: nginxの設定、その2 – バーチャルサーバの設定

zshでの、virtualenv設定覚書
2012年11月21日

os:ubuntu12.04.1
zsh:4.3.17

pythonの開発環境として、virtualenvを使うことにした。
シェルもzsh、screenも使うことにした。
シェルのカスタマイズをしなければ、特に問題はなかったのだが、
zshカスタマイズしたら、virtualenvのプロンプトがでなくなってしまった。
で、出るようにした時の覚書。
(env:<仮想環境名>)と右側に表示できるようにした。

ちなみに、zshのカスタマイズは、
・Zshのオススメ設定集 https://github.com/clear-code/zsh.d
を、ベースとして使わせていただいている。

~.zsh.d/zshrc に、virtualenvのプロンプト設定を加えた。


## プロンプトを更新する。
update_prompt()
{
・・・
# virtualenvの情報取得
if [ -n "$VIRTUAL_ENV" ]; then
RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%${reset_color}%} ${RPROMPT}"
fi
・・・
}

以上。

iPhoneアプリ開発日誌 〜CoreData TabBarアプリでの設定など他
2012年10月24日

iPhoneアプリ開発で、CoreDataを使用するに当たって、調べたこと、つまづいたことの覚書。

・innerBandというもの
・tabアプリでcoredataを使うとき必要な設定
・CoreDataでリレーションのあるEntityのAttributeの指定方法

innerBandというもの

私は使わなかったが、「innerBand」というCoreDataを使いやすくするフレームワークがあるらしい。CoreDataを簡単に利用したい方はこういったフレームワークを使うと良いかもしれない。私個人の意見だが、Appleが作成したフレームワーク以外のものは、iOSのアップグレードなどで不具合が起きやすいと感じているので、出来る限り使わない。ただ、このフレームワークのソースをみて、いろいろ理解が深まったのでここに記す。
https://github.com/ZaBlanc/InnerBand

http://raptureinvenice.com/innerband-2/

tabアプリでcoredataを使うとき必要な設定

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    // CoreData
    app = (XXXXXXAppDelegate*)[[UIApplication sharedApplication] delegate];

- (NSFetchedResultsController *)fetchedResultsController
{
    if (__fetchedResultsController != nil) {
        return __fetchedResultsController;
    }
    
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        
    // CoreData   上で設定した「app.」を使う
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Track" inManagedObjectContext:app.managedObjectContext];
  [fetchRequest setEntity:entity];

CoreDataでリレーションのあるEntityのAttributeの指定方法

Error「 the entity XXXXX is not key value coding-compliant for the key ”list.name” 」

解決策

self.listField.text = [[self.detailItem valueForKey:@”list.name”] description];

以下に変更
self.listField.text = [[self.detailItem valueForKeyPath:@”list.name”] description];

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta
iPhoneアプリ開発日誌 〜CoreData
2012年10月23日

iPhoneアプリでデータベースを使おうとしている方は、必然的にCoreDataというものを使用することになります。CoreDataは理解するのに時間がかかりました。ただし、使えこなすことができると、すごく便利なので頑張ってください。はじめは、以下の2サイトがとても役に立ちました。

「A Day In The Life」の「サルでもわかる Core Data 入門【概念編】実装編】

CoreDataに関しては、リレーショナルDBに慣れた人はとっつきづらいと思う。概念と実装が分かれていて理解しやすい。そして実装編のアプリもサンプルに少し手を加えてあるだけなので、理解が早まると思う。サンプルアプリにいろいろ手を加えて、学習していけば理解が深まると思う。

「Everything was born from Love」の「Study CoreData

CoreData使って、ToDoアプリを作ろうと思ってる人はドンピシャなサイト。とど松作る時に、こんなソースが公開されてたら作っても意味なさそうだな、と感じたサイト。

〜私の作成アプリ[matsuyuta’s App]〜

とど松 とど松 - matsuyuta
ハブ松
ハブ松 - matsuyuta
イチ松
イチ松 - matsuyuta