オーロラさんの勉強帳

SESの客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【資格】今後の資格取得のスケジュール(希望的観測)

33歳からIT業界に転職して数年。大変なことも多いですが、何とか生き残らなければいけません。
業務量・残業次第でスケジュールが変更になる可能性がかなりありますが、来年末までの資格取得のスケジュールを記事にします。
かなり希望的観測であることを最初に断っておきます。

ここに書いているような資格はもっと若いうちに取得しておくべきなのでしょうが、スタートが何分遅いので仕方がありません。


【目次】

資格取得についての考え

優秀な人間は資格を持っていない(取得しない)とか、資格なんてとっても意味ないみたいな「資格不要論」をよく目にしたり、耳にしたりすることがあるが、私はそうは思いません。
特にIT業界であれば、資格は積極的に取得するべきだと思います。
その理由は以下の通りです。

■資格取得のメリット

  • スキル・技術力の証明となる
  • 体系的に学習できる
  • 就職・転職や、別プロジェクトへの参画などで有利に働く
  • 会社からの評価が上がる
  • 自分の市場価値が上がる
  • 現在のプロジェクトで使っている技術の資格を取得すると、仕事にすぐに活かすことができる
  • IT企業だと受験料を会社が負担してくれるため、実質無料で資格を取得できる場合が多い
  • IT企業だと資格によっては報奨金をくれる会社もある

次に私が思う、資格取得での懸念事項やデメリットは以下の通りです。

■資格取得の懸念事項・デメリット

  • 資格を取得したのはいいが、丸暗記で理解が不足しており、仕事に活かせない
    Linuxを業務で使っている人がLPICを取得するのと、業務未経験の人がLPICを取得するでは習熟度合いが異なりますよね(学習方法にもよりますが)。ただ、初学者の場合はある程度は仕方がないとも思います。しっかりと理解したうえで資格を取得できるのがベストですが、まずは丸暗記でも資格を取得して、継続して学習することが重要だとも思います。
  • 計画性を持った資格の取得をしないと意味がない(現在の仕事、今後の仕事に活きる資格を取得しないと意味がない)
  • 試験に不合格だと受験料を自費で払う必要がある
    多くの会社の場合は「合格」した場合だけ、受験料を負担してくれると思います。ITの資格は高額なものが多いので厳しいです。。。
  • 学習時間の確保
    人生は一度きりなので、仕事、学習、プライベートともに充実できるようにしたいですよね。難関試験だと多くの学習時間の確保が必要になります。通勤などの時間を有効に学習時間に使ってプライベートも充実させたいですね。

2021年中に取得したい資格

2021年中に取得したい資格は以下の通りです。
かなり基礎的な資格を取得するつもりです。ただし、毎月1資格というタイトなスケジュールなので、厳しいかもしれません。

年月 カテゴリ 資格名
2020/9 データベース ORACLE MASTER Bronze DBA Oracle Database Fundamentals (1Z0-085-JPN)
2020/10 プログラミング Excel VBA スタンダード
2020/11 Linux LPIC 102
2020/11 一般教養 簿記3級
2020/12 クラウド AWS クラウド プラクティショナー


■ORACLE MASTER Bronze DBA Oracle Database Fundamentals (1Z0-085-JPN)
旧体系のBronze 12c SQL基礎は取得済みです。
12cのDBAを取得するよりも、新体系のDBAを取得しようと思います。
auroralights.jp


ORACLE MASTERの旧体系、新体系の違いなどは割愛しますが、興味がある方は以下のサイトをご確認ください。
www.oracle.com


■Excel VBA スタンダード
自分がやりたいことの中に「業務改善」があります。
Excelを使っている職場は多いですし、Excelの関数やVBAで業務改善できることはたくさんあると思います。
なので、VBAは私の強みとして学習を続けたいと思っています。

現時点でも合格できると思いますが、しっかりと基礎を固めるためにアウトプットしながら学習するつもりです。


■LPIC 102
IT業界ですと、Linuxの知識は一般常識として持っておきたいですね。
LPIC101はずいぶん前に取得しているので、LPIC102を取得するつもりです。
LINUCという資格もできていますが、とりあえずはLPIC102の取得を目指します。


