Author Archive

[Titanium]GUIなしで素早くBuildする(Mac)

BuildしたいProject直下で以下を実行
$ python /Library/Application\ Support/Titanium/mobilesdk/osx/1.5.1/iphone/builder.py run ./

Popularity: 4% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[Python]Pythonインタラクティブシェルで履歴補完をするためのreadlineをインストール

sudo easy_install readline

以下のエラーメッセージが表示された
/usr/bin/ld: cannot find -lncurses

ということで、ライブラリをインストールする

sudo apt-get install libncurses5-dev

再度、readlineのインストールを行う

sudo easy_install readline

こでバッチリ、インストールすることが出来た。

Popularity: 13% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[iPhone]Settings.bundleに”ja.lproj”(日本語)を追加する方法(localizationの方法)

よく、調べたけど結局よくわからなかった。
仕方がないので、ターミナルで以下のような感じで新規ファイルを作成した。

cd Settings.bundle
mkdir ja.lproj
touch ja.lproj/Root.strings

この後に、XCodeを再起動したらきちんとファイルが読み込まれており、
ここに値を書くことでLocalization対応ができるようになった。

Popularity: 42% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[iPhone] plistから値を取得する方法

plistの追加方法。
Resoucesを選択中にCommand + Nで新規ファイルを作成する。
この時、Reesouces -> Property List を選択。
ファイル名には必要に応じた適当な名前を付ける。

あとは、これをプログラム中で呼び出すには、下記のようにする。
# hogehoge が保存したファイル名

	NSString *settingPath = [[NSBundle mainBundle] pathForResource:@"hogehoge" ofType:@"plist"];
	NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:settingPath];
	NSLog(@"%@", dict);

Popularity: 40% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[Python]MySQLdbをインストール

なんてことないんだけど、パッケージ名がわからなくなりそうなので…

sudo easy_install MySQL-python

Popularity: 11% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[Java]Javaでrefrection

忘れないようにメモ.

	public static Object invoke(final Object target, final String methodName, final Object... params) throws Exception {

		List<Class<?>> parameterTypes = new ArrayList<Class<?>>();
		for (Object o : params) {
			parameterTypes.add(o.getClass());
		}

		Class<?> targetClass = target.getClass();

		Method method = targetClass.getMethod(methodName, parameterTypes
				.toArray((new Class<?>[] {})));

		return method.invoke(target, params);

	}

Popularity: 10% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[Java]antでtomcatにdeployする

ということで、antを使ってtomcatにデプロイを行う。

準備:
 catalina-ant.jarを”antlib”に設置。

以下をbuild.xmlに追加。

<property file="build.properties"/>

<!-- define tomcat task -->
<path id="tomcat.tasks.classpath" path="antlib/catalina-ant.jar"/>
<taskdef name="undeploy"
		classname="org.apache.catalina.ant.UndeployTask"
		classpathref="tomcat.tasks.classpath"/>
<taskdef name="deploy"
		classname="org.apache.catalina.ant.DeployTask"
		classpathref="tomcat.tasks.classpath"/>

<!-- redeploy -->
<target name="deploy">
	<deploy url="${manager.url}"
			username="${manager.username}"
			password="${manager.password}"
			path="${app.path}"
			war="${war.name}"/>
</target>

以下をbuild.propertiesに追加。

# setting
app.path="/hogehoge"
war.name="hoge.war"

# tomcat setting
manager.url=http://hoge:8080/manager
manager.username=hoge
manager.password=hoge

Popularity: 26% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[struts2]struts2とFreemarkerで、テンプレートの実行時エラー表示を抑制する

struts2でFreemarkerを使っているとそのままでは、テンプレートにエラーが
あった場合に、そのまま黄色画面でエラー(StackTrace)が表示されてしまう。

それを出力されないようにするための、FreemarkerManagerを作って設定する。
(これよりもっとスマートな方法はないものか…)

import javax.servlet.ServletContext;

import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;

public class FreemarkerManager extends
		org.apache.struts2.views.freemarker.FreemarkerManager {

	@Override
    protected freemarker.template.Configuration createConfiguration(ServletContext servletContext) throws TemplateException {
        freemarker.template.Configuration configuration = new freemarker.template.Configuration();

        configuration.setTemplateLoader(getTemplateLoader(servletContext));

        configuration.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);

        configuration.setObjectWrapper(getObjectWrapper());

        if( mruMaxStrongSize > 0 ) {
            configuration.setSetting(freemarker.template.Configuration.CACHE_STORAGE_KEY, "strong:" + mruMaxStrongSize);
        }

        if (encoding != null) {
            configuration.setDefaultEncoding(encoding);
        }

        loadSettings(servletContext, configuration);

        return configuration;
    }

}

struts.xmlに以下を記述。

	<!--  freemarker settings -->
	<constant name="struts.freemarker.manager.classname" value="com.bbt757.ktai.freemarker.FreemarkerManager" />

Popularity: 44% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[GAE]HOMEディレクトリにGoogle App Engineの開発環境を構築してみた

HOMEディレクトリにGoogle App Engineの開発環境を構築してみた

インストールするのは以下。

python2.5
easy_install
mercurial

python2.5のインストール

$ wget http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tgz
$ tar xfz Python-2.5.5.tgz
$ cd Python-2.5.5
$ ./configure --pfix=$HOME
$ make
$ make install
$ echo $?

pathの設定

$ vim ~/.bashrc
$ PATH=$HOME/bin:$PATH
$ source ~/.bashrc

easy_installのインストール

$ wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg#md5=64c94f3bf7a72a13ec83e0b24f2749b2
$ sh setuptools-0.6c11-py2.5.egg --pfix=$HOME

mercurialのインストール

$ wget "http://mercurial.selenic.com/release/mercurial-1.4.3.tar.gz"
$ tar xvfz mercurial-1.4.3.tar.gz
$ cd mercurial-1.4.3
$ make install-home

Popularity: 18% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare

[Trac]TracMercurialとTracでリポジトリブラウザが文字化けしたら…

Trac(mod_wsgi)とTracMercurialを使って、環境を作ったのだがリポジトリブラウザが文字化けしてしまった。
その時の対象法を・・・。

今回、自分の環境ではApacheとmod_wsgiを使って動かしている。

で、.wsgiファイルに以下を追加してあげることにより文字化けが治る。

os.environ['HGENCODING'] = "UTF-8"

.wsig全体では以下な感じになっている。(参考までに)

import site
import os

site.addsitedir('/usr/local/lib/python2.6/site-packages')

os.environ['PYTHON_EGG_CACHE'] = '/home/hogehoge/src/trac/eggs'
os.environ['HGENCODING'] = "UTF-8"

import trac.web.main
def application(environ, start_response):
  environ['trac.env_path'] = '/home/hogehoge/src/trac'
  return trac.web.main.dispatch_request(environ, start_response)

Popularity: 15% [?]

DiggGoogle BookmarksGoogle ReaderFacebookDeliciousFriendFeedEvernoteTwitterShare
Page 1 of 141234510...Last »