2020-01-01から1年間の記事一覧

ソフトウェア開発タスクの4分類

The (missing) value of software architecture を読んでいて有益なフレームワークだと感じたのでメモを残しておく。

MySQLサーバがクエリ実行時にCLientに返すパケットの構造

about 以下のMySQLの公式ドキュメントに記載の SELECT @@version_comment の実行結果として、返されるパケットの構造を図にまとめたメモになります 実際に同じ構造のパケットが返ってくるかどうか未確認のため、今度パケットキャプチャをし確認してみようと…

AWS S3でRead After Write Consistencyが保証可能に

AWS S3が強整合性/Read After Write Consistencyを保証可能にアップデートされたことが発表された。これでまでは、結果整合性( Eventual Consistency ) までしか保証されていなかった ため大幅な機能改良となる。 詳細な仕様は以下のページで解説されている…

yhコマンドでkubectl get -oyamlの結果をカラーリングする

yhコマンドとは YAML形式のデータをカラーにしてくれるコマンドです. jq(1) 風にパイプ経由で使うことを想定されています kubernetesレポジトリのこちらのissue にて、存在を知りました kubectl get ... -oyaml の実行結果をカラーにしたい、というモチベー…

Ubuntu20でBPF Compiler Collection(BCC)を試す

BCCの概要 eBPFをバックエンドで実行する可観察ツールです 環境 $ cat /etc/os-release | head -2 NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)" How To Install 公式ページのインストール手順に記載のように、 apt(1) で導入可能でした ( 2020年11月…

論文メモ:Firecracker: Lightweight virtualization for serverless applications

About this page AWSのLambdaとFargateで採用のFirecrackerについて解説する、以下論文を読んだ際のメモです コンテナ基盤のマルチテナント設計やセキュリティ設計について有益な説明が多かったのでその観点でメモを残しておきます Multi Tenancy Capabiliti…

Failure Modeとは何か

言葉の定義 FMEA(Failure Mode and Effects Analysis) リスク分析をするため、障害(危険な事象)を洗い出す手法の1つ。Failure Mode(フェイラーモード)とは、故障や障害の発生の仕方のことをいう。対象物をできる限り壊れ方が明確な要素に分解する。そ…

読書メモ:SYSTEM DESIGN INTERVIEW Chapter1-3

System Design Interview – An Insider's Guide (English Edition)作者:Xu, Alex発売日: 2020/06/11メディア: Kindle版 システムデザインインタビュー(SYSTEM DESIGN INTERVIEW)とは 外資系の転職面接の際に実施されるJob Interviewの一種のようです 採用候…

Kubernetesでpub/sub型のappのRollingUpdateの考え方?

具体的な解決策は思いついていないのですが、「こういうケースってどうやってRolling Updateするんだろう?」と疑問に思った点をメモしておこうと思います。具体的な解決案が見つかりましたら、また追記しようと思います。 前提 以下の仮想のシステムをKuber…

BSD Socket誕生の経緯

概要 本記事はBerkley Socket の歴史や開発当初の設計に興味を持ち調べた際のメモです。 調べたこと Berkley SocketはBSD4.2のタイミングでBill Joyにより設計・実装されたようです。Bill Joyが開発に至るまでの経緯は『Unix考古学』で詳しく解説されていま…

The Amazon Builders Libraryの負荷制限の記事を読んだ際のメモ

The Amazon Builders Libraryの以下の記事がすごく勉強になる内容だったので、読みながらとったメモを残しておこうと思います。 メモ リクエスト数と可用性の関係を把握する方法 問題 一般に同時リクエスト数が増え、あるラインを超えるとリクエストが確率的…

TECHONOLOGY RADAR Vol23

毎年、5月と11月にThoughtworks社が発表の TECHONOLOFY RADAR の最新号が、 2020年11月に発表されたようです。 以下、ざっと内容を確認した際のメモになります。 Techniques Dependency drift fitness function 課題 : アプリケーションが依存する、ライブラ…

JAD Decompilerのインストール&実行方法メモ

Javaの .class ファイルを .jar にDecompileしてくれるツール、 JAD Decompiler のインストール方法のメモ 環境 $ cat /etc/os-release | head -2 NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)" $ java -version openjdk version "11.0.9" 2020-10-20 …

コンテナ関係のdiagram置き場

About this page Docker, Kubernets等のコンテナ技術を理解する上で、有用な自作の図を置くページです 今後ちょっとずつ書き足していきたいです Kubernetes Worker Node's Networking Structure

メモ:Exactly-once semanticsとKafkaとAWS Lambda

OSDIで行われた以下の発表の資料を読んでいて、「Exactly-once semanticsってなんだっけ?」と疑問に思い、調べたことのメモ。 "Fault-tolerant and transactional stateful serverless workflows" https://t.co/i4L2jLYIlQ from Zhang et al was a good rea…

Release Engineering / CDについて最近読んだ記事のメモ

昨晩に読んだCD関係の記事が面白かったので、忘れるまでに概要と感想をメモ。 Deploy != Release (Part 1) Deploy != Release (Part 1). The difference between deploy and… | by Art Gillespie | Turbine Labs 概要 同じような意味で使われがちだが、Deplo…

Scala入門

Scalaに入門したので、覚書。 波括弧とブロック 以下の2つは等価となる // 波括弧()の中には式は1つしか書けない scala> Seq(Seq(1,2),Seq(3,4)).flatten.map(a => a * 2) res27: Seq[Int] = List(2, 4, 6, 8) // ブロックの場合、2つ以上の式を {...} 内に…

iostatの出力結果を読み解く

正確に理解したくて色々調べた結果を図に落としてみました。 ※理解に誤りがありましたらご指摘ください iostatの出力結果の見方 参考

小ネタ: dfとlsblkの結果からloopback deviceを除外する

Ubuntuでsnapを使っていると df(1) や lsblk(1) の結果に loop が沢山表示されて見づらいです。 これのコマンドの実行結果からloopback deviceを除外する方法を以下にまとめます。 手順メモ dfの場合 -x オプションでFilesystem Typeを渡すことで、outputをf…

メモ:DATETIME型はMySQL 5.6からミリ秒の取り扱いが変わった

MySQL 5.6からミリ秒の取り扱いが変わった バージョンによって挙動が異なるので注意が必要です。 MySQL 5.5 までは、強制的に切り捨てされて格納、MySQL 5.6 以降は四捨五入されて格納されるという動作になっています。 doruby.jp 以下、実験ログ ysql> CREA…

SpringBootで作成したExecutableJARをgcloud app deploy できない

環境 AppEngine Standard 第2世代 Java11 SpringBoot 2.2.1 問題 ./mvnw package で生成のExecutableJARを gcloud app deploy しようとすると、以下のようにコマンドの実行に失敗する JARファイルのルックアップに失敗している様子?? $ gcloud app deploy (…

読書メモ:データモデル大全

システム開発・刷新のための データモデル大全作者:渡辺幸三発売日: 2020/06/12メディア: Kindle版 本の概要 業務アプリケーションに使われる様々なDBのデータモデルを紹介&解説している本です ER図ではなくデータの具体例を付記することが可能な独自形式の…

読書メモ:アーキテクトの審美眼

最近読んでいる本のメモ アーキテクトの審美眼 (DBMagazine SELECTION)作者:萩原 正義発売日: 2009/03/03メディア: 単行本(ソフトカバー) 本の概要 2007年出版のソフトウェアアーキテクチャの本です。DB Magazineでの連載が元になっているようです イベン…

読書メモ:Team Topologies 第1章

Team Topologies: Organizing Business and Technology Teams for Fast Flow (English Edition)作者:Skelton, Matthew,Pais, Manuel発売日: 2019/09/17メディア: Kindle版 本の概要 企業のソフトウェア開発能力を支える、チームの構造の在り方を議論する本 …

No data sources configure to run this SQLが消えない

環境 Intellij IDEA (Ultimate) 2020.1.3 問題1 IntelliJ内でSQLを書くと、 No data sources configure to run this SQL とのメッセージが表示される 原因 IntelliJからlocalのDBに接続する機能を設定していなかったために、メッセージが表示されていた。 lo…

UML:クラス図についてのメモ

前提 Javaで実装する前提で考える 前提 クラス図 基本的な考え方 関係(Relatioships) の類型 関係(Relatioships) の図での記述ルール 関連(Association) Link SourceとTarget 実装パターン 多重度(Multiplicity) 定義 多重度の記載方法 下限値の考え方 脚注/…

JSONの仕様メモ

理解が怪しいので復習。 基本的な仕様 正式名称はJavaScript Object Notation 名前( name ) と値( value ) から構成されるメンバー(member)のコレクションであり、階層的なツリー構造を表現できる メンバー(member) オブジェクト( JSON Object ) オブジェク…

innodb誕生までの歴史的な流れと内部仕様

業務の中でMySQLのバックエンドとして動くinnodbについて集中して調べる機会がありました。 innodbの歴史的な背景と、innodbの内部的な仕様についてメモを残しておこうと思います。 ※ANSI SQL 92の話と、innodb独自の話は将来的に分けたい。 1. 前提条件 2. …

図:TCP通信時のパケットの構造

勉強会用に作成の資料より転載 『基礎からわかるTCP/IPネットワーク実験プログラミング 第2版』P32の図を元に作成 基礎からわかるTCP/IP ネットワーク実験プログラミング 第2版作者:村山 公保オーム社Amazon

innodbのインテンションロックとは何か

複数粒度ロック( Multiple Granularity Locking ) というLocking手法をベースにした処理がinnodbに独自実装されている? テーブルロック、行ロックなどのロックをかける対象の粒度のことを ロック粒度( locking granuality ) と呼ぶ事がある。複数粒度ロッキ…

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */