タグ

ブックマーク / tkng.hatenablog.com (6)

  • 日本語入力を支える技術 振り返り、もしくは技術書を書きたい人へ - 射撃しつつ前転 改

    を書いてからこっち、年度末で忙しかったり、体調がずっと悪かったりしていますが、そろそろ気出します。正誤表も大幅にアップデートします。今書いてる。 今日は、を書いてみてどうだったか、ということをふり返る。たぶんこれでについて触れるのは最後かな。宣伝はたまにすると思いますが。 ※思いがけず大量にアクセスがあったから、最後に追記を書いたので、そっちも読んでね! を書いたきっかけ 会社の方でPFIセミナーという勉強会のようなものをやっており、なぜかそれがUStreamでインターネットに中継されているのだが、そこで日本語入力の話をしたら「書かない?」って話が来た。編集さんとは、その前年に会社に来たWEB+DB Pressの記事執筆依頼で記事を書いた際に知り合ったので、そういう意味では貪欲にチャンスを掴みに行った結果であると言えなくもない。 PFIセミナーがUSTで中継されるようになったの

    日本語入力を支える技術 振り返り、もしくは技術書を書きたい人へ - 射撃しつつ前転 改
    yujiorama
    yujiorama 2012/06/10
    執筆という業
  • 日本語入力を支える技術という本を書きました - 射撃しつつ前転 改

    (追記):「このに書かれていないこと」という項を追加しました。 以前も告知しましたが、日本語入力を支える技術というを書きました。技術評論社から2012年2月8日に発売されます。(私の知っている限りでは、ジュンク堂池袋店、有隣堂AKIBA店、丸善丸の内店、書泉ブックタワーでは既に先行販売しているよう…でしたが、ジュンク堂池袋店、有隣堂AKIBA店、書泉ブックタワーは先行販売分は売り切れの模様です。)どんななのか、目次などについては公式ページを参照していただくとして、以下ではどんななのか宣伝したいと思います。 こののキーワードは「実装」と「初心者向け」です。初心者でも実装ができるようにサンプルコードを多用し、また数式が出てくる部分に関してはちょっとしつこいぐらいに説明を加えました。私自身の経験からすると、を読んだで理解したと思っていても、大抵の場合、細かいところはわかっていないもの

    日本語入力を支える技術という本を書きました - 射撃しつつ前転 改
    yujiorama
    yujiorama 2012/02/05
    エンジン寄りの内容っぽい。そろそろ「日本語音声認識を支える技術」とかが一般向けに出版される、のかな?(大学生あたり向けにはすでに出てるし)
  • C++で例外を使ったプログラムをうまく書くにはどうすればいいのか - 射撃しつつ前転 改

    C++とはできるだけ離れた人生を送りたいと願ってきた。しかし、なかなかそうもいかず、最近はだんだんとC++の知識を学びつつある。今更C++を勉強するなんてちょっと出遅れすぎてるんじゃないかという気もするが、もうすぐ新規格であるC++0xもリリースされるはずであるし、意外とC++を学ぶにはいいタイミングかもしれない。 プログラムの品質はエラー処理をどこまで丁寧に書くかで決まる。エラー処理の書き方には、 エラーコードを返す(エラーコードを返せるように設計しておく) エラー時に例外を投げる の2種類があるが、今悩んでいるのはそのC++の例外についてである。 例えば、機械学習のツールを書くことを考える。このようなツールではデータをパースする部分を書く必要が出てくるだろう。1行に1つのデータが以下のような形式で書かれているものをパースしたい。 1 2:1 4:2 5:1 このデータをパースするコード

    C++で例外を使ったプログラムをうまく書くにはどうすればいいのか - 射撃しつつ前転 改
    yujiorama
    yujiorama 2010/08/06
    パースできなかった、は例外的なケースじゃないような気がする
  • 強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改

    タイトルはやや釣りぎみのような気もするが、この設定がないサーバで長時間作業したくない、と思う程度には便利なので、個人的には釣りではないと言える。 ctrl + 矢印で単語単位のカーソル移動 コマンドの真ん中あたりに間違いがあった場合、修正するためにカーソルを移動させるのはちょっとした苦痛である。デフォルトのキーバインドだと、emacsバインディングであればalt + bとかalt + nで単語単位で移動できるのだが、これは片手で打つと親指に無理がかかるキーバインドである。そこで、emacsと同じように、ctrl + ←→ で単語単位の移動を可能にしておく。ついでに、/は単語の一部と見做さない様に設定しておく。この設定により、長いパス名の中程に間違いがあった場合に修正するのが楽になる。 bindkey ";5C" forward-word bindkey ";5D" backward-wor

    強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改
    yujiorama
    yujiorama 2010/07/15
    Ctrl+b でbackward-word するためにbash使うときもあったので参考になった
  • Googleのトップページを開くと毎秒100回JavaScriptが実行されるよ - 射撃しつつ前転 改

    FirefoxがCPUを常に15%ぐらいうのが気になっていたので調べてみたら、Googleのトップページを開くとものすごい勢いでJavaScriptが実行されることがわかった。具体的には、var k=t.value;k!=h&&X(0);h=k というコードが毎秒100回実行されている。このせいで、自分の使っているPCだと、Googleのトップページを開くだけでCPU使用率が2%ぐらい上がっているようだ。Firefox特有の問題というよりは、ウェブページ側の作り方に依るものみたいだ。たぶん他のブラウザでも問題は変わらないだろう。 Googleのトップページの場合、コードを調べてみた限りでは、原因はどうも検索候補の自動補完用のコードみたいだ。現在の入力文字列が過去の記録と違ったら補完の提示をやり直す、みたいなことをやっているように見える。 HTMLではテキストボックス内のテキストが変更され

    Googleのトップページを開くと毎秒100回JavaScriptが実行されるよ - 射撃しつつ前転 改
    yujiorama
    yujiorama 2009/09/30
    特定のurlについてjs無効とかできないんだっけ?
  • Firefoxからsshのダイナミック転送を使って非公開サーバへアクセスする - 射撃しつつ前転 改

    sshにはダイナミック転送という機能がある。この機能を使うと、sshはアプリケーション側にはSOCKSプロクシとして振る舞うが、そこからsshの接続先までは暗号化された状態で通信が行われる。 これだけだと通常のトンネリングとどう違うのかよくわからないかもしれないが、ダイナミック転送の場合は転送ポートを指定する必要がない。ここがダイナミックと表現される所以だろう。 例えば、オフィスAにある開発サーバdev1にオフィス外からアクセスしたいとする。しかし、dev1はオフィス外には公開されておらず、踏み台サーバladd1を経由してしかアクセスするしかない。ladd1はsshのみが動いており、これまではsshのトンネリング機能を使ってアクセスしてきたのだが、ウェブアプリケーションをデバッグする際はいちいちウェブアプリケーションのポート毎にトンネルを掘るのが面倒くさい。オフィスに限らずデータセンターへ

    Firefoxからsshのダイナミック転送を使って非公開サーバへアクセスする - 射撃しつつ前転 改
  • 1