xxxさんの備忘録

xxさんのブログです.xxさんはネカマです.

oss-db(silverを取った)

一回落ちたoss-dbのsilverを受けなおして取りました。 備忘で上げておきますが、ざっくり書いてあるので後で追記するかもしれません。

試験結果

  • 一回目 f:id:fallakiakino_793:20220120223704p:plain

  • 二回目 f:id:fallakiakino_793:20220120223814p:plain

試験勉強方法

  • udemy(問題文の間違えが若干多めなのであまりおすすめしないです)

  • ping-t (https://ping-t.com/) まんま同じ問題が出るのと使ってる人がudemyより多い・課金のなので質がいいです。 月額で払うと気持ち高い感じがするので、もう一つくらい取りたい資格があるなら、1年契約で払ってしまった方がいいかもしれません。 (1ヶ月・・・2,400円, 12ヶ月・・・6,800円)

よくよく見たら、「DBわからないけど、勉強やった」人っぽい点数ですね。

『コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)』を読んだ

お疲れ様です。私です。 最近はWEBで受ける試験(oos-dbのシルバー)に落ちたりしてました。

コーティング試験って何やらの気持ちに近況なっていて、「paizaのb練習問題を曖昧にpython(前はjavaでやってたが出力を出すのに手間などの理由からpython)」などで解いたりしてます。 二本木探索、計算量とかが出てくるといきなり難しくなって(解けない、解く気がなくなる)のでatcoderは手を出してないです。

この本を読んだきっかけ

paizaのようなコーティングテストに手を出した関係で言語仕様のお気持ちについて知れる本でも読んどくかなぁと思いました。 それで『コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)』を読みました。

ちなみに書けるものについてはgithubのメモにある通りで

  • 簡単なcrudがある個人開発→laravel(php)
  • ちょっと重めな個人開発(たぶんしない)、業務→spring boot(java)
  • ファイル操作する少し複雑なshellっぽいものが欲しいとき→python くらいの雑な世界観で生きてます。

まぁやったことがあるものが少ない上に関数型言語に全く手を出してないのがやば怠惰って感じがしますが本題の方に入りたいと思います。

良いと思った点(実践してみたいと思えるような内容等)

  • ざっと言語の仕様を確認することができる
  • 特に好きなのはwhileの説明の部分と"文字とは何か"の部分で、whileは「forがあればできるのに、何故あるのかわからなかった(forとwhileでやってることが同じように感じた。かつ習いたての頃にwhileで無限ループしてしまったので好きじゃないです)、「文字コードがやたらあるのかわからない」などの理由があるためです。

以下はメモです。

  • while

    • goto文が出来ることを制限を加えている(本書の雰囲気だと、whileのほうが歴史があって、whileの使いにくい部分をforとして表現することを発明したような書き方に感じた)。
    • for文との違いとしては以下のようにまとめられる。

      • forを使った書き方

        for (i=0; i<N; i++) {

        System.out.println(i);

        }

      • forを使わない書き方

        int i = 0; while(i<N) {

        System.out.println(i);

        i++;

        }

    • 上のように書くこと自体は可能だがwhile文を使用すると、「ループの外で'int i= 0'、ループの条件式でi<N、ループの最後でi++」といったようにコードが分散してしまうのを避けるために、whileとforが存在している。
  • 文字コードについて

    • 1993年、世界中の文字を含んだ文字集合Unicodeを国際標準として利用することがきめられた。
    • utf-8 - Unicodeという統一された文字セットを符号化する方法。
    • iso-2022,Shift_JIS,EUC-jpなどの文字セットがアルファベットと数字(限られた数字)だけではなく、日本語を表現したいというニーズに合わせて出た。

悪い点(苦手な点)

  • 読みやすくていろいろな言語に触れてるのがいい点ではあるが、ある程度の厚みがある話題とっちかり系ではあるので、(何かをするか決まってない時に)時間つぶしに読めるといい本で、逆に何をするか決まっている場合には結構厚いので読まなくてもいいかなという感じです。(関係ないですが、これより厚みがないワードと簡単な説明だけの説明になると、説明として薄い感じがして読むのが逆にだれる気がする。)

