こせきの技術日記

2004-08-07

[] スーパーpreインデント CSSで回避

スーパーpre内で空白を にして欲しい

http://tech.g.hatena.ne.jp/koseki/20040807#superpre

preの考え方から、表示側で制御すべきであると考えます

(g:hatena:keyword:はてなダイアリーへの要望?)

なるほど、その通りですね。失礼しました。対処する方法が無かったらどうしようかと思ったんですが、

pre {
  font-family: 'MS ゴシック',monospace;
}

で(少なくとも自分の環境では)回避できるようです。monospaceだけだと揃わないのがよくわかりませんが……。ともあれ、ありがとうございました。試行錯誤しないまま要望を出してしまいすいませんでした。


[] 要望:スーパーPREのインデントの扱いについて

昨日の&が文字参照になっていない問題に加えてもう1つ……。

スペースを で置換してもらえないでしょうか。スペースだとインデントが揃わないです(Win/IE6)。

スペースを使うと揃わない↓ ( (追記) CSSで対応済みです上を見てください。)

test {
    あいうえお
    abc
    def
    あいうえお
    abc
    def
}

 を使うと揃う↓

test {
    あいうえお
    abc
    def
    あいうえお
    abc
    def
}

@ITのソースコードのHTML記述が参考になると思います。

(&の問題を修正していただいたので(ありがとうございます!)上記では代わりに>|を使っています。下のソースコードを見てもらえると、インデントが揃わないと実用にならないのがわかっていただけるのではないかと思うんですが……)

(追記) 上に続き・対処の方法があります。

[] FileChannelを使った排他制御について

下のサンプルを、

$ java MyFileChannelTest test.txt &

で実行。ダイアログは出たままにして、

$ java MyFileChannelTest test.txt 1

と2番目の引数を渡して実行する。で、ダイアログを閉じると、ファイルの中身が空になる。ロック中でもファイルの中身を空にすることができる。

FileOutputStreamを使う場合、これは避けられないのか?

import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;

public class MyFileChannelTest {
    public static void main(String[] args) {
        if (args.length == 1) {
            new MyFileChannelTest(args[0], false);
        } else {
            new MyFileChannelTest(args[0], true);
        }
    }

    public MyFileChannelTest(String filename, boolean stop) {
        access(filename, stop);        
    }

    private void access(String filename, boolean stop) {
        try {
            // FileOutputStreamを作成した時点でファイルが空になる。
            // ロック中でも空になる(Win2000/J2SE1.4.2)。
            FileOutputStream out = new FileOutputStream(filename);
            
            // FileOutputStreamからFileChannelを取得。
            // J2SE1.4.0のJavadoc日本語訳にはgetChannel()が載ってない。
            FileChannel fc = out.getChannel();

            if (stop) {
                // tryLockだとロックが獲得できない時にすぐnullを返す。
                FileLock lock = fc.tryLock();
                System.out.println("lock:" + lock);
                
                // lock==nullの場合は書き込み出来ない。
                fc.write(Charset.forName("EUC-JP").encode("ロック中に書き込み"));
                fc.close();

                if (lock != null) {
                    lock.release();
                }
            } else {
                FileLock lock = fc.lock();

                // EUC-JPでFileChannelに書き込み
                String contents = "あいうえおtesttest";
                fc.write(Charset.forName("EUC-JP").encode(contents));

                System.out.println("size:" + fc.size());

                // ダイアログ表示
                javax.swing.JOptionPane.showMessageDialog(null, "Release Lock?");
                // ロック解放前のサイズ
                System.out.println("size:" + fc.size());

                // ロック解放
                lock.release();

                // ロック解放後のサイズ
                System.out.println("size:" + fc.size());
                
                fc.close();
            }
        } catch(Exception ex) {
            ex.printStackTrace();
        }
        System.exit(0);
    }
}

