ブログのしゅーくりーむ

技術的なメモとかライフログとか。

文フリで配布するSF小説書いた

#bunfree 文ガクサークル大文妄、2017年11月23日の文学フリマ東京に、出ます。【ウ-77, 78】の合体劇場。ジャンルはSF、短編創作小説集、頒布価格は50円(予定)。未来でもきっと僕らは、アイも変わらず生き続けてるんだって、そんな風に思うのだ。— えむばー…

uniq を少し早く処理するツール "quniq" を作った

TLDR 重複行を除去する uniq コマンドを早く実行するツール "quniq" を Go で作ってみました。 github.com 自分が測った限りでは、他の重複除去を行なうワンライナーと比べて、処理に要する時間が少なくとも 1/3 程度になることが確認できました。 背景 みな…

Scala + Scio で Apache Beam あるいは Google Cloud Dataflow に入門する

Apache Beam データに対する ETL 処理を、様々なランタイムで同じコードで実行できるようにするものです。 これは Google Cloud Dataflow のモデルを元に OSS 化されたもので、バッチ処理とストリーム処理を(ほぼ)同じコードで実装できたり、 Hadoop や Sp…

AWS Lambda と CloudWatch を使ってローカルで動かしていたcronの処理をサーバレスにする

普通に生きていると「あっこのバッチ処理定期的に動かしたいな」と思うことがあると思われます。 自分もご多分に漏れずそうだったのですが、私物 PC で cron で回すのも煩わしい(外出中はスリープさせたいので)し、 VPS などでインスタンス借りるのも目的…

Mac で ngx_mruby 込みで nginx をビルドする際にいろいろハマってた

ちょっと前に解決した話なんですが備忘録的に書いておきます。 (2017/10/03 記述に漏れがあったので修正しました) 前提 最近の openssl の Formula は link を --force を付けたとしても禁止しています。理解はできるけどサクッとビルドしたい時にやや面倒・…

mruby を使ってワンバイナリで Serverspec のテストを実行可能にするツール "sssspec" を作った

ながすぎる;よんでない リポジトリは以下にあります。 本体 https://github.com/syucream/sssspec 関連 mrbgems https://github.com/syucream/mruby-rspec https://github.com/syucream/mruby-serverspec 以下のように spec を書いて… def __main__(argv) d…

技術書典2でmrubyに関する薄い本をだします

表題のとおりです。 4/9(日) アキバ・スクエアで開催される 技術書典2 にて mruby に関する薄い本を出します! う-10 サークル名「なるはやでいい感じにやるマン」*1です。 https://techbookfest.org/event/tbf02/circle/5686683802533888 主なターゲット読…

KVS をゆるくつなぐ mrbgem "mruby-neco" を作ってみた

あけましておめでとうございます。正月は実家に帰省してネコと戯れて過ごしました。 新年一発目の記事は、新しく作成した mrbgem "mruby-neco" を紹介してみます。 mruby-neco について mruby-neco は NoSQL Elastic Command Organizer の略としています。は…

Yahoo! JAPAN がオープンソースにした KVS "K2HASH" を mruby スクリプトから利用するための mgem "mruby-k2hash" をつくってみた

この記事は mruby Advent Calendar 2016 26 日目の記事です。・・・というのは嘘です! mruby Advent Calendar 2016 、つつがなく完走しましたね!みなさまお疲れ様でした! 本記事では表題の通り、 mruby-k2hash という mgem を作ってみたことに関する共有…

mrb_state を跨いで Proc オブジェクトをやり取りしたい話

この記事は mruby Advent Calendar 2016 11 日目の記事です。 Advent Calendar のネタとしてはやっぱりイカした mrbgem を作りました的な内容をブチ上げて行きたいところですが、残念ながらそのようなネタは思いつかず。 本記事では自分が拙作プロダクト ts_…

mruby の実装を読んで知見をまとめてみている

これは mruby Advent Calendar 2016 3 日目の記事です。 mruby に関するプロダクトを実装していると、 mruby 本体の実装に関して情報が欲しくなる場面があります。(ありますよね?) そんな時は Qiita 等巷で共有されている情報とか、あるいは 組込Ruby「mr…

ApacheTrafficServer と mruby で、 Key ヘッダ処理を実装してみる

こんにちは。一番好きな Key 作品は Air です。 本記事では draft-ietf-httpbis-key-01 - The Key HTTP Response Header Field により定義される、 "Key" という HTTP ヘッダフィールドによって実現されるセカンダリキャッシュキーの処理を、拙作プロダクト …

ts_mruby, Apache Traffic Server mruby extension version 0.1 released.

(日本語版は こちら) I released ts_mruby version 0.1, Apache Traffic Server(ATS) plugin that enables you write simple logic and configuration by mruby. In this entry, I write ts_mruby-0.1's features. ts_mruby-0.1 ts_mruby-0.1 supports featu…

ts_mruby-0.1 をリリースしてみました。さーて今後の課題は?

(English version is here.) このブログで何度か紹介している、 Apache Traffic Server(ATS) の設定やちょっとした制御ロジックを mruby で記載することを可能にするプラグイン、 ts_mruby の 0.1 バージョンをリリースしました。 せっかくなので本記事では…

C++ のラムダ式のデフォルトキャプチャの対象となる変数について確認していた

C++初学者なので勉強のため会社の有志の人々と Effective Modern C++ の輪読会をやっているのですが、その際にラムダ式のデフォルトキャプチャの挙動に関する話題になり、個人的に無性に気になってしまったので調べてみました。 もし誤りや補足などございま…

