タグ

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

  • とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita

    というわけで、10倍の差がでた。 当然、配列の長さやソートする長さ、また実装の方法によって性能差は変わってくるが 今回の方法は有効であるということは確認できた。 既存の記事(2015/11/09 20:22 追記) コメント欄でUnordered partial sorting にそれらしきことが書いてあると教えていただいた。 そちらでは、「上位k個を取り出す(ソートは不要)」という問題を考えている。 同様に分割統治法を用いてソートしていきながら、上位k個以内の小区間になったらその区間はソートせずに全て選択して良いとしている。 早い話が、QuickSelectによりk+1番目の要素を探してそれより上位の要素をごそっと抜き出している。 分割統治法で大雑把にソートしていきながら、不要なソートを行わないようにする という同様のアプローチである。 C++のSTLの場合(2015/11/09 22:

    とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita
    hamaco
    hamaco 2015/11/12
  • Gitのコミットメッセージの書き方 | POSTD

    (訳注:2015/10/31、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注:2015/11/1、いただいた翻訳フィードバックを元に記事を再修正いたしました。) 訳: プロジェクトが長引くほど、私のGitのコミットメッセージは情報が薄くなっていく。 イントロダクション | 7つのルール | ヒント イントロダクション:なぜ良いコミットメッセージを書くことが重要か Gitのリボジトリのログをランダムに閲覧すると、ひどいコミットメッセージを目にすることがあります。例として、私が昔書いたSpringにコミットした これらのgem を見てみましょう。 $ git log --oneline -5 --author cbeams --before "Fri Mar 26 2009" e5f4b49 Re-adding ConfigurationPostProcessorTest

    Gitのコミットメッセージの書き方 | POSTD
    hamaco
    hamaco 2015/11/12
  • チーム全員でユーザー価値の向上に取り組むための開発プロセス設計 - クックパッド開発者ブログ

    こんにちは、買物情報事業部の前田 (@TakatoshiMaeda) です。 今回は、クックパッド特売情報のサービス企画、開発を行っているチームがどのようなプロセスで日々ユーザー価値の向上に取り組んでいるのかお話します。 チームでは様々な取り組みを行っていますが、今回は バックログ運用 計画のもととなる、サービスで実現したいストーリーリスト スプリント計画 バックログから実際の行動計画に落としこむまでのプロセス ふりかえり スプリント計画の実施結果を振り返る仕組み の3つについてご紹介します。各取り組みのより詳細な内容についてはスクラムガイドをご覧ください。 バックログ運用 特売情報の開発チームはディレクター/デザイナー/エンジニアで構成されていますが、全てのメンバーがサービスをどのように良くしていくべきか考え、日々活発に議論しています。 日々の何気ない会話や、業務の中で得られた知見から生

    チーム全員でユーザー価値の向上に取り組むための開発プロセス設計 - クックパッド開発者ブログ
    hamaco
    hamaco 2015/11/12
  • 複数のWebサーバでSSLセッションキャッシュを共有してSSL処理を高速化(Apache + mod_ssl + mod_socache_memcache) - 元RX-7乗りの適当な日々

    HTTPS(SSL利用)サイトがSEO的に優遇されるトレンドで、世間的にもHTTPS接続でサイト運用するサービスが増えてきています。 これが、ハイトラフィックサイトになってくると、このフロントエンドでSSL処理させることが負荷的にもなかなか辛いのです。 で、Apache 2.3以降では、Shared Object Cache Providerとして、memcachedが選択できるようになっています。 この仕組みを利用して、Apacheとmemcachedを並べることで、各サーバでユーザのSSL Session Cacheを共有しながらHTTPSリクエストを負荷分散できる構成を作ってみました。 WebサーバでSSLオフロード 常時SSLを利用したWebサイトを運用するために、SSLアクセラレータといったアプライアンス製品だとか、ソフトウェアだとApacheやNginxのSSLモジュールを使う

    複数のWebサーバでSSLセッションキャッシュを共有してSSL処理を高速化(Apache + mod_ssl + mod_socache_memcache) - 元RX-7乗りの適当な日々
    hamaco
    hamaco 2015/11/12
  • つらいときほどよく褒める - インターネットの備忘録

    忙しいときに仕事増やしてすみませんとか謝られても仕事は減らないんで、むしろ謝らなくていいんでマメに褒めてもらっていいすか、ってチームで言うようにしたら全員で褒めあって常にゲラゲラ笑いながら仕事するいい空気になりつつあるので「辛いときほどよく褒める」メソッド、ワークするなと実感した— はせ おやさい (@hase0831) 2015, 7月 9 残業終わりの夜中にぼんやりTweetしたものが1万5千RTも超えてたいへんびっくりしたんですが、いろんなリアクションを拝見できて面白かったです。ありがとうございます。常に通知タブに未読が溜まるのは初めての経験だったのでこの週末は驚いたのと嬉しいのと怖いのとで気持ちがザワザワしてました……。 ということで、補足というか、もうちょっと標準化して書いてみようと思い備忘。 「褒め」は手段のひとつ 「褒め」に注目したネガティブリアクションがいくつかあって、ちょ

    つらいときほどよく褒める - インターネットの備忘録
    hamaco
    hamaco 2015/11/12
  • テストを書くか書かないかの判断の話

    writing_unit_test.md ユニットテストでテストを書くか書かないかの判断の話 お題 メソッドの出力の結果が、true か false のどちらでも返ってくる可能性がある場合、assert 文を書く時は true の場合だけで良いのだろうか テストとは まず、基の考えとしてなぜテストをするのか?というのがあります。 テストとは、エラーをみつけるつもりでプログラムを実行する過程である。(via ソフトウェアテストの技法 [Glenford J. Myers]) という言葉のとおり、最小の手間でプログラムのエラーを見つけ出そうとする試みがテストです。裏を返せば、エラーが見つかる可能性が低いのにすべてのことを試すのはテストではありません。 判断するときの論点 いくつかこれを判断するときの論点があります (Boolean に限らず、「そのテストは必要か?」と考えるときの観点ともいえ

    テストを書くか書かないかの判断の話
    hamaco
    hamaco 2015/11/12