コグノスケ


2014年9月1日

Linux 3.14.16動作on自作ARMエミュ

自作ARMエミュレータ上でLinux 3.14.16も起動しました。

実行速度が遅いのは相変わらずですが、ちょっとしたキャッシュを入れたおかげで、従来比2倍くらいになりました。下記はCore2 Quad Q9550での実行結果です。

Linux 3.14.16起動ログon自作ARMエミュレータ
Connected to the target VM, address: '127.0.0.1:59905', transport: 'socket'

Exception: Reset by 'Init.'.
loadFile: Z:\arm_cross\linux-3.14.16\arch\arm\boot\Image
loadFile: 'Z:\arm_cross\linux-3.14.16\arch\arm\boot\Image' done, 3912512bytes.
loadFile: Z:\arm_cross\work\initramfs.gz
loadFile: 'Z:\arm_cross\work\initramfs.gz' done, 1113122bytes.
UARTFBRD: 0x00000004
UARTIBRD: 0x00000027
UARTLCR_H: 0x00000070
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.14.16+ (katsuhiro@falcon) (gcc version 4.9.1 20140710 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.07 - Linaro GCC 4.9-2014.07) ) #7 Tue Sep 2 00:29:04 JST 2014
[    0.000000] CPU: ARM926EJ-S [41069260] revision 0 (ARMv5TEJ), cr=00003137
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: ARM-Versatile PB
[    0.000000] Ignoring unrecognised tag 0x00000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 16384
[    0.000000] free_area_init_node: node 0, pgdat c03c2c18, node_mem_map c3f7a000
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    0.001122] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
[    0.007939] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.009354] pcpu-alloc: [0] 0 
[    0.016694] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.017822] Kernel command line: console=ttyAMA0 mem=64M lpj=0 root=/dev/ram init=/bin/sh debug printk.time=1
[    0.034226] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.037649] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.051346] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.171196] Memory: 59872K/65536K available (2809K kernel code, 156K rwdata, 732K rodata, 115K init, 116K bss, 5664K reserved)
[    0.176299] Virtual kernel memory layout:
[    0.176299]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.176299]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.176299]     vmalloc : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.176299]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.176299]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.176299]       .text : 0xc0008000 - 0xc037d840   (3543 kB)
[    0.176299]       .init : 0xc037e000 - 0xc039ac8c   ( 116 kB)
[    0.176299]       .data : 0xc039c000 - 0xc03c3340   ( 157 kB)
[    0.176299]        .bss : 0xc03c3340 - 0xc03e0694   ( 117 kB)
[    0.194996] NR_IRQS:224
[    0.311103] VIC @f1140000: id 0x00041190, vendor 0x41
[    0.334340] FPGA IRQ chip 0 "SIC" @ f1003000, 13 irqs, parent IRQ: 63
[    0.421699] Console: colour dummy device 80x30
[    0.426511] Calibrating delay loop... 15.18 BogoMIPS (lpj=75904)
[    1.453855] pid_max: default: 32768 minimum: 301
[    1.470559] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    1.471997] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    1.549273] CPU: Testing write buffer coherency: ok
[    1.567848] Setting up static identity map for 0x802ac900 - 0x802ac958
[    1.792641] VFP support v0.3: no double precision support
[    1.826380] NET: Registered protocol family 16
[    1.913054] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    2.222332] Serial: AMBA PL011 UART driver
[    2.232115] dev:f1: ttyAMA0 at MMIO 0x101f1000 (irq = 44, base_baud = 0) is a PL011 rev1
[    2.471302] console [ttyAMA0] enabled
[    2.506242] dev:f2: ttyAMA1 at MMIO 0x101f2000 (irq = 45, base_baud = 0) is a PL011 rev1
[    2.542220] dev:f3: ttyAMA2 at MMIO 0x101f3000 (irq = 46, base_baud = 0) is a PL011 rev1
[    2.580195] fpga:09: ttyAMA3 at MMIO 0x10009000 (irq = 70, base_baud = 0) is a PL011 rev1
[    3.207538] bio: create slab <bio-0> at 0
[    3.444611] Switched to clocksource timer3
[    4.365563] NET: Registered protocol family 2
[    4.453045] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    4.465491] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    4.474190] TCP: Hash tables configured (established 1024 bind 1024)
[    4.482792] TCP: reno registered
[    4.485464] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    4.493590] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    4.522323] NET: Registered protocol family 1
[    4.552290] RPC: Registered named UNIX socket transport module.
[    4.555861] RPC: Registered udp transport module.
[    4.559377] RPC: Registered tcp transport module.
[    4.562420] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    4.599499] Trying to unpack rootfs image as initramfs...
[   41.046708] Freeing initrd memory: 1084K (c0800000 - c090f000)
[   41.069328] NetWinder Floating Point Emulator V0.97 (double precision)
[   41.141637] futex hash table entries: 256 (order: -1, 3072 bytes)
[   41.206487] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   41.221841] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[   41.248434] ROMFS MTD (C) 2007 Red Hat, Inc.
[   41.252843] msgmni has been set to 119
[   41.288910] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[   41.292702] io scheduler noop registered
[   41.294993] io scheduler deadline registered
[   41.299488] io scheduler cfq registered (default)
[   42.651584] brd: module loaded
[   42.698604] physmap platform flash device: 04000000 at 34000000
[   42.799677] physmap-flash physmap-flash.0: map_probe failed
[   42.938847] smc91x: not found (-19).
[   42.980983] mousedev: PS/2 mouse device common for all mice
[   43.023922] ledtrig-cpu: registered to indicate activity on CPUs
[   43.175215] TCP: cubic registered
[   43.177334] NET: Registered protocol family 17
UARTIFLS: 0x00000012
UARTFBRD: 0x00000000
UARTIBRD: 0x00000001
UARTLCR_H: 0x00000000
UARTFBRD: 0x00000000
UARTIBRD: 0x00000000
UARTLCR_H: 0x00000070
UARTFBRD: 0x00000004
UARTIBRD: 0x00000027
UARTLCR_H: 0x00000070
[   43.361101] Freeing unused kernel memory: 112K (c037e000 - c039a000)
hello, world!!
/bin/sh: can't access tty; job control turned off
UARTFBRD: 0x00000004
UARTIBRD: 0x00000027
UARTLCR_H: 0x00000070
/ # 

