タグ

2015年10月26日のブックマーク (2件)

  • Redis 本番障害から学んだコードレビューの勘所

    Redis不適切利用による問題は番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとRDBと比較し驚くほど高速なプログラムを組むことができます。昨年尊敬する先輩にコードレビューで斧100くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩き起こされました。どうやらアクセス障害みたいです。 何人かで実機確認したら、まったくゲームが遊べない。データ不整合怖いのでメンテIN。 ほどなくしてRedisが溢れメモリ不足で新規書き込みが出来なくなっていると判明。サーバのメモリ容量は64GByteでこれ以

    Redis 本番障害から学んだコードレビューの勘所
    sechiro
    sechiro 2015/10/26
  • Scrapy 1.0が公開されました - orangain flavor

    Pythonの有名なWebスクレイピングフレームワークのScrapyがバージョン1.0になりました。*1 0.24からの主要な変更点は下記のとおりです。 SpiderでItemの代わりにdictを返せるようになった Spiderごとにsettingsを設定できるようになった Twistedloggingの代わりにPythonloggingを使うようになった CrawlerのコアAPIがリファクタリングされた いくつかのモジュール配置場所が変更された 他にも数多くの変更点がリリースノートに記載されています。 Scrapy 1.0の感想 大きな機能の追加よりも、APIの整理と安定性の向上がメインのようです。これまではバージョンを重ねるごとに便利になっていくものの、あまりAPIが安定していない印象でしたが、APIを安定させた区切りのリリースと言えるでしょう。1.0というメジャーバージョンに到

    Scrapy 1.0が公開されました - orangain flavor
    sechiro
    sechiro 2015/10/26
    “ def parse_news(self, response): yield { # h1要素の文字列を取得する 'title': response.css('h1::text').extract_first(), # div[itemprop="articleBody"]の直下のp要素以下にある全要素から文字列を取得して結合する 'body': ''.join(response.css('div[itemprop="articleB