1.7K Views
July 12, 24
スライド概要
2024/07/12 Go Connect #1 LT発表資料
Web Application Developer / kintone CERTIFIED App Design Specialist 2020 / kintone CERTIFIED Customization Specialist 2020
Claris FileMakerのクリップボード データを出力するCLIツール 2024年7月12日 Go Connect #1 ライトニングトーク発表資料 松尾篤
松尾 篤 @matsuo̲atsushi
XMLPaste • Claris FileMaker Proでコピーした各種 • Go言語で作成したCLIツール クリップボードデータをペーストできる • macOS版とWindows版を用意
Claris FileMaker • 業務改善に役立つアプリを構築できる • 39年の歴史があるFileMaker ローコード開発プラットフォーム • iPadおよびiPhoneにも対応
使用手順 1. Claris FileMaker Proでオブジェクトを コピー 2. コマンドプロンプトやPowerShell (Windows)、ターミナルアプリケー ション(macOS)等でxmlpasteを実行
対応するデータ形式 • スクリプト、スクリプトステップ • レイアウトオブジェクト • • テーマ カスタム関数、カスタムメニュー • テーブル、フィールド
Demo
Open Source Software • GitHubで公開(MITライセンス) • 約5年前に作成 https://github.com/emic/XMLPaste
OS固有の処理への対応 • macOSではcgoでObjective-Cの処理を 呼び出してクリップボードにアクセス • fi • Make le内でmacOS用のビルド時に 「CGO̲ENABLED=1」を指定 WindowsではWindows APIを使用して クリップボードにアクセス
OS固有の処理への対応 • xmlpaste.go(共通部分) • • xmlpaste̲darwin.go(macOS) xmlpaste̲windows.go(Windows) • ファイル名による指定で対応可能
利用可能なオプション • -o(--output):ファイルとして出力 • -p(--pretty):出力結果のXMLを整形 • • -v(--version):バージョン情報を表示 -n:末尾の改行を出力しない(macOS • -h(--help):ヘルプを表示 のみ)
fl OS共通の処理 • agパッケージを使用してオプション • xmlpaste.goにおいて を処理 • オプションが指定された際に出力結果 のXMLを整形
GoでCLIツールの作成 • 3つの利点 配布のしやすさ • 複数プラットフォームへの対応のしや • すさ • パフォーマンス 「みんなのGo言語[現場で使える実践テクニック]」(技術評論者)より
Goのいいところ • 標準でコードフォーマッター(gofmt) が附属 • コードのインデントや改行位置、変数 の整列などを自動調整してくれる • 設定項目が存在しないgofmtのおかげ で独自のスタイルが乱立しない
関連リンク • XMLPaste https://github.com/emic/XMLPaste