木曜日, 5月 17, 2012

failed to read qemu headerのときのメモ

かなり久々。。。

忘れないようにここに書きこんでおく。

ちょっとした手違いでlibvirtでイメージを起動しようとすると
failed to read qemu header
なんておっしゃられて起動しない。。。

vmwareserverを使っていたころにも同じようにイメージが起動しないことがあって、起動時に生成されるファイルが残っていて、そいつを削除すると起動した記憶があったので、似たようなものを探してみたら

/var/lib/libvirt/qemu/save/ホスト名.save

ってのがあったので削除したらなんとか起動した。

おそらく、マシンを強制的に落としたのでsaveのファイルがおかしくなっていたのではないかと思う。

もし、saveの内容を復元しようとすると無理なんだろうなぁ~


水曜日, 9月 07, 2011

デザインをいじってみた

かなり久々だなぁ~ とりあえず、ぱっと不要だと思えたアイテムを削除してみた。 最近はクラシックASPとかASP.NETを少しだけやったりしてるが、 何かいまいち刺激が足りない。。。

木曜日, 11月 25, 2010

SyntaxHighlighter 最新のverを使用できるように設定してみた

これまたかなり久々。。。

いままでこのブログで公開したコードは基本的にSyntaxHighlighterの1.5を使用していました。

しかし、今日確認するとコードのハイライトが反映されない?!!

なんで??



まあ、そもそもホスティングされているのかもわからないようなコードを無理やり利用する方法だったのが問題だった。

(我ながらよく確認もしないで利用していたものだ)なのでversion upも兼ねて公式で公開されていたブロガーでの利用方法で設定し直してみた。


まずはSyntaxHighlighterを参考にしています。この中でホスティング情報が掲載されています。

(というかAmazon S3使ってホスティングしてるのにビックリしたというかこんな形でAmazon S3が役立っているとは考えたことがなかった。。。ほんと勉強不足だなぁ~)currentというURLもあるので新しい物好きな人は特に変更を加えなくても最新に変更されて行くみたいです。(大きな変更(1.5.1->2.xのような)が発生した場合はどうなるかわかりませんが。。。)

ホスティングの文面で毎月83Gの通信は発生していて40ドルかかってるそうだ。開発を続けるためにも寄付をお願いします。というメッセージが。。。

望めばContributorsとしてdonateに名前を掲載してもらえるみたい。


実際の設定は最初は迷ったが、Extensions & Integration上にブロガーでの設定方法が掲載されています。私が参考にしたのはAdding a Syntax Highlighter to your Blogger blogという記事です。書かれている内容をそのまま実践するだけでSyntaxHighlighterが利用可能になります。



とっても簡単に訳すと以下のようになります。
</head>

タグの手前(要はheadタグ内で)に以下のコードを記述します。(使用言語に応じてロードするjsファイルを調整してください。)

<!--SYNTAX HIGHLIGHTER BEGINS-->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!--SYNTAX HIGHLIGHTER ENDS-->


でもって

<pre class="brush: html">
</pre>

赤い文字部分が言語に応じて変更が必要な部分です。種類についてはBundled Brushesを参照してください。



後は私のように1.5系からversionupする人へのメッセージです。

残念ながら新しいSyntaxHighlighterを適用させるには1.5系ではname属性にしていた名前(code等)+class属性に適用させたい言語(htmlやjava等)を記述する必要があったのですが、それがclassのみで設定できるようになります。

ただし、今までに投稿した記事も手直しが必要になるので大変です!!

まあ、1.5系のホスティングもあるので私みたいにテキトな人でなければそちらを利用するのも手だと思います。


まあ、このサイトで変更が必要な箇所はおいおい直していくことにしよう。。。(どうせそんなに見る人いないしね)

日曜日, 4月 18, 2010

Faulting application w3wp.exe, version 6.0.3790.3959, stamp xxxxxxxx, faulting module unknown, version 0.0.0.0, stamp 00000000, debug? 0

タイトルのとおりのイベントログがWin2003 Serverで発生した。 日本語での解説を見つけられなかったので、
その時の調査内容のメモ

結論から行くと
このメッセージ(タイトル)の内容だけでは簡単には特定できることではないらしいが、
少なくとも私が遭遇したのは
レジストリに存在するアプリケーションプール関連の設定についてのパーミッションが原因
状態的にこれしか当てはまらなかったからね。。。(うーん、言いきっちゃって良かったのかなぁ?)

詳しい解説はKB918041をググるとわかる。
マイクロソフトに機械翻訳版の日本語は存在するが、日本語が怪しかったので英語版を見たほうが良いとは思う。

