開発者必見:ワンクリックでコードファイルを生成、効率アップの神器!
ソフトウェア開発では、繰り返しの作業が大量の時間を占めることがよくあります。特に大量のコードファイルを一気に生成する必要があるときはなおさらです。効率を上げて人的ミスを減らすために、TableConvert.com が提供する強力なツール——Magic コンバーターを紹介します。この記事では、このツールの強力な機能と、それを使って作業フローを簡素化する方法を紹介します。
Magic コンバーターとは?
Magic コンバーターは、TableConvert.com が提供する機能で、CSVデータやExcel、XML、HTML Table、Markdown Table、JSON Array、Insert SQL、MySQL Query Output、LaTeX Table、MediaWiki Tableなどの表データを、あらかじめ定義されたテンプレート形式のコードに変換することができます。JavaクラスやSQL文など、どんな種類のファイルでも大量に生成する必要がある場合、このツールは効率を大幅に向上させます。
使用例
具体的な例を見てみましょう。以下のようなCSVデータがあるとします:
Building,building
Company,company
User,user
このデータを使って、各行に対して以下のようなJavaクラスファイルを生成したいとします:
package com.tex.kinesis.impl;
import com.tex.kinesis.RecordHandler;
import com.tex.model.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class UserRecordHandler implements RecordHandler<User> {
@Override
public void insert(User user) {
}
@Override
public void update(User user) {
}
@Override
public void delete(User user) {
}
}
生成手順
Magic コンバーターを使えば、簡単なテンプレートとCSVデータだけで必要なファイルを簡単に生成できます。具体的な手順は以下の通りです:
- CSVデータを準備:まず、Magic コンバーターツールを開き、上記のCSVデータを貼り付けます。
- テンプレートを定義:コンバーターの「Row Magic」オプションに以下のテンプレートコードを入力します:
echo 'package com.tex.kinesis.impl;
import com.tex.kinesis.RecordHandler;
import com.tex.model.entity.{$1};
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class {$1}RecordHandler implements RecordHandler<{$1}> {
@Override
public void insert({$1} {$2}) {
}
@Override
public void update({$1} {$2}) {
}
@Override
public void delete({$1} {$2}) {
}
}
' > {$1}RecordHandler.java
このテンプレートの他にも、Magic コンバーターは多くのテンプレート構文をサポートしており、柔軟性を高めます。各構文の使用方法を直感的に理解するために、以下の「内蔵テンプレート」を参考にしてください:
- {h1} {h2} ...:表のヘッダーの第Nフィールドを使用
- {$1} {$2} ...:現在の行の第Nフィールドを使用
- {F,} {F;}:特定の文字列で現在の行を分割
- {NR} {NR+100}:現在の行番号
- {ENR}:行の終了番号
- {$0}:現在の行の全フィールド
- {NF}:フィールドの数
-
{x ...}:JavaScriptコードを実行、例:
{x new Date()}
-
生成スクリプトを作成し、コマンドを実行:
上記の手順で生成されたコードをスクリプトファイルとして保存します。例えばgen-java.sh
として保存し、ターミナルで以下のコマンドを実行します:
/tmp/gen ❯ sh gen-java.sh
/tmp/gen ❯ ls -l
total 32
-rw-r--r-- 1 jerry wheel 478 Aug 14 17:25 BuildingRecordHandler.java
-rw-r--r-- 1 jerry wheel 469 Aug 14 17:25 CompanyRecordHandler.java
-rw-r--r-- 1 jerry wheel 442 Aug 14 17:25 UserRecordHandler.java
-rw-r--r-- 1 jerry wheel 1495 Aug 14 17:24 gen-java.sh
スクリプトを実行すると、複数のファイルが生成されます。これで大量生成の作業が完了です。大量の規則的なファイルや内容を生成する必要がある場合、このツールは大いに役立ち、貴重な時間を節約できます。
内蔵テンプレート
カスタムMagicテンプレートの他に、Magic コンバーターには多くの内蔵テンプレートがあり、すぐに利用できます:
- SQL: Update example:SQL更新文の例を生成
- Quote: Double Quote Cells:セル内容をダブルクォートで囲む
- Quote: Single Quote Cells:セル内容をシングルクォートで囲む
- Quote: Double Quote Column:列内容をダブルクォートで囲む
- RENAME: by Replace():Replace()を使ってリネーム
- RENAME: $1 to $2:$1を$2にリネーム
- Batch Create Empty File:空のファイルを一括作成
- Batch Create File with Content:内容付きのファイルを一括作成
- PHP Array:PHP配列を生成
- C Array:C言語の配列を生成
- Columns to Rows:列を行に変換
- CSV with Semi-colons:セミコロンで区切られたCSV
- HTML SELECT tag for first 2 fields:最初の2フィールドのHTML SELECTタグを生成
- JIRA Table:JIRA表を生成
- JSON for 2 fields:2フィールドを含むJSONを生成
- LDIF for 3 fields:3フィールドを含むLDIFを生成
- URL Query String:URLクエリ文字列を生成
最後に
Magic コンバーターは、JavaクラスやSQL文などのコードファイルを大量に生成するだけでなく、多くの類似した内容を作成する必要があるシーンにも応用できます。例えば、国際化リソースファイルの大量生成、テストデータの大量生成、設定ファイルの自動生成など。このツールの可能性はそれだけにとどまりません。もっと多くの使い方があなたを待っています。想像力を発揮して、Magic コンバーターの効率と便利さを体験してみてください!
Discussion