実行速度が速いと時間当たりの試行回数を増やせて、デバッグ効率が良くなるので、実行速度って結構、大事だったりします。

ハングしていたところ

以前、ハングしていた箇所はPL110 Color LCDドライバでした。今のところカーネルコンフィグを変え、PL110ドライバをコンパイル対象から外すことで、ハングを回避しています。

それだけで1週間掛かっちゃう?って思った方はスルドイです…。本当のところを言うと「ハングはイケてないぜ、直すぜー!」と思ってPL110のLinuxドライバのコードを見ていましたが、どう直したもんかわからず、諦めたのです…。

なぜかPL110のドライバはPL110とPL111(次世代コア)のレジスタアドレスが両方書いてあって、どちらのコア用の制御なのかがわかりませんでした。一応、どちらの仕様書も持っていますから、最悪、両方作って試せば良いのですけど、さすがに面倒すぎる…。

おそらく私が何か勘違いしているだけの可能性大なのと、LCDのエミュレーションはまだやるつもりがないので、この件は頭の隅で細々と考えることにします。

編集者:すずき(2014/09/02 09:14)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月5日

PukiWikiの代わり - MoinMoinを試す

目次: 自宅サーバー

長いこと開発が停滞しているPukiWikiに鞭打って使ってきました(※)が、そろそろ置き換えようかと思います。置き換え候補としてはWikipediaでお馴染みMediaWiki、TWiki、MoinMoin辺りが割と活発なプロジェクトのようです。

(※)と思ってたら、開発が再開して7月に1.5.0がリリースされました。6年ぶり?くらい?

MoinMoin

MediaWikiはPukiWikiと同じくPHPで書かれているのは良いのですが、データベースを使うらしく面倒だったので、Python以外に何も要らないMoinMoinを試してみました。環境はApache 2.2 + WSGI + Python 2.7.3です。

MoinMoinのセットアップは初見殺しが多くてわかりづらいです。私は下記の手順で設定しました。とりあえず動きましたが、合ってるのかなあ、これ。

