Weekly Selection 2021-08-09

今週は研究関連で論文を読み漁っていたので,データベースが多めになった.

データベースにおけるインデックス

整理されていてわかりやすい.体系的に説明された資料を探すのがいつも大変な印象.

インデックス<データベース<情報技術の基礎<Web教材<木暮

B-treeインデックス

B-treeは銀の弾丸ではないことを理解した.データへのアクセス傾向やデータに形式バランスのとれたデータ構造であることが優れているらしい.正確に言えばRDBではB-treeを拡張したB+ treeを使っている.

第7回 性能改善の鍵,インデックスの特性を知る~B-treeとハッシュ (1)B-tree :SQLアタマアカデミー|gihyo.jp … 技術評論社

Bの意味を想像するのは楽しいかもしれない.Beafとか?

カーディナリティ

カーディナリティという言葉を知った.データの形式や分布による違いはあると感じていたが,用語があることは知らなかった.

カーディナリティについてまとめてみた – Qiita

ビットマップインデックス

ビットマップインデックスは,カーディナリティの低いデータに対して有効なインデックス構造である.

ビットマップインデックスの仕組み – Qiita

データベースのブロックサイズの初期値

Linuxのページキャッシュサイズ(4KB)の倍数で設計されるのが一般的だと分かった.Qiitaに調べてまとめた.

データベースのブロックサイズの初期値 – Qiita

高可用性なK8sクラスタの運用

読みながら可用性を高めるときには,キャパシティプランニングにも注意すべきだと感じた.

高可用性かつスケーラブルなKubernetesクラスターを運用するときに気を付けたいこと – Qiita

KubernetesのDeschedular

DeschedularはスケジュールしたPodを再スケジュールするためにあるそう.Reschedularのほうがよいと個人的には感じた.

図で理解する Descheduler #k8sjp #ymju / Introduction to Descheduler – Speaker Deck

Krustlet

Kubernetes上でWASMを動かすためにkubeletのかわりで使うKrustletの話.

Containers at Edge and the future – Speaker Deck

whasm!(“Rust Christmas: WebAssemblyをKubernetes上で動かす”) – CADDi Tech Blog

yarn installをCIで爆速に

node_modulesをキャッシュするのが最適という戦略に同意できた.前にもコレ系の記事か話を聞いた記憶がある.

GitHub Actions で yarn install を爆速にしたい

レポートでの話し言葉の出現

学部生の文章をレビューするときに感じていた傾向と概ね一致していた.

学生のレポートにおける話し言葉とその出現傾向

警視庁の不正アクセス(内部犯)

インシデント時に入手した認証情報を利用して不正アクセスを繰り返していた.外部からの指摘により不正アクセスが判明した.不正アクセスが発見されるパターンとしては深刻なケースだと思った.初期フェーズで検知できていれば,大きなインシデントを未然に防げた可能性はある.

警視庁職員の不正アクセス事案についてまとめてみた – piyolog

余談

  • Ubieに転職している人をTLで数人ほど観測した.吸引力強すぎないか?
  • オリンピックの野球と卓球を見た.
    • 専門性を追求する姿,勝ちにこだわり向上する姿勢は学ぶものがあった.
    • 何よりメダルや入賞して成果を出すことがどれだけ高度なことかわかる.
  • HashiCorpのミッチェル・ハシモト氏がCTOを退任
  • AmazonでマウスパッドとPCスピーカー,ラップトップスタンドを買った.
  • 研究室の環境にNickNSをデプロイした.
  • suzuriで買ったTシャツを着てウキウキした.
  • ラボのデスク環境を刷新してみた.

Weekly Selection 2021-08-02

PythonのForがC言語に比べて遅い理由

メモリオブジェクトの初期化やメモリの動的確保が原因と書いてあった.詳細な根拠や原理の解説は少なめなものの,踏み込んだ解析をしているのが良かった.

C言語と比較してPythonのforが遅いわけを処理系から調べてみた – Qiita

ランダムネットワークとスケールフリーネットワーク

ランダムネットワークとスケールフリーネットワークを知った.ネットワークごとに次数と頂点の関係性の分布に特徴が出るらしい.面白かった.

生命情報学 (7)スケールフリーネットワーク 阿久津 達也

