タグ

2013年7月10日のブックマーク (6件)

  • ORDER BY RAND()の代わりを実装する、あるいはMySQLでランダムにデータを取ってくる方法についてのメモ - Line 1: Error: Invalid Blog('by Esehara' )

    こんにちは。相変わらずBookableというサービスをこつこつとやっているのですが、前回に「ORDER BY RAND()を使うと重くなる」という話を書いたところ、知人から「それやめろ」という斧であったり、あるいは他の方面からアドバイスを頂きました(Thanks グニャラくん!)。 なんでORDER BY RAND()がダメなの?という話は、ちょっと息抜きに翻訳したものがあるのですが、まず問題としてMySQLの乱数を生成するコストが高いという問題がある様子。少なくとも全件に対して乱数を発行するし、そして並び替えも発生してしまうので、とにかく非効率であると。だからその辺はMySQLにまかせるのではなく、それを呼び出すプログラム側にまかせたほうが圧倒的に効率がよくなるようです。 例えば、RANDでやると、下のように件数が増えるにつれて負荷が膨大になっていきます。 djangoの場合、元々のOM

    ORDER BY RAND()の代わりを実装する、あるいはMySQLでランダムにデータを取ってくる方法についてのメモ - Line 1: Error: Invalid Blog('by Esehara' )
    k-holy
    k-holy 2013/07/10
    問い合わせのたびにランダムである必要があるのかどうか、要件を吟味したらそんなことはなかった…ということは多いですね
  • 第1回 Red Hat Enterprise Linux 7の新機能|コラム|Red Hatソリューション|日立ソリューションズ

    Red Hat Enterprise Linux(以降、RHEL)の次期バージョンであるRHEL7では、現行バージョンであるRHEL 6だけではなく、UNIXライクなOSとしてLinuxが誕生して以来の大きな変更が存在します。 今回、RHEL7で予定されている新機能の中から重要なものをいくつか紹介します。 Red Hat Enterprise Linux(以降、RHEL)の次期バージョンであるRHEL 7における変更や機能強化点を理解するには、RHELの開発モデルを理解するのが近道です。 RHEL 2.1はRed Hat Linuxをベースとしていますが、RHEL 3以降はFedora (Core)をベースに開発されています。従ってFedoraとRHELのリリースサイクルから「差分」を抽出すれば、それがすなわちRHELの変更・機能強化点となるわけです。 図 1 RHELの歴史 を見ると分か

    第1回 Red Hat Enterprise Linux 7の新機能|コラム|Red Hatソリューション|日立ソリューションズ
  • 「ほこ×たて」対決の功罪、ロシア人ホワイトハッカーに裏側を聞いた

    なぜ、こうなった――フジテレビの人気番組「ほこ×たて」で2013年6月9日、ハッカーセキュリティ技術者が攻撃、防御の腕を競う珍しい企画があった。「どんなパソコンにも侵入する世界最強ハッカーVS絶対に情報を守るネットワークセキュリティー」という触れ込みである。 IT記者として、これを見ないという選択肢はない。何より、難解なハッキングの世界を、テレビというメディアがどのように料理し、分かりやすく紹介するのか、興味があったのだ。 結論からいうと、番組を視聴した後、何ともいえない違和感が残ってしまった。「『ほこ×たて』といえど、やはりハッキング勝負の映像化は難しかったのか…」と考え込んでしまった。 今回の「ほこ×たて」の事態は、日々セキュリティ関連の記事を書いている筆者にとっても、無縁ではいられない。防御側であるネットエージェントの説明、攻撃側である楽天所属のヴィシェゴロデツェフ・マラット氏への

    「ほこ×たて」対決の功罪、ロシア人ホワイトハッカーに裏側を聞いた
    k-holy
    k-holy 2013/07/10
    "「セキュリティ甲子園」は、「犯罪行為を助長する」などの批判を受け、中止に追い込まれている。"こっちの方が驚いた
  • キャプチャ認証追加機能 - Scutum技術関連情報 | クラウド型WAFサービス Scutum【スキュータム】

    「認証強化機能」オプション WAF 『Scutum』は、パスワードリスト攻撃などの成りすまし被害防止のため、利用中のWebサイトに簡単に「キャプチャ認証」を追加する機能を提供いたします。 Scutum による認証強化機能 WAF 「Scutum」 では、導入Webサイトの認証強化を簡単に追加できるオプション機能をご用意しております。 機能により、これまでユーザーIDとパスワードのみで認証を行っていたWebサイトに「Scutum」を導入するだけで、一切の開発なしに、自動化された認証攻撃を防ぐキャプチャ認証に対応したウェブアプリケーションへと進化させることが可能です。

    k-holy
    k-holy 2013/07/10
    Twilio APIで電話番号宛にSMS送れるのか
  • コード内で「現時刻」を気軽に取得してはいけない | Nekoya press

    日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理がい違う 例えばこんなコード。ログ集計とかやってるイメージです。 class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result

    k-holy
    k-holy 2013/07/10
    Webだったらリクエストを受けた時刻というケースがほとんどでしょうね。PHPなら一番外側から$_SERVER['REQUEST_TIME']を元にDateTime作って渡す形かな
  • TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary

    Stack OverflowのTDD Anti-patterns catalogueというスレがとても面白かったので訳してみた。 Stack Overflowのvoting機能でアンチパターンへの投票を行っている感じ。 上から投票の多い順になっている。 得票数はこの記事執筆時点(2013.7.9)のもの。 SQLアンチパターンっぽく、パターン名はそのまま片仮名にしてみた。 また、内容がかなり被っているとか、状況がかなりレアじゃないかと思うものは、一部省略しました。 (ブコメで訳間違ってるよ、って教えてもらったので、一部修正しました 2013.7.10) フリーライド (テストのただ乗り) 50pt 新しいテストケースを書くのではなく、他の機能のテストに新しいアサーションを追加して既存のテストケースに乗っかる。 セカンドクラス シティズン (二等市民) 47pt プロダクションコードのように

    TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary
    k-holy
    k-holy 2013/07/10
    体感を得られるほどテストに習熟していない身としてとても助かります