🐙

開発者必見:ワンクリックでコードファイルを生成、効率アップの神器!

2024/08/14に公開

ソフトウェア開発では、繰り返しの作業が大量の時間を占めることがよくあります。特に大量のコードファイルを一気に生成する必要があるときはなおさらです。効率を上げて人的ミスを減らすために、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データだけで必要なファイルを簡単に生成できます。具体的な手順は以下の通りです:

  1. CSVデータを準備:まず、Magic コンバーターツールを開き、上記のCSVデータを貼り付けます。
  2. テンプレートを定義:コンバーターの「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()}
  1. 生成スクリプトを作成し、コマンドを実行
    上記の手順で生成されたコードをスクリプトファイルとして保存します。例えば 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