一応簡単に内容を書いておくと
レジストリーキー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727\Names
のアクセス許可をアプリケーションプールを実行しているユーザー(グループ)にも与える(アプリケーションプールを実行しているユーザーはIISのコンソールで確認できる)
与える許可内容は
  • 値の照会
  • 値の設定
  • サブキーの作成
  • サブキーの列挙
  • 通知
  • 読み取り制御
  • Windowsだと思って舐めてたらパーミッション周りで苦しめられる。。。
    でも、そもそもサーバーなんだから当たり前の話なんだよね。
    何か周りの人はその辺を全く意識してない人ばっかりで心配だ。。。

    月曜日, 2月 15, 2010

    Oracle9iのDBMS_METADATA.GET_DDLを使ってTABLE,INDEX,TRIGER,COMMENTを取得する

    かなり久々、別に放置していた訳じゃないです。
    仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。

    前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっていうコマンドが用意されていたので、かなり簡単にできたんだけど。。。
    DBMS_METADATAパッケージって何ていうか癖があるような気がした。

    私が欲しいのは
    • 1.そのまま取得結果が実行できる(実行環境はsql*plusや他のサードパティ製ツール)
    • 2.テーブル定義なら合わせてINDEXやCOMMENTの情報も欲しい
    • 3.後々の保守も考えてテーブル単位にDDLをファイルに出力したい
    で、結果としてこうなった
    select
      DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME, OWNER)
    from
      ALL_TABLES
    where
      OWNER = :OWNER and
      TABLE_NAME = :NAME
    union all
    select
      DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT', TABLE_NAME, OWNER)
    from
      (select
         TABLE_NAME, OWNER
       from
         SYS.ALL_TAB_COMMENTS
       where
         OWNER = :OWNER and
         TABLE_NAME = :NAME and
         COMMENTS is not null
       union
       select
         TABLE_NAME, OWNER
       from
         ALL_COL_COMMENTS
       where
         OWNER = :OWNER and
         TABLE_NAME = :NAME and
         COMMENTS is not null)
    union all
    select
      DBMS_METADATA.GET_DEPENDENT_DDL('INDEX', TABLE_NAME, TABLE_OWNER)
    from
      (select
         TABLE_NAME, TABLE_OWNER
       from
         ALL_INDEXES
       where
         TABLE_OWNER = :OWNER and
         TABLE_NAME = :NAME and
         INDEX_NAME not in (select CONSTRAINT_NAME from SYS.ALL_CONSTRAINTS
                            where TABLE_NAME = TABLE_NAME and
                                  CONSTRAINT_TYPE = 'P') and
         UNIQUENESS != 'UNIQUE'
       group by TABLE_NAME, TABLE_OWNER)
    union all
    select
      DBMS_METADATA.GET_DDL('TRIGGER', TRIGGER_NAME, OWNER)
    from
      ALL_TRIGGERS
    where
      TABLE_OWNER = :OWNER and
      TABLE_NAME = :NAME
    ;
    
    ※ここでは1テーブルに対してのSQLにしてあります。 確かにこれで僕が欲しいスクリプトは取得可能なのだが、
    私が求める要件1を満たさない。。。

    セミコロンないしスラッシュがCOMMENT文に対して出力されない。。。

    まあ、その問題もマニュアルを見ることで解消できた。
    sql*plus上でこんな感じで実行すると私の欲しいスクリプトが出た。
    set echo off
    set termout off
    set heading off
    set pagesize 0
    set linesize 10000
    set trimout on
    set trimspool on
    set feedback off
    set long 1048576
    set longchunksize 1024
    
    exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR', TRUE );
    
    exec :NAME := 'テーブル名'
    spool スプールログ名.sql
    @↑のSQLファイル
    spool off
    
    肝だったのが、 DBMS_METADATA.SET_TRANSFORM_PARAMとlongchunksizeだった。 DBMS_METADATA.GET_DDLの実行結果はCLOBなので、longの設定はしていたのだけど、それだけだと特定の行サイズになると改行されてしまう。linesizeも設定してるんだけど改行されてしまう。。。
    その状態を回避するのにlongchunksizeを使用した。 本来、CLOBに対してlong,longchunksizeはセットだと覚えておくと良いみたい。

    セミコロンないしスラッシュがCOMMENT文に対して出力されない問題はDBMS_METADATA.SET_TRANSFORM_PARAMにSQLTERMINATORで幸せになれた。(しかし、何故にデフォルトでFalse設定なんだ??)
    とりあえず、これでまとめて欲しいものを出力することができた。

    日曜日, 12月 06, 2009

    もう師走

    早いもんだね。。。

    プーしてたときには欠かさず毎日postしてたのに
    今では月に一回ってところです。

    できれば有意義な情報をpostしたいなぁ~と思えば思うほどキチンとまとめないと世間様に見せることもできないなんて思ってしまって。。。
    と自分への言い訳はこの程度にして
    まぁ、投稿してたものにしても世間様でお役に立っているのかどうか?と不安に思っていたんですが、

    今日、珍しくコメントを頂いて
    やっぱり、居たんだね私と同じことを思っていた人が!嬉しいですよ!!
    やっぱり、有意義な事だけpostしようと思いつつ
    こんなpostをしてる自分がちょっと情けない。。。

    土曜日, 11月 14, 2009

    OCaml まだ、読んでる途中

    まだまだ、読んでる途中です。

    かなりのんびり読んでます。
    まぁ、通勤の電車の中と仕事場での昼休みに読んでるだけだからね。。。

    でも、何かこうしっかり(?)書かれてたら、楽しく読めて良い感じだw。

    しかし、読んでて気になったことが一点、

    この本には各章にまとめとしての練習問題が含まれているのですが(もともと講義用のテキスト?がベースらしい)、何故か解答が付いてないように思える。

    で、2週間くらい前に「何で解答例が付いてないんだ??」と考えてみて、自分なりに納得しようと解答がないという事実について答えを考えてみた。

    答えを鵜呑みにして、理解ができてなかったら意味がない

    うん、そういうことにしておこう。。。

    と、してたんですが
    先に進むほどに「結果としての答えも分かっているし、コードも書いて、動かした結果も想定どうり」で良かったねでは納得できなくなってきました。。。

    これはOcamlの記述もとい、関数言語としての記述として妥当(一般的)か?
    が気になって気になって。。。

    同じ本を読んだ方で同じように悩んでいる方はいるのだろうか?

    failed to read qemu headerのときのメモ

    かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...