blog.syfm

徒然なるままに考えていることなどを書いていくブログ

データベーススペシャリスト試験を受けた

動機

先週の日曜日に情報処理技術者試験があって、データベーススペシャリスト試験を受けた。
受けた理由としては、データベースの基礎とかが所々欠けていて、今はそこまでデータベースをがっつり使ってはいないけどいずれ使うときに苦労しそうだなと思っていたため。
なので、基礎を補完するつもりで勉強を初めた。
あとは、高度区分で春に受けられる技術分野の試験がデータベーススペシャリスト試験だけだったため。情報処理安全確保支援士は out of 眼中。

使った本

テキストには以下の本だけ使った。

SC を受けた時もこのシリーズの本を使っていた。
午前Iは免除していることが前提(or 自力で解ける)っぽくて、そこに関しての解説等はない。あくまでデスペの本質である範囲を扱っている。
午後の過去問の解説が詳しいので、午後対策したい人にはオススメかもしれない。

試験

午前 I

AP と SC を持っているので免除。

午前 II

ほとんど解けたと思ってたけど、意外と間違えてて割と危なかった。自己採点で7割くらいだったので合格。
CSIRT 間違えたのでセキュリティスペシャリスト失格です。

午後 I

特に問題を見ずに大問1・2を選択。
SC の時もそうだったけど、問題が面白いので解いてて楽しい。
過去問解いてた時もそうだったけど、時間が足りない。ほとんど長考してないにも関わらず時間ギリギリだった。
とはいえ、適当にネットでさらっと他の人の解答と照合して見たらだいたいあってるので受かってると思う。(正式な答えは今週木曜に公開される)

午後 II

これは完全に失敗だった。
SC の時は午後 II はノー勉だったので、今回もいけるだろ〜みたいな感じでいたら、思ったよりできなかった。
午後 II は試験時間が2時間とかいう頭おかしい構成なので、めちゃくちゃ問題が長い。問題だけで10ページくらいあるので、読むだけでも大変。
しかもエンティティとか属性も紛らわしい・長い・分かりづらい名前のものばっかりで、開始10分でゲシュタルト崩壊した。
例えば、補充* という属性が11個あり、 補充* というエンティティも6個ある。分かりづらい…。
こんな感じのこともあって、何度か過去問を解いて、解法をある程度身につけておかないと解けなさそうだった。
一応解答欄はだいたい埋めたけど、正直微妙…。受かってるかは五分五分な感じがする。

まとめ

勉強はちゃんとやったほうがいいと再認識した。

おまけ

友人です

ホームページを移行した・続

今日のお昼ごろに以下のようなエントリを書いたら、id:upamune さんから Netlify なるサービスを教えていただいた!

syfm.hatenablog.com

www.netlify.com

パッと見めちゃくちゃ良さそうなので早速試してみた。
以下のように、GitHub や Bitbucket と連携してリポジトリを選択し、ビルドコマンドと成果物が生成されるディレクトリを指定してやると、GitHub に push されたタイミングで pull してビルド、公開までを自動で行ってくれる。

f:id:ktr_0731:20170312230641p:plain

元々ページを Gulp + EJS で生成していたため、登録して5分くらいで公開まで行けた。

前の記事では、ホームページの公開に GitHub Pages を、デプロイに CircleCI を使っていたけど、デプロイのためだけに CircleCI を使ったり、リポジトリを2つ作らないといけなくて微妙だったのが、Netlify でまるまる置き換えられた。
Cloudflare で SSL 対応していた部分も、Netlify で Cloudflare 同様にワンクリックで対応できた。その関係で DNS サーバを お名前.com のほうに戻した。

f:id:ktr_0731:20170312231200p:plain

他にも CLI が用意されてたり、リダイレクト・リライト、Webhook、カスタムヘッダなど様々な設定ができる。SPA などのためにプリレンダリングもできるらしく凄まじい…。

ここまでメリットしか挙げてこなかったけど、以前の環境と比べてレイテンシが少し大きくなっている気がする。
でも本当にちょっとだし、個人的には全然問題ないと感じる。

まったく変更する予定のないページであれば GitHub Pages で十分だけど、静的サイトジェネレータとかを使ってるならば間違いなく便利に使える。

ホームページを移行した

(ホームページと言えばいいのかランディングページと言えばいいのか未だに曖昧…。)
http://syfm.0t0.jp から https://www.syfm.me へ移行

既存の環境

今までは MyDNS という DDNS サービスで syfm.0t0.jp というドメインを使っていて、デプロイ方法と環境には Git hook と自宅サーバを使っていた。
具体的には、Git のリモートリポジトリを自宅サーバに構築して、そこに push されると Git hook によって設定したスクリプトが実行され、新しいファイルが /var/www 以下の Apache 管理下にあるディレクトリにコピーされる感じだった。

一度設定してしまえば、あとは git push する度に自動で反映されるのでそこまで大変な管理でもなかったけど、自宅サーバにはこのホームページしか動いてなかったからすごいもったいない感があって、前々からどうにかしたいなぁと考えていた。

ついでに、ドメイン0t0 も気に食わないのでやはり独自ドメインで運用したいなぁとも思っていた。

新しい環境

そこで、今回はできるだけ管理コストを削減しようと思って環境を作った。
主に使用したのは、

の4つ。

独自ドメイン

とりあえず お名前.com で取得した。Route 53 とかで取得しても良かったかもしれない…。
本当は .com とか .ne.jp とか .net とかほしかったけど、既に取得されてたり、異常に高かったりしたので諦めて .me にした。400円くらいなのでとても安い。

GitHub Pages

サイトを公開するために利用。
知らない人の為に簡単に説明すると、GitHub Pages は、自前でサーバを持たなくても静的ファイルがホスティングできる機能で、<username>.github.io というリポジトリを作ると、https://<username>.github.io でアクセスできるようになるというとても便利な仕組み。
他にもリポジトリ名が上のような形でなくても、gh-pages というブランチをつくれば https://<username>.github.io/<project-name> という感じでプロジェクト毎に公開できる。

CircleCI

自動でデプロイするために利用。
GitHub で、lycoris0731.github.io (ホームページ公開用リポジトリ) と homepage (静的ファイルを生成するための作業リポジトリ) をつくり、homepage の方に CircleCI を設定した。
master ブランチに push されると、dest 以下のファイルが lycoris0731.github.io リポジトリにコミットされるように設定したので、push するだけで自動でデプロイされるようになる。

Cloudflare

DNS サーバ、SSL 対応のために利用。
取得した ドメインのプライマリサーバとセカンダリサーバを Cloudflare から提供されたものに変更した。
www.syfm.me にアクセスすると lycoris0731.github.io のコンテンツが表示されてほしかったので、CNAME を設定した。
また、<username>.github.io だとなにもしなくても HTTPS になっているけど、独自ドメインを設定すると、自前で設定する必要がある。
なので、Cloudflare の機能を使って HTTPS で配信されるようにした。とても簡単でびっくりした。

感想

独自ドメインの登録料以外はすべて無料の範囲内で使えるので苦学生にやさしい。