6次の隔たり

mixiやFacebookでも実証されているそう.

六次の隔たり – Wikipedia

ハブアンドスポーク

空港の航路はこれになるそう.ハブ空港を経由して海外へ渡航する.ハブ空港がSPOFになりやすい問題がある.

ハブ・アンド・スポーク – Wikipedia

最初から強いやつの特徴

抽象的な概念を理解できる理解力と、説明を読んで理解できる読解力が成長には欠かせない気がした。偏差値60以上あたりの人は自然に身についているんじゃないか?

最初から強いやつの特徴 – Qiita

モジュラーモノリスとマイクロサービス

マイクロサービス化で苦労している話がきけた.アーキテクチャを刷新しないと厳しいのでは?という気持ちになった.

Rails巨大モノリスで有名な他社:ShopifyはModular Monolithを,GitHubはMicroserviceを採用している.

Deconstructing the Monolith

GitHub’s Journey from Monolith to Microservices

解像度を高める

研究やビジネスでの課題設定や分析に役立つ内容だった.

解像度を高める 🔬 – Speaker Deck

FluentdでNginxのログを時間付きでパース

研究室のサーバのログ管理でハマった.Fluentdくん優しくない.

fluentdでapacheのログに時間が出力されなくて苦労したので解決策と原理をまとめてみた | DevelopersIO

良い研究

かなり良い内容が聞けた.問題と課題の違い,研究と論文の関係性...

CORS

よく調べられている.CORSの仕様どうしてそこまで複雑なの…

CORSの仕様はなぜ複雑なのか

秘伝のレシピ

さくらインターネットのたこ焼きレシピが出ていたので,集めてみた.

離散数学の動画教材

早水先生の講義動画があった.丁寧でわかりやすい.早稲田大学いいな.

プロトタイプ汚染

最近,Node.jsに興味があったので思い出して読み直した.他の言語だとコレ系の問題あったかな…

Node.jsにおけるプロトタイプ汚染攻撃とは何か – ぼちぼち日記

余談

  • ワクチンを接種した.
  • 24歳になった.年齢が増えるバグ?
  • 各方面からお祝いツイートとプレゼント(from 干し芋リスト)を頂きありがたい.
  • お蕎麦を食べに行った.
  • Incrementsのプログラミング言語を分類したツイートが燃えたらしい.
  • ジャーナルの査読結果がわかり,修正の夏になりそう.フィードバックもらえると頑張って書いてよかったと思える!
  • ふと見つけたツイートに共感した.ドキュメントにかかれていないとエスパーしないとならない…

Weekly Selection 2021-07-25

ハッシュ関数の強衝突耐性と弱衝突耐性

学部の授業でハッシュ関数を説明していたのを聞いていたときに思い出した.

GoogleのSHA-1のはなし

Web業界の新卒研修資料のまとめ

前にみた資料がアップデートされていた.これも肥大化しているので,厳選したら良さそう.

研修資料まとめ.md

Chromeのフィッシングサイト対策

Chromeのフィッシングサイト判定ロジックを高速化した話が書いてある.この記事で触れられていたフィッシングサイト判定の方法が面白かった.スクリーンショットに含まれる色の割合から判定をしている.これは,ドメインを変更した過去に検出済みフィッシングコンテンツへの対策だと考えた.

Chromium Blog: Faster and more efficient phishing detection in M92

Granually

CCR(communication to computation ratio)とよばれる指標.これは分散システムにおいて計算時間と通信時間の割合を表すもの.転送するデータ量が少なければ計算時間が通信時間を上回るはず.

Granularity (parallel computing) – Wikipedia

劣等感との付き合い方

23卒Slackで見かけたときに思い出した.

エンジニアの劣等感との付き合い方 – Qiita

fukabori.fm

面白そうなポッドキャストを見つけた.

fukabori.fm

送信元ポート番号とファイヤーウォール

ファイヤーウォールでの送信元ポート番号によるフィルタリングがQUICやHTTP/3で与える影響の話.

QUICやHTTP/3で利用を避けるべき送信元ポートの議論についての考察 – show log @yuyarin

WHATWGでのブロックするポート番号の一覧はここにあった.Kawakamiさんに教えてもらった.

