メモの日々


2001年10月15日(月) 点数をつけてしまう

[java] Velocity

JakartaのVelocityについてのエッセイらしい。JavaHouse Brewersより。JSPとの比較がなされているそうです。読まねば。

[java] 最適なフロントエンド開発手法

Javaによるウェブアプリケーションの設計手法かな。What's new about Javaより。

[java] サーブレット関連

JavaHouse Brewersで原田洋子さんが「サーブレットコンテナのオートリロードは使えない」とおっしゃっていた。サーブレットのSingleThreadModelもだめ、JSPもだめだって。そうなのか。

会社など

  • 21:05 今日は8:10に出社したぜ。1時間しか眠らなかった。
  • 週末見なかったテレビ。ダウンタウンのものごっつええ感じスペシャル。まさか金曜日に放送するとは。見逃してしまった。決して再放送を見逃してはならない。
  • 週末見なかったテレビ。ER。また最終回を見逃してしまった。眠ってた。アホや。
  • 週末見たテレビ。スーパーサッカー。加藤はやはりうるさい。絶対不評だと思う。白石美帆さんは100点。
  • 週末見たテレビ。黄金伝説の再放送みたいなやつ。坂下知里子がココリコ田中に好意を寄せているふりをして告白までしてうそぴょーんという企画。坂下知里子さんは97点。
  • 週末見たテレビ。さんまの天国と地獄。市川がおもしろい。内田アナウンサーは97点。
  • 週末見たテレビ。ガキの使いやあらへんで。浜省だらけの野球大会と未公開トーク集。お尻をぷりぷりにするにはどうしたらいいのか、とか。後は思い出せない。うーむ。
  • 仕事が全然おもしろくないぞ。

2002年10月15日(火) レビューの日

[windows] Windows 2000/Windows XPのICSを活用する(NATを利用する方法)(1)

Windowsのインターネット接続共有の説明。Windowsに2枚のNICを刺してNATを実現できるということのようだ。

[windows] IPアドレスからホスト名を見つける方法

nbtstatの使い方が少し説明されている。

[service] Xteam グループボード2.0プラン

MSのグループウェアGroupBoardのホスティングサービス。PCDN News Letterより。無料お試しもできるようだ。

Cプロジェクト

  • 10:30〜11:30 大崎さんが話をしに来てくれたが結局何の話をしたのかなあ。まとまりのない打ち合わせ。デジタルダッシュボードというMSのポータルサイトへの取り組みの話がでた。でももうMSはデジタルダッシュボードという言葉は使わなくなっている気がする。
  • 午後〜15:00 SharePoint Team Servicesを動くようにする取り組み。全然駄目。
  • 15:00〜16:30 高本吉田水野兒玉板敷で定例打ち合わせ。まさしく混乱している。誰も仕切れていない。
  • 16:30〜18:40 機能設計書のレビュー。まだ内容は流動的。今までの流れからすればしょうがないわな。しかし今後FIXしていく気が全くしないぞ。

その他

  • 8:50 部会終わったところ。サイボウズのバージョンアップは先週末にしたのだった。
  • 19:00〜21:00 吉田さん帰国祝いで板敷さんも一緒に2階で飲み。ひたすらビールを飲む。イライラすることばかり。おれにはサラリーマンだめだ。
  • 21:20 redhatでup2date -u。tetex-1.0.7-15.10 tetex-afm-1.0.7-15.10 tetex-dvilj-1.0.7-15.10 tetex-dvips-1.0.7-15.10 tetex-fonts-1.0.7-15.10 tetex-latex-1.0.7-15.10 tetex-xdvi-1.0.7-15.10 zebra-0.91a-3 がインストールされた。 tetexとはなんぞや。rpm -qi tetexと打つと「TeTeX は Linux または UNIX 用の TeX を実装したものです。Tex は、テキストファイルとフォーマット用コマンドのセットを入力情報として使用し、レイアウトに依存しない .dvi (DeVice Independent) ファイルを出力として作成します。通常、TeX 単体ではあまりユーザフレンドリとはいえないので、LaTeX や PlainTeX などの高レベルのフォーマット用パッケージと併用されます。」と出た。zebraとはなんだ。rpm -qi zebraとすると「Zebra is a multi-server routing software package which provides TCP/IP based routing protocols with IPv6 support such as RIP, OSPF, BGP and so on. Zebra turns your machine into a full powered router.」だそうです。必要なさそうだがアンインストールはしない。

2003年10月15日(水)

