パーソナルツール
現在位置: ホーム 日々のメモ書き archive 2007 3月

3月

Sub-archives

2007年03月31日

django-0.96

by TANIGUCHI Takaki — last modified 2007年03月31日 10時59分
Filed Under:

django-0.96がリリースされたました。

反応が遅れましたがDebianに入ったので入れてみた。

psycopg2に変更になったので、データベースのバックエンドをpostgresql_psycopg2に変更する必要があった。

Xenとjp106

by TANIGUCHI Takaki — last modified 2007年03月31日 12時48分
Filed Under:

XenでJP106での入力がおかしいのを調べてみると。

http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01185.html
qemu-dmあたりの問題ですか、そうですか。

apt.confメモ

by TANIGUCHI Takaki — last modified 2007年03月31日 12時49分
Filed Under:

testing(stable)環境からunstableを一部インストールする方法。

なんだっけと、すでに設定してあるPCから設定を探すことがあるのでメモ。

apt-lineにsidを追加する。それだけではsidが無分別に入るので、/etc/apt/apt.confにこう書く。
APT::Default-Release "testing";

2007-04-19修正

コードネーム(etch)では駄目。

Collective SVN report

by TANIGUCHI Takaki — last modified 2007年03月31日 14時33分
Filed Under:
  • ATBiblioStyle - GS
  • Vice -  Base interfaces and classes for pluggable syndication
  •  Maps - Google Maps用か
  • FCKEditor - 2.4.1にtag
  • ZPTDebugger - 新規 - 名前の通りのもの
  • ZPTDebugger - いきなり1.0.0
  • PartnerProfile - 新規
  • ARFilePreview - 2.0rc2
  • HSCustome - theme?
  • takeaction - new - 0.1 release
  • ImageRepository - 0.7 release
  • PloneSmoothGallery - 0.3beta

Xnest + gdm

by TANIGUCHI Takaki — last modified 2007年03月31日 14時59分
Filed Under:

Xnestを使ってgdmを使いたいとき。

$ gdmflexiserver --xnest
気付かなかったよ。ああ、これで楽になる。

Plone-3.0 SVN report

by TANIGUCHI Takaki — last modified 2007年03月31日 16時45分
Filed Under:

まで

  • wickedが一緒に入るようになった
  • kssが壊れていたのが直った
  • 共有の設定が変わった。Roleを与えるのではなくて、[Can edit]を与えるとかになっている。
  • Iterate - checkout・checkinの編集ができるようになった。
  • email_charsetプロパティ?イヤの予感がしないでもない。
  • plone.app.*が 1.0b1.1 のタグを打たれている
  • 3.0-beta1のtag
  • CMFPlone/branches/jfroche-6201-locking-improvements
  • CMFPlone/branches/laz-5887-cmfplone-search-users-fix/

Debian Etch installer

by TANIGUCHI Takaki — last modified 2007年03月31日 16時45分
Filed Under:

Debian Etch Installer rc2をテストしてみた。

expertguiでブートさせる。DebianでもGUIモードのインストーラが使えるなんて…。もうすぐ10年Debianを使い続けてきて、最初のころのひどいインストーラーから比べるとついにここまで来たかと思う。ほとんどインスーラーの言うとおりにまかせて適当にやっていくだけで日本語のgdmが起動するところまで進行。素晴らしい。

2007年03月28日

PerlでKerberos5

by TANIGUCHI Takaki — last modified 2007年03月28日 00時21分
Filed Under:

Authen::Krb5::Simpleを使ってみようと思った。

/etc/krb5.confを書かなきゃいけなかったのね。どこでKDCを指定するんだろうって悩んでいたが。単純な話でした。

2007年03月25日

Bicycle Repair Man

by TANIGUCHI Takaki — last modified 2007年03月25日 13時43分
Filed Under:

Pythonのrefactoringツール

Emacs・Vim・idleに対応している。
  • 名前の変更
  • インライン化
  • あるいはメソッド化
などの機能。そんなに機能があるわけではないがまずまず便利か。

ペルー戦

by TANIGUCHI Takaki — last modified 2007年03月25日 13時43分
Filed Under:

ペルーにやる気があったのかという話は無視して。

