tom__bo’s Blog

えんじにゃ〜

リレーショナル・データベースの"リレーション"とは何か?

リレーショナル・データベースにおけるリレーションとは何なのかについて調べ、リレーショナルモデルに基づいたデータベースを利用することのメリットは何なのかを考えてみた。 これから書く内容はブログ最後にまとめた参考文献の、リレーショナルモデルに関…

C.J.Dateのデータベース実践講義読んだ

「データベース実践講義」をかいつまんで読んだ。 www.oreilly.co.jp 増永 良文著の「リレーショナルデータベース入門」を読んでいて、リレーショナルモデルの説明部分の比較を主な目的として読んだ。 あとで振り返ると思うので、箇条書きで特に良かった部分…

Ergodox EZが簡単にキースイッチ交換可能になってた

最近いくつかのキーの反応が鈍くなってきて、はんだ付け入門しようかと迷っていたら2018年からキースイッチがハンダ付け不要で交換できるようになっていた。 たいした話ではないけど、買うとどんな感じなのかをほぼ写真で説明していく。 ergodox-ez.com Chan…

筋トレ初めて1年半が経った、これまで買ったものとYoutube

もう一年半はとっくに過ぎているけど、久々に書いた。 進捗 Youtube これまで買ったもの 懸垂機(マルチジム) 片手30kgダンベル スクワット台 フラットベンチ ベンチセーフティ バーベル(30kgセット) バーベル(100kgセット) プレート(7.5x2枚) ミニロッカー…

MySQLで実行された全てのクエリを取得する

MySQLで実行された全てのクエリを把握する方法を挙げてみる。 いくつか方法はあるが、負荷の高い環境でクエリをとるにはうするのが良いだろうか? パフォーマンスチューニングが主たる目的なので、Restoreからロールフォワードすることは考えない。 SELECT文…

ストレージの簡易ベンチマーク取ってみた

今回組んだPCでI/Oの簡易ベンチマークを取ってみた。 一気に全部の実験をしてなくて、デバイス名・マウントポイントは不定 storage HDD SSD その1 SSD その2 M.2 SSD 環境 ベンチマーク gnome-disks dd hdparm 感想 storage HDD 【Amazon.co.jp限定】WD HDD …

新Desktop PC

PC

初任給入ったので、これを機に家でもデスクトップPCを使おうと思ってPC組んだ。 core i9のCPUで10コア20スレッドくらいにしてみたかったけど、予算がないのとグリスバーガー状態で爆熱らしいので今回は見送った。 結果CPUはcore i7-8700(6コア12スレッド)。 …

最近気に入っているUML作図方法

これから作るものの構想を練ったり、システムの概要を共有したり相談したりするときに、UML(みたいな図)を使ってメモしていくやり方が気に入っている。 UMLといってもちゃんとUMLの記法に沿って仕様を完璧に書くことはあまりなくて、詳細まで書く必要がある…

MySQL(innodb)の分離レベルごとのanomalyについて実験した

※ この記事はMySQL Casual Advent Calendar 2017の11日目の記事です。 A critique of ANSI SQL isolation levelsを読んで(読んだブログ)、MySQL(innodb)で分離レベルごとのanomaly(不整合)の発生について実験しました。使ったのはDockerで立てられる 8.0.3-r…

MySQLでトランザクションの挙動を試すためのツールを作った

mytxという、トランザクション分離レベルの違いを調査したり、並列するトランザクションでどのようにロックがかけられているかを実験するためのツールを作りました。 mytxとは MySQLで分離レベルごとの挙動を実験しようとした時に、ウィンドウを複数開いて順…

筋トレ始めて1年経った

経過 筋トレを初めて1年くらい経ったので、まとめてみる。 3ヶ月時点、6ヶ月時点も書いているので、まずは6ヶ月時点からの経過。 6ヶ月時点で今年の目標だったベンチプレス100kgに到達してしまったので、ベンチプレスの優先度を落として他の部位の筋トレにも…

Speedy Transactions in Multicore In-Memory Databases 読んだ

Speedy Transactions in Multicore In-Memory Databases読んだ。 2013年にSOSPで発表された論文。 ↓論文リンク Speedy transactions in multicore in-memory databases 下手をするとただの論文の和訳になりかねないので、できるだけ要点に絞って書くようにす…

A Critique of ANSI SQL Isolation Levels読んだ

