Windowsでも、文字コードがeucでブラウザがchromeだと丸数字が化けちゃうみたい

mixichromeで見ていて文字化けを発見。ちっさなhtml書いて試してみたら、再現しました。
文字化けのことを考えると丸数字は避けるのが無難ですが、Windowsだからって油断はできませんね。


shift_jisutf-8なら大丈夫。


念のためeucSafari(Windows版)

あぁ。やっぱり。

JJUG CCC で JavaからRubyへをゲットした!


JavaからRubyへ ―マネージャのための実践移行ガイド


サイン入り!(というか目の前でサイン)
ものすごく嬉しい。早速明日から読む。
じゃんけんで勝ちとったものですが、3連続強気のグーでゲット。2連続グーで勝ち残った2者での最終決戦となった訳ですが、ここでもう一度グーを出すのかという激しい心理戦を制しての獲得と相成りました。


イベントそのものは本当にJavaに閉じていなくて、Javaがほとんど出てこないほどの閉じないぶり。
印象深かったのは、Hudsonのすばらしさと、ペアプロの楽しそうな雰囲気。
初めてデブサミに参加したときみたいな、ごちゃまぜのお祭り感を体験できました。


運営の皆様、登壇された皆様、ありがとうございました。

WEwLC#5 読書会参加


10/11、サイボウズ・ラボさんで。


今回は予習の時間が取れなくて、自分の担当分以外はあまり読めずじまい。
なので、自分担当分のChapter23について、ちょっと思ったことなど。

どこかぶっ壊してないか気になりますよね

コードを書いたり修正したりしている時、他に影響ないかな?と思う事がしばしばあります。
と、いうか、いつもです。
一方、他への影響を全く気にせず、地雷を埋めていくツワモノもいます。はたまたその一方で、地雷を踏みまくる運命にあるかのような人もいます。その探査率(被爆率)は、時として驚くべきものがあります。


このChapter23のテーマは、

予想外のところをぶっ壊さないようにする為の、あるいは、
その不安を和らげ、自信へとつなげる、いくつかの注意点について。

で、そんなあなたにぴったりです。


ざっくりまとめてしまうと、以下の4点

1.そのキーストロークは振る舞いを変えるものか?

今の自分の行動が、ソフトウェアに影響を与えているかどうか、敏感に感じ取ろう。つか、それを感じ取るためのテストをかこう。テストからのフィードバックがないと、「大丈夫かなぁ?」って不安が募ってとても疲れるよ。

2.ひとつだけ相手にしろ。

