ブログのしゅーくりーむ

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

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でコンテナに入れるパッケージなどを管理しましょう。 環境 ホスト…

ここ最近の勉強会の資料をSlideShare に掲載しました

ただし,あまり真面目に作り込んでない. テーマは以下の通り. 「Nested VMMとはなんぞや」 2012/09/22 カーネル/VM探検隊@つくば 発表資料「Nested VMMとはなんぞや」 from syu_cream * 「Nested VMM環境でBitVisor を動かしてみるテスト」 2012/10/24 s…

HLS(Http Live Streaming)形式のストリーミング動画を、Android のVideoView で再生する

HLS(Http Live Streaming)はApple の提唱するストリーミング用プロトコルの一種です。 https://developer.apple.com/resources/http-streaming/ iOS端末向けに開発されている模様ですが、Android でも3.0 以上なら再生できる模様。 http://developer.android…

電話の着信やSMSの受信を、Twitter のDMで通知するAndroid アプリ作りました

タイトルの通り。 電話の着信やSMSの受信時、Twitter にて自分自身のアカウントに向けてDMを送信することで通知を行うAndroid アプリ「Call Notifier」を作成し、Google Play にて公開しました。 https://play.google.com/store/apps/details?id=jp.syucream…

移行しました.

はてなダイアリーの記事を,はてなブログに移行する為のインポート機能が提供されている様ですね. http://staff.hatenablog.com/entry/2012/05/31/152104 というわけで,ダイアリーの方の記事をこちらに移行しました. 今後もこちらで記事を書いて行く筈.…

良さげな仮想化周りの資料

先日,BHyVe Hackathon などという面白そうなイベントがあったらしいです. 僕は参加していないのですが,ustream 配信やTwitter のタイムライン追っていると面白そうだなーなど.ところで,このハッカソン用のページに仮想化周りのスマートな資料へのリンク…

クトゥルフの呼び声TRPGの、キャラクターの能力値を自動生成するスクリプト書いた

書きました。 探索者の能力値作成に手を抜きたい、NPCの能力値をサクッと生成したいという場合に使うと良い。 基本ルールブックに乗っている算出方法に従い、乱数生成と単純な計算のみを行い、難しいことはしてません。使い方は普通にスクリプトを回すだけ。…

read システムコールで直接ディスクデバイスを読むだけのコードを書いた

個人的なベンチマーク用に,エントリ名のようなコードを書いた. システムコールを叩くようなコードを書いたのは久しぶり.https://gist.github.com/2436216 純粋なディスクI/Oの処理性能を測りたいのだけど,どこまで潜ればよりよい性能測定が出来るだろう…

はてなブログを開設したり。

はてなブログの方でも、ちらほら記事を書こうと思います。http://syucream.hatenablog.jp/ しばらくは、純粋に技術的寄りなトピックはこちら、その他ははてなブログでという感じに使い分けそうですが、将来的には向こうに統合するかも知れませんし、その前に…

Auto Network Switcher その後

Google Play にて公開中の拙作アプリ「Auto Network Switcher」ですが、ユーザさんから色々コメントを頂き、改善出来そうな点が幾つか発見出来ている状態です。 とりあえず、以下の点は修正したいなと思っております。 電波強度を加味したネットワーク機能の…

OProfile の解析結果出力時にハマった

Linux のカーネルレベルのイベントを含むプロファイリングが可能なツールであるOProfile を使用していたのだが,途中,opreport コマンドによる解析結果出力時に,以下のメッセージが吐かれ詰まったりしていた. opreport error: Invalid sample file, bad m…

iOS版Vim でコードリーディングがしたかった

iOS

僕はどうにも、ディスプレイ上に投影されたコードを読むのが苦手なのです。 昔は、コードをまず印刷し紙の上で処理を追っていた程までには。 しかしながら、印刷してコードを読むのは、手間がかかるし場所を取るし、加えて紙の無駄遣いにも繋がります。 さて…

はてなブログはじまります。

http://d.hatena.ne.jp/syu_cream/ から、そろそろ引っ越してこようと思います。 技術的な備忘録や読んだ論文の雑感、果てはライフログまでつらつらと記述していこうと予定しています。

Android で、WiFi やBluetooth を有効にしたまま機内モードに移行する