ts_mruby + mruby-mrmagick で画像リサイズするリバースプロキシをサクッと実装してみた

今日は夏コミのようですね!僕は今年は特に原稿を描いておらず用事も無いためコミケに縁のない夏を過ごしてしまいました。 ところで最近拙作の ATS(Apache Traffic Server) プラグインである ts_mruby にレスポンスボディをいじくるメソッドを追加し、ふと思…

週報仲間というやつを試してみる

プライベートにおける作業、たとえば英語の勉強だとかちょっとしたプロダクトを実装してみるとか、はたまたプラモデルを組み立てるだとかを実行しモチベーションを維持するのは、どうにも難しいように思えます。 僕の最近の実体験でいうと、去年電子ピアノを…

HTTP/2 のコネクション再利用について確認してみる

はじめに 本記事は http2 Advent Calendar 2015 の 12 日目の記事となります。 本記事では HTTP/2 における TCP コネクション再利用とその周辺仕様を確認してみようと思います。コネクション再利用の挙動を理解することは、実際の Web サイトにおける HTTP/2…

Apache Traffic Server の設定やちょっとした制御ロジックを mruby で書けるようになるかもしれないプラグイン書いてる

mod_mruby や ngx_mruby 、 h2o_mruby 、 libvmod_mruby など、さまざまな HTTP サーバの設定などを mruby スクリプトで書ける世の中になりつつありますね。 そんな風潮の後押しもあり、近頃、題意の通り mruby で ATS(Apache Traffic Server) の設定やヘッ…

JMeter で HTTP/2 リクエストを送れるようにするプラグインを書いてみた

表題の通り、 JMeter で HTTP/2 リクエストを送ることを可能にする HTTP2 サンプラーを追加するプラグインを書いてみました。 syucream/jmeter-http2-plugingithub.com 但し、今のところ単純な GET リクエストを、しかも 1 request / connection で送る程度…

RFC 7541 (HPACK) の日本語訳を公開しました

表題の通り、 RFC7541 "HPACK: Header Compression for HTTP/2" の 日本語訳されたドキュメント を公開しました。 今のところ GitHub の僕のリポジトリにて編集管理を行っています。(将来的には別の管理の仕方をするかもしれません) 前回日本語訳を行った…

HPACK draft-10 の日本語訳を公開しました

表題の通り、 HPACK draft10 の日本語訳されたドキュメント を公開しました。 今のところ GitHub の僕のリポジトリにて編集管理を行っています。(将来的には別の管理の仕方をするかもしれません) 問題点の指摘や翻訳の改善の Pull-Request 、大歓迎です。…

HTTP Alternative Services について

本稿は HTTP2 Advent Calendar 2014 20 日目の記事です。 本稿では HTTP/2 周辺のトピックでもやや地味な部類に入るであろう、 HTTP Alternative Services について簡単に触れていきます。 2014-12-21 19:20 用語の修正 概要 HTTP Alternative Services とは…

Maygh: Building a CDN from client web browsers (EuroSys'13) を読んだ

はじめに 本稿は システム系論文紹介 Advent Calendar 2014 14 日目の記事です。 Maygh: Building a CDN from client web browsers (EuroSys'13) という論文を読みました。ざっくりと内容紹介や所感を記述します。 概要 Maygh は Web ページで要求される静的…

ISUCON4 オンライン予選に参加した所感など

ISUCON4 のオンライン予選に参加したので簡単に所感をまとめてみます。 チームは @AknEp くん, @suma90h くんと一緒に組みました。 チーム全体でやったことは @AknEpくんのブログ でまとめられているので、本記事では僕のやったことと反省点・感想などにフォ…

Wireshark 1.12.0 でHTTP/2サポートが入ったらしい

前々から Wireshark で HTTP/2 対応されるという話がありましたが、 1.12.0 で正式にサポートされたようです。 2.5. New Protocol Support ... Speed LAN Instrument Protocol (HiSLIP), HTTP2, IDRP, IEEE 1722a, ILP, iWARP Direct Data Placement and Rem…

RFC 7230 における HTTP/1.1 の同時接続数について

今日よく使われるWebブラウザは、ドメイン毎に複数コネクションを張ってWebページの表示までにかかる時間を短縮しています。 この同時接続数については、 High Performance Browser Networking では 6 個だと書かれています。(この値はブラウザの実装依存な…

F2FS(Flash-Friendly File System) を試してみる。

このエントリは、 カーネル/VM Advent Calendar 2013 の 19日目の記事として書いています。 こんにちは、 @syu_cream です。 本記事では SSD に特化したファイルシステムであるところのF2FS(Flash-Friendly File System) の軽い説明を入れつつ、試しに使って…

ATSのドキュメント翻訳活動とその周辺

このエントリーは、 Doc-ja Advent Calendar 2013 の 17日目の記事として書いています。 前日の担当者は、@okano_t さんです。 どうもこんにちは、 @syu_cream です。 主に、最近やっている Apache Traffic Server のドキュメント翻訳についてつらつらと書い…

ChefのcookbookでLXCのコンテナのパッケージや設定を管理する

みんな大好きコンテナ仮想化。LXC非常に便利です。 しかし使い捨ての環境を作っては破棄するその度に、パッケージ導入を繰り返すのはなかなかしんどいと思われます。 そこで、Chefのcookbookでコンテナに入れるパッケージなどを管理しましょう。 環境 ホスト…