Programming
2010年09月07日
OFXの出力
OFXのファイルを出力する方法をしらべる。
gnucashを調べていてOFXのファイルをインポートできることはわかった。さて、では自分でOFXのファイルを作成する方法はと調べてみたが
- Pythonのライブラリはあったがparser
- Perlは微妙にあるのかな?
- libofxはexportはfuture planと言われる
2009年12月05日
Google App Engine + OpenID
サンプルを動かす。
google app engine のサンプルからOpenIDのサンプル(openid-consumer)をダウンロード。そのまま素直に動いたのでよしとする。
2009年12月03日
OAuthのプロトコルを自分で実装
Google App EngineでTwitterにOAuthで認証するまで自分でがんばる。
サンプルをわけわからないで動かしていたのをpython-oauthを使ってプロトコルの流れを自分で実装。本来はredirectで自動でやる部分をリンクで手動でやるようにしたのでどういうURLのアクセスしようとしているのか理解できた。なんでRequestTokenのシリアライズをやっているのかが実装してみたら理解できた。もうちょっとあとでデータの流れをきちんと説明できるような状態にしておこう。
本当は先週のうちにやっていれたらPython東海でもうちょっとましな説明ができただろうに、反省。
次の目標はOpenIDか。
2009年05月11日
haxe
Web-oriented universal programming language
JavaScriptに似た雰囲気のある言語。一つのソースからJavaScriptやFlashやPHPなんかが生成できるとのこと。チュートリアルをちょっとやってみたところなかなか面白い感じ。Ajaxのコードがあんな素直に書けるのは面白い。
2009年02月27日
久しぶりのsf.net
久しぶりにsf.netを使ってみて気付いたこと
- sshのアクセスが随分変わっていた。専用仮想マシンをon demandで作成するみたい
- rubyがCGIで動くようになっていた。
- デフォルトのプロジェクトウェブサイトがかっこよくなっていた。
- サイトドキュメントにtrac使いまくり(いいのか?)
- 全般にごちゃごちゃしてわかりにくくなった。
2009年02月23日
PRCSってどうなった?
むかしむかしPRCSというバージョン管理システムがあってそれをつかっていたわけなんだが。
ちょっと昔のコードをひっぱりだしたいなーと思ったらPRCSのdebがなかったという話。時代の変化を感じるなあ。開発元が放り出して何年だ?Ubuntuにあったりするのが以外だ。prcs2svnというツールはあるがmerge treeの再生まではできないようである。PRCS自体がどうにかなるのは期待できないのが、昔のリポジトリが引っ張り出せなくなるという悲劇は避けたいのでsvnにでも最低変換しておかないと完全に取り出せなくなったら面倒。僕はsvnは使わんから本当に必要なときにはsvnから何かに変換するのだろうけど。ただ3年はなーにも更新してないソフトウェアを何かするのかって話はあるんだがね…。
sf.netのcvsをgitにするためあれこれ
最近gitをごにょごにょやりだしたのでsourceforge.netに放置してあるプロジェクトのCVSとgitにしてみようかと。
まずCVSのリポジトリを取り出す。rsyncで取り出せる。
$ rsync -av rsync://project.cvs.sf.net:/cvsroot/project/module .で取り出す。これをgitに変換したいわけだが…。
$ git cvsimport -d /path-to-cvsroot -C module_git moduleてな具合でできる。
cvs2gitというツールもあったが…。これで変換できたからいいのかな?
さて、PRCSのリポジトリはどうしたらいいのだろうか。
2008年12月11日
vala
gnome.orgで(?)開発している言語。
CとC#とJavaを混ぜたような感じがする。Glibのtypeが自然に使えるのが利点なんだろうか?
2008年05月14日
ArchGenXMLを使うぞ
楽なのかな。
easy_installを使ってarchgenxmlをインストール。argoumlはapt-getでインストール。参考サイトを見てやってみるがArgoUMLの使い方がいまいちわからん。UMLもわかってないんだった。うわ、DebianのArgoUML古すぎる。
tigrisのほうにJava Web Startで最新版を使ってサンプルっぽいのを作ってみた。おー、すごい。configure.zcmlまで一気に作ってくれる。これはすごい。
PloneのProductを作るぞ
PloneのProductをやっと作る気になってぼちぼち始める。
PloneのProductを作るのには大量の知識が必要となるのだが、どうもまとまったドキュメントが見当らない。困った困った。あっても2.5用とか微妙に古かったり。何はともあれ作る。
Archetypesを使うのはいい。configure.zcmlがまた謎だ。通常のはいいけど別の名前空間、fiveとかgsとか、のまとまったマニュアルが見当らない。どこだろう。個々の資料はあってもまとめってどう構築するかがわからない。頑張ってソースを読むか他のプロダクトを調べるということかね。
2008年04月17日
Pythonが最初だったか
Google App Engineの話
Google App Engineでサポートされた最初の言語がPythonだった。勝利とかどうとか言う話はないが、慣れているなあという話。GAE自体がまだ使えないけど。
PHPのサポート来るのはずっと先になるんじゃないのかな。実際には次かもしれないけど、PHPしか知らないとこういうとき辛いよ、と思うわけなんだが。
2008年03月29日
Erlang
つぎはErlang行くぜと。節操無さすぎ。
2008年03月24日
Scala挑戦
また新しいプログラミング言語に挑戦。
Scalaに挑戦することにした。JVMの上で動くのでJavaのライブラリが使えるというところが面白い。関数型言語はかじったことがあるので概念に悩むということはないけれど…。ざっと目を通してちょこちょことプログラムを書いて大体こんなものかと。なんか大きなものを書いてみないとなかなか理解はできないからなあ。何がいいかなあ。
Debianでやっていたがgijを使っていると動かなかった。SunのJava6.0を使ったら動いた。
2007年04月16日
valgrind
A memory debugger and profiler
適当にメモリリークを起こすコードを書く。
#include <stdlib.h>
int
main(void)
{
malloc(100);
return 0;
}
次に -g 付きでコンパイルしてからvalgrindを通して実行する。
$ valgrind --leak-check=full ./a.out
==28368== Memcheck, a memory error detector.
==28368== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==28368== Using LibVEX rev 1732, a library for dynamic binary translation.
==28368== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==28368== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation framework.
==28368== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==28368== For more details, rerun with: -v
==28368==
==28368==
==28368== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 13 from 1)
==28368== malloc/free: in use at exit: 100 bytes in 1 blocks.
==28368== malloc/free: 1 allocs, 0 frees, 100 bytes allocated.
==28368== For counts of detected errors, rerun with: -v
==28368== searching for pointers to 1 not-freed blocks.
==28368== checked 59,080 bytes.
==28368==
==28368== 100 bytes in 1 blocks are definitely lost in loss record 1 of 1
==28368== at 0x40244B0: malloc (vg_replace_malloc.c:149)
==28368== by 0x8048370: main (leak.c:6)
==28368==
==28368== LEAK SUMMARY:
==28368== definitely lost: 100 bytes in 1 blocks.
==28368== possibly lost: 0 bytes in 0 blocks.
==28368== still reachable: 0 bytes in 0 blocks.
==28368== suppressed: 0 bytes in 0 blocks.
てな具合です。
- Accesses memory it shouldn't (areas not yet allocated, areas that have
been freed, areas past the end of heap blocks, inaccessible areas of
the stack).
- Uses uninitialised values in dangerous ways.
- Leaks memory.
- Does bad frees of heap blocks (double frees, mismatched frees).
- Passes overlapping source and destination memory blocks to memcpy() and
related functions.
などができるとのこと。

