タグ

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

  • wが二つ重なった文字「ʬ」がバイラビアル・パーカッシブだと調べる方法

    もともと2ちゃんねるで回答されたものみたいですが、「wが縦に二つ重なった文字の出し方教えて」という質問に対して、「ʬ」を出したり、その読み方が「バイラビアルパーカッシブ」だと回答した人はどうやって調べたんでしょうね。 そ […] もともと2ちゃんねるで回答されたものみたいですが、「wが縦に二つ重なった文字の出し方教えて」という質問に対して、「ʬ」を出したり、その読み方が「バイラビアルパーカッシブ」だと回答した人はどうやって調べたんでしょうね。 その回答者がこれを使ったかどうかはわかりませんが、ユニコード内の文字だと、ShapeCatcherというサイトで調べられます。 左側のボックスに、マウスで探したい文字を書き、”Recognize”(認識せよ)をクリックすると、下にそれに近い文字が列挙されます。wを縦に二つ書いてみましょう。 コード 0x2ac のラテン文字 bilabial perc

    wが二つ重なった文字「ʬ」がバイラビアル・パーカッシブだと調べる方法
  • Minteye – 捻じ曲げられた画像をスライドして正しく直すことで人間であることを判定する新方式のCAPTCHA

    [追記 2018-02-29] Minteyeのサイト自体に接続できない状態になっているのに気づきました。リンク先の実験ページについても、どのみち動かないので plugin を外しています。 (以下オリジナル) CAPT […] [追記 2018-02-29] Minteyeのサイト自体に接続できない状態になっているのに気づきました。リンク先の実験ページについても、どのみち動かないので plugin を外しています。 (以下オリジナル) CAPTCHA(キャプチャ)は、人間にはできるけれどコンピュータープログラムでは解けないような問題を答えさせることによって、ブログや掲示板のコメント欄などで人間の利用者にしか書き込みができないことを保証するための仕組みです。パスワードを忘れた時の再発行ページなどでも使われることが多く、ネットをよく使っている人なら、色や形を変えて読みにくくした文字列を打たさ

    Minteye – 捻じ曲げられた画像をスライドして正しく直すことで人間であることを判定する新方式のCAPTCHA
  • mitsunari@cybozu labs: MD5 アーカイブ

    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ライセンス

  • 書評: 社内ブログ 導入・運用ガイド | 秋元@サイボウズラボ・プログラマー・ブログ

    していただいたもの 社内ブログ 導入・運用ガイド/木村早苗 著/株式会社ドリコム 内藤裕紀、安藤正樹 監修/技術評論社 社内ブログ・イントラブログ、と言われる、会社の中で(だいたいはインターネットとは切り離され、閉じて)運営されるブログシステムについて、豊富な導入例や製品紹介とあわせて、導入や運用のためのノウハウを解説している。 サイボウズ・ラボの親会社のサイボウズも社内ブログシステムを出しており、取り上げられている。 全体的な主張としては、グループウェアではフォーマルなデータしか書かれず、社員のカジュアルなコミュニケーションが推進されないので、社内にブログを持つのがいいですよ、ということか。ブログに限らず、インターネット上でユーザの人気を集めて社内システムに持ってくる話は多い。ソーシャルブックマークやソーシャルネットワーク、Q&Aサイトなどもそのパターンに入る。 コミュニケーションを

  • GoogleにSEOの何たるかを教えるサイト | 秋元@サイボウズラボ・プログラマー・ブログ

    via del.icio.us/popular これが現在のグーグル。リンクを集めてGoogleでの順位を上げるという意味では、はなはだ心もとないウェブデザインと言わざるを得ない(と作者が思ったかどうかはわからんが)。 魅力的なサイトにして、Googleで上位表示させるためには、もっといろいろな工夫が必要である。 上記のリンク先から青い吹き出しの解説を辿っていけば最後まで見ていける。解説の内容を確認したい人のために、下におおまかな訳をつけておく。 リンクを適切に増やし、コンテンツの場所をGoogleに教えなければならない 毎日新しいコンテンツを増やし、外部からのリンクを増やさないと、Googleは重要なサイトとは思ってくれない S.B.S.F(ソーシャルスパムブックマークファシリテーター)を追加して、ソーシャルなリンクをたくさん獲得しよう 関連するキーワードの密度を上げよう。「サーチ」を9

    GoogleにSEOの何たるかを教えるサイト | 秋元@サイボウズラボ・プログラマー・ブログ
  • 秋元@サイボウズラボ・プログラマー・ブログ: 誠実なお店の看板

    via del.icio.us/popular バイク店にかかっていた正直な看板の写真だそうで。 「良いサービスを、安く、早く。3つのうちどの2つでもお選びいただけます」 良いサービスを安く、という場合は時間がかかります 良いサービスを早く、という場合はお代がかかります とにかく安く早く、という場合はサービスの質を落とさせていただきます ソフトウェアの開発も同じことで、3つを同時にいくらでも満たすのは無理。できますと言うエンジニアがいたら詐欺師かダンピングのどっちかだろう。 機能とコストと納期は、x-y-zの三軸に張り付いたゴムの膜みたいなもので、一つをグーッと引っ張ろうとすると、他の二つがつられて短くなっていくものだ。 相手が顧客でも営業でも、それまで無かった新しい制約条件を追加されたときに、「それを実現すると、代わりにこれが犠牲になります」と言えなければ、プロジェクトを制御しているとは

    秋元@サイボウズラボ・プログラマー・ブログ: 誠実なお店の看板
  • Premailer 外部CSSをインライン化するサービス | 秋元@サイボウズラボ・プログラマー・ブログ

    via del.icio.us/popular Premailerは、URLを与えるとそのページを一つのHTMLやテキストファイルに整形してくれるというサービス。 ページが外部CSSでデザインされていても、それらのデザイン指定を、HTML中の各タグに埋め込んでくれるため、一枚のHTMLになる。 どんなときに便利かといえば、すでに存在するウェブページからHTMLメールを作成するときだろう(テキストへの変換を使えばテキストメールでも) 試してみたけど、日語はUTF-8であってもだめっぽい。 Rubyで書かれていて、開発中のソースコードも公開されている。ので、直して連絡するか直して自分で動かすか(GPLらしい)することはできるだろう。 ブラウザで動くじゃないけど、あとで読むはページからHTMLメールに変換して送ってくれるので、機能的には同等といえるのかな。日語も通るし。 この記事は移転前の古

  • 出張Shibuya.js 24の発表資料 (mitsunari@cybozu labs)

    (いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

  • 実行時のインライン+ループ展開による高速化例 (mitsunari@cybozu labs)

    出張Shibuya.js 24の発表資料の中の,JavaScriptで実行時に関数を書き換えることで高速化する例を紹介します.オリジナルアイデアはokuさんで,JavaScriptの勉強のために私もやってみました. ここでは二つの関数unrollLoop()とforceInline()を作ってみました.たとえば, add3 : function(y) { return y + 3; } と addF : function(x) { var z = 2; for (var i = 0; i < 3; i++) { z += this.add3(i); } return z; } という関数があるとします. addF()に対してblowfish.js(仮実装なので実用性はまだありません)にあるunrollLoop()を適用すると,addF()が書き換えられて function(x) { var

  • UGCと活発なユーザの参加率の関係 | 秋元@サイボウズラボ・プログラマー・ブログ

    ユーザジェネレーテッドコンテンツ(UGC)を企業が活用するには、というマッキンゼイのレポートが出ている(無料・要登録)。 レポートは企業内での情報共有にWikiその他のユーザ参加型ウェブアプリケーションを使う話がメイン。日よりも人の入れ替わりが激しい国の企業では、新しく入ってきた人が既存の情報をいかに早く取得するか、そのために今いる人たちがどれだけわかりやすく情報を整理できるかがより重要になる、という話もわかる。 レポートの中で、インターネット上のUGC(あるいはCGM)について、全体の参加者の何パーセントが、全体のコンテンツの何パーセントを生み出している、という数値をプロットしたグラフが出ていた。 Flickrでは2%の人で9割以上のコンテンツを、YouTubeでも6%が全体の9割を作成している、というようなグラフで、総じてこの手のサイトのほとんどのコンテンツは、せいぜいで10%の参加

    UGCと活発なユーザの参加率の関係 | 秋元@サイボウズラボ・プログラマー・ブログ
  • Webページの本文抽出 (nakatani @ cybozu labs)

    Webページの自動カテゴライズ の続き。 前回書いたとおり、パストラックで行っている Web ページのカテゴライズでは、Web ページの文抽出がひとつの鍵になっています。今回はその文抽出モジュールを公開しつつ、使っている技法をざっくり解説などしてみます。 モジュールの利用は至極簡単。require して analyse メソッドに解析したい html を与えるだけ。文字コードは UTF-8 です。 【追記】大事なこと書き忘れ。モジュールは Ruby1.8.5 で動作確認していますが、特別なことはしていないので、1.8.x なら動くと思います。 $KCODE="u" # 文字コードは utf-8 require 'extractcontent.rb' # オプション値の指定 opt = {:waste_expressions => /お問い合わせ|会社概要/} ExtractCont

  • Webページの自動カテゴライズ (nakatani @ cybozu labs)

    パストラックは、「社会」「政治」「スポーツ」などのカテゴリごとにページのランキングを見る機能があります。 パストラックの注目・人気・定番のページ一覧で右上のセレクトボックスからカテゴリを選ぶと、そのカテゴリの一覧が表示されます。 例: 「政治」の人気ページ一覧(人気ページ=昨日・今日あたりによく見られたページ)http://pathtraq.com/popular?category=Politics「スポーツ」の注目ページ一覧(注目ページ=ここウン時間によく見られたページ)http://pathtraq.com/popular?m=upcoming&category=Sports「車/二輪」の人気ページ一覧http://pathtraq.com/popular?category=Motor「/グルメ」の注目ページ一覧http://pathtraq.com/popular?m=upcomi

  • 秋元@サイボウズラボ・プログラマー・ブログ: Seam Carving - 自然な画像リサイズを動的に行なうソフトウェア

    via Digg Siggraph2007で発表されたというSeam Carving技術。そのSeam Carving for content-aware image resizingという動画で解説されているのは、画像 […] via Digg Siggraph2007で発表されたというSeam Carving技術。そのSeam Carving for content-aware image resizingという動画で解説されているのは、画像内のひとまとまりの図形・物などの形を維持したままで、不要な部分を削って縮めることができるという技術。(論文 pdf) 説明がわかりにくくて申し訳ない。見てもらったほうがぜったい早い。 オリジナルのQuickTime動画はこちら これを使うと、写真の中の鍵となる写真や人物を常に保存しつつも、見ているPCや携帯端末の画面サイズに合わせてイメージを縮める

    秋元@サイボウズラボ・プログラマー・ブログ: Seam Carving - 自然な画像リサイズを動的に行なうソフトウェア
  • 秋元@サイボウズラボ・プログラマー・ブログ: reCAPTCHA - キャプチャを利用した人力高性能OCR

    reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっ […] reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっては難しい)クイズのことだ。ある程度ウェブを使っている人なら、ネットサービスの登録時やコメントの書き込み時などに、読みにくく加工されたアルファベットを読まされたりした経験があるだろうと思う。 それらのサイトでは、あなたが人間にしかできないクイズを解いたのを見て、ユーザ登録やコメントの投稿を受け付けたりする仕組みになっているわけだ。文字を読む以外のC

  • flowr - 外付けwebフレームワーク - のプレゼン動画を公開しました (nakatani @ cybozu labs)

    LL魂 のライトニングトークで発表しました「外付け Web フレームワーク flowr」のプレゼン資料を動画に落とし込みましたものを公開いたします。 IronPython/WPF でプレゼンツールごと制作してしまったので、さすがにそのままでは配布できず(プレゼンの閲覧には .NET Framework 3.0 と IronPython 1.1 と CPython 2.5 のインストールが必要です!?)、プレゼン内容を Flash にて動画キャプチャしたものとなっています。 ファイルサイズが12MBと巨大なため、上記リンクをクリックした先に置いています。 先頭のネタ部分は削ろうかとも思ったんですが、まあ実害無いので残しておきましたw flowr の詳細や、ダイジェストではないプレゼン資料(字幕付き?)、flowr そのものの公開のお知らせなども blog で今後行っていきますので、よろし

  • sha1.js (mitsunari@cybozu labs)

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

  • 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ライセンス

  • Yahoo形態素解析サービスを使って閲覧中ページのキーワードクラウドを表示するGreaseMonkeyスクリプト (nakatani @ cybozu labs)

    « Twitter & もごもごクライアント Twiggee 新版リリース | メイン | Javascriptでdiffる ( with 形態素解析 ) » Yahoo形態素解析サービスを使って閲覧中ページのキーワードクラウドを表示するGreaseMonkeyスクリプト Yahoo! Japan から 日形態素解析Webサービス がリリースされて、「ほほう」と思っている人も多いかと思います。 mecab などをサーバにインストールすれば今まででも形態素解析を使用したサービス(特に需要が多いのは分かち書きかな?)を提供することは可能だったわけですが、形態素解析は結構重い処理なので、非力なサーバだと少々しんどくて困っていたり、そもそもそういったアプリケーションをインストールできないサーバなために形態素解析の利用を断念していたなんて人には結構朗報かもしれません。 個人的には JSONP に

  • LingrTickr - 誰でもニコニコメソッドプレゼン (nakatani @ cybozu labs)

    プレゼンしているその画面の上に、聞いている人達のコメントがニコニコ動画風に流れるのが楽しいそうで。それ、Yahoo! Widgets でできるよ。 というわけでさっくり作ってみたのが LingrTickr です。 まず、名前からわかるように Lingr のルームを一つ作ります。 そしてプレゼンに使うパソコンにて LingrTickr 起動し、設置画面でその Lingr のルームIDを指定します。文字サイズ、フォント、流れるスピードなどもこの設定画面から行います。 これでそのルームでのチャット内容が画面上を流れます。簡単。 マウスやキーボードの全ての操作を透過するので、プレゼンツールによらずニコニコメソッドなプレゼンを展開して、愛のあるツッコミを全身で享受することが可能です。 ちなみに、チャット文の先頭に "green:", "red:", "blue:", "yellow:" などを付ける

  • Javascript で既存関数にエラー処理を追加 (Shibuya.es #3) (nakatani @ cybozu labs)

    Shibuya.es、じゃなかった、Shibuya.es #3 行ってきました。 デブサミでの Shibuya.* はやっぱり場所柄からか少々おしとやかやってんなあ…… どの話もおもしろかったんですが、nazoking さんの "WiiでSAGOOL" が個人的にプチツボだったので、ちょっぴり検証してみました。 一般化すると「元のソースをできるだけ汚染しないで、関数にエラー処理を追加する」ということですから、いわゆるアスペクト指向うんぬんが得意としている領域ですよね。 確か nazoking さんの方法は(以下、記憶で書いているので間違ってたらすいません)、エラー処理を行うラッパーを用意し、関数呼び出しをそのラッパー経由で行うよう、呼び出し側を自動的に書き換えるというもの。 これにより外部参照しているスクリプトについては書き換えることなくエラー処理が追加される。一方 html 内に記述され