その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

YAPC::Kansai 2017 OSAKAで「Webアプリケーションのキャッシュ戦略とそのパターン」と言うタイトルで喋ります

表題のとおりです.喋ります.詳細は以下のリンクを参照ください.http://yapcjapan.org/2017kansai/talks.html#talk-22ここ1,2年ずっとキャッシュと密にやっていく仕事 (サービス) をやっていて,それにより給料と言う名のキャッシュを得て生活していたわ…

mcrouterはget-multiリクエストを個別のgetリクエストに分割する

mcrouterという,Facebookが作っているmemcachedの為のルータがあります.「ミクルーター」と発音するようです *1.mcrouterは多機能なルータであり,シンプルなルーティング (例えば乱択やhash basedなど) からfailoverを前提とした大規模なクラスタのルー…

memcachedのconn_yieldsはどういう時に増えるのか

memcachedの conn_yieldsはどのような時に増えるのかという話です.なおmemcachedはテキストプロトコルかつデフォルトの設定で実行しているものとします (なお,この記事で重要なのは -R がデフォルト,つまり20ということです).memcached の conn_yields …

Test::Fluent::Logger書いた

表題の通りです.Perl5の話です.CPANにもあげてあります.https://metacpan.org/pod/Test::Fluent::Logger何をするモジュールかというと,useするだけでFluent::Loggerのpost及びpost_with_timeの内容をインターセプトして,本来送るべき宛先には送らずに内…

最近のgitを使った開発フローについて

git

最近のgitを使ったWebアプリケーションのプロジェクトの開発フロー (主にブランチ運用) について記すものです. なお前提としてGitHub Enterpriseを利用しています. git-flow 大上段に構えたもののあまり特殊なことはしていなくて,基本的にgit-flowをその…

builderscon tokyo 2016で話してきました

去年の話を今するのはどうかという感じですが *1,表題の通りbuilderscon tokyo 2016で話してきました.builderscon.ioビールサーバーを作ったという話です.スライドは以下です.speakerdeck.com発表ではデモも行ったのですが,サーバから水が一瞬吹き出て…

Vimでコードをペーストする時にauto indentなんだかスマートな言語syntax解釈なんだかよくわからねえがとにかくインデントが崩れたり,突然ある行以降全部コメントになったりしてああああああああって時

vim

タイトルの通りです.:set pasteと打てば良い.ずっと知らなかったので今までの自分に苛立った一方感動のあまりデプロイが大成功するなどしました. なお戻す時は:set nopasteとすれば良い.ところで今までどうやってこうした問題を解決していたかというと,…

req_mirror書いた

req_mirrorというサーバアプリケーションを書いた.受け取ったHTTP requestをJSONにserializeして,responseに詰めて返してくれるというやつ.つまりHTTP requestをおうむ返しにしてくれる雰囲気です.鏡的な挙動なのでreq_mirrorという名前にした次第.gith…

PHPでテストに使うための空きポートを取ってくる

php

kazuhoさんのこの記事と同じことがPHPでも出来る.d.hatena.ne.jp

最近の社内Wikiの書き出し

最近,社内Wiki書く時にその記事の頭に「この記事で分かること」というセクションを持ってくるようにしている.こんな感じ.wikiのページを開いた時に真っ先に「どういう情報が得られるか」が書いてあると,取捨選択を早い段階から行えるので調べ物のスピー…

golangで書いたツールをCircleCI上でビルドしてその成果物をGitHub Releasesにリリースする

表題の通り.いくらかポイントがあったのでメモとして記す.基本的にこの記事の内容を真似した.medium.comあらかじめ,CircleCIの側の設定でGITHUB_TOKENという環境変数を登録しておく.なおGitHubのPersonal access tokenにはrepoのpermissionを付与してお…

linenotcatをhomebrewでインストール出来るようにした

この前書いたlinenotcatをhomebrew経由でインストール出来るようにしました.そうすると便利だと思ったからです. linenotcatはこんなの.要はコマンドラインからLINE Notifyにメッセージを投げつけられるツールです.もともとはGitHub Releasesにビルド済み…

「Open Beer Serverの理論とその実装」というタイトルでbuilderscon tokyo 2016にて発表します

builderscon.ioで表題の通り発表します.builderscon.io内容としては物理のビールサーバをイチから組み立てて,更にそのビールサーバにHTTPを喋らせるという何を言ってるんだかよくわからない感じですが当方至って真剣です. ビールサーバってどうやって動い…

linenotcatというツールを書いた

LINE Notifyが便利でよく使っています.LINE Notifyが何かとか何が便利なのかとかをご存じない方はコマンドラインから LINE にメッセージを送れる LINE Notify « LINE Engineers' Blogを読んでいただければと思いますが,あえてものすごくざっくり説明すると…

GuiceとSpringを共存させたい

もともとGuiceを使っているプロジェクトがあってそれをSpringに移植したい,だとか,Guiceをバリバリ使っているコンポーネントをSpringのアプリに組み込むことで資源の再利用をしたい,だとか,そういう事になることがある.あるのです.この前実際になった…

