1 on 1 についてのまとめ
最近、自分の周りで 1 on 1 をやる機会が多くなってきた。
そんな折に、タイムリーにも WEB+DB PRESS で
ひげぽんさんが 1 on 1 の記事を書いていらして、
とても良い記事だったので、後から見返しやすいようにまとめてみました。
1 on 1 を行う目的
- 半年の1年の評価面談で、寝耳に水のマイナス評価を突然うけるのを避けたい
- 半年前から判明していた問題点を評価面談の時に言われても遅い(汗
- これをなくすために、1on1で小さなフィードバックのループを維持したい
1 on 1 の枠組み
- 1~2週間に1度の頻度で
- 1回30分程度
- 2人で共有できる議事録を作成し, あらかじめ話したいことを箇条書きで書いておく
1 on 1 でマネージャと話すとよいこと
- いま困っていること
- ブロックされていることなどマネージャが直ちに行動を起こすべきこと
- プロジェクトの進捗
- 進捗率
- 達成したマイルストーン
- プロジェクトの遅延
- 人に関わる相談があれば
- キャリアマネジメント
- この先、5年後、10年後どうなっていたいのか
- 社内の最新事情
- manager たちの中で問題になっていること
- 組織変更の予感など
- チーム貢献
- チームで困っている人がいる場合、MTG, work flow で改善できそうなことはないか
- チームやマネージャーの生産性向上に寄与できると素晴らしい
1on1 をスムーズに進める為の工夫
- 2人で共有できる議事録を作成しよう
- あらかじめ、話したいことを箇条書きで書いておくと話がスムーズに進む
- マネージャーとの間に、仕事以外の共通の話題が1つあると導入部分によい
マネージャからみた場合
- 広い質問をする
- 8割聞き役になる
- その人が期待されている役割やパフォーマンスを一緒にみていく
- よくできている部分
- 大げさなくらいにほめる
- 改善できそうなポイント
- 「できていない」という否定の説明ではなく、「こうするともっと良くなる」という肯定的な説明をしよう
- よくできている部分
- 作者: ?橋健一,谷口禎英,井本大登,山崎勝平,大和田純,内村元樹,坂東昌哉,平田敏之,牧大輔,板敷康洋,大?浩崇,穴井宏幸,原口宗悟,久田真寛,ふしはらかん,のざきひろふみ,うらがみ,ひげぽん,池田拓司,はまちや2,竹原,片田雄樹,渋江一晃,WEB+DB PRESS編集部編
- 出版社/メーカー: 技術評論社
- 発売日: 2017/06/24
- メディア: 大型本
- この商品を含むブログを見る
リトライ処理のメモ
Rubyでリトライ処理をする際のテンプレ。再帰を使って綺麗に書ける。
class RetryException < StandardError; end def foo p Time.now raise RetryException end def retry_foo( rc = 3) begin foo rescue RetryException => ex # RetryException以外はretryしない retry_foo( rc - 1 ) if rc > 1 end end retry_foo
これだと、複数のメソッドに対応できない。 後で、blockで処理を受け取るようにしたい。
追記: retry 制御構文というものがあったので、それを使って書き直してみた。
def foo p Time.now raise end # 単純にfooメソッドをretryする def retry_foo(count=3) c = count begin c = c - 1 foo rescue retry if c > 0 end end # 受け取ったブロックをretryする def retryer(count=3) c = count begin c -= 1 yield rescue retry if c > 0 end end # retry_foo(5) retryer(3) do foo end
Object#methodについてメモ
この書き方ができるの知らなかった.
# レシーバがself. (Object#methodはレシーバとメソッドの実態を封入する.) [1,2,3].each( &self.method(:puts) ) [1,2,3].each( &method(:puts) ) # selfを省略できる [1,2,3].each{|i| puts(i) }
こちらはたまに使う.
# レシーバが配列の各要素. p [1,2,3].map( &:to_s ) p [1,2,3].map{|i| i.to_s }
Refer
MySQLのパーティションのメモ
各パーティションのサイズを確認 check size of each partitions
mysql> use information_schema; mysql> select partition_name,data_length,index_length from partitions where table_name = 'entries';
entries テーブルのパーティション一覧を表示する
use INFORMATION_SCHEMA; SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='entries';
パーティションを削除する
- entries テーブルの p201308 というパーティションを削除する
ALTER TABLE entries DROP PARTITION p201308;
パーティションを追加する
- 後で書く
Refer
定数を定義する
module Constants GOLD_DEFAULT = 100 ITEM_MAX_COUNT = 255 end p Constants::GOLD_DEFAULT, Constants::ITEM_MAX_COUNT # => 100 # => 255 p Constants.constants # => [:GOLD_DEFAULT, :ITEM_MAX_COUNT]
- 定数は初めだけ大文字であればよいのだが、全部大文字の方がしっくりくる
refer
現在見ているページのmarkdown形式のリンクを生成するブックマークレット
javascript:(function(){prompt('%E3%82%B3%E3%83%94%E3%83%BC%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84',%20%20%20%20%20'-%20['%20+%20document.title.replace(/([\[\]])/g,'\\$1')%20+%20']'%20+%20'('%20+%20location.href%20+%20')');})();
実引数側でのアスタリスク(*)の使用例メモ
- 実引数側でのアスタリスクの使用例メモ。配列オブジェクトを展開してメソッドの各引数に入れてくれる。便利。
def foo(name, val) "#{name}: #{val}" end ar = [[:a, 1], [:b, 2], [:c, 3]] ar.each do |elem| puts foo(*elem) # here end
こちらの記事のscivolaさんのコメントを参考にしました。