Weekly Selection 2021-04-30

Microserviceのトランザクション動向

現状を整理して書いてあったので,わかりやすくてよかった.

Microservice and Transaction Management1 マイクロサービストランザクションの動向 – Qiita

マイクロサービスの結果整合性は辛ぽよだなと..

マイクロサービスにおける 結果整合性との戦い

Sagaパターン

TCCで整合性を保とうとするのは,メルペイの資料を見た.

マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

マイクロサービスのトランザクションにおいて結果整合性を保つ方法には,TCCやSagaがある.

TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた – Qiita

Sagaの説明が丁寧なスライドがあった.

理解して拡げる分散システムの基礎知識 – Speaker Deck

基本的に,データベースのトランザクションや二相コミットとやり方は変わらない気がしている.

Linuxのディスクキャッシュ

研究でLinuxのページキャッシュ,バッファキャッシュ,inodeキャッシュに悩まされたのでメモ.キャッシュ機構の恩恵でDisk I/Oが高速だったことを改めて感じた.

Linuxでページキャッシュを確認・解放してみた – Qiita

How to Clear RAM Memory Cache, Buffer and Swap Space on Linux

量子コンピューティング 入門

東大から無償公開された資料が良さそう.

量子コンピューティング・ワークブックへようこそ! — 量子コンピューティング・ワークブック

ツールの使い方 入門

開発や実装に必要なツールの使い方を紹介したMITの講義資料が日本語訳されていた.これはラボでも使っていきたい.

The Missing Semester of Your CS Education (日本語版) · the missing semester of your cs education

分散データベースの動向

2013年の段階での資料なので少し古いが,網羅されているので全体像を掴むのに有用だった.

Distributed databases and dbm ss

Dockerfileのプラクティス

この手の資料は色々あるので,定番な内容が多い.署名の付与と検証は初めて知った.

Dockerfileのベストプラクティス Top 20 | Sysdig

WebViewの不具合特定

WebViewの不具合をChromeのソースコードまで追いかけているのがすごい.これこそSREでは?という気持ちになっていた.というかこんな仕事楽しいだろうなーと.筆者が紀平さんだったので自明すぎて声が出た.さすがすぎる..

特定の端末のみで起こる WebView プチフリーズを Tracing を利用して追った話 – SmartNews Engineering Blog

創造性

よく指導教員から言われることに重複していたので,納得感があった.

頭のいい人とさほどでもない人を分ける決定打 | リーダーシップ・教養・資格・スキル | 東洋経済オンライン | 経済ニュースの新基準

謎のAS8003

謎のAS8003が誕生して驚愕.1月の段階で5600万のIPv4アドレスを保有する世界6位だった.4月中旬に未使用のDoD(Department of Defense)の1億7500万のIPv4アドレスを保有したことで世界2位になった.China Telecomの保有IP数にも驚かされるが…

By late January, AS8003 was announcing about 56 million IPv4 addresses, making it the sixth largest AS in the IPv4 global routing table by originated address space. By mid-April, AS8003 dramatically increased the amount of formerly unused DoD address space that it announced to 175 million unique addresses.

Following the increase, AS8003 became, far and away, the largest AS in the history of the internet as measured by originated IPv4 space. By comparison, AS8003 now announces 61 million more IP addresses than the now-second biggest AS in the world, China Telecom, and over 100 million more addresses than Comcast, the largest residential internet provider in the U.S.

The Mystery of AS8003 | Kentik

米国防総省、保有する1.75億のIPv4アドレス管理権を無名企業に与えたとの報。脆弱性調査のためか – Engadget 日本版

余談

  • チューリングパターンを知った.これは生物学の領域だった.
  • レビッドのドリルの穴理論を若者に普及した.顧客が欲しいものはテクノロジーではなく,その先にあるということに近い気がした.
  • コンウェイは,コルーチンやコンウェイの法則を提唱した.天才だ.
  • 日本の巨大な決済基盤であるCAFISもマイクロサービス化をしているらしい.
  • オライリーの「分散システムデザインパターン」を読破した.これは素晴らしい.ブログかQiitaにまとめる.
  • 「プロシージャ,サブルーチン,メソッド,関数,コルーチン」の違いを把握した(気がした)
    • これ面接で聞かれた泣いちゃう.
  • 論文が終わらないのだけど,学びは多くて充実している.
  • 最近はRDBのことを学び直している.Database Internalsを昨日から読み始めたら面白い.データのシャーディングやキャッシュ手法は,自分の研究に通じるものがあるので「わかる!」を連呼していた.
  • 「ワインバーグのシステム思考法」を新品の物理本が欲しくてhontoで買った.

Weekly Selection 2021-04-23

WebTransport

WebSocketとWebRTCの話で最近きくWebTransportの解説.

WebTransport over HTTP/3のプロトコル仕様 – ASnoKaze blog

そういえば前にTwitterでORTCのことをツイートしたら時雨堂のVさんWebTransportを教えてもらったなと..

クラウドネイティブ時代のデータベース

マイクロサービスアーキテクチャの原則であるDatabase per Serviceは,従来のDBクラスタに比べて可用性や拡張性の実現が難しいという話.これは前のブログに貼ったAWSサミットの動画でも言及されていた.

大事なポイント

  • アジャイリティ
  • 高い可用性
  • 水平スケーラビリティ

クラウドネイティブ時代、データベースに求められる要件を整理する:クラウドネイティブ時代のデータベース(1) – @IT

信頼度成長曲線

ソフトウェアにおいて発見されるバグの総数は,一般に時系列とともに増加するという話.実際にリリースするとコーナーケースやエッジケースでのバグが見つかるケースはよく見聞きする.

以下の図では,信頼度成長曲線で収束したようにみえるが,実際にリリースすると新たにバグが見つかることを表している.バグが無くなるまでリリースは待てないので,どこまでやるのかが課題になりそう.

テストの“質”評価と欠陥分析による ソフトウェア信頼性評価(堀 明広) P4

テストの“質”評価と欠陥分析による ソフトウェア信頼性評価

ムーアの法則,メトカーフの法則

ムーアの法則は,CSを学んでいれば確実に一度は見聞きしたことのある法則.「半導体の集積度は18-24ヶ月で2倍になる」というもの.メトカーフの法則は,ムーアほど有名ではないが知っておきたい法則.「ネットワークの価値は利用者の2乗に比例し,ネットワークの価格は利用者数に比例する」というもの.

ムーアの法則はコンピュータの計算能力の向上を説明するときに,よく引き合いにされる.メトカーフの法則は,利用者が増えるにつれ,プラットフォームの価値が上昇する話で引き合いにされる.

温故知新:○○の法則

cf. クロスサイドネットワーキング効果

k3sが軍事衛星

Kubernetesが自律分散システムに及んでいるのがよくわかる.K8sが自動車や戦闘機に載せられる時代なので,それほど驚きはない.

Hypergiant and SUSE RGS, taking Kubernetes to the final frontier | SUSE Communities

SIMD, MIMD

SISD, SIMD, MISD, MIMD(フリンの分類)の意味をやっと理解した.

I:Instructionは命令を表し,D:Dataはデータを表す.

簡単に言えば,1つの命令で複数のデータを扱えるのがSIMD.GPUプログラミングはこのモデルを採用している.

All Reduce

数値計算のドメインで,マルチCPUとマルチコア,マルチスレッドの話を聞いているときに思い出した.

Technologies behind Distributed Deep Learning: AllReduce | Preferred Networks Research & Development

ミネソタ大のLinuxカーネルへのパッチ

Twitterでも色々みた.Linuxカーネルに脆弱性をもつパッチを投げて,OSSへの脆弱性混入を論文化.

ミネソタ大からLinuxに送られた脆弱性を含む貢献の件 – Togetter

米ミネソタ大学が Linuxカーネルコミュニティへ投稿したパッチの脆弱性について — MIRACLE LINUX サポート&テクノロジー | サイバートラスト株式会社

An update on the UMN affair [LWN.net]

GROUP BYとSELECTの間で指定するカラム名は揃わなくてもOK!?

MySQL5.7からGROUP BYとSELECTでカラムの対応関係が厳しくなったらしい.それまでは,揃わなくてもデフォルトで通っていたらしい.フラグONLY_FULL_GROUP_BY がデフォルトでつくようになった.

> SELECT @@global.sql_mode;
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_...

5.7からこの設定が有効になったので,この独自拡張を使ってクエリを書いている場合は,アップグレードの時点では一旦無効化した場合でも,クエリの書き換えを行った方が良いと思います。

第18回 MySQL5.7のデフォルトのSQLモードを確認してみる:MySQL道普請便り|gihyo.jp … 技術評論社

MySQLでSELECT句とGROUP BYの非集約カラムが揃ってなくても通るケース – Qiita

余談

  • 論文を書いているのだが,時間が無限に欲しい.
  • Linuxのページキャッシュのこと何もわからんになった.
  • ミネソタ大は,今年の業界のエピソードになりそう.

Weekly Selection 2021-04-16

マイクロサービスの基礎

MSAがちょっとわかった.

マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ – Qiita

マイクロサービスアーキテクチャとは何か

ServiceMeshチョットワカル

Istioに入門した.

