{"id":1406,"date":"2026-05-16T19:42:04","date_gmt":"2026-05-16T10:42:04","guid":{"rendered":"https:\/\/sheltie-garage.xyz\/tech\/?p=1406"},"modified":"2026-05-16T19:42:05","modified_gmt":"2026-05-16T10:42:05","slug":"%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b","status":"publish","type":"post","link":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/","title":{"rendered":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b"},"content":{"rendered":"\n<p>\u30ed\u30fc\u30ab\u30eb\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3057\u3066\u3044\u308bsaio(Swift All In One)\u304c\u63a5\u7d9a\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u306e\u3067AI\u3068\u3044\u3063\u3057\u3087\u306b\u8abf\u67fb\u3068\u5bfe\u7b56\u3092\u884c\u3063\u305f\u3068\u304d\u306e\u30e1\u30e2<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5148\u306b\u7d50\u8ad6<\/h2>\n\n\n\n<p>Docker Desctop(Docker Engine?)\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306b\u3088\u308a\u3001saio\u5185\u3067\u5229\u7528\u3055\u308c\u3066\u3044\u308b\u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u306e\u4e00\u90e8\u304c\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u3001\u305d\u308c\u304c\u539f\u56e0\u3067\u8d77\u52d5\u3067\u304d\u306a\u304f\u306a\u3063\u305f<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5bfe\u51e6\u65b9\u6cd5<\/h3>\n\n\n\n<p>saio\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u4ee5\u4e0b\u306e\u30bd\u30fc\u30b9\u3092\u4fee\u6b63\u3059\u308b\u305f\u3081\u306e\u30d1\u30c3\u30c1\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210<br>\/opt\/swift\/swift\/common\/utils\/checksum.py<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>--- \/opt\/swift\/swift\/common\/utils\/checksum.py.orig\n+++ \/opt\/swift\/swift\/common\/utils\/checksum.py\n@@ -100,8 +100,11 @@\n # The kernel may also provide crc32c\n AF_ALG = getattr(socket, &#39;AF_ALG&#39;, 38)\n try:\n-    _sock = socket.socket(AF_ALG, socket.SOCK_SEQPACKET)\n-    _sock.bind((&quot;hash&quot;, &quot;crc32c&quot;))\n+    try:\n+        _sock = socket.socket(AF_ALG, socket.SOCK_SEQPACKET)\n+        _sock.bind((&quot;hash&quot;, &quot;crc32c&quot;))\n+    except PermissionError:\n+        _sock = None\n except OSError as e:\n     if e.errno == errno.ENOENT:\n         # could create socket, but crc32c is unknown<\/code><\/pre><\/div>\n\n\n\n<p>Docker\u30d5\u30a1\u30a4\u30eb\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4f5c\u88fd\u3057\u3001\u30d1\u30c3\u30c1\u3092\u5f53\u3066\u308b<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>FROM openstackswift\/saio:py3\nRUN apk add --no-cache patch\nCOPY checksum.patch \/tmp\/\nRUN patch -p0 &lt; \/tmp\/checksum.patch<\/code><\/pre><\/div>\n\n\n\n<p>docker-compose\u30d5\u30a1\u30a4\u30eb\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3059<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>services:\n  swift:\n    build:\n      context: .\n      dockerfile: Dockerfile\n    container_name: swift\n    ports:\n      - &quot;8080:8080&quot;\n    environment:\n      SWIFT_USER: &quot;admin:admin&quot;\n      SWIFT_KEY: &quot;admin&quot;\n      SWIFT_AUTH_URL: &quot;http:\/\/localhost:8080\/auth\/v1.0&quot;\n      TZ: Asia\/Tokyo\n    volumes:\n      - swift-data-local:\/srv\/node\nvolumes:\n  swift-data-local:<\/code><\/pre><\/div>\n\n\n\n<p>docker-compose up -d\u3067\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u5f8c\u3001\u30b3\u30f3\u30c6\u30ca\u5185\u3067\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u65bd<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># swift-init proxy-server stop\n# ps aux | grep proxy\n# pkill -f swift-proxy-server\n# swift-init proxy-server start<\/code><\/pre><\/div>\n\n\n\n<p>\u30db\u30b9\u30c8\u30de\u30b7\u30f3\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u3001\u30c8\u30fc\u30af\u30f3\u304c\u8fd4\u5374\u3055\u308c\u308c\u3070OK<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>curl -i -H &quot;X-Auth-User: admin:admin&quot; -H &quot;X-Auth-Key: admin&quot; http:\/\/localhost:8080\/auth\/v1.0<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">AI\u3068\u5354\u529b\u3057\u3066\u539f\u56e0\u3092\u8abf\u67fb\u3057\u305f\u7d50\u679c<\/h2>\n\n\n\n<p>saio\u306e\u30b3\u30f3\u30c6\u30ca\u5185\u3067swift-proxy-server\u3092\u30d5\u30a9\u30a2\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u30a8\u30e9\u30fc\u3092\u78ba\u8a8d\u3067\u304d\u305f<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>swift-proxy-server \/etc\/swift\/proxy-server.conf<\/code><\/pre><\/div>\n\n\n\n<p>\u30d5\u30a9\u30a2\u30b0\u30e9\u30a6\u30f3\u30c9\u306e\u30ed\u30b0\u306b\u300cPermissionError: [Errno 1] Operation not permitted\u300d\u304c\u8868\u793a\u3055\u308c\u305f\u305f\u3081\u6a29\u9650\u7cfb\u306e\u30a8\u30e9\u30fc\u3068\u5224\u65ad<\/p>\n\n\n\n<p>AI\u306b\u30ed\u30b0\u89e3\u6790\u3092\u304a\u9858\u3044\u3057\u305f\u3089\u3001\/opt\/swift\/swift\/common\/utils\/checksum.py\u306e\u4ee5\u4e0b\u306e\u51e6\u7406\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u5224\u660e<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>AF_ALG = getattr(socket, &#39;AF_ALG&#39;, 38)<\/code><\/pre><\/div>\n\n\n\n<p>AF_FLG\u3068\u3044\u3046Swift \u304c Linux Kernel Crypto API (AF_ALG) \u3092\u5229\u7528\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u305f\u3002<br>\u305f\u3060\u3057 Docker Desktop(macOS) \u5074\u306e seccomp \/ capability \u5236\u9650\u306b\u3088\u308a\u3001AF_ALG socket \u4f5c\u6210\u304c\u62d2\u5426\u3055\u308c\u305f\u306e\u3067\u306f\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f<\/p>\n\n\n\n<p>\u5bfe\u5fdc\u3068\u3057\u3066\u306f\u4e0a\u306b\u793a\u3057\u305f\u901a\u308a\u3001AL_FLG\u304c\u5229\u7528\u3067\u304d\u306a\u3044\u5834\u5408\u306fnone\u3092\u8a2d\u5b9a\u3057\u3066\u5229\u7528\u3057\u3088\u3046\u306a\u8a2d\u5b9a\u3068\u3057\u305f<br>AL_FLG\u306f\u9ad8\u901f\u5316\u306e\u305f\u3081\u306b\u5229\u7528\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3001\u5229\u7528\u3067\u304d\u306a\u304f\u3066\u3082\u51e6\u7406\u81ea\u4f53\u306f\u554f\u984c\u306a\u3044\u305d\u3046\u3060(AI\u306e\u898b\u89e3\u3067\u3001\u672a\u691c\u8a3c)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u5f8c\u306e\u5bfe\u5fdc<\/h2>\n\n\n\n<p>\u4e00\u65e6\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u305f\u3068\u306f\u3044\u3048\u3001\u3053\u308c\u3092\u6a5f\u306bAPI\u3092S3\u4e92\u63db\u306b\u5207\u308a\u66ff\u3048\u3066\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u3082MinIO(S3\u4e92\u63db\u30b9\u30c8\u30ec\u30fc\u30b8)\u306b\u7f6e\u304d\u63db\u3048\u3066\u3082\u826f\u3044\u304b\u3082\u3057\u308c\u306a\u3044<\/p>\n\n\n<div id=\"rinkerid1435\" class=\"yyi-rinker-contents  yyi-rinker-postid-1435 yyi-rinker-img-m yyi-rinker-catid-6 \">\n\t<div class=\"yyi-rinker-box\">\n\t\t<div class=\"yyi-rinker-image\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FOpenStack%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thumbnail.image.rakuten.co.jp\/@0_mall\/rakutenkobo-ebooks\/cabinet\/8994\/2000004868994.jpg?_ex=128x128\" width=\"128\" height=\"128\" class=\"yyi-rinker-main-img\" style=\"border: none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/div>\n\t\t<div class=\"yyi-rinker-info\">\n\t\t\t<div class=\"yyi-rinker-title\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FOpenStack%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\">OpenStack\u5fb9\u5e95\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af\u30ac\u30a4\u30c9\u3010\u96fb\u5b50\u66f8\u7c4d\u3011[ \u6fa4\u6a4b\u677e\u738b ]<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"yyi-rinker-detail\">\n\t\t\t\t\t\t\t<div class=\"credit-box\">created by&nbsp;<a href=\"https:\/\/oyakosodate.com\/rinker\/\" rel=\"nofollow noopener\" target=\"_blank\" >Rinker<\/a><\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"price-box\">\n\t\t\t\t\t\t\t<span title=\"\" class=\"price\">\u00a53,643<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"price_at\">(2026\/05\/18 06:12:18\u6642\u70b9&nbsp;\u697d\u5929\u5e02\u5834\u8abf\u3079-<\/span><span title=\"\u3053\u306e\u30b5\u30a4\u30c8\u3067\u63b2\u8f09\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u306f\u5f53\u30b5\u30a4\u30c8\u306e\u4f5c\u6210\u8005\u306b\u3088\u308a\u904b\u55b6\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4fa1\u683c\u3001\u8ca9\u58f2\u53ef\u80fd\u60c5\u5831\u306f\u3001\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8cfc\u5165\u6642\u306b\u697d\u5929\u5e02\u5834\u5e97\u8217\uff08www.rakuten.co.jp\uff09\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u4fa1\u683c\u304c\u305d\u306e\u5546\u54c1\u306e\u8ca9\u58f2\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002\">\u8a73\u7d30)<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<ul class=\"yyi-rinker-links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t                    <li class=\"amazonlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.amazon.co.jp\/gp\/search?ie=UTF8&amp;keywords=OpenStack&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339\" rel=\"nofollow\" class=\"yyi-rinker-link\">Amazon<\/a>\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"rakutenlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FOpenStack%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\" class=\"yyi-rinker-link\">\u697d\u5929\u5e02\u5834<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"yahoolink\">\n\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DOpenStack\" rel=\"nofollow\" class=\"yyi-rinker-link\">Yahoo\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/li>\n\t\t\t\t                \t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<div id=\"rinkerid1436\" class=\"yyi-rinker-contents  yyi-rinker-postid-1436 yyi-rinker-img-m yyi-rinker-catid-6 \">\n\t<div class=\"yyi-rinker-box\">\n\t\t<div class=\"yyi-rinker-image\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FMinIO%2Bstorage%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thumbnail.image.rakuten.co.jp\/@0_mall\/rakutenkobo-ebooks\/cabinet\/1090\/2000018241090.jpg?_ex=128x128\" width=\"128\" height=\"128\" class=\"yyi-rinker-main-img\" style=\"border: none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/div>\n\t\t<div class=\"yyi-rinker-info\">\n\t\t\t<div class=\"yyi-rinker-title\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FMinIO%2Bstorage%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\">MinIO Object Storage Architecture and Operations The Complete Guide for Developers and Engineers\u3010\u96fb\u5b50\u66f8\u7c4d\u3011[ William Smith ]<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"yyi-rinker-detail\">\n\t\t\t\t\t\t\t<div class=\"credit-box\">created by&nbsp;<a href=\"https:\/\/oyakosodate.com\/rinker\/\" rel=\"nofollow noopener\" target=\"_blank\" >Rinker<\/a><\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"price-box\">\n\t\t\t\t\t\t\t<span title=\"\" class=\"price\">\u00a51,461<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"price_at\">(2026\/05\/18 06:12:18\u6642\u70b9&nbsp;\u697d\u5929\u5e02\u5834\u8abf\u3079-<\/span><span title=\"\u3053\u306e\u30b5\u30a4\u30c8\u3067\u63b2\u8f09\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u306f\u5f53\u30b5\u30a4\u30c8\u306e\u4f5c\u6210\u8005\u306b\u3088\u308a\u904b\u55b6\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4fa1\u683c\u3001\u8ca9\u58f2\u53ef\u80fd\u60c5\u5831\u306f\u3001\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8cfc\u5165\u6642\u306b\u697d\u5929\u5e02\u5834\u5e97\u8217\uff08www.rakuten.co.jp\uff09\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u4fa1\u683c\u304c\u305d\u306e\u5546\u54c1\u306e\u8ca9\u58f2\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002\">\u8a73\u7d30)<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<ul class=\"yyi-rinker-links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t                    <li class=\"amazonlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.amazon.co.jp\/gp\/search?ie=UTF8&amp;keywords=MinIO+storage&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339\" rel=\"nofollow\" class=\"yyi-rinker-link\">Amazon<\/a>\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"rakutenlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FMinIO%2Bstorage%2F%3Ff%3D1%26grp%3Dproduct\" rel=\"nofollow\" class=\"yyi-rinker-link\">\u697d\u5929\u5e02\u5834<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"yahoolink\">\n\t\t\t\t\t\t<a href=\"https:\/\/af.moshimo.com\/af\/c\/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DMinIO%2Bstorage\" rel=\"nofollow\" class=\"yyi-rinker-link\">Yahoo\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0<\/a><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.moshimo.com\/af\/i\/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502\" width=\"1\" height=\"1\" style=\"border:none;\">\t\t\t\t\t<\/li>\n\t\t\t\t                \t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u30ed\u30fc\u30ab\u30eb\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3057\u3066\u3044\u308bsaio(Swift All In One)\u304c\u63a5\u7d9a\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u306e\u3067AI\u3068\u3044\u3063\u3057\u3087\u306b\u8abf\u67fb\u3068\u5bfe\u7b56\u3092\u884c\u3063\u305f\u3068\u304d\u306e\u30e1\u30e2 \u5148\u306b\u7d50\u8ad6 Docker Desctop(Docker Engine?)\u306e\u30d0\u30fc\u30b8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1437,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-6","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eswift\u58ca\u308c\u308b\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech\" \/>\n<meta property=\"og:description\" content=\"\u30ed\u30fc\u30ab\u30eb\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3057\u3066\u3044\u308bsaio(Swift All In One)\u304c\u63a5\u7d9a\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u306e\u3067AI\u3068\u3044\u3063\u3057\u3087\u306b\u8abf\u67fb\u3068\u5bfe\u7b56\u3092\u884c\u3063\u305f\u3068\u304d\u306e\u30e1\u30e2 \u5148\u306b\u7d50\u8ad6 Docker Desctop(Docker Engine?)\u306e\u30d0\u30fc\u30b8 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eswift\u58ca\u308c\u308b\/\" \/>\n<meta property=\"og:site_name\" content=\"Sheltie Garage Tech\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-16T10:42:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-16T10:42:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1262\" \/>\n\t<meta property=\"og:image:height\" content=\"726\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"monodon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"monodon\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/\"},\"author\":{\"name\":\"monodon\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/#\\\/schema\\\/person\\\/f67942d4a63ae93a823618fc5a09077f\"},\"headline\":\"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b\",\"datePublished\":\"2026-05-16T10:42:04+00:00\",\"dateModified\":\"2026-05-16T10:42:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/\"},\"wordCount\":75,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/20260516_2.png\",\"articleSection\":[\"\u30a4\u30f3\u30d5\u30e9\"],\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/\",\"url\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/\",\"name\":\"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/20260516_2.png\",\"datePublished\":\"2026-05-16T10:42:04+00:00\",\"dateModified\":\"2026-05-16T10:42:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/#\\\/schema\\\/person\\\/f67942d4a63ae93a823618fc5a09077f\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/20260516_2.png\",\"contentUrl\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/20260516_2.png\",\"width\":1262,\"height\":726},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/2026\\\/05\\\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/#website\",\"url\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/\",\"name\":\"Sheltie Garage Tech\",\"description\":\"\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u95a2\u9023\u306e\u8a71\u984c\u3092\u307e\u3068\u3081\u305f\u30d6\u30ed\u30b0\u3067\u3059\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/#\\\/schema\\\/person\\\/f67942d4a63ae93a823618fc5a09077f\",\"name\":\"monodon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g\",\"caption\":\"monodon\"},\"sameAs\":[\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\"],\"url\":\"https:\\\/\\\/sheltie-garage.xyz\\\/tech\\\/author\\\/monodon\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eswift\u58ca\u308c\u308b\/","og_locale":"ja_JP","og_type":"article","og_title":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech","og_description":"\u30ed\u30fc\u30ab\u30eb\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3057\u3066\u3044\u308bsaio(Swift All In One)\u304c\u63a5\u7d9a\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u306e\u3067AI\u3068\u3044\u3063\u3057\u3087\u306b\u8abf\u67fb\u3068\u5bfe\u7b56\u3092\u884c\u3063\u305f\u3068\u304d\u306e\u30e1\u30e2 \u5148\u306b\u7d50\u8ad6 Docker Desctop(Docker Engine?)\u306e\u30d0\u30fc\u30b8 [&hellip;]","og_url":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eswift\u58ca\u308c\u308b\/","og_site_name":"Sheltie Garage Tech","article_published_time":"2026-05-16T10:42:04+00:00","article_modified_time":"2026-05-16T10:42:05+00:00","og_image":[{"width":1262,"height":726,"url":"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png","type":"image\/png"}],"author":"monodon","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"monodon","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#article","isPartOf":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/"},"author":{"name":"monodon","@id":"https:\/\/sheltie-garage.xyz\/tech\/#\/schema\/person\/f67942d4a63ae93a823618fc5a09077f"},"headline":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b","datePublished":"2026-05-16T10:42:04+00:00","dateModified":"2026-05-16T10:42:05+00:00","mainEntityOfPage":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/"},"wordCount":75,"commentCount":0,"image":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#primaryimage"},"thumbnailUrl":"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png","articleSection":["\u30a4\u30f3\u30d5\u30e9"],"inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/","url":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/","name":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b - Sheltie Garage Tech","isPartOf":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#primaryimage"},"image":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#primaryimage"},"thumbnailUrl":"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png","datePublished":"2026-05-16T10:42:04+00:00","dateModified":"2026-05-16T10:42:05+00:00","author":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/#\/schema\/person\/f67942d4a63ae93a823618fc5a09077f"},"breadcrumb":{"@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#primaryimage","url":"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png","contentUrl":"https:\/\/sheltie-garage.xyz\/tech\/wp-content\/uploads\/2026\/05\/20260516_2.png","width":1262,"height":726},{"@type":"BreadcrumbList","@id":"https:\/\/sheltie-garage.xyz\/tech\/2026\/05\/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%aeswift%e5%a3%8a%e3%82%8c%e3%82%8b\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/sheltie-garage.xyz\/tech\/"},{"@type":"ListItem","position":2,"name":"\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eSwift\u58ca\u308c\u308b"}]},{"@type":"WebSite","@id":"https:\/\/sheltie-garage.xyz\/tech\/#website","url":"https:\/\/sheltie-garage.xyz\/tech\/","name":"Sheltie Garage Tech","description":"\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u95a2\u9023\u306e\u8a71\u984c\u3092\u307e\u3068\u3081\u305f\u30d6\u30ed\u30b0\u3067\u3059","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sheltie-garage.xyz\/tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/sheltie-garage.xyz\/tech\/#\/schema\/person\/f67942d4a63ae93a823618fc5a09077f","name":"monodon","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/692645b6204688b4dd631c1af09e3f8290eef390d3a741e60c237b98263fb860?s=96&d=mm&r=g","caption":"monodon"},"sameAs":["https:\/\/sheltie-garage.xyz\/tech"],"url":"https:\/\/sheltie-garage.xyz\/tech\/author\/monodon\/"}]}},"_links":{"self":[{"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/posts\/1406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/comments?post=1406"}],"version-history":[{"count":2,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/posts\/1406\/revisions"}],"predecessor-version":[{"id":1438,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/posts\/1406\/revisions\/1438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/media\/1437"}],"wp:attachment":[{"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/media?parent=1406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/categories?post=1406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sheltie-garage.xyz\/tech\/wp-json\/wp\/v2\/tags?post=1406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}