タグ

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

  • 日本のウェブデザインがこんなに悪い^H^H違う理由

    Why Japanese Web Design is so… Different?(なぜ日のウェブデザインはこんなに…違うのか?) というのが、はてなブックマークで人気になっていたので読んでみました。 英語 […] Why Japanese Web Design is so… Different?(なぜ日のウェブデザインはこんなに…違うのか?) というのが、はてなブックマークで人気になっていたので読んでみました。 英語で日のウェブデザインを語る記事は、良くわかってないものも多いのですが、今回のはかなり正確に現状やその理由を捉えているように思いました。ポイントをざっとまとめます。 禅庭などの文化、建築などで知られる日のデザインが、ウェブについては15年も古く見えるのはなぜか? 人気サイトとして楽天を例に (同様の例としてヤフージャパン、ニコニコ、JR東日、読売新聞なども) 詰め込ま

    日本のウェブデザインがこんなに悪い^H^H違う理由
    hideoki
    hideoki 2013/11/13
  • イギリスのRubyカンファレンスBritrubyが人種・性別差別問題で開催中止に

    英国ルビーカンファレンス(BritRuby)が、登壇者の人種・性別問題によって中止される、というニュースをVentureBeat経由で知りました。 BritRubyは、来年の3月中旬の2日間、イギリスのマンチェスターで開 […] 英国ルビーカンファレンス(BritRuby)が、登壇者の人種・性別問題によって中止される、というニュースをVentureBeat経由で知りました。 BritRubyは、来年の3月中旬の2日間、イギリスのマンチェスターで開催が予定されていたRuby on Railsコミュニティによるカンファレンスで、500名の参加者、20名のスピーカーを見込んでいたようですが、この登壇者がすべて「白人の男性」だったことが、今回の開催キャンセルの遠因のようです。 HackerNewsでの議論の中で指されている問題の開始点がこの一連のツイートだというのが当であれば、「参加者が全員白人

    イギリスのRubyカンファレンスBritrubyが人種・性別差別問題で開催中止に
    hideoki
    hideoki 2012/11/19
  • Kazuho@Cybozu Labs: JavaScript の文字列定数でエスケープが必要な文字

    IE、 Firefox、 Safari ともに ECMAScript の仕様を満たしていません。IE6 は ECMAScript の仕様に対して上位互換だと言えるでしょうから、実質的に問題を抱えているのは Firefox のみ、ということになるのでしょうか。JSON を使う際には、注意が必要、と。 Firefox に関して言えば、 (Control Character があるとエラーになるのではなく読み落とすという性質からして) 仕様ではなくバグだと考えるのが妥当なのかなと思いました。 参考: テストコード 10:28 追記: NUL 文字について表に含めるのを忘れていたので追加しました 10:48 追記: Safari を追加 2009/02/17 追記: Firefox のバグは 2008 年 8 月に修正されたようです (ChangeLog の3.147)

    hideoki
    hideoki 2010/11/24
  • Kazuho@Cybozu Labs: Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法

    « Q4M (Queue for MySQL) 0.3 リリース | メイン | Q4M Version 0.4 で高速なクローラを書いてみた » 2008年04月04日 Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 Perl でマルチプロセス処理を行う場合は Parallel::ForkManager を使うというのが定番かと思います。しかし、このモジュールはシグナル処理を前提とした作りになっていない注1ため、シグナルを受信するまで動き続けるようなサーバを書きづらい、という問題がありました。 そこで、Parallel::ForkManager の API は、ほぼそのままに、シグナル処理が可能なプロセス管理モジュールを作ることにしました。それが Parallel::Prefork です。Parallel::Prefork を使うことで、Gracef

    hideoki
    hideoki 2009/10/19
  • ブラウザのアドレスバーに動くアスキーアートを組み込む | 秋元@サイボウズラボ・プログラマー・ブログ

    ドイツの会社がウェブでおこなった、ちょっと変わったプロモーション。 GoogleのAdWordsにアスキーアート(AA, Ascii Art)を組み込んで誘導した(これも面白い。AdWordsの禁止文字に引っかからなかったのかな)先のページでは、ブラウザのアドレスバーのURLがアスキーアートでアニメーションする。 Firefox3でだけ動いていたというそのページのアドレスは、 http://www.mietwagen.de/sixt 残念ながらもう存在しなくなっているようなのだけれど、アニメーションする様子を動画で保存していた人がいた。 URLの後半が長いアンダースコアになっていて、右端から車やバイクが走ってくる。 via Advertising Lab [追記] ジョバンニが一晩で、じゃなかった、id:amachangが数十分でやってくれました この記事は移転前の古いURLで公開された時

    hideoki
    hideoki 2009/01/14
  • Kazuho@Cybozu Labs: なぜサイボウズ・ラボで働くのか

    « ウェブサービスの SSD 化について話してきました | メイン | MySQL の order by 〜 limit を高速化する方法 » 2008年12月08日 なぜサイボウズ・ラボで働くのか 12月6日に大阪で開催されたサイボウズの採用説明会で、話をさせていただきました。大学生の方々向けということで、あまり技術面に振ったプレゼンをするのもどうかと悩んだ末、自分が、なぜサイボウズ・ラボで働いているのか、ということを、大学生の頃から振り返ってみることにしました。 ふだん、しなれていない類いの話なので、うまく伝わったか、正直不安です。ただ、自分自身にとっては、何が好きなのか、何がやりたいのか、ということを改めて見つめ直すいい機会になりました。また、来場者の方々といろいろ話をできたことも、自分にとっていい刺激になったと感じています。 ですので、ご来場いただいた方々には、サイボウズに興味をも

  • Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

    « Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに

  • Kazuho@Cybozu Labs: Perl から MySQL に非同期アクセスする方法

    « サーバシグニチャは隠さないのが当たり前 | メイン | swifty-0.02 と Perl バインディング » 2007年09月10日 Perl から MySQL に非同期アクセスする方法 mod_perl のプロセス内でやるのに POE でイベントループ回せ、ということ? もうちょいkwsk! > b:id:kazuhooku naoyaグループ - naoyaの日記 - 非同期SQLサーバ エントリ全体の趣旨はさておき、ソケット通信を非同期化するためにまた別のソケット通信を行うという使用例に違和感を覚えたのですが、回避策としてブクマコメントで提示した POE::Component::EasyDBI も内部で fork (&プロセス間通信) してるんですね。変なコメントしてごめんなさい忘れてください。って、それだけではなんなので... ここから題。 私はそういうケースに遭遇したこ

  • 市販のプリンターは印刷時に追跡用の隠しコードを描き込んでいるものがある

    どのプリンターで印刷したか、調べたらわかる? プリンターによっては、印刷した際に肉眼では見つけづらい黄色の点を勝手に印字することで、その紙に印字したプリンターのメーカー名や機種名、プリンターのシリアルナンバーや印刷日時ま […] どのプリンターで印刷したか、調べたらわかる? プリンターによっては、印刷した際に肉眼では見つけづらい黄色の点を勝手に印字することで、その紙に印字したプリンターのメーカー名や機種名、プリンターのシリアルナンバーや印刷日時までが読み取れるようになっているらしい。 顕微鏡で拡大したイエロードットの写真 この件自体は、2005年に一度話題になっていた。 スラッシュドット ジャパン | Xeroxプリンタの印刷物に追跡コード HotWired Japan ユーザーの知らぬ間に「追跡コード」も印刷 最初聞いたときは頭の悪い陰謀論みたいな話だ、と思ったけど、これを調べて注意を呼

  • log4ZIGOROu : Gearmanを使ってみた

    daemonの起動 下記のようにdaemonとして起動します。 daemon起動オプションに関してですが、PODの記載は誤りで--daemonizeでは無く--daemonです。 $ sudo gearmand --daemon --pidfile=/var/log/gearmand.pid --debug=1 関数の登録 次にgearmanに実行させたい処理を予め登録し、さらにjob queを待ち受けるworkerを記述します。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Gearman::Worker; use Storable qw(thaw); use List::Util qw(sum); my $worker = Gearman::Worker->new; $worker->job

  • Kazuho@Cybozu Labs: E4X-XSS 脆弱性について

    « 安全な JSON, 危険な JSON (Cross-site Including?) | メイン | JSONP - データ提供者側のセキュリティについて » 2007年01月10日 E4X-XSS 脆弱性について Firefox でサポートされている JavaScript 拡張 E4X (ECMA-357) では、JavaScript 内に XML とほぼ同様のマークアップ言語を記述できるようになっています。しかし、マークアップ言語の解釈にはいくつかの違いがあり、この点をついたクロスサイトスクリプティングの可能性が (相当に小さいものの) 存在します。攻撃者は、 ウェブアプリケーションに E4X として解釈した場合に実行コードとして解釈されるコードを注入 (XSS) し、 1 のコンテンツを <script> タグを用いて参照するような別のウェブサイトを用意し、攻撃対象にアクセスさせ

  • Kazuho@Cybozu Labs: クロスサイトのセキュリティモデル

    « Japanize - IE 系の User JavaScript エンジンに対応しました | メイン | 安全な JSON, 危険な JSON (Cross-site Including?) » 2007年01月04日 クロスサイトのセキュリティモデル あけましておめでとうございます。 昨年、社内で「XMLHttpRequest は何故クロスサイトで使えないのか。画像や SCRIPT タグは使えるのに」という疑問 (というより試問) を耳にしました。おもしろい話なのでブログネタにしようと思っていたのですが、新年早々 GMAIL の事例がスラッシュドットされていたので、自分の現時点での理解をまとめてみることにしました。文書を確認して書いているわけではないので、間違いがあれば指摘してください。また、よい参考文献をご存知の方がいらっしゃいましたら、教えていただければ幸いです。 ウェブブラウザ

  • TAKESAKO @ Yet another Cybozu Labs: Web2.0時代のAjax Binary Hacks

    ※公開用にいくつか手を加えてあります 前フリが長いとのツッコミがありましたので、今回の発表内容を少し要約してみたいと思います。 1. GIF Format Hacks (Server side) まずは、任意のpixelサイズ(幅・高さ)を持った画像ファイルを固定長の35byteで出力する方法 #!/usr/bin/perl use strict; use warnings; sub create_gif { my $size = pack "S2", @_; return "GIF89a$size\xf0\x00\x00\x00\x00\x00\xff\xff\xff," . "\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02L\x01\x00;"; } print "Content-Length: 35\n"; print "Content-Ty

  • Kazuho@Cybozu Labs: キーワード抽出モジュールを作ってみた

    « IIS のログを tail -f | メイン | Lingua::JA::Summarize 0.02 » 2006年04月26日 キーワード抽出モジュールを作ってみた 一昨日、同僚の竹迫さんに、文書内からのキーワード抽出技術について教えてもらっていた時、わざわざ TF-IDF注1 用に別のコーパスを用意しなくても、MeCab だったら生起コストを辞書内に持っているんだから、それを使えばいいのではないか、という話になりました。 竹迫さんがその日のうちに作ってくれたプロトタイプで、アルゴリズムの改善とパラメータのチューニングを行ったところ、十分な品質が出そうなので、書き直して公開することにしました。 普通の Perl モジュールなので、 perl Makefile.PL && make && make install すれば使うことができます (15:50追記: すみません。 MeCab

    hideoki
    hideoki 2006/04/28
    日本語特徴抽出
  • ライブドア次世代テクノロジーセミナー第1弾/TAKESAKO @ Yet another Cybozu Labs

    木ヒルズで開催されたライブドア次世代テクノロジーセミナーに、会社の同僚の秋元さんと一緒に行って来ました。 当社は長い受託ビジネスやWEB開発から蓄積した、膨大な経験と実績を使い、現在UU14,336千人、月間約22億PVというポータルサイト 「livedoor」を構築するまでになりました。そこには飽くなきローコストへの挑戦と、多くの優秀なエンジニア、更には膨大なインフラを支えるネットワークエンジニアによる日々の汗と苦労の結晶です。今回は、それらの技術面及びインフラ面のノウハウの一端を、皆様の成功の鍵にしていただきたく紹介をさせていただきます。 定員50名の募集に対して、告知後数時間で150名超の申し込みがあった いわば選ばれた者だけが参加できた貴重なセミナーでした。 ■参加者のレポート [システム運用] ライブドア 次世代テクノロジーセミナー http://pmakino.jp/tdi

  • 秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い

    さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考え […] さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考えた。 それは、日プログラマーだけが使う謎の動詞 registについてである。そんな単語は存在しないから、ちゃんと “register” を使おう。 Google.com で regist.cgi を検索 Google.com で regist.php を検索 出てくるのは日語のサイトばっかりである。拡張子を”.jsp” や “.asp” にし

    秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い
    hideoki
    hideoki 2005/11/14
    これからは regi で
  • 秋元@サイボウズ研究所プログラマーBlog: 日本一影響力のあるブログって?

    Bloglines 社の購読者統計情報の一部が Web2.0 カンファレンスで披露されたらしい。 1800万といわれる世界中のブログに対して、Bloglines で一人でも購読している、つまり「誰かが読んでいる」ブログは 1,356,081 ブログ。9割超のブログは誰にも読まれてないことになる。 20人以上に購読されているブログの数は、世界で 36,930 個。2ヶ月前からはじめたこのサイボウズ研究所プログラマーブログも、おかげさまで現在 42 購読者。なんとかこのカテゴリに入ることができた。 とても有名で、1000人以上が購読しているブログとなると、その数は一気に減って 437 個。この 437 個のブログの書き手は、ひとつエントリを書くごとに 1000 人以上に物事を伝える力があることになるわだ。 ブログの数と RSS の数をごっちゃにしてる(ブログじゃなくても RSS は発行している

    秋元@サイボウズ研究所プログラマーBlog: 日本一影響力のあるブログって?
    hideoki
    hideoki 2005/10/12
  • 1