{"id":586,"date":"2021-02-26T17:18:24","date_gmt":"2021-02-26T08:18:24","guid":{"rendered":"http:\/\/www.opentone.co.jp\/ot-lab\/?p=586"},"modified":"2025-05-12T10:06:21","modified_gmt":"2025-05-12T01:06:21","slug":"amon2-starman%e3%81%a7%e4%bd%9c%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e3%83%87%e3%83%bc%e3%83%a2%e3%83%b3%e5%8c%96%e3%81%97%e3%81%9f%e3%81%a8%e3%81%8d%e3%81%ae%e3%80%81%e3%82%a2","status":"publish","type":"post","link":"https:\/\/www.opentone.co.jp\/ot-lab\/all\/web-system\/amon2-starman%e3%81%a7%e4%bd%9c%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e3%83%87%e3%83%bc%e3%83%a2%e3%83%b3%e5%8c%96%e3%81%97%e3%81%9f%e3%81%a8%e3%81%8d%e3%81%ae%e3%80%81%e3%82%a2","title":{"rendered":"Amon2 + Starman\u3067\u4f5c\u3063\u305f\u30a2\u30d7\u30ea\u3092\u30c7\u30fc\u30e2\u30f3\u5316\u3057\u305f\u3068\u304d\u306e\u3001\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u306e\u8a2d\u5b9a"},"content":{"rendered":"\n<p>\u3053\u3093\u306b\u3061\u306f\u3001maruchang\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u65e5\u306f\u30ed\u30b0\u8a2d\u5b9a\u306e\u304a\u8a71\u3002<\/h2>\n\n\n\n<p>\u3068\u3044\u3063\u3066\u3082\u4e00\u822c\u7684\u306a\u8a71\u3067\u306f\u306a\u304f\u3001Perl\u3067\u4f5c\u3089\u308c\u305fWebApplicationFramework\u306eAmon2\u3068\u3001\u540c\u3058\u304fPerl\u3067\u4f5c\u3089\u308c\u305fWebServer\u306eStarman\u3092\u4f7f\u3063\u3066\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u3092\u4f5c\u3063\u305f\u5834\u5408\u306e\u3001\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u8a2d\u5b9a\u65b9\u6cd5\u306e\u304a\u8a71\u3002<br>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Amon2\u306e\u4e2d\u3067\u30ed\u30b0\u8a2d\u5b9a\u3092\u5b8c\u7d50\u3055\u305b\u3001\u306a\u304a\u304b\u3064\u30ed\u30fc\u30c6\u30fc\u30c8\u3055\u305b\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3059\u308b\u3088\uff01<\/p>\n\n\n\n<p>Amon2\u3084Starman\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u308c\u305e\u308c\u306e\u30b5\u30a4\u30c8\u3084\u30b0\u30b0\u3063\u3066\u8abf\u3079\u3066\u307f\u3066\u306d\u3002\u3053\u3053\u3067\u306f\u8a73\u7d30\u3092\u7701\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/amon.64p.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Amon2 &#8211; Web application framework for Rapid web development<\/a><\/li><li><a href=\"http:\/\/search.cpan.org\/~tokuhirom\/Amon2-3.77\/lib\/Amon2.pm\" target=\"_blank\" rel=\"noreferrer noopener\">Amon2 &#8211; search.cpan.org<\/a><\/li><li><a href=\"http:\/\/search.cpan.org\/dist\/Starman\/lib\/Starman.pm\" target=\"_blank\" rel=\"noreferrer noopener\">Starman &#8211; search.cpan.org<\/a><\/li><\/ul>\n\n\n\n<p>plackup\u3067\u30a2\u30d7\u30ea\u3092\u8d77\u52d5\u3057\u305f\u5834\u5408\u306f\u3001\u30b3\u30f3\u30bd\u30fc\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u308b\u308f\u3051\u3060\u3051\u3069\u3001Starman\u3092\u4f7f\u3063\u3066\u30a2\u30d7\u30ea\u3092\u8d77\u52d5\u3057\u3066\u30c7\u30fc\u30e2\u30f3\u5316\u3057\u305f\u5834\u5408\u306f\u3001\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u304c\u3069\u3053\u306b\u3082\u51fa\u529b\u3055\u308c\u306a\u304f\u306a\u308b\u3002&#8211;access-log\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3048\u3070\u51fa\u305b\u308b\u3093\u3060\u3051\u3069\u3001\u30ed\u30b0\u8a2d\u5b9a\u306f\u30a2\u30d7\u30ea\u5074\u3067\u884c\u3044\u305f\u3044\uff01\u3057\u304b\u3082\u3001\u3053\u306e\u65b9\u6cd5\u3060\u3068\u30ed\u30fc\u30c6\u30fc\u30c8\u306f\u5225\u9014\u7528\u610f\u3057\u306a\u304f\u3061\u3083\u306a\u3089\u306a\u3044\u3002<\/p>\n\n\n\n<p>\u3067\u3082\u3001\u4ee5\u4e0b\u306e\u624b\u6cd5\u3092\u4f7f\u3046\u3068\u3001\u30c7\u30fc\u30e2\u30f3\u5316\u3057\u305f\u3068\u304d\u306b\uff08plackup\u3067\u8d77\u52d5\u3057\u305f\u3068\u304d\u3082\uff09\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u3092\u6240\u5b9a\u306e\u5834\u6240\uff08\u30d5\u30a1\u30a4\u30eb\u3067\u3082\u30b3\u30f3\u30bd\u30fc\u30eb\u3067\u3082\uff09\u306b\u51fa\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff01\u3084\u3063\u305f\u305c\uff01<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f7f\u7528\u3059\u308b\u306e\u306f\u3001Log::Dispatch\u3068Plack::Middleware::AccessLog\u3002<\/h2>\n\n\n\n<p>\u3060\u3051\u3069\u3001\u305d\u306e\u307e\u3093\u307e\u4f7f\u3046\u308f\u3051\u3067\u306f\u306a\u304f\u3001Amon2\u304c\u63d0\u4f9b\u3059\u308b\u6a5f\u80fd\u306b\u306e\u3063\u3051\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u307e\u305a\u3001Amon2\u306e\u30a2\u30d7\u30ea\u3092\u7528\u610f\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u3053\u3067\u306f\u3001\u30d5\u30ec\u30fc\u30d0\u30fc\u3092Lite\u306b\u3057\u3066\u4f5c\u3063\u305f\u30a2\u30d7\u30ea\u3092\u524d\u63d0\u306b\u9032\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[sourcecode]\namon2-setup.pl --flavor=Lite MyApp\n[\/sourcecode]<\/pre>\n\n\n\n<p>\u3067\u3001app.psgi\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304d\u307e\u3059\u3002\u5358\u306b\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u3092\u6240\u5b9a\u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u3084\u30b3\u30f3\u30bd\u30fc\u30eb\u306b\u51fa\u3059\u3060\u3051\u3067\u3042\u308c\u3070\u3001\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308c\u3070\u7d42\u308f\u308a\u3068\u3044\u3046\u7c21\u5358\u3055\uff01<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[sourcecode]\nuse Log::Dispatch;\n\n# http:\/\/search.cpan.org\/~drolsky\/Log-Dispatch-2.35\/lib\/Log\/Dispatch.pm\u304b\u3089\u5f15\u7528\nmy $access_log = Log::Dispatch-&gt;new(\n    outputs =&gt; [\n        [ 'File',   min_level =&gt; 'debug', filename =&gt; 'logfile' ],\n        [ 'Screen', min_level =&gt; 'warning' ],\n    ],\n);\n[\/sourcecode]<\/pre>\n\n\n\n<p>\u4f55\u3092\u3084\u3063\u3066\u3044\u308b\u304b\u3068\u3044\u3046\u3068\u3001\u307e\u305a\u306f\u6307\u5b9a\u3057\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067Log::Dispatch\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u3063\u3066\u3044\u308b\u3002\u305d\u3057\u3066\u3001__PACKAGE__-&gt;enable_middleware\u3092\u4f7f\u3063\u3066\u30a2\u30d7\u30ea\u8d77\u52d5\u6642\u306bPlack::Middleware::AccessLog\u3092\u6307\u5b9a\u3057\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8aad\u307f\u8fbc\u3093\u3067\u3044\u308b\u3002\u3053\u306e\u6642\u306b\u3001\u6700\u521d\u306b\u4f5c\u6210\u3057\u305fLog::Dispatch\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092logger\u306b\u6307\u5b9a\u3057\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u306a\u304a\u3001Log::Dispatch\u3084Plack::Middleware::AccessLog\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u308c\u305e\u308c\u306eSYNOPSIS\u3092\u53c2\u7167\u3057\u3066\u304f\u308c\u3002<br>\u3067\u306f\u8d77\u52d5\u3057\u3066\u78ba\u8a8d\u3057\u3066\u307f\u3088\u3046\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[sourcecode]\nstarman -D --port 5000 app.psgi\n[\/sourcecode]<\/pre>\n\n\n\n<p>\u3070\u3063\u3061\u308a\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u304c\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3060\u3002<\/p>\n\n\n\n<p>\u3067\u306f\u3001\u3053\u3053\u307e\u3067\u306e\u30b3\u30fc\u30c9\u5168\u6587\u3092\u8f09\u305b\u3066\u304a\u304f\u3088\u3002\u3042\u3001\u8a71\u306f\u7d9a\u304f\u304b\u3089\u6c17\u3092\u4ed8\u3051\u3066\uff01<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[sourcecode]\nuse strict;\nuse warnings;\nuse utf8;\nuse File::Spec;\nuse File::Basename;\nuse lib File::Spec-&gt;catdir(dirname(__FILE__), 'extlib', 'lib', 'perl5');\nuse lib File::Spec-&gt;catdir(dirname(__FILE__), 'lib');\nuse Amon2::Lite;\n\nour $VERSION = '0.01';\n\nuse Log::Dispatch;\n\nmy $access_log = Log::Dispatch-&gt;new(\n    outputs =&gt; [\n        [ 'File',   min_level =&gt; 'debug', filename =&gt; 'logfile' ],\n        [ 'Screen', min_level =&gt; 'warning' ],\n    ],\n);\n\n# put your configuration here\nsub load_config {\n    my $c = shift;\n\n    my $mode = $c-&gt;mode_name || 'development';\n\n    +{\n        'DBI' =&gt; [\n            'dbi:SQLite:dbname=$mode.db',\n            '',\n            '',\n        ],\n    }\n}\n\nget '\/' =&gt; sub {\n    my $c = shift;\n    return $c-&gt;render('index.tt');\n};\n\n# load plugins\n__PACKAGE__-&gt;load_plugin('Web::CSRFDefender');\n# __PACKAGE__-&gt;load_plugin('DBI');\n# __PACKAGE__-&gt;load_plugin('Web::FillInFormLite');\n# __PACKAGE__-&gt;load_plugin('Web::JSON');\n\n__PACKAGE__-&gt;enable_session();\n__PACKAGE__-&gt;enable_middleware('AccessLog', format =&gt; 'combined', logger =&gt; sub {$access_log-&gt;log(level =&gt; 'debug', message =&gt; @_)});\n\n__PACKAGE__-&gt;to_app(handle_static =&gt; 1);\n\n__DATA__\n\n@@ index.tt\n&lt;!doctype html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;title&gt;MyApp&lt;\/title&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;script type=\"text\/javascript\" src=\"http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.8.0\/jquery.min.js\"&gt;&lt;\/script&gt;\n    &lt;script type=\"text\/javascript\" src=\"[% uri_for('\/static\/js\/main.js') %]\"&gt;&lt;\/script&gt;\n    &lt;link rel=\"stylesheet\" href=\"http:\/\/twitter.github.com\/bootstrap\/1.4.0\/bootstrap.min.css\"&gt;\n    &lt;link rel=\"stylesheet\" href=\"[% uri_for('\/static\/css\/main.css') %]\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=\"container\"&gt;\n        &lt;header&gt;&lt;h1&gt;MyApp&lt;\/h1&gt;&lt;\/header&gt;\n        &lt;section class=\"row\"&gt;\n            This is a MyApp\n        &lt;\/section&gt;\n        &lt;footer&gt;Powered by &lt;a href=\"http:\/\/amon.64p.org\/\"&gt;Amon2::Lite&lt;\/a&gt;&lt;\/footer&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\n@@ \/static\/js\/main.js\n\n@@ \/static\/css\/main.css\nfooter {\n    text-align: right;\n}\n[\/sourcecode]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u3053\u308c\u3060\u3051\u3067\u3082\u3044\u3044\u3093\u3060\u3051\u3069<\/h2>\n\n\n\n<p>\u672c\u7a3c\u50cd\u3057\u305f\u5f8c\u306f\u65e5\u3005\u306e\u30ed\u30b0\u3067\u80a5\u5927\u5316\u3057\u3066\u3044\u304f\u3057\u3001\u30ed\u30fc\u30c6\u30fc\u30c8\u3055\u305b\u305f\u3044\u3068\u3044\u3046\u8981\u671b\u3082\u3067\u3066\u304f\u308b\u3088\u306d\u3002\u305d\u3053\u3067\u767b\u5834\u3059\u308b\u306e\u304c\u3001Log::Dispatch::FileRotate\uff01<br>\u3053\u3044\u3064\u306f\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u307e\u305f\u306f\u65e5\u4ed8\u3067\u30ed\u30fc\u30c6\u30fc\u30c8\u304c\u3067\u304d\u3066\u3057\u307e\u3046\u512a\u308c\u3082\u306e\u3067\u3042\u308a\u3001\u306a\u304a\u304b\u3064\u3055\u3063\u304d\u306e\u30b3\u30fc\u30c9\u3067\u4f7f\u3063\u305fLog::Dispatch\u304c\u305d\u306e\u307e\u307e\u4f7f\u3048\u3066\u3057\u307e\u3046\u306e\u3060\u3002<\/p>\n\n\n\n<p>SYNOPSIS\u3092\u53c2\u8003\u306b\u3001\u3055\u3063\u304d\u306eLog::Dispatch\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u308b\u30b3\u30fc\u30c9\u3092\u4e0b\u8a18\u306b\u66f8\u304d\u63db\u3048\u3066\u307f\u3088\u3046\u3002use Log::Dispatch::FileRotate;\u306b\u66f8\u304d\u63db\u3048\u308b\u306e\u3082\u5fd8\u308c\u305a\u306b\uff01<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[sourcecode]\nmy $access_log = Log::Dispatch::FileRotate-&gt;new(\n    name      =&gt; 'file1',\n    min_level =&gt; 'debug',\n    filename  =&gt; 'logfile',\n    mode      =&gt; 'append',\n    max       =&gt; 10,\n    TZ        =&gt; 'JST',\n    DatePattern =&gt; 'yyyy-dd-HH',\n);\n[\/sourcecode]<\/pre>\n\n\n\n<p>Screen\u306f\u7701\u7565\u3057\u305f\u3002\u4e0a\u306e\u4f8b\u306f\u30011\u6642\u9593\u3054\u3068\u306b\u30ed\u30fc\u30c6\u30fc\u30c8\u3057\u3001\u6700\u592710\u30d5\u30a1\u30a4\u30eb\u3001\u30ed\u30fc\u30c6\u30fc\u30c8\u3057\u305f\u30ed\u30b0\u3092\u4fdd\u6301\u3059\u308b\u8a2d\u5b9a\u3002<br>\u66f8\u304d\u63db\u3048\u305f\u3089\u3001\u3055\u3063\u304d\u306estarman\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u307f\u3088\u3046\u3002\u3059\u3050\u306b\u306f\u308f\u304b\u3089\u306a\u3044\u304c\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u8a2d\u5b9a\u3057\u305f\u6761\u4ef6\u3092\u30af\u30ea\u30a2\u3057\u305f\u3089\u3001\u3061\u3083\u3093\u3068\u30ed\u30b0\u304c\u30ed\u30fc\u30c6\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3060\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u3044\u304b\u304c\u3060\u3063\u305f\u304b\u306a\uff1f<\/h2>\n\n\n\n<p>\u3068\u3066\u3082\u7c21\u5358\u306b\u5b9f\u73fe\u3067\u304d\u308b\u3053\u3068\u304c\u308f\u304b\u3063\u3066\u3082\u3089\u3048\u305f\u3068\u601d\u3046\u3002\u306a\u3093\u3060\u304b\u5049\u305d\u3046\u306a\u53e3\u3076\u308a\u3060\u306d\uff01<br>\u3053\u306e\u3042\u305f\u308a\u306e\u8a71\u984c\u306b\u89e6\u308c\u3066\u3044\u308b\u30d6\u30ed\u30b0\u304c\u5c11\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u81ea\u5206\u3067\u8abf\u3079\u305f\u3053\u3068\u3092\u66f8\u3044\u3066\u307f\u305f\u3002\u3082\u3063\u3068\u3044\u3044\u65b9\u6cd5\u3068\u304b\u3042\u308c\u3070\u6559\u3048\u3066\u307b\u3057\u3044\u3002<br>\u306a\u304a\u3001\u8a2d\u5b9a\u3092\u5916\u3060\u3057\u3057\u305f\u3051\u308c\u3070\u3001 Log::Dispatch::Config\u3092\u4f7f\u3048\u3070\u3044\u3051\u308b\u306f\u305a\u3002<\/p>\n<div class=\"opent-_2\" style=\"margin-top: 10px;margin-right: 10px;margin-bottom: 10px;margin-left: 10px;\" id=\"opent-2798333244\"><a href=\"https:\/\/www.opentone.co.jp\/backlog\/\" aria-label=\"twitter_backlogskt_new\"><img src=\"https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new.jpg\" alt=\"\"  srcset=\"https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new.jpg 1024w, https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new-300x157.jpg 300w, https:\/\/www.opentone.co.jp\/ot-lab\/wp-content\/uploads\/sites\/11\/2023\/02\/twitter_backlogskt_new-768x401.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" width=\"384\" height=\"200\"   \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3001maruchang\u3067\u3059\u3002 \u4eca\u65e5\u306f\u30ed\u30b0\u8a2d\u5b9a\u306e\u304a\u8a71\u3002 \u3068\u3044\u3063\u3066\u3082\u4e00\u822c\u7684\u306a\u8a71\u3067\u306f\u306a\u304f\u3001Perl<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[28],"tags":[8],"class_list":["post-586","post","type-post","status-publish","format-standard","hentry","category-web-system","tag-blog",""],"acf":[],"aioseo_notices":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"engage-mag-carousel-img":false,"engage-mag-carousel-img-landscape":false,"engage-mag-carousel-large-img":false,"engage-mag-carousel-large-img-landscape":false,"engage-mag-large-thumb":false,"engage-mag-small-thumb":false},"uagb_author_info":{"display_name":"ah106rx4o4","author_link":"https:\/\/www.opentone.co.jp\/ot-lab\/author\/ah106rx4o4"},"uagb_comment_info":1,"uagb_excerpt":"\u3053\u3093\u306b\u3061\u306f\u3001maruchang\u3067\u3059\u3002 \u4eca\u65e5\u306f\u30ed\u30b0\u8a2d\u5b9a\u306e\u304a\u8a71\u3002 \u3068\u3044\u3063\u3066\u3082\u4e00\u822c\u7684\u306a\u8a71\u3067\u306f\u306a\u304f\u3001Perl","_links":{"self":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":1,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":588,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/posts\/586\/revisions\/588"}],"wp:attachment":[{"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.opentone.co.jp\/ot-lab\/wp-json\/wp\/v2\/tags?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}