タグ

2015年8月12日のブックマーク (6件)

  • レコードがなかったらINSERTして返すみたいなのを確実にやる | おそらくはそれさえも平凡な日々

    find_or_create的なやつは大体どんなORMでも レコードを探す 無かったらINSERT みたいに実装することになると思う。ただこれだと、1と2の間でレースコンディションでエラー起きることがある。他のプロセスがINSERTしてしまうとかそういうやつ。 それを防ぎたい場合に、1の時点でFOR UPDATEするのはすごくダメで、空行にFOR UPDATEしたりするとMySQLだと盛大に乙るのは有名な話。 エラーを起こさないで、確実にレコードを取りたい場合にはどうすればよいかというと、以下のようにするのが良いと思っている。UNIQUEキー制約なりがちゃんと付いている前提。サンプルコードはTengの場合。 sub find_or_create_surely { my ($self, $table, $where, $opt) = @_; my $row; my $txn = $self-

    レコードがなかったらINSERTして返すみたいなのを確実にやる | おそらくはそれさえも平凡な日々
    shiba_yu36
    shiba_yu36 2015/08/12
    いろいろある
  • 外部キー制約に伴うロックの小話

    4. ロックおさらい(簡易) • 共有ロック(LOCK_S) 共有ロック同士は互いにブロックしない 例:SELECT LOCK IN SHARE MODE • 排他ロック(LOCK_X) 何も受け付けないぞ、排他 例:INSERT(成功), UPDATE, DELETE, SELECT FOR UPDATE X S X Conflict Conflict S Conflict Compatible 4 大きく分けてロックは2種類 5. 5 > BEGIN; > SELECT * FROM player WHERE id = 100 LOCK IN SHARE MODE; > BEGIN; トランザクションA トランザクションB 共有と排他順によるデッドロック例 6. 6 > BEGIN; > SELECT * FROM player WHERE id = 100 LOCK IN SHARE MO

    外部キー制約に伴うロックの小話
    shiba_yu36
    shiba_yu36 2015/08/12
    いろいろ厳しい
  • 人事評価から社員を解放する常識の一撃 年次評価をやめるアクセンチュア、朗報だが何かおかしくないか? | JBpress(日本ビジネスプレス)

    筆者は先週、当に久しぶりに、とても励みになる出来事を体験した。素晴らしいシンガーで過症を患っていたエイミー・ワインハウスがアルコールの過剰摂取で亡くなったことを取り上げたドキュメンタリー番組を最後まで見て心を痛め、何か自分を慰めてくれるものはないかと探していたのだが、アクセンチュアの最高経営責任者(CEO)が最新の経営計画について語ったビデオクリップでこれほどの慰めが得られるとは、まさか思ってもみなかった。 わずか1分間の動画の中で、同社のピエール・ナンテルムCEOは素晴らしいことを語っていた。全従業員33万人を毎年の人事評価の茶番から解放する、と述べたのだ。 「成績管理にあれだけの時間を費やすことがそれだけの大きな成果を生んできたかどうか、我々にはよく分からない」。ナンテルム氏は米ワシントン・ポスト紙にこう語った。 「個々の社員についてどう思っているかを、年に1度当人と話す。そんなの

    人事評価から社員を解放する常識の一撃 年次評価をやめるアクセンチュア、朗報だが何かおかしくないか? | JBpress(日本ビジネスプレス)
    shiba_yu36
    shiba_yu36 2015/08/12
    評価システムはマネジメントとして有用だと思うけど、評価システムの運用がミスってるのか、理想的な評価システムはあるけど現実的には運用できないのか、というのが気になる
  • 1 on 1 で 何を話すのか? マネージャ/ソフトウェアエンジニアの立場から - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    1 on 1 (ワンオンワン) とは1対1のミーティングの事。ここでは毎週もしくは隔週で行われるマネージャとその部下(direct reports)であるソフトウェアエンジニアの 1 on 1 に焦点をあてる。よく 1 on 1 で何を話したらよいか分からない。話題がない。と相談されるので僕の思うところをまとめてみる。 僕はマネージャもソフトウェアエンジニアのどちらも経験があるので両側からの視点を提供できると思う。 マネージャ編 マネージャは 1 on 1 を部下のために開催しなければならない。自分のための時間ではないことを肝に銘じよう。部下には話したいことを何でも話してもらう。事前に「1 on 1 は君のための時間だよ」と説明しておこう。 1 on 1 が始まったら「何か話したいこと、気になることある?」と問いかけよう。焦ってはいけない。じっくりと待ってみよう。 たとえマネージャとしてプ

    1 on 1 で 何を話すのか? マネージャ/ソフトウェアエンジニアの立場から - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
    shiba_yu36
    shiba_yu36 2015/08/12
    よい
  • YesとNoのゲーム - コミュニケーションを教えるということ | タイム・コンサルタントの日誌から

    最初に、『Yes/No』ゲームについて説明しよう。Q&A(質疑応答)ゲーム、ともいう。4、5人ずつのグループでやるゲームだ。大人でも、子供でも、むろん学生でもできる。 ルールはとても簡単である。出題者は、何か具体的で、目に見えて手で触れる、形のあるもの(人でもいい)の名前を紙に書いて、隠しておく。回答者はグループに分かれて、順番に、出題者に対して1つずつ質問をしていく。このとき、質問についてのルールが2つある。一つ目は、質問は必ず、相手が「Yes」か「No」か、または「どちらでもありうる」の三種類のどれかで答えられるような質問であること。二つ目のルールは、誰かが既にした質問を繰り返してはいけないこと。基はこれだけだ。 たとえば、出題者が「ビーチボール」という答えを用意していたとしよう。質問する側の最初のグループが、 「それはべられるものですか?」とたずねる。答えは「No」だ。 二番目の

    YesとNoのゲーム - コミュニケーションを教えるということ | タイム・コンサルタントの日誌から
  • Elasticsearch Image Plugin — メタデータ

    Elasticsearch Image Plugin — インストールから検索までの手順では、Image Pluginを使いマッピング、インデックス、検索まで一通り行いましたが、検索結果を眺めているとmetadataが返ってきていないことに気付きました。metadataはアプリケーション側で使いたいシーンもあるため、ここではmetadata関連の設定についてメモしておきます。 マッピング定義metadataのマッピング方法はガイドにも記載されている通り、内部ではmetadata-extractorが使われています。出力サンプルを見ると分かりやすいと思いますが、画像の高さ、幅からカメラや写真の詳細情報まで取得できるようです。(元画像にその情報が含まれていればです) Image Pluginを使いElasticsearchにmetadataをインデックスしたい場合は、mapping定義にDir

    Elasticsearch Image Plugin — メタデータ