Archive for: 𔃷月 2013’

Objective-C リモートJSON解析

2013年7月27日 Posted by PURGE

久しぶりに、Objective-C の復習。
JSONの解析には、最近は標準ライブラリの、NSJSONSerialization を使用するらしい。

    //URL生成
    NSURL *url = [NSURL URLWithString:@"http://server.host/users.json"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    
    //HTTPメソッド設定
    [request setHTTPMethod:@"GET"];
    
    //リクエスト送信
    NSHTTPURLResponse *response;
    NSError *error = nil;
    NSData *jsonData = [NSURLConnection sendSynchronousRequest:request
                                          returningResponse:&response
                                                      error:&error];
    if(!error)
    {
        //JSON解析
        NSLog(@"status code: %d", [response statusCode]);
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData
                                                                options:NSJSONReadingAllowFragments
                                                                  error:&error];
        
        for (NSDictionary *dict in jsonDict)
        {
            NSLog(@"%@ %@", [dict objectForKey:@"last_name"],[dict objectForKey:@"first_name"]);
        }
    }else{
        NSLog(@"error: %@", error);
    }

SAStrutsでformクラスが見つからないエラー

2013年7月25日 Posted by PURGE

コンポーネント(class com.whoocus.app.form.xxxxForm)が見つかりません

こんな時は、下記をそれぞれのdiconファイルに追記してやる。

creator.dicon

<component class="org.seasar.struts.creator.FormCreator"/>

customizer.dicon

<component name="formCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain"/>

毎回ハマる。(-_-;)

根抵当権について

2013年7月22日 Posted by PURGE

根抵当権とは、一定の範囲に属する不特定の債権を極度額の限度において担保する為に設定される抵当権のこと。

簡単に言うと、抵当権が個々の取引ごとに設定されるのに対して、根抵当権は、銀行取引等の継続的な取引のための担保とする。
まあ、融資を受ける度に抵当権の設定は面倒臭いということで、限度額を設けて同じ抵当権で融資を受けることである。

基本的に、普通抵当権に関する規定は、全て根抵当権にも適用されるが、違いは、債権の発生、消滅に関わらずに存続する。

根抵当権の設定には、債権者と設定者の合意で成立する。
契約においては、被担保債権の範囲、極度額、債務者、目的不動産を定める。

抵当権について

2013年7月21日 Posted by PURGE

そもそも、抵当権の定義を正確に知らない。

抵当権とは、債務者または第三者が占有を移転しないで債務の担保に供した不動産について、他の債権者に抵当権者が先立って自己の債権の弁済を受ける権利である。

つまり、身近な例で言うと、会社員が銀行から住宅ローンを借りる場合、ローン借入した人が購入した住宅について、他に借金していたとしても、貸出している銀行が優先して住宅に関しての弁済を受ける権利という感じである。

ここでいう抵当権者とは銀行であり、抵当権設定者会社員のことをいう。
抵当権者は目的物(購入した住宅)を占有する必要はなく、抵当権設定者は従前の生活や事業をそのまま継続できるという感じらしい。

抵当権は、抵当権者と目的物の所有者である設定者との合意で設定される。
設定者は、第三者でもよい。その場合、物上保証人と呼ぶ。

抵当権の目的物は、土地、建物等のように、登記制度権利関係の公示が可能なものが対象となる。

MacのExcelで、複数範囲のdelete

2013年7月20日 Posted by PURGE

Macを使用していると、時々まだわからない基本的なコマンドがある。
そのうちの一つが、複数範囲のdelete。

「delete」キーと「fn」キーを同時に押すと、選択範囲が消去される。

cocos2d-x 事始め

2013年7月18日 Posted by PURGE

はじめて知ったこととして、cocos2d-xプロジェクトを新規作成するには、下記コマンドラインから、pythonコマンドで作成するのも良いらしい。