"A critique of ANSI SQL isolation levels"(http://dl.acm.org/citation.cfm?id=223785)を読んだ。 1995年にMSの人とJim GrayでANSI SQL-92を批判する論文で、いろいろなところで解説記事等を見かける。 もう20年以上の前の論文だけど、最近はてなのid:alpi…

Effective Java読んだ

OOP

Joshua Blochの"Effective Java"(第2版)を読んだ。 https://www.amazon.co.jp/EFFECTIVE-JAVA-Java-Joshua-Bloch/dp/4621066056www.amazon.co.jp Java SE6対応としてでた第2版の用で、Javaのバージョンとしては若干古い。 2~11章で以下のテーマについてのTip…

GoF本読んだ

OOP

GoF本の翻訳本である「オブジェクト指向における再利用のためのデザインパターン」を読んだ。 本の内容が十分整理されているし、パターンを紹介し直すのも面倒なので、感想を中心に書く。 オブジェクト指向における再利用のためのデザインパターン | エリッ…

筋トレ始めて半年でベンチプレス100kg到達した

大学のジムに登録して週3くらいで筋トレするようになって半年経った。 だいたい週3日1時間~1:30程度の筋トレが習慣になっている。 (5月20日時点で)6ヶ月経ったので、ここまでの振り返りを書いてみる。 写真は5月20日のもの。 6ヶ月間の変化 筋トレ開始時と現…

「オブジェクト指向のこころ」を読んだ

OOP

前に読んだ「オブジェクト指向設計実践ガイド」で、継承、コンポジション、モジュールによるロール管理などを通して、オブジェクト指向による設計の基本を学んだので、デザインパターンを踏まえたもう少し大掛かりなソフトウェアの設計方法を勉強し直そうと…

オブジェクト指向設計実践ガイド読んだ

OOP

Web+DBの読者プレゼントで頂いた本(去年の10月号位だった気がする)が積まれたままだったので、読んだ。 www.amazon.co.jp 入門というタイトル通り、この本を通して扱うオブジェクト指向の原則やデザインパターン、設計をする上での心構えを丁寧に説明して…

"The VoltDB Main Memory DBMS"読んだ

[n] は論文中のreferの番号をそのまま使っています。 Abstract この論文では2013年から存在したVoltDB DBMSの設計上の決断について説明している。 特に"concurrency control"と高可用性について議論している。 Introduction VoltDBの目的は伝統的なRDBMS(MyS…

tcpdump(8)の使い方

コマンドラインからパケットをキャプチャする場合の定番コマンド。 ネットワークインタフェースを指定してそこを流れるパケットをキャプチャしてくれる。 指定しない場合はメイン(?)のインタフェースになる。 たいてい管理者権限が必要。以降の例は全てsuper…

"OLTP Through the Looking Glass, and What We Found There"読んだ

2008年のSIGMODに掲載された論文。 “The VoltDB Main Memory DBMS"でこの論文が「伝統的なDBMSアーキテクチャでは必要な処理(トランザクション処理など)は実質10%程度しか行われておらず、90%は他の処理によるオーバヘッド」としているとあり、タイトルも面…

筋トレ始めて3ヶ月経った

大学のジムに登録して週3くらいで筋トレするようになって3ヶ月経った。 だいたい週3日1時間~1:30程度の筋トレが習慣になっている。 この3ヶ月は基本的な体づくりとしてBIG3の筋トレを基本に鍛えてきた。 最近はベンチプレスの重量を上げることばっかりになっ…

"A VERY FAST SUBSTRING SEARCH ALGORITHM"読んだ

1990年, Daniel M. Sundayの論文 http://dl.acm.org/citation.cfm?id=79184 Boyer-Mooreアルゴリズムより高速な部分文字列検索アルゴリズムを提案している。 Quick Search(QS) Maximal Shift(MS) Optimal Mismatch(OM) の3つ。 これらはパターン文字列の処理…

筋トレBIG3を計測した

BIG3とは ベンチプレス・スクワット・デッドリフトのこと。 kintorecamp.com kintorecamp.com kintorecamp.com 今回の記録 上記のサイトで体重75kgの初級者・中級者と比較してみる。 このサイトでは初心者(未経験者)というのもあるのだが、高校の頃にも筋…

2016年終わり

去年の振り返りエントリを見ていて、適当に書いた割には今読むとそれなりに味わい深いことがわかったので、今年も振り返りエントリを書いておく。 目標の達成度 卒論提出!!! 提出した。良い。それだけ 国際学会で海外 行けた。 先輩の研究を引き継いだ形…

Systems Performance 読んでいく (7章 その3)

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 7章3節メモリアーキテクチャを2つに分けた、後半部分。 7.3.2 Software メモリマネージメントに関するソフトウェアの仕組みは、仮想メモリ、アドレス変換、スワッピング、ページング…

Systems Performance 読んでいく (7章 その2)

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 7章3節メモリアーキテクチャを2つに分けて、前半のハードウェア部分。 7.3 Architecture この章ではプロセッサとOSを含むハードとソフト両方のメモリアーキテクチャについて紹介する…

Systems Performance 読んでいく (7章 その1)

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 7章2節まで。 7 Memory システムのメインメモリはアプリケーションやカーネル命令、それらの実行中のデータやファイルシステムのキャッシュなどを保管している。 多くの場合、これら…

Systems Performance 読んでいく (6章 その5)

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 6章7節以降、6章最後まで。 6.7 Experimentation この節ではCPUパフォーマンスをテストするツールを紹介する。 バックグラウンドとして6.5.11 Micro-Benchmarkingを見るように。 6.7.…

Systems Performance 読んでいく (6章 その4)

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 6章6節分析のみ。 6.6 Analysis この説ではLinuxとSolaris based OSでのCPUのパフォーマンス分析ツールを紹介する(Solarisはほとんど省略) この節で紹介するツールを以下に示す。 こ…