まとめ

  • 「目的を間違えて手に取らないでね(あんまりいなさそうだが)」って以外にはあんまり悪い点として書き出せるようなことがないので、概ね私の中では高評価です。
  • 後、コーティング的なプログラミングをする際に先駆者へのありがたみが若干出るので、いい本でした

2021年と2022年について

2021年について

2021年も残りわずかですが、如何お過ごしでしょうか? おおむね元気です。

やったこと

  • Laravelの勉強 → 少しやった、途中で開発のグループワークを抜けてしまったので、迷惑をかけただろうなと思う。 今度からは抜けないようにバランスを考えていきたい。

  • aws,azureの勉強 → とりあえず資格欄に書けるものができて良かった

  • spring boot → 業務でさわってたのでヨシ

  • 引っ越し →荷物が少ないとすぐ済む

感想

やったことの割には実りが少ない感がある。 何もしてなくても実りが無限に発生して欲しい。

2022年について

生きる。(目標等無し)

やりたいこと

  • パケットキャプチャーの教科書を買ってしまったので読む。
  • oos-db silverを取る
  • javaの基本がわかってない」と言われたので、改めて勉強するのも含めてjava silver を目指す
  • セキュリティの授業単位が欲しい
  • lips lv1を取る
  • react辺り少し見る

感想

特に思い浮かばなかったので以上ですね。 年始はたぶんブログを上げないのでよろしくお願いします。 次回上げるのはたぶん1/6です。

『オブジェクト指向でなぜ作るのか』を読んだ。

  • この本は2018年にエンジニアとして研修を受けていた時にkindleで買った本です。
  • 当時はこの本を読んでもオブジェクト指向が分からなかったのか、研修での配属面談した上司に「オブジェクトって結局なんなんですか?」と聞いた覚えがあります。 確かめちゃめちゃ困ってたし、私が今同じ質問を年次上の後輩にされても困る自信があります。
  • 他に配属面談で聞かれて覚えているのは「研修でやった中(SQL/HTML&CSS/JavaFizzBuzzが書けるレベル)で何が一番好き?」と訊かれた覚えがあり、こちらは当時「(Excelの便利版みたいだから)SQL」と答えた覚えがあります。(ちなみに今はそんなに好きじゃないです)

この本を読んだきっかけ

良いと思った点(実践してみたいと思えるような内容等)

  • 「第12章 オブジェクト指向を使いこなそう」での"オブジェクト指向の利用自体を目的にしてはいけない"という言葉はどんな技術やツールにでもいえるような言葉ですごく良く思えた。

    「特に設計レビューやコードレビューの際に「これはオブジェクト指向らしい設計じゃない」といった発言が繰り返されたら要注意です。もしかすると、オブジェクト指向が手段の代わりに、目的になってしまっているのかもしれません。

上記のような場面は個人開発やグループでの社内研修などをしてる際によくみられるのではないだろうか?と感じる。上のようなやり取りが苦手で"設計を考える"ということを避けてしまうようになった人も珍しくはないと思う。

  • 設計は沼で設計の沼に悪いハマり方をしてしまうと「正しい設計(その他:web,プログラミング,プログラミング学習)のあり方」といったものを人に押し付け「正しい」ものであることを目的にしてしまうことが往々にしてあると思う。こういったときに

"xxの利用自体を目的にしてはいけない"ということを思い出せるようにしておきたい。

  • 一読した際には読み切れてなかったのか、「第11章」ではアジャイル開発とウォータフォール開発などの開発手法にも(OOPと相性がいいものというような形で)言及していた。 そういった意味では「オブジェクト指向プログラミング」が分からなくなった人以外にも初学者等の人にも勧められる本なっていると思う。

  • 各章のおわりに「より深く学ぶための参考書籍」が付いていたのが「どの部分が解説された本」なのかと言ったことまで書かれている点が良いと感じた。

悪い点(苦手な点)

  • 「コラム」が鬱陶しく(閑話休題として出されるクイズ)に対して「それは本当に読者が求めているものだと思っているのですか?」などの気持ちになります (しかし、このコラムなどをきっかけとしてその他開発手法や簡単なプログラミングの歴史などについて書いてあるのでうっとおしいという気持ちまでにしておくのが適当だと感じた)

  • 最後「13章 関数型言語でなぜつくるのか」の内容が(無知・怠惰・読み飛ばし・やる気のなさ等から)全然わからなかったので、残念だった。

まとめ

  • 「コラム」がうっとうしいなどの気持ちになりますが、まぁ読みやすい本であることは確かです。また、読みやすい上にオブジェクト指向プログラミング(やその他の開発手法など)の話をしていて人に勧められる本だと感じた。

  • 一回読むだけではなく何かしら理由をつけて2年に1回程度読むとプログラミングのありがたみが出るタイプの本です。 (ちなみに自分の中で『リーダブルコード』は1年に1回読んだ方がいい本としているので、そこから推し量ってください。)

『逐条 不正アクセス行為の禁止等に関する法律(第二版)』を読んだ

『逐条 不正アクセス行為の禁止等に関する法律(補訂第二版)』を読んでました。 受講してしまったシラバスに載っていたために、手に取ってみた系です。 タイトルの部分とamazonの簡易的な書誌情報でもわかるのですが、法律の本です。

この本を読んだきっかけ

良いと思った点(実践してみたいと思えるような内容等)

  • 法律などに対する説明が丁寧に書かれている。
  • 不正アクセス行為と言えば、Wizard_Bible事件(2018/3)などが思い出されると思うが (やったことが「ウィルスプログラムの配布」で不正アクセス行為として起訴だったはずなので多分この本の範囲にあてはまると思う。しっかり知ってるわけではないが法律での許容範囲が狭いことが指摘されている件で書籍として比較的丁寧に書かれたものが最近出たはずなの近いうちに手を出したいと思う。)そういったときの許容の狭さが分かるような感もあった。

Wizard Bible事件 - Wikipedia

  • 本書が出たのは2008年の第一版なので致し方ない部分もあるのかもしれないし、後続として内容を引継ぎアップデートした本があるのであれば少し読んだ方がいいのかもしれない。
  • 一番読みやすかったかつ好みだったのは「第十一章 付録」の「資料5 不正アクセス行為の発生状況」だった。(この本が出ていた2007年ごろは「オンラインゲーム」に関したものが若干の流行があったようにも見受けられた)
  • 同資料5内では「1つのパスワードに様々なIDを組み合わせてIDを特定する手法」の事案が2007年に出ていたようだ。最近もドコモ口座を利用して地銀が似たような被害にあっていたのは記憶に新しいように思う。

cf.リバースブルートフォース

「ドコモ口座」で相次ぐ不正出金、なぜ地銀だけが狙われた? 専門家の見解は - ITmedia NEWS

とりあえず日本の法律的な用語として自分用まとめ