中盤までの組立はほぼ安心して見ていられるようになったかな。時々変なことをやっているけど、きちんとパスが回るようになった。ゴール前に入れるところでまだ苦労しているところはあるが、ここまで持ってきたものだと思う。

高原はいったいどうなったんですかね?あのゴールは。このままブンデスで得点王になってチェルシーに移籍して下さい。

Tikal

by TANIGUCHI Takaki — last modified 2007年03月25日 13時43分
Filed Under:

Eclipseのpluginの管理ツールのTikalを使ってみる。

便利なんだけど、こういうツールが出てくることが成長ぶりというか、無秩序な拡大というか。なんか別のツールでまとめて管理とかいうのを見た記憶があるぞ。たまにしかEclipseをみないとわけわからん。

練習開始

by TANIGUCHI Takaki — last modified 2007年03月25日 22時07分
Filed Under:

2ヶ月以上ほうりだしてあったロードバイクに乗る。

距離は50kmぐらい。気合の入ってない格好で気合の入ってない格好で走る。

久しぶりに乗ってみたらハンドルが遠かった。いかんな、体がMTBに慣れすぎている。
しばらく走ってみたら体が思い出したようで、きちんと乗れるようになってきた。だけど、まだまだ本気の練習ではない。来週こそ本格的に走りたいものだ。

JasperReportに挑戦

by TANIGUCHI Takaki — last modified 2007年03月25日 22時28分

やっとこさJasperReportを使ったプログラムを書けた。

一から頑張るなんてことはやらないで、JasperForgeにあるサンプルをもとに改造した。サンプルのjasperbook_chapter_5のソース(JasperCompileManager.java)を改造する。もともとのコードはサーブレットになっている。そんなことされてはめんどくさいのでその場でPDFを生成するように改造した。そのあたりはThinkITの記事を参考に。ずらずらとソースを並べても仕方がないのでmainのところだけ書く。
	public static void main(String[] args) {
String templatePath = "./template/AircraftReport.jrxml";
String destPath = "./JasperSample1.pdf";
try {
JasperReport jasperReport = JasperCompileManager
.compileReport(templatePath);

JRDataSource dataSource = createReportDataSource();

JasperPrint print = JasperFillManager.fillReport(jasperReport,
new HashMap(), dataSource);
JasperExportManager.exportReportToPdfFile(print, destPath);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}

てな具合です。

ThinkITの記事はデータソースがデータベースとの接続を前提とした記事になっていたので別のコードを見なきゃデータソース変更の方法がわからなかっただけです。一回書いてみると別にデータソースの変更に面倒な話は何もない。Eclipseを使ったから勝手に補完にヘルプで楽だった。

JasperReportsで日本語を使う

by TANIGUCHI Takaki — last modified 2007年03月25日 23時20分

次は日本語だね、って適当にやってみるとエラーが出る。

さっき作ったJasperReportsのサンプルコードのデータソースに日本語を与えてみようと挑戦。次の段階として当たり前だね。jrxmlをiReportで編集。Textのプロパティを見ていけばPDF FontとPDF Encodingという欄がある。HeiseiMin-W3・UniJIS-UCS2-Hにそれぞれ設定。PDFのフォント設定として普通の設定ですね。

次にJavaのコードの変更。コード中に適当に日本語のデータを埋め込む。よし、これで実行…、あれ?
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName : HeiseiMin-W3
pdfEncoding : UniJIS-UCS2-H
isPdfEmbedded : false
at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:1465)
at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1368)
at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1351)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:1708)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:590)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:554)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:519)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:306)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:126)
at MapArrayDSReport.main(MapArrayDSReport.java:68)

というようなエラーが。調べてみるとiTextがデフォルトでCJKに対応してないからということが原因だった。iTextAsian.jarをダウンロードしてきてCLASSPATHに追加すると見事表示された。ここはまるので注意。

2007年03月24日

OpenDSでMulti-master

by TANIGUCHI Takaki — last modified 2007年03月24日 22時33分
Filed Under:

SunがOpenDSというDirectory Serverを開発している。これは既にMulti-masterを実装しているので試してみた。

もちろん知ってのとおりSun MicrosytemsはiPlanet由来のSun Java Directory Serverを持っている。エンタープライズ用途にも耐えられる立派なものである。でこのOpenDSはJavaで一から実装しているDirectory Serverである。ちなみにSunはOpenDSを作ったからといってSJDSをやめるつもりはないと言っている。

現在のOpenDSはあくまで開発中という位置付けではあるが既にMulti-masterを実装しておりなかなか意欲的な仕上がりを見せている。OpenDSを使
うにはサイトからダウンロードしてインストーラに適当に打ち込めばいいので省略してMulti-masterの実験をしよう。
なお、これはOpenDS-0.1-build-032に基いている。

まず、OpenDSを2箇所に展開する。便宜上OpenDS1とOpenDS2と呼ぶことにする。それぞれの初期セットアップをすませる。LDAPのポートは10389と20389とでもしておく。もし、別のサーバが用意できるのなら別のサーバで動かしてもよい。OpenDS1とOpenDS2の両方にdc=example,dc=comのbaseDNを作っておくこと。OpenDS1には適当にデータを入れておく。

次にOpenDS1のconfig/config.ldifを編集する。syncronization.ldifを後にくっつける。
dn: cn=example, cn=Multimaster Synchronization,cn=Synchronization Providers,cn=c
onfig
objectClass: top
objectClass: ds-cfg-synchronization-provider-config
cn: example
ds-cfg-synchronization-dn: dc=example,dc=com
ds-cfg-changelog-server: localhost:18989
ds-cfg-changelog-server: localhost:28989
ds-cfg-directory-server-id: 1
ds-cfg-receive-status: true

dn: cn=Changelog Server, cn=Multimaster Synchronization, cn=Synchronization Prov
iders, cn=config
objectClass: top
objectClass: ds-cfg-synchronization-changelog-server-config
cn: Changelog Server
ds-cfg-changelog-port: 18989
ds-cfg-changelog-server: localhost:18989
ds-cfg-changelog-server: localhost:28989
ds-cfg-changelog-server-id: 1
ds-cfg-changelog-portが自分自身の同期に使うポート、ds-cfg-changelog-serverはMasterになるサーバーを指定する。OpenDS1とOpenDS2のことですな。ds-cfg-directory-server-idがMaster毎に違う番号を割り振る。OpenDS1には1番を割り振る。

次はOpenDS2の設定だが、ds-cfg-changelog-portは当然変えておくこと。28989ですね。ds-cfg-changelog-server-idは2にする。以上で設定はおわり。OpenDS1とOpenDS2の両方を起動させる。あとは適当にデータをいじってみよう。LDAP Studioでやれば二つのサーバを同時に参照できるので楽だろう。片方の変更が即座に両方に反映させるのがわかるだろう。もちろんMulti-masterなのでどちらを変更しても大丈夫。
そして片方のサーバーを停止させて、もう片方で変更を加えたとしても、次に起動させるときちんと同期が取れている。

OpenLDAPに苦労している身にとってはもう使ってしまおうかしらんと思うような素晴しいソフトウェアである。

参考

2007年03月19日

Plone SmoothGallery

by TANIGUCHI Takaki — last modified 2007年03月19日 22時42分
Filed Under:

Plone SmoothGalleryの紹介

SmoothGalleryというソフトウェアがあって、それをPlone上に移植したもの。Flashを使わないでJavaScriptとCSSのみで動きのあるフォトアルバムが作成できるというもの。なかなかすごい。

2007年03月16日

MRTG

by TANIGUCHI Takaki — last modified 2007年03月16日 01時02分
Filed Under:

久しぶりにmrtgを使ったのでメモ

# cfgmake 192.168.0.1 > /etc/mrtg.cfg
# indexmake /etc/mrtg.cfg > /var/www/mrtg/index.html

 

2007年03月07日

りんかい線

by TANIGUCHI Takaki — last modified 2007年03月07日 01時02分

大崎駅で乗り換えをいつもするんだが。

案内がわかりにくいと思う。次どこのホームから出るのよ。

2007年03月06日

sshで内部へのトンネル

by TANIGUCHI Takaki — last modified 2007年03月06日 00時52分
Filed Under:

sshを使って外から内側へのトンネルを作る

# ssh -R 10022:localhost:22 -f remote.pri ping -i 60 localhost > /dev/null

GenericSetupを使う(2)

by TANIGUCHI Takaki — last modified 2007年03月06日 23時45分
Filed Under:

続き

少し思ったこととして、できればZopeの中に設定を入れるのはやめたいというのはあるのかもしれない。設定はXMLに入れる。ただ、互換性みたいな面からGSを使ってZopeの中に入れている。そんな気がするけど。できれば起動時に読み込んでしまってZopeの中には入れないようにしたいんじゃないのかな。必要ないもの。

GSに対応させる方法ですが、試行錯誤で今のところこんな感じかな。
__init__.py: profile_registr.registerProfile()を実行する。これでGSのprofileを使うことを実行。
profile_registry.registerProfile(
        name='default',
        title='ATAmazon',
        description='Profile for ATAmazon',
        path='profiles/default',
        product='ATAmazon',
        profile_type=EXTENSION,
        for_=IPloneSiteRoot)
で、実際にprofileを書いてく。
profiles/default/import_steps.xml: 必須ではないが…。GSの実行順序に依存関係があるときに必要らしい。
<?xml version="1.0"?>
<import-steps>
<import-step
id="ATAmazon_various"
version="0.3.20070303"
handler="Products.ATAmazon.setuphandlers.setupVarious"
title="ATAmazon: miscellaneous import steps">
Import steps that couldn't be mapped to other handlers.
</import-step>
</import-steps>
profiles/default/types.xml: まあ、こんなファイルをずらずら書いていくわけですよ
<?xml version="1.0"?>
<object name="portal_types" meta_type="Plone Types Tool">
<object name="AmazonItem" meta_type="Factory-based Type Information"/>
</object>
profiles/defaults/type/ATAmazon.xml: content typeへ与えるパラメータを書く
<?xml version="1.0"?>
<object name="AmazonItem" meta_type="Factory-based Type Information"
xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<property name="title">AmazonItem</property>
<property name="description">
</property>
<property name="content_icon">document_icon.gif</property>
<property name="content_meta_type">AmazonItem</property>
<property name="product">ATAmazon</property>
<property name="factory">addAmazonItem</property>
<property name="immediate_view">base_view</property>
<property name="global_allow">True</property>
<property name="filter_content_types">False</property>
<property name="allowed_content_types"/>
<property name="allow_discussion">False</property>
<alias from="edit" to="base_edit"/>
<action title="view" action_id="view" category="object" condition_expr=""
url_expr="string:${object_url}/amazon_item_view" visible="True">
<permission value="View"/>
</action>
<action title="Edit" action_id="edit" category="object" condition_expr=""
url_expr="string:${object_url}/base_edit" visible="True">
<permission value="Modify portal content"/>
</action>
<action title="Properties" action_id="metadata" category="object"
condition_expr="" url_expr="string:${object_url}/base_metadata"
visible="True">
<permission value="Modify portal content"/>
</action>
</object>
つくりかけなのでこれが動かんとか言われても困る。いままではATAmazon.pyに書いていたコードをこっちに全部引っ越してくることになる。
setuphandler.py: 何か実行する必要があるときに書くらしい。
def setupVarious(context):
site = context.getSite()
logger = context.getLogger('atamazon')
logger.info("atamazon_various: Nothing done")
return

Extension/Install.py: QuickInstllerを使うのに必要

from Products.CMFCore.utils import getToolByName

def install(portal):
setup_tool = getToolByName(portal, 'portal_setup')
setup_tool.setImportContext('profile-ATAmazon:default')
setup_tool.runAllImportSteps()
setup_tool.setImportContext('profile-CMFPlone:plone')
return "Ran all import steps."
それからconfigure.zcml
  <genericsetup:registerProfile
name="default"
title="ATAmazon"
directory="profiles/default"
description="Extension profile for default ATAmazon setup."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

まあ、短かくなったものだ。

あくまで作りかけのコードなので、これをそのまま参考にしても駄目ですよと。
takaki's twitter
焼酎風味の水に500円も取ろうとはどういう店だ。 2010年03月09日 22時53分
ジョブカードなる糞エクセル方眼紙を埋め中。心が折れそうだ。 2010年03月08日 22時16分
Excel方眼紙がOOoで崩れるわけだが。 2010年03月04日 22時49分
嫌味言ってりゃ世の中良くなるわけでもなし 2010年03月04日 22時06分
どう考えても風邪だがタイミングが悪すぎる 2010年03月02日 23時51分
Affiliate