Yoichi's diary


2015-04-01

_ 忘れ物

会社のカードキーを忘れて出社してしまった。開発部の始業時間まで1時間以上あり、エントランスの電気もまだついていなかったので、誰か来てーと思いつつエレベーターホールで待っていれどもなかなか来ない。新手のエイプリルフールネタかという考えが頭をよぎったが、携帯でエイプリルフールネタを漁りつつ10分ちょっと待っていたら他の部署の人が来てくれて入れた。


2015-04-04

_ お花見

雨降るかなと思っていたが晴れた。桜ノ宮でお昼ごろから会社の面子でお花見の予定だったのを、早めに出て、その前に家族でお花見した。


2015-04-08

_ 学校始まった

3月の終わり頃から出勤時間を早めてみてる。電車の混雑度は4/1に少し上がり、今日また上がった気がする。息子も始業式と行っていたので学校始まったためかな。2駅先でだいぶ降りるので耐えられるレベルだが。


2015-04-12

_ [checkio] break pep8

文字数制限内で、いかに多くpep8のエラーを出せるかという課題。 コードゴルフの要領でなるべく短いコードでローカルテストが通るようにした後、 エラーを埋め込んでsubmitという作戦でいった。 submit したところテストが通らずにこけて、 何度かはエラー埋め込み前の状態にロールバックしてやり直し(ローカルでgitで管理してた)、 最後の方は慣れてきたので難読化されたままのコードをいじってクリアしたのだが、 得点は一位の半分にも満たないという結果。まだまだです。


2015-04-14

_ 踏んだり蹴ったり

お腹痛くなったり、起きてたのに電車乗り過ごして生駒で折り返してきたり。

_ nまでの和

Scalaで末尾再帰で書くと例えばこんな感じ

def sum(n: Int): Int = {
  @annotation.tailrec
  def go(acc: Int, m: Int): Int =
    if (m == n) acc + n
    else go(acc + m, m + 1)
  go(0, 0)
}

実行結果

scala> :load sum.scala
Loading sum.scala...
sum: (n: Int)Int

scala> sum(1)
res0: Int = 1

scala> sum(2)
res1: Int = 3

scala> sum(3)
res2: Int = 6

scala> sum(1000)
res3: Int = 500500

Pythonに翻訳

def sum(n):
    def go(acc, m):
        if m == n:
            return acc + n
        return go(acc + m, m + 1)
    return go(0, 0)

使ってみると期待通りあふれる。

>>> import sum
>>> sum.sum(1)
1
>>> sum.sum(2)
3
>>> sum.sum(3)
6
>>> sum.sum(1000)
...
  File "/Users/yoichi/prog/sum.py", line 5, in go
    return go(acc + m, m + 1)
  File "/Users/yoichi/prog/sum.py", line 3, in go
    if m == n:
RuntimeError: maximum recursion depth exceeded in comparison

2015-04-18

_ 奈良公園

奥さんが用事で出かけているので息子と二人の週末。一日目は天気が良かったので奈良公園に行ってきた。 鹿の人にこんにちはと挨拶したらちゃんと頭を下げて返してくれるのがよい。でも鹿せんべいくれよーって近づいてきてよだれを垂らしたりつばを飛ばしてくれるのはあまりよくなかった。


2015-04-19

_ 腹痛

夜中に激しい腹痛に見舞われた。 小2の息子と二人きりだったので、これ、さらに悪化したらまずいなと思いつつしばらく我慢していたら収まった。朝になっても少しお腹がごろごろしてるけど、何とか大丈夫そう。

_ [emacs] exec-path-from-shell

Python のコード書いて、実行するのにいちいちterminalのウィンドウにスイッチして…としているのが煩わしく思ったので、eshell で実行しようとしたら

Welcome to the Emacs shell

~ $ python3
python3: command not found

と言われてしまった。Mac で spotlight から emacs を起動しているので、shell の環境変数を引き継いでくれてないのが原因のようだった。 Life is very short - 2013-07-18からたどって exec-path-from-shell を入れたら解決。実装 も眺めてみたが冒頭のコメント中の例が Mac で python という自分と同じパターンだったので共感(?)できた


2015-04-22

_ 【スクラムナイト#6】もっと楽しく見積もらナイト

スクラム道関西のイベントに初参加。プランニングポーカーで規模見積もりの練習をしました。

  • うまくできた点
    • 楽しく見積もれた(面倒だなという気持ちにならなかった)。
    • 素早く見積もれた。
    • 対象の認識を素早く深められた(他の人の説明で気付きを得られた)。
    • ツールの使い方(プランニングポーカー)ではなく、目的(幹事としてBBQを成功させる)に意識を向けて作業できた。
    • みんなで決めたんだという気持ちになり、チームの一体感が得られた。
  • うまくできなかった点
    • 見積もり済み項目との整合性を十分見れなかった。→最後に全体をざっと見なおしてみるとよかったかも。
    • 優先度の高いものを後回しにしてしまい、時間切れになってしまった。→大事なものをやり損ねないように、全体のペース配分すべきだった。優先度高いものを最後に回すべきじゃなかったかも。

2015-04-29

_ 芝桜

三田の花のじゅうたんへ芝桜を見に行った。駐車場でぬかるみに前輪がはまって抜けられない人が居たので押すのを手伝ったのだが、

  • 力を込めるだけに意識が向いてしまい、気づかぬ間にズボンが泥だらけに
  • ぬかるみを抜けた後のことを想定できておらず、危うく別の車に激突しそうに(何とか止まりましたが)
  • 運動不足なのに急に力を使ったので後で手と腰に痛みが

というわけで、

  • 余裕を持って対処できるよう、もっと周りの人に声掛けしたらよかった
  • 問題を乗り越えた後のことも想定しとくべきだった

が反省点。アウトレットでお買い物して、吉川温泉 よかたん で一風呂浴びてから帰宅。

_ やもり

帰宅して玄関の鍵を開けに行った妻が突然声を上げたので近づいてみたら壁にヤモリが居た。大阪で野生のに出会ったのはたぶん初めて。