ken1flanのブログ

ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

プリンシプル オブ プログラミング 第3章のメモ(1)

www.shuwasystem.co.jp

プリンシプル オブ プログラミング読書メモです。

第3章 思想 〜プログラミングのイデオロギー

3.1 プログラミングセオリー

  • プログラミングを導く価値観
  • 最高のコード とは…前提として「要件を満たす」…当たり前過ぎて書いてなかったけど。
  • 最高の と言えるようになるためには、3つ
    • 拡張方法が多くある
    • 余分な要素がない
    • 読みやすく理解しやすい
  • 逆にしたら、触りたくないコードですね…。確かに価値と言ってよさそう…。
  • 今ある道具はなぜこの形をしているか?
    • ああ、いつも気にしています。
    • コードも読むときに背景を一生懸命探りながらやってるような…。

3.2 プログラミングセオリーを支える3つの価値① コミュニケーション

  • コードはコミュニケーションの場である
  • 前の章でも出てきてましたが、「コードは書くより読む時間のほうが長い」というのは、いい説明なので、ひとに頼むときに使おうと思います。
  • リーダブルコードを読んでから、「読む側の視点」をめっちゃ気にしています…。

3.3 プログラミングセオリーを支える3つの価値② シンプル

  • コードの複雑性は排除する
  • 「格闘した痕跡」…たしかに。
    • ちゃんとしないと残っちゃいますよね。
  • テストを書きながらキレイにすることにしてて…割といい感じです。
  • 余計なモノがない -> 理解しやすい …これは道理ですねw
    • スリードが一番キツイけど、そういうのも対象ですから…。

3.3 プログラミングセオリーを支える3つの価値③ 柔軟性

  • コードの変更が容易である
  • コードは必ず変更される…ここに書かれているもの以外に、「周囲の変化」があって…機能追加や不具合修正などがなくても、ネットワークでつながっている限り、なんらかの変更は絶対発生します…ね。(software designのなんかの記事で読みました。)
  • 拡張性を上げる構造は……3個目くらいから導入を考えます…。

IPA NEWS Vol.69(2024年11月号)のメモ

IPA NEWS Vol.69(2024年11月号)を読んだときのメモです。

www.ipa.go.jp

いろんなものが特集されていそうなので、もしかしてセキュリティ対策自主研修の資料にもしかして…と思って、目を通してみます。

IPA NEWS Vol.69 Hot & New Topics

サポート詐欺の手口・状況をまとめたレポート公開

  • www.ipa.go.jp
  • あれ…これ、気づきませんでした。
  • 手口がわかりやすく出てていいかも…。
    • フロー、誘導方法、接触機会、偽画面の例

デジタル時代のスキル変革等に関する調査(2023年度)

  • Vol.68で特集してたかしら。
  • 「自律的に学び」をしている人とエンゲージメント…は関係しそうですね。
  • 自律的に学ぶことを企業が求めている……って、それは自律なのって気持ちも…。うーん、むずかしいですね…。
  • 自律的な学び…でも、これって難しいと思うんですが…どうなんですかねぇ…。
    • (前職で勉強会に若干の邪魔が入ったのを思い出しました。世の中的にはかなりマシなほうだったと思いますけどね…。)

ワンスオンリー入門ガイド 申請・証明手続の抜本改善

  • え?…と思ったけれど…うーむ…覚えておいてほしいのかどうか…。
  • 自分がほとんど申請を出さないせいで、余計なことを覚えてるほうが漏洩リスクが高くて、避けてほしいと思ってしまいます。
  • ただ、よく出す人もいるでしょうし…よく使うひとにとって使いやすくなるのはいいのかも。
    • 保存するか否かを選ばせてもらえれば、満足です…。

[Just Information]脆弱性体験学習ツール「AppGoat」で学ぼう!

  • これ、めっちゃいいのに、Macじゃダメなところが残念すぎます…。
  • Windows使ってる方はぜひやってみてください…!

特集 組織のセキュリティ戦略を牽引するリーダーへ 「実戦力」と「人脈」を磨け!中核人材育成プログラムの1年

特集 【ウェブ限定記事】 ここでしか得られないネットワークがある。ともにセキュリティ向上を目指す仲間に

  • 送り出した組織からの声。
  • お金の話もちょっと聞きたかったかも…。プログラム自体500万で、講習を受けている間の給与もきっと出してるんでしょうから…結構掛かりそうですが…。ここに書いてあるとおり、「信じて送り出した」感じですかね。
  • ただ、その後の展開や、外部のネットワークもできたようで、最終的には満足だったようです。(自分も受けたくなったら、この記事を見せますw)

