В разработке ПО повторяющиеся задачи часто занимают много времени, особенно когда нужно массово генерировать кучу файлов с кодом. Чтобы повысить эффективность и уменьшить количество ошибок, 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: Генерация HTML SELECT тега для первых двух полей.

  • JIRA Table: Генерация таблицы JIRA.

  • JSON for 2 fields: Генерация JSON для двух полей.

  • LDIF for 3 fields: Генерация LDIF для трёх полей.

  • URL Query String: Генерация строки запроса URL.

В заключение

Magic Конвертер не только помогает массово генерировать Java классы, SQL запросы и другие файлы с кодом, но и может применяться в любых сценариях, где нужно создать много похожего контента. Например, массовая генерация файлов с международными ресурсами, тестовыми данными, конфигурационными файлами и т.д. На самом деле, возможности этого инструмента гораздо шире, и ты можешь открыть для себя ещё больше способов его использования. Дай волю своему воображению и попробуй сам, чтобы почувствовать, насколько Magic Конвертер может повысить твою эффективность и удобство работы!

Комментарии (1)


  1. Sazonov
    20.08.2024 10:03

    Содержимое «скрипта генерации» покажете? А то из статьи не понятно, вы про функциональность сайта рассказываете или про утилиту.

    Если первое - то оно бесполезно, потому что если сайт ляжет по любой причине, то встанет вся работа.