• 作成:
  • 更新:

データベーススペシャリスト試験に2回目の挑戦で合格しました

ネットワークスペシャリストの記事

ネットワークスペシャリスト試験に合格したので学習方法などを書いておきます - ncaq

1回目

1回目の結果

当時就活で精神ボロボロでフラフラだったのであんまり期待してませんでした.

2回目

2回目の結果

試験前日の土曜日に休暇を取りましたが, 集中できずにほとんど勉強できてなかったのであまり期待してませんでした.

答えも適当に埋めてましたし.

でもギリギリで合格することが出来ました.

試験時はこんなことツイートしてたみたいですね.

情報処理技術者試験いつもギリギリ合格ですね

コストパフォーマンスが良いということにします.

今持ってるやつ

スペシャリストでは

  • 情報セキュリティスペシャリスト
  • ネットワークスペシャリスト
  • データベーススペシャリスト

の3種になりました.

エンベデッドシステムスペシャリストは取ろうか悩んでいます. 殆ど組み込み技術と関わったことはないですし, 関わる予定も今の所無いので. 強力な静的型検査を組み込みシステムに適用することには興味はありますが.

勉強

前日に過去問の問題分と答えを見ました. 今回は本当に集中出来なかったので, 過去問を解くことすら面倒で, PDFを見るだけになっていました.

午前は親に試験会場に車で送ってもらえたのでデータベーススペシャリストドットコムを見ていました.

コツ

わからない問題飛ばしても6割埋めれば勝てます.

四則演算出来なくても飛ばせばOKです.

漢字書けなくてひらがなで書いても通るみたいです.

好きなデータベース管理システム

断然PostgreSQLです.

まずソースが公開されていないものは私的には論外.

言語バインディングもソースが公開されていないと作るのが難しいですし.

そしてMySQL系はデフォルトでは大文字小文字区別をつけなくて, びょういんびよういんが同じと判定されるとか, 思想が気に入りません.

SQLiteはまあ使いますけど機能が弱いのが気になります. 以前ファイル単体で動作するデータベースにSQLite使おうとしましたが制約機能が弱かったので使えませんでした. その時はアプリケーションをJavaで書いてたということもあってH2 Database Engineを使いました. JPAの継承情報がRDBMSにマップされているのを確認すると気持ちが良い.

パフォーマンス? そんな大規模システム組んだこと無いのでわからん… だからいわゆるNoSQLも使ったことがないです.

好きなデータベースアクセスライブラリ

Haskellのpersistentesqueletoを使っています.

Haskellがそもそも所謂オブジェクト指向言語ではないため, これもORMではありません. persistentはidをモデルの一部ではなくEntityデータ型のフィールドとして内包させる割り切った設計をしていて, データが本当にデータベースに入っているか型レベルで区別できるのが特徴です.

esqueletoはpersistent上で動くライブラリで, SQLのようなEDSLでSQLを生成します. Haskellの関数適用が簡潔であることと, モナドをうまく活かした, 美しい構文設計です. もちろん静的プレースホルダである程度型安全なため私のようなSQL全然わからん人が書いてもコンパイル時に徹底チェックしてくれるためバグを送り込むことがあまりありません.

SQL全然わからないのこういうライブラリに頼り切っているからなのでは…? 生でSQLを実務で書いたこと多分1度も無いです.

今年の抱負半分達成

会社の新年会で今年の抱負として

  • データベーススペシャリスト取得したい
  • バーチャルYouTuberになりたい

ということを述べていたので半分は達成しました. 後はバーチャルYouTuberになるだけですね.

証書

データベーススペシャリストの証書