HTML5&CSS3 デザインブック

大枠のボックスレイアウトから、コンテンツの配置・調整、見栄えを良くするパーツの追加、レスポンシブ対応などステップバイステップで演習できてとても良かった。

初めてのアジャイル開発 ~スクラム、XP、UP、Evoで学ぶ反復型開発の進め方~

初めてのアジャイル開発 ?スクラム、XP、UP、Evoで学ぶ反復型開発の進め方?

初めてのアジャイル開発 ?スクラム、XP、UP、Evoで学ぶ反復型開発の進め方?

第1章 はじめに

第2章 反復型と進化型

第3章 アジャイル

第4章 物語

第5章 導入理由

第6章 根拠

第7章 スクラム

第8章 エクストリーム・プログラミング

第9章 統一プロセス

第10章 Evo

第11章 プラクティスとヒント

次に読みたい関連本

ユースケース駆動開発実践ガイド (OOP Foundations)

エクストリームプログラミング

実践UML 第3版 オブジェクト指向分析設計と反復型開発入門

java.text.SimpleDateFormat is not thread safe

本日、しばらくハマった問題。SimpleDateFormatインスタンスをスレッド間で共有させてたためにエラーや、意味不明な値が返るなどなど。

原因わかるまでの要領が悪かったなァ。。公式docは丁寧に読んどかないとだ。

同期

日付フォーマットは同期化されません。スレッドごとに別のフォーマットインスタンスを作成することをお勧めします。複数のスレッドがフォーマットに並行してアクセスする場合は、外部的に同期化する必要があります。 http://docs.oracle.com/javase/jp/7/api/java/text/SimpleDateFormat.html

ローカルで都度インスタンス生成するように変更して解決。 joda-time も検討しようかな。

Does it support multi-threading?

Every public class in Joda-Time is documented as being thread-safe or not. Joda-Time makes heavy use of the immutability design pattern, and all immutable classes in Joda-Time are thread-safe. Many mutable classes whose instances are not likely to be shared are not thread-safe, and are documented as such.

The most common multi-threading mistake made by Java programmers is in the use of SimpleDateFormat. Calling its format method on a shared instance by concurrent threads can produce bizarre results. All of Joda-Time's formatting classes are thread-safe and immutable.

http://www.joda.org/joda-time/faq.html

(訳)Joda-Time のすべてのパブリッククラスはスレッドセーフか否かドキュメントに付されています。 Joda-Timeはイミュータブルデザインパターンを多用しており、Joda-Timeのイミュータブルなクラスはスレッドセーフです。多くのミュータブルなクラスは、そのインスタンスは共有されることも少なく、スレッドセーフでは有りませんし、そのようにドキュメントに書かれています。

Javaプログラミングでのマルチスレッド実装において最もよくあるミスは、SimpleDataFoamatの使用時に見られます。並列スレッド間で共有されたインスタンスに対してfoamatメソッドを呼ぶと、奇妙な結果が帰ってきます。Joda-Timeのフォーマットクラスはすべてスレッドセーフかつイミュータブルです。

エンジニアとして世界の最前線で働く選択肢

著者の体験にもとづき、アメリカで働くことの魅力・困難の両面偏ることなく書かれている。

アメリカ及び海外で働くことへのイメージは、不安定な殺伐としたネガティブな割合は大きく減り、自らの適材適所を探すことが当然なものだというポジティブな方へと大きく変化した。

Ch.01 あなたはアメリカにあっているのか

Ch.02 どうやったら渡米できるか

Ch.03 アメリカ企業に就職・転職する

Ch.04 ホワイトボードコーディング面接を突破する

Ch.05 アメリカで働くと何が違うのか

Ch.06 転職を通してキャリアアップする

Ch.07 解雇に備える

反応しない練習 あらゆる悩みが消えていくブッダの超・合理的な「考え方」

思考がネガティブになりがちな時には思い出して読み直したい。

第1章 反応する前に「まず、理解する」

第2章 良し悪しを「判断」しない

第3章 マイナスの感情で「損しない」

第4章 他人の目から「自由になる」

第5章 「正しく」競争する

最終章 考える「基準』を持つ

【読了】すごいHaskell楽しく学ぼう

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

Scalaを始めて、ファンクタ―、アプリカティブファンクター、モナドなどの話題についていけず、遠回りかと思ったがHaskell入門からのアプローチ。

写経しながらじっくり読んだが、思いの外目の前が開けたと感じる。

改めて、Scala関数型デザインを読みなおそう。

Haskell所感 ・Scalaを始めた時に感じた、型推論、パターンマッチ、イミュータブルなどのパワーを、純粋関数型言語で改めて理解 ・Scala以上にコードに余計なものを感じない ・初見ではスベース区切りの謎の構文が、綺麗なものと感じられるようになった ・テストライブラリを把握したい

State Machine

videojs/video.js · GitHub

videojs/videojs-contrib-ads · GitHub

video.jsと関連プラグインのソースを見ていて、理解するのに苦労したけど、仕組みをわかって見ると感心した部分の骨組みを自分なりに書き出しました。

状態マシンを実装した部分。 playerの状態に対応した関数が実行される。 更に、その関数のなかでplayerの状態が変化した場合に状態からの脱出、新しい状態への変化に対応するアクションも定義できるというもの。

State Machine Implimentation

ざっくり枠組みだけ書いたけど、もっと具体的なケースを考えるとなお良かった。