$ cd /Works/Xcode/cocos2d-x/tools/project-creator 
$ ./create_project.py -project control -package com.whoocus.control -language cpp 
proj.ios		: Done!
proj.android		: Done!
proj.win32		: Done!
proj.mac		: Done!
proj.blackberry		: Done!
proj.linux		: Done!
proj.marmalade		: Done!
New project has been created in this path: /Works/Xcode/cocos2d-x/projects/control
Have Fun!

Macでアプリがフリーズした場合

2013年7月16日 Posted by PURGE

「Command」キーと「Option」キーと「esc」キーを同時に押すと、「強制終了ウインドウ」が表示される。

C++事始め

2013年7月13日 Posted by PURGE

Cocos2d-xを勉強することとなり、今更 C++ の基礎勉強。
面倒なところは、ファイル構成がJavaと異なるし、ヘッダファイルとかあるし、インクルード等がよくわからない。

そこで、最低限のプログラム。

今まで理解しきれなかったポインタの使用方法も整理できた。
わかりやすいかも。

main.cpp

#include <iostream>
#include <string>
#include "Animal.h"
using namespace std;

int main(int argc, const char * argv[])
{

    string name = "Whoocus";
    cout << "こんにちは、" << name << "さん。\n";

    Animal dog("Pochi");
    dog.eat();     //クラスからメソッドを呼ぶ
    Animal cat("Tama");
    cat.eat();     //クラスからメソッドを呼ぶ

    //ポインタ
    Animal *pDog = &dog;
    (*pDog).eat(); //ポインタからメソッドを呼ぶ場合は .
    pDog->eat();   //ポインタからメソッドを呼ぶ場合は ->

    Animal *pCat = &cat;
    (*pCat).eat(); //ポインタからメソッドを呼ぶ場合は .
    pCat->eat();   //ポインタからメソッドを呼ぶ場合は ->

    //Newを使った場合
    Animal *pMonkey = new Animal("Etekichi");
    pMonkey->eat();
    delete pMonkey;
    //オブジェクトはポインタでしか受けられないので下記はエラーとなる
    //Animal monkey = new Animal("Etekichi");

    return 0;
}

Animal.h

#ifndef __CmdTest__Animal__
#define __CmdTest__Animal__

#include <iostream>
using namespace std;

class Animal
{
private:
    string name;
public:
    Animal(string s);
    void eat();
    ~Animal();
};

#endif /* defined(__CmdTest__Animal__) */

Animal.cpp

#include "Animal.h"
using namespace std;

Animal::Animal(string s)
{
    name = s;
}
void Animal::eat()
{
    cout << name << " is eating.\n";
}
Animal::~Animal()
{
    cout << name << " is dead.\n";    
}

Macでバックスラッシュ入力

2013年7月13日 Posted by PURGE

Macのキーボードにバックスラッシュ(\)が見当たらないことに気がつく。
簡単に言うと、option + ¥ です。
プログラミングで、改行コード等を使用する場合に必要です。 \n

Seasar2 SAStruts でのjspファイルの配置場所

2013年7月8日 Posted by PURGE

SAStrutsでの、jspファイルの配置場所に迷った。
基本、ActionからフォワードされるJSPファイルはWEB-INF以下に配置するべきである。
下記がそれぞれの設定。

web.xml

  <context-param>
        <param-name>sastruts.VIEW_PREFIX</param-name>
        <param-value>/WEB-INF/view</param-value>
    </context-param>

    <!-- commonディレクトリも/WEB-INF/view 以下に移動した場合 -->
    <jsp-config>
    	<jsp-property-group>
    		<url-pattern>*.jsp</url-pattern>
    		<el-ignored>false</el-ignored>
    		<page-encoding>UTF-8</page-encoding>
    		<scripting-invalid>false</scripting-invalid>
    		<include-prelude>/WEB-INF/view/common/common.jsp</include-prelude>
    	</jsp-property-group>
    </jsp-config>

IndexAction.java

public class IndexAction {
	
    @Execute(validator = false)
    public String index() {
        return "index/index.jsp";
    }
}

WEB-INF/view/index/index.jsp

<html>
<head>index.jsp</head>
<body>
Hello.
</body>
</html>