やったこと
基本情報
過去問道場
マネジメント系の問題を53問解いた
マネジメント系の問題とりあえず1周終了
正解率62.3%
Ruby
paiza
昨日解いた日付セットの問題を、井上さんが解いてくださった
そのコードの分析、どう動いてるかを追った
parse, find, strftimeの0詰めしない書き方を調べた
わかったこと
基本情報
PERT
Program Evaluation and Review Technique
プロジェクトマネジメントのモデルの一種
プロジェクトの完遂までに必要なタスクを分析する手法
クリティカルパスを見つけるのに役立ちそう
PERT図はアローダイヤグラムを用いて表される
参考(納豆ごはんの例えがめちゃくちゃわかりやすい)
図解で思考整理 - PERT(パート)図を使って遅れてはいけないポイントを洗い出す。
アローダイヤグラム
作業工程を丸と矢印と数字で表現した図
状態を丸
作業を矢印
かかる時間を数字で表現
PDM(プレシデンスダイアグラム法)
Precedence Diagramming Method
プロジェクトなどの作業工程を表すネットワーク図の1つ
アクティビティをノードで表記
FS, FF, SS, SFという4種類の依存関係がある
参考
6.3.2.1 プレシデンス・ダイアグラム法(PDM)
UPS(無停電電源)
Uninterruptble Power Supply
バッテリを内蔵し、入力電源異常時(停電など)に電力を供給するための装置
瞬間的な停電への対策にもなる
RPO(目標復旧地点)
Recovery Point Objective
損壊・紛失したデータを復旧させる際の「復旧目標に関わる指標」の1つ
データの古さ(世代)を表す
例1:RPO=0秒:損壊する直前までに記録したデータを復旧しなければならない」
例2:RPO=1日:損壊する1日前までを記録したデータを復旧しなければならない」
例3::RPO=1週間:損壊する1週間前までを記録したデータを復旧しなければならない
金融機関ではRPOはほぼゼロ秒に近いものになる
RTO(目標復旧時間)
Recovery Time Objective
災害等で業務が停止した際に、あらかじめ決められた一定のレベルに復旧するまでの目標時間
情報システムが障害などで停止した際に、復旧するまでの目標時間
業務を停止させる事態の発生から、目標復旧レベル(RLO:Revocery Level Objective)で定められた重要な業務を再開できるようになるまでの目標時間を意味する
事業継承計画(BCP:Businecc Continuity Plan)などを策定する際に定められる
RLO(目標復旧レベル)
Revocery Level Objective
RTO(目標復旧時間)内にどの程度の操業水準まで復旧させるかといったときの「どの程度」のこと
RTO(目標復旧時間)の単位が「時間」(秒・分・時間・週間・ヶ月・年)であるのに対して、RLO(目標復旧レベル)の単位は、「処理能力レベル」や「品質レベル」など想定する業務によって多種多様
参考
リスク管理ナビ - 目標復旧レベル (RLO: Recovery Level Objective)
Ruby
Date.parse
与えられた文字列を解析して、その情報に基づいて日付オブジェクトを生成する
パースとは
文法に従って分析する、品詞を記述する、構文解析する、などの意味をもつ英単語
一定の書式や文法に従って記述されたデータを解析し、プログラムで扱えるようなデータ構造の集合体に変換すること
例: 2019-4-11という入力を解析して2019/4/11という日付オブジェクトに変換するのがDate.parse
strftimeで月日や時刻の0埋めを行わない書式設定
puts "#{input_date.strftime('年%m月%d日')}"
# これだと月日が0埋めされてしまう
puts "#{input_date.strftime('年%-m月%-d日')}"
# こうすることで0埋めが発生しない
findメソッド
要素に対してブロックを評価した値が真になった最初の要素を返す
require 'date'
print '>> '
input_date = Date.parse(gets.chomp.split.join('-'))
# 入力 2019 4 30をまずsplitで配列として格納["2019", "4", "30"]
# そのあと、'-'を使って文字列に変換 "2019-4-30"
# Date.parseで日付オブジェクトを生成
wareki_hash = [
{ name: '令和', start_date: Date.new(2019, 5, 1) },
{ name: '平成', start_date: Date.new(1989, 1, 8) },
{ name: '昭和', start_date: Date.new(1926, 12, 25) },
{ name: '大正', start_date: Date.new(1912, 7, 30) },
{ name: '明治', start_date: Date.new }
].find do |data|
input_date >= data[:start_date]
# findメソッドにより、入力された日付とhash形式で格納されている年号の開始日を比較し
# 最初に真になった値を返す
end
次やること
土日に1週間のYWTをまとめ自分が見返しやすい形に整理する
Github Pagesを使う
(何もなければ)JavaScriptのドットインストール、オブジェクト編終わらせる