SlideShare a Scribd company logo
1 of 38
Download to read offline
JP1/AJS2
オペレータ勉強会
ジョブネットの実行登録・再実行・登録解除ほか
はじめに
勉強会の目的
JP1/AJS2を使ってジョブネットの実行登録・再実行・登録解除の方法を習得する。
これらのオペレーションの前提となる概念や注意点について理解する。
※ジョブネットを「つくる」方法については一切取り上げていない。
資料の構成
基本概念 → ジョブネットの実行登録に関わる概念の解説
オペレーション → 実行登録~登録解除のオペ手順と注意点の提示
基本概念
ジョブネットの実行登録にまつわる概念たち
ジョブグループとジョブネット
ジョブグループ(ty=g)
ディレクトリもしくはフォルダの役目を持つユニット。
実行登録はできない。
ジョブネット(ty=n)
PCジョブや実行間隔制御など各種ユニットを内包するユニット。
スケジュールルール(後述)を設定できる。
ルートジョブネット(ty=n)
ジョブグループ直下のジョブネット。
実行登録できる。
起動条件(ty=rc)
「.CONDITION」という予約名を持つ特殊なユニット(後述)。
ルート
ジョブネット
ジョブネット
起動条件
.CONDITION
スケジュールルール
ジョブネットが自動起動する条件を表すもの。
同一ジョブネットに複数のルールを設定できる。
ルートジョブネット以外にもルール設定できる。
例:
「X月X日XX:XX(だけ)起動する」
「X月X日XX:XXに初回起動しその後X日ごとに起動する」
「X月X日XX:XXに 〃 、
しかも『起動条件』が満たされる限り繰り返し起動する」
「X月第X月曜XX:XX(だけ)起動する」
「X月最終土曜XX:XX(だけ)起動する」
スケジュールルールの注意点
[上位のジョブネットに依存する]ON/OFFで決定的に
挙動が変わる(後述)。
「即時実行」ですべてのルールは無視される。
この設定が非
常に重大な影
響をおよぼす
ルールを構成する項目:
開始年月・開始日・開始時刻
当該ルールでジョブネットを起動する日を指定する。
処理サイクルで[サイクルで実行する]ONの場合
この指定した日以降指定したサイクルで起動を続ける。
処理サイクルで[サイクルで実行する]OFFの場合
指定した日だけ起動する。
複数の時間を起動タイミングとしたい場合
複数のルールをつくる。
ルールを構成する項目:
処理サイクル
開始年月・開始日・開始時刻と結びついた概念。
処理サイクルで[サイクルで実行する]ONの場合
開始~で指定した日以降指定したサイクルで起動を続ける。
処理サイクルで[サイクルで実行する]OFFの場合
開始~で指定した日だけ起動する。
「起動条件」(による繰り返し起動)とは何の関係もない。
ルールを構成する項目:
起動条件
[設定されていれば使用する]ONの場合.CONDITIONユニット
が本体とは別サイクルで起動し、条件成立を監視する。
条件が満たされるたび新しい「次回世代」が生成される。
[起動条件の有効範囲]で条件成立の監視を「何回で」「何時
まで」続けるかを指定することができる。
ルール全体に影響する項目
"上位のジョブネットに依存する"
設定をONにすると仮にルールが1つ以上設定されていても
無視され、より上位のジョブネットにおけるルールにそのま
ま従うようになる。
ルールが1つもないのにOFFにするとステータス「計画
未実行」となり、ジョブネットを実行登録しても決して実
行されないゾンビとなる。
有効範囲
[期日指定]ONにして日付を入力するとルールに基づく計
画実行の最終日を設定できる。
この「最終日(運用終了日)の指定」は個別のルールご
とにはできない点に注意。
起動条件ユニット
.CONDITIONという予約名を持つ特殊ユニット。
スケジュールルールで[起動条件][設定されていれば使用
する]ONが設定されている場合、指定された有効範囲にお
いて、本体と独立したサイクルで起動して、本体の起動前提
条件の監視(チェック)を行う。
「起動条件」ユニットは「本体実行まえに実行される」の
ではなく、「独自サイクルで定期的に実行される」。それ
を考慮した設計が必要(別資料にて詳述済み)。
起動条件
.CONDITION
ジョブネット
本体
スケジュールルール ≠ 起動条件
「スケジュールルール」は日付曜日をパラメータにしてジョブネットの起動開始日時
を設定するもの。
「起動条件」のユニットが存在するときそれをトリガーとして活用するかどうか、「起
動条件」が有効なのは何時までかを定義するのも「スケジュールルール」の役割。
起動条件はファイル有無やイベント受信などをトリガーにして、「スケジュールルー
ル」で定められた有効範囲(回数・時間)内においてジョブネット本体の繰り返し起
動を設定するもの。
実行登録
即時実行
「スケジュールルール」ではなく人手で起動すること。
「起動条件」を有効にするかどうかは実行時に都度選ぶ。
前述のとおり「スケジュールルール」はルート/サブに関わらず完全に無視
されるため実は意外と危険。
計画実行
「スケジュールルール」に基づき起動すること。
「起動条件」を有効にするかどうかは「スケジュールルール」の設定画面で行える。
「ルール上同日すでに起動時間を迎えたものがあったときすぐに起動するか次
回を待つか」は実行登録時に都度選択できる。
再実行
ジョブネットモニタの「状態」「結果」画面でのみ可能な実行方法。
「条件接続」の先にあたるユニットでは実行できない。
判定ジョブ
直前ジョブの終了コードやファイルの存在有無を判定し
て条件分岐を行わせるためのユニット。
条件に適合した時「条件接続」(青矢印)で結ばれた先
のユニットが実行される。
接続可能なのは1ユニットのみなので複数の処理を
実行させたい場合はジョブネットを使う。
条件接続の先のユニットはジョブネットモニタの「状
態」「結果」画面で「再実行」ができない。
即時実行
既存のジョブネットをそのまま即時実行する
即時実行の手順
① JP1/AJS2 Viewの一覧上でジョブネットを選択
② 右クリック→[実行登録]→[即時実行]→[OK]
即時実行の注意点
「スケジュールルール」はルートジョブネットだけでなくサブジョブネットにも適用され
ない。結果、本来起動してはならないユニットが起動してしまう危険がある。
「計画実行」で実行登録されているユニットは「即時実行」できない。
デフォルトでは「起動条件」は考慮されない(使用されない)。
切出し即時実行
既存のジョブネットの構成を変更し即時実行する
切出しが必要になるケース
「条件接続」の先にあたる部分から再実行する場合。
本番運用中の設定と異なる設定で実行したい場合。
独自スケジュールルールを持つサブユニットを起動させたくない場合。
別々のジョブネットを連結したり保留をしたりと自由気ままにやりたい場合。
などなど。
① JP1/AJS2 Viewの一覧上でジョブネットを選択。
② 右クリック→[コピー](Ctrl+C)
③ ワーク用ジョブグループ内で右クリック→[貼り付け](Ctrl+V)
④ コピーをダブルクリックしエディタを表示。
⑤ [排他編集]にチェックを入れる。
⑥ 切ったり貼ったり。
⑦ ジョブネットエディタを閉じる。
⑧ 一覧上でジョブネットを選択。
⑨ 右クリック→[実行登録]→[即時実行]→[OK]
切出し即時実行の手順
切出し即時実行の注意点
通常の即時実行と同じ注意が必要。
「条件接続」をはじめとしたユニットの実行順序制御に関して、作業者にきちんとし
た理解が必要。
切り出し実行の結果、「計画実行」登録されたジョブネットの「起動条件」が満たされ
るケースなど、ジョブネット間の依存関係をきちんと考慮することが必要。
計画実行
スケジュールルールに基づき実行する
計画実行の手順
① JP1/AJS2 Viewの一覧上でジョブネットを選択。
② 右クリック→[実行登録]→[計画実行]をON
③ [デーモン起動時に予定時刻超過]のオプション
いずれかを選択(後述)。
④ [実行登録時に予定時刻超過]のオプションいず
れかを選択(後述) 。
⑤ [OK]をクリック。
計画実行のオプション
計画実行-すぐ-すぐ
スケジュールルールのうちに、実行登録よりも前に
起動する予定であったものがあり、実行登録ととも
にまずこのルールに基づいて起動させたい場合に
選択する。
計画実行-次回-次回
スケジュールルールのうち、実行登録よりもあとに
起動予定のものから起動させたい場合に選択する。
計画実行のオプションの指定例
A) 定時起動バッチの例
異なる起動時間8:00/10:00の複数のルールを設定している場合、登録作業日
8:00分のバッチから起動させたいなら──
a. 登録作業時間が7:00 「次回-次回」で実行登録する
b. 登録作業時間が9:00 「すぐ-すぐ」で実行登録する
B) 繰り返し起動バッチの例
「起動条件」を使い8:00~22:00のあいだ繰り返し起動するルール設定をしてい
る場合、登録作業日分のバッチ起動をさせたいなら──
a. 登録作業時間が7:00 「次回-次回」で実行登録する
b. 登録作業時間が9:00 「すぐ-すぐ」で実行登録する
「実行しない」方法
ジョブネットを「実行しない」ための種々の方法
保留属性(ユニット定義パラメータ)
説明
ユニット定義パラメータの1つ。
エディタ画面で設定する静的・永
続的な属性。
(と同時に)モニタ画面でも一時的
属性として設定できる。
保留したユニットより先は実行され
ない。
設定方法
① ジョブネットモニタ「状態」を表示
② 保留したいユニットを選択。
③ 右クリック→[保留属性変更]→
[保留属性設定]をクリック。
④ ダイアログで[はい]。
保留属性の注意点
「起動条件」を有効化して繰り返し起動をさせている場合、保留属性は伝播する。
理由は──
静的属性としての保留属性を含むジョブネット定義は、「次回世代」の生成ととも
にメモリ上で複製される。
一時的にせよ「今回世代」で保留属性が設定されているとこの属性も「次回世
代」に複製されてしまう(ほとんどバグというべきレベルの挙動だが、リファレンス
にはそれらしい記述があるからこれは「仕様」である)。
対策として──
「起動条件」が有効化されているジョブネットは保留解除後にかならず時間をお
いて再チェックする必要がある。
保留属性の伝播が確認された場合、「デイリースケジュール」画面で「次回世代」
分の保留を解除するか、一旦実行登録解除をする(面倒だが後者がオススメ)。
実行中止(実行状態)
説明
ジョブユニットの実行状態の1つ。
モニタ画面で設定する動的・非永
続的な属性。
中止したユニットより先は実行され
る。
実行したくないなら後続ユニットも
個別に中止する必要がある。
設定方法
① ジョブネットモニタ「状態」を表示
② 中止にしたいユニットを選択
③ 右クリック→[計画一時変更]→
[実行中止]をクリック
計画未実行(実行状態)
ジョブユニットの実行状態の1つ。
計画未実行のユニットより先は実行される。
スケジュールの設定画面で設定する静的・永続的な属性(ユニット定義パラメータ)
に基づき、下記2ケースでこの「計画未実行」状態が発生する:
A) [上位の…依存する]がOFF かつ
スケジュールルールが1つも存在しない場合
B) [上位の...依存する]がOFF かつ
スケジュールルールは存在するが開始日・開始時刻が該当しない場合
ユニット削除(ユニット定義)
ユニット定義上から実行したくないユニットを削除する。
(言うまでもなく)エディタ画面で設定する静的・永続的なオペレーション。
「即時実行」対象のジョブネット配下に実行したくないユニットがある場合に取りうる
実際上唯一の方法。
登録解除
実行登録されているジョブネットを登録解除する方法
登録解除の方法:
基本
A) 「実行中」でも「監視中」でもない場合
ルートジョブネットを右クリック→[登録解除]→[OK]
B) 「実行中」もしくは「監視中」である場合
① ルートジョブネットもしくは実行中のユニットを選択。
② メニューの[操作]→[強制終了]→[OK]。
③ ルートジョブネットのステータスが「実行中」「監視中」でなくなったことを確認。
④ ルートジョブネットを右クリック→[登録解除]→[OK]
登録解除の方法:
「起動条件」が有効化されたジョブネット
A) 起動条件の設定[異常終了後の動作]が「監視を停止する」の場合
① 本体末尾のユニットに保留をかけてそれ以前の処理が終わるのを待つ。
② 「強制終了」を1回行い「開始時刻待ち」にする。
③ ルートジョブネットを右クリック→[登録解除]。
B) 起動条件の設定[異常終了後の動作]が「実行を開始する」の場合
a. 本体先頭に前提条件チェック等がある場合 (次スライド)
b. 本体先頭に前提条件チェック等がない場合 (次々スライド)
登録解除の方法:
「起動条件」が有効化されたジョブネット
A) 起動条件の設定[異常終了後の動作]が「監視を停止する」の場合
B) 起動条件の設定[異常終了後の動作]が「実行を開始する」の場合
a. 本体先頭に前提条件チェック等がある場合
① 本体末尾のユニットに保留をかけてそれ以前の処理が終わるのを待つ。
② 「起動条件」でファイル監視しているならそのファイルをリネーム
(他の監視でも可能なら類似の措置をとり条件成立しないようにする)。
③ 本体先頭でファイル監視しているならそのファイルをリネーム
(他の監視でも可能なら類似の措置をとり条件成立しないようにする)。
④ 「強制終了」を2回連続で行い「開始時刻待ち」にする(急ぐ必要はない)。
⑤ ルートジョブネットを右クリック→[登録解除]。
b. 本体先頭に前提条件チェック等がない場合 (次スライド)
登録解除の方法:
「起動条件」が有効化されたジョブネット
A) 起動条件の設定[異常終了後の動作]が「監視を停止する」の場合
B) 起動条件の設定[異常終了後の動作]が「実行を開始する」の場合
a. 本体先頭に前提条件チェック等がある場合
b. 本体先頭に前提条件チェック等がない場合
① 大急ぎで繰り返しくりかえし「強制終了」を行う
(JP1/AJS2により「次回世代」がリスポーンされるスピードを上回る必要がある)。
② 「開始時刻待ち」に追い込んだら勝ち。
③ ルートジョブネットを右クリック→[登録解除]。
※いうまでもなくこんなオペをしなくてはいけないジョブネットは「アンチパターン」に該当する。
さいごに
JP1/AJS2のオペで失敗しないために
JP1/AJS2のオペで失敗しないために
何はともあれ検証(当たり前)。
わからないことはリファレンスを読む(報われないことも多い)。
ユニット定義(完全に静的な情報)とそれが「実行世代」ごとにメモリ上に転写され
た情報と、そしてその「実行世代」ごとの「実行計画」の3つを区別する。
運用ルールをきちんと整備する(保留属性の伝播などはチェックツールをつくるな
どして問題発生を防ぐしかない)。