機内モードへ移行する時は、例えば以下のようにするわけだが、機内モードに移行する際、WiFi とBluetooth 通信もOFFになる。 Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1); Intent intent = new Intent(Inte…

Auto Network Switcher 0.5 アップデート

ネットワーク接続を自動的にON/OFFするAndroidアプリ「Auto Network Switcher」を0.4.1 へアップデートしました。https://market.android.com/details?id=jp.syucream.ans&feature=search_result 更新箇所は以下の通り WANに繋がるWiFi 接続が可能になったと…

Perl Packager でスクリプトを集約

久々にPerl でちょっとしたスクリプトを書いたのですが、実際にスクリプトを使ってもらう方がエンジニアでは無い為「cpan でモジュールインストールとかよく分からない」などという事が。 思うところもある場面だったので、pp(Perl Packager)でスクリプトと…

SSD時代のファイルシステム選択について考えてみる

この記事は、カーネル/VM Advent Calendar の、12/28 日目の記事です。 はじめに ご存知の通り、近年ハードディスクに代わるストレージとして、SSD(Solid-State Drive) が普及してきています。 SSDはフラッシュメモリと高性能なコントローラを搭載した、高…

Auto Network Switcher アップデート

ネットワーク接続を自動的にON/OFFするAndroidアプリ「Auto Network Switcher」を0.4.1 へアップデートしました。https://market.android.com/details?id=jp.syucream.ans&feature=search_result 更新箇所は以下の通り アプリ起動中の、ステータスバーへの通…

OSのブートとサスペンドによる消費電力についての一考

OS起動時は、デバイスやシステムの初期化、各プロセスの立ち上げなど仕事が多く存在し、これが結構な電力消費になります。 そして頻繁に起動/シャットダウンするような場合には、サスペンドを利用した方がトータルで見た消費電力が低くなります。(起動も速…

Redmine がError message: Cipher is not a module で動かない件

自宅のサーバ上で、Redmine をPassenger でデプロイしているのですが、いつの間にかアクセス時にエラーを吐くようになっていました。 環境は以下の通り。 $ cat /etc/redhat-release CentOS release 5.7 (Final) $ ruby -v ruby 1.8.7 (2010-01-10 patchleve…

最近の事、睡眠障害の事

最近、夜に上手く寝付けない事が多く困っています。 それゆえ、バイトや講義、ゼミにほとんど睡眠をとれていない状態で参加せざるを得ず・・。 もう8月中旬くらいからこの状態になっていたので、いい加減病院に行こうかと考えています。 眠れない。その原因…

Auto Network Switcher アップデート

ネットワーク接続を自動的にON/OFFするAndroidアプリ「Auto Network Switcher」をアップデートしました。https://market.android.com/details?id=jp.syucream.ans&feature=search_result 更新箇所は以下の通り 通話中に誤って機内モードへ移行しないようにし…

IntelliJ IDEA 上でAndroid アプリのパッケージ名変更時に気を付けたいこと

IntelliJ IDEA を使用してAndroid アプリを書いているのですが、リファクタ機能を用いてパッケージ名を変更した後、ビルドは通るものの以下のようなエラーが吐かれアプリの起動が上手く行かない・・・などといった症状に陥りました。 ActivityManager: Start…

rspec の実行を加速しストレスフリーな開発環境へ

クーガーの兄貴は言いました。「お前に足りないものは、それは〜 情熱思想理念 ... (中略) ... 速さが足りない!!」さて最近Rails アプリケーションのテストをrspec で記述しているのだけど、テスト数が1000 を越えてくるとなかなかどうして全てのテスト…

Android でソフトウェアバックキーを提供する

iOSアプリをAndroidに移植したい時に需要が有る筈。 iOSアプリの、画面上部にあるBackボタンをAndroid でも提供しますBack ボタンと同じ動作をさせたいのなら、普通にActivityを終了させればOK Button backButton = (Button)findViewById(R.id.backkey); bac…

ネットワーク接続を自動的にON/OFFするAndroidアプリ「AutoNetworkSwitcher」を公開しました。

最近趣味で作ったAndroidアプリを、Android Market にて公開しました。ネットワーク接続を自動的にON/OFFするAndroidアプリ「AutoNetworkSwitcher」 https://market.android.com/details?id=jp.syucream.ans&feature=search_resultこのアプリはネットワーク…