コンテンツにスキップ

プログラムを、問題解決の道具に。

プロジェクト作成も、npm installも不要。
TypeScriptによる記述、実行、結果確認までをアプリ内で完結する、
日々の問題解決のためのローカル作業環境。

数行で済むはずの処理に、準備が多すぎる。

Section titled “数行で済むはずの処理に、準備が多すぎる。”

ログファイルを一部抽出したい。
数百行のCSVをSQLに変換したい。
ほんの数行のスクリプトで済むはずの処理でも、動かすためには、作業用ディレクトリ、実行設定、入力ファイルを読み込むためのコードが必要になる。

Trace Kernelでは、環境構築や実行設定をアプリ側の実行基盤が引き受けます。
CSVやログ、対象ディレクトリをGUIで登録し、workには処理本体だけを書く。
実行結果はアプリ内の出力パネルで確認できます。
思い立ったらアプリを開き、その場でコードを書いて実行できます。

プログラミングを問題解決のための道具として使うイメージ

入力データを、コードからそのまま使える形に。

Section titled “入力データを、コードからそのまま使える形に。”

CSV、ログ、対象ディレクトリ、固定値などを、ワークスペース上のコンテキストとして登録できます。
登録したコンテキストはMonacoエディタに型情報として注入され、TypeScriptから補完付きで参照できます。
入力ファイルを読み込むための定型コードを書かずに、処理本体から始められます。

GUIでresourceを定義する画面Monacoエディタでresourceが補完候補に表示される画面

env(環境変数)

パスや設定値の定数化

ファイルの出力先ディレクトリなどをGUI上で変数(例:DEST_DIR)として定義します。プログラムに直書きしないためエスケープミスを防ぎ、パスの存在チェックも画面上で行えます。

呼び出し例:$env.DEST_DIR

resource(静的リソース)

テキストやCSVを直接オブジェクト化

GUIのテキストエリアにCSVやTSVを貼り付け、「CSV to JSON」パースを指定するだけで、自動でJSONオブジェクトの配列としてプログラムに注入されます。面倒な文字列分割処理を書くことなく、即座にループ処理へ移行できます。

呼び出し例:$resource.userData

dataset(動的データセット)

ローカルPC内の大量ファイルを安全にバインド

指定したディレクトリ配下から、複雑なフィルタ条件(例:.gitフォルダを除外し、*.javaのみ抽出)に合致するファイルだけをGUIで直感的に抽出。数万のファイル群でも遅延ロードで安全に走査・解析が可能です。

呼び出し例:$dataset.workspace

実行結果を、GUIに直接表示する

Section titled “実行結果を、GUIに直接表示する”

プログラムの実行結果は、アプリ内の出力パネルに直接表示されます。
Trace Kernelでは、$で始まる独自APIを使って、出力、進捗表示、テーブル表示などをプログラムから扱えます。
単純なテキストは$print / $printlnで出力し、長時間の処理は$stateで進捗や現在処理中のファイル名を表示できます。
出力を用途ごとに分けたい場合は$channelで複数のストリームを作成し、テキストやテーブルとして結果を確認できます。

  • 状態表示 ($state)

    大量ファイルの走査や変換処理では、完了までに時間がかかることがあります。$stateを使うと、プログレスバーやモニターを表示し、処理件数や現在処理中のファイル名をログとは別に確認できます。

  • 複雑な出力 ($channel)

    $channelを使うと、ログ、集計結果、エラー一覧などを別々のストリームに分けて出力できます。テーブルストリームを使えば、集計結果を行と列の形で確認できます。

スクリプト実行中のモニター表示テーブルストリーム出力

Trace Kernelでコードを実行するために、作業ディレクトリへpackage.jsonやコンパイル後の.jsファイルを作る必要はありません。 実行に必要なコードや設定は、アプリ内のワークスペースで扱われます。コードを動かすために、物理的な作業ディレクトリや実行用ファイルを用意する必要はありません。

実行用ファイルをローカルストレージに作らず、アプリ内でコードと結果を扱うイメージ
通常の開発環境Trace Kernel
プロジェクトを作成してコードや設定ファイルを管理する物理ファイルを作らず、アプリ上のワークスペースでリソースとプログラムを管理する
npm install やビルド設定を用意するアプリ内の実行環境でTypeScriptを実行する
入力ファイルを読み込むボイラープレートを書くGUIで登録したログやCSVが、プログラム上の補完候補として使える
プログラムを実行するためにコマンドを叩く実行ボタン、またはエディタ画面のショートカットキーで即実行する

より詳しい考え方は、通常の開発環境との違いで説明しています。

Trace Kernelは、VS CodeやNode.jsプロジェクトの置き換えではありません。開発環境を組むほどではないが、手作業では曖昧になりやすい処理を、TypeScriptで明示して実行するための環境です。

Trace Kernelは、アプリやライブラリを開発するためのIDEではありません。
ログ解析、データ変換、ファイル調査のような技術作業を、TypeScriptでその場で処理するための作業環境です。
そのため、以下のような本格的な開発プロジェクトの管理や運用は対象外です。

  • Webアプリやライブラリを開発するための本格的なプロジェクト管理
  • npmパッケージを自由に追加して構成するNode.js開発
  • 長期間運用するサーバーアプリケーション
  • 複数人でGit管理する通常のソフトウェア開発プロジェクト

初めて使う場合は、まず基本ワークフローで作業の流れを確認してください。GUIで登録した情報がコードからどう見えるかを知りたい場合はContext概要、プログラムから使える機能を確認したい場合はAPI概要が入口になります。

アプリを入手する場合は、Downloadから最新版を確認してください。