{"url":"https://gfx.hatenadiary.org/entry/20110511/1305070379","provider_url":"https://hatena.blog","title":"\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089PSGI\u30a2\u30d7\u30ea\u3092\u4e00\u5ea6\u3060\u3051\u5b9f\u884c\u3059\u308b","description":"\u3068\u304d\u3069\u304dPSGI\u30a2\u30d7\u30ea\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u547c\u3073\u51fa\u3057\u305f\u304f\u306a\u308b*1\u306e\u3067\u3001\u30cf\u30f3\u30c9\u30e9\u3092\u66f8\u304d\u307e\u3057\u305f\u3002\u305d\u308c\u306a\u308a*2\u306b$psgi_env\u3092\u6574\u3048\u3066\u304f\u308c\u308b\u306e\u3067\u4fbf\u5229\u3067\u3059\u3002 https://github.com/gfx/p5-Plack-Handler-CLI http://search.cpan.org/dist/Plack-Handler-CLI/ `plackup -s CLI app.psgi`\u3067\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066REQUEST_URI\u3084QUERY_STRING\u3092\u6e21\u305b\u307e\u3059\u3002 $ plackup -s CLI app.psgi # Request: / $ plackup -s CLI ap\u2026","version":"1.0","type":"rich","blog_url":"https://gfx.hatenadiary.org/","author_name":"gfx","blog_title":"Islands in the byte stream (legacy)","author_url":"https://blog.hatena.ne.jp/gfx/","provider_name":"Hatena Blog","height":"190","categories":[],"image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgfx.hatenadiary.org%2Fentry%2F20110511%2F1305070379\" title=\"\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089PSGI\u30a2\u30d7\u30ea\u3092\u4e00\u5ea6\u3060\u3051\u5b9f\u884c\u3059\u308b - Islands in the byte stream (legacy)\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","published":"2011-05-11 08:32:59"}