セキュリティのすゝめ 情報窃取や金銭被害の危機も!「フィッシング詐欺」にご用心

  • 去年に比べて、増加傾向ですね…。
  • またフィッシング詐欺の勉強会をやるべきかなぁ…?

セキュリティのすゝめ 【ウェブ限定記事】 フィッシング詐欺に新たな手口。ワンタイムパスワードの窃取も!

  • おお…なるほど、たしかにニセモノは 〜 様 に登録名を出せないはずですね…。これはシェアしようと思います…!
  • 伝票番号も、攻撃者は正しいものを知らないので、間違ったものが表示されている…。チェックするようにします。
  • 2要素認証も…確かにこうすれば乗っ取れますね><

情報セキュリティ対策自主研修 第24回 「ネット家電のセキュリティ対策について知ろう」を開催しました

academist-reading.connpass.com

情報セキュリティ対策自主研修 第24回 「サポート詐欺について知ろう」を開催したので、簡単な感想を書きます。

題材

IPA NEWSを見ていたらサポート詐欺に関するよくできた資料をみつけました。 最新のサポート詐欺の手口について事細かに書かれています…。(電話したり、オペレータとチャットした様子も…)

www.ipa.go.jp

感想

  • あらためて読むと、ホント工夫がヤバい……。
  • EDR
    • Endpoint Detection and Response
    • PCなどの不審な挙動を監視
    • サポート詐欺をうまく検知でき…そう?
      • PCのリモート操作を検知できないかしら?
  • プロの情報セキュリティ担当者の現場を垣間見れてよかったです…!
    • 実際に調査を依頼されて、引っかかってみたら…
      • イヤホンを挿してたからよかったけど、大きな音がめっちゃなったそう…
      • キー・マウスの動きを封じられて、なんとかサービスからkillしたそう… ィに関心を持つことで、引っかかりにくくしてます…。
  • 体験談
    • ネットショッピングの受取タイミング近くで届いたフィッシングSMSをクリックしちゃったそう…。
      • その後、なんかおかしいのであらためて、公式LINEアプリからアクセスしたら違ったのだそう((((;゚Д゚))))ガクガクブルブル
  • Chrome拡張などで普段使っているものとそっくりなものを作られたら、パスワードとか気づかず打ち込んじゃいそう((((;゚Д゚))))ガクガクブルブル
  • 御社でどんなふうに情報セキュリティ対策されてますか?って訊いてもらったのがよかったです。
    • あらためて説明できる機会になりました。
      • ちなみに…
        • 人数が少ないちっさい会社なので…高価なサービスなどは導入できませんが、毎月この勉強会で情報セキュリテ
  • 自分はほとんど躱しちゃうので、他の方の知見が本当に助かります🙏

その場で調べきれなかったこと

  • 電話の発信者番号偽装
    • 大きな企業から電話をかけるときに、実際の番号ではなく代表の電話番号を表示させたい、といったことがあるので…
    • その仕組を悪用したら…できちゃいますね><
    • www.tca.or.jp

運営としてのふりかえり

KPT方式で。

前回のTry

  • 題材の決定
    • ギリギリまで決められませんでした><

Keep

  • 事前準備、わりとちゃんとしました!
  • 第10回で来てくれた方がまた来てくれました…超うれしい!!

Problem

‐ 今回めっちゃ興味深い資料だったんですが……伝わったか自信がありません><

Try

  • やりつづける。

メモ

  • 終わったあとにやること
    • [x] Google Meetのメッセージの保存
    • 謝辞と感想
      • [x] twitter
      • [x] facebook
      • [x] mastodon
      • [x] bluesky
      • [x] threads
      • [x] connpassのイベントメッセージ
      • [x] ブログ
  • 次回準備
    • [ ] Google Slides
    • [ ] カレンダー/Google Meet URL
    • [ ] connpassイベント
    • [ ] ネタぎめ
    • x] 告知
  • 直前
    • [ ] 告知
    • [ ] リマインドメール

「プリンシプル オブ プログラミング」読書会 第3回を開催しました

academist-reading.connpass.com

「プリンシプル オブ プログラミング」読書会第3回を開催したので、簡単な感想を書きます。

感想

前回のふりかえり

第2回のふりかえり

KISS(コードをシンプルに保つ)

  • (追加で…)いらなくなったコードを消すのも、シンプルさを保つのうちに入りそう
  • コード以外にも、要求もテストもシンプルなほうがいいですよねッと前回も言ったらしく、同意されてうれしかったですw

DRY(コードのコピペ厳禁)

  • コードだけじゃなくて、仕様も?
    • 〜とおんなじように と言われるたびに苦しんだ記憶しかないです…。
  • 敢えて破ることでコンテキスト境界を守ることも…という意見も出て、納得です。
    • 似てる機能を持ってるけど、違うブツって、結構ありますもんね。
      • サービスの根幹のモデルでそういうことがあって、ずっとツライ…。

SLAP(コードのレベルを合わせる)

SLAP

  • 静的解析ツールから、メソッドが長いと言われて、分割する、というのは自分もそうなので納得でした。
  • コンポーネントベース分割の話が出て…言葉は知らなかったですが、ひとつのクラスに複数の責務を持たせないなど、いつも気をつけていることなので…なるほどでした。

OCP(コードは波及させない)

OCP

  • あらためて自分の感想を見て……小手先の話しちゃってましたね……。
  • 普段、コードの変更が一方で終わってくれるようになるべく心がけてます。
    • そのために継承とかインターフェイスを使ったりしてます。
    • ほかにも、OCPの原則のために…何使ってたっけかな……。名前を覚えちゃいないのでアレですが…なるべく変更したときに一緒にまわりを直すことがないように気をつけてます!
  • DRYとの関係性について議論に上がってて…基本的にはOCPを守るほうを優先して、DRYを破ることもあります。

名前重要(コードで名前は最重要課題)

名前重要

  • 何度見ても、最重要ですね。
    • SLAPで出てきた、 本の要約のように も、PIEの読みやすいコードにもめっちゃ関係してると思います。
    • 適切に名前をつけるには、 単一責任 にも通じますよね。
  • そうそう、名前設計

運営としてのふりかえり

Keep

  • 今回も録画しました。
    • 観たい、という希望者がいればいいな…。

Problem

  • 申込みはあったのですが、キャンセルで主催だけでした(´;ω;`)
    • 2人の主催だと、なんだかんだとできるのでいいですね。
  • 今見たら、ミーティングの録画あるよというメールを参加者宛に出していたのに、キャンセル者には届かないんですね…。
    • イベントのフィードと、twitterに投稿しました。

Try

  • 次も録画していいか訊いてみる!
  • 次回のページをなるべく早く作る。

最後に

この先もやっていきますので、なるべくみなさんの経験や疑問を聴いて、参考にしていきたいと思います!

IPA「サポート詐欺レポート」2024のメモ

www.ipa.go.jp

サポート詐欺レポートを読んだときのメモです。

サポート詐欺の手口

  • 遠隔操作中にコンビニへプリペイドカードを買わせにやるって…その間も怖いですね><

安心相談窓口に寄せられている相談件数の推移

  • 検索結果に詐欺ページが普通に出るのもなぁ…。出ないのもアレですが…。

本手口の実際の流れにおける変化と特徴

被害者が偽警告画面に接触する段階での変化

  • 先に示された、サポート詐欺の手口の1番目、「インターネットの閲覧中に」
  • 7つもあります…!
  • なぬ…ブラウザの通知機能を使うのもあるんですね…。
    • 普段通知は絶対受け入れないので、その悪質性に気づきませんでした…。
    • 背景画面への工夫も……うっかりしそうで怖いです><
  • ひとつひとつは見分けがつきますが………機会がたくさん過ぎて、手が滑りそうで怖いです…。

偽警告画面の変化

  • とにかくあちこちに電話番号……。
  • チャットも装備、有人対応っぽいみたい…。
  • このあたりから本番かしら…?

偽警告表示画面に施されている細工

  • うわ…ログイン画面とか出してる><
    • マウスを消すなんていうスタイルがあるんですね…。ブラウザもアレですねぇ…。
  • ブラウザの機能をめちゃくちゃよく使ってますね…。知らないものばかり><

電話番号の変化

  • IP電話、特殊詐欺対策で本人確認が入りましたね。
  • 国際電話も (0101) とか書かれるとわかりませんね…。
  • 電話の発信者番号の偽装があるの…? うわあ💦

オペレーターの対応

  • 対応フローチャート
    • 会社の口座に不正アクセスされています……焦りますよね>< 焦ってない今のうちに「残金を移しますので…」って何でお前が!ってツッコミ慣れておきます…。
  • バイナリファイルをテキストエディタで開かせる……なるほど><

金銭的被害

  • お金の話をすると大半の人が詐欺を疑い出す……おお、仮になっても少し冷静になれるポイントだってことですね…。
  • なるほど…スタートアップにシャットダウンを登録するとは💦
  • ネットバンキングで送金する際に遠隔操作で送金金額を変更…って、マヂか!

2024年から急激に増加している、偽警告画面を表示するサイトへ誘導する広告の状況

  • なんというか、ちゃんと審査してほしい……Web広告業者のみなさん…。

IPAの取り組み

  • サポート詐欺体験サイト…!これ、めっちゃいいですよね!

読み終わって

  • みんな軽くでもいいから一読して、手口を知っておいても損はないと思いました。
  • ホント、工夫がスゴすぎて…オレはひっかからないぞ!と言い切れません…。
  • サポート詐欺体験サイトも、超オススメ。表示中に落ち着かなくなることを体験しておくと、イザというときに少し客観視できるようになるかも。

2024年10月

9月何したっけ…?というまとめ。

全体で

  • 若干がんばりすぎなので、手を抜かねば…。

以前のまとめ

Special Thanks

「プリンシプル オブ プログラミング」読書会 第2回を開催しました

academist-reading.connpass.com

「プリンシプル オブ プログラミング」読書会 2回を開催したので、簡単な感想を書きます。

感想

KISS(コードをシンプルに保つ)

KISSのホワイトボード

  • ワンライナーメタプログラミングがカッコいいと思った時期がありました…という話がでて…わかるーってなりました。
    • 今はどっちも無闇にはやりません。
  • KISSって言ってみんな通じるんですかね…?という話が出て…自分はその名前からパッと中身がわからんのですが…他の皆さんはわかるんですかね……。

DRY(コードのコピペ厳禁)

DRYのホワイトボード

  • コードのコピペは…自分のときにはコピペしろって教えるひとがいましたが…他の方も同じだったようで…。言いやすいですもんね。
    • ああ、それのせいで、「〜が似てるから参考に書いて」と指示したら中身を読まないでそのままいらんところまで書かれて、ウッてなったことも何度か。
    • いいからコピーしろ、ということを指示されたことがあれば…そういうことにもなるだろうと…怒らずにゆっくり伝えたりしてます…。
  • コードをまとめるのって、結構テクニック要りますよね。この方針に沿うべく、いろんなテクニックを駆使しながら、やっていこうとがんばっています。

YAGNI(コードは必要最低限)

YAGNIのホワイトボード

  • KISSと似てます…。
  • 拡張性!と思って、余計な構造を入れちゃうのは気をつけないとなぁ…と思いつつ、直近の未来が見えているときはがんばったりもするので…方針ですよね。
  • さじ加減が難しいですが…やっていきます。

PIE(コードの意図を伝える)

PIEのホワイトボード

  • コメントの書き方がわからない…という話が出ました。
    • どう動くかは書いてあるけど、どうしてそうしてるのかなどは書いてないので、そのあたりを書くといいっていわれてますよね、みたいな話はしたけど、うまく伝えられたかしら…。
  • 「読みやすく」を最近意識している、と聞いて、うれしくなりました。

運営としてのふりかえり

Keep

  • 参加できないけど、動画で観たいという声をいただき、録画しました。
    • Google Meetの録画機能でやりましたが…終わってからGoogle Driveに保存されるまでにそこそこ時間がかかります…。

Problem

  • 申込みはあったのですが、キャンセルで主催だけでした(´;ω;`)
    • 2人の主催だと、なんだかんだとできるのでいいですね。
  • 今見たら、ミーティングの録画あるよというメールを参加者宛に出していたのに、キャンセル者には届かないんですね…。
    • イベントのフィードと、twitterに投稿しました。

Try

  • 次も録画していいか訊いてみる!
  • 次回のページをなるべく早く作る。

最後に

この先もやっていきますので、なるべくみなさんの経験や疑問を聴いて、参考にしていきたいと思います!