Fetch Standard

シェルスクリプトの環境依存

POSIX準拠していてもシェルスクリプトの環境依存が厳しい話.これは仕方がない気がしてきた.任意の言語で実装したほうが環境依存は減らせる気がする.

なぜシェルスクリプトはPOSIXに準拠しても環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 – Qiita

Googleのzxが使えそうかと思ったもの的外れみたい.これはシェルスクリプトの非同期&同期での制御で恩恵が大きそうだった.

google/zx: A tool for writing better scripts

BigQueryのWhite paper

論文を書くときに見つけた.後で細かく読みたい.

PowerPointの図形統合

Officeの吹き出しは,イマイチになりやすいのでこれが良かった.この本に書いてあった.

GoogleのAPIガイドライン

これを全社的にやろうとするスタイルすごいなと.

AIP-122: Resource names

動的計画法(DP)

動的計画法

最適化問題を考えるときのポイント(自分めも)

  • 全体最適なのか,局所最適なのか
  • 厳密解を求めるか,近似解を求めるか
  • パラメータ数と組み合わせ数(組み合わせ爆発,NP困難)
  • 精度重視か,時間重視か

参考)

余談

Weekly Selection 2021-07-18

論文での文章の書き方

主述関係の一致に気をつけて書くことを全人類に共有したくなった.

初心者向け文語体の文章(論文)の書き方Tips

湯村先生の研究室のTwitterアカウントに書いてあった.良さそう.

Azureの仮想マシン ネットワーク

ハードウェアオフロードをプロトコルに応じて行っている.ICMPが高速化対象でないため,スループットの測定に適さないという話.

Azure 仮想マシン 高速ネットワーク 概要 ~ Azure VM 間の RTT 測定に ICMP を使ってはいけない ~ – Qiita

みにくいアヒルの子定理

主観がなければデータの特徴付けが出来ないという話.例は,白鳥とアヒルの子供を知識がなければ区別できないことを説明している.これはヒヨコのオスとメスを区別する場面でも当てはまると思った.

数理の窓 – 醜いアヒルの子の見分け方

巨大なGitリポジトリのクローン

シャロークローンでdepth=1をセットすることは知っていたが,それ以外は初めて知った.

大きなGitリポジトリをクローンするときの工夫を図解します – DeNA Testing Blog

ヒューリスティック手法

厳密解を求められるわけではないが,十分な解(実用に十分)を得られる手法のことをヒューリスティック手法とよぶそう.有名なものには,遺伝的アルゴリズム(GA)がある.のぞみ(N700)の先頭車両がもつ曲線は遺伝的アルゴリズムによるものらしい.

第7回テーマ:ヒューリスティックアプローチ

秘書問題(結婚問題)と安定結婚問題

グラフ理論の話で出てきた.秘書問題は,最初のn/eとは別れるのが良いらしいが…!?

秘書問題 – Wikipedia

安定結婚問題 – Wikipedia

オーバーコミットとTSS

オーバーコミットは,タイムスライスにより実リソースを超えてリソースを利用できる技術のこと.微小時間でタスクを切り替えてリソースを共有する点がTSSに似ていると感じた.

Insider’s Computer Dictionary:タイムシェアリング・システム とは? – @IT

Linuxのネットワークツール解説

いつも使っているツールを改めて理解するときに有用だと思った.

Linux Networking Tools: 101 – Speaker Deck

Envoy入門

Envoyに入門しようとして見つけた.CAの黒崎さんが書かれた資料.やっぱり分かりやすくてよい.

入門Envoy – Speaker Deck

FacebookのRUSH

IETFへFacebookのエンジニアがプロトコル提案をした.ライブストリーミングをエンドユーザのもつクライアントにオフロードするらしい.実データや実験ができるのは,自社サービスの強みだなと思った.

FacebookのQUICを活用したライブ動画用プロトコルRUSHについて – ASnoKaze blog

エラトステネスの篩

素数をもとめるアルゴリズム.実装してみる.

エラトステネスの篩 – Wikipedia

コレスキー分解

経済学のドメインで見つけた.あとで理解してみる.

コレスキー分解 – Wikipedia

新たなDNSレコード

JANOGの資料。自分の管理するサーバにも実験的に入れてみたい。