CialisCialis2007/01/09 16:15Very nice site. Please keep updating it. Your site is exactly the kind of sites which make the net surfing so intresting.
http://northwest.dp.ua/adipex/
http://northwest.dp.ua/alprazolam/
http://northwest.dp.ua/ambien/
http://northwest.dp.ua/bontril/
http://northwest.dp.ua/cialis/
http://northwest.dp.ua/diazepam/
http://northwest.dp.ua/didrex/
http://northwest.dp.ua/hydrocodone/
http://northwest.dp.ua/ionamin/
http://northwest.dp.ua/levitra/
http://northwest.dp.ua/lorazepam/
http://northwest.dp.ua/lortab/
http://northwest.dp.ua/meridia/
http://northwest.dp.ua/phentermine/
http://northwest.dp.ua/tramadol/
http://northwest.dp.ua/ultram/
http://northwest.dp.ua/valium/
http://northwest.dp.ua/viagra/
http://northwest.dp.ua/vicodin/
http://northwest.dp.ua/xanax/
http://northwest.dp.ua/xenical/
http://northwest.dp.ua/online-pharmacy/
http://northwest.dp.ua/valentine-gifts/
http://northwest.dp.ua/prom-dress/
http://northwest.dp.ua/wedding-dress/
http://northwest.dp.ua/online-casino/
http://northwest.dp.ua/airline-tickets/
http://northwest.dp.ua/cheap-tickets/
http://northwest.dp.ua/weight-loss/
http://northwest.dp.ua/auto-insurance/

JuliaJulia2007/01/11 17:33<a href=' http://continent.firm.in/adipex/ '>adipex</a>
<a href=' http://continent.firm.in/alprazolam/ '>alprazolam</a>
<a href=' http://continent.firm.in/ambien/ '>ambien</a>
<a href=' http://continent.firm.in/bontril/ '>bontril</a>
<a href=' http://continent.firm.in/cialis/ '>cialis</a>
<a href=' http://continent.firm.in/diazepam/ '>diazepam</a>
<a href=' http://continent.firm.in/didrex/ '>didrex</a>
<a href=' http://continent.firm.in/hydrocodone/ '>hydrocodone</ a>
<a href=' http://continent.firm.in/ionamin/ '>ionamin</a>
<a href=' http://continent.firm.in/levitra/ '>levitra</a>
<a href=' http://continent.firm.in/lorazepam/ '>lorazepam</a>
<a href=' http://continent.firm.in/lortab/ '>lortab</a>
<a href=' http://continent.firm.in/meridia/ '>meridia</a>
<a href=' http://continent.firm.in/phentermine/ '>phentermine</a>
<a href=' http://continent.firm.in/tramadol/ '>tramadol</a>
<a href=' http://continent.firm.in/ultram/ '>ultram</a>
<a href=' http://continent.firm.in/valium/ '>valium</a>
<a href=' http://continent.firm.in/viagra/ '>viagra</a>
<a href=' http://continent.firm.in/vicodin/ '>vicodin</a>
<a href=' http://continent.firm.in/xanax/ '>xanax</a>
<a href=' http://continent.firm.in/xenical/ '>xenical</a>
<a href=' http://continent.firm.in/online-pharmacy/ '>online pharmacy</a>
<a href=' http://continent.firm.in/valentine-gifts/ '>valentine gifts</a>
<a href=' http://continent.firm.in/prom-dress/ '>prom dress</a>
<a href=' http://continent.firm.in/wedding-dress/ '>wedding dress</a>
<a href=' http://continent.firm.in/online-casino/ '>online casino</a>
<a href=' http://continent.firm.in/airline-tickets/ '>airline tickets</a>
<a href=' http://continent.firm.in/cheap-tickets/ '>cheap tickets</a>
<a href=' http://continent.firm.in/weight-loss/ '>weight loss</a>
<a href=' http://continent.firm.in/auto-insurance/ '>auto insurance</a>
</div>