[dev] エンコード・コレクション (メール、テキスト関連) (Web&Mail&Mac講座)

色々なエンコードの説明。ryuzi_kambeの日記より。ちょっとメモり方を変えてみたり。

炊飯器の目盛り

炊飯器には水の量を量るための目盛りがある。我家の炊飯器には目盛りが2つ付いているが、この2つの目盛りが揃っていないことに今気付いた。こんなのあり?どちらを信じればいいのか。

今日は低い方の目盛りを信じた。最近いつもご飯が柔らかいと思っていたのだ。これでうまく炊ければ低い方を信じればいいということだ。

うむ、うまく固めに炊けた。

[work][soft] 会計ソフト

眺めたのでメモしておく。複式簿記での青色申告が簡単になるものが欲しい。複式簿記ってのがまだ分かっていないけど、少なくとも「貸借対照表」と「損益計算書」の印刷機能は必要そうだ。簿記など簡単だろうと楽観視しているが、どうなのか。

市販ソフトの比較があるサイトをメモ。違いは試用してみないとわからなそうだが。

2chのお勧めの会計ソフトと給与ソフト教えてくださいを見たら市販ソフトなど駄目なのではないかとも思えてきてしまった。ので、無料のものをいくつか見繕う。

・MS-Access95以降で動作する、複式帳簿の会計ソフトです。
・簡単な入力で、青色申告に必要な書類を作成することができます。

  • ♪♪会計 (Seiho) 「フリーソフトウェア版の登録件数は300件程度です。」というのが気になる。

Access97、Access2000 Access2002 Access(アクセス)で使用可能な、複式簿記完全対応の会計ソフト、現金出納帳としてもご利用いただけます。超高速入力可能でマウスは不要です。白色申告、青色申告、確定申告、決算報告書にご利用の場合、CSV/Excel(エクセル)出力しご自由なレイアウトで印刷可能,。法人税・収支内訳書・源泉徴収票などの作成にご利用下さい。

  • ♪会計 (nyao soft) Vectorで見ると一番人気。

日々の記帳から総勘定元帳・貸借対照表・損益計算書までエクセルへエクスポートすることもできます

日々の仕訳入力から決算書出力が行えるのみでなく、プロジェクト分析にも対応した個人経営・SOHO向けの会計ソフトです。

  • 会計君 (日だまり) Excelベース。

日常の会計処理を出来るだけ省力化する目的でご提供する、Excel97、2000、2002のマクロとワークシートの汎用会計処理システムで、フリーソフトウェアです。

青色申告を希望される個人の方にお奨めのソフトです。一般用と不動産用があります。税理士が作成しましたので、青色申告の適用を受けるに十分な要件は満たされています。また、利用するにあたって最小限の機能を備えて、無駄をできるだけ省いてあります。

試用してみないとなあ。

その他いくつかサイトをメモ。メモばかりしてても駄目なんだけどさあ。

生活

  • 地震だ。今回はベッドに寝転んでみた。揺れはすぐにおさまった。震度3〜4。

やること

  • 会計ソフトを眺める
  • 銀行口座を用意する 住友を解約、第一勧銀をみずほにしてカード作る
本日のツッコミ(全2件) [ツッコミを入れる]

しみず [最近(?)の炊飯器はメモリが4・5個ついてるのがあるんだよー。白飯用・おこわ用・すし飯用・おかゆ用などなど。]

小川 [ぼくの炊飯器には白米用とおかゆ用の2種類の目盛りが付いてます。それぞれが2箇所に付いていて、白米用の方が揃っていませ..]


2010年10月15日(金)

[c++] C++でバックトレースを表示する

bkブログの

で全て語られているけれど、自分で使ってみたのでメモ。環境はUbuntu 10.04。

  • バックトレースはThe GNU C Libraryにあるbacktrace()とbacktrace_symbols()を使って取得できる。マニュアルはここ
  • C++の場合、backtrace_symbols()で得られる関数名がマングルされていて読みづらい。The GNU C++ Libraryにあるabi::__cxa_demangle()を使うと元の関数名を取得できる。マニュアルはここ

サンプルプログラムと実行結果をメモ。backtrace_symbols()のマニュアルにもあるけれど、関数名を得るにはリンカオプションとして -rdynamic を指定しないとうまくいかなかった。下に示すプログラムを -rdynamic なしでビルドしたときの出力結果は

