読者です 読者をやめる 読者になる 読者になる

babie steps

作業療法記録

『カンバン仕事術』を読んでいる3

6章 WIP制限を読んだ。

「デヴィッド・P・ジョイス」が誰だかググッてもよくわからなかった。

おーっ、人にWIP制限をかけるとか、作業項目をタスクに分割するとか、自由度が高い! 物理強い!!

カンバン仕事術

カンバン仕事術

『カンバン仕事術』を読んでいる2

5章 仕掛り作業を読んだ。WIPについて。

チケットに付ける[WIP]と紛らわしそう。「チケットのWIP」「カンバンのWIP」って呼び分けるのかな。それとも前者をWork in Progress、後者をWork in Processと呼び分けるのかな。(追記:角さんのTwitterでのツッコミで、「開発」列を「プルリクエスト」列と「マージ」列に分割すれば「チケットのWIP」などと呼ばないでいいことに気づいた)

「システムのヘルニア」のところでウッとなった。今作ってるやつもバグじゃないけど正しい実装とは思えないのが3つぐらいあって絡まり合ってる。

カンバン仕事術

カンバン仕事術

Clojureを勉強している20

4clojureの問題はギブアップして最後の章やった。難しくて億劫になってしまったもんで。

Clojure 1.7.0から入ったtransduceの説明だった。

これにて終わり。

Living Clojure

Living Clojure

『カンバン仕事術』を読んでいる1

いまのところ4章まで。おもろい。特急レーンのとこで「おっ、頭いいな。なるほど〜」と思った。

4章の作業項目カードは全部はできないなと思った(全部やる必要ないと書いてある)。既に買った付箋がそんなに大きくないので。Post-itの75x100mmのを買ったんだけど、もう一つ上のサイズの方がいいかもしんない。Amazonで見る限りは150x100mmは色のバリエーションがない。

カンバン仕事術

カンバン仕事術

『リモートチームでうまくいく』を読んだ

手を動かさないでよい本も読むことにした。

内容なんですが、流石実践者ということで一日の長があるな、と感じた。特に、2章3節の「オフィスにあってリモートにないものを補完する」が面白かった。オフィスにはある「存在感」「雑談」などを試行錯誤でリモートに導入する試行錯誤。恐らくこれで完成ではなく今も時おり改良が進んでいるのだろう。

また、2章5節で外部とのやりとりはメールは非同期メッセージングとして優秀だが記録・多人数での参照などで不完全なので「掲示板のようなもの」を作り使ってるというのがなるほどなと思った。私も受託開発してたときがあるんですが、メールだと重すぎるんよね。

リモートハッカソンとリモート飲み会はどうやろと思ったけど、これまた実践者ならではの細々とした諸注意がある。

あと1つ懸念点があって、同じ時間に作業するってのがどうにかならないものかと思った。オープンソースの開発みたいな感じだとやはりスピードは失われるような気もするし。半日分ぐらいいいやみたいな判断ではどうか。スピードはともかく、顔を見ながら作業できないというのはやはり厳しいか。う〜ん。

リモートチームでうまくいく マネジメントの?常識?を変える新しいワークスタイル

リモートチームでうまくいく マネジメントの?常識?を変える新しいワークスタイル

はじめに 第1章 リモートチームという古くて新しい働き方 第2章 リモートチームが実践している習慣と環境づくり 第3章 リモートチームの成功は企業文化にかかっている 第4章 リモートチームで変わるマネジメント 第5章 リモートチームで変わるワークスタイル 第6章 リモートチームで起きる課題を解決する 第7章 リモートチームに至るまでの道のり おわりに

Clojureを勉強している19

  • Week3
    • Day 1
      • To Tree, or not to Tree
        • バイナリツリーのチェックかー。3要素のコレクションだったらいいのかな?と思ったらfalseと空リストはアカンっぽい
        • できた。
      • Beauty is Symmetry
        • 安直に95の条件に(= (second t) (last t))を加えてみたが4つ目で死んだ。シンメトリックだからleftとrightが入れ替えなあかんのか
        • アカン。解けんかった。我慢できずに他の人の答え見た。我慢が足りない。

Living Clojure

Living Clojure

  • Chapter 10 Weekly Living Clojure Training Plan
    • How Do I Use This Training Plan?
    • What If I Miss a Day or Two?
    • What If I Don’t Understand the Exercise?
    • Week 1
    • Week 2
    • Week 3
    • Week 4
    • Week 5
    • Week 6
    • Week 7
    • Congratulations

Elixir/Phoenixでウェブサービスを作っている33

Done:

  • サーバ
    • Goal.Commands.deleteを作る(positionを詰めるため)
    • Goal.Commands.update_positionsでポジションが変わらないときの処理を追加
  • ブラウザ
    • new/create
      • n: 新規(下)
      • N: 新規(上)
      • enterで作成
      • escでキャンセル
    • edit/update
      • e: 編集、enterで更新
    • delete
      • X: 削除

Todo:

  • newとeditの処理が被っているのでリファクタリング
  • 新規作成のとき、レンダリングが遅いのをどうにかする
  • new,editのとき、l,n,N,eが入力されるのを防ぐ
  • ブラウザ
    • constructorでthis.handle* = this.handle*.bind(this);する?
    • TreeModelを継承したモデルを作ってsiblings関係の関数を生やす
    • copy/cut/paste
      • c: 単体コピー
      • C: サブツリー全体をコピー
      • x: カット
      • v: 下にペースト
      • V: 上にペースト
    • status切り替え
      • f: forward
      • b: back
      • q: close
    • タブ
      • システムメニュー
        • サインイン/サインアウト
      • ユーザーメニュー
        • アクティビティ
          • ユーザー/グループ...
    • オフライン対応
      • すごく欲しいがやらない
      • 当初想定より簡単にできるかも
  • サーバ
    • Goal(goals)
    • Membership(memberships)
      • status(pending/authorized)
    • Status(statuses)
      • ユーザー定義
        • デフォルト
          • 0: todo
          • 1: doing
          • 2: done
          • -1: close
          • done/closeは特別にしたいな……
        • 面倒くさいなこれ。固定にしよっかな
    • 操作権限チェックを入れる
    • ルート操作の防止を入れる
  • /goals/:idを/goals/:hash_digestにする
  • check_descendants!でArgumentErrorにしてるところを独自例外に変える
  • on_delete: :delete_allと再帰クエリでどっちが速いか調べる

Memo:

Programming Phoenix: Productive; Reliable; Fast

Programming Phoenix: Productive; Reliable; Fast