November 24, 2009

EclipseにAptanaプラグインを入れたのにjQueryのコード補完ができない


AptanaでjQueryのコードアシストしてくれない。はまった。

Grobal References(タブがないときはメニューバーから Window > Show View > References)でjQueryにチェックを入れたら解決。

November 21, 2009

LaTeX for BloggerをSafariと新しい編集インターフェイスのために改造する



Bloggerの新しいインターフェイスになってLaTeX for Bloggerが機能しない。(そもそもSafariだと微妙だった。)なのでちょっと書き換えた。正規表現を使ったり。チェックとかはしてない。

ダウンロード

LaTeX for Blogger w/ Undo in the Updated Editor

References

WolverineX02 - LaTeX for Blogger
http://wolverinex02.googlepages.com/emoticonsforblogger2

クリボウの Blogger Tips: Blogger に LaTeX 数式を挿入するユーザースクリプト「LaTeX for Blogger」更新
http://www.kuribo.info/2009/05/blogger-latex-latex-for-blogger.html


コード

// ==/UserScript== 以下を次のように書き換える。

function setlatex(domname) 
{
var editbar = document.getElementById(domname);
  if (editbar) {
    var latexbar = document.createElement('div');
    latexbar.setAttribute("id", "latexbar");
    latexbar.setAttribute("class", "goog-toolbar goog-toolbar-horizontal");

    var buttons = emoticonButton("Latex", "http://wolverinex02.googlepages.com/latex.gif");
    buttons += separator();
    buttons += emoticonButton2("Unlatex", "http://www.codecogs.com/gif.latex?Un%5CLaTeX");

    latexbar.innerHTML = buttons;
    editbar.appendChild(latexbar);
  }
}

function emoticonButton(name, url) {
    var button = " \
    <div class='goog-inline-block goog-toolbar-button' id='htmlbar_undefined' onmousedown=' \
    (function latex_compilator() { \
        var rich_edit = document.getElementById(\"postingComposeBox\"); \
        var rich_body = rich_edit.contentDocument.getElementsByTagName(\"body\"); \
        var contenu = rich_body[0].innerHTML; \
        contenu = contenu.replace(/\\$\\$(.+?)\\$\\$/g,\"<img src=\\\"http://www.codecogs.com/gif.latex?$1\\\" border=0 align=middle />\"); \
        rich_body[0].innerHTML = contenu; } \
    )();'> \
        <img src='" + url + "' alt='" + name + "' border='0'> \
    </div> \
    ";
 return button;
}

function emoticonButton2(name, url) {
    var button = " \
    <div class='goog-inline-block goog-toolbar-button' id='htmlbar_undefined' onmousedown=' \
    (function latex_decompilator() { \
        var rich_edit = document.getElementById(\"postingComposeBox\"); \
        var rich_body = rich_edit.contentDocument.getElementsByTagName(\"body\"); \
        var contentu = rich_body[0].innerHTML; \
        contentu = contentu.replace(/<img(.+?)gif.latex\\\?(.+?)\\\"(.*?)>/g, \"$$$$$2$$$$\"); \
        rich_body[0].innerHTML = contentu; \
    })();'> \
        <img src='" + url + "' alt='" + name + "' border='0'> \
    </div> \
    ";
 return button;
}

function separator() {
  return '<div class="goog-toolbar-separator goog-inline-block">&nbsp;</div>';
}

setlatex("postingComposeToolbar");


以下HTML編集モードに使うときのための自分用メモ

