情報処理安全確保支援士試験を受けてきました:雑記
久しぶりの資格試験
情報処理安全確保支援士試験
IPAが主催している情報処理安全確保支援士試験というものを受けてきました。
内容としては午前1・午前2、午後1・午後2と4つの試験を一日で行います。
詳細は試験要綱に任せますがざっくりと以下のような範囲です。
午前1:高度(IPAで使われている言葉)の選択問題 50m
午前2:セキュリティに関する選択問題 50m
午後1:セキュリティに関する記述式問題 1.5h
午後2:セキュリティに関する記述式問題 2h
となっています。
午後1では大問が3つあり、2つを選択して答えるものとなっており、午後2では大問が2つあり、1つを選択するものとなっており、それぞれプログラムやDBの知識が必要なものが大問として1つ用意されている傾向があるようです。
自分が行った対策
職場に合格した人がいたので話を聞いてみると、午前は対策したが午後は対策しなかったとのこと。
なので真似をすることに。
午前の対策は簡単で過去問道場をひたすら繰り返す。
これは選択問題である1,2両方同じ。
ただ2に関しては午後につなげる必要があるため解説を読みこむというやり方を実施しました。
最終的には9割くらいとれるようになってたかな。
試験日
午前1、午前2に関しては過去問からほとんどでてました。
いくつかわからないものがあったけど、60%がだいたい合格ラインとのことですので気にせず平常心でやっておけば大丈夫でしょう。
午前1ではひよってしまって見直しの際にあれ?って思ってしまう謎の行動を起こしてしまって少し正解率は低くなってしまいましたがそれでも自己採点では70%ほど取れてました。
午前2は午前1でひよったおかげで平常心を取り戻して解答できたので、自己採点で90%ほどいけてました。
問題は午後問題で、記述式での言葉が思い出せない。
覚えるのが苦手なので雰囲気とかあたりをつけながら言葉をだしていくので、なかなか厳しかったですね。
文章問題だから答えは問題に書いているって言われてたけど、どう考えても技術とか対策方法とか書いてるわけねぇんだよなぁって感じでやってました。
午後1は大きく、プログラム開発のセキュリティ問題、インシデント問題、QRコードの決済サービスの問題が出題されてて、プログラム開発は一応解いたけどまだましだろうってことで後半2つを選択しておきました。
午後2は大きくWEBサイトのセキュリティとクラウドサービスの移行の問題が出題されてて、もう問題が長すぎて読むだけでしんどかったです。
長丁場で疲れがでたので後半の問題を選択して後半の問題のみを解くかたちとしました。
所感
長文問題は技術として知っておくことももちろんですが、長文読解に慣れる必要があると感じました
あと、メモ帳ほしい・・・。
ページを行ったり来たりしたくないから、メモ帳に重要な部分を書いて抜粋したい・・・。
頭いい人は頭のなかでできるんやろうなぁ・・・。
とかって感じでしたね。
次受けるとしたら長文読解になれるようにしておくかなぁ。
体力勝負なとこあるからそこは整えておくようにしておこう。
転職の軌跡(メモ):雑記
転職しました
1/1から試用期間が4/1に正式に社員となりました。
その軌跡を残そうと思います。
元々は、転職をする気はありませんでした。
現状に特に不満はなかったし、社内の雰囲気も好きでしたので。
じゃぁ、なぜ転職したに至ったのか。
それは下の方につらつらと書くことになりますが、結局は給料ということになります。
世間との乖離を確認
8年前くらい、あるキャリア企業で常駐請負業務をしていたのですが、その時に、1つの会社にいると世間と乖離が発生するから、確認しといたほうがいいよと言われたことがあります。
その時に、確かにそうかぁと思って、転職サイトに登録しました。
同年代・同スキルの人たちはどれくらいの給料をもらっているのか、また、どのようなキャリアを歩んでいるのか気になったからです。
その時の社内では自分のスキルセットは珍しく、また、参考になる人達もいませんでした。
そのおかげで同年代や他の先輩たちより給料がよかったのですが、基準が社内だけだったので世間と比べたかったのです。
初面接
とにかく世間とのギャップを確認したいという理由で登録しているので、情報収集以外に興味はなかったのですが、面接をしてみないことにはキャリアの歩みってどうなってるかわかりません。
そのため面接を受けることにしました。
事前WEBテストや履歴書を書くのですが、志望動機がどうしても書けません。
落ちるのが前提なのでもういいやってことで志望動機は書くのをやめました。
事前WEBテストはいわゆるCAB適性検査。
対策もなんもせずにやってたけどだいたい60%~70%くらいの得点率だと思います。※フィードバックなかったし、全問埋めたのでこんなもんと想定。
それが終わって1次面接。
自己紹介は30秒くらいで名前と現職の会社名と何年務めたか、そして転職経験についてを伝えました。
志望動機は上記のとおり、記載無し状態で出してたので聞かれたが、「転職サイトのエージェントに紹介されたので面接した」と同様に伝えました。
怪訝そうな目はされましたが、嘘はついても仕方ないのでちゃんとフォロー(?)はしておきました。(スキルアップもしたいし給料上げたいなぁって感じ)
後は職歴ベースに話をします。
その際にどういうスキルを持っているか、どういう技術に興味があるかなど聞かれたり、逆にこちらからどういうスキルを持っているか、どういう技術に力を入れているかなどを聞いたりしてお互いのやる気を聞いたりして情報収集と提供を行いました。
現場レベルのやり取りなのですごく参考になります。
2次(最終)では上記と同じやりとりを行い、待遇について聞かれたので現状の1.5倍にならないと転職はしないと伝え終了。
待遇の要求がでかすぎるとお断りされたので、これは情報収集という名の面接ができる!!と他の面接を続けることにしました。
ちなみに、志望動機は上記でもだいたい受かります。数十社受けて志望動機が理由で落とされたのは一社だけでした。
転職先の決定
上記により、だいたい最終面接の待遇で落とされるのですが、1.5倍でいいの?ならそれで!ってオファーされてしまったのです。
ちょっと意味がわからなくなってしまったので、具体的に数字を要望したら、年収が残業無しの状態で1.5倍よりちょっと上くらいでした。
社内での昇進について考えたときに、「面談の際、他の人より多いから昇進は難しい」みたいなわけわかんない理由で数年なかったし、直近でも言われてたので望みはなしとして転職を決定しました。
総評
基本的には世間との乖離を測ることを目的に転職活動というか他の企業の事情を収集してました。
オファー情報ってその企業がどこに力入れようとしてるとかもわかるので、自分がどこに力いれていこうかなぁってのを探す指標にもなったりします。
転職中に仲良くなった人から話を聞いてるとスパイとして似たようなことをさせてたりもしてるみたいですが・・・。
面接はその企業がどういう企業なのかもわかるのでいい勉強になったりするので、世間との接点をもつため登録してみるのはいいかもしれません。
続・英語物語のすすめ:雑記
続・英語物語のすすめ
英語物語
前回は英語の学習部分について記載しました。
今回はソシャゲ部分について記載いたします。
ゲーム内容としては、キャラクターを集めて育ててクイズに答えて敵を倒すというよくあるものです。
特に難しいことはなく、レベルを上げて、素材を集めて、進化って感じのよくあるものです。
ソーシャル部分については、当日内のスコアアタック、協力プレイや対戦イベントなどがあります。
スコアアタック
ランダムに選ばれたダンジョンにおいて、回答数の少なさ、デッキのコストの低さを競うものとなり、これが毎日実施されます。
1回目はユーザにはどのダンジョンが選ばれているかわからない状態で行われ、スタミナの減少はありません。
2回目以降は全スタミナ(上限値を超えてるものは含まない)を使うことになります。
ミスしても1回とカウントされるので注意が必要です。
協力プレイ
通常ダンジョンとイベントダンジョンがあります。
野良でもできますし、カスタムで友人や家族とプレイできます。
敵はCPUなので普通のダンジョンと変わらないです。
対戦イベント
5人対5人の対人間のチームでの対戦イベントです。
クイズ形式は同じなので、英語力とキャラの把握力(スキルやステータス)で競われます。
英語レベルを下げて挑むのがいいとされていますが、ほかの方の設定なども参照されるため、簡単にしたからといって簡単なものしかでないわけではありません。
一応、ランクがあるので最初は適当にやってもなんとかなることが多いので試してみて、ほかの人のキャラなどを参考するのがいいと思います。
フレンドなども対戦後に申請できるのでしてみたらいいかと思います。
その他
他にもゆる狩りや各種イベントが行われており、ほかのユーザが倒したモンスター数の合計に応じてプレゼントがあったりします。
最後に
キャラドロップを狙い、周回しているうちに英語に詳しくなっていくといういい循環が生まれると思います。
また、ストーリーも日本の名産などを面白おかしく紹介しているのでいろいろと詳しくなるかもしれません。
口語の勉強はストーリーがメインになりますね!!
どうせゲームするなら英語学びませんか?
面白いですよ!
英語物語のすすめ:雑記
英語物語のすすめ
英語物語
急に何を言い始めたんかと感じる人が多いかと思いますが簡潔に。
英語を勉強できるソシャゲです。
ゲーム内容はシンプルに2つあり、以下となっています。
・1つの問題に対して4択で答えるもの
・穴あきになってる単語の空欄を5択から選ぶもの
なぜ英語物語なのか
目標としてTOEICのスコアを750点近く取る必要がでたため、英語に慣れる必要があり、英語学習アプリを試した結果、たどりついたものとなっています。
慣れるためにいろいろなアプリを試してみたのですが、自分としては一番あっていたからですね。
合わなかったものはだいたい以下が理由となっていますね。
・英語レベルを変更するのに課金が必要
・学習するのに体力が必要で課金が必要
・そもそも有料
さもしくも無料で探してたからですね。
では、英語物語は上記を解決できているのかというと解決できているのですね。
学習アプリではなくソシャゲという点を活かし、課金要素は学習にもってきてないのです。
要は以下の3つの点が自分に合ってたのでしょう。
・英語レベルはオプションで簡単に変更可能
・体力の概念はあるが、体力を使わないモードで学習可能
・課金はキャラクタの入手のみで学習には影響がない
また、勉強できる内容も豊富で一部抜粋になりますが以下の数だけあります。
・単語(名詞・副詞・形容詞)
・文法
・熟語
・予習
・復習
さらに、上記の内容をTOEICの得点レベル、英検の級レベル、そもそも問題として出さないという風に選べます。
しかも、無料で上記を選択できるうえに、復習モードもしっかりと解説があってわかりやすく勉強できます。
文法問題は間違った理由も含めて学習したいので、なんで正解なのか、他の選択肢がなんでダメなのかもしっかりと記載があるので本当にいい勉強になります。
最後に
英語学習とソシャゲを組み合わせることで課金要素を英語学習から排除したいいアプリだと思います。
広告についても、嫌がらせみたいに「見ないと○○ができない」みたいな要素ではなく、「見ることで得をする」というやり方になっているのでストレスになりにくくできています。
まだやり始めて2か月くらいですが、しばらくは続くんだろうなって感じです。
次はソーシャルの部分について書きたいと思います。
JUnit4向けのテスト駆動をJUnit5向けに書き換える:雑記
テスト駆動の書き換え
振り返り
KindleUnlimitedで見つけた本にて勉強を兼ねて写経をしているという話を以前しました。
その本にはSpringBootのテスト駆動の話があってJUnit4にて記載されているのですが、今のVersionのおすすめを拾っていくとJUnit4がimportできないんですね。
たぶん、探して拾っていけばいいんでしょうけど、時代がJUnit5なんだったらそっちに合わせるべきだと思ったのでいろいろ記載変更していきました。
問題点
写経が終わった後、以下の文でエラーがでてました。(抜粋)
unresolved Before
unresolved Test
unresolved RunWith
以下の構文でひっかかってた模様です。
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
原因
検索していくうちいに上記はJUnit4での記載で古いのではないかということです。
ただ、パッケージとか拾ってきたら解決できるんじゃないのかなぁって思ったのですが、調べてもわからないし、build.gradle.ktsでの記載方法なんてさらにありません。
まだレベルが写経状態だし、どうせ自己解決するならJUnit5でいいかなぁと思ったので、そちらへ方針を変更です。
解決方法
テスト駆動を記載しているファイルとGradleファイルの記載の変更が必要となります。
まずはテスト駆動を記載しているファイルにて、以下に書き換えます。
import org.junit.Before
→ import org.junit.jupiter.api.BeforeEach
import org.junit.Test
→ import org.junit.jupiter.api.Test
import org.junit.runner.RunWith
→ import org.junit.jupiter.api.extension.ExtendWith
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
→ import org.springframework.test.context.junit.jupiter.SpringExtension
それに伴い、CLASS内の以下の部分を修正。(JUit4からJunit5へ)
@RunWith(SpringJUnit4ClassRunner:class)
→ @ExtendWith(SpringExtension::class)
また、アノテーションがBeforeじゃなくなっているので修正。
@Before
→ @BeforeEach
次にbuild.gradle.ktsを変更(JUnit4のモジュールを除きます。)
testImplementation("org.springframework.boot:spring-boot-starter-test")
→testImplementation("org.springframework.boot:spring-boot-starter-test"){testImplementation("org.springframework.boot:spring-boot-starter-test"){ exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
これでなんとかなりました。
(細かいタイプミスがあって原因を特定するのに時間がかかりましたが・・・。)
総評
トラブルがあったのでテスト駆動とは、SpringBootとは、Gradleとは、を調べながら解決できたのでよかったかなぁとは思いましたが、メインはここじゃない感が強い・・・。
本当は公式のリファレンスとか読まないとなんだろうけど、今は読んでもわかるレベルに達してないので苦労しました。
引き続き写経しながら理解を深めようと思います!
VSCODEでkotlin+SpringBootの環境を構築:雑記
VSCODEでkotlin+SpringBootの環境を構築
KindleUnlimitedで本と出合う
KindleUnlimitedでなんかいい本ないかなぁと探してたんですね。
基本、Tarzanを読んでるのでペイはできているのですが、10枠登録できるのでいくつかキープしておこうと読みたい本を登録しているのです。
タイミングよく3つほど本を読み終わったので、新しく何かしようとプログラムで探したら「入門!実践!サーバサイドKotlin」を見つけたのですね。
Kotlinの勉強、サーバサイドの勉強が同時にできそうってことで軽く数ページ読んでみて、勉強になりそうだってところで環境を作り始めました。
(テスト駆動がJunit4なのでちょっと時代遅れですが・・・。)
VSCODEでKotlin
環境的にはIntellijとかいろんなIDEの選択肢があるのですが、どんな環境でも開発・勉強できそうなVSCODEを選択しました。
(派遣とか業務委託とかでPCがコロコロ変わるし、なんやったら今業務用PCが複数あるし。。。)
手順的には以下です。
まず、KotlinはJavaを必要とするようなのでJavaをインストールしておきます。
1.OPENJDKをDLしてインストールする。
※Windows10だと設定→詳細情報→システムの詳細情報→環境変数から変更
3.VSCODEをDLしてインストールする。
4.拡張機能でKotlinとKotlin Languageを入れる
これでVSCODEでKotlinのコードがハイライト・タブでの補間ができるようになります。
SpringBootの準備
SpringBootを使用するためにひな形を作成するSpringInitializrがあります。
WEBで作成する必要があったりするのですが、VSCODEは拡張機能で作成できるのでそれもインストールしておきます。
・JavaExtensionPack
・SpringBootExtensionPack
これでVSCODEでSpringBootが使える準備が整いました。
適当にテスト
WEBでKotlin、SpringBootを検索して適当にテストしてください。
たぶん何とかなります。
総評
自分の環境構築メモで残しておきました。
常にアップデートされてますので古くはなるでしょうが、しばらくは使えるでしょう。
基本はネットワークエンジニアなので趣味レベルでやっていこうかと思ってます。