タグ

2014年7月1日のブックマーク (8件)

  • Perl (PSGI) で zip ファイルを動的に作りつつ順次クライアントに送りつける | tech - 氾濫原

    滅多にないことだと思うが、非常に大きな zip ファイルを動的に生成してダウンロードさせるみたいなことをしたいことがあるかもしれない。 Archive::Zip だとストリーム生成できないので、Archive::Zip::SimpleZip を使う。Archive::Zip::SimpleZip だとストリーム出力で file handle などに書き出せる。 これで一度ファイルに書いてから、そのファイルを sendfile 的にレスポンスしてもいいのだけれど、書いている間はクライアントからしてみれば完全に無反応になるので、場合によってはタイムアウトになってしまうことがある。そこでストリーム出力をそのままクライアントにストリームしたくなる。 簡単なコードにすると以下のようになった。Archive::Zip::SimpleZip にコールバックかオブジェクトを渡せたらいいが、渡せないようなの

  • 文節境界解析のラベルと性能 - skozawa's blog

    文節境界解析で使うラベルで、BIとBILUの2種類でどちらが性能がよいかを検証してみた。結果的にはBIだけのほうが性能が高かった。 前回の輪読会で紹介した固有表現抽出に関する論文の中で印象に残ったことのひとつとして、系列ラベリングに使うラベルで最近はBIOよりもBILOUを使ったほう性能が高いというものがあった。 BIO(Begin, Inside, Outside)とBILOU(Begin, Inside, Last, Outside, Unit(Begin and Last))の違いは固有表現の末尾を考慮するかどうかで、末尾を考慮したほうが性能がよいというもの。 社内輪読会で「Joint Inference of Named Entity Recognition and Normalization for Tweets」を紹介した - skozawa's blog Comainuでは、

    文節境界解析のラベルと性能 - skozawa's blog
  • Go/Migemo の紹介 — KaoriYa

    Migemo とは Migemo とはローマ字を入力して漢字を検索するためのライブラリです。詳しく言うとローマ字をひらがなへ変換し、そのひらがなを基に漢字として変換可能な候補を列挙し、それら複数の候補を合成して正規表現パターンを生成する、それが Migemo の主機能です。Migemo が生成した正規表現パターンを用いて検索すれば「ローマ字を入力すれば漢字を含む日語を検索できる」ようになるのです。 1つ具体的な例を示しましょう。ローマ字「kikai」を考えましょう。これはひらがなで示すと「きかい」です。漢字に変換すると「奇怪」「機械」「機会」…まだまだありますが、ひとまず複数候補があるということはわかります。ここまであげた5個の単語に一度にマッチする正規表現は以下のようになります。

  • The JSON SQL Injection Vulnerability

    tl;dr Many SQL query builders written in Perl do not provide mitigation against JSON SQL injection vulnerability. Developers should not forget to either type-check the input values taken from JSON (or any other hierarchical data structure) before passing them to the query builders, or should better consider migrating to query builders that provide API immune to such vulnerability. Note: 問題の発見者による日

  • SQL Translator - r7km/s

    SQL::Translator という、 SQLの構文解析器 + これを利用した便利なツール群を読んだ。 SQL::Translatorの使い方 とりあえずSQL Translatorの使い方を知らないことにはどうにもならないので、 使い方を調べて小さな動くコードを書くことに。 まず手元にbefore.sqlとafter.sqlという2つのSQLのファイルを用意した。 before.sqlでusersテーブルを作成し、更にafter.sqlitemsテーブルを作成している。 $ cat before.sql CREATE TABLE `users` ( `id` integer(10) unsigned NOT NULL AUTO_INCREMENT, `name` char(16) NOT NULL, PRIMARY KEY (`id`) ); $ cat after.sql CREA

  • MQTT and Node.js

    publish/subscribe protocol multiple quality of service level.. ..with at-least-once and exactly-once semantics low overhead (2 bytes at minimum) offline messaging retained messages, like a key/value store Small core, vibrant community Extreme modularity Reimplement everything in Javascript Why Node.js matters? high performance (2x at Paypal) faster application development (2x at PayPal) batteries

    MQTT and Node.js
  • TWiki − Perlで書かれたプログラマブルでglueでスケーラブルなCMS - YAPC::Asia Tokyo 2014

    TWiki as a programable and scalable CMS functioning as glue written in Perl twiki.orgという1998年から続いているオープンソースのウィキプラットフォームがありまして、それをモルガン・スタンレー証券のIT部門でグローバルに2004年から運用して単一のインストールに1万のウィキサイト、総計100万ページが載るに至り、その過程でオープンソースに貢献もした上での紹介です。 社内での利用は草の根的に広がったもので、その要因は、大きなIT組織内部(全世界で数千人、社内で最大の部門)で使うのに便利なCMS(Content Management System)であることです。TWikiが究極解であるとは思いませんが、この発表の中で述べるような機能を備えたCMSは大きなIT組織では非常に有用です。 TWikiを有用たらしめ

  • Gin Web Framework

    Gin Gonic The fastest full-featured web framework for Golang. Crystal clear. Performance and productivity can work together Gin is a web framework written in Golang. It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity, you will love Gin. Low Overhead Powerful API You can add global, per-group, and per-route middlewares,