var html_edit = document.getElementById(\"postingHtmlBox\");
var contentu = html_edit.value;
...
html_edit = html_edit.value;
...
setlatex("postingHtmlToolbar");

November 10, 2009

Eclipseを2つ開く

Macで。Eclipseを複数起動したい。

ターミナルから、
open -n /Applications/eclipse/Eclipse.app
ただし既に開いているワークスペースは開けない。

ちなみに open -n の説明。
-n, --new Open a new instance of the application even if one is already running.

November 8, 2009

Pythonのsqlite3のおおまかな手順

Pythonのsqlite3のおおまかな手順を記す。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# sqliteモジュールをインポートする
import sqlite3

# コネクションをつくる
conn = sqlite3.connect('post_tube.sqlite3')

# カーソルをコネクションからつくる
c = conn.cursor()

# テーブルをつくる
try:
    c.execute('''create table stocks (date text, trans text, symbol text, qty real, price real)''')
except sqlite3.OperationalError:
    print "table stocks already exists"

# データ行を追加する
c.execute("insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)")

sql = "insert into stocks values (?,?,?,?,?)"
c.execute(sql, ('2006-01-06','BUY','RHAT',100,35.14))

c.executemany("insert into stocks values (?,?,?,?,?)", 
    [('2006-01-07','BUY','RHAT', 150, 35.14),
    ('2006-01-08','BUY','RHAT', 300, 35.14)])

# レコード取得
c.execute("select * from stocks")
for row in c:
    print row[0], row[1], row[2]

# レコード更新
c.execute("update stocks set trans='SELL' where qty > 100")

# レコード削除
c.execute("delete from stocks")

# コネクションの変更を保存(コミット)する
conn.commit()

# 終わったらカーソルを閉じる
c.close()

12.13. sqlite3 — DB-API 2.0 interface for SQLite databases http://docs.python.org/library/sqlite3.html

Webstemmer使い方抜粋

  1. 学習用ページの取得

    textcrawler.py -o nikkei http://www.nikkei.co.jp/

  2. 学習

    analyze.py nikkei.2009xxxxxxxx.zip > nikkei.pat

  3. 抽出用ページの取得

    textcrawler.py -o nikkei http://www.nikkei.co.jp/

  4. 抽出

    extract.py -Ceuc-jp nikkei.pat nikkei.2009yyyyyyyy.zip > nikkei.txt


November 2, 2009

Carbon EmacsでPython

一番使いそうなコマンド

C-c C-c バッファの内容をPythonで実行
C-c C-r リージョンの内容をPythonで実行
C-c C-s 任意の式をPythonで実行
C-c C-z Pythonの出力を表示
M-TAB 補完

C-x o フレームを移動
C-x →/← バッファを移動

ロワ太郎のバッテリ使用習慣

以下引用
×)バッテリーが届いてから、そのまま放置
◎)バッテリーが到着後、すぐに満充電をし、普通の使用で残量が空になるまで使用、その後、再度満充電。この充放電の繰り返しを3回~5回する。


×)旅行や運動会などの使用機会がないので引き出しに長期間保管
◎)二週間に一度は取り出し、ご使用なさるのがベストです。1ヶ月以上使用しない場合はバッテリーの性能維持の為に、30~40%程度の充電残量状態で本体から取り外し、冷暗所に保管してください。


×)オリジナル(純正品)を使い切ってからロワのバッテリーを予備で使用
◎)オリジナルとロワのバッテリーをお持ちの場合は、交互で使用すること。バッテリーは長期間使用しないと、バッテリー内の化学反応がなくなる可能性があります。


×)バッテリーをカメラに入れたままで保管
◎)バッテリーを本体に取り付けておきますと、本体の電源が切れた状態でも少しずつ放電されます。この状態が長期間(数ヶ月以上)続くとバッテリーが過放電状態になり、性能が劣化する可能性があります。


×)車の中にそのまま置くこと
◎)炎天下の閉め切った車内など湿度の高い場所でバッテリーを保管しますと、劣化が進み、膨張などの危険があります。バッテリーは10~30℃の場所で保管して下さい。


×)旅行前夜、寝る前にベットのそばのコンセントに充電器を差し、不安定な場所で、寝ている間に充電
◎)周りに何もないところで、状況を確認しながら充電してください万が一、ご使用方法の誤りによってバッテリの落下、温度の高い場所での保存等で発熱、発火が起きた場合、火災になる恐れがあります。