Backtrace:
???: ./a.out() [0x8048e29]
???: ./a.out() [0x8049176]
???: ./a.out() [0x8049370]
???: ./a.out() [0x804937d]
???: ./a.out() [0x804938a]
__libc_start_main [error:status=-2]: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb74dabd6]
???: ./a.out() [0x8048d71]

となり、-rdynamic ありでビルドしたときの出力結果は

Backtrace:
get_backtrace10(): ./a.out(_Z15get_backtrace10v+0x25) [0x8049e99]
f3(): ./a.out(_Z2f3v+0x14) [0x804a1e6]
f2(): ./a.out(_Z2f2v+0xb) [0x804a3e0]
f1(): ./a.out(_Z2f1v+0xb) [0x804a3ed]
main [error:status=-2]: ./a.out(main+0xb) [0x804a3fa]
__libc_start_main [error:status=-2]: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb75d3bd6]
???: ./a.out() [0x8049de1]

となった。

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

// backtrace()とbacktrace_symbols()はこのヘッダ
#include <execinfo.h>

// __cxa_demangle() はこのヘッダ
#include <cxxabi.h>

using std::string;
using std::vector;

// バックトレース情報を文字列で取得する
vector<string> get_backtrace10() {
    // backtrace()でバックトレース情報を取得できる
    const int trace_size = 10;
    void* trace[trace_size];
    int size = backtrace(trace, trace_size);

    // backtrace_symbols()でバックトレース情報を文字列に変換できる
    char** symbols = backtrace_symbols(trace, size);

    vector<string> result(symbols, symbols + size);

    // symbolsをfreeする必要がある
    free(symbols);

    return result;
}

// 取得したバックトレース文字列から関数名部分を切り出す
string cut_function_name_part(const string& raw_text) {
    // '(' ~ '+' までを切り出せばいいみたい
    string::size_type left = raw_text.find("(");
    string::size_type right = raw_text.find("+", left + 1);
    return
        (left == raw_text.npos || right == raw_text.npos)
        ? ""
        : raw_text.substr(left + 1, right - left - 1);
}

// 関数名をデマングルする
string demangle_function_name(const string& mangled) {
    // __cxa_demangle()でデマングルできる
    int status = 0;
    char* demangled = abi::__cxa_demangle(mangled.c_str(), 0, 0, &status);

    // demangledをfreeする必要がある
    string result = demangled ? demangled : mangled;
    free(demangled);

    if (status != 0) {
        std::ostringstream oss;
        oss << " [error:status=" << status << "]";
        result += oss.str();
    }

    return result;
}

void f3() {
    vector<string> backtrace_texts = get_backtrace10();

    std::cout << "Backtrace:\n";

    for (vector<string>::const_iterator
            it = backtrace_texts.begin(), end = backtrace_texts.end();
            it != end;
            ++it) {
        string mangled_func_name = cut_function_name_part(*it);

        std::cout
            << ((!mangled_func_name.empty())
                    ? demangle_function_name(mangled_func_name)
                    : "???")
            << ": " << *it << "\n";
    }
}

void f2() { f3(); }

void f1() { f2(); }

int main() { f1(); }

[life] toto当選した!

第475回の3等が。当せん金はなんと250円。2口当たっていたので合わせて500円。買ったのは8口で800円だったから赤字だ。

5年前にtotoGOAL3に当たったことはあった。totoGOAL3は当せん金が少なすぎるので最近はtoto一本をほぼ毎週800円買っていた。今回は天皇杯でJ1vsJ2の試合が多くて予想は簡単だったんだよなあ。

今日もtoto買った。1億当たってくれー。

やること

  • コンタクト

2014年10月15日(水)

[vim] Unite bufferでignorecaseを有効にする (2)

Unite.vimをアップデートしたら以前にメモした設定が

[unite.vim] You cannot set "ignorecase". Please set "context.ignorecase" by unite#custom#profile() instead.

というエラーになるようになってしまった。

ignorecaseの所をcontext.ignorecaseに変えればいいのかと思ったが、それではigonrecaseが機能しなかった。マニュアルを読んだ結果、次のように設定すればよさそう。

  call unite#custom#profile('default', 'context', {
              \   'ignorecase' : 1,
              \   'smartcase' : 1,
              \ })
  • ignorecaseだけでなくsmartcaseも指定したいので一緒に設定している。
  • 以前はprofile-nameを「source/buffer」にしていたが、「default」と書くとバッファ以外にも設定が効くようになると思われるのでそう書くようにした。
本日のツッコミ(全1件) [ツッコミを入れる]

こむすび [助かりました!]