ServiceMeshの機能

  • トラフィック管理→A/BテストやCanary Release
  • サービス同士の認証・認可→セキュリティ
  • トラフィックの可視化→可観測性

microCMSがOSS化

microCMSがOSSで公開されていた.Jamstackの具体的な例で気になる.

microCMSブログをオープンソース化しました

Pythonの辞書でkeyにtuple

前に何かで読んだのを思い出したので,再度メモしておく.

Pythonで辞書のキーにtupleが指定できた件(+パフォーマンスの話) – Qiita

Pythonでファイルからlist化

これが一番シンプルだと気がついた.前は readlines() を使っていたが,\nが含まれて困った.

with open(FILENAME) as f:
    lines = f.read().splitlines()

Pythonのセイウチ演算子の議論

セイウチ演算子の導入で,Pythonコミュニティで賛否が分かれたらしい.

Pythonの並列・並行・非同期処理

この辺 threading, multiprocessing, concurrent.futures, asyncio がある.

このあたりを整理した資料があったが,slideshipのサービス終了と同時に消えていた.. 😦

余談

Weekly Selection 2021-04-09

Apache SparkのK8sサポート

Cassandraのサポートも見たので,これからはクラウドネイティブを意識したサポートがステートフルなコンポーネントでも増えると思った.ただし,パフォーマンスやバックアップ,モニタリング周りは課題が生まれてきそう.

Apache Spark 3.1 Release: Spark on Kubernetes is now Generally Available | by Jean Yves | Mar, 2021 | Towards Data Science

sudoをTouchIDで

前のアルバイト先で知って実践したことなかったのでトライしてみた.良い.

[Mac] sudoコマンドの認証をTouch IDにする | エンジニアもどきの技術メモ

timeよりmultitime

kazuhoさんがLinuxでベンチマークに使えるコマンドとしてmultitimeをおすすめしていた.これはパフォーマンス測定するときに有用そう.研究で早速使ってみる.

Interopのログ

Interop Tokyo 2021のログのスケールが出ていたのでメモ.これくらいのデータが欲しいよね.

モニタリングチームが各種機器のlogを吸い込み始めました。昨日1日のsyslog量は、15,289,055行とのこと。データサイズ3.4GB。NOCの阿部さん曰く「まだセキュリティ装置が本気だしてないし、本気出すと、1時間でこれくらいの量になるはず。」だそうです。前回2019年開催の時のログとトラップの資料を掘り出してくれました。

ShowNet – 投稿 | Facebook

学歴と収入の関係性

あくまで相関関係であって因果関係ではないので注意は必要.

令和2年賃金構造基本統計調査 結果の概況|厚生労働省

データサイエンスのebook

日本語訳を無償で公開されていた先生がいたので共有.これは素晴らしい.

OpenIntro Statistics

余談

Weekly Selection 2021-04-02

Learning pyramid

学習方法によって知識の習得度が変わってくることがよくわかった.
アウトプットは理解を深めるために大切だと実感した.

Learning pyramid – Wikipedia

研究に使えそうなアイコンセット

フリーのアイコンを探す時は iconfinder を使っていた.以下は有用なアイコンが集まっているのでおすすめ.

発表資料に使える無料素材配布サイト | Hisashi Ishihara, Ph.D. Android Robot Researcher

Two pizza rule

2枚のピザルールというAmazonが使っている方式.1人のマネージャで管理できるメンバーは8-10人くらいという話できいた.

ジェフ・ベゾスの秘策「ピザ2枚」ルール。 アマゾンはこれで無駄をなくした | Business Insider Japan

K8s OpenID Connect Helperのまとめ

数種類あって気になっていたのでまとめた.Pomeriumやkube-guardも似たようなことをやっているよう.

K8s OpenID Connect Helperまとめ(RBAC) – Qiita

チームのコミュニケーションについて~強いチームを作るには

デブサミ 2016の内容でツイッターで見かけた.チームづくりのために,意識すべきことの例として参考になった.

fig
チームのコミュニケーションについて~強いチームを作るには(後編)。Developers Summit 2016

Graph QLの利点

FacebookがなぜGraphQLを提案するに至ったのかが改めてわかった.

GraphQLが解決する問題とその先のユースケース

NoSQLの勘所

NoSQLへの理解が浅かったので,何もわからんになれた.

Oracle Cloud Hangout Cafe – 明解! NoSQLの勘所 – Speaker Deck

余談

  • Kubernetesなんもわからん.
  • 大学院に入学した🌸
  • 飲みながら反省会した.
  • uwsgiをいれたDockerイメージを自作した.
  • PCセットアップガイダンスの手伝いで進捗が無くて辛み
  • 完全に同意した↓