読み解いてみる
https://shell-mag.com/ユニケージ開発手法%E3%80%80コードレビュー%E3%80%80vol-47掲載/
リスト1
shebang は #!/bin/bash -vx
#!/bin/bash -vx
ログ出力は詳細に、実行コード自体もログに出す
https://uec.usp-lab.com/JOURNAL/CGI/JOURNAL.CGI?POMPA=DOC_journal09
LEVEL1は生明細データであり、テキスト形式とは限らない。LEVEL1は非同期で発生することも多い。これを毎秒、毎分、毎時、毎日のように同期的にシステムに取り込み、情報処理のタイムテーブルに乗せたものがLEVEL2となる。 通常、LEVEL2はテキスト化され、イレギュラーデータは取り除かれる。
https://www.usp-lab.com/methodology2.html
LEVEL3は、LEVEL2データを項目ごとに分割したり、時系列に整理したり、業務上意味のある項目、例えば利益などのファイルに分類整理したデータです。
5W1Hで分類、整理したデータ
#Levelデータ
LEVEL4データは別名アプリケーションデータと呼ばれ、アプリケーション(画面や帳票、他システムへのI/F)単位に、その出力に便利な項目で予め構成されたファイルです。複数のアプリケーションで共有するLEVEL4は存在せず、各LEVEL4に内容の重複があっても気にしません。
LEVEL5は出力データです。ユーザーダウンロードデータやログなど、システムが動作したりユーザー操作によって発生したデータを指します。これらを常に保存しておくことにより、システムの使用程度、稼動効率を調査したり、システム監査業務に利用したりすることができます。
ユニケージ開発手法で使用される独自のコマンド群。
Tukubaiコマンドオンラインマニュアル https://uec.usp-lab.com/TUKUBAI_MAN/CGI/TUKUBAI_MAN.CGI?POMPA=LIST
OpenUspTukubai https://github.com/usp-engineers-community/Open-usp-Tukubai
Golang習作用のOpenUspTukubaiの自前実装
ユニケージ開発手法におけるお作法
シェルスクリプトは記述の自由度が高い。そのため、ユニケージではシェルスクリプトの標準的処方や減速を決め、開発手法としての統一を図っている。これを「お作法」と呼んでいる。
ユニケージ原論 p.67
スクリプトヘッダの書法
コメントの書法
(主観です) ユニケージ開発手法のやめ時を考える
専業エンジニアが増えてきたとき
専業エンジニアにとって、ユニケージ開発手法はそれほど魅力的ではない
シェルスクリプトは限定的に使用する、というのが趨勢
https://oshou.github.io/shellコーディング規約/ Googleのシェルスクリプトコーディング規約
(主観です) 偉そうに言える立場ではないが、思考のまとめとして
SoEの部分から巻き取ったのが日経新聞社のパターン
フロントエンドは流行が変わりやすいので、SIerから剥がしやすい
SoRの部分から巻き取ったのが東急ハンズのパターン
メインフレームからのマイグレーションは上位者へ説明しやすい
(主観です) 以下、ユニケージ開発手法の利点について
非エンジニアがメインのチームで内製開発する、というのが想定利用シーン
業務知識が十分にあるメンバーであれば上流工程は軽くできる
下流工程を軽くするための手法がユニケージ開発手法
メインフレームからのマイグレーションに好適。シェルスクリプトはJCLよりは何倍も書きやすいし、COBOLエンジニアにも理解しやすい
ユニケージのレベルデータ概念を参考にRESTなAPIサーバの実装を考える
Command
APIサーバへはJSONをPOSTする
POSTされたJSONファイルはS3に保持する ← Level1データ
クレジットカード情報などは非保持とする必要があるため除外するか、マスクする