ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

DOM廃止

2011-12-10 12:41:10 | PG(言語比較)

プログラミング言語比較のページでは、表に各プログラミング言語のキーワードを並べている。ただ、言語が多くなると横に長くなってブラウザーからはみ出して見づらくなる為、指定した言語(列)だけ表示する機能を入れていた。

しかしそれを実現するのにMicrosoftのXML DOMを使い、表のデータをXMLファイルから読み込んで特定の列だけ抽出するようにしていた為、IE(のバージョン5以降)でしか使えなかった。
自分がIEしか使ってなかった頃はそれで良かったのだが(爆)、最近ではIEを使っていないので、何とかしたいと思っていた。

で、素直にJavaScriptを使ってタグの表示・非表示を切り替えるように修正した。
XMLファイルやXSLファイルが不要になったのでファイル数が減ったw

XMLファイルを使っていた頃は htmlファイルを読み込んでXMLファイルを生成するプログラムを用意していたのだが、これは結構やっつけ仕事プログラムで(苦笑)、このファイル限定のタグ解析をしていた。
今回もテーブルの各セルにidを付けるプログラムを作ったが、これは自作のHTMLパーサーを使ったから、まだましかなー。(このパーサーは、今回の様に属性値を変えたり追加したりする為に作ったので)
ただ、久しぶりにこのパーサーを使ってみたら、メソッドが不便だったんでちょっと追加してしまった。最低限しかAPIを用意していないJDK1.5から便利メソッドが追加されたJDK1.6になったような気分w

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MTアンセーフの状態

2008-06-20 23:59:58 | PG(言語比較)

文字列のページから文字の部分を分離して新しいページを作った。
と言っても、移したのは改行コードに関する部分くらいか^^;

あとマルチスレッドについて思った事をちょっと追記。

C言語だと関数の呼び出し形態は1つしかないので、MT非セーフの関数の場合、「排他すれば安全」と「排他してもダメ」の2種類になるように思う。

オブジェクト指向というかクラスをインスタンス化して使う言語の場合、インスタンスメソッドがMT非セーフだったら、同一インスタンスだと複数スレッドから呼べない(安全でない)。
排他の有無によって安全になるかどうか…というのはC言語の場合と同じだけれども、もう一つ、「それぞれのスレッド毎にインスタンスを作れば排他しなくても使える」という可能性がある。(staticなフィールドを使ってデータを保持していたりしたら安全とは言えないので、スレッド毎にインスタンス化したからと言って必ず安全とは限らない)

「MT非セーフな関数・メソッドに対し、どう呼んだら安全となるか」という分類については、専門用語がありそうな気もするけど、聞いたことないなぁ…。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XML用語

2008-06-18 02:04:24 | PG(言語比較)

XMLの記号を記号比較に追加。

XML(SGML?)の記号の文法上の名称はけっこうきっちり決まっているっぽいので分かり易い。

  • <? ~ ?> … 処理命令
  • <! ~ > … マーク宣言
  • <![ ~ ]> … マーク区間宣言
  • [ ~ ] … 宣言部分集合
  • <!-- ~ --> … 注釈宣言

<?xml ~ ?>というXML宣言は、処理命令を利用したものらしい。

CDATAセクションはマーク区間宣言と宣言部分集合の合成のような気がするが、その終端を表す記号]]>はマーク区間宣言の終了とはちょっと違って独特(]と]>が不可分)なように思える。

注釈は、途中で「--」が現れるとエラーになるらしい。だから「<!----」とか「---->」は不可なんだそうだ。そんなコメントは試そうとも思わなかったけど(苦笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

接尾辞@

2008-03-07 20:54:18 | PG(言語比較)

VBで変数名の後ろに付けるサフィックス(接尾辞)に@があると知ったので、メモに追加。
ついでに#の使い道として日付定数が抜けていたので、追加。

型宣言文字の%!#$はMSX-BASICの時代からあったので知ってたし、&はVBで文字列結合に使おうとして変数の直後に(空白抜きで)くっつけるとエラーになるから知ってたんだけど、@は知らなかったなー。

ついでに変数の直後に付けるだけでなく、数値の直後に付けて型を明示できるのは知らなかった(というか#は使ってたような気がするので、すっかり忘れていた と言うべきか)。
さすがに$は無理だったけど^^;

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Javaでパス名/ファイル名要素取得

2007-11-17 04:21:04 | PG(言語比較)

プログラム言語比較のファイル操作に、Javaでパス名からディレクトリ名・ファイル名を取得するメソッドを追加。

…なんで今まで書いてなかったんだろうなぁ。やっぱり拡張子を取得するメソッドとかが分からなかったからかな? Javaにそんなメソッドが無いのは、JavaはUNIXでも使う都合上、拡張子という概念には触れないようにしてるからなんだろうな~。(当然ドライブ名も無いし)

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする