tom__bo’s Blog

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

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に参加してきました。 結果はタイトル通り惨敗で、最初に気づいたボトルネックに全く手を付けなかったくらい、迷走してしまいました。 チーム内での役割は緩やかに分担していて…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 5章前半部分。 5. Applications パフォーマンスは作業を実行するところ、つまりアプリケーションをチューニングすることが最良である。 これにはデータベース、ウェブサーバ、アプリ…

ISUCON6予選に参加してきた

ISUCON予選1日目にチーム名Catechinで参加しました。 結果が出たら人権をロストする可能性があるので、結果が出る前に当日にやった作業を振り返ってみる。 本選出場者が公開され、学生枠で2位(学生全体では3位)で本戦出場が決定しました(=゚ω゚)ノ 最後までgol…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 ※ Solarisに関する記述は省略しています。 4.3 DTrace DTraceはプログラミング言語やツールを含む観測用のフレームワーク。 この節ではDTraceの基本である、動的・静的なトレーシング…

LINE Summer Internship 2016に参加してきた

途中で1週間参加できない日程があり、終了が1週間遅れたけれど、LINEのインターンに参加してきた! 写真のバックアップに失敗していて思っていたより写真がなくなってしまった。 ヒカリエのお弁当! 中華! バーガー! 牛カツ! 牛タンの握り! めちゃくちゃ…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回の続き。 ※ Solarisに関する記述は断りなく省いたりします。 4. Observability Tools OSは歴史的にも様々なソフトウェアとハードウェアの観測ツールを提供してきた。 入門者には幅広いツール群…

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

Systems Performance: Enterprise and Cloudを読んでいく。 前回に引き続き自分用メモ。 後半は3節部分。 このブログに書き起こす作業に予想以上のコストがかかっているので、今後の章ではSolarisベースの説明に関しては書かないことにした。 Linuxの比較と…