Springの起動時に好きな画像をAAにして表示する

Spring Boot 1.4.1 1.4.0 (訂正しました.詳細は id:dayflower さんのコメントを参照下さい) の機能として,Springの起動時に任意の画像をAAとして表示できる機能が追加されたようです. なんかここに書いてた.www.infoq.comやり方は非常に簡単で, banner.…

ソフトウェアライセンスのURLが軒並みhttpsが使えた

READMEだとかLICENSEファイルだとかに書くソフトウェアライセンスの文言には,そのライセンスのURLが含まれていることが多いと思う. 最近ソフトウェアライセンス文言をめちゃめちゃ書く事があって,その時にふと「ライセンスのURLは軒並みhttpで表記されて…

雑に特定のホストの特定のポートと疎通できてるかどうか確かめる

新しくサーバ立てた時やサーバ追加した時に,そのサーバが他のホストの特定のポートと疎通できるかどうかチェックする必要が出てくる時がある.ACLとかの兼ね合い. そういうのは本番の環境だと監視のシステム等に組み込まれていたり,あるいはserverspecと…

tinyorm 1.11.0 is out

tinyormのversion 1.11.0が出ました.Maven Repository: me.geso » tinyorm » 1.11.0新しい機能としてはに書いたように Connection を2つ持てるようになった Lazily な connection borrowing に対応した という2つが挙げられます. rc1の時点では中々にバギ…

ltsv_exporter書いた

ltsv_exporterというPrometheusのexporterを書いた.その名の通り,LTSV形式のテキストを読み込んでPrometheusが解釈できる形式に吐き出すexporter.利用方法としては2つのパターンを想定している.1つはリモートで配信されているLTSVを読むというスタイル.…

CasperJSを使ってGrafanaのグラフのスクリーンキャプチャを撮る

最近はサーバのメトリクス収集にPrometheus,その可視化の為のフロントエンドとしてGrafanaをハードに使っている.Grafanaは予想よりもはるかに格好良いグラフが生成されるのでやる気が出て良い.デモを触るとなんとなく温度感がわかると思う. そうしている…

そして物語は何度目かのアプリ内通知再実装を迎える

というタイトルでKyoto.なんか #2で発表してきました. そして物語は何度目かのアプリ内通知再実装を迎える / Reimplement in app notification // Speaker Deckスライドの内容としては,アプリ内通知 (Twitter appで言うところの「通知」タブにあたる部分) …

Guice で独自の scope 切って inject したいって時

これを見ると良い.要は CDI のようなものをやるという話である. CustomScopes · google/guice Wiki · GitHub ここに書かれているように,1. 任意の Scope を表す annotation を作る 2. Scope を実装する 3. Scope の実装と annotation を紐付ける (これは …

tinyorm 1.11.0.rc1 is out

tinyorm 1.11.0.rc1 が出ました.以下の様な変更が入っています. Connection を2つ持てるようになった 「Read/Write できる connection」と「Read だけができる connection」の2つの connection を持てるようになりました.tinyorm は内部でクエリのタイプ …

thin-cacheというJava向けのキャッシュライブラリ書いた

thin-cacheというキャッシュライブラリ書いた.いつものようにmaven centralにも置いてある.そしていつものようにJava 8以降が対象となっている.maven centralMicroservicesみたいな感じでサービスを作っていると,他のサーバにrequestを飛ばして得られた…

Docuss というテストとドキュメント出力を一緒にやるライブラリ書いた

Docuss というものを書いた.Java のライブラリ.なお Java 8 以上じゃないと動かない.どんなライブラリかというと, HTTP request を対象 URI に送り,それによって得られた response の内容をテストする為のラッパ的な機能を提供する response のテストが…

YAPC Asia Hachioji 2016 に行ってきた & 喋ってきた

YAPC Asia Hachioji 2016 に行ってきて,ついでに喋ってきました. 諸般の事情で2日目しか行けなかったんですが,濃いトークをたくさん聞けて良かった.特に,@neko_gata_s さんの M-V-Whatever の話 は非常に参考になって良かった.ああした知識の裏付けが…

YAPC::Asia Hachioji 2016 の2日目で喋ります

各位お疲れ様です. さて表題の通り,YAPC::Asia Hachioji 2016 の2日目16時から, 「突如見知らぬ言語に出会ってしまった俺達は」というタイトルで発表します.どんな話をするかというと,まあプロポーザルに書いてあるとおりなんですが,新しい言語とかを…

sprint という Java の string formatter を書いた

sprint という Java 向けの String formatter を書いた.Maven Central にも置いてある.http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.moznion%22%20AND%20a%3A%22sprint%22sprint は Sprint#ff() というメソッドを提供している.使い方としては…

git-reviewer 書いた

git

code review の reviewer 選出をする時,pull request の内容をざっと眺めてから「この部分だから XX さんかな」とか「あそこのコードは YY さんが詳しいだろう」とか,そういう感じで選ぶことが多くて,つまりは勘と経験で選びがちになってしまう.これにつ…