あちこち手を出さないで、ひとつだけやるのがいい。二兎を追わない。浮気心は以下のように鎮める。

  • ペアプロで第二の目
    • パートナーに「おい、何やってんだ?」って問いかけてもらう。2つ以上のことをやってるようなら1つを選ぶ。
  • 紙に書く
    • 気になるあれこれは紙に書いて、元のソースに戻る
  • 呪文(マントラ
    • Repeat to yourself:"Programming is the art of doing one thing at a time."
3.安全でない場面では、余計なことをやらない。

安全が担保されない場面(テストのない状態)で、ちょっと気の利いたオシャレな実装をしてしまってハマりこむのはやめよう。リスクは減らすべきだ。機械的にできる部分は機械的にやって、「ここは大丈夫」と自信を持てる領域を作っておこう。ミスを減らす為にも。他の不具合に集中する為にも。

4.コンパイラにもっと頼ってもいいだろう。頼り過ぎは要注意だけど。

あえてエラーになるように変更を加えてしまって、コンパイルエラーをたどることで修正箇所を特定できる。
でも、エラーにならない場合もあるから要注意(メソッド消したつもりが、親クラスに同じシグネチャの定義があったとか)。
言語仕様とコンパイラの動きは知っておかないと。


最後に、

立ち向かえ。独りじゃない。

と、励ましてくれるあたり、泣ける。
けっこうこの章は好きだなぁ。時々見返してしまうかも。

反省など

kawanishi さんがまた炸裂したので、ちょっとでもあやかろうとぎりぎりまでスライドをいじっての発表となりました。反省点。

  • 急ぎ足になってしまった
  • 重要なところと補足的なところの緩急がなかった
  • 次にどんなスライドが出てくるのか、自分でもよくわかんなくなっていた
  • 最後はカバレッジの哀しい話

でも、意外とうけたっぽいので、よしとしよう。
おかしを持って行けたのもよかった。
持参したおやつは、http://www.kusanomi.co.jp/shirotae/で購入

懇親会では..

ジョジョを読んでいないなんてこの業界で生きていけないよ?くらいのありがたい洗礼を、t-wada様やsuga様からいただきました。
勇気を持って発した「クソ以下の臭いがするぜぇ〜」は、0.5秒で、「それ、ゲロだから」と修正される始末。
機会をつくって読まなければと思った次第。*1


いつも幹事をしてくださるせとさん、会場を提供していただいているサイボウズ・ラボさんありがとうございました。
あと、id:tenkomaさん、お誕生日おめでとうございました。ワインおいしかったです。いつもmacに僻んでごめんなさい。


次回、11/8だと友人結婚式と重なってしまって参加できないなぁ。うぅ。

*1:後日、何巻まであるのか見てみたら・・・結構いっぱい出てる・・・。

WEwLC#4 読書会参加

http://www.fieldnotes.jp/legacy-code/
9/14、サイボウズ・ラボさんで。

それにしても、ラボさんに行くたびに椅子が欲しくなる。が、今回は意地を張って大きな椅子には腰掛けず。

Chapter12

色々修正あるんだけど、頑張りどころはどこかなぁ?という話。
「ここ押さえとけ」というPinch Pointが新たに登場します。このChapterでは、変更が与える影響をまとめて面倒みることのできる要所をPinch Pointとして、ここを軸に色々*1やったらどうか、という展開。
本のや議論の展開からは外れますが、あまりにも細かい単位で*2テストコードが書かれていて*3、もうどうにもメンテできなくなることがあると思います。で、ある地点を過ぎると、「我々はJUnitに夢を見過ぎた」とか言ってメンテストップ宣言が出されることもあるかもしれません。実際、自分はテスト熱に見舞われた時期があって、その時書かれた有象無象のテストをPinch Pointの観点から整理出来ていればなぁ、と、今も悔やまれます。
そういうわけで、新たにテストを書く場合も、既存の手に負えないテストコードたちを整理する場合も使える考え方だと思います。

Chapter13

次回、id:t-wadaさんによって熱弁がふるわれる予定。

Chapter14

ライブラリが牙を剥く時。の、話。
薄皮でもいいからラップしておくといいよ。直接呼んだらいつか痛い目みるよ。いいから信じろ。と書かれています。
ロイヤリティの話以外でも、プロジェクトの最後の最後、たとえばパフォーマンスの問題とかで「そのライブラリ、やっぱ無し」の英断が下されるかもしれませんしね。異議なし。

Chapter15

APIを呼んでるだけですけど、このままじゃダメですか?という話。
APIの部分って他チームや他社さんとの協業だったりするので、Chapter14同様、要注意。
DI等で挿げ替え可能にしておくのがやっぱり良いですね。
ラップする場合、is-aとhas-aのどちらでやるかの暑い熱い議論が行われました。もう一回ちゃんと読む。

Chapter16

やんなきゃいけない。よくわかってないんだけど。という時の話。
何だか新人の時の事を思い出しました。あの時は膨大な数と行数のC言語ソースをテキストエディタgrepして、処理順でエクセルにまとめたりしていましたが、最近のIDEの進歩はすごいですね。
ではなくて、マーカとか使ってローテクで考えを整理するのも有効だよ、という話です。
自分はちょくちょくやっていると思います。メモ帳は奮発して、RHODIAの大きめのやつを使っています。デュアルディスプレイ環境であれば、アプリにメモ書きして参照しながらできるでしょうが、そんなわがままの言えない環境では、紙に頼るしかないのです。RHODIAお勧めです。

Chapter17

失われゆく構造の話。
徐々に失われていく構造を維持するには、語り尽くすしかないだろうという内容。
実際、id:n_shuyo さんが語り尽くしてくれました。すばらし。

Listen to conversations about your design.

の一言が全てだと思うのですが、現実はどうなんだろう。designについて、どれくら話されているんだろう?フレームワークの使い方とかに終始してしまっている気がする。

Chapter18

テストコードが行く手を阻む話。
タイトルから期待したのとはちょっと違くて、クラス名とかファイルの置き場所とか、そっちかよ、という内容。
ふむふむ。なるほど。と、しか言えない。
でも、クラス名や置き場所の指針がちゃんとしているのはありがたいことだと思う。そこで悩まなくてよいのはうれしい。

Chapter19

OOじゃないけど、どうする?という話。

WEwLC Ch19「うちのプロジェクトはOOじゃないもん」最終節に「CだってOOだよ」という、そのまま はてダに引き写したら炎上必至なネタが書いてあって超ウケる。
http://twitter.com/shuyo/statuses/909045979

とは知らずに、後半2つを担当。これどうしたものかと相当悩んだのは良い思い出。wikiに書いてそのまま読んだのでは炎上してしまいそうだったので、慣れないスライド作成を行い、本番に臨みました。が、「超ウケる」ところ以外はなんだかグダグダの急ぎ足になってしまい、反省しきり。あと、新しい方への配慮も全然できなくて、これも反省。
内容としては、筆者のテストに対する執念が感じられました*4が、サンプルがサンプルなので、「それはないだろ」「キモい」という予想通りのDisり結果と相成りました。

懇親会

秋刀魚の値段にいちゃもんをつけていたような気がしないでもないですが、あんまり覚えていないです。ごめんなさい。
id:tenkoma さんが九州っこで、何だかライバル視したのは覚えています。
徹夜準備組と見受けられる人(自分含む)が、撃沈していたのも何となく覚えています。お疲れ様です。


今回もとても楽しい読書会でした。
id:t-wada さんのプレイを見ることもできましたし、新しい方も来てくれました。大満足です。
主催者のせとさん、会場を準備してくれた id:n_shuyo さん、ありがとうございました。
参加者の皆様、お疲れ様でした。次回こそ、お菓子を持っていきたいと思います。

*1:もちろんテストも

*2:それこそ、beanのgetterとかsetterにも

*3:カバレッジ偏重など、大人の事情もありましょうが

*4:テストするためにはコンパイラも変えるだろ。みたいな

iPod touch と nano の新しいの出た

夜更かしして、Let's Rockの速報サイト(速報:アップル「Let's Rock」イベント 新iPodラインナップ発表 - Engadget 日本版)やUSTREAMを見ていました。
iPodに関しては事前に流れていた情報通り。MacBookに関しては触れられず。


USTREAMのチャットでGPS!GPS!と連呼している人がいたのだけれど、GPSは搭載されず。残念。
ボリュームボタンとスピーカーが追加されたのはうれしい。


詳しくは以下のサイトへ。さすがGIGAZINEはやいなぁ。
新しい「iPod touch」登場、今度はスピーカーを内蔵 - GIGAZINE
ついに歴代iPodの中で最も薄くて新デザインの「iPod nano」登場、全9色 - GIGAZINE


価格が思ったほど下がらなかったのは痛いけれど、家庭内稟議を上げてみるか...!