タグ

ブックマーク / labs.cybozu.co.jp (14)

  • CSVファイルのデータ異常値を感覚的に捕まえるビューワ CSV Fingerprints

    Victor Powellさんが提案した CSV Fingerprints (CSVの指紋)は、CSVファイルのデータをデータの有無やデータの型(文字、数字など)に合わせて色づけすることで、日々の事務などで自動生成されて […] Victor Powellさんが提案した CSV Fingerprints (CSVの指紋)は、CSVファイルのデータをデータの有無やデータの型(文字、数字など)に合わせて色づけすることで、日々の事務などで自動生成されているCSV出力の異常な部分を、目視で発見できるようになるのでは、という提案です。 カラムのデータの型によって異なる色で塗ったのが上のような例。 図の上でクリックしながらマウスを動かすと、指している辺りが拡大表示され、セルの内容を確認することができます。 大きなデータセットの中から、異常になっている部分をすばやく特定し、その前後の値を含めて確認できる

  • Kazuho@Cybozu Labs: setlock を使って cron をぶんまわす方法

    « データベースをコピーするモジュール DBIx::Replicate | メイン | Tritonn (MySQL+Senna) の join を高速化 » 2008年01月30日 setlock を使って cron をぶんまわす方法 事前計算や DB 再構築を手軽に実行するのに cron は便利ですが、タスクのまわし過ぎによるサービスのパフォーマンス低下や実行順序の制御を別途行う必要があります。自分は、そのためのツールとして、daemontools の setlock コマンドがお気に入りです。setlock は、flock を用いて、タスクの待機や実行中止を制御することのできる、とても小回りのきくプログラムです。 1-59/* * * * * /usr/local/bin/setlock -nx /tmp/precompute.lock /usr/local/bin/setlock

  • Kazuho@Cybozu Labs: サーバシグニチャは隠さないのが当たり前

    « Pathtraq バージョンアップのおしらせ - サイドバー表示に対応 | メイン | Perl から MySQL に非同期アクセスする方法 » 2007年09月05日 サーバシグニチャは隠さないのが当たり前 ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういったサーバ情報をわざわざ表示する必要はありません。 ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策 私も何年も前からセミナーではサーバ、モジュールバージョンは隠すようにと言っています。何故こんな事で賛否両論になるのか全く理解できません。 yohgaki's blog - サーバシグニチャは隠すのが当たり前 Server: ヘッダを隠すメリットについての議論はあるようですが、Server: ヘッダを表示すべ

  • Kazuho@Cybozu Labs: URL と Base64

    « サイボウズ Office に Perl でアクセス | メイン | C - a pseudo-interpreter of the C programming language » 2006年01月04日 URL と Base64 URL にバイナリデータを埋め込んで渡すことが、ままあります。私のケース注1では、バイナリデータが結構大きかったので hex encode は避けたいところ。 base64 エンコードしようと思ったのですが、 path や query に + や / といった文字は入れたくありません。 じゃあ、みんなどうしているのかな、と思って、聞いたり調べたりしたところ、いろいろな変換方式があるようです。 Base64 からの変換表 採用アプリ変換方式

  • Perceptron を手で計算して理解してみる (nakatani @ cybozu labs)

    Perceptron の実装とか見ると、ものすごく簡単なので、当にこれで学習できちゃうの? と不安になってしまいました(苦笑)。 こういうときは、実際にパーセプトロンが計算しているとおりに、紙と鉛筆で計算してみて、期待する結果が出てくることを確認してみたくなります。 参照する教科書は「パターン認識と機械学習・上」(PRML) の「 4.1.7 パーセプトロンアルゴリズム」。 短い節です。必要最低限のことを一通り書いてある感じかな。 計算に用いるサンプルですが、手で計算できる規模でないといけないので、論理演算の AND を試してみることにします。 簡単に勉強 ちゃんとした説明は PRML などを見て欲しいですが、とても簡単にまとめます。 2値の線形識別モデルは、N 次元空間内を (N-1) 次元の超平面(決定面)で分割することで、入力ベクトル x から得られる特徴ベクトル φ(x) が2つ

  • Kazuho@Cybozu Labs: Q4M Version 0.4 で高速なクローラを書いてみた

    « Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL

  • Kazuho@Cybozu Labs: Q4M - MySQL 上で動作するメッセージキュー

    « ウェブアプリケーションにおけるHDDの正しい使い方 | メイン | Pathtraq リニューアルのおしらせ (リアルタイム検索機能の追加ほか) » 2008年01月15日 Q4M - MySQL 上で動作するメッセージキュー 数年来ずっと「RDBMSに統合されたメッセージキューがほしい」と言ってきたわけですが、昨年末にストレージエンジンをプラグインとして開発できる MySQL 5.1 が RC になっていることに気づき、自分で作ってみました。 Q4M (Queue for MySQL) は MySQL 5.1 のプラガブル・ストレージ・エンジンとして動作するメッセージキューであり、堅牢・高速・柔軟であるよう設計されています。昨年12月遅くに開発が開始され、まだ非常に原始的ですが、かなり高速に動作します。 q4m.31tools.com 自分の英語を日語訳するというのも変なものですが

  • Kazuho@Cybozu Labs: DNS ラウンドロビンと高可用性 (High Availability)

    « brainf*ck でマジメに素数探索 | メイン | Brainf*ck で動的リスト » 2006年06月29日 DNS ラウンドロビンと高可用性 (High Availability) ウノウラボ Unoh Labs - ベンチャー流サーバ構築のススメ(ネットワーク編) について。 おもしろく読ませていただきました。また、監視系を導入せずに自律的に動作させようという発想も大好きです。 でも、 DNSは各回線の内側に設置しておきます。例えば上図のような場合、回線A側のDNSは回線AのIPアドレスを返すようにして、回線B側のDNSは回線BのIPアドレスを返すようにします。こうするとどちらかの回線が切れたときは切れたほうの回線のDNSにアクセスできなくなるので、自動的に生きている方の回線に接続されるようになります。 (ウノウラボ Unoh Labs - ベンチャー流サーバ構築のススメ(

  • md5.js (mitsunari@cybozu labs)

    JavaScriptでMD5を計算するライブラリを作りました. ○特長 webでよく見られるいくつかの同種のライブラリに比べて3~7倍ほど高速に計算します. ○ダウンロード(download) md5.js ○仕様 ASCII文字列を渡すとそのMD5を計算して16進数文字列で返します. 文字列に漢字などが含まれている場合は二つ目の引数にCybozuLabs.MD5.BY_UTF16を指定してください.UTF16として処理します. ○使い方1 var str = CybozuLabs.MD5.calc("abc"); if (str == "900150983cd24fb0d6963f7d28e17f72") { ... } ○使い方2 var str = CybozuLabs.MD5.calc("あ", CybozuLabs.MD5.BY_UTF16); ○ライセンス 修正BSDライセンス

  • TAKESAKO @ Yet another Cybozu Labs: Wiiリモコンの値をJavaScriptで取得する方法(Wiiインターネットチャンネル)

    任天堂のQ&Aサイトで、Wiiリモコンの値を取得する方法が公開されていることを知人から教えてもらいました。 インターネットチャンネル向けのウェブページを作りたいのですが…。 : Q&A - Wii インターネットチャンネルの拡張機能について知りたい Wiiインターネットチャンネルでは特別な JavaScript を用いる事でWiiリモコンのひねりや テレビとの距離、複数のコントローラの状態を取得する事ができます。 手元にWii体の実機がないので(Wiiリモコンはある^^)まだ試していませんが、こんな感じでJavaScriptからWiiリモコンの値が取れるっぽいですね。 if (window.opera && window.opera.wiiremote) { var num = 0; // wiiremote number 0,1,2,3 var pad = window.opera.w

  • Kazuho@Cybozu Labs JavaScript を学ぶ上で読むべきウェブサイト

    « JavaScript の String 型を継承する | メイン | JavaScript は、なぜプロトタイプベースなのか » 2006年10月18日 JavaScript を学ぶ上で読むべきウェブサイト JavaScript について議論する際、良く挙げられる参照文献は ECMA-262 (日語版) です。 しかし、どちらかというと ECMA-262 は JavaScript の処理系を実装する人に向けた文書なので、JavaScript を使いたい人には向きません。 私は、 JavaScript のユーザーには、mozilla developer center の Core JavaScript 1.5 Guide (日語版)Core JavaScript 1.5 Reference (日語版は整備中?)が良いのではないか、と思っています。 Mozilla のドキュメントかよ

  • TAKESAKO @ Yet another Cybozu Labs: Development Environment Conference 報告

    事前登録開始から最速4分で締め切られたという超人気カンファレンス Development Environment Conference (通称:DECON) に行ってきました。無理やり日語に訳すと「開発環境会議」ということで、Eclipse とか VisualStudio とかの話を期待していた人は完全にスルーでした。当にありがとうございました。スピーカー陣の構成からしてそのような話を期待していた人はいなかったと思いますけど。 ということで、DECONの各セッションで印象に残った点や感想をまとめてみました。 ■はてなと私の開発環境(伊藤直也) 会社では半分以上がプログラマ(21人中12人)で、11人がPerl使いで、1人がRuby厨。終始id:secondlife氏がネタにされていました。id:higepon氏はUbuntu Linuxを使っていて、その他の人は Windows coL

  • 31tools.com : ShareToDo

    Cybozu Labs At Cybozu Labs, designated as the R&D division of the Cybozu Group, we research and develop software technology that supports the next generation products and services, in a midium- to long-term perspective. Projects Block-level WAL for Efficient Backup and Replication iVoca kintone : Recommended Charts Language Detection Library for Java More…

  • Kazuho@Cybozu Labs: さらば Paged List

    « CBL Partial Updater | メイン | prototype.js のイベント順序 » 2005年09月16日 さらば Paged List サイボウズ・ラボでも好きな人が多い Ajax ですが、これまでのところ、部分差換の技術として利用されているケースが多いようです。しかし、 Ajax は遅延送信の技術としても利用することができます。 こちらのサイトをごらんください注1。 なんてことはない、ML のアーカイブ表示です (先頭の方の日語サブジェクトが化けているのはご愛嬌) 。ただ、従来の ML アーカイブと何が違うのかというと、メールの一覧を複数のページに分割せずに、表示している点です。 実は、このリスト、 Ajax で送信を遅延しています。50 件単位で、表示中の部分だけを転送するようになっているので、10000 件データがある場合でも、遅くなりません。 Gmail

    yass
    yass 2006/02/07
    Ajax は遅延送信の技術としても利用することができます。
  • 1