コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

スイスチーズモデルに関してざっくりまとめる

いろんな文脈で出てくるのでざっくり

意味

スイスチーズの内部に多数の穴が空いているが、穴の空き方が異なる薄切りにしたスイスチーズを何枚も重ねると、貫通する可能性は低くなる。同様に、リスク管理においても、視点の異なる防護策を何重にも組み合わせることで、事故や不祥事が発生する危険性を低減させることができる。 - スイスチーズモデルとは - コトバンク

イメージ図としては以下の感じ

f:id:shinkufencer:20200916234725p:plain
いらすとやより

スイスチーズモデルで語られること

スイスチーズモデルを用いて語られることはいかのようなことがある

  1. 意味で説明した通り、完璧でない防護策も複数用意することによりお互いのカバーしていない範囲をカバーできるため意味があるという守りに関しての話
  2. 複数にわたる防護策を講じて安全を守っていても、その一つ一つの安全をおそろかにしていくと複数あることで守られていたことがらが守れなくなってしまうリスク発生の側面の話

2の話に関しては、組織が抱えた問題が影響を与えることで直接的な事故の引き金に当たる行為になるという形で触れられ、事故は個人ではなく組織が原因になるという話のベースとしてもこのスイスチーズモデルは使われることが多いようです。

参考リンク

テレコとはどういう意味かまとめる

作業会話で使われるのでざっくり書き留める

意味

交互、互い違い、逆、あべこべなどの意。 - テレコ - Wikipedia

もともとは歌舞伎の用語から。

使われる場面

「テレコになる」という現象だがあべこべになっているという状況。

  • 『2重ループの外と中の処理をテレコで書いてしまった』
  • sampleA.comに255.255.255.123 ,sampleB.comに255.255.255.321 としたかったのに sampleA.comに255.255.255.321 ,sampleB.comに255.255.255.123 とテレコしてしまった』

のようなことが挙げられる

字面が似ている全く違う言葉

入れ子

プログラム的にはネストのことを指す、マトリョーシカのような状況

テレコール

電話勧誘販売のこと。

テレコミュニケーション

遠く離れた地域間で、無線や有線の回線を使用して行う通信全般を指す言葉。

テープレコーダー

文字通りテープ式のレコーダー。略称でテレコといわれるが違うもの。

関連リンク

パスワードスプレーに関してざっくりまとめる

トレンドの用語をざっくりまとめる

言葉の意味

同じパスワードを用いて、複数のアカウントへのログインを実行して侵入を試みる方法

どのような考え方なのか

特定の一つのアカウントに対して侵入するのではなく、どのアカウントでもいいから、侵入したい場合に試される手法。パスワードの内容はわからないが、アカウントのリストなどがあれば試せる。

通常、特定のアカウントに対して複数回パスワードでログインすることを試すと、アカウントがロックされる機構はあるが、このパスワードスプレーの場合は防げない。

有効な対抗策

よく挙げられる対策のアイデアとしては以下

  • リストパターンを網羅しにくいパスワードの設定にする(英文字記号混合など)
  • 2要素認証など、パスワードが解けることだけの状態にしない

関連リンク

CNAMEトラッキングとは何かざっくりまとめる

どのようなことを行うのかというのと理由をざっくり

そもそもどういう場面で使われるのか

広告媒体においては、どのユーザーがどのサイトを閲覧したか?という情報は非常に有用で、行動したデータを蓄積することでそのデータからユーザーの興味がありそうな広告を提示することができる。

そのため、ユーザー個人を特定しないという前提の元で横断的なWeb閲覧履歴がほしいのだが、基本的にこの情報を取得することには様々な問題が絡み合っている。

とられる手法

自社のサブドメインの向け先をトラッキングしたい会社のサーバに向ける手法、CNAME自社ドメインをほかサイトのドメインに向ける

なぜこの手法をとるのか

背景

ITP2.3が適用されている現在では、閲覧しているサイトとは別のドメインから発行したCookieやJSを使って発行されたCookieの有効期限はとても短い。

そのため、その回避策として同一ドメインサイトで発行したCookie(≒ 1st Party Cookie)として、Cookieを使えば問題がない、という発想に至ったのがこの手法。

(ファーストパーティクッキーとは、という話は過去記事参照)

危険性

この手法、トラッキングをしたい会社に自社サイトで発行したCookieが見えてしまう可能性があるため、良し悪しがある。

参考

GitHubのMarkdown上でアコーディオンっぽい挙動をさせたい場合は details / summary のHTMLタグを使うことで実現できる

GitHub小ネタ

利用するHTMLタグ

< details >: 詳細折りたたみ要素 - HTML: HyperText Markup Language | MDN

使い方

通常のHTMLと同じ使い方をする

以下のように折りたたみUIが作れる。HTMLで囲んだ中身は自動的にマークアップはしてくれなくなるので注意

f:id:shinkufencer:20200912001736g:plain

参考リンク

BigQueryを無料で試したい場合はサンドボックスというものが存在するので活用する

仕事ではなく私事で試したい人への小ネタ

出典

クレジットカードは不要 : クエリを無料で試せる BigQuery サンドボックス | Google Cloud Blog

やり方

ヘルプに書いてある

BigQuery サンドボックスの使用  |  Google Cloud

いままでGCPを扱っていないアカウントだと割と簡単で、上記の内容を踏まえると以下の手順で行える。

基本的にGCPはプロジェクトに紐づくお支払い情報を設定しない限りは請求先が確定しないのでお金の請求先が不明瞭な状態なので有料なものは使えない

どういうケースで利用できるか

  • BigQueryを使ってみたいがお金を溶かさないか心配
  • 使えそうなデータは持っていないので、大量の何かしらのデータで機能を試したい

参考リンク

GitHubでのPullRequestでマージしたブランチ名から該当PRを検索する方法

小ネタTips

出典元

Issue およびプルリクエストを検索する - GitHub Docs

今回の想定場面

  • マージするときに使ったブランチ名はわかる
  • そのブランチをマージした際のPRを知りたい

やりかた

PullRequestの検索窓で head:{{マージしたブランチ名}} で検索をかければOK

マージ後のPRから feature/add_first を検索したい場合は以下

f:id:shinkufencer:20200910005046p:plain

参考リンク

GitHub での検索について - GitHub ヘルプ