The King's Museum

ソフトウェアエンジニアのブログ。

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

【Effective Java】項目7:ファイナライザを避ける

Java のファイナライザは予想不可能で、危険であり、一般的には使う必要はない。 C++ プログラマは Java のファイナライザを C++ のデストラクタと対応付けて考えてしまいがちだが、それは大きな間違いである。 C++ のデストラクタはコンストラクタに対応す…

【Effective Java】項目6:廃れたオブジェクト参照を取り除く

メモリリークを回避するため廃れたオブジェクトの参照は取り除かなければならない。 C や C++ から、ガーベージコレクション(GC)を持つ言語に切り替えると、メモリ管理について考える必要がないように感じることがあるが、それは間違いだ。 次のスタック実…

【Effective Java】項目5:不必要なオブジェクトの生成を避ける

機能的に同じオブジェクトを、必要になるごとに再生成するのは避ける。 よくない例 極端にだめな例としては以下の様なコードがある。 // だめな例 String s = new String("stringee"); "stringee" 自身が String オブジェクトであり、String コンストラクタ…

【Effective Java】項目4:private のコンストラクタでインスタンス化不可能を強制する

static のメソッドと static なフィールドだけからなるクラスを書く場合は private コンストラクタでインスタンス化不可能をクライアントに強制するべきである。 static ユティリティクラス そのようなクラスは悪く評価されていることもあるが、java.lang.Ma…

【Effective Java】項目3:private のコンストラクタか enum 型でシングルトン特性を強制する

シングルトンは、手短にいえば厳密に一度しかインスタンスが生成されないクラス。 ただし、クラスをシングルトンにするとデメリットも多々あるため本当に必要な場合のみ行うこと。 伝統的なシングルトン実装 Java の リリース 1.5 より前はシングルトンを実…

【Effective Java】項目2:数多くのコンストラクタパラメータに直面した時にはビルダーを検討する

多くのオプションパラメータを持つオブジェクトを生成する場合はビルダーパターンを利用することを検討する。 テレスコーピングパターン 多くのオプションパラメータが存在するとき、伝統的にはテレスコーピングコンストラクタと呼ばれるパターンが利用され…

I'm not so smart as I thought I was

今更ながら以下の記事を目にした。 http://blog.practical-scheme.net/shiro/20120109-intellectual-tools 君がAを取りつづけていたのは、勉強したからか、教科が簡単だったからだ。 それが初めてBを取ってしまったのは、理解することに慣れすぎて、ちょっと…

Principle of Reactive Programming

Effective Java シリーズの息抜きに他のネタ。 ちょっと前に Coursera の Principle of Reactive Programming 完走した。 https://www.coursera.org/course/reactive 前々からやりたいと思ってて、一回目の開講の時は他の講義やってて断念したのだけど、今年…

【Effective Java】項目1:コンストラクタの代わりに static ファクトリーメソッドを検討する

追記:2018年2月16日 Effective Java 3rd Edition を踏まえて内容をアップデートした記事を書きました。 こちらをご覧ください。 www.thekingsmuseum.info オブジェクトを生成するため、public コンストラクタの代わりに static ファクトリーメソッドを提供…

【Effective Java】第1章:はじめに

追記:2018年1月21日 Effective Java 3rd Edition を踏まえて内容をアップデートした記事を書きました。 こちらをご覧ください。 www.thekingsmuseum.info 第一章は前置き話がメイン。 第1章:はじめに この本の特徴は多くのデザインパターンとイディオムを…

ひさしぶりの

最後に書いた記事からずいぶんと期間が空いてしまった。 この間に子供が生まれたり、Coursera の Machine Learning 終わらせたり、同じく Coursera の Principle of Reactive Programming 終わらせたり、ギリシャの債務超過問題でゴールドマンサックスが関わ…

『Effective JavaScript』を読んで(項目53~60)

第6章は「ライブラリと API 設計」。 ライブラリを設計するときに気をつけるべきことが書いてある。 Coursera を始めたせいもあってか、全体的にさらっとまとめてしまった・・・。 『Effective JavaScript』を読んで(項目1〜3) 『Effective JavaScript…

Coursera の "Machine Learning" を開始した

1月半ばから Coursera の "Machine Learning" のコースを始めた。 https://www.coursera.org/course/ml Coursera は MOOC (Massive Open Online Course) の一種で、有名な大学の先生の講義が受けられるサービス。すべての講義が無料で受けられる。 毎週、二…

『Effective JavaScript』を読んで(項目43~52)

久しぶりの更新。一気に第5章全部まとめた。 『Effective JavaScript』を読んで(項目1〜3) 『Effective JavaScript』を読んで(項目4〜7) 『Effective JavaScript』を読んで(項目8〜12) 『Effective JavaScript』を読んで(項目13〜17) 『…

『Effective JavaScript』を読んで(項目37~42)

Effective JavaScript シリーズ。 『Effective JavaScript』を読んで(項目1〜3) 『Effective JavaScript』を読んで(項目4〜7) 『Effective JavaScript』を読んで(項目8〜12) 『Effective JavaScript』を読んで(項目13〜17) 『Effective J…

仕事の悩み1

Effective Javascript シリーズの続きでも書こうと思ったのだけど、さすがにスマホじゃ効率悪すぎるので、たまには仕事の話でも書こう。本当は三つ考えたんだけど、もうすぐ家に着くので一個だけ。自分は小さい会社でモバイルアプリの開発やってるんだけど、…

『Effective JavaScript』を読んで(項目30~36)

エフェクティブジャバスクリプトシリーズの続き。ようやく半分きた・・・。 本自体は今日読み終わったけど、まとめるのはまだ半分だ。 ただ、こうやってまとめるためにもう一度目を通すことで理解度は高まるし、記憶への定着度合いも高まった気がする(まぁ…

『Effective JavaScript』を読んで(項目23~29)

『Effective JavaScript』を読んでシリーズ。 『Effective JavaScript』を読んで(項目1〜3) 『Effective JavaScript』を読んで(項目4〜7) 『Effective JavaScript』を読んで(項目8〜12) 『Effective JavaScript』を読んで(項目13〜17) 『…

『Effective JavaScript』を読んで(項目18~22)

『Effective JavaScript』を読んでシリーズ。 『Effective JavaScript』を読んで(項目1〜3) 『Effective JavaScript』を読んで(項目4〜7) 『Effective JavaScript』を読んで(項目8〜12) 『Effective JavaScript』を読んで(項目13〜17) 項…

Apdex とは何か

仕事でサーバーのパフォーマンス監視と死活監視に New Relic APM を利用している。New Relic APM を使うと自動的に Apdex という指標を算出してくれるのだが、今日は仕事でこの指標について調べた。 会社の qiita team には投稿したのだが、せっかくなのでこ…

エリック・シュミット

2015 年も仕事始まった。 元グーグルCEO 「メール返信の速さが本当に強い企業文化を作る。」|リーディング&カンパニー株式会社 ちょっと前にこの記事を見てからなるべく早くメールを返すように意識している。 といっても、もともとが返信遅いタイプの人間…

『イノベーションのジレンマ』を読んで

11月くらいに翔泳社が Kindle の安売りセールをしていたので数冊まとめ買いしたのだけれど、その中で唯一のビジネス書(?)が『イノベーションのジレンマ』だった。ソフトウェア業界に勤めて数年、よくその名前を耳にするので「この業界の教養なのかなー」…

(c) The King's Museum