tom__bo’s Blog

情報系学生が筋トレしたり、筋トレしたり筋トレしたことを書くブログ。もはやダイアリー

最近気に入っている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はほとんど省略) この節で紹介するツールを以下に示す。 こ…

鬱になりかけて気づいたら筋トレにはまった

将来の進路を考えないと行けなくてかなり悩んでいた。 悩んでいたときも、進路を決めてからも、お世話になった人を裏切る判断をしたような罪悪感でずっと鬱々としていた。大学に行ったりバイトに行ったりで外出したときは割りと正常に動作していたので、それ…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 6章5節方法論のみ。 6.5 Methodology この節ではCPUの分析とチューニングをするための方法論を見ていく。 トピックを以下に示す これらをすべて行うのは現実的ではないので、筆者は p…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 6章前半部分その2。 6.4 Architecture この節ではCPUのアーキテクチャと実装をハードとソフトの両面から紹介する。 このトピックはあフォーマンス分析のバックグラウンドとしてまとめ…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 6章前半部分。 6. CPUs CPUは全てのソフトウェアを動かしているので、しばしばパフォーマンスの最初のターゲットになる。 特に最近のシステムでは多数のCPUを使い、カーネルによって…

ドスパラ「パーツの犬」モデルでPC自作した

PC

家族用のデスクトップPCが必要になったので、ドスパラの「パーツの犬」という自作キットでパーツを調達して自作した。 PC自作と言っても「パーツの犬」は自作用キットなので説明書読んで組んでいくだけ。 僕はPC自作したことがなくて、安いパーツで揃えて「…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 5章後半部分。 5.4 Methodology and Analysis このセクションでは、アプリケーションの分析とチューニングのための方法論について説明する。 分析に使うツールはここで紹介するか他の…

ISUCON6本戦で惨敗した

はじめに Catechinというチーム名で大学の友人(@Kender_09, @o_sama3)とISUCON6に参加してきました。 結果はタイトル通り惨敗で、最初に気づいたボトルネックに全く手を付けなかったくらい、迷走してしまいました。 チーム内での役割は緩やかに分担していて…