tar xzvf moin-1.9.7.tar.gz
tarballの展開です。でも展開しただけではダメで、インストールが必要です。
setup.py install --prefix=/home/username/public_html/wiki
インストールです。せっかくスクリプト言語なのに、コンパイルだのインストールだの面倒です…。
mv /home/username/public_html/wiki/share/moin/* /home/username/public_html/wiki/
MoinMoin本体ファイル、その他の依存ファイルを全て移動します。
ここでファイルを移動させるかWebサーバ側でshare/moinに向けてAliasを設定しないと、WikiのURLにshare/moinが入ってしまいダサいです。
mv /home/username/public_html/wiki/share/lib /home/username/public_html/
ライブラリのディレクトリを移動させます。移動させなくても動くと思いますが、後で設定ファイル書く際にパスが無意味に長くなってしまいダサいです。
cp /home/username/public_html/wiki/server/moin.wsgi /home/username/public_html/
MoinMoinのWSGIスクリプトであるmoin.wsgiのひな形をコピーします。
もし必要なら .htaccessにてDirectoryIndex moin.wsgiとすると、WikiのURLからmoin.wsgiを省略できます。
vi moin.wsgi
WSGIスクリプトはそのままでは何一つ動きません。書き足すべきは2つです。
(その1) MoinMoinのライブラリパス
sys.path.insert(0, '/home/username/public_html/wiki/lib/python2.7/site-packages')
(その2) コンフィグ(wikiconfig.py)のパス
sys.path.insert(0, '/home/username/public_html/wiki')
ln -s lib/python2.7/site-packages/MoinMoin/web/static/htdocs moin_static197
CSSとかJavaScriptの入ったディレクトリへのリンクを張ります。これを忘れるとCSSも画像も全く参照できなくなってページのデザインが崩壊し、白地に文字だけが出る悲しい有様になります。
ディレクトリ名はmoin_staticXYZという名前で、XYZにはバージョンが入ります。今回使ったのは1.9.7なのでXYZ = 197となっています。今日一番の「そんなの知らないよ…」ポイントでした。
cp /home/username/public_html/wiki/config/wikiconfig.py ./
設定ファイルのひな形をコピーしてきます。
vi wikiconfig.py
設定ファイルもデフォルトの設定ファイルのままでは動きません。書き足すべきは2つです。
(その1) CSSやJavaScriptの位置(url_prefix_staticにはmoin_static197が最初から入っています)
url_prefix_static = '/~username/wiki' + url_prefix_static
(その2) スタートページ
page_front_page = u"MyStartingPage"

とりあえず使ってみた感想としては、閲覧は速いですが、編集は異様に遅いです。遅すぎてイライラする。これを常用するのは厳しいぞ…。

蛇足

Pythonで書かれたCGIはライブラリの位置(site-modules)を設定ファイルに書く必要があって面倒です。私の場合、メインのSakuraのサーバと、サブの自宅サーバとで、パスを書き換えねばならず面倒くさいです。

今使っているMercurialのWebフロントエンド(hgwebdir.cgi)もPythonで書かれていて、ライブラリの位置を設定ファイルに書く必要があります。CGIをバージョンアップする度に、設定を上書きして潰してしまいInternal Server Errorに遭遇して、そういえば設定が要るんだった、と思い出します。

Python自体は簡潔で良い言語だと思いますが、CGIになると面倒くさくてイマイチというか…、単に私の管理方法が悪いだけなのか…。とにかく、あまり好きになれません。

編集者:すずき(2024/01/13 17:12)

コメント一覧

  • IKeJIさん(2014/09/10 01:31)
    Mediawiki + SQLite という選択肢があった気がします。使った事はないですが。
  • すずきさん(2014/09/10 02:01)
    >IKeJI さん
    ありがとうございます。
    今度の休みにトライしてみます。
open/close この記事にコメントする



2014年9月7日

レガシィの2回目の車検

目次:

買ってから2回目となるレガシィの車検です。今回はレガシさんを購入したネクステージ大阪茨木店さんにお願いしました。お値段は大体14万円くらいでした。

そういえばネクステージ大阪茨木店は、スバル専門店だった(少なくともレガシィを買ったときは)のですが、いつのまにかミニバン専門店に様変わりしていました。1社専門だと売れ行きが厳しいのでしょうか?

毎年、夏になるとカーセキュリティが暑さで誤報を発して、近所迷惑極まりないので、車検と同時にカーセキュリティを調整してもらいました。

センサーの位置を変えたそうですが、残念ながらもう暑くないので、調整の成果は来年にならないと確認できません…。

編集者:すずき(2023/09/30 14:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月8日

いきなりバージョンが飛ぶと焦る

SeaMonkeyがいきなり2.26から2.29にバージョンアップしたので、長らくアップデートを忘れていたのか?とちょっと焦った…。

都市伝説

ツルゲーネフ「片恋」二葉亭四迷 訳の「死んでも可いわ…」について。

その一節はあるけれど、I love youの訳語ではないので、都市伝説というか、誤解かな。

リンク先(FLAMA技術Blog - 二葉亭四迷は「I love you.」を「死んでもいいわ」と訳していない。)は原著にまで当たっていて大変参考になりました。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 06:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月10日

スマートフォンとこのブログ

以前から調子が悪いなとは思っていたのですが、スマホから3G/LTE回線を使って、このブログにアクセスすると、タイムアウトして一切表示できないことがわかりました。

正確に言うと、トップページだけは表示できますが、過去の日記を表示させようとするとブラウザがダンマリを決め込んで、しまいに「サーバーが応答しない」と言われてエラーになります。

原因探し

Apacheのアクセスログを見ると「サーバーが応答しない」と言われるときは、そもそもサーバーにリクエストが来ません。これはサーバに来るより前のどこかで止められていると思われます。

まず、スマートフォン側のブラウザ設定、セキュリティソフト、コンテンツフィルタなどを疑いましたが、どのブラウザを使っても、要らないセキュリティソフトを全部アンインストールしても、フィルタの契約を全部解除しても、やはり同じ症状が発生します。

じゃあ違いはURLくらいだろう、ということで、HTTP GETリクエストを飛ばせるアプリ(Ping&DNSを使いました)でリクエストを切り詰めて調べてみると、GETリクエストに ?action=cmdを入れたとき、どのサイトへのアクセスであろうと、問答無用でHTTP通信が遮断される、ということがわかりました。

例えば、
http://www.yahoo.co.jp/?action=cm
というURLにアクセスした場合はヤフーのトップページが表示されますが、

ここでcmをcmdに変えて、
http://www.yahoo.co.jp/?action=cmd
というURLにアクセスすると、するとヤフーのトップページが表示されず1分位経った頃に、ブラウザがタイムアウトの画面を出すはずです。

症状が発生するのは3G/LTE回線のみ、Wi-Fi接続だと症状は発生しない、かつ、奥さんのiPhone 5sでも全く同じ症状が出ることから、恐らくドコモの通信網のどこかで止められていると推測されます。

タイムアウトにはかなり時間が掛かるのと、一度引っかかるとそのサイトには何をしてもしばらくアクセスできなくなります。試されるときはご注意を!

しかし、一体何のために入れたルールなのだろうね…?

日記のシステム小変更

スマホから見られない原因がわかりましたので、このブログ側での対策を考えます。

調査から、日記を表示するのか、編集するのか、投稿するのか?など、ブログの動作を指示するための引数arg_action=cmd_xxxxがNGに引っかかっていると思われます。よってarg_action=cmd_xxxxを、全てarg_act=cmd_xxxxに置き換えます。

とは言っても、修正は一行でOKな作りにしていたので、楽勝でした。過去の俺は何を考えてこんな凝った作りにしたんだろうなあ?おかげで楽だったから良いけどさ…。

変更の影響範囲

おいおい、いきなり削ったらデグレするだろ?既存のリンクはどうするんだ?というご心配については、ありがとう、でもほぼ問題ありません!が、答えです。

まず、新たに張っていただいたリンクについては、今までより改善します。つまりPCからもスマートフォンからも見ることができます。
またGoogleさんを始めとする既存のリンクについては、今までと同等です。つまりPCなどからは見られますが、スマートフォンからは見られない状態のままです。

何故かというと理由は2つ。1つ目は、既存のリンクのほぼ全てが「日記を表示」するためのリンクであることです。

2つ目は、ブログの動作にデフォルト値が存在することです。変更後のブログに、変更前のarg_action引数を指定すると単に無視されて、ブログの動作としては、デフォルト値である「日記の表示」が使われます。

なので細かい話をすると、コメント投稿とか、日記編集というリンクを張っていたサイトにとっては、今回の改修によりデグレすることになります。

他人のブログを編集するためのリンクを張るサイトは居ないだろう、という判断ですが、もし該当する方が居ましたら、お手数ですがリンク張りなおしていただければ幸いです。

編集者:すずき(2014/09/10 22:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月11日

日記システムにシンタックス・ハイライト導入

目次: 自宅サーバー

今まで、コードのキーワードやコメントの文字色の変更を、手作業でやっていましたが、いつも間違えるし、何より面倒くさくてやってられません。

巷のハイライトライブラリを使って自動化だ!ということで、highlight.js(公式サイトは背景の小豆色が目に厳しい)を導入しました。

導入

公式サイトのUsageリンクの先に説明があります。まずはダウンロードページから、highlight.jsとスタイルシート達をダウンロードします。

ダウンロードの際は、ハイライトしたい言語をチェックする必要があります。メジャーな言語には最初からチェックがついていますが、さらにハイライト対象にしたい言語があれば、追加でチェックを入れてください。

ダウンロードしたzipファイルを展開したら、自身のページに配置します。
以降の説明ではstyles内の *.cssをcss/highlightに置き、*.jsをscripts/highlightに配置した、と思って読んでください。

自身のページに、下記の三行を追加します。

highlight.jsの利用

<link rel="stylesheet" type="text/css" href="/css/highlight/vs.css">

<script type="text/javascript" src="/scripts/highlight/highlight.pack.js"></script>

<script type="text/javascript">hljs.initHighlightingOnLoad();</script>

CSSについては1つのテーマごとに1つのCSSファイルが作られていますから、お好きなテーマというかCSSを選んでください。

もちろんdefalut.cssを使っても、例に挙げたvs.css(VisualStudio風の色遣い)のままでも構わないです。この辺りは好き好きでどうぞ。

使用した感想

嬉しかったことは、特に言語を指定しなくても、それなりに推測して色を付けてくれることです。コードが短いと推測を間違うようですが、例え違う言語のハイライトだったとしても読み見やすさは格段にアップします。こりゃ便利です。

残念だったことは、行数表示がないことです。これは開発のポリシーによるもので、あえて実装していないし、するつもりもない(highlight.jsのドキュメントより)らしいので、そういうものだ、と思って諦めます。

編集者:すずき(2024/01/13 17:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月12日

ARMエミュレータをJavaアプレットで

自作ARMエミュレータをJavaアプレットにして、ブラウザから実行できるようにしてみました。超暫定につき、とりあえず自宅サーバにのみ置いています。おそらくそのうち消えます。

セキュリティの警告やエラーが出て、アプレットが動かない場合は [コントロールパネル] - [Java] - [セキュリティ] タブ - [高] の設定を [中] にすると動くかもしれません。後で元の設定に戻すことをお忘れなきように…。

速度が遅いとか、GUIがダサいのはさておき、SeaMonkeyで実行すると3回くらいResetボタンを押すとハングします。リロードしても直らないし、どうもメモリリークしているようです。

どうしても動かなくなったら、タスクマネージャからjp2launcher.exeを探してKillした後に、ページをリロードすると再び動きました。

明らかにバグってるので直したいのですが、JDK付属のアプレットビューアだときちんとメモリが解放されるんですよね。差が良くわかりません…。

Javaアプレットとブラウザ

セキュリティの警告が出ないJavaアプレットを作成するには、シマンテックやジオトラストなどの認証機関からRSAセキュリティ証明書を発行してもらい、アプレットに署名しなければならないようです。

この証明書の維持費が異常に高くて、年数万円はザラです。企業が作成するならまだしも、個人で作成するにはJavaアプレットはコストが掛かりすぎます。

やってらんないぜー。

アプリケーションストア

安全のために、つまり悪意を持った第三者にアプリを書き換えられないように、アプリには信頼できる署名を入れましょう。という理屈はごもっともですが、そのコストを開発者側が負担するのは辛いものがあります。

署名が不要になるように、つまり悪意を持った第三者に書き換えられても安全を保てるように、アプリで使える機能を限定しましょう。とすると、今度は機能が全然足りなくてろくなアプリが作れず、やはり開発者には辛いものがあります。

コストの高い自由な環境orコストの低い不自由な環境、さあ、どっち?という究極の二択です。ま、どっちもイヤですよね。

30年くらい前だと思いますがNeXTの頭が切れる人達は、アプリケーションストアという仕組みを作りました。アプリ審査で悪意のあるアプリを弾き、プラットフォーム側がストレージと秘匿通信を提供することで、今まで開発者側が負担していた安全確保、流通のコストをプラットフォーム側で肩代わりしました。

アプリケーションストアの登場により、開発者は「コストの低い自由」を手にすることができたのです。素敵ですね〜。

アプリケーションストアは、今やスマートフォンにはなくてはならない存在となっています。プラットフォームを作るってのはこういうことなんでしょうね。

編集者:すずき(2014/09/13 07:34)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月13日

PukiWikiの代わり - MediaWikiを試す

目次: 自宅サーバー

Wikipediaでお馴染みのMediaWikiを使ってみました。インストールは非常に親切で、わかりやすいです。これは良いです。

データベースのセットアップが面倒くさかったので、データベースドライバにはSQLiteを選択してセットアップしました。

tar xzvf mediawiki-1.23.3.tar.gz
tarballを展開します。
ブラウザでindex.phpにアクセス
セットアップが終わっていないとヒマワリ?の画とともにLocalSettings.php not found. と言われますので、その下にあるcomplete the installationリンクをクリックします。
ブラウザでmw-config/index.phpにアクセス(リンク先がここ)
勝手にチェックしてくれます。問題があると「警告」という句が出ます。私の環境では、下記の3つの警告(データベース、キャッシュ機構、Unicode正規化ライブラリ)が出ました。
  • 適切なデータベース ドライバーが見つかりませんでした!
  • 警告: APC、XCache、WinCacheのいずれも見つかりませんでした。
  • 警告: Unicode正規化の処理にintl PECL拡張機能を利用できないため、処理が遅いピュアPHPの実装を代わりに使用しています。
SQLiteとPECL intlとAlternative PHP Cacheのインストール
Debianならapt-get install php5-sqlite php-apc php5-intlとして、インストールします。
もう一度mw-config/index.php
怒られなくなっていればOKです。次へ。
SQLiteのデータベース用ディレクトリ
私の場合はpublic_htmlと横並びにsqlite_databaseディレクトリという適当なディレクトリを作って置きました。
何故そうするのかは、ヘルプが丁寧なのでわかると思います…。
その後
基本的には、はいはい言っておけば、悪いようにはされませんが、「利用者権限のプロファイル:」の誰が編集できるか?と、「著作権とライセンス:」のWikiに載せた文書のライセンスをどうするか?だけはちゃんと設定した方が良いと思います。

簡単ですね。強いて言えばPukiWikiを既に動かしていた環境なので、PHPを動かすまでのハードルが無かった、というのは大きいと思いますが、それを差し引いて考えてもMoinMoinに比べて格段に親切です。

使ってみた感想

さすがWikipediaの根幹を成すシステムです。ショボい自宅サーバ(Atom D2700)にも関わらず、表示も編集も速いです。

機能面に不満はないですが、個人のメモ帳として使うには、やや大げさすぎる感はあります。トークや議論のような機能はWikipediaのように、大人数で編集しあうサイト向けで、個人利用だと全く使いません。

あ、それとね…見た目のカスタマイズは必須だと思います。デフォルトだとWikipediaそっくりの見た目になっちゃうので、ぱっと見で混乱しそうです。

編集者:すずき(2024/01/13 17:12)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月16日

昔の日記サルベージ、第1弾

昔のHTMLで書いていた頃の日記をサルベージし、元のHTMLは消滅させよう計画、第1弾。物によってはリンク切れしてますがご容赦下さい。

地元の常識

ローカルなネタって一杯あって面白いですよね。今回かなりツボにはまったので、紹介します。ご当地チェックというサイトです。北海道民なので北海道のページを延々と見ていたら、うそ!これ常識じゃないか!ってのが一杯ありました。言えてる、と思ったものにコメント加えてみました。

方言

「ひっかく」ことを『かっちゃく』という。
「こわい」、「したっけ」には二つの意味がある。
とーちゃん、かーちゃんは「書かれている」を「書かさってる」と言う。
ゴミは「投げる」、てぶくろは「はく」ものだ。
ご飯が炊き上がると「ご飯炊かさった」と言う。
「いずい」と「はんかくさい」は標準語に訳すことが困難だ。
おいしいものを食べたときは「なまらうまい」だ。
「ようちえん」は『よ』にアクセントがある。
年配の人が、家に訪れる時は決まって「おばんでした」(過去形)と言う。
聞いたことないな。「おばんです」とは言ってたけど。
交換して欲しい時の言葉は「ばくって〜」だ。
子供の時はそうだったけど、「ばくって」は道外の人にはまず通じなくて、使わなくなった。悲しい。
絆創膏のことをサビオもしくはサビヨと呼ぶ。
とうもろこしのことを「とうきび」と言う。
棒ではなく、「ぼっこ」だ。
赤飯は甘納豆を入れて炊くのが常識である。
カツゲンが大好きだ。
ザンギも大好物だ。
薄味のことを「味が無い」と言う。
思えば、サークルの料理会で連発していた。かなり誤解を与えた気がする…。
四国出身であろうが、九州出身であろうが、みんなまとめて「本州人」と呼ぶ。
呼ばないな…もしくは「内地」とは言うが。
家に木彫りの熊の置物がある。
じいちゃんの家にあった…。

ローカルもの

家の中でゴキブリを見たことがない。
瓦屋根を見ると「本州」を感じる。
千秋庵の山親爺も北海道にしかないことを大人になってから知り、かなりショックを受けた。
砂糖といえば「すずらん印」だ。
「サッポロ一番」はめったに食べない。
土産に白い恋人、というのはベタで避けたいと思っているが、内地の人に意外に受けが良く戸惑っている。
ゲームセンターといえばスガイだ。
ファミレスと言えば「とんでん」である。
新聞の「熊出没」の記事には、真剣に目を通す。
たまにキリンメッツのガラナが無性に飲みたくなる。
本州には無いよね。味としてはDr.pepperが似ているけど、違うような気もする。
家に煙突がある。
自分の家にはないけれど、向かいの家にはあったなあ。
セイコーマートをこよなく愛している。
セイコーマートとセブンイレブンの会員カードを持っている。
コンサドーレが「道産子」を逆から読んで名付けた事を知ったときはぼう然とした。
真相を知った瞬間に、心底ダサい!と思うようになってしまった。不思議。

北海「道」ネタ

「県道」が北海道では「道道」なのは当たり前なのに、音を聞いて他県民にほぼ毎回笑われるのは納得いかない。
富良野にいけば丸太小屋が存在すると思っている本州の人たちに、いちいち説明するのが面倒くさくなってきた。
申し込み用紙などの都道府県を書く欄で『北海』だけを書き『道』に丸を付けるのに抵抗がある。
「試される大地北海道」というフレーズが気に食わない。
北海道は不況です、と宣伝してるみたいで嫌い。

季節もの

梅より桜のほうが早く咲くのはあたりまえ。
桜が咲くのは5月があたりまえだと思っている。
インフルエンザや風邪などをうつされるので、受験生は雪祭りには行ってはいけない。
良く言われますね。行くなって。
気温30度を超えると廃人になる。
まつげによく雪虫がのっかってる。
東京の冬のほうが寒いと感じる。
実は寒さに弱い。
冬の室内温度は28度が基本だ。
四季ではなく「春、夏、秋、初冬、寒中、残冬」の六季だ。
その通りだけど、言い方にウケた。

雪とか雪とか雪

庭で冷凍みかんを作ろうとしたことがある。
窓は3層があたりまえで、玄関から居間までに3つドアがある。
冬用革靴の裏には滑り止めのゴム板が貼り付けてある。
冬に長靴をはくと靴下が勝手に脱げるという不思議現象を経験したことがある。
ママさんダンプが何か知っている。
各家庭の常備スコップが3種類ある。
プラスチックは軽くて良いですが、氷を持ち上げるとか、堅い雪にぶつけるとかで、すぐ剣先が割れるので、実家では、金属スコップ、プラスチックスコップを使い分けています。
あと本当にどうしようもない氷塊と出会ったときのため「つるはし」もあります。
自衛隊は雪まつりのために存在していると思っている。
雪が降るとつい溜息をついてしまう。
冬靴はワンタッチで出るスパイクが標準装備。
あー、子供の時履いてた靴がそんな仕掛けだった。スパイクを戻し忘れて店の中に行くと、足下からギャリ!ギャリ!!と明らかに床材を削ってそうな音がします。
酔っぱらいは放置すると本気で死ぬので、ナニが何でも自宅に強制送還!
テレビなどで「雪ってロマンチックだよね」などと言っているのを聞くと、じゃあ毎日雪よけやって見ろと思う。
家の中に水道管の元栓がある。
玄関には、玄関フードが付いている。
冬は家の中からリモコンで車のエンジンをかけて、車を暖めてからでないと車に乗る勇気がない。
暖める、という言い方と「車内が寒い、つらい」というイメージだと思いますが、そうではなくて、窓が凍ってて前が見えないのね。もしくは物理的にドアが凍っていて開かないので、勇気とかそういう問題じゃないのだ。
春になると、冬の間に蓄積された犬などのうんこが雪解けと同時に歩道に現れて、避けて歩くのが大変だ。
冬は見事な黄色く輝いた跡が残るので、むやみやたらな場所で立ちションができない。
スキー場のリフト乗り場で何十分も並ぶことが信じられない。
そもそも並ぶ必要がないからね。

地名

内地の駅名の音読みに少しとまどう。
アイヌ語の当て字に慣れているので、たまに道内の地名が音読みでも、漢字の意味にあまり気付かない。
よって、大麻は市の名前を変えたほうが良い事に気付かない。大麻高校しかり。
狸小路には「狸が放し飼いされている」と、道外の人にウソを教えたことがある。
教えても信じるかい?流石に信じないでしょう。
札幌駅のことを「さつえき」、大通界隈のことを「どおり」と言ってしまう。
南郷7丁目は「ナンナナ」、新札幌は「シンサツ」と呼ぶ。
しんさつは言うけど、ナンナナは言わない。そもそも行かないし。
「札幌空港」とは丘珠空港のことであることを知っている。
千歳市民にとっては千歳 - 羽田便が「東京 - 札幌」と表記されるのが少し悔しい。
高校の友達(千歳出身)が全く同じ事言ってた…。

食い物

本州人に、北海道人は毎日おいしいもんばっか食ってると思われるのがうざい。
エキノコックスが怖くて山菜は食べられない。
札幌のラーメン横丁には絶対に行かない。また、おやじが怖くて有名な、支那そばやは大嫌い。
行ったことないけど、行った人はおいしくないと皆が言う…。
おせち料理は、大晦日から食べるものだと疑っていない。
「焼きそば弁当」が北海道にしかないことを大人になってから知り、かなりショックを受けた。
ホンコンヤキソバは一人暮らしの強い味方だ。
道外に住むようになってから、『焼きそば弁当』の代わりに『ぺヤング焼きそば』を買うようになった。
真冬には家の中で半袖・アイスクリームが常識である。
ジャガバターは食い飽きた。
おいしいけど、そもそもそんなに食べないよ。

交通

北海道新幹線ができても使うのはせいぜい仙台までで、東京へは飛行機を使うと思う。
つーか、青森とつながなくてもいいから、函館・札幌間に早く新幹線をつくってほしい。
そのとおり。ていうか青森には行かないって。
札幌の地上の都市計画は日本一だと思うが、地下街の難解さはどうにかしてほしい。
東豊線のさっぽろ駅や大通駅が遠すぎることが不満だ。
道央自動車道のローマ字表記が「HOKKAIDO EXPWY」になっていることに疑問を感じる。
ああー思ってた。

その他

子どもの頃、牧場で遊んだことがある。
お盆過ぎるとTVでストーブのCMが入るのは当たり前だ。
宅配などで離島料金と同じ料金なのをなぜか納得してしまっている。
「ホテル、テルテル、だいへぇぇぇげん」と唄うとスッキリする。
懐かしいね…。
実は日本ハムファイターズも石屋製菓が買収するのでは?と思ったことがある。
指さしたクラーク像が、北大にいると思い込んでいる観光客に「それは羊が丘ですよ」と、あっさり教えてあげるのが、少し楽しみ。
道路に歩道が無いと困惑する。
地下鉄に荷台がついていないのも当たり前。
そう言われてみれば…、荷台がないな。
編集者:すずき(2014/09/18 00:05)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月17日

昔の日記サルベージ、第2弾

昔のHTMLで書いていた頃の日記をサルベージし、元のHTMLは消滅させよう計画、第2弾。物によってはリンク切れしてますがご容赦下さい。

太陽の神殿ASTEKA IIの攻略

ファミコン版、太陽の神殿ASTEKA II(東京書籍, 1988、日本ファルコム, 1986)の攻略方法を紹介します。

ゲームの紹介

元はPC-8801用に日本ファルコムが作ったゲームで、なぜか東京書籍がファミコンに移植しています。一応前作であるASTEKA(PC-8801用、日本ファルコム, 1985)の続編ですが、ストーリーに繋がりはないらしいので気にしなくても良いです。私も前作は持っていません。

設定を簡単に紹介します。高校生の男の子(主人公)とクラスメートの女の子が主役です。女の子の父は考古学者でしたが、遺跡を調べている途中に変死し、ガイドだけが生還しました。主人公と女の子は現地ガイドのラウーラとともに、父が解けなかった遺跡の謎を解明に挑みます。
父が変死したショッキングな遺跡に行くというのに、女の子が意外と元気で楽しそうです。夏休みを利用して出かけるところを見ると、バカンスか何かと勘違いしているのでしょう。んなことはどうでもいいんですけど。

全体マップ

建物の名前と、大体の位置を掲載いたします。
マップが妙に広い(8x8画面)割には、建物の数はそれほど多くありません。左下の「元々何かあったけどボツになった」と言わんばかりの空き地が気になります。


太陽の神殿全体マップ(クリックで拡大)

基本的な攻略

クリアまでは一本道であり、選択を間違えても取り返しがつくものが多いですが、ミスるとリセットしなければならない個所があります。ハマりやすいと思われる個所を以下に列挙しておきます。

  • 球戯場への出口を作らないまま、高僧の墓の地下に下りた場合
  • いけにえの泉を枯らす前に、カスティーリョで石のハンドルを取ってしまった場合
  • いけにえの泉にて鏡を使う前に、水晶のカギを使った場合

自力クリアの際は以上の点にお気をつけください。

悪霊を「見る」したとき、勝てそうにもない…と出なければ、悪霊に勝てる状態です。しかし勝負は時の運なのか、なぜか負けることがあります。正しい順序で攻略している確信があっても、戦う前にはパスワードを聞くようにしましょう。

ヒント、小技

東の密林から森の中に入り、森の西端に行き尼僧院にワープすると、神様がヒントをくれるので、詰まったら行ってみましょう。
何でこんな機能があるのか知りませんが、エンディングでツーショット場面になったら、コントローラで顔のパーツを動かせます。スタート、A、B、は使わないようです。

  • 上 男の子左眼
  • 左 男の子右眼
  • 右 女の子左眼
  • 下 女の子右眼
  • セレクト 女の子口

こんなところでしょうか。気づき次第、追加しようと思います。

攻略方法

クリアまでの道筋の一例を示します。建物間の移動に一番時間がかかるので、なるべく移動がないようにし最速を目指したつもりです。
あくまでも一例です。この他にもクリア方法はあります。

研究室

  • 見る 調査ノート
  • 取る チャックモールの剣
  • 取る ライター
  • 取る 銀の鍵
  • 移動 後

ラウーラと会う

  • 移動 前(脱出

尼僧院

  • 取る イシュチェルの玉
  • 移動 後(脱出

高僧の墓

  • 戦う メクラマンサ
  • 代わる ラウーラ
  • 動かす 壁
  • 移動 右(右の部屋へ

高僧の墓 - 右の部屋

  • 取る モザイクタイル
  • 取る 片目のマスク
  • 移動 左(入り口に戻る
  • 移動 後(脱出

カスティーリョ

  • 戦う チラムバラム
  • 移動 前(行き止まりの部屋
  • 使う モザイクタイル

カスティーリョ - 財宝の部屋

  • 取る 銀の玉
  • 取る 金の台座
  • 取る 黄金の鏡
  • 取る 底浅のかめ
  • 見る つぼ → 小杖 を得る
  • 壊す くび長の壷 → イツァム・ナーのリング を得る
  • 動かす 金の山 → 赤い宝石 を得る
  • 見る 石箱 → 石板3枚 を見る(まだ解読できない
  • 組合わせる 片目のマスク と 赤い宝石
  • 使う 片目のマスク → 石板3枚 を解読
    • 日没のとき、若者が銀の香炉を掘り出す
    • 南中のとき、ラッパが吹かれてジャガーが像に戻る
    • 真夜中に薬を飲んで小さくなる
  • 移動 後(入り口
  • 移動 後(脱出

南の泉

  • 洗う 黄金の鏡
  • 取る 金の笛
  • 組み合わせる バンドエイド と 金の笛
  • 移動 後(脱出

カラコル

  • 組合わせる 赤い宝石 と チャックモールの剣
  • 戦う スネークマスター
  • 置く 銀の玉
  • 代わる 相方の女の子
  • 使う 金の笛
  • 移動 後(脱出

千柱の間

  • 組合わせる 赤い宝石 と チャックモールの剣
  • 戦う ゴモラス
  • 見る 柱
  • 壊す 地面
  • 取る 黄金の玉
  • 移動 後(入り口に戻る
  • 移動 後(脱出

カラコル

  • 取る 銀の玉
  • 置く 黄金の玉
  • 代わる 相方の女の子
  • 使う 金の笛
  • 移動 後(脱出

千柱の間

  • 見る 柱
  • 壊す 地面
  • 取る 銀の首
  • 移動 後(入り口に戻る
  • 移動 後(脱出

カラコル

  • 取る 金の玉
  • 代わる ラウーラ
  • 押す 台座
  • 移動 上

カラコル - 2階

  • 置く 金の台座
  • 置く 金の玉
  • 待つ (日光が射すまで
  • 代わる 相方の女の子
  • 使う 金の笛
  • 見る 壁
  • 壊す 壁
  • 取る 銀の香炉
  • 移動 後(2階の入り口に戻る
  • 取る 金の台座
  • 置く 金の玉
  • 待つ (日光が射すまで
  • 見る 壁
  • 壊す 壁
  • 取る 水晶の鍵
  • 移動 後
  • 移動 下(1階へ戻る
  • 移動 後(脱出

カスティーリョ

  • 移動 前

カスティーリョ - 財宝の部屋

  • 置く 銀の首
  • 移動 下

カスティーリョ - 地下室

  • 見る 石箱 → 香 を得る
  • 取る 大きい薬壷
  • 取る 小さい薬壷
  • 移動 上(財宝の部屋に戻る
  • 移動 後(入り口に戻る
  • 移動 後(脱出

戦士の神殿

  • 組合わせる 赤い宝石 と チャックモールの剣
  • 戦う デスキマイラ
  • 取る 太陽の胸飾り
  • 取る 青の宝珠 → ジャガーが出てとれず
  • 移動 後(脱出

南の泉

  • 洗う 太陽の胸飾り
  • 移動 後(脱出

戦士の神殿
(ジャガーがいない)

  • 見る 穴
  • 使う 小杖 → 鉄の鍵 を得る
  • 移動 後(像の前に戻る
  • 待つ 南中まで → ジャガーが出る

ジャガーが出てきたら

  • 代わる 相方の女の子
  • 使う 金の笛 → ジャガーが像に戻る
  • 取る 青の宝珠
  • 移動 後(脱出

球戯場

  • 組合わせる 青の宝珠 と チャックモールの剣
  • 戦う ジオスマイラ
  • ------ここで石の歯止めを取ると後で脱出できなくなってハマるので取らないこと
  • 移動 前
  • 取る 青いブロック
  • ------ここで右に行くとハマるので行かないこと
  • 移動 後(入り口に戻る
  • 移動 後(脱出

高僧の墓

  • 移動 右

高僧の墓 - 右の部屋

  • 動かす 遺体
  • 使う 鉄の鍵
  • 移動 下

高僧の墓 - 地下迷路

  • 組合わせる 小杖 と 底浅のかめ
  • 使う 底浅のかめ

球戯場

  • 取る チャックの玉
  • 移動 左
  • 移動 後(入り口に戻る
  • ------ここで石の歯止めを取る
  • 取る 石の歯止め
  • 移動 後(脱出

カスティーリョ

  • 置く 青いブロック
  • 移動 下

カスティーリョ - 歯車の部屋

  • -----仕掛けを動かす前に石のハンドルを取ると、ハマるので取らない
  • 置く 石の歯止め
  • 代わる ラウーラ
  • 動かす 石のハンドル
  • 移動 上(入り口に戻る
  • 移動 後(脱出

いけにえの泉

  • -----カスティーリョの仕掛けで、水が干からびるので下に行ける。
  • -----ラウーラの忠告がある。水晶の鍵と黄金の鏡、チャックの玉、青の宝珠が必要らしい
  • 移動 下
  • 使う チャックの玉
  • 組合わせる 青の宝珠 と チャックモールの剣
  • 戦う ヘルコブラ
  • 動かす 右の像の頭 → 扉が開く
  • 移動 前(中へ
  • 使う 黄金の鏡
  • 見る 棺
  • 使う 水晶の鍵
  • 取る 両目のマスク
  • 移動 後
  • 移動 前

カスティーリョ - 地下室

  • 移動 上(財宝の部屋に戻る
  • 移動 後(入り口に戻る
  • 移動 下

カスティーリョ

  • 移動 下

カスティーリョ - 歯車の部屋

  • 取る 石のハンドル
  • 取る 石の歯止め
  • -----取っても水は元に戻らないらしい
  • 移動 上(入り口に戻る
  • 移動 後(脱出

いけにえの泉

  • 見る ガイド(倒れてる、しっかりしろ…みたいなメッセージ
  • 見る ガイド(相方の女の子がさらわれたという話を聞く。根城は球戯場らしい
  • 移動 後(脱出

球戯場

  • 置く 石のハンドル
  • 置く 石の歯止め
  • 代わる ラウーラ
  • 動かす 石のハンドル
  • 移動 前
  • 移動 前(最深部へ
  • 組合わせる 両目のマスク と 赤い宝石
  • 組合わせる 両目のマスク と 青の宝珠
  • 使う 両目のマスク
  • 押す 白いブロック
  • 移動 左

球戯場 - 最深部、神殿の部屋

  • 組合わせる 青の宝珠 と チャックモールの剣
  • 戦う アシュラーダ
  • 待つ (真夜中まで
  • 使う 大きい薬壷 → とするとラウーラが裏切り、悪霊ウーラとなるのでブチ殺す。
  • 使う チャックの玉
  • 組合わせる 青の宝珠 と チャックモールの剣
  • 戦う ウーラ → 倒すと、イツァム・ナーのリングを取り返せる
  • 使う 大きい薬壷
  • 移動 前

球戯場 - 神殿内

  • 使う 銀の鍵
  • 移動 後(部屋に戻る

球戯場 - 最深部、神殿の部屋

  • 使う 小さな薬壷
  • 動かす 神殿
  • 取る 太陽の鍵 → 魔王の神殿へ落とされる

魔王の神殿

  • 使う チャックの玉
  • 使う イツァム・ナーのリング
  • 組合わせる 青の宝珠 と チャックモールの剣
  • 戦う エーマ
  • 見る 台
  • 見る 顔
  • 移動 後
  • 置く 銀の香炉
  • 使う 香
  • 使う ライター
  • 使う 太陽の鍵

以上でクリアーです。

編集者:すずき(2014/09/19 00:01)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月18日

入出力とユーザインタフェース

ARMエミュレータをJavaアプレットに仕立てたとき、やっつけでUARTの出力をJTextAreaに出すだけのGUIを作りました。

Linuxのブート画面を拝むくらいなら十分でしたが、出力文字(特に制御文字)が文字化けするわ、文字が入力できなくて /bin/shの画面で立ち往生するわで、もう全然ダメダメです。

PCエミュレータならVRAM画面ですが、SoCのエミュレータって、入出力をどう扱っているのでしょう…?

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 05:54)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月19日

GitHub

自作エミュレータのコードを GitHubに突っ込んでみました。

今までソースコードはMercurialで管理していたのですが、GitHubはGitにしか対応していませんので、hg-fast-exportで全コミット履歴を移行しました。やー、これは便利ですね。

MercurialからGitHubへの移行
# apt-get install hg-fast-export

$ git clone https://github.com/username/new_git_repo.git

$ cd new_git_repo/

$ hg-fast-export -r /path/old_hg_repo/

$ git push -u origin master

あとREADME.mdを作れと書いてあったのですが、書式がわからず、デフォルトのまま作成したところ、デカデカとプロジェクト名だけが書いてあるREADMEになりました。何これ変なのw

編集者:すずき(2014/09/20 02:07)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月20日

Wikiシステムの持続可能性

目次: 自宅サーバー

PukiWikiの開発が止まった時にちょっと考えていたけれど、別のWikiにデータを引き継ぐにはどうしたら良いんだろう?

テキストデータは書式に互換性が無いし、添付ファイルなどのバイナリデータは各Wikiで扱いが全く違う…。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2024/01/13 17:14)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年9月30日

風邪引いた

久しぶりに風邪引いた。熱は微妙で37.6度。今までなら、この程度の熱ならば1日寝ていれば、夕方には熱が下がっていましたが、今回は1日寝ていても熱が下がらず…(次の日の朝にはなんとか下がりましたけど)。

編集者:すずき(2014/10/01 20:58)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報