タグ

ブックマーク / blog.kazuhooku.com (6)

  • Fastly に入社しました

    Summary in English: Joined Fastly, will continue my work on H2O there as an open-source developer. 2017年1月1日付で、Fastly 社へ転職したので報告いたします。 過去5年間、DeNA では R&D 的な立場から、様々な基盤的ソフトウェア(オープンソースになったものもありますし、クローズドなものもあります)の開発に携わってきました。 最近2年間は、同社のゲーム用サーバに端を発するオープンソースの HTTP/2 サーバ「H2O」の開発に従事してきましたが、その実装品質が高く評価され、世界有数のコンテンツ配信ネットワーク(CDN)である Fastly で採用された他、大規模なウェブサービス事業者で採用にむけた動きが進むなどの成果が出つつあります。 また、H2O における実装経験をもとに、H

    taketyan
    taketyan 2017/01/12
  • 雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは!

    逆に言うと、Rubyの文字列型の内部実装がropeになれば、freezeしてもしなくても変わらない速度が出るようになって、結局freezeする必要なんてなかったんやーで丸く収まるんじゃないの?と思いました #雑な感想 — Kazuho Oku (@kazuho) October 6, 2015とツイートしたところ、処理系の中の人から @kazuho 文字列を弄る話じゃなくて、文字列の identity の話なので、ちょっと関係ないかなぁ、と — _ko1 (@_ko1) October 6, 2015みたいなツッコミをもらって、うっすみません…ってなってRuby VMのコードを読むことになったわけです。 で、まあ、いくつか気になる点があったので手をつけてしまいました。 1. オブジェクト生成のホットパスの最適化 ホットスポットだとされていたところのコードを読んでると、オブジェクト生成の際に

    taketyan
    taketyan 2015/10/08
    kazuho さんが Ruby 高速化戦争に参戦する様子がスマブラ風に脳裏を
  • [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015

    [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015 Happy Holidays! Today I am delighted to announce the first release of H2O, version 0.9.0; this is a christmas gift from me. H2O is an optimized HTTP server with support for HTTP/1.x and the upcoming HTTP/2; it can be used either as a standalone server or a library. Built around PicoHTTPParser (a very efficient HTTP/1 parse

    [Ann] Initial release of H2O, and why HTTPD performance will matter in 2015
  • 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: 問題の発見者による日

    taketyan
    taketyan 2014/07/01
    リクエストパラメータに連想配列が入り込む要素を想定すべきということか / 値の型によって挙動が違うのも良くないってことかな。演算子ごとにメソッド分かれてれば防げそう / あとこういう汎用ライブラリはアプリケー
  • Kazuho's Weblog: 良いソフトウェアに求められる3点セットとJSXの開発手法の改善とgit-pushdirについて

    テスト駆動開発(TDD)の一般化とGitHubの登場によって、機能追加の際にコードとテストを同時に実装する(そして、両者を一括してmasterにmergeする)という開発手法が一般化してきました。 しかし、「良いプログラム」の要素を構成するのは、コードとテストのみではありません。動作するコードと、その品質を担保するためのテストがあったとしても、適切なドキュメントがなければ、ユーザーはそのプログラムをどうやって使ったら良いかわかりません。 つまり、ユーザーに使いやすいプログラムを継続的に開発/提供しようと思うと、 コード テスト ドキュメント の3点セットを提供する必要があるのです注1。 今日のJSXが抱えている最大の課題は、ドキュメントが不足しているという点にあります。その原因は、「機能追加」の際にコードとテストのみを実装してmasterにmergeすることを繰り返す一方で、ドキュメントは

    taketyan
    taketyan 2014/05/09
    これは本当にそう思う / コードとドキュメントのリポジトリを一緒にすることで、タグ指定するだけで特定のバージョン時点での仕様とかも確認できるようになる、という利点も
  • もうひとつの知られざるオープンソース 〜 ウェブ企業のOSS戦略

    「オープンソースソフトウェア(OSS)」と聞いて、あなたがイメージするものはなんですか? 多くの人は Linux や Apache、Firefox といった成功した大規模なソフトウェア製品を思い浮かべることでしょう。 実は、ウェブ上でサービスを提供する会社のエンジニアたちは、これらとは別の種類のOSSを使って仕事をしています。このブログエントリでは、そのようなOSSを紹介し、それらがなぜ開発され使われているかを説明したいと思います。 ■ウェブ企業におけるOSS開発の実例と合理性 下の図は、Perl で記述される大規模ウェブアプリケーションの一般的な構成を示しています注1。このうち、「自社ロジック」と書かれているところ以外は、全てオープンソースとして開発/公開されているモジュール(ソフトウェア部品)です。各社のエンジニアが密接に協力しながら、ミドルウェアをオープンソースとして整備していること

    もうひとつの知られざるオープンソース 〜 ウェブ企業のOSS戦略
    taketyan
    taketyan 2013/11/15
    すごくあたりまえのことが難しく書かれてるという印象。Web エンジニアじゃない人に向けて書かれてるのかな。
  • 1