■簿記 3級
他の取得予定の資格とは毛色がかなり違う資格です。
以前、会計システムへのデータ連携で考慮漏れがあり大きな差額(障害)が発生してしまい、リカバリをする必要がありました。
その際に、会計システム担当者などと打ち合わせをするのですが、私の教養のなさ、会計の知識のなさに焦りを感じました。
障害が解決するまで、毎日通勤時間などにスマートフォンで会計の勉強をしていたのですが、全然足りませんでした。

一般教養として、簿記3級を取得しようと思います。


■AWS クラウド プラクティショナー
クラウドの学習の第一歩。
年内にAWS クラウド プラクティショナーを取得したい。

2022年中に取得したい資格

2022年はもっとよく考えなければいけませんが、なんとなく以下の資格を考えています。
CCNAがあと2年ほどで切れるはずなので、Ciscoの資格もどうしようかと悩み中です。

カテゴリ 資格名
クラウド AWS ソリューションアーキテクト -アソシエイト
IPA 基本情報技術者認定試験
データベース ORACLE MASTER Silver SQL 2019 1Z0-071-JPN: Oracle Database SQL
Linux LPIC 2
一般教養 簿記2級
運用 ITIL



とりあえずは2021年の目標資格を取りこぼさないように頑張るつもりです。
以上です。

【VBA 練習問題】セルの値を別シートに1列で表示する ~Do While文の練習~

VBAのツールを作ることはあるものの、しばらくコードを書いていないと忘れてしまいます。
自分の勉強のために、練習でコードを書いてみようと思います。


【目次】

練習問題

f:id:auroralights:20210811195053p:plain
上の画像のようにSheet1のデータをSheet2にコピーするVBAを作成したい。
Sheet1のデータの定義は以下の通りです。


<Sheet1のデータの定義>

  • セル「B2」からデータは始まる・データがある行は、必ずB列にデータがある
    (B列にデータがなければその行にデータはない)
  • B列にデータがない行があれば、それ以降の行にもデータは存在しない
  • 複数のデータがある行は、B列から右側の連続した列に順番にデータが入る。
    (データが2つなら、B列C列にデータが入る)


<コピーの順番>
Sheet1からSheet2にコピーするデータの順番は、Sheet1のデータを上の行から1行ずつ(行に複数データがある場合は、左の列から右の列の順番で)、Sheet2のA列に上から順番に入力することとします。


VBAのコード

いろいろな書き方があると思いますが、私は以下のように書きました。
(コメントが煩わしいかもしれません。。。)

Sub oneCol()

    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    
    'Sheet1、Sheet2を変数ws1、ws2に格納
    Set ws1 = ThisWorkbook.Worksheets("Sheet1")
    Set ws2 = ThisWorkbook.Worksheets("Sheet2")

    '繰り返し処理用の変数i,j,kを定義し、初期値を格納
    Dim i As Long: i = 2  '2行目から処理を開始するので、初期値に2を格納
    Dim j As Long: j = 2  'B列から処理を開始するので、初期値に2を格納
    Dim k As Long: k = 1  'Sheet2の1行目からSheet1のデータを入力させるので、初期値1を格納

    Do While ws1.Cells(i, 2) <> ""  '2行目からデータがない行まで繰り返し
        Do While ws1.Cells(i, j) <> ""  'B列からデータがない列まで繰り返し
            ws2.Cells(k, 1) = ws1.Cells(i, j)  'Sheet1のデータをSheet2に入力
            k = k + 1  'Sheet2で次にデータを入力する行を指定するために+1
            j = j + 1  '次の列を指定するために+1
        Loop
        i = i + 1 '次の行を指定するために+1
        j = 2  'B列から処理をスタートするために、2を格納
    Loop

End Sub

考え方

2つの繰り返し処理で考えました。

  • 1つ目の繰り返しは、セル「B2」からB列のデータがない行まで1行ずつ行数をプラスする処理。
  • 2つ目の繰り返しは、1つ目の繰り返しで1行ずつ行数がプラスされるので、その行でB列からデータがない列まで1列ずつプラスする処理。

f:id:auroralights:20210811200615p:plain

上の2つの繰り返しに、Sheet1のデータをSheet2へ入力する処理をプラスしました。


今回は以上となります。

【資格】ORACLE MASTER BRONZE Oracle Database 12c SQL基礎(1Z0-061)の受験・感想・勉強方法 ~2回目の試験でようやく合格~

