USP研究所ロゴマーク

ユニケージ開発手法 教育講座テキスト内容一覧

K-OSAHO: ユニケージお作法編

  • ユニケージポリシー
    • UNIX思想とユニケージ思想
      • UNIXの思想
      • ユニケージ思想
    • テキストファイルとシェルスクリプトでシステムをつくる
    • データ基盤系システムとアプリケーション系システム
    • 履歴保持とバックアップ
    • 元データ思想
    • 全有と個有/冗長と無駄
      • 全有と個有
      • 冗長と無駄
    • お作法
      • お作法は「知恵」の集合体
      • 例外を決めない文化とお作法の進化
    • 完全分散型システム
    • 情報鮮度とリアルタイム
    • ドキュメント体系
    • 一休方式(データ基盤系)+床屋方式(アプリケーション系)
    • ユニケージ開発組織
  • ユニケージ開発手法のディレクトリ構造
    • ファイルとディレクトリの利用
    • データ基盤系・アプリケーション系
    • ディレクトリのネーミング
    • データ基盤系のディレクトリ構成
    • アプリケーション系ディレクトリの基本構造
      • ディレクトリ分けのポイント
    • ユニケージコマンドのディレクトリ構成
  • ユニケージ開発手法におけるファイル整理の仕方
    • レベルデータの特徴
      • L4データ以外は消去しない
    • データ基盤系/アプリケーション系システムとレベルデータの関係
    • レベルデータのネーミング
    • レベル1
      • レベル1ファイルの例
    • レベル2
      • ヘッダーと明細を結合する例
      • 二重入力・再送信・訂正の扱い
      • レベル2におけるファイルの日付
    • レベル3
      • L3はキーユーザーとの関わりの中で整理する
      • 業務上分かりやすいとは
      • マスタとトランザクション
      • データ基盤系/アプリケーション系との関係
      • L3設計は過度に神経質にならないこと
      • レベル3のファイル日付
    • 増加するレベル1~3ファイルの対策
    • レベル4
      • レベル4の例
      • リアルタイム反映
      • レベル4データの命名規則
    • レベル5
      • 走行ログファイル
      • UPCNTファイル
      • セマフォファイル
    • 一時作業ファイル
      • 補足
    • レベルデータの変遷
      • 入力と出力しかない処理をユニケージで記述する場合
      • 入力の種類は少なくて出力の種類が多い処理
      • 入力が非同期である場合、入力がテキストで無い場合
      • データ参照に高速なレスポンスが求められる場合
  • シェルスクリプトの種類
    • シェルスクリプトの命名ルール
      • システムを構成するシェルスクリプトの名前に使える文字
      • シェルスクリプトにはバージョン番号の類をつけない。
      • 違うスクリプトには必ず違う名前をつける。
      • 業務で使っている言葉をそのまま使う。無理に英語に訳さない。
      • 一時的なシェルスクリプトは小文字で名前をつける。
    • データ基盤系システムにおけるシェルスクリプト
    • データ基盤系シェルスクリプトの命名具体例
      • スクリプトのタイプ
      • 起動の間隔
      • サーバの役割(ROLE)
    • データ基盤系シェルスクリプト詳細
      • L1データ取得シェルスクリプト
      • L1配布シェルスクリプト
      • L1 → L2作成シェルスクリプト
      • L3作成シェルスクリプト
      • L3配布シェルスクリプト
      • システム維持シェルスクリプト
      • 手起動シェルスクリプト
    • アプリケーション系システムにおけるシェルスクリプト
      • ウェブアプリケーションの高速レスポンスの為、L4データを作成する処理
      • ウェブアプリケーションにおけるオンデマンド処理
      • 帳票データ作成処理
    • アプリケーション系シェルスクリプトの命名具体例と概要
      • L4作成シェルスクリプト
      • L4作成シェルスクリプトの起動シェルスクリプト
      • CGIスクリプト・HTMLテンプレート
      • CGIスクリプトからよばれるサブシェルスクリプト
      • Ajaxスクリプト
      • アプリケーション単位での分かりやすい命名
      • 帳票データ(L5)作成シェルスクリプト
    • 複雑な画面遷をともなうアプリケーションのケース
    • インターフェースがHTML以外の場合
  • シェルスクリプト記述のお作法
    • インターフェースがHTML以外の場合
    • 短く書く=実効100行以内の原則
      • 機能単位にプログラムを分ける
      • レベル3のレイアウトをシンプルにする
    • 冒頭の記法
    • 末尾の記法
      • 一時作業ファイルの消去
    • 走行ログ、UPCNT、セマフォ
      • 走行ログの掃出
      • セマフォの作成
    • シェル変数
      • 一時的な計算のための変数は使わない
      • 初期化の場所に関するお作法
      • シェル変数名は小文字にする
      • レベルファイル名は変数に代入しない
      • ${変数}や"$変数"は必要な場所だけ
    • コマンドはパスをつけない。ファイルは絶対パスで指定する。
    • 1行1コマンドの原則
    • タブインデントを用いる
    • 子シェルや関数作成に細心の注意をはらうこと
      • どこで使われているか把握が難しくなる汎用共通処理部品を作らない。
      • 上から下に読めなくなるシェルスクリプトはダメである。
    • エラーハンドラの記法
    • 環境変数はセットしない
    • 詳細設計コメント
    • 原則禁止コマンド
      • alias
      • eval
      • source
      • 実行コマンドをシェル変数に置く
    • +ng3 利用のススメ
    • ヒアドキュメントの限定使用
    • 仕様どおり素直にプログラミングする
    • 処理の基本的な流れ
    • レベルデータへのアクセス作法
    • ファイルを小さくしてから処理する
  • ソフトウエア管理・連携
    • loopj
    • シェルスクリプトのバックアップ
    • コマンドのバージョンアップ
    • シェルスクリプトの順番制御
      • 起動シェルスクリプト
      • セマフォ
    • シェルスクリプトの集中制御
      • 食券方式(キュー方式)
      • 排他制御
  • ユニケージにおけるサーバの配置
    • シェルスクリプトの集中制御
    • サーバの役割(role)
    • ファイルを配って連携する
    • 外部I/Fサーバ群
    • データストックサーバ群
    • サービスサーバ群
    • 運用監視サーバ群
    • メンテナンス開発サーバ群
    • ハード障害対策の例
      • 冗長構成
    • アクセス集中対策=分散構成
    • サーバ管理ファイルとmsctrlコマンド
  • ユニケージにおけるプロジェクト管理・人材育成
    • サーバ管理ファイルとmsctrlコマンド
  • 従来の開発手法
    • サーバ管理ファイルとmsctrlコマンド
    • ウォーターフォール型開発
    • アジャイル開発
  • ユニケージ開発手法プロジェクトの特徴
    • スピードがすべてを解決する
    • ユニケージエンジニアの役割
    • コミュニケーション重視
    • 繰り返し、重ね合わせ、順番に
    • 「冗長」を認めて「無駄」をなくす
    • 技術と手法の一体化
    • メジャーオブメジャー
    • 単位元に分解し、型を修得する
    • 目的と目標と目前の3つの目
    • 例外を例外として扱う
    • 具体的なプロセス
  • ユニケージ開発手法のプロジェクト進行
    • トッパ工程
      • トッパ工程の内容
      • Q&A
      • トッパを行うメンバー(松)
      • 第1のヒアリング
      • 2つのトッパ試作開発
      • プロジェクト組織づくり
    • データ基盤系システム構築
      • データを整理する
      • データ基盤系システム構築を行うメンバー(竹)
      • 第2のヒアリング
      • サイジングとサーバ準備
      • データ基盤系システムの構築ポイント
      • レベル3のデータ検証
    • アプリケーション系システム構築
      • アプリケーション系システム構築を行うメンバー(梅)
      • 第3のヒアリング
      • アプリケーション系システム構築のポイント
    • システムデビュー
      • システムの繰り返しリリース
      • システムのデビュー(切り替え作業)
      • デビュー後の手入れ
  • ユニケージ開発手法における管理
    • システムデビュー
    • スコープ管理
      • プロジェクトスコープ
      • 作業スコープ
    • スケジュール管理
    • チーム管理
    • 品質管理
      • 開発メンバーによるテスト
      • 第3者によるテスト
      • ユーザーによるテスト
      • お作法テスト
      • 障害テストの扱い
    • コスト管理
      • 人件費の見積
      • サーバ、ネットワーク、ストレージの費用
      • コマンドライセンス
    • コミュニケーション管理
      • ロケーション
      • コミュニケーションの頻度
      • コミュニケーションで用いる用語の統一
      • 話法
      • プロジェクトリーダーが留意すべき点
    • リスク管理
      • ユニケージにおいて想定されるリスク事象
      • リスク事象の評価
      • 冗長によるリスク対処
      • 分散によるリスク対処
      • 実装手段の選択によるリスク対処
    • 契約管理
    • システム管理
  • 人材育成
    • ユニケージの目指すところ
      • ユニケージの指向
    • ユニケージエンジニアとしての成長について
      • 第一期:見習い
      • 第二期:梅エンジニア(初級者)
      • 第三期:竹エンジニア(中級者)
      • 第四期:松エンジニア(上級者)
    • 人としての成長について
  • 補足:ユニケージデータの定義
    • フィールド形式の定義
    • ネーム形式の定義
    • タグ形式の定義

教育講座

©2018 Universal Shell Programming Laboratory