タグ

ブックマーク / takatoshiono.hatenablog.com (9)

  • UMLモデリングの本質 第2版を読んだ - takatoshiono's blog

    きっかけ そういえば少し前にチームで振り返りをしている時に以下のようなKPTが出たのを思い出した。 初期のDB設計に時間をかけすぎた (Problem) いや、でもDB設計に時間をかけるのはいいこと (Keep) 次の開発でもDB設計に時間をかける (Try) そして、それから少し経ったある日、プルリクエストにこんなコメントがあった。 「未来のストーリーを使ってモデルを揺さぶってみるといいかも」 それでこのの存在を認識したのだった。そしてもっとモデリングをうまくやりたい気持ちしかない我々はこのを読むしかないのだった... モデリング こので紹介されていたモデルの定義は「ある人にとっての、ある状況、あるいはある状況についての概念の明示的な解釈」。これは「システム仕様の分析学」の著者であるブライアン・ウィルソン(Brian Wilson)という人の言葉らしい。で、この定義のかなめは「ある

    UMLモデリングの本質 第2版を読んだ - takatoshiono's blog
  • Go 言語で Apache Bench (ab) を実装してみた - takatoshiono's blog

    Go 言語で Apache Bench (ab) を実装してみた。 https://github.com/takatoshiono/go-ab なぜか 以前、wc コマンドを実装した。その時に ab も候補に入っていたけど、ab は http 通信をするプログラムなので、より単純な wc を選択したのだった。その次に何やるか、ということで http クライアントのコードを書く練習になりそうな ab を実装してみることにした。 期間は2016年10月から1ヶ月くらいやったあと、2ヶ月くらいブランクがあって、2017年1月に再開して一ヶ月くらいやっていた。コツコツとよく続いたと思う。 Apache Bench (ab) とは Apache Bench (ab) は HTTP サーバーの性能を測定するためのプログラムでシングルスレッドで動作する。Apache HTTP サーバーのソースコードに含

    Go 言語で Apache Bench (ab) を実装してみた - takatoshiono's blog
  • Go 言語で wc を実装してみた - takatoshiono's blog

    Go 言語で wc を実装してみた GitHub - takatoshiono/go-wc: Go implementation of wc command for practice なぜか A Tour of Go をやり終えた時「全然うまく書けない」というのが感想だった。もっと Go 言語のコードを読み書きする必要がある。 そして読むだけだとやる気が続かないから何か書きたい。何を作ろうか? Go 言語なのでスタンドアローンで起動するバイナリ実行形式のファイルがよさそう。仕様が簡単で手頃なやつがいいな...と考えて wc にしたのだった。他にも以下が候補にあった。 ab smtp server beer コマンド(なんかうまそうなビールを表示する) wc コマンド find コマンド (コマンド系で攻めるなら GNU coreutils, findutils などを見るとよさそうか...

    Go 言語で wc を実装してみた - takatoshiono's blog
  • Ruby のしくみ を読んだ - takatoshiono's blog

    なぜ読んだか メタプログラミング Ruby を読んだ ので、この勢いで Ruby のことをもっと深く知りたかった。 どうだったか エキサイティングな体験だった。 このには RubyRuby コードをどうやって実行しているのか、ということが書いてある。字句解析してトークン列に変換して、構文解析してAST(抽象構文木)ノードに変換して、コンパイルして YARV 命令列に変換して、それを YARV(仮想マシン) が実行する....どうやって?ということが書いてある。 登場する Ruby のコードは単純なものばかりだが、その背後にあるしくみ、C のコードは複雑だ。にもかかわらず、このを読んでいると自分がそれをいとも簡単に理解したかのような錯覚に陥るので爽快感がある。ワクワクする。それはきっとこのの著者の説明が驚異的に上手なのと、豊富な図のおかげだろうと思う。 著者の Pat Shaug

    Ruby のしくみ を読んだ - takatoshiono's blog
  • MySQL の Select tables optimized away とは何か? - takatoshiono's blog

    MySQL で EXPLAIN を使って実行計画を調べていると Extra フィールドに「Select tables optimized away」というメッセージが表示された。これはなんだろうか? mysql> explain select max(id) from products ; +----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+

    MySQL の Select tables optimized away とは何か? - takatoshiono's blog
  • MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog

    今更だけど MySQL 5.6 ではオンラインDDLの機能が追加されている。今日はこのオンラインDDLについて勉強したことを書いてみる。 MySQL のマニュアル MySQL :: MySQL 5.6 Reference Manual :: 14.11 InnoDB and Online DDL にいろいろ書いてある。いまから書くことはこのマニュアルから得た知識が元になっている。 DDL てなによ? データではなく、テーブル自身を操作するためのSQL文のこと。CREATE, ALTER, DROP, TRUNCATEなど。オンラインDDLではCREATE INDEX, DROP INDEX, ALTER TABLEに適用される。 http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ddl 5.1 までの ALTER TABLE

    MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog
  • rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog

    rbenv といえば 複数バージョンの Ruby を切り替えて使うための環境を提供してくれる便利なツールとして欠かすことのできないものですが、機会があってそれがどうやって動いているか調べたので、ここに書いておきます。また ruby-buildruby をインストールするためによく使われている(というか使ってない人いないのでは)rbenv のプラグインです。rbenv install というコマンドは ruby-build が提供しています。これについても一緒に書きます。 はじめに断っておきますが、間違ったことを書いているかもしれないのでその辺はご了承ください。また、将来 rbenv の変更によって変わってしまう部分もあるかもしれません。 また rbenv のドキュメントはとても充実しているので、それを読めばここに書いてあることはだいたいわかると思います。 もくじ rbenv のインス

    rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog
  • Amazon Glacier からデータを取り出すときには気をつけようね - takatoshiono's blog

    注意 この記事は2014年7月5日時点の情報に基いて書かれています。Amazon Glacierの最新の料金体系についてはAmazonの公式ページをご参照ください。 料金 - Amazon Glacier | AWS よくある質問 - Amazon Glacier | AWS 昨日の出来事 Amazon Web Services から6月の請求が来た。 Total: $20.30 あれ、なんか高いぞ・・。 ちなみに先月は 0.18 ドルだった。 やっぱり高すぎる。 内訳を見たら以下のようになっていた。 たしかに先月 Glacier のデータをリストアしたけど、なんだこの 1,633.224 GB というばかでかい数字は・・。こんな大きいデータリストアしてないし、そもそも持ってない。 調べた Amazon Glacier のリストア料金は「ピーク復元レート」というのに基づいて計算される。ピー

    Amazon Glacier からデータを取り出すときには気をつけようね - takatoshiono's blog
  • デザインパターンとともに学ぶオブジェクト指向のこころ を読んだ - takatoshiono's blog

    読んだ理由 最近、ソフトウェアの設計力が不足していると感じる。もっといい感じにクラスを設計して、オブジェクト指向ぽいプログラムを書けるようになりたい。しかもスピード感を持ってやりたい。ということで、いまさらだけど、オブジェクト指向についてもう一度学んでみようと思った。を読めばいいという訳じゃないけど、とりあえずもっと知識を増やしたい。渋谷の東急百貨店 7F の丸善&ジュンク堂書店に行って、 オブジェクトデザイン (Object Oriented SELECTION) エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES) の3冊で悩んだ結果、これを買った。決める要因となったのは、 ついでにデザインパターンについて理解を深められたらいいなと思った これまで

    デザインパターンとともに学ぶオブジェクト指向のこころ を読んだ - takatoshiono's blog
  • 1