WebサーバのDNSへの登録方法が変わるよ

NAPT Slipstreaming V2

思い出せなくて困っていたら見つけた。セキュリティの観点でブラウザが特定ポート宛のリクエストをブロックする。10080が弾かれるのもこれが原因。

NAT Slipstreaming v2 攻撃とブラウザ側の対策

SIMD

SIMDを説明するスライドを見つけた。

関連する技術「スーパースカラ、パイプライン、スーパーパイプライン、VLIW」を理解しておきたい。ついでに「パイプラインハザードとWARハザード、WAWハザード」も理解したい。

SIMD化とは何か

余談

Weekly Selection 2021-07-11

EMM

Enterprise Marketing Managementは,マーケティングを管理するための一連の技術を呼ぶらしい.ガートナーが提唱している.IBMはこれに積極的な印象がある.

Enterprise Marketing Management (EMM) Overview

scale outの技術

楽天のROMAを調べていたら見つけた.首藤先生が10年以上前に書かれた資料なのだが,有益な情報だらけだった.

scale out の技術 〜 consistent hashing 編 (cloud 研究会, December 19, 2008)

震災での自治体のバックアップ

TAをしている学部の講義でバックアップの話があったので思い出した.BCPの観点でバックアップの地理的分散配置が重要なことを理解した.

WEB特集 データよ、生きていてくれ | NHKニュース

ルッサーとその法則

以前に書いたルッサーの法則をつくったルッサーの話.

隠れた名設計者、ロベルト・ルッサーの功績〜その2:1/144ヒコーキ工房:So-netブログ

PodSecurityPolicyの廃止

これは知らなかった.正直なところ,セキュリティポリシーやACLは,そのデバッグが面倒なので不特定多数にさらされるもの以外は最小限にしたいのが本音かも.

PodSecurityPolicyの廃止に備えて、一足先にPodSecurity Admissionを試してみよう! – Qiita

ノーフリーランチ定理

局所最適は全体最適に一致しないという話だと思った.まさにトレードオフだなと.

ノーフリーランチ定理(No Free Lunch theorem)とは?:AI・機械学習の用語辞典 – @IT

分析の基礎

研究室の輪講で後輩にnormalizationの話をしたときに見つけた.正規化(normalization)と標準化(standardization),正則化(regularization)の違いは,きちんと理解しておきたい.正則化は正規化と単語が似ているだけなんだが…

分析の基礎(モデリング)/ Basics of analysis ~modeling~ – Speaker Deck

握手定理

グラフのノード同士が握手するのは,考えてみてら当たり前ではある.

関係を図で表現する道具

関連した話でラムゼーの定理も教えてもらった.

uRPF

uRPFという技術を知った.セキュリティのドメインで役立ちそう.ただし,ルータを複数台で冗長化する場合は,複数台でルーティングテーブルを共有しないと不整合が発生する.結局はconsistencyの問題はどこでも発生するもの.

uRPF( Unicast Reverse Path Forwarding)とは、コンフィグ設定

PR TIMESで公開範囲制御の不備

未公開情報へ公開日時よりも前にアクセスが可能であったよう.これはつらい.

20210709_PRTIMES_incident.pdf

踏み台サーバのコンテナ化

研究室の踏み台VMをコンテナ化した.しばらくはVMもバックアップで運用して,落ち着いたら完全に移行するつもり.「さよなら踏み台VMさん,ようこそ踏み台コンテナさん」

GitHubがパスワード認証を廃止

ついに来たのかという印象.SSOとパスワードレス,FIDOで幸せになりたい.

GitHubがパスワード認証を廃止するらしいので – Qiita

余談

  • 後輩の研究を80%くらいまですすめた.
  • 自分の研究は20%くらいでマズイ
  • JupyterでのMatplotlibの挙動でハマった.セルを分離すると挙動が変わるのね…
  • 雨の日が多くて悲しい.はやく晴れてほしい.
  • 作問したチュートリアル問題が公開された.
  • 未婚女性が交際相手の選択に重視することが学びだった.
  • 授業課題でyieldを使ってみたら便利だった.
  • このツイート↓に共感した.Qiitaを鵜呑みにせず複数ソースでコンセンサスをとってほしい.