タグ

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

  • yrmcds 0.9.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。 今回は memcached 互換で冗長構成を簡単に組める自社製 KVS である yrmcds のリリースをご案内します。 ... この Redis 全盛なご時世になんで?とか、repcached や Kyoto Tycoon があるじゃない、といったツッコミの嵐が聞えてきそうです。わかってます、わかってますから物を投げないで! 順を追って説明しますので、批判はそれからにしてください! 何が欲しいのか 私は日頃 cybozu.com のインフラで動作するソフトウェアを開発しています。リリース後もうすぐ2年になりますが、お蔭様で 4,000 社以上にご利用いただくまでになりました。商売繁盛で嬉しいのですが、運用側は日々増えるデータとアクセスを捌くべく奮闘しています。 ここのところ問題になっていたのが、MySQL に保存しているセッション情報でした。アプリ

    yrmcds 0.9.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroyukim
    hiroyukim 2013/07/09
  • All About Monads - HaskellWiki

    All About Monads is a tutorial on monads and monad transformers and a walk-through of common monad instances. You can download a PDF version here. And here is a version of the article which includes source code. Understanding Monads Introduction What is a monad? If you're approaching Haskell monads a little nervously, that's understandable. You've probably heard that monads are a very powerful cod

    hiroyukim
    hiroyukim 2013/07/09
  • コード内で「現時刻」を気軽に取得してはいけない | 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

    hiroyukim
    hiroyukim 2013/07/09
    変化する可能性のあるパラメーターは処理装置に外部から与えろ
  • FluentdでバッファつきOutputPluginを使うときのデフォルト値 - たごもりすメモ

    なんか自分で docs.fluentd.org へのpatchを書いてて混乱してきたのでまとめる。コードを読んでも関係する設定値がいくつものモジュールに分散しており、完全に把握することが困難である。具体的には、この組合せを記憶だけで答えられる fluentd コミッタはおそらく一人もいない。 概要 対象は BufferedOutput および TimeSlicedOutput を継承している output plugin の全て*1。out_forward, out_exec や out_exec_filter も含まれる。 基的にはいくつかの設定により flush をするタイミングを制御するパラメータ一式、およびflush対象となるデータのチャンクを溜めておく量の上限を決めることとなる。fluentd をうっかり試したときに「アイエエエ、fluent-cat してみたんだけど、設定したと

    FluentdでバッファつきOutputPluginを使うときのデフォルト値 - たごもりすメモ
    hiroyukim
    hiroyukim 2013/07/09
  • #fluentd でアクセスログからメトリクス生成/リアルタイム監視するための設定例 - たごもりすメモ

    このエントリは ウィークリーFluentdユースケースエントリリレー の参加エントリです。 いろいろアレでアレなときに回ってきて新ネタを思い付く余裕がないので、手元の設定を晒して解説しお茶を濁そうと思います。ユースケース! 前提は以下の通り。 アクセスログ このサーバに送られてくる前の段階で適当にparseされている(いちおう in_file の apache 互換の名前のはず?) sampling_filter プラグインにより 1/1, 1/10, 1/100 それぞれの割合でサンプリングされている(基は1/10) いくつかのメトリクス計算を行い、それらをGrowthForecastへグラフ登録、一部のものはリアルタイム監視を行いIRC通知する ping message ping_message プラグイン(および fluent-agent-lite の -P オプション)による p

    #fluentd でアクセスログからメトリクス生成/リアルタイム監視するための設定例 - たごもりすメモ
    hiroyukim
    hiroyukim 2013/07/09
  • Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ

    Fluentdのデータをネットワーク経由で転送するための組み込みプラグイン out_forward には最適化のための設定がいろいろあるが、内部構造への理解がないとなかなか意味がわからなかったりするものも多い。ので、あんまりいじってる人はいないんじゃないかという気がする。 最近複数の転送先へのロードバランスを out_roundrobin ベースの方法から out_forward の機能を使った方法に切り替えてみたので、ついでにそのあたりについて書いてみる。 (おまけ) out_roundrobin と out_forward(のロードバランス)の違い out_roundrobin は event stream の emit つまりFluentd内部における最小の配送処理単位ごとに配送先プラグイン(のインスタンス)を切り替える。可能な限り細かい単位で配送先をバラけさせたいときはこちらを使う

    Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ
    hiroyukim
    hiroyukim 2013/07/09
  • mrubyでNICのリンクステータスを操作できるmruby-netlink作った

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 「Linux上でオレオレifconfigを作るには」が面白かって参考になったのと、 Netlinkのライブラリはiproute2に付属するものとは別にlibnlというものがあり、Pythonバインディングも存在するようだ。Rubyバインディングが無いのが残念だが、ともあれカーネルの設定をスクリプティング言語で柔軟に変更出来そうだ。 ということのなので、もちろんmrubyにもないだろうと思ったのでmrubyでNICのリンクステータスを操作できるmruby-netlinkを作りました。今回はmruby-netlinkと言いながらもとりあえずはリンクステータスをup、downするだけのメソッドを実装しています。 Cでここまで実装サンプルを書いてくれ

    mrubyでNICのリンクステータスを操作できるmruby-netlink作った
    hiroyukim
    hiroyukim 2013/07/09
    熱であたまぼーっとしてるからあとで読もう。
  • ext3ファイルシステムとファイルの削除・復元について

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 研究の一環でext3ファイルシステムのファイル管理方法や、ファイルを削除した時の復元について色々調べたので、それを忘れないように記事にしておこうと思います。 はじめに 今回はext3ファイルシステムについて調査してみました。僕はLinuxでファイルを扱う前提の研究をしているし、大規模環境でのファイルの処理はとても重要だと思っています。 また、ファイルシステムについて理解を深めておく事で、今後新たなネタにならないか等も考えています。現在はext4やBtrfs等の調査が進んでいますが、改めて基に戻ってext3について調査しました。 まずは、分かりやすいようにext3ファイルシステムでファイルを削除した場合に、どのようにファイル復元ができるのかを

    ext3ファイルシステムとファイルの削除・復元について
    hiroyukim
    hiroyukim 2013/07/09
    これはいい。ちゃんと見ようと思ってたからありがたい。
  • WCAN 2013 Summer で「ハイパフォーマンスWebフロントエンド」を話してきました

    スライド 振り返り 50分という限られた時間の中で、Network・Render・Computeという3柱についてご紹介するという構成に挑ませていただきました。 恐らくフロントエンドが専門でない方も多くいらした中で、どこまでニュアンスだけでも届けられるように、という面の調整が多かったです。 結果的には目に見えるRenderについて多めに盛り込んで着地しています。 WebKit依存の内容が多めの所から、Canaryに載っている開発者ツールの使い方を通して、パフォーマンス問題の検証と対策について肉付けしている構成です。 参考にした資料のURLリスト 導入のあたり 開発者のための WebKit (“WebKit for Developers” 日語訳) Performance Checklist for the Mobile Web - YouTube Strangeloop - Impac

    WCAN 2013 Summer で「ハイパフォーマンスWebフロントエンド」を話してきました
    hiroyukim
    hiroyukim 2013/07/09
  • EJDB 2.0 — Embeddable JSON Database engine library

    /// Sample records put/query example #include <ejdb2/ejdb2.h> #define CHECK(rc_) \ if (rc_) { \ iwlog_ecode_error3(rc_); \ return 1; \ } static iwrc documents_visitor(EJDB_EXEC *ctx, const EJDB_DOC doc, int64_t *step) { // Print document to stderr return jbl_as_json(doc->raw, jbl_fstream_json_printer, stderr, JBL_PRINT_PRETTY); } int main() { EJDB_OPTS opts = { .kv = { .path = "example.db", .oflag

    hiroyukim
    hiroyukim 2013/07/09