先日、ORACLE MASTER BRONZE Oracle Database 12c SQL基礎(1Z0-061)を受験し、なんとか合格できましたので、受験した感想、学習方法などを記事にします。
(結構苦戦しました。。。)

ORACLE MASTER BRONZE Oracle Database 12c SQL基礎(1Z0-061)について

ORACLE MASTERは、日本オラクル株式会社が認定する資格で、ORACLE DATABASEの知識を証明する資格となっています。

各バージョン(11gや12c)により、Bronze、Silver、Gold、Platinumと4つのレベルがあり、Bronzeが入門レベル、Platinumが最上位の資格となっています。
12cのBronzeはDBASQLの資格が分かれており、2つの試験に合格する必要があります。

今回、私が受験したのはORACLE MASTER Bronzeの12c SQLの試験「Oracle Database 12c SQL 基礎(1Z0-061)」です。

ORACLE MASTER BRONZE Oracle Database 12c SQL基礎(1Z0-061)の詳細

Oracle Database 12c SQL基礎(1Z0-061)の試験の詳細は以下の通りです。
※2021/8時点の情報になります。

  • 試験時間 120分
  • 出題数 75問
  • 出題形式 選択問題
  • 合格ライン 65%
  • 試験料 15,000円 (税抜)


注意 新体系のORACLE MASTER 2019の開始

2020年1月から新体系のORACLE MASTER 2019が導入されました。
今からORACLE DATABASEの資格の受験を考えている方は、ORACLE MASTER 2019を受験される方がいいと思います。


詳しくは公式サイトで確認ください。
ORACLE MASTER Portal - be an ORACLE MASTER - | オラクル認定資格制度 | Oracle University

※ORACLE MASTER 2019のBronzeはDBAのみの試験範囲のため、SQLのスキルアップが目的、SQLの知識を証明したいという方は12cのBronze SQL基礎を受けるのもいいかと思います。
 ORACLE MASTER 2019は、SilverがDBAとSQLが分かれているので、ORACLE MASTER 2019 SilverのSQLを調べてみて、ご自身の目的にあった試験を選ぶのがいいと思います。

前提知識

システムの運用担当として、Oracle DatabaseにSQLでデータを抽出したり、データの削除、更新、挿入などの業務を日常的に行っています。
タイトルの通り、以前に1回受験しましたが、不合格でした。今回が2回目の試験になります。

不合格だと恥ずかしいですし、情けなくなりますが、ここに不合格だった人間がいますので、安心してください!!あせらず勉強しましょう。


学習期間・時間

学習期間と学習時間は、数カ月勉強できない期間とかもあり、私が今回費やした期間・時間は言い難いです。
1回目の試験は1カ月ほどの学習期間で不合格に。2回目はさらに3カ月ほど学習期間を設けました。(残業が多く、学習時間の確保が難しかったです)

個人によって1日に学習できる時間なども違いますし、データベースに対する知識も違いうので、あくまでも私の感覚値とはなりますが以下くらいを参考に考えてもいいかと思います。

<SQL初学者の場合>
期間:3カ月~4カ月
学習時間:平日 1時間~2時間、休日3~4時間

<SQL経験者の場合>
期間:1カ月~2カ月
学習時間:平日 1時間、休日3~4時間


学習教材

使用した学習教材は以下の通りです。

  1. 翔泳社 『オラクルマスター教科書 Oracle Database 12c SQL基礎』
  2. Ping-t (無料)
  3. 12c SQL 基礎[12c SQL]: (1Z0-061) サンプル問題 (日本オラクル社のサイトから)

1.翔泳社 『オラクルマスター教科書 Oracle Database 12c SQL基礎』について

解説編と練習問題編が1つのカバーに収まった書籍で、解説編と練習問題編は2分冊構成なので、分けて使うことができます。
内容は非常にわかりやすかったです。

2.Ping-tについて

最強WEB問題集Oracle Master 12c Bronze SQL基礎(1Z0-061)は無料で使えます。

CCNA/CCNP/LinuC/LPIC/Linux Essentials/HTML5/OSS-DB/オラクルマスター/ITパスポート/ITILファンデーション総合学習サイト

12c SQL 基礎[12c SQL]: (1Z0-061) サンプル問題 (日本オラクル社のサイトから)

以下のような日本オラクル社のサンプル問題も事前に試しておくと有利です。

12c SQL 基礎[12c SQL]: (1Z0-061) サンプル問題の解答と解説



学習内容

