- TypeScript で遊んでみた: ResourceMap.ts
TypeScript で、文字列 string か数値 number で指定するキー・コードの並びと値の対応をエントリとする階層型マップ ResouceMap の実装をしてみた。
Typescript Playground (v4.9.5) で動作確認済み。
※ Zip ファイル: ResourceMap.zip
※ TypeScript ソース・コード: ResourceMap.ts
※ TypeScript (declare) ソース・コード: ResourceMap.d.ts
※ テスト・プログラムは、ソース・コード ResourceMap.ts で「【ResourceMap の動作確認】」とある箇所以後に記述してある。
※ テスト・プログラムのコンソール・ログ: ResourceMap.test-log.txt
※ TypeScript から生成された JavaScript ソース・コード: ResourceMap.js
- Java 1.8 で streams フレームワークを使った: jtb_gce_workspace.tgz
Java 1.8 の streams フレームワークを使ってみた。
そのほか、Google Storage, Jackson, JNDI, JDBC, Java SQL, JasperReports / iText, Apache HTTP Client, Java の暗号/乱数系を使用するコードも含んでいる。
※ Tgz ファイル: jtb_gce_workspace.tgz
- Excel ファイルをデータ入力に使用するための Java パッケージ: readxls
Excel ファイルを、ヘッダ部と明細部をもったデータの入力用ファイル形式として利用できる Java パッケージを作成した。
Excel ファイルの読み込みのために使用できる依存ライブラリは、
Java Excel APIと、Apatch POI。
リファレンス・マニュアル と
ソースおよびライブラリのアーカイブ readxls_src.tar.bz2(MD5 チェックサム) を公開する。
使用方法の詳細は、アーカイブを展開してできるテストプログラム
src/testreadxls/TestUsingJxl.java を参照。
- 定型テキスト編集 Java パッケージ: report
レイアウトを定義しそれに適用する編集データ・セットを指定することで、メールや FAX で送信できるテキストを編集する Java パッケージを作成した。
テキスト編集 Java パッケージ report のリファレンス・マニュアル。
テスト・プログラム ReportTest.java と Javadoc を含むJava ソースの tar-ball (MD5 チェックサム)。
- 任意な桁数の数値を表す文字列の総和と比較を行うユーティリティ
任意な桁数/精度の数値を表す文字列の総和を求めることと比較を行うユーティリティを作成した。
- UTF-8 エンコード変換ユーティリティ
EUC-JP あるいは SJIS と UTF-8 の間で文字化けしないようにエンコード変換するユーティリティを作成した。
- バイトオーダ変換ユーティリティ
ネットワーク・バイトオーダとホスト・バイトオーダのバッファ間で、フィールドのデータ形式を変換するためのユーティリティを作成した。
- 正規表現による文字列バッファ編集を行うユーティリティ
改行文字 ('\n') で区切られた文字列バッファの内容を、正規表現によって指定した内容で編集するためのユーティリティを作成した。
サブ・パターンの置き換えを指定する形式は sed(1) Unix コマンドに似せてある。
- 固定小数点数演算を行う算盤ユーティリティ
金融演算などで利用されることの多い固定小数点数演算による計算手順を、整数部 18 桁、小数部 18 桁の精度で実行する算盤ユーティリティを作成した。
- 改行制御コードを指定されたプラットホーム向けに変換するAPI
テキストファイルや通信データ中の改行制御コードを、指定されたプラットホームのものに変換する API を作成した。
- SQL 文字列のエスケープ処理を行う API
動的 SQL を使用する際に、ホスト言語 (C 言語) の文字列を SQL エスケープ処理する API を作成した。
- 構成ファイルをメモリに展開し検索する API
Java プロパティ・ファイル形式あるいは DOS INI ファイル形式の構成ファイルをメモリに読み込み、値の名前で項目値列を検索するための API を記述した。
- 西暦日付として使用できる数字文字列であることを判定する API
西暦日付として使用できる数字列を扱うための API を記述した。西暦日付としての正当性の判定、英語表記の文字列に変換、西暦 1 年 1 月 1 日を 1 とする通算日数の算出そして、ふたつの日付の経過日数を求めることができる。
- 数字文字列を英語あるいは米語での記数法に変換する API
半角数字列を英語あるいは米語の記数法文字列に変換する API を記述した。変換できる数字列は英語表記の場合 (負符号も含めて) 199 桁 (hundred duotrigintilliards) まで、米語表記では 103 桁 (ten duotrigintillions) までの整数。
- 浮動小数点数を金額としてフォーマットした文字列に変換する API
浮動小数点数あるいは数値を表す文字列を金額フォーマットで文字列変換する API を記述した。変換後の文字列中の整数部 3 桁区切り文字はカンマ , に固定している。
- 英数半角文字の文字列を整形する API
矩形のテキスト領域に英数半角文字列が収まるように整形する API を記述した。ここで「収まる」というのは、一つの語が複数の行に分かち書きされないようにすることを指している。
- EUC-JP 文字コードの文字列を扱う例
「日本語拡張 Unix 文字コード (EUC-JP) の文字列中の文字数を計数する」ことと、「n 文字目 (0 以上) から m 文字分 (1 以上) にあたる部分文字列のアドレスとサイズを求める」API を作成した。
- GCC でダイナミックライブラリを使う例
実行時に設定ファイルで指定したダイナミックライブラリ名、関数名そして引数の文字列を動的リンクして関数呼び出しを行う C 言語プログラムの例。
動的にロードされる関数は lib_test.c で、dlopen(), dlsym(), dlclose() を使って動的ロードする側は how_to_dynamic_library.c。実行時に指定する設定ファイルは test.ini。
- TCP/IP Communication API in C
POSIX システム上でマルチスレッドな TCP/IP 通信を行うための API ライブラリ tcpip_comm.h, tcpip_comm.c を作ろうと思う。いろんなところで何度も同じようなコードを組まされるのもいい加減飽きてきたんでね。
とりあえず、任意のシステム時刻でタイムアウトできる connect 機能 (connect_timeout()) を作成した。
次はスレッドプログラム中で使用する accept 機能だな。
- IEEE754 Floating Point Comparing in C
C 言語で IEEE754 準拠の浮動小数点 (double 型あるいは long double 型) 同士の「等しさ」を定義付け「正しく比較」できるようにする API。
- Sorting linked lists utillity in C
qsort() を使用して単方向/双方向リストを高速ソートする C 言語ユーティリティを作成した。
- Simple Hashing API in C
簡素なハッシュ・テーブル C ライブラリを作成した。データの差換え・削除が可能。
ChangeLogs.txt に修正履歴を記録している。
- 100000 番目までの素数リスト
my_util.FacilityTest Java プログラムを改造して作成した素数のリスト。
- My_util package in Java
Semaphore, Message, SharedObject, Log, Timer, Inspector (using nio SocketChannel and Selector), etc...
(source file tar-ball, MD5 check-sum, tar-list, references, jdb help text)
- 正規表現によるバッファ検証ライブラリ buffer_checker.c
(2004/12/31 (Fri) 更新)
送受信バッファのフィールドが文字列である場合に、それらのフィールドの正当性を C 言語の正規表現 regex(3) を使って確認するためのライブラリ buffer_checker を作った。API で万能チューリング・マシンを作成した。
- CSV/TSV file converter in C
(2005/09/24 (Sat) 更新)
CSV (Comma Separated Values) や TSV (Tab Separated Values) 形式のファイルを C 言語の文字列に変換して読み込むことと、その逆変換をするためのC ライブラリ。
可変個の C 言語文字列を CSV ファイルに出力するAPI "write_csv_columns()" を追加した。セルの区切り文字に任意な文字を指定できる。
- Show Unix errno message
Unix の errno に対応するメッセージ文字列を出力するツール show_errno_messages.c と Cygwin-GCC で実行した errno メッセージ一覧。
- Tips : How to use "vfprintf(3C)"
可変引数関数の例。va_list を使用して、ID に対応するフォーマットで vfprintf() を呼び出している。
- How to Setup Windows
2004/11/05 (Fri) に、 HDD が故障したので換装し Windows 環境を再構築した。その際の作業内容を記録。
追記: 2005/05/06 (Sat):
Firefox で GDI.exe エラーが発生した場合の対処方法を付け加えた。
- CrunchWEB
昔作った GPL-ed Freeware。HTML PRE タグを使った、Knuth's WEB の tangle コマンドもどき。
Unix システムコール mmap(2) の使用例になっている。
昔の自作ソフトやおべんきょ資料などを tar-bzip2 でまとめたものも、置いておきます。いわゆる、「想い出の品」ってやつです (中身のリスト: maoyam.hp.infoseek.co.jp.tar-list.txt)。
尚、動作はまるで保証できかねます。なぜなら、作った本人が理解不能な箇所多数!!なため (笑)