Yoichi's diary


2015-01-01

_ 今年の目標

地味で小さなアウトプットをたくさん。


2015-01-02

_ 帰阪

昨日の雪の影響で通行止めのため、帰れるか微妙だったが、午後に名阪国道が通行可能になったので帰ってきた。新名神通行止めの影響か、単に正月のためかはわからないが珍しく渋滞してた。


2015-01-04

_ 天王寺動物園

息子と2人で行ってきた。開園100周年とのことで入り口に飾りがされていた。


2015-01-08

_ リーダブルコード 社内勉強会その5

今回の範囲:12章 コードに思いを込める、13章 短いコードを書く

  • 使われていないコードを消すべきかどうかで悩ましいことがある。
    • バージョン管理されているので必要になったら戻せる?
      • 過去に実装されたことに気づかなければ再実装しちゃう。
    • ミドルウェアで実装したが、アプリで使われていない機能
      • 他アプリとの組み合わせでの再利用可能性を維持するか
      • 未使用コードを消してメンテナンスコストを節約するか
  • 未使用コードを消す時にコンパイラに頼る
    • リンクエラーにならなければ安心して消せる。
    • ただし、動的に解決される部分(仮想関数、リフレクションなど)には注意が必要
  • APIの廃止を伴うコード削除では、ユーザ側で使わなくなっていることが前提になる。
    • Obsolete属性(.NET)、@Deprecated (Java) でまず予告してから猶予期間を経て削除
  • 将来の再利用を考慮して汎用的なユーティリティを作るか、要件を吟味して必要最小限のユーティリティとするか。
    • 汎用的なものがあるのに、気付かずに再発明してしまうことがある。
      • ほぼ同じ目的を持った、少しだけ違うライブラリがシステム内に複数存在してしまっているケース。
      • std::thread がもっと昔からあれば…
    • 社内ライブラリはググっても引っかからない。

2015-01-09

_ [windows] spy++ のウィンドウの並び順

http://msdn.microsoft.com/en-us/library/dd460727.aspx にあるように、兄弟は Z-order の順に並んでいる。


2015-01-11

_ 東大阪市消防出初式

今年も消防ヘリが飛んで来てた。今年は息子の行っていた幼稚園が参加する回だったので、先生にチラッと会えたり、見に来ていた友達に会えたりしてた。


2015-01-12

_ 初めての京都

阪急から 嵐電 に乗り換えて龍安寺へ、そして金閣寺まで歩きました。 みぞれが少しちらついていたけど、傘持たずだったので少しで済んでくれて助かった。 嵐電、龍安寺、金閣寺と初めてづくしの日帰り京都観光でした。

あと、今年になってから初めての京都でもありました。


2015-01-13

_ [TV] ブラタモリ 京都

録画しておいたのを観た。水路閣は何度か行ったことあるが、インクライン は知らなかった。行ってみたい。


2015-01-14

_ お休み

奥さんが健康診断でいつ帰ってこれるか不明だったためお休みとしていた。結果として息子が帰ってくるまでに帰ってこれたが、初バリウムだったのでつらそうにしている。

_ [SCM] ブランチへのマージについて

製品ブランチへのマージでマージ漏れが起きるケースの経験が溜まってきたので、一例を Prevent code loss in merging にまとめてみた。 マージ順序を調整してコンフリクトしなくするとか、競合理由となった別の変更を将来マージするときのために記録しておくとかいった話を書きました。 簡単な具体例を作ったのだけど、簡単すぎてどういう状況で課題が生じるのかわかりにくいかもしれない。

コンフリクトしたときに変更内容を編集してどうこうするという話は例えば TortoiseSVN:競合の解決 などがあるけど、もう少し上の視点から見てコンフリクトに対処する話をまとめたものは見つけられなかったので、誰かの役に立つかもしれないと思って、せっかくなので英語で頑張って書いてみました。探し方が悪いのか、そもそも他の人はそういう状況に遭ってないという可能性もあるけど、そういう指摘がもらえる可能性を上げるという意図もあったり。

_ [editor]atom

MarkDown書くのに atom でリアルタイムでプレビューしながら編集してみた。atom使うの初めてだったが、これは便利。

_ [OSS]低レベルなこと

昨年末にいろいろふりかえっていた中で、最近あんまり低レベルなことやってないなというのがあった。 何かのために過去の興味深かった経験をメモしといてみる。


2015-01-15

_ リーダブルコード 社内勉強会その6

今回の範囲:14章 テストと読みやすさ


2015-01-16

_ 新年会

狭山池にはダムがあるということを教えてもらったのが一番の収穫でした。ただの池だと思って見過ごしていたが侮れない。


2015-01-19

_ [DevLove] 事業会社の現場を知ろう~クックビズ編~

やぶのさんからの経営者視点での話、すぎたさんからの一人目の開発者の視点での話を聞いた。

やぶのさんの話の中で、ベンチャーの社長がやるべきこと3つがあげられていた:

  • Vision & Mission → 出会う人全てに伝える
  • Hiring & Retaining → 採用で手を抜かない → いい人と仕事ができる → サービスに集中できる
  • Cash → 口座にお金があるように

すぎたさんの話の中で出ていた、プロジェクト見取り図は、その時点の状況の可視化で有用そうだった。 元ネタの KAIZEN platform Inc. の開発マネジメント by Naoya Ito を見ると朝会の情報を元に作るとのこと。


2015-01-22

_ [windows] where.exe

いわゆる which とか where のようにパス中からコマンドを探すためのコマンドがWindowsでも存在しているのを知った。ワイルドカードも使える。

>where explorer*
C:\Windows\System32\ExplorerFrame.dll
C:\Windows\explorer.exe

>where cdb
INFO: Could not find files for the given pattern(s)

_ リーダブルコード 社内勉強会その6 (最終回)

今回の範囲: 15章 「分/時間カウンタ」を設計・実装する、解説

  • 時刻を引数で与えるように変えている理由は?
    • テストしやすいように(参考:参照等価性
    • 元のコードだと1時間分のカウントをテストするのに実時間かかる (時刻取得関数をコンパイルあるいはリンク時に置き換えるとかしなければ)
  • 例では精度に関しての仕様を途中で変えてるが、要求の確認、調整についてあまり書かれていない。
    • 用途によっては違った実装が良い場合もあるので、使う側の観点で何を重視すべきかも重要。

2015-01-23

_ 旗持ち

登校時の旗持ちの当番だったので横断歩道で立った。


2015-01-25

_ 本の紹介の準備

社内勉強会で次に読む本を選ぶのに、候補を挙げて紹介する会を開こうということになったので準備。

読んでいる内に木を見て森を見ずになっていたのが、あらためて全体を見渡せたので、いい機会だと思った。


2015-01-28

_ 社内勉強会

次に読む本を決めるための紹介の会。fpinscalaを読むことになったが、 それ以外の本も面白そうなので読み(直し)たい

候補に挙がっていた本:

  • Functional Programming in Scala
  • レガシーコード改善ガイド
  • 並行コンピューティング技法
  • Exceptional C++
  • C++のためのAPIデザイン
  • Structure and Interpretation of Computer Programs