(主として「第四章 用語の定義」からの抜粋し自分の言葉でまとめたものになります。私の読み間違いによって意図が変わってることもあり得ます。ご注意ください。)

  • アクセス管理者 - 特定電子計算機(電子通信が可能な状態に構成されている電子計算機)にアクセス制御機能付加する主体とされ、特定電子計算機を不正アクセス行為から防御するために必要な措置を講ずるように努める。(注より、「企業内LANに社員等が私物のPCを接続している場合がある。端末機器としてのみ利用し得るものであればアクセス管理者は"いない"。そのPCがlanを通じて他のPCから遠隔利用できるようにしているのであれば、その社員がその遠隔利用(特定利用)について"アクセス管理者になる"」)

  • imo. 今のコロナの状態で上記の注のような使い方がかなり書かれた当時よりもされるようになってきた(し、ある場所では推奨もされるようになったように感じる。)
    それらを含めると若干危うい感じがする

  • 識別符号 - 利用させる相手や範囲を決定させるために、pcに相手を識別させる必要がある(ex.id,password的な)

  • 特定利用を認める相手方ごとに違うものであること

  • その相手方以外に用いられていることができないものであること

  • cf. Authentication(認証) ※以下の話はaiitのセキュリティシステム管理運用特論のパワーポイントから抜粋しました。

    • 知識情報-passwordなど
    • 生体情報-指紋や静脈パターンのようなその人を示す情報
    • 所持情報-磁気・ICカード(スマホ)のような本人の持ち物
  • アクセス制御機能 - アクセス管理者がid,password等の識別符号が入力された場合のみその利用を認めること(ファイアーウォール)ゲートウェイ・認証サーバー型

悪い点(苦手な点)

  • webセキュリティに興味がある人が読むものというよりは法律に興味がある人に向けて書いているような節があるので、かなり固く書かれている。例で言えば「第七 アクセス管理者による防御措置」の章では努力義務としてだが、かなり多くのものが課されている。

ex. バッチプログラムによるセキュリティホールの解消 初期パスワードは変更すること ログの保持 など 確かにそれができていれば、世の中の穴はなくなるだろうなと思うようなところはありました。 (銀行案件を考えてもらうとわかりやすいし、そういったものに対して書いてあるようにも見受けられる)

まとめ

  • 日本語としてかなり読みにくいし、厳密に書こうという意思が垣間見れるので「自分用の用語定義」のまとめを作るために読み返すだけでもかなり骨が折れた。
  • ザラっとしか読んでいないためここの章を読み直した方がいい等、また誤記があればご指摘ください。

『実践・パケット解析』を読んだ。

『実践・パケット解析』を読んだ。

『実践・パケット解析』がシラバスの参考文献に上がっていたため、一度目を通すつもりで読んだ。 一読した限りでは、第10の「現場に即したシナリオの第一歩」などに自分の理解が及んでいないとわかる範囲があった。 今回シラバスに載っていたように「パケット解析」をしたい人のための第一歩もしくは、wiresharkを使った解析のハウツーとしては有用な本だと感じた。

この本を読んだきっかけ

『実践・パケット解析』がシラバスの参考文献に上がっていたため。

良いと思った点(実践してみたいと思えるような内容等)

  • ネットワーク初心者向けに書いたという背景もあり、第7章~第9章あたりでプロトコルに関する説明をしている。
  • あくまでも、ネットワーク初心者向けなのでそれ以下の知識しか有していない人などは象本「1週間でCCNAの基礎が学べる本」や「マスタリングTCP/IP 入門編」等でなんとなく理解してから読んだ方が適当だと感じた(どちらの本も手に入りやすい本なのでぜひ。私は読み切ってはいませんが)
  • 付録に話になるが、付録Aではパケットキャプチャーに便利なツールの紹介がされていて、読んでる範囲で愉快だった。
  • 余談になるが、付録Cでwin10Pcapの紹介がなされていた、作成者は"登大遊"(情熱大陸という番組に「シンテレワークシステム」を紹介する目的で登場していたので記憶に新しかった。)

    悪い点(苦手な点)

  • wiresharkのハウツーと書いたがwiresharkの導入、細かな使い方について書いてある印象があり、手を動かして学びたいといった人には若干不向きな印象もあった。
  • wiresharkを使ったできた気持ちになれるハンズオン的な本「ハッキング・ラボのつくりかた 」(途中まで)などを読む方が適切だと思う。

    まとめ

  • (以下のことは前書きにも書かれていたように思うが)wiresharkの細かな使い方の確認ができる辞書として読むや、簡単にwiresharkの概要をつかむのには適切な本だと感じた。
  • また付録として追加されている"パケットキャプチャーに便利なツールの紹介"は時代とともに変化しうるが読んで損はないと思う。

参考