必ず自分のPCにOracle Database 12cをインストールして、SQLを試せる環境を準備してください。
参考書を読んだり、問題を解くだけではなく、SQLを実際に試すことで、かなり理解度が向上します。
無料でインストールできるので、Oracle Databaseの環境は必ず準備した方がいいです。

1回目の受験では、Oracle Databaseの環境を準備しなかったのが一番の原因だと思っています。

翔泳社 『オラクルマスター教科書 Oracle Database 12c SQL基礎』の参考書を5回以上読みました。
問題集は分冊ということがあだとなり途中で紛失してしまい1回しかできませんでした。。
自分のPCにOracleDatabaseの環境を用意して、実際にテーブルを作成たりして、参考書のSQLを試してみて理解を深めました。

Ping-tの問題集について、他の受験者のブログを見ると全問2問連続正解した状態で受験したと書かれている方が多いですが、正直そんなに時間が取れませんでした。
結合や副問合せなど、1問のSQLが長い問題の場合、問題を解いて解説を読んでメモして理解するために10分以上かかることもあり、10問解くだけでも30分以上時間がかかることもざらでした。
私がPing-tで受験前までに勉強した状態は、以下の画像の通りです。
f:id:auroralights:20210812000931p:plain

Ping-tはボリュームが多いので、どこまでやりこむのかは個人によって違うと思います。
注意したいのは、回答を覚えてしまって、不完全な理解で正解できるようになることです。
量をこなそうと思うと、理解せずに次の問題に進んでしまい、本番で似たような問題が出ても対応できないので、なぜその答えになるのかをしっかり理解することを意識しましょう。


試験結果・感想

2度目の受験で無事、合格できました。
といっても正答率73%(合格ライン65%)なので、ギリギリ合格でした。
120分フルに時間を使いました。後半時間が足りず、何とか全問を解いたという感じです。SQLが長い問題にかなり時間を使ってしまいました。
試験時間は足りないです。

難易度はBronzeの入門的な試験ではあるのですが、『やや難しい』と思いました。1回不合格になってますしね。。。簡単ではなかったです。
いやらしい問題も多かったです。

あと、仕事の場合だと、そのテーブルの構造やどんなデータが入っているかある程度分かっているのですが、試験のテーブルは制約やデータ型は情報があるものの、テーブルの中にはどんなデータが入っているのだろうと思うことがありました。そこがわかってなくても答えは出せるはずなのですが、理解が足りてなかったのでしょう。


1回目の試験
正答率:63%
合格ライン:65%
結果:不合格
f:id:auroralights:20210812002143p:plain

2回目の試験
正答率:73%
合格ライン:65%
結果:合格
f:id:auroralights:20210812002231p:plain


1回目の不合格の原因と対策

今後受験される方の参考になればと思い、1回目の不合格の原因・対策を記載します。

<不合格の原因>

  1. 試験合格の実績が欲しいがあまり、勉強期間を1カ月ほどで計画性のない受験となった
  2. 自分のPCにOracle Databaseの環境を作らなかった
  3. 問題集の答えを暗記してしまい、十分に理解できていない項目があった


<不合格の原因に対する対策>

  1. 受験日までに十分な勉強期間を設けて、学習計画を作成する。受験日は早めに設定した方がいいと思います。その日までの1日どれくらい勉強するか計画を立てて試験に臨みましょう。もし、合格が難しそうであれば、試験日をずらすこともできます。私も3回ほど試験日をずらしました。
  2. 必ずOracle Databaseの環境を作りましょう。SQLを実際に試すのと、参考書や問題集のみの勉強では理解度が全く違います。実務にも役立つので環境を構築してSQLをいろいろ試して待てください。
  3. Ping-tの問題量はかなり多いです。量をこなすことを考えると、どうしても理解が不十分にもかかわらず、なんとなく正解している問題があったり、回答を暗記してしまってなんとなく正解する問題も出てきます。理解が不十分なままだと、本番の試験で似た問題が出題されても対応できないため、必ずなぜその答えになったのかを理解するようにしましょう。



最後に

新体系のORACLE MASTER 2019に移行している時期なので、Oracle Database 12c SQL基礎(1Z0-061)を今から受験される方は少ないかと思いますが
少しでも参考になれば幸いです。
私は思ったより苦戦しましたので、もし不合格でも気にせずにしっかり勉強して再受験しましょう!!