More Related Content

What's hot

Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
 

What's hot (20)

Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
nginx入門
nginx入門nginx入門
nginx入門
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
Metaspace
MetaspaceMetaspace
Metaspace
 

Similar to JP1/AJS2オペレータ勉強会

perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
Daichi Egawa
 

Similar to JP1/AJS2オペレータ勉強会 (20)

自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえ
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
運用アナリティクスを実現!最新Hinemos ver.6.1の全体像
運用アナリティクスを実現!最新Hinemos ver.6.1の全体像運用アナリティクスを実現!最新Hinemos ver.6.1の全体像
運用アナリティクスを実現!最新Hinemos ver.6.1の全体像
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させる現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させる
 
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
 
20181212 orejo pub
20181212 orejo pub20181212 orejo pub
20181212 orejo pub
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
 
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch
 
PowerShell 5.0 JEA (Just Enough Administration) First Step
PowerShell 5.0 JEA (Just Enough Administration) First StepPowerShell 5.0 JEA (Just Enough Administration) First Step
PowerShell 5.0 JEA (Just Enough Administration) First Step
 
Office365最新動向と運用管理tips
Office365最新動向と運用管理tipsOffice365最新動向と運用管理tips
Office365最新動向と運用管理tips
 
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
 
PL/Pythonで独自の集約関数を作ってみる
PL/Pythonで独自の集約関数を作ってみるPL/Pythonで独自の集約関数を作ってみる
PL/Pythonで独自の集約関数を作ってみる
 
Introduction to boost test
Introduction to boost testIntroduction to boost test
Introduction to boost test
 
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
 
監視もジョブも、OSSのHinemosで!
監視もジョブも、OSSのHinemosで!監視もジョブも、OSSのHinemosで!
監視もジョブも、OSSのHinemosで!
 
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
 
Empirical Project Monitorの紹介
Empirical Project Monitorの紹介Empirical Project Monitorの紹介
Empirical Project Monitorの紹介
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
 

More from mizuky fujitani (9)

TypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストTypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキスト
 
TypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキストTypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキスト
 
xUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストxUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキスト
 
xUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキストxUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキスト
 
xUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキストxUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキスト
 
xUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキストxUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキスト
 
JSer Class #3
JSer Class #3JSer Class #3
JSer Class #3
 
JSer Class #2
JSer Class #2JSer Class #2
JSer Class #2
 
JSer Class #1
JSer Class #1JSer Class #1
JSer Class #1
 

JP1/AJS2オペレータ勉強会