{"@attributes":{"version":"2.0"},"channel":{"title":"something tech.","link":"https:\/\/blog.web-apps.tech\/","description":"Recent content on something tech.","generator":"Hugo -- 0.153.1","language":"ja-jp","copyright":"@nasa9084","lastBuildDate":"Sun, 28 Dec 2025 20:00:00 +0900","item":[{"title":"2025\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u3082\u306e","link":"https:\/\/blog.web-apps.tech\/2025-must-buy\/","pubDate":"Sun, 28 Dec 2025 20:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/2025-must-buy\/","description":"<p>\u4eca\u5e74\u306f\u4e3b\u306b\u5712\u82b8\u3068\u6599\u7406\u306e\u5e74\u3067\u3057\u305f\u3002\u307e\u305f\u3001<a href=\"https:\/\/blog.web-apps.tech\/move-to-sapporo\/\">2024\u5e749\u6708\u672b\u304b\u3089\u672d\u5e4c\u3067\u4e00\u4eba\u66ae\u3089\u3057\u3092\u59cb\u3081\u305f<\/a>\n\u306e\u3067\u3001\u81ea\u5206\u3067\u9078\u3093\u3060\u65e5\u7528\u54c1\u304c\u5897\u3048\u305f\u5e74\u3067\u3082\u3042\u308a\u307e\u3057\u305f\u3002\n2024\u5e74\u306b\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u3082\u306e\u30d6\u30ed\u30b0\u3092\u66f8\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u30012024\u5e74\u306b\u8cb7\u3063\u3066\u3001\u4eca\u3067\u3082\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u306a\u3001\u3068\u611f\u3058\u3066\u3044\u308b\u3082\u306e\u3082\u5165\u308c\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h1 id=\"\u5712\u82b8\">\u5712\u82b8<\/h1>\n<h2 id=\"\u9053\u5177\u8cc7\u6750\">\u9053\u5177\u30fb\u8cc7\u6750<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.kingjim.co.jp\/products\/detail\/RH24.html\" target=\"_blank\" rel=\"noopener\">KINGJIM \u30c6\u30d7\u30e9 \u30cf\u30fc\u30d5\u30ab\u30c3\u30bf\u30fc<\/a>\n<ul>\n<li>\u30cf\u30fc\u30d5\u30ab\u30c3\u30c8\u6a5f\u80fd\u304c\u3064\u3044\u3066\u3044\u306a\u3044\u6a5f\u7a2e\u3092\u4f7f\u3063\u3066\u3044\u308b\u30c6\u30d7\u30e9\u30e6\u30fc\u30b6\u306f\u5168\u54e1\u8cb7\u3063\u305f\u65b9\u304c\u3044\u3044\u3002\u5265\u96e2\u7d19\u3092\u5265\u304c\u3059\u3068\u304d\u306e\u30b9\u30c8\u30ec\u30b9\u304c\u306a\u3044\u306e\u306f\u3082\u3061\u308d\u3093\u306e\u3053\u3068\u3001\u304d\u308c\u3044\u306b\u5265\u304c\u308c\u308b\u3053\u3068\u3067\u3001\u8cbc\u3063\u305f\u5f8c\u306b\u5265\u304c\u308c\u306b\u304f\u304f\u306a\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3MFVp6Y\" target=\"_blank\" rel=\"noopener\">Kaiju Plant \u5712\u82b8\u30b7\u30fc\u30c8<\/a>\n<ul>\n<li>\u5ba4\u5185\u3067\u690d\u3048\u66ff\u3048\u3092\u3059\u308b\u306b\u306f\u5fc5\u9808\u3068\u8a00\u3063\u3066\u3082\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/store.fujick.co.jp\/?pid=147482344\" target=\"_blank\" rel=\"noopener\">\u30d9\u30e9\u30dc\u30f3\u30fb\u30d7\u30ec\u30df\u30a2\u30e0<\/a>\n<\/li>\n<li><a href=\"https:\/\/shop.takii.co.jp\/products\/detail\/MDH367\" target=\"_blank\" rel=\"noopener\">\u7af9\u70ad\u7551<\/a>\n<ul>\n<li>\u7528\u571f\u306f\u4e3b\u306b\u3001\u30d9\u30e9\u30dc\u30f3\u30fb\u30d7\u30ec\u30df\u30a2\u30e0\u3068\u7af9\u70ad\u7551\u3001\u8efd\u77f3\u3001\u30bc\u30aa\u30e9\u30a4\u30c8\u3092\u6df7\u305c\u305f\u3082\u306e\u3092\u4f7f\u3063\u3066\u3044\u308b\u3002\u30d9\u30e9\u30dc\u30f3\u30fb\u30d7\u30ec\u30df\u30a2\u30e0\u304c\u9ad8\u3044\u306e\u3068\u3001\u7af9\u70ad\u7551\u304c\u305d\u306e\u8fba\u3067\u306f\u3042\u307e\u308a\u58f2\u3063\u3066\u3044\u306a\u3044\u306e\u304c\u96e3\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u690d\u7269\">\u690d\u7269<\/h2>\n<h3 id=\"\u6591\u5165\u308a\u30d0\u30aa\u30d0\u30d6\">\u6591\u5165\u308a\u30d0\u30aa\u30d0\u30d6<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/baobab_hu_b4caa3b0bb6c2bcf.jpg\" alt=\"\u6591\u5165\u308a\u30d0\u30aa\u30d0\u30d6\u304c\u6211\u304c\u5bb6\u306b\u5c4a\u3044\u305f\u3068\u304d\u306e\u5199\u771f\" \/>\n<\/p>\n<p>\u521d\u3081\u3066\u8cb7\u3063\u305f\u9ad8\u7d1a\u3081\u306a\u690d\u7269\u3067\u3001\u4eca\u3067\u3082\u6211\u304c\u5bb6\u306e\u4e2d\u3067\u6700\u3082\u9ad8\u7d1a\u306a\u690d\u7269\u3002\u306e\u306f\u305a\u3002\u30b7\u30de\u30e0\u30e9\u5712\u82b8\u3067\u8cfc\u5165\u3002\n\u6628\u5e74\u306e\u51ac\u306f\u898b\u308b\u3082\u7121\u60e8\u306a\u307b\u3069\u306b\u843d\u8449\u3057\u3066\u3057\u307e\u3063\u305f\u3051\u3069\u3001\u590f\u3054\u308d\u3001\u307e\u305f\u8449\u304c\u5439\u3044\u3066\u304f\u308c\u305f\u3002<\/p>\n<p>\u3044\u307e\u306f\u307e\u305f\u51ac\u306a\u306e\u3067\u3061\u3087\u3044\u3061\u3087\u3044\u843d\u8449\u3057\u3066\u3044\u308b\u3002\u591a\u5206\u5e74\u672b\u5e74\u59cb\u306b\u51fd\u9928\u306b\u5e30\u7701\u3057\u305f\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u3001\u5ba4\u6e29\u304c\u30b0\u30c3\u3068\u4e0b\u304c\u308b\u898b\u8fbc\u307f\u306a\u306e\u3067\u3001\u304c\u3063\u3064\u308a\u843d\u8449\u3059\u308b\u3068\u601d\u308f\u308c\u308b\u3002<\/p>\n<h3 id=\"\u30a2\u30f3\u30b0\u30ec\u30ab\u30e0\u30c7\u30a3\u30b9\u30c6\u30a3\u30ab\u30e0\">\u30a2\u30f3\u30b0\u30ec\u30ab\u30e0\u30c7\u30a3\u30b9\u30c6\u30a3\u30ab\u30e0<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/angraecum_disticum_hu_e7092b498275338e.jpg\" alt=\"\u30a2\u30f3\u30b0\u30ec\u30ab\u30e0\u30c7\u30a3\u30b9\u30c6\u30a3\u30ab\u30e0\" \/>\n<\/p>\n<p>\u6d0b\u30e9\u30f3\u306e\u4e00\u7a2e\u3002\u8449\u3063\u3071\u3092\u898b\u3066\u308b\u3060\u3051\u3067\u3082\u53ef\u611b\u3044\u3057\u3001\u6c17\u304c\u5411\u3044\u305f\u3089\u82b1\u3082\u54b2\u304b\u305b\u3066\u304f\u308c\u308b\u3002\n\u30b5\u30f3\u30b7\u30e3\u30a4\u30f3\u30b7\u30c6\u30a3\u4e16\u754c\u306e\u3089\u3093\u5c552025\u3067\u3001\u30ca\u30fc\u30bb\u30ea\u30fc\u30a4\u30c7\u3055\u3093\u304b\u3089\u8cfc\u5165\u3002<\/p>\n<h3 id=\"\u30c9\u30ea\u30ca\u30ea\u30a2-\u30ea\u30ae\u30c7\u30e5\u30e9\">\u30c9\u30ea\u30ca\u30ea\u30a2 \u30ea\u30ae\u30c7\u30e5\u30e9<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/drynaria_hu_b58e3236da53e845.jpg\" alt=\"\u30c9\u30ea\u30ca\u30ea\u30a2 \u30ea\u30ae\u30c7\u30e5\u30e9\" \/>\n<\/p>\n<p>\u7740\u751f\u30b7\u30c0\u306e\u4e00\u7a2e\u3089\u3057\u3044\u3002\u67af\u308c\u8449\u306e\u3088\u3046\u306a\u90e8\u5206\u3068\u3001\u7d30\u9577\u3044\u830e\u7684\u306a\u90e8\u5206\u306e2\u30d1\u30fc\u30c8\u304c\u3042\u308a\u3001\u3061\u3087\u3063\u3068\u304b\u308f\u3063\u3066\u308b\u3002\n\u677f\u4ed8\u3060\u3068\u4e7e\u304b\u3057\u3059\u304e\u3066\u30a2\u30ec\u3060\u3063\u305f\u306e\u3067\u3001\u4eca\u306f\u9262\u306b\u690d\u3048\u305f\u72b6\u614b\u3067\u3064\u308b\u3057\u3066\u3044\u308b\u3002\n\u30b5\u30f3\u30b7\u30e3\u30a4\u30f3\u30b7\u30c6\u30a3\u4e16\u754c\u306e\u3089\u3093\u5c552025\u3067\u3001Tropical Exotique\u3055\u3093\u304b\u3089\u8cfc\u5165\u3002<\/p>\n<p>\u3053\u308c\u3067\u30c9\u30ea\u30ca\u30ea\u30a2\u304c\u597d\u304d\u306b\u306a\u308a\u3001\u4ed6\u306e\u54c1\u7a2e\u3082\u8cb7\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9-\u30d7\u30eb\u30e2\u30fc\u30b5\u30b9-\u30ca\u30ca\u30b9\">\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9 \u30d7\u30eb\u30e2\u30fc\u30b5\u30b9 \u30ca\u30ca\u30b9<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/nanas_hu_dfa604c1cb84457a.jpg\" alt=\"\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9 \u30d7\u30eb\u30e2\u30fc\u30b5\u30b9 \u30ca\u30ca\u30b9\" \/>\n<\/p>\n<p>\u8cfc\u5165\u6642\u306f\u304a\u3064\u3068\u3081\u54c1\u3067\u300150\u5186\u3068\u304b\u3060\u3063\u305f\u3002\u30ab\u30a4\u30f3\u30ba\u3067\u8cfc\u5165\u3002<\/p>\n<h3 id=\"\u30ab\u30f3\u30d1\u30cb\u30e5\u30e9-\u30c0\u30fc\u30af\u30b2\u30c3\u30c8\u30df\u30fc\">\u30ab\u30f3\u30d1\u30cb\u30e5\u30e9 \u30c0\u30fc\u30af\u30b2\u30c3\u30c8\u30df\u30fc<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/campanula_hu_2cbeae2b939e1312.jpg\" alt=\"\u30ab\u30f3\u30d1\u30cb\u30e5\u30e9 \u30c0\u30fc\u30af\u30b2\u30c3\u30c8\u30df\u30fc\" \/>\n<\/p>\n<p>\u3081\u3063\u3061\u3083\u54b2\u3044\u3066\u304f\u308c\u3066\u3001\u6e80\u8db3\u5ea6\u304c\u9ad8\u304b\u3063\u305f\u3002\u30b8\u30e7\u30a4\u30d5\u30eb\u30a8\u30fc\u30b1\u30fc\u3067\u8cfc\u5165\u3002\n\u67af\u308c\u305a\u306b\u5143\u6c17\u306a\u306e\u3067\u3001\u307e\u305f\u305f\u304f\u3055\u3093\u54b2\u3044\u3066\u304f\u308c\u308b\u3053\u3068\u306b\u671f\u5f85\u3057\u3066\u3044\u308b\u3002<\/p>\n<h3 id=\"\u30cd\u30e1\u30b7\u30a2-\u30b0\u30c3\u30d4\u30fc\">\u30cd\u30e1\u30b7\u30a2 \u30b0\u30c3\u30d4\u30fc<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/campanula_hu_2cbeae2b939e1312.jpg\" alt=\"\u30cd\u30e1\u30b7\u30a2 \u30b0\u30c3\u30d4\u30fc\" \/>\n<\/p>\n<p>\u3053\u3061\u3089\u3082\u3081\u3063\u3061\u3083\u54b2\u3044\u3066\u304f\u308c\u3066\u6e80\u8db3\u5ea6\u304c\u9ad8\u304b\u3063\u305f\u3002\u9999\u308a\u3082\u826f\u3044\u3002\n\u30b8\u30e7\u30a4\u30d5\u30eb\u30a8\u30fc\u30b1\u30fc\u3067\u8cfc\u5165\u3057\u3001\u3053\u3061\u3089\u3082\u307e\u305f\u305f\u304f\u3055\u3093\u54b2\u3044\u3066\u307b\u3057\u3044\u3002<\/p>\n<h3 id=\"\u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3-\u30d4\u30f3\u30af\u30a2\u30f3\u30c9\u30d7\u30e9\u30a6\u30c9\">\u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3 \u30d4\u30f3\u30af\u30a2\u30f3\u30c9\u30d7\u30e9\u30a6\u30c9<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/pink_and_proud_hu_d1882e0d48752a9a.jpg\" alt=\"\u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3 \u30d4\u30f3\u30af\u30a2\u30f3\u30c9\u30d7\u30e9\u30a6\u30c9\" \/>\n<\/p>\n<p>\u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3\u3001\u3068\u8a00\u3044\u3064\u3064\u82b1\u306f\u5c0f\u3055\u3081\u3002\n\u82b1\u306e\u8272\u304c\u304b\u308f\u3063\u3066\u3044\u3066\u3001\u6fc3\u3044\u30d4\u30f3\u30af\u3068\u8584\u3044\u30d4\u30f3\u30af\u304c\u5165\u308a\u4ea4\u3058\u3063\u305f\u82b1\u3092\u54b2\u304b\u305b\u308b\u3002\n\u5272\u3068\u6700\u8fd1\u306e\u54c1\u7a2e\u3063\u307d\u3044\u3002\n\u767e\u5408\u304c\u539f\u516c\u5712\u30ac\u30fc\u30c7\u30f3\u30b7\u30e7\u30c3\u30d7\u3067\u8cfc\u5165\u3057\u305f\u3002<\/p>\n<h3 id=\"\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9\u306e\u30bf\u30cd\">\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9(\u306e\u30bf\u30cd)<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/lettuce_hu_a4c40f15cdebeca8.jpg\" alt=\"\u7a2e\u304b\u3089\u80b2\u3066\u305f\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9\" \/>\n<\/p>\n<p>2024\u5e74\u672b\u304f\u3089\u3044\u304b\u3089\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9\u3092\u5b9f\u751f\u3067\u80b2\u3066\u305f\u3002\u591a\u5206\u30b8\u30e7\u30a4\u30d5\u30eb\u30a8\u30fc\u30b1\u30fc\u3067\u8cfc\u5165\u3002\n\u5ba4\u5185\u306b\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9\u683d\u57f9\u30a8\u30ea\u30a2\u304c\u3042\u308b\u3068\u3001\u8449\u7269\u91ce\u83dc\u3092\u3044\u3064\u3067\u3082\u6442\u53d6\u3067\u304d\u308b\u3068\u3044\u3046\u70b9\u304c\u3082\u306e\u3059\u3054\u304f\u826f\u3044\u3002\n\u3082\u3061\u308d\u3093\u30b9\u30fc\u30d1\u30fc\u3068\u304b\u3067\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9\u3092\u8cb7\u3063\u3066\u304f\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3051\u3069\u3001\u8fd1\u5e74\u306f\u91ce\u83dc\u304c\u9ad8\u3044\u3057\u3001\u4f55\u3088\u308a\u8449\u7269\u91ce\u83dc\u306f\u65e5\u6301\u3061\u3057\u306a\u3044\u306e\u3067\u3002\u3002\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/lettuce_2_hu_c25936c779a5bcba.png\" alt=\"\u5168\u76db\u671f\" \/>\n<\/p>\n<p>\u5168\u76db\u671f\u306f\u3001\u53d6\u3063\u3066\u3082\u53d6\u3063\u3066\u3082\u98df\u3079\u304d\u308c\u306a\u3044\u304f\u3089\u3044\u3060\u3063\u305f\u3002<\/p>\n<h3 id=\"\u30e2\u30f3\u30b9\u30c6\u30e9-\u30c7\u30ea\u30b7\u30aa\u30fc\u30b5-\u30bf\u30a6\u30a8\u30ea\u30fc\u306e\u30bf\u30cd\">\u30e2\u30f3\u30b9\u30c6\u30e9 \u30c7\u30ea\u30b7\u30aa\u30fc\u30b5 &lsquo;\u30bf\u30a6\u30a8\u30ea\u30fc&rsquo;(\u306e\u30bf\u30cd)<\/h3>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2025-must-buy\/images\/monstera_tauerii_hu_2724e867f02bdf2.jpg\" alt=\"\u30e2\u30f3\u30b9\u30c6\u30e9 \u30c7\u30ea\u30b7\u30aa\u30fc\u30b5 &lsquo;\u30bf\u30a6\u30a8\u30ea\u30fc&rsquo;\" \/>\n<\/p>"},{"title":"\u4e32\u9ce5","link":"https:\/\/blog.web-apps.tech\/kushidori\/","pubDate":"Tue, 02 Dec 2025 00:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/kushidori\/","description":"<p>\u672c\u8a18\u4e8b\u306f<a href=\"https:\/\/adventar.org\/calendars\/11865\" target=\"_blank\" rel=\"noopener\">\u5409\u7965\u5bfa.pm\u306b\u3064\u3044\u3066\u306e25\u500b\u306e\u5c0f\u3055\u306a\u8a71\u3001\u307e\u305f\u306fMagnolia.K\u306e\u96d1\u8a18 Advent Calendar 2025<\/a>\n2\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002\n\u6628\u65e5\u306fKaitou\u3055\u3093\u306e<a href=\"https:\/\/kaitou.hatenadiary.com\/entry\/%E5%A4%A7%E5%90%89%E7%A5%A5%E5%AF%BApm2025_%E3%82%B5%E3%82%B3%E3%83%83%E3%82%B7%E3%83%A5\" target=\"_blank\" rel=\"noopener\">\u5927\u5409\u7965\u5bfa.pm\u306ePC\u304c\u5165\u308b\u30b5\u30b3\u30c3\u30b7\u30e5\u3092\u52dd\u624b\u306b\u4f5c\u3063\u305f\u304a\u77e5\u3089\u305b #kichijojipm<\/a>\n\u3067\u3057\u305f\u3002\n\u5409\u7965\u5bfa.pm\u3001\u30ed\u30b4\u304c\u53ef\u611b\u3044\u306e\u3067\u30b5\u30b3\u30c3\u30b7\u30e5\u306b\u306a\u3063\u3066\u3082\u6620\u3048\u307e\u3059\u306d\u3002\u3061\u3087\u3063\u3068\u307b\u3057\u3044\u3051\u3069PC\u3092\u30b5\u30b3\u30c3\u30b7\u30e5\u306b\u5165\u308c\u3066\u6301\u3063\u3066\u6b69\u304f\u3053\u3068\u306f\u306a\u3055\u305d\u3046\u30fb\u30fb\u30fb<\/p>\n<p>\u6268\u3001\u5b9f\u306f\u5409\u7965\u5bfa.pm\u306f<a href=\"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/\">\u6628\u5e74\u306e\u5927\u5409\u7965\u5bfa.pm\u306b\u884c\u3063\u305f<\/a>\n\u3060\u3051\u3067\u3001\u901a\u5e38\u306e\u5409\u7965\u5bfa.pm\u306b\u884c\u3063\u305f\u3053\u3068\u3082\u7121\u304f\u3001\u5409\u7965\u5bfa\u81ea\u4f53\u3082\u5927\u5409\u7965\u5bfa.pm\u4ee5\u5916\u306b1\u56de\u884c\u3063\u305f\u3053\u3068\u304c\u3042\u308b\u304b\u306a\u3044\u304b\u3001\u3068\u3044\u3046\u30ec\u30d9\u30eb\u306a\u306e\u3067\u3059\u304c\u3001<a href=\"https:\/\/x.com\/kichijojipm\/status\/1987871600092610748\" target=\"_blank\" rel=\"noopener\">\u5409\u7965\u5bfa.pm\u516c\u5f0f\u306eX Post<\/a>\n\u306b\u3088\u308c\u3070\u3001\u5409\u7965\u5bfa\u306e\u7f8e\u5473\u3057\u3044\u3082\u306e\u60c5\u5831\u3067\u3082\u53ef\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u5409\u7965\u5bfa\u306e\u7f8e\u5473\u3057\u3044\u3082\u306e\u3068\u3057\u3066<a href=\"https:\/\/kushidori.com\/\" target=\"_blank\" rel=\"noopener\">\u4e32\u9ce5<\/a>\n\u3092\u3054\u7d39\u4ecb\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u306a\u3093\u304b\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u71b1\u304c\u518d\u71c3\u3057\u305f\u306e\u3067\u3001\u521d\u3081\u3066\u306e\u5409\u7965\u5bfa.pm\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u4f5c\u308a\u307e\u3057\u305f<br><br>\u5409\u7965\u5bfa\u306e\u7f8e\u5473\u3057\u3044\u3082\u306e\u60c5\u5831\u3067\u3082\u53ef\u3067\u3059<a href=\"https:\/\/t.co\/jVZZWhByxx\">https:\/\/t.co\/jVZZWhByxx<\/a><a href=\"https:\/\/twitter.com\/hashtag\/kichijojipm?src=hash&amp;ref_src=twsrc%5Etfw\">#kichijojipm<\/a><\/p>&mdash; \u5409\u7965\u5bfa.pm (@kichijojipm) <a href=\"https:\/\/twitter.com\/kichijojipm\/status\/1987871600092610748?ref_src=twsrc%5Etfw\">November 10, 2025<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<h2 id=\"\u4e32\u9ce5\">\u4e32\u9ce5<\/h2>\n<p>\u4e32\u9ce5\u306f\u5317\u6d77\u9053\u672d\u5e4c\u5e02\u306b\u672c\u793e\u3092\u7f6e\u304d\u3001\u672c\u65e5\u6642\u70b9\u3067\u5317\u6d77\u9053\u306b31\u5e97\u8217\u3001\u4ed9\u53f0\u306b5\u5e97\u8217\u3001\u305d\u3057\u3066\u5409\u7965\u5bfa\u306b\u5e97\u8217\u306e\u3042\u308b\u713c\u304d\u9ce5\u30c1\u30a7\u30fc\u30f3\u5e97\u3067\u3059\u3002\n\u306a\u304a\u3001\u7b46\u8005\u306f\u73fe\u5728\u5317\u6d77\u9053\u672d\u5e4c\u5e02\u5728\u4f4f\u3067\u3001\u524d\u8ff0\u306e\u901a\u308a\u5409\u7965\u5bfa\u306b\u306f\u307b\u3068\u3093\u3069\u884c\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u305f\u3081\u3001\u4e32\u9ce5\u5409\u7965\u5bfa\u5357\u53e3\u5e97\u306b\u3082\u884c\u3063\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u3002\n\u672c\u8a18\u4e8b\u4e2d\u306e\u5199\u771f\u306f\u4e32\u9ce5\u6771\u533a\u5f79\u6240\u524d\u5e97\u3067\u64ae\u5f71\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u3055\u304b\u8ab0\u3082\u3001\u5409\u7965\u5bfa.pm\u306e\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306e2\u65e5\u76ee\u306b\u3057\u3066\u672d\u5e4c\u306e\u713c\u304d\u9ce5\u5c4b\u306e\u8a71\u3092\u66f8\u304f\u3068\u306f\u601d\u308f\u306a\u304b\u308d\u3046\u3002<\/p>\n<p><a href=\"https:\/\/maps.app.goo.gl\/M9yKLssBvjC35ocA9\" target=\"_blank\" rel=\"noopener\">\u5642<\/a>\n\u306b\u3088\u308c\u3070\u3001\u5409\u7965\u5bfa\u5357\u53e3\u5e97\u306f\u99c5\u304b\u3089\u6b66\u8535\u91ce\u516c\u4f1a\u5802\u65b9\u9762\u306b\u51fa\u305f\u6642\u3001\u99c5\u524d\u3059\u3050\u306b\u3042\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u3001\u4e32\u9ce5\u3067\u98df\u3079\u305f\u3082\u306e\u306e\u5199\u771f\u3092\u63b2\u8f09\u3057\u307e\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/soup_hu_616a7a957f8c45c4.jpg\" alt=\"\u9d8f\u30ac\u30e9\u30b9\u30fc\u30d7\" \/>\n<\/p>\n<p>\u4e32\u9ce5\u3068\u3044\u3048\u3070\u9d8f\u30ac\u30e9\u30b9\u30fc\u30d7\u3002\u3053\u308c\u306f\u30b5\u30fc\u30d3\u30b9\u3067\u51fa\u3066\u304f\u308b\u3082\u306e\u3067\u3001\u30dd\u30c3\u30c8\u3067\u51fa\u3066\u304f\u308b\u306e\u3067\u597d\u304d\u306a\u3060\u3051\u98f2\u3081\u307e\u3059\u3002\n\u5199\u771f\u3092\u64ae\u308b\u306e\u3092\u5fd8\u308c\u305f\u306e\u3067\u3059\u304c\u3001\u304a\u901a\u3057\u3068\u3057\u3066\u3053\u308c\u3068\u3068\u3082\u306b\u5927\u6839\u304a\u308d\u3057\u304c\u51fa\u3066\u304d\u307e\u3059\u3002<\/p>\n<p>\u5642\u306b\u3088\u308b\u3068\u5409\u7965\u5bfa\u5357\u53e3\u5e97\u3067\u306f\u5927\u6839\u304a\u308d\u3057\u304c\u51fa\u3066\u3053\u306a\u3044\u3068\u3044\u3046\u8a71\u3082\u3042\u308b\u306e\u3067\u3001\u4e00\u5ea6\u78ba\u8a8d\u3057\u306b\u884c\u304d\u305f\u3044\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/1_hu_b3bdd8da3a364227.jpg\" alt=\"\u3072\u306a\u76ae\u3001\u624b\u7fbd\u5148\u3001\u3064\u304f\u306d\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/2_hu_d25480778f96f822.jpg\" alt=\"\u3082\u3061\u30d9\u30fc\u30b3\u30f3\u3001\u8c5a\u7cbe\u8089\" \/>\n<\/p>\n<p>\u3072\u306a\u76ae\u3001\u624b\u7fbd\u5148\u3001\u3064\u304f\u306d(\u6885\u3057\u305d)\u3002\n\u3053\u308c\u306f\u6771\u533a\u5f79\u6240\u524d\u5e97\u7279\u6709\u306e\u3084\u3064\u3060\u3068\u304a\u3082\u3046\u3093\u3067\u3059\u304c\u3001\u300c\u5e97\u9577\u306e\u304a\u307e\u304b\u305b\u30bb\u30c3\u30c8\u300d\u306a\u308b\u3082\u306e\u304c\u3042\u308a\u3001\u3053\u306e\u65e5\u306f\u305d\u308c\u304c\u5c11\u3057\u5b89\u3044\u3067\u3059\u3001\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u983c\u307f\u307e\u3057\u305f\u3002\n\u3082\u3061\u30d9\u30fc\u30b3\u30f3\u3001\u4e32\u9ce5\u4ee5\u5916\u3067\u898b\u305f\u3053\u3068\u306a\u3044\u6c17\u304c\u3059\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/3_hu_f1762baba73afc53.jpg\" alt=\"\u5ca9\u4e0b\u306e\u65b0\u751f\u59dc\u8c5a\u5dfb\u3001\u713c\u304d\u30ab\u30c1\u30e7\u30ab\u30f4\u30a1\u30ed\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/4_hu_fb0bd1f7f36510bf.jpg\" alt=\"\u713c\u304d\u30ab\u30c1\u30e7\u30ab\u30f4\u30a1\u30ed\u306e\u30e1\u30cb\u30e5\u30fc\" \/>\n<\/p>\n<p>\u5ca9\u4e0b\u306e\u65b0\u751f\u59dc\u8c5a\u5dfb\u304d\u3001\u713c\u304d\u30ab\u30c1\u30e7\u30ab\u30f4\u30a1\u30ed\u3002\n\u30c1\u30fc\u30ba\u304c\u713c\u304b\u308c\u3066\u308b\u3068\u306a\u3093\u304b\u98df\u3079\u305f\u304f\u306a\u308a\u307e\u3059\u3088\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/5_hu_28b9ab4e6b989ae8.jpg\" alt=\"\u307d\u3093\u307d\u3061\u3001\u8c5a\u5473\u564c\u6d77\u82d4\u5dfb\u304d\u3001\u8c5a\u3057\u305d\u5dfb\u304d\" \/>\n<\/p>\n<p>\u307d\u3093\u307d\u3061\u3001\u8c5a\u5473\u564c\u6d77\u82d4\u5dfb\u304d\u3001\u8c5a\u3057\u305d\u5dfb\u304d\u3002\n\u8c5a\u3092\u5dfb\u3044\u305f\u3001\u8c5a\u5473\u564c\u6d77\u82d4\u5dfb\u304d\u3068\u8c5a\u3057\u305d\u5dfb\u304d\u3082\u4e32\u9ce5\u3068\u3044\u3048\u3070\u3001\u306e\u30e1\u30cb\u30e5\u30fc\u306e\u4e00\u3064\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/6_hu_632fafdbeb96af79.jpg\" alt=\"\u9ce5\u3082\u3082\u30cf\u30cb\u30fc\u30de\u30b9\u30bf\u30fc\u30c9\u3001\u30c1\u30ad\u30f3\u5357\u86ee\" \/>\n<\/p>\n<p>\u9ce5\u3082\u3082\u30cf\u30cb\u30fc\u30de\u30b9\u30bf\u30fc\u30c9\u3001\u30c1\u30ad\u30f3\u5357\u86ee\u3002\u30c1\u30ad\u30f3\u5357\u86ee\u306f\u306a\u3093\u304b\u30d5\u30a7\u30a2\u30e1\u30cb\u30e5\u30fc\u7684\u306a\u3084\u3064\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30b3\u30e9\u30dc\u30b0\u30c3\u30ba\">\u30b3\u30e9\u30dc\u30b0\u30c3\u30ba<\/h2>\n<p>\u6700\u8fd1\u3001\u4e32\u9ce5\u3068<a href=\"https:\/\/www.shimamura.co.jp\/\" target=\"_blank\" rel=\"noopener\">\u5cf6\u6751\u697d\u5668<\/a>\n\u306e\u30b3\u30e9\u30dc\u30a2\u30a4\u30c6\u30e0\u304c\u767a\u58f2\u3055\u308c\u307e\u3057\u3066\u3001\u5730\u5143\u4f01\u696d\u3068\u306e\u30b3\u30e9\u30dc\u30b0\u30c3\u30ba\u306f\u5b09\u3057\u3044\u306a\u301c\u306a\u3069\u601d\u3044\u306a\u304c\u3089\u8cb7\u3044\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kushidori\/images\/strap_hu_9f02361a810daf57.jpg\" alt=\"\u30ae\u30bf\u30fc\u30b9\u30c8\u30e9\u30c3\u30d7\u3068\u30d4\u30c3\u30af\" \/>\n<\/p>\n<p>\u6539\u3081\u3066\u5cf6\u6751\u697d\u5668\u306e\u304a\u77e5\u3089\u305b\u4e00\u89a7\u3092\u773a\u3081\u3066\u3044\u308b\u3068\u3001\u3053\u3053\u6700\u8fd1\u3067\u4e5d\u5dde\u4e73\u696d\u3084\u3089\u77e2\u5834\u3068\u3093\u3084\u3089\u3068\u306e\u30b3\u30e9\u30dc\u3082\u3084\u3063\u3066\u3044\u308b\u3089\u3057\u304f\u3001\u5404\u5730\u5143\u4f01\u696d\u304c\u30d5\u30a3\u30fc\u30c1\u30e3\u30fc\u3055\u308c\u308b\u3068\u3044\u3046\u306e\u306f\u826f\u3044\u3053\u3068\u3060\u306a\u3001\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u7de0\u3081\u306e\u4e00\u53e5\">\u7de0\u3081\u306e\u4e00\u53e5<\/h2>\n<p>\u3057\u3063\u3066\u308b\u304b<br>\n\u5409\u7965\u5bfa\u306b\u3082<br>\n\u4e32\u9ce5\u304c<\/p>"},{"title":"Tech Rock Festival 2025.11.22","link":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2025-11-22\/","pubDate":"Wed, 26 Nov 2025 21:57:45 +0900","guid":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2025-11-22\/","description":"<p>2025\u5e7411\u670822\u65e5\u306b\u65b0\u5bbfSUNFACE\u3067\u958b\u50ac\u3055\u308c\u305fIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u3088\u308bIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30a4\u30d9\u30f3\u30c8Tech Rock Festival Day3\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f<a href=\"https:\/\/x.com\/hashtag\/TechRockFestival\" target=\"_blank\" rel=\"noopener\">#TechRockFestival<\/a>\n\u3067\u3057\u305f\u3002\n\u305d\u3046\u3044\u3048\u3070\u3001\u6628\u51ac\u306b\u914d\u4fe1\u30e9\u30a4\u30d6\u3084\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u305d\u308c\u306e\u30d6\u30ed\u30b0\u66f8\u3044\u3066\u306a\u304b\u3063\u305f\u30fb\u30fb\u30fb<\/p>\n<p>\u30a4\u30d9\u30f3\u30c8\u81ea\u4f53\u306e\u958b\u50ac\u7d4c\u7def\u306f<a href=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/\">2023\u5e74\u306e\u30ec\u30dd\u30fc\u30c8<\/a>\n\u3092\u53c2\u7167\u306e\u3053\u3068\u3002<\/p>\n<p>\u6bce\u5e74\u51fa\u6f14\u5e0c\u671b\u8005\u304c\u5897\u3048\u3066\u304a\u308a\u3001\u4eca\u5e74\u306f\u306a\u3093\u30683\u56de\u306e\u958b\u50ac\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u4f8b\u5e74\u540c\u69d8\u958b\u50ac\u5730\u306f\u65b0\u5bbf\u3067\u3042\u308b\u4e00\u65b9\u3001\u73fe\u5728\u79c1\u306f\u672d\u5e4c\u5728\u4f4f\u3067\u3001\u30ae\u30bf\u30fc\u3084\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u3092\u6301\u3063\u3066\u79fb\u52d5\u3059\u308b\u306e\u304c\u306a\u304b\u306a\u304b\u5927\u5909\u306a\u305f\u3081\u3001\u4eca\u56de\u306f\u30ae\u30bf\u30fc\u3067\u306f\u306a\u304f\u30dc\u30fc\u30ab\u30eb\u3067\u306e\u53c2\u52a0\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u6a5f\u6750\">\u6a5f\u6750<\/h2>\n<p>\u4eca\u56de\u306f\u521d\u3081\u3066\u306e\u30dc\u30fc\u30ab\u30eb\u30fb\u30fb\u30fb\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u3042\u307e\u308a\u3080\u3084\u307f\u3084\u305f\u3089\u306b\u6a5f\u6750\u6295\u5165\u304c\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u308c\u3067\u3082\u552f\u4e00\u3069\u3046\u3057\u3066\u3082\u4f7f\u3063\u3066\u307f\u305f\u304b\u3063\u305f\u306e\u304c\u30ef\u30a4\u30e4\u30ec\u30b9\u30a4\u30f3\u30a4\u30e4\u30fc\u30e2\u30cb\u30bf\u30fc\u3067\u3059\u3002\n\u4ee5\u524d\u30dc\u30fc\u30ab\u30eb\u306b\u5c11\u3057\u3060\u3051\u6311\u6226\u3057\u305f\u3068\u304d\u306f\u30dc\u30fc\u30ab\u30eb\u6163\u308c\u3057\u3066\u3044\u306a\u3044\u3068\u3044\u3046\u306e\u3082\u3042\u308a\u3001\u81ea\u5206\u306e\u58f0\u3092\u898b\u5931\u3063\u3066\u3057\u307e\u3063\u3066\u5168\u7136\u97f3\u304c\u53d6\u308c\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30a4\u30e4\u30db\u30f3\u3067\u78ba\u5b9f\u306b\u81ea\u5206\u306e\u58f0\u3092\u30e2\u30cb\u30bf\u30fc\u3057\u305f\u3044\uff01\u3068\u601d\u3063\u305f\u306e\u3067\u3057\u305f\u3002\n\u30d7\u30ed\u304c\u5927\u898f\u6a21\u306a\u4f1a\u5834\u3067\u4f7f\u3046\u3088\u3046\u306a\u5927\u578b\u306e\u3082\u306e\u304b\u3089\u3001\u8fd1\u5e74\u3067\u306f\u5c0f\u578b\u30fb\u5b89\u4fa1\u306a\u3082\u306e\u3082\u8907\u6570\u8ca9\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u306e\u4e2d\u3067\u3082\u4eca\u56de\u306f<a href=\"https:\/\/amzn.to\/4oXasaR\" target=\"_blank\" rel=\"noopener\">Xvive XV-U4<\/a>\n\u3092\u8cfc\u5165\u3057\u3001\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2025-11-22\/images\/xvive_xv_u4_hu_37ee8687ce425653.jpg\" alt=\"Xvive XV-U4\" \/>\n<\/p>\n<p>\u4fa1\u683c\u3082\u305d\u308c\u306a\u308a\u306b\u624b\u9803(\u8cfc\u5165\u6642\u70b9\u306734,100\u5186)\u3067\u3001\u4f59\u5206\u306a\u30b1\u30fc\u30d6\u30eb\u7b49\u304c\u5fc5\u8981\u7121\u304f\u3001\u672c\u756a\u3067\u3082\u5358\u306b\u633f\u3057\u3066\u97f3\u3092\u6d41\u3057\u3066\u3082\u3089\u3048\u3070\u826f\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u9078\u629e\u3057\u307e\u3057\u305f\u3002\n\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u30a4\u30e4\u30db\u30f3\u306f\u307e\u3041\u4f55\u3067\u3082\u3044\u3044\u304b\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3001\u3042\u308b\u7a0b\u5ea6\u4fe1\u983c\u3067\u304d\u305d\u3046\u306a\u30e1\u30fc\u30ab\u30fc\u306e\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u30a4\u30e4\u30db\u30f3\u306e\u4e2d\u3067\u4fa1\u683c\u304c\u624b\u9803\u3060\u3063\u305f<a href=\"https:\/\/amzn.to\/4oci0Fn\" target=\"_blank\" rel=\"noopener\">Sennheiser IE100 PRO<\/a>\n\u3092\u9078\u3073\u307e\u3057\u305f\u3002<\/p>\n<p>\u7d50\u679c\u3068\u3057\u3066\u306f\u5927\u6e80\u8db3\u3067\u3001PA\u3055\u3093\u306b\u306f\u300c\u30ef\u30a4\u30e4\u30ec\u30b9\u30a4\u30e4\u30e2\u30cb\u3092\u4f7f\u3044\u305f\u3044\u300d\u3068\u3044\u3046\u3053\u3068\u3092\u4f1d\u3048\u3066\u3044\u305f\u3060\u3051\u3067\u3042\u3068\u306f\u5f53\u65e5\u5408\u308f\u305b\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4f55\u306e\u554f\u984c\u3082\u7121\u304f\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\n\u552f\u4e00\u306e\u6b20\u70b9\u306fUSB micro-B\u5145\u96fb\u3067\u3042\u308b\u3001\u3068\u3044\u3046\u70b9\u3067\u3059\u306d\u30fb\u30fb\u30fb<\/p>\n<h2 id=\"\u30d0\u30f3\u30c9\u3068\u6f14\u76ee\">\u30d0\u30f3\u30c9\u3068\u6f14\u76ee<\/h2>\n<p>\u4eca\u56de\u306e\u30d0\u30f3\u30c9\u306f\u3001\u30d0\u30c8\u30eb\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u30e8\u30b7\u30bb\u3068\u3044\u3046\u540d\u524d\u3067\u3001\u30a2\u30cb\u30bd\u30f3\u3084\u3089\u30dc\u30ab\u30ed\u3084\u3089\u3092\u3084\u308b\u30d0\u30f3\u30c9\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u7d50\u6210\u3057\u307e\u3057\u305f\u3002\n\u306a\u3093\u306a\u306e\u3060\u3053\u306e\u540d\u524d\u306f\u30fb\u30fb\u30fb\n\u4eca\u56de\u3082\u30ad\u30fc\u30dc\u30fc\u30c9\u3042\u308a\u7de8\u6210\u3067\u8c6a\u83ef\u3067\u3057\u305f\u304c\u3001\u306a\u3093\u3084\u304b\u3093\u3084\u3069\u306e\u30d0\u30f3\u30c9\u306b\u3082\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u3044\u308b\u611f\u3058\u306b\u306a\u3063\u3066\u3044\u3066\u3059\u3054\u3044\u306a\u3001\u3068\u611f\u3058\u307e\u3057\u305f\u306d\u30fb\u30fb\u30fb<\/p>\n<p>\u9762\u5b50:<\/p>\n<ul>\n<li><a href=\"https:\/\/x.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">nasa9084<\/a>\n(Vo)<\/li>\n<li><a href=\"https:\/\/x.com\/takasp_2350\" target=\"_blank\" rel=\"noopener\">takasp<\/a>\n(Gt)<\/li>\n<li><a href=\"https:\/\/x.com\/capytan_el34\" target=\"_blank\" rel=\"noopener\">capytan<\/a>\n(Ba)<\/li>\n<li><a href=\"https:\/\/x.com\/featherplain\" target=\"_blank\" rel=\"noopener\">Hano<\/a>\n(Key)<\/li>\n<li><a href=\"https:\/\/x.com\/japan_rook\" target=\"_blank\" rel=\"noopener\">\u3046\u3064\u307c<\/a>\n(Dr)<\/li>\n<\/ul>\n<p>\u66f2\u76ee:<\/p>\n<ol>\n<li>\u30c6\u30ec\u30ad\u30e3\u30b9\u30bf\u30fc\u30d3\u30fc\u30dc\u30fc\u30a4<\/li>\n<li>\u30a2\u30f3\u30ce\u30a6\u30f3\u30de\u30b6\u30fc\u30b0\u30fc\u30b9<\/li>\n<li>\u6708\u5149\u82b1<\/li>\n<li>\u602a\u7363<\/li>\n<li>\u30d2\u30c8\u30ea\u30ce\u591c<\/li>\n<\/ol>\n<h2 id=\"\u6b21\">\u6b21<\/h2>\n<p>\u6253\u3061\u4e0a\u3052\u3067\u3082\u8a71\u3092\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u6b21\u306f\u306a\u3093\u304b\u3053\u3046\u3001\u8a33\u306e\u5206\u304b\u3089\u3093\u697d\u5668\u3067\u7d44\u3093\u3060\u8a33\u306e\u5206\u304b\u3089\u3093\u30d0\u30f3\u30c9\u3092\u3084\u308a\u305f\u3044\u3093\u3067\u3059\u3088\u306d\u30fb\u30fb\u30fb\n\u3042\u3068\u3001\u6253\u3061\u4e0a\u3052\u3067\u3001\u8ab0\u3082\u77e5\u3089\u306a\u3044\u30ae\u30bf\u30fc\u30ea\u30d5\u3092\u5f3e\u3044\u305f\u3089\u30c9\u30dc\u30f3\u3001\u3068\u3044\u3046\u95c7\u306e\u30b2\u30fc\u30e0\u306b\u53c2\u52a0\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u5168\u7136\u6307\u304c\u52d5\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u305d\u308d\u305d\u308d\u3061\u3083\u3093\u3068\u30ae\u30bf\u30fc\u3082\u7df4\u7fd2\u3057\u306a\u3044\u3068\u4f55\u3082\u5f3e\u3051\u306a\u304f\u306a\u308b\u306a\u3001\u3068\u601d\u3044\u307e\u3057\u305f\u3002<\/p>"},{"title":"YAPC::Fukuoka 2025","link":"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/","pubDate":"Tue, 25 Nov 2025 23:42:00 +0900","guid":"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/","description":"<p>2025\u5e7411\u670814\u65e5\u301c15\u65e5\u306b\u798f\u5ca1\u5de5\u696d\u5927\u5b66\u3067\u958b\u50ac\u3055\u308c\u305f\u3001<a href=\"https:\/\/yapcjapan.org\/2025fukuoka\/\" target=\"_blank\" rel=\"noopener\">YAPC::Fukuoka 2025<\/a>\n\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002\nYAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u201cYet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002X\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/x.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/\">\u524d\u56de\u306e\u51fd\u9928<\/a>\n\u304b\u3089\u7d041\u5e74\u3076\u308a\u3001<a href=\"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\/\">\u798f\u5ca1\u3067\u306e\u958b\u50ac\u306f2017\u5e74\u4ee5\u67652\u5ea6\u76ee<\/a>\n\u3067\u3001YAPC::Japan\u3068\u3057\u3066\u306f\u521d\u3081\u3066\u306e2\u65e5\u9593\u958b\u50ac\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306f2\u65e5\u9593\u30d5\u30eb\u3067\u306e\u958b\u50ac\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u524d\u65e5\u6728\u66dc\u65e5\u306b\u535a\u591a\u5165\u308a\u3001\u91d1\u66dc\u3001\u571f\u66dc\u3068YAPC\u306b\u53c2\u52a0\u3057\u3066\u3001\u65e5\u66dc\u65e5\u306b\u5e30\u308b\u3068\u3044\u3046\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3067\u81e8\u307f\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u524d\u65e5\">\u524d\u65e5<\/h2>\n<p>\u666e\u6bb5\u306e\u696d\u52d9\u3067\u5b9f\u306f\u798f\u5ca1\u306b\u3044\u308b\u30e1\u30f3\u30d0\u30fc\u3068\u306e\u95a2\u308f\u308a\u304c\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u73fe\u8077\u306b\u5165\u793e\u3057\u3066\u3053\u306e\u65b9\u798f\u5ca1\u306b\u51fa\u5f35\u306e\u7528\u4e8b\u304c\u7121\u304b\u3063\u305f\u305f\u3081\u3001\u798f\u5ca1\u306e\u30e1\u30f3\u30d0\u30fc\u3068\u4f1a\u3046\u6a5f\u4f1a\u304c\u7121\u304b\u3063\u305f\u306e\u3067\u3001\u663c\u3054\u98ef\u3092\u4e00\u7dd2\u306b\u98df\u3079\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/oyakodon_hu_dcf5080206f1bb83.jpg\" alt=\"\u89aa\u5b50\u4e3c\" \/>\n<\/p>\n<p>\u306a\u3093\u3084\u304b\u3093\u3084\u90fd\u5408\u304c\u5408\u308f\u306a\u304b\u3063\u305f\u308a\u3057\u3066\u3001\u5168\u54e1\u3068\u4f1a\u3046\u3053\u3068\u306f\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u304b\u308c\u3053\u308c\u6570\u5e74\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u3084\u308a\u3068\u308a\u3092\u3057\u3066\u3044\u305f\u4eba\u3068\u300c\u521d\u3081\u307e\u3057\u3066\u301c\u300d\u3059\u308b\u306e\u306f\u306a\u304b\u306a\u304b\u611f\u6168\u6df1\u3044\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u306d\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u3001\u30ab\u30fc\u30b7\u30a7\u30a2\u3092\u501f\u308a\u3066\u3001<a href=\"https:\/\/fukuoka-effect.jp\/\" target=\"_blank\" rel=\"noopener\">FUKUOKA EFFECT<\/a>\n\u306b\u884c\u304d\u307e\u3057\u305f\u3002\u672d\u5e4c\u306f\u3082\u3046\u65e2\u306b\u5712\u82b8\u5e97\u306f\u51ac\u671f\u4f11\u696d\u30fb\u6642\u77ed\u55b6\u696d\u306b\u5165\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u666e\u901a\u306b\u5712\u82b8\u5e97\u304c\u55b6\u696d\u3057\u3066\u3044\u3066\u3001\u5546\u54c1\u3082\u3057\u3063\u304b\u308a\u4e26\u3093\u3067\u3044\u308b\u3001\u3068\u3044\u3046\u306e\u306f\u3084\u306f\u308a\u6696\u5730\u3060\u306a\u3001\u3068\u3044\u3046\u306e\u3092\u611f\u3058\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/fukuoka_effect_hu_3b880e35f6dc5b54.jpg\" alt=\"FUKUOKA EFFECT\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/fukuoka_effect_2_hu_fd9f4501ef5143cc.jpg\" alt=\"\u30a2\u30ac\u30d9\" \/>\n<\/p>\n<p>\u30a2\u30ac\u30d9\u3001\u591a\u8089\u3001\u5ead\u7528\u306e\u82d7\u3001\u30d7\u30e9\u30f3\u30bf\u30fc\u985e\u304c\u591a\u3044\u5370\u8c61\u3067\u3057\u305f\u3002\u672d\u5e4c\u306f\u30d7\u30e9\u30f3\u30bf\u30fc\u985e\u304c\u591a\u3044\u8ca9\u58f2\u5e97\u306f\u4eca\u306e\u3068\u3053\u308d\u898b\u3064\u3051\u3089\u308c\u3066\u306a\u3044\u3093\u3067\u3059\u3088\u306d\u30fb\u30fb\u30fb<\/p>\n<p>\u30a8\u30b1\u30d9\u30ea\u30a2 \u30ab\u30f3\u30c6\u3001\u767d\u4e01\u82b1\u3001\u30d2\u30b5\u30ab\u30ad\u300c\u6b8b\u96ea\u300d\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u767d\u4e01\u82b1\u3082\u30d2\u30b5\u30ab\u30ad\u3082\u89b3\u8449\u690d\u7269\u30fb\u30fb\u30fb\u3068\u306f\u3061\u3087\u3063\u3068\u9055\u3046\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u6591\u5165\u308a\u3067\u89b3\u8449\u3063\u307d\u3044\u3057\u3001\u30b7\u30a7\u30fc\u30c9\u30ac\u30fc\u30c7\u30f3\u7528\u306b\u3082\u826f\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u5ba4\u5185\u3067\u3082\u80b2\u3064\u3067\u3057\u3087\u3046\u3002\u591a\u5206\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/kante_hu_7dea4a3601ddc8bb.jpg\" alt=\"\u30a8\u30b1\u30d9\u30ea\u30a2 \u30ab\u30f3\u30c6\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/hakuchouge_hu_957c97f70cc46cea.jpg\" alt=\"\u767d\u4e01\u82b1\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/zansetsu_hu_b2e3d1582328d567.jpg\" alt=\"\u30d2\u30b5\u30ab\u30ad \u6b8b\u96ea\" \/>\n<\/p>\n<p>\u591c\u3054\u98ef\u306f<a href=\"https:\/\/www.makinoudon.jp\/\" target=\"_blank\" rel=\"noopener\">\u7267\u306e\u3046\u3069\u3093<\/a>\n\u3067\u8089\u3046\u3069\u3093\u3092\u98df\u3079\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"day-1\">Day 1<\/h2>\n<p>\u6268\u3001YAPC::Fukuoka 2025\u4e00\u65e5\u76ee\u3067\u3059\u304c\u3001\u671d\u304b\u3089\u30d1\u30f3\u30b9\u30c8\u30c3\u30af\u5929\u795e\u5e97\u306b\u660e\u592a\u30d5\u30e9\u30f3\u30b9\u3092\u8cb7\u3044\u306b\u884c\u3063\u305f\u3089\u9045\u523b\u3057\u307e\u3057\u305f\u30fb\u30fb\u30fb\u3002\u30d1\u30f3\u30b9\u30c8\u30c3\u30af\u304c\u958b\u5e97\u524d\u304b\u3089\u4e26\u3076\u5e97\u306a\u306e\u306f\u77e5\u3063\u3066\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u5e73\u65e5\u306a\u306e\u3067\u591a\u5c11\u30de\u30b7\u304b\u3068\u8e0f\u3093\u3060\u3093\u3067\u3059\u304c\u30fb\u30fb\u30fb\u7d50\u5c401\u6642\u9593\u4e26\u3073\u307e\u3057\u305f\u3002\u9014\u4e2d\u3067YAPC\u306e\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u306b\u9593\u306b\u5408\u308f\u306a\u3044\u3053\u3068\u306f\u5206\u304b\u3063\u3066\u305f\u3093\u3067\u3059\u304c\u3001\u5f8c\u306b\u5f15\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/mentai_france_hu_6a0294591e501da8.jpg\" alt=\"\u30d1\u30f3\u30b9\u30c8\u30c3\u30af\u306e\u660e\u592a\u30d5\u30e9\u30f3\u30b9\" \/>\n<\/p>\n<p>\u30d1\u30f3\u30b9\u30c8\u30c3\u30af\u306e\u30d1\u30f3\u3001\u4f55\u3092\u8cb7\u3063\u3066\u3082\u7f8e\u5473\u3044\u306e\u3067\u798f\u5ca1\u306b\u884c\u304f\u6a5f\u4f1a\u304c\u3042\u308c\u3070\u662f\u975e\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u30d1\u30f3\u3092\u3082\u3050\u3082\u3050\u3057\u3064\u3064\u4f1a\u5834\u3078\u3002\u6700\u5bc4\u308a\u306e\u798f\u5de5\u5927\u524d\u99c5\u304b\u3089\u3001\u3042\u3061\u3053\u3061\u306b\u73fe\u5728\u5730\u3068\u53d7\u4ed8\u307e\u3067\u306e\u5730\u56f3\u3092\u7f6e\u3044\u3066\u304a\u3044\u3066\u304f\u308c\u305f\u306e\u3067\u3001\u8ff7\u308f\u305a\u306b\u305f\u3069\u308a\u7740\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/images\/map_hu_8e6b45a614f5efc1.jpg\" alt=\"\u5730\u56f3\u306f\u52a9\u304b\u308b\" \/>\n<\/p>\n<p>\u4e00\u65e5\u76ee\u306f\u4ee5\u4e0b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8074\u304d\u307e\u3057\u305f:<\/p>\n<ul>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/8788e20c-bca5-4ff8-8c46-58673415f4f3\" target=\"_blank\" rel=\"noopener\">\u300c\u6b63\u898f\u8868\u73fe\u3092\u3064\u304f\u308b\u300d\u3092\u3064\u304f\u308b<\/a>\n<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/edd5ad15-3152-4f2c-9df1-6daad7944327\" target=\"_blank\" rel=\"noopener\">\u306a\u305c\u30a4\u30f3\u30d5\u30e9\u30b3\u30fc\u30c9\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u5316\u306f\u96e3\u3057\u3044\u306e\u304b - \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\u3068\u306e\u672c\u8cea\u7684\u306a\u9055\u3044\u304b\u3089\u8003\u3048\u308b<\/a>\n<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/faef2cbb-9a07-4838-a67e-f8ce3615158e\" target=\"_blank\" rel=\"noopener\">\u300c\u30c7\u30fc\u30bf\u7121\u3044\uff01\u8179\u7acb\u3064\uff01\u63a8\u6e2c\u3059\u308b\uff01\u300d\u304b\u3089\u300c\u30c7\u30fc\u30bf\u7121\u3044\uff01\u8179\u7acb\u3064\uff01\u30c7\u30fc\u30bf\u3092\u4f5c\u308b\u300d\u3078 \u2015 \u30bc\u30ed\u304b\u3089\u30c7\u30fc\u30bf\u3092\u4f5c\u308a\u3001\u30c1\u30fc\u30e0\u3067\u80b2\u3066\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u307e\u3067<\/a>\n<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/0b931b36-e916-4461-bbf1-886419280759\" target=\"_blank\" rel=\"noopener\">\u306a\u305cThrottle\u3067\u306f\u306a\u304fDebounce\u3060\u3063\u305f\u306e\u304b\uff1f 700\u4e26\u5217\u30ea\u30af\u30a8\u30b9\u30c8\u3068\u6226\u3046\u30b5\u30fc\u30d0\u30fc\u30b5\u30a4\u30c9\u5b9f\u88c5\u306e\u3059\u3079\u3066<\/a>\n<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/67512650-017e-4fea-ac00-23833e4221fc\" target=\"_blank\" rel=\"noopener\">Learning Scalable DNS Resolvers from Hyper-Scalers<\/a>\n<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/37827736-fba6-4e08-a9b4-a0abe131f65d\" target=\"_blank\" rel=\"noopener\">SRE\u306e\u305f\u3081\u306e\u30c6\u30ec\u30e1\u30c8\u30ea\u30fc\u6280\u8853\u306e\u63a2\u7a76 \u2014 \u30e2\u30cb\u30bf\u30ea\u30f3\u30b0SaaS\u958b\u767a\u304b\u3089AIOps\u30fbAI\u30a4\u30f3\u30d5\u30e9\u307e\u3067<\/a>\n<\/li>\n<\/ul>\n<p>\u8fd1\u5e74\u306f\u3060\u3089\u3060\u3089\u3068\u5eca\u4e0b\u3067\u77e5\u308a\u5408\u3044\u3068\u8a71\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u591a\u304f\u3066\u3042\u307e\u308a\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8074\u304f\u3068\u3044\u3046\u3053\u3068\u3092\u3084\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u7d50\u69cb\u8a71\u3092\u8074\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u61c7\u89aa\u4f1a\u306fDay 2\u306e\u591c\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3001\u4f55\u4eba\u304b\u6355\u307e\u3048\u3066\u98f2\u307f\u306b\u884c\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"day-2\">Day 2<\/h2>\n<p>\u4e8c\u65e5\u76ee\u3001\u3082\u3061\u308d\u3093\u9045\u523b\u3057\u307e\u3057\u305f\u30029\u6642\u534a\u306f\u65e9\u3044\u3063\u3066\u3002\u3002\u3002<\/p>\n<p>\u4e8c\u65e5\u76ee\u306f\u4ee5\u4e0b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8074\u304d\u307e\u3057\u305f:<\/p>\n<ul>\n<li>\u30b2\u30b9\u30c8\u30b2\u30b9\u30c8\u30c8\u30fc\u30af<\/li>\n<li><a href=\"https:\/\/fortee.jp\/yapc-fukuoka-2025\/proposal\/5b6d3e99-45db-4c87-a369-f1b78a30e327\" target=\"_blank\" rel=\"noopener\">\u3084\u308a\u65b9\u306f\u4e00\u3064\u3060\u3051\u3058\u3083\u306a\u3044\u3001\u6b63\u89e3\u3060\u3051\u3092\u76ee\u6307\u3055\u305a\u5bc4\u308a\u9053\u3084\u305d\u306e\u5148\u307e\u3067\u81ea\u5206\u6d41\u306b\u697d\u3057\u3080\u8da3\u5473\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u63a2\u6c42<\/a>\n<\/li>\n<\/ul>\n<p>\u4e8c\u65e5\u3092\u901a\u3057\u3066\u3001\u3059\u304e\u3083\u30fc\u3093\u3055\u3093\u306e\u8da3\u5473\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u8a71\u304c\u826f\u304b\u3063\u305f\u3067\u3059\u306d\u3002\u8fd1\u5e74\u306f\u4f55\u304b\u3068\u30b3\u30fc\u30c9\u3092\u66f8\u304b\u306a\u3044\u3053\u3068\u304c\u3046\u308c\u3057\u3044\u3068\u8a00\u308f\u308c\u304c\u3061\u3067\u3059\u304c\u3001\u500b\u4eba\u7684\u306b\u306f\u5171\u611f\u3067\u304d\u306a\u304f\u3066\u3001\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u306e\u304c\u4e00\u756a\u697d\u3057\u304f\u3066\u3053\u306e\u4ed5\u4e8b\u3092\u3057\u3066\u3044\u308b\u306e\u306b\u3001\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3068\u3053\u308d\u3092\u6301\u3063\u3066\u884c\u304b\u308c\u305f\u3089\u4e00\u756a\u826f\u3044\u3068\u3053\u308d\u304c\u306a\u304f\u306a\u3063\u3066\u3044\u308b\u3060\u308d\u3046\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u3059\u304e\u3083\u30fc\u3093\u3055\u3093\u306e\u767a\u8868\u3067\u306f\u300c\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u306e\u3063\u3066\u697d\u3057\u3044\u3088\u306d\uff01\u300d\u3092\u4e3b\u5f35\u3057\u3066\u304f\u308c\u3066\u3001\u306a\u3093\u3060\u304b\u6551\u308f\u308c\u305f\u3088\u3046\u306a\u6c17\u6301\u3061\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4e8c\u65e5\u76ee\u306f\u61c7\u89aa\u4f1a\u304c\u3042\u308a\u3001\u3044\u308d\u3044\u308d\u306a\u3072\u3068\u3068\u8a71\u305b\u307e\u3057\u305f\u3002\u826f\u304b\u3063\u305f\u826f\u304b\u3063\u305f\u3002\u30d3\u30fc\u30eb\u3092\u98f2\u3080\u30ab\u30e1\u30e9\u30de\u30f3\u3084\u3001\u6b21\u56de\u306eYAPC\u306eco-organizer\u3084\u308d\u3046\u3088\u3001\u7b49\u3068\u58f0\u3092\u304b\u3051\u305f\u308a\u304b\u3051\u3089\u308c\u305f\u308a\u3059\u308b[@karupanerura](<a href=\"https:\/\/x.com\/karupanerura]\" target=\"_blank\" rel=\"noopener\">https:\/\/x.com\/karupanerura]<\/a>\nsan\u3068<a href=\"https:\/\/x.com\/magnolia_k_\" target=\"_blank\" rel=\"noopener\">@magnoria_k<\/a>\nsan\u3092\u773a\u3081\u305f\u308a\u3082\u3057\u307e\u3057\u305f:<\/p>"},{"title":"\u6c34\u306e\u914d\u9054\u3067\u30b4\u30bf\u30b4\u30bf\u3057\u305f\u4ef6","link":"https:\/\/blog.web-apps.tech\/amazon-water-delivery-issue\/","pubDate":"Thu, 06 Nov 2025 02:47:58 +0900","guid":"https:\/\/blog.web-apps.tech\/amazon-water-delivery-issue\/","description":"<h3 id=\"context\">Context<\/h3>\n<ul>\n<li>4\u968e\u5efa\u3066\u30de\u30f3\u30b7\u30e7\u30f3\u306e4\u968e\u306b\u4f4f\u3093\u3067\u3044\u308b\n<ul>\n<li>\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306f\u30aa\u30fc\u30c8\u30ed\u30c3\u30af\u306e\u5916\u5074\u306b\u3042\u308b<\/li>\n<\/ul>\n<\/li>\n<li>\u30ed\u30fc\u30ea\u30f3\u30b0\u30b9\u30c8\u30c3\u30af\u3082\u517c\u306d\u3066\u3001\u30df\u30cd\u30e9\u30eb\u30a6\u30a9\u30fc\u30bf\u30fc\u3092\u8cfc\u5165\u3057\u3001\u716e\u708a\u304d\u306b\u4f7f\u7528\u3057\u3066\u3044\u308b\n<ul>\n<li>\u30df\u30cd\u30e9\u30eb\u30a6\u30a9\u30fc\u30bf\u30fc\u306e\u9298\u67c4\u7b49\u306b\u7279\u5225\u306a\u3053\u3060\u308f\u308a\u306f\u7121\u3044<\/li>\n<\/ul>\n<\/li>\n<li>\u81ea\u5bb6\u7528\u8eca\u3092\u6301\u3063\u3066\u304a\u308a\u3001\u73fe\u5b9f\u7684\u306a\u8ddd\u96e2\u306b\u30b3\u30b9\u30c8\u30b3\u304c\u3042\u308b\n<ul>\n<li>\u30b3\u30b9\u30c8\u30b3\u3067\u6c34\u3092\u8cb7\u3063\u3066\u304f\u308b\u3053\u3068\u306f\u53ef\u80fd\u3060\u3057\u3001Amazon\u3067\u8cb7\u3046\u3088\u308a\u5b89\u3044<\/li>\n<li>\u304c\u3001\u8eca\u304b\u3089\u90e8\u5c4b\u307e\u3067\u306e\u6301\u3061\u904b\u3073\u304c\u5927\u5909(\u7279\u306b\u30aa\u30fc\u30c8\u30ed\u30c3\u30af\u306e\u9375\u3092\u958b\u3051\u308b\u3068\u3053\u308d))\u306a\u306e\u3067\u5b85\u914d\u3067\u8cfc\u5165\u3057\u305f\u3044<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"timeline\">Timeline<\/h3>\n<h4 id=\"20251028\">2025.10.28<\/h4>\n<p>Amazon\u3067\u30df\u30cd\u30e9\u30eb\u30a6\u30a9\u30fc\u30bf\u30fc(550mL\u00d724\u672c\u00d72\u7bb1)\u3092\u30bb\u30fc\u30eb\u3067\u8cfc\u5165\u3002\n\u3053\u306e\u3068\u304d\u3001\u7f6e\u304d\u914d\u8a2d\u5b9a\u306f\u300c\u7f6e\u304d\u914d\u3092\u4f7f\u7528\u3057\u306a\u3044\u300d\u306b\u5909\u66f4\u3057\u305f\u3002\n\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u5165\u308c\u3089\u308c\u3066\u3057\u307e\u3046\u3068\u3001\u53d6\u308a\u51fa\u3059\u3060\u3051\u3067\u3082\u5927\u5909\u3002<\/p>\n<p>\u65e2\u306b\u4e00\u5ea6\u540c\u3058\u8a2d\u5b9a\u3067\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u5165\u308c\u3089\u308c\u3066\u3057\u307e\u3063\u305f\u3053\u3068\u304c\u3042\u308b\u3002\n\u3057\u304b\u30822\u7bb1\u307e\u3068\u3081\u3066\u3001\u30ae\u30ea\u30ae\u30ea\u306e\u30b5\u30a4\u30ba\u306e\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u3002<\/p>\n<p>\u305d\u306e\u3068\u304d\u306f\u6c34\u6ce8\u6587\u5f8c\u3001\u6c34\u5230\u7740\u524d\u306b\u8ffd\u52a0\u306e\u6ce8\u6587\u3067\u7f6e\u304d\u914d\u8a2d\u5b9a\u3092\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u5909\u66f4\u3057\u3066\u3057\u307e\u3063\u305f\u3002\n\u7f6e\u304d\u914d\u8a2d\u5b9a\u304c\u6ce8\u6587\u3054\u3068\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u9ad8\u3044(UI\u4e0a\u304b\u3089)\u305f\u3081\u3001\u8ae6\u3081\u3066\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u3068\u90e8\u5c4b\u30922\u5f80\u5fa9\u3057\u305f\u3002<\/p>\n<p>\u305d\u306e\u9593\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306f\u958b\u3051\u3063\u3071\u306a\u3057\u3067\u3002<\/p>\n<h4 id=\"20251030-20\u6642\u524d\">2025.10.30 20\u6642\u524d<\/h4>\n<p>Amazon\u304b\u3089\u3001\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u914d\u9054\u3057\u305f\u3001\u3068\u306e\u30e1\u30fc\u30eb\u901a\u77e5\u304c\u304d\u305f\u3002\u3054\u4e01\u5be7\u306b\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306e\u5199\u771f\u4ed8\u304d\u3067\u3002\n\u3053\u306e\u65e5\u306f\u663c\u3054\u98ef\u306b\u51fa\u305f\u4ee5\u5916\u306f\u5916\u51fa\u3092\u3057\u3066\u3044\u306a\u3044==\u914d\u9054\u6642\u306f\u5728\u5b85\u3057\u3066\u3044\u305f\u306e\u306f\u9593\u9055\u3044\u306a\u3044\u3057\u3001\u30a4\u30f3\u30bf\u30fc\u30db\u30f3\u306f\u9cf4\u3063\u3066\u3044\u306a\u3044==\u5728\u5b85\u78ba\u8a8d\u3082\u305b\u305a\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u914d\u9054\u3057\u3066\u3044\u308b\u3053\u3068\u3082\u660e\u3089\u304b\u3002<\/p>\n<p>\u30e1\u30fc\u30eb\u901a\u77e5\u306e\u5185\u5bb9\u3084\u3001\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306e\u7a93\u304b\u3089\u8997\u304f\u9650\u308a550mL\u00d724\u672c\u00d72\u7bb1\u304c\u307e\u3068\u3081\u3066\u4e00\u3064\u306e\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u5165\u3063\u3066\u3044\u308b\u3002\n\u6d41\u77f3\u306b\u307e\u3068\u3081\u3066\u904b\u3076\u306e\u306f\u3057\u3093\u3069\u3044\u3057\u3001\u305d\u3082\u305d\u3082\u5916\u304b\u3089\u90e8\u5c4b\u307e\u3067\u81ea\u5206\u3067\u904b\u3076\u306a\u3089\u30b3\u30b9\u30c8\u30b3\u3067\u8cb7\u3063\u305f\u65b9\u304c\u5b89\u3044\u306e\u3067\u30b5\u30dd\u30fc\u30c8\u306b\u9023\u7d61\u3092\u5165\u308c\u308b\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<p>\u30b5\u30dd\u30fc\u30c8\u306b\u9023\u7d61\u3092\u3057\u305f\u3068\u3053\u308d\u3001\u8a2d\u5b9a\u72b6\u6cc1\u306a\u3069\u304b\u3089\u914d\u9001\u696d\u8005\u304c\u72ec\u65ad\u3067\u884c\u3063\u305f\u3082\u306e\u3068\u65ad\u5b9a\u3001\u914d\u9001\u696d\u8005\u306b\u8377\u7269\u56de\u53ce\u306e\u4e0a\u518d\u914d\u9054\u3059\u308b\u3088\u3046\u9023\u7d61\u3057\u3066\u304f\u308c\u308b\u3068\u306e\u3053\u3068\u3002\n\u307e\u305f\u3001\u914d\u9001\u696d\u8005\u306b\u306f\u7f6e\u304d\u914d\u8a2d\u5b9a\u3092\u5fc5\u305a\u78ba\u8a8d\u3059\u308b\u3088\u3046\u6307\u5c0e\u3092\u5165\u308c\u3066\u304f\u308c\u308b\u3001\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>\u30b5\u30dd\u30fc\u30c8\u7d42\u4e86\u5f8c\u306b\u6765\u305f\u30e1\u30fc\u30eb\u306b\u3088\u308b\u3068\u3001\u914d\u9001\u696d\u8005\u306b\u306f\u56de\u53ce\u306e\u4e0a\u518d\u914d\u9054\u3092\u3059\u308b\u3088\u3046\u4f9d\u983c\u3057\u305f\u306e\u3067\u3001\u5bfe\u5fdc\u306b1~3\u65e5\u5f85\u3066\u3068\u306e\u3053\u3068\u3002\n\u30ed\u30fc\u30ea\u30f3\u30b0\u30b9\u30c8\u30c3\u30af\u306e\u6c34\u3060\u3057\u3001\u307e\u3060\u6d41\u77f3\u306b\u51cd\u308b\u307b\u3069\u306e\u6c17\u6e29\u3067\u306f\u306a\u3044\u306e\u3067\u6c17\u306b\u305b\u305a\u627f\u77e5\u3057\u305f\u3002<\/p>\n<h4 id=\"20251106\">2025.11.06<\/h4>\n<p>6\u65e5\u7d4c\u3063\u305f\u304c\u518d\u914d\u9054\u304c\u307e\u3060\u3053\u306a\u3044\u306e\u3067\u518d\u5ea6\u30b5\u30dd\u30fc\u30c8\u306b\u9023\u7d61\u3057\u305f\u3002<\/p>\n<p>\u5bfe\u5fdc\u78ba\u8a8d\u3067\u6642\u9593\u3092\u53d6\u3089\u305b\u308b\u3088\u308a\u3082\u3001\u4e00\u5ea6\u8fd4\u91d1\u3059\u308b\u306e\u3067\u518d\u6ce8\u6587\u3057\u3066\u3082\u3089\u3063\u305f\u65b9\u304c\u65e9\u3044\u306e\u3067\u306f\u306a\u3044\u304b\u3001\u3068\u306e\u63d0\u6848\u304c\u3042\u308a\u3001\u78ba\u304b\u306b\u305d\u3063\u3061\u306e\u65b9\u304c\u78ba\u5b9f\u3063\u307d\u3044\u6c17\u304c\u3057\u305f\u306e\u3067\u4e86\u627f\u3059\u308b\u3053\u3068\u306b\u3002\n\u6ce8\u6587\u304c\u30bb\u30fc\u30eb\u4e2d\u3067\u3042\u3063\u305f\u305f\u3081\u3001\u73fe\u5728\u4fa1\u683c\u3068\u5dee\u984d\u304c\u767a\u751f\u3059\u308b\u304c\u3001\u305d\u306e\u70b9\u306f\u3069\u3046\u306a\u308b\u306e\u304b\u3001\u3068\u78ba\u8a8d\u3092\u3057\u305f\u3068\u3053\u308d\u3001\u30af\u30fc\u30dd\u30f3\u5bfe\u5fdc\u3092\u3059\u308b\u3001\u3068\u306e\u8fd4\u7b54\u3060\u3063\u305f\u3002\n\u3053\u308c\u3067\u61f8\u5ff5\u306f\u7121\u304f\u306a\u3063\u305f\u305f\u3081\u305d\u306e\u6761\u4ef6\u3067\u4e86\u627f\u3057\u3001\u554f\u3044\u5408\u308f\u305b\u7d42\u4e86\u3002<\/p>\n<p>\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u78ba\u8a8d\u3057\u305f\u3089\u5dee\u984d\u5206\u306e\u30ae\u30d5\u30c8\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u305f\u305f\u3081\u518d\u6ce8\u6587\u3092\u3057\u305f\u3002<\/p>\n<p>\u30b5\u30dd\u30fc\u30c8\u306e\u4eba\u306b\u805e\u3044\u3066\u3082\u4ed5\u65b9\u306a\u3044\u3053\u3068\u3060\u308d\u3046\u304b\u3089\u304d\u304b\u306a\u304b\u3063\u305f\u3051\u3069\u3001\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306b\u5165\u3063\u3066\u3044\u308b\u6c34\u306f\u3061\u3083\u3093\u3068\u56de\u53ce\u3055\u308c\u308b\u306e\u3060\u308d\u3046\u304b\u30fb\u30fb\u30fb<\/p>\n<ins datetime=\"2025-11-12\">\n#### 2025.11.12\u8ffd\u8a18\n<p>\u5f8c\u65e5\u8ac7\u3068\u3044\u3046\u304b\u3001\u4eca\u56de\u306e\u30aa\u30c1\u3002\n\u6c34\u306f\u7d50\u5c40\u56de\u53ce\u3055\u308c\u305a\u3001\u7ba1\u7406\u4f1a\u793e\u306b\u9023\u7d61\u3092\u3057\u3066\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u3092\u3042\u3051\u3066\u3082\u3089\u3048\u3001\u3068\u3044\u3046\u8b0e\u306e\u6307\u793a\u3002\n\u7ba1\u7406\u4f1a\u793e\u304b\u3089\u8cbb\u7528\u3092\u8acb\u6c42\u3055\u308c\u305f\u3089\u305d\u308c\u3082Amazon\u304c\u652f\u6255\u3046\u3001\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>\u4e2d\u306e\u5546\u54c1\u306f\u3069\u3046\u3059\u308c\u3070\u3088\u3044\u306e\u304b\u3001\u3068\u805e\u3044\u305f\u3068\u3053\u308d\u3001\u305d\u308c\u306f\u305d\u306e\u307e\u307e\u7d0d\u3081\u3066\u304f\u308c\u3001\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>\u91cd\u3044\u304b\u3089\u6ce8\u6587\u3057\u3066\u3044\u308b\u3001\u3068\u306f\u3044\u3048\u3001\u904b\u3079\u306a\u3044\u8a33\u3067\u306f\u306a\u3044\u306e\u3067\u3001\u56de\u53ce\u3092\u3057\u3066\u304f\u308c\u306a\u3044\u306e\u3067\u3042\u308c\u3070\u7ba1\u7406\u4f1a\u793e\u306b\u554f\u3044\u5408\u308f\u305b\u3066\u7121\u95c7\u306a\u8ca0\u62c5\u3092\u304b\u3051\u308b\u610f\u5473\u3082\u7121\u304f\u3001\u4eca\u56de\u306f\u81ea\u5206\u3067\u904b\u3076\u3053\u3068\u306b\u3002\n\u307e\u3041\u3001Amazon\u3068\u3057\u3066\u306f\u5546\u54c1\u306f\u305d\u306e\u307e\u307e\u3042\u3052\u308b\u304b\u3089\u3054\u3061\u3083\u3054\u3061\u3083\u8a00\u308f\u306a\u3044\u3067\u4eca\u56de\u306f\u305d\u308c\u3067\u304a\u3055\u3081\u3066\u307b\u3057\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u3093\u3060\u308d\u3046\u3051\u308c\u3069\u30fb\u30fb\u30fb<\/p>\n<p>\u914d\u9001\u696d\u8005\u306b\u306f\u3061\u3083\u3093\u3068\u7533\u3057\u4f1d\u3048\u3066\u304a\u304f\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u4eca\u56de\u306f2\u7bb1\u5206\u304c\u30bf\u30c0\u306b\u306a\u3063\u305f\u3068\u3044\u3046\u3053\u3068\u3067\u6c34\u306b\u6d41\u3059\u3053\u3068\u306b\u3057\u307e\u3059\u3002\u6c34\u3060\u3051\u306b\u3002\n<\/ins><\/p>"},{"title":"\u82d7\u5b57\u304c\u5909\u308f\u308a\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/change-family-name\/","pubDate":"Thu, 18 Sep 2025 01:30:00 +0900","guid":"https:\/\/blog.web-apps.tech\/change-family-name\/","description":"<p>\u793e\u5185\u3092\u542b\u3081\u3066\u3001\u79c1\u306e\u3053\u3068\u3092\u5b9f\u540d\u3067\u547c\u3076\u4eba\u306f\u7247\u624b\u3067\u6570\u3048\u3089\u308c\u308b\u7a0b\u5ea6\u3057\u304b\u3044\u306a\u3044\u306e\u3067\u3001\u5b9f\u969b\u554f\u984c\u3068\u3057\u3066\u5f71\u97ff\u306f\u307b\u307c\u306a\u3044\u306e\u3067\u3059\u304c\u30016\u67082\u65e5\u4ed8\u3051\u3067\u82d7\u5b57\u304c\u5909\u308f\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u3001\u7d50\u5a5a\u3067\u306f\u3042\u308a\u307e\u305b\u3093<\/p>\n<p>\u591a\u5206\u307b\u3068\u3093\u3069\u306e\u4eba\u304c\u3084\u3063\u305f\u3053\u3068\u304c\u306a\u3044\/\u3084\u308b\u3053\u3068\u304c\u306a\u3044\u624b\u7d9a\u304d\u306a\u306e\u3067\u3001\u30cd\u30bf\u3068\u3057\u3066\u8a18\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"\u7d4c\u7def\">\u7d4c\u7def<\/h2>\n<p>\u3068\u3044\u3046\u307b\u3069\u7d4c\u7def\u306f\u7279\u306b\u306a\u3044\u306e\u3067\u3059\u304c\u3002<\/p>\n<ul>\n<li>\u4e21\u89aa\u304c\u96e2\u5a5a\u3057\u305f<\/li>\n<li>\u7236\u65b9\u306e\u89aa\u621a\u3068\u306f\u758e\u9060\/\u3042\u307e\u308a\u95a2\u308f\u308a\u305f\u304f\u306a\u3044<\/li>\n<li>\u6bcd\u65b9\u306e\u89aa\u621a\u3068\u306f\u4ef2\u304c\u826f\u3044<\/li>\n<li>\u7d50\u5a5a\u3057\u305f\u3068\u3057\u3066\u3082(\u4e00\u822c\u306b)\u7537\u6027\u5074\u306e\u59d3\u306b\u63c3\u3048\u308b\u3053\u3068\u304c\u591a\u305d\u3046\u306a\u306e\u3067\u3001\u81ea\u5206\u306e\u59d3\u3092\u5909\u66f4\u3059\u308b\u3001\u3068\u3044\u3046\u6a5f\u4f1a\u306e\u767a\u751f\u7387\u304c\u4f4e\u305d\u3046\n<ul>\n<li>\u305d\u3082\u305d\u3082\u7d50\u5a5a\u306e\u4e88\u5b9a\u306f\u306a\u3044<\/li>\n<\/ul>\n<\/li>\n<li>\u7d50\u5a5a\/\u96e2\u5a5a\u3092\u4f34\u308f\u306a\u3044\u6539\u59d3\u306e\u624b\u7d9a\u304d\u3092\u3084\u3063\u305f\u3053\u3068\u304c\u3042\u308b\u4eba\u306f\u5c11\u306a\u305d\u3046\n<ul>\n<li>\u591a\u5c11\u8abf\u3079\u305f\u3051\u3069\u3001\u3042\u3093\u307e\u308a\u500b\u4eba\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u3068\u304b\u3067\u306e\u60c5\u5831\u306f\u7121\u3044<\/li>\n<li>\u30d6\u30ed\u30b0\u30cd\u30bf\u3068\u3057\u3066\u9762\u767d\u305d\u3046<\/li>\n<\/ul>\n<\/li>\n<li>\u6bcd\u65b9\u306e\u6c0f\u306e\u65b9\u304c\u73cd\u3057\u3044\n<ul>\n<li>\u73cd\u3057\u3044\u540d\u5b57\u306e\u65b9\u304c\u5f37\u3044(?)<\/li>\n<\/ul>\n<\/li>\n<li>\u5b9f\u751f\u6d3b\u3067\u82d7\u5b57\u3067\u547c\u3070\u308c\u308b\u3053\u3068\u306f\u307b\u307c\u306a\u3044\u306e\u3067\u5f71\u97ff\u304c\u5c11\u306a\u305d\u3046\n\u9762\u767d\u534a\u5206\u3067\u3084\u3063\u3066\u3082\u307e\u3041\u5927\u3057\u305f\u554f\u984c\u306f\u306a\u3044<\/li>\n<\/ul>\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u6539\u59d3\u306b\u81f3\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u624b\u7d9a\u304d\">\u624b\u7d9a\u304d<\/h2>\n<p>\u6539\u59d3\u306e\u624b\u7d9a\u304d\u306f\u5927\u304d\u304f\u5206\u3051\u30662\u30b9\u30c6\u30c3\u30d7\u3067\u3001\u307e\u305a\u5bb6\u5ead\u88c1\u5224\u6240\u306e\u8a31\u53ef\u3092\u5f97\u3066\u3001\u305d\u306e\u5f8c\u4f4f\u3093\u3067\u3044\u308b\u5834\u6240\u306e\u5e02\u533a\u753a\u6751\u5f79\u5834\u3067\u624b\u7d9a\u304d\u3092\u3059\u308b\u3001\u3068\u3044\u3046\u5f62\u3067\u3059\u3002<\/p>\n<p>\u5bb6\u5ead\u88c1\u5224\u6240\u304b\u3089\u306e\u8a31\u53ef\u306f\u3001<a href=\"https:\/\/www.courts.go.jp\/saiban\/syurui\/syurui_kazi\/kazi_06_07\/index.html\" target=\"_blank\" rel=\"noopener\">\u5b50\u306e\u6c0f\u306e\u5909\u66f4\u8a31\u53ef<\/a>\n\u304b\u3089\u66f8\u5f0f\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001\u8a18\u5165\u3057\u3066\u3001\u53ce\u5165\u5370\u7d19\u3001\u8fd4\u4fe1\u7528\u5207\u624b\u3001\u6238\u7c4d\u8b04\u672c\u3068\u4f75\u305b\u3066\u4f4f\u6240\u5730\u306e\u5bb6\u5ead\u88c1\u5224\u6240(\u79c1\u306e\u5834\u5408\u306f\u672d\u5e4c\u5730\u65b9\u30fb\u5bb6\u5ead\u88c1\u5224\u6240)\u306b\u9001\u308b\u3060\u3051\u3067\u3059\u3002\n\u6982\u306d\u60a9\u307e\u305a\u306b\u8a18\u5165\u3067\u304d\u308b\u3068\u306f\u601d\u3044\u307e\u3059\u304c\u3001\u300c\u7533\u3057\u7acb\u3066\u306e\u52d5\u6a5f\u300d\u3060\u3051\u3061\u3087\u3063\u3068\u60a9\u307f\u307e\u3057\u305f\u3002\u304c\u3001\u7d50\u679c\u3068\u3057\u3066\u306f\u5927\u3057\u305f\u7406\u7531\u306f\u5fc5\u8981\u7121\u304f\u3066\u3001\u300c\u7236\u6bcd\u306e\u96e2\u5a5a\u306b\u4f34\u3044\u3001\u6bcd\u306e\u6238\u7c4d\u306b\u5165\u7c4d\u3057\u305f\u3044\u305f\u3081\u300d\u3067\u5341\u5206\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/change-family-name\/images\/reason_hu_49a9283e447359ef.jpg\" alt=\"\u7533\u7acb\u306e\u7406\u7531\u8a18\u5165\u6b04\" \/>\n<\/p>\n<p>\u6c0f\u306e\u5909\u66f4\u624b\u7d9a\u304d\u3001\u3068\u306f\u8a00\u3046\u3082\u306e\u306e\u3001\u6c0f\u306f\u6238\u7c4d\u306b\u7d10\u4ed8\u3044\u305f\u30e9\u30d9\u30eb\u306e\u69d8\u306a\u3082\u306e\u3067\u3042\u308b\u305f\u3081\u3001\u6c0f\u3092\u5909\u66f4\u3059\u308b==\u7236\u306e\u6238\u7c4d\u304b\u3089\u629c\u3051\u3066\u3001\u6bcd\u306e\u6238\u7c4d\u306b\u5165\u308bor\u81ea\u5206\u306e\u6238\u7c4d\u3092\u5225\u9014\u7acb\u3066\u308b\u3001\u3068\u3044\u3046\u5f62\u306b\u306a\u308b\u3088\u3046\u3067\u3057\u305f\u3002<\/p>\n<p>\u4e00\u5ea6\u81ea\u5206\u306e\u6238\u7c4d\u306b\u5206\u3051\u3066\u3057\u307e\u3046\u3068\u3001\u6bcd\u306e\u6238\u7c4d\u306b\u5165\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u3067\u3001\u79c1\u306f\u3069\u3063\u3061\u3067\u3082\u826f\u3044\u306a\u3001\u3068\u601d\u3063\u305f\u305f\u3081\u3001\u5f8c\u3067\u9078\u629e\u304c\u304d\u304f\u3001\u6bcd\u306e\u6238\u7c4d\u306b\u5165\u308b\u3001\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5bb6\u5ead\u88c1\u5224\u6240\u306b\u9001\u308b\u6238\u7c4d\u8b04\u672c\u306f\u306f\u3001\u81ea\u5206\u306e\u6238\u7c4d\u8b04\u672c\u3068\u7236\u6bcd\u306e\u6238\u7c4d\u8b04\u672c\u3068\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u7236\u306e\u6238\u7c4d\u306b\u5165\u3063\u3066\u3044\u308b\u72b6\u614b\u3067\u306f\u3001\u81ea\u5206\u306e\u6238\u7c4d\u8b04\u672c(\u5168\u90e8\u4e8b\u9805\u8a3c\u660e\u66f8)\u306b\u7236\u306e\u60c5\u5831\u3082\u5165\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u7236\u306b\u5225\u9014\u6238\u7c4d\u8b04\u672c\u3092\u53d6\u3063\u3066\u3082\u3089\u3046\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u3001\u5144\u5f1f\u59c9\u59b9\u307e\u3068\u3081\u3066\u624b\u7d9a\u304d\u3092\u3059\u308b\u5834\u5408\u3001\u5144\u5f1f\u59c9\u59b9\u306e\u60c5\u5831\u3082\u5165\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u8907\u6570\u6238\u7c4d\u8b04\u672c\u3092\u53d6\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u3064\u307e\u308a\u3001\u307e\u3068\u3081\u308b\u3068\u3001<\/p>\n<ul>\n<li>\u5b50\u306e\u6c0f\u306e\u5909\u66f4\u8a31\u53ef\u7533\u7acb\u66f8 x 1\n<ul>\n<li>\u5909\u66f4\u3092\u3057\u305f\u3044\u4eba\u6570 x 800\u5186\u306e\u53ce\u5165\u5370\u7d19\u3092\u8cbc\u308b<\/li>\n<\/ul>\n<\/li>\n<li>\u81ea\u5206\u306e\u6238\u7c4d\u8b04\u672c(\u5168\u90e8\u4e8b\u9805\u8a3c\u660e\u66f8) x 1<\/li>\n<li>\u6bcd\u306e\u6238\u7c4d\u8b04\u672c(\u5168\u90e8\u4e8b\u9805\u8a3c\u660e\u66f8) x 1<\/li>\n<li>\u8fd4\u4fe1\u7528\u90f5\u4fbf\u5207\u624b \u5909\u66f4\u3092\u3057\u305f\u3044\u4eba\u6570 x \u5c01\u7b52\u306e\u5207\u624b\u4ee3<\/li>\n<\/ul>\n<p>\u3092\u5c01\u7b52\u306b\u5165\u308c\u3066\u5bb6\u5ead\u88c1\u5224\u6240\u306b\u9001\u308c\u3070\u826f\u3044\u3001\u3067\u3059\u3002<\/p>\n<p>\u554f\u984c\u304c\u7121\u3051\u308c\u3070(\u79c1\u306f\u59b9\u306e\u524d\u79d1\u524d\u6b74\u304c\u306a\u3044\u3001\u306e\u8a18\u5165\u6f0f\u308c\u304c\u3042\u3063\u305f\u305f\u3081\u96fb\u8a71\u304c\u6765\u305f)\u30012\u301c3\u65e5\u3067\u8a31\u53ef\u3059\u308b\u3088\u301c\u3068\u3044\u3046\u304a\u624b\u7d19\u304c\u5c4a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/change-family-name\/images\/result_hu_3cc5f15b25fa69db.jpg\" alt=\"\u8a31\u53ef\u306e\u304a\u624b\u7d19\" \/>\n<\/p>\n<p>\u305d\u306e\u304a\u624b\u7d19\u3092\u6301\u3063\u3066\u5e02\u533a\u753a\u6751\u5f79\u5834(\u79c1\u306e\u5834\u5408\u306f\u672d\u5e4c\u5e02\u6771\u533a\u5f79\u6240)\u306e\u6238\u7c4d\u95a2\u9023\u624b\u7d9a\u304d\u3092\u3059\u308b\u7a93\u53e3\u306b\u884c\u3051\u3070\u30b7\u30e5\u30c3\u3068\u624b\u7d9a\u304d\u3057\u3066\u304f\u308c\u307e\u3059\u3002\n\u305d\u3093\u306a\u306b\u56de\u6570\u3053\u306a\u3059\u624b\u7d9a\u304d\u3067\u3082\u306a\u3055\u305d\u3046\u306a\u306e\u306b\u3001\u30b9\u30e0\u30fc\u30ba\u306b\u5bfe\u5fdc\u3057\u3066\u304f\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u5834\u5408\u306b\u3088\u308a\u6238\u7c4d\u60c5\u5831\u306e\u66f4\u65b0\u306b\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308b\u3089\u3057\u304f\u30011\u9031\u9593\u4ee5\u4e0a\u7d4c\u3063\u3066\u304b\u3089\u30de\u30a4\u30ca\u30f3\u30d0\u30fc\u30ab\u30fc\u30c9\u306e\u4e0a\u66f8\u304d\u3092\u3057\u306b\u304d\u3066\u306d\u3001\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3001\u7fcc\u9031\u3082\u3046\u4e00\u5ea6\u533a\u5f79\u6240\u306b\u884c\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u305d\u306e\u4ed6\u5909\u66f4\u306e\u624b\u7d9a\u304d\">\u305d\u306e\u4ed6\u5909\u66f4\u306e\u624b\u7d9a\u304d<\/h2>\n<p>\u7d50\u5a5a\u3057\u305f\u4eba\u304c\u3088\u304f\u8a00\u3063\u3066\u3044\u308b\u3053\u3068\u3067\u3082\u3042\u308a\u307e\u3059\u304c\u3001\u6c0f\u304c\u5909\u308f\u308b\u3068\u5f53\u7136\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u306a\u3069\u306e\u540d\u7fa9\u5909\u66f4\u3082\u5fc5\u8981\u3067\u3059\u3002\n\u3053\u308c\u304c\u9762\u5012\u3060\u3088\uff01\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u30de\u30a4\u30ca\u30f3\u30d0\u30fc\u30d1\u30ef\u30fc\u306a\u306e\u304b\u3001\u5358\u306b\u6642\u4ee3\u304c\u826f\u304f\u306a\u3063\u3066\u3044\u308b\u3060\u3051\u306a\u306e\u304b\u3001web\/\u30a2\u30d7\u30ea\u3067\u5b8c\u7d50\u3059\u308b\u3082\u306e\u3082\u591a\u304f\u3001\u601d\u3063\u305f\u3088\u308a\u306f\u9762\u5012\u3067\u306f\u7121\u3044\u306a\u3001\u3068\u3044\u3046\u5370\u8c61\u3067\u3057\u305f\u3002<\/p>\n<p>\u4e00\u90e8\u4f4f\u6c11\u7968\u7b49\u3092\u6c42\u3081\u3089\u308c\u308b\u3082\u306e\u3082\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u7247\u624b\u3067\u6570\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u7a0b\u5ea6\u3067\u3057\u305f\u3057\u3001\u4f4f\u6c11\u7968\u306f\u30b3\u30f3\u30d3\u30cb\u3067\u767a\u884c\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u306e\u3067\u3001\u307e\u3068\u3081\u3066\u5370\u5237\u3057\u3066\u3001\u5c01\u7b52\u306b\u5165\u308c\u3066\u3001\u307e\u3068\u3081\u3066\u9001\u308b\u3068\u3044\u3046\u611f\u3058\u3067\u3001\u305d\u308c\u307b\u3069\u624b\u9593\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u514d\u8a31\u8a3c\u306e\u5909\u66f4\u624b\u7d9a\u304d\u3082\u3001\u8b66\u5bdf\u7f72\u306b\u884c\u304b\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u306e\u306f\u82e5\u5e72\u9762\u5012\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u3001\u7a93\u53e3\u3067\u307b\u3068\u3093\u3069\u306e\u60c5\u5831\u3092\u5370\u5237\u3057\u305f\u66f8\u985e\u3092\u767a\u884c\u3057\u3066\u3001\u308f\u305a\u304b\u306a\u90e8\u5206\u3092\u3061\u3087\u3061\u3087\u3044\u3068\u8a18\u5165\u3057\u3066\u63d0\u51fa\u3059\u308b\u3060\u3051\u3067\u3057\u305f\u3002<\/p>\n<p>\u4fbf\u5229\u306a\u4e16\u306e\u4e2d\u306b\u306a\u3063\u305f\u3082\u306e\u3067\u3059\u306d\u3002<\/p>"},{"title":"\"\u6020\u60f0\u306a\u4eba\u306e\u305f\u3081\u306e\"\u30ad\u30c3\u30b7\u30e5","link":"https:\/\/blog.web-apps.tech\/lazy-quiche\/","pubDate":"Tue, 19 Aug 2025 00:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/lazy-quiche\/","description":"<p>\u30ad\u30c3\u30b7\u30e5\u3001\u3068\u3044\u3046\u6599\u7406\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\u3002\n\u60e3\u83dc\u3084\u51b7\u51cd\u98df\u54c1\u3068\u3057\u3066\u3082\u58f2\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3057\u3001\u30b9\u30bf\u30fc\u30d0\u30c3\u30af\u30b9\u3067\u3082\u30d9\u30fc\u30b3\u30f3\u3068\u307b\u3046\u308c\u3093\u8349\u306e\u30ad\u30c3\u30b7\u30e5\u304c\u5b9a\u756a\u5546\u54c1\u3068\u3057\u3066\u58f2\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u77e5\u3063\u3066\u3044\u308b\u4eba\u3082\u591a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u3068\u306f\u3044\u3048\u65e5\u672c\u4eba\u306b\u306f\u3042\u307e\u308a\u306a\u3058\u307f\u304c\u306a\u304f\u3001\u5bb6\u3067\u30ad\u30c3\u30b7\u30e5\u3092\u713c\u304f\u3001\u3068\u3044\u3046\u4eba\u306f\u3042\u307e\u308a\u591a\u304f\u306f\u306a\u3044\u3088\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u304c\u3001\u4f5c\u3063\u3066\u307f\u308b\u3068\u610f\u5916\u3068\u7c21\u5358\u3067\u3059\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f\u3001\u6599\u7406\u304c\u9762\u5012\u306a\u6642\u3053\u305d\u30ad\u30c3\u30b7\u30e5\u3001\u3068\u3044\u3046\u611f\u3058\u306a\u306e\u3067\u3001\u96d1\u306b\u4f5c\u308c\u308b\u30ec\u30b7\u30d4\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002\n\u4f5c\u696d\u6642\u9593\u3060\u3044\u305f\u30445\u5206\u304f\u3089\u3044\u3001\u4f5c\u308a\u59cb\u3081\u3066\u304b\u3089\u713c\u304d\u4e0a\u304c\u308b\u307e\u3067\u5927\u4f5340\u5206\u304f\u3089\u3044\u3067\u3067\u304d\u3042\u304c\u308a\u307e\u3059\u3002\n\u713c\u3044\u3066\u3044\u308b\u9593\u306f\u3064\u304d\u3063\u304d\u308a\u3067\u3042\u308b\u5fc5\u8981\u3082\u7121\u3044\u306e\u3067\u3001\u6df7\u305c\u3066\u3001\u6d41\u3057\u8fbc\u3093\u3067\u3001\u713c\u304f\u3060\u3051\u306e\u7c21\u5358\u30ec\u30b7\u30d4\u3067\u3059\u3002<\/p>\n<p>\u6750\u6599\u306f\u3053\u3061\u3089:<\/p>\n<ul>\n<li>\u51b7\u51cd\u30d1\u30a4\u30b7\u30fc\u30c8 1~2\u679a (\u5bb9\u5668\u306b\u6577\u3051\u308b\u304f\u3089\u3044)<\/li>\n<li>\u5375 3\u500b<\/li>\n<li>\u751f\u30af\u30ea\u30fc\u30e0 100mL<\/li>\n<li>\u5177\u6750<\/li>\n<li>\u5869<\/li>\n<li>\u3053\u3057\u3087\u3046<\/li>\n<\/ul>\n<p>\u5869\u3001\u3053\u3057\u3087\u3046\u3001\u5375\u306f\u307e\u3041\u5bb6\u306b\u3042\u308b\u3067\u3057\u3087\u3046\u3057\u3001\u51b7\u51cd\u30d1\u30a4\u30b7\u30fc\u30c8\u306f\u4fdd\u5b58\u304c\u304d\u304f\u306e\u3067\u3001\u4f5c\u308b\u76f4\u524d\u306b\u7279\u5225\u8cb7\u3063\u3066\u304f\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u306f\u751f\u30af\u30ea\u30fc\u30e0\u304f\u3089\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u5177\u6750\u306f\u9069\u5f53\u306a\u91cf\u3092\u5165\u308c\u307e\u3059\u3002\n\u30d9\u30fc\u30b3\u30f3\u3084\u307b\u3046\u308c\u3093\u8349\u306a\u3069\u3001\u305d\u308c\u3063\u307d\u3044\u3082\u306e\u304c\u3042\u308c\u3070\u305d\u308c\u3067\u826f\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3059\u3057\u3001\u751f\u306e\u307b\u3046\u308c\u3093\u8349\u3067\u306f\u306a\u304f\u51b7\u51cd\u306e\u307b\u3046\u308c\u3093\u8349\u3092\u3064\u304b\u3063\u3066\u3082\u3044\u3044\u3067\u3059\u3057\u3001\u30b9\u30fc\u30d1\u30fc\u306b\u3088\u3063\u3066\u306f\u51b7\u51cd\u306e\u30d9\u30fc\u30b3\u30f3\u5165\u308a\u307b\u3046\u308c\u3093\u8349\u30df\u30c3\u30af\u30b9\u3092\u58f2\u3063\u3066\u3044\u308b\u5834\u5408\u3082\u3042\u308a\u3001\u305d\u3046\u3044\u3063\u305f\u3082\u306e\u3092\u305d\u306e\u307e\u307e\u4f7f\u3063\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n\u308f\u305f\u3057\u306f\u30ad\u30ce\u30b3\u304c\u30c0\u30e1\u306a\u306e\u3067\u5165\u308c\u307e\u305b\u3093\u304c\u3001\u30ad\u30ce\u30b3\u3092\u5165\u308c\u3066\u3082\u3088\u3044\u3067\u3057\u3087\u3046\u3057\u3001\u30b8\u30e3\u30ac\u30a4\u30e2\u3084\u30b5\u30fc\u30e2\u30f3\u3001\u30ba\u30c3\u30ad\u30fc\u30cb\u3001\u30df\u30cb\u30c8\u30de\u30c8\u3001\u30d9\u30fc\u30b3\u30f3\u306e\u4ee3\u308f\u308a\u306b\u30a6\u30a4\u30f3\u30ca\u30fc\u306a\u3069\u306a\u3069\u3001\u6848\u5916\u96f0\u56f2\u6c17\u3067\u9069\u5f53\u306a\u3082\u306e\u3092\u5165\u308c\u3066\u3082\u7f8e\u5473\u3057\u304f\u306a\u308a\u307e\u3059\u3002\n\u6c41\u6c17\u304c\u306a\u3051\u308c\u3070\u5927\u4f53\u5927\u4e08\u592b\u3067\u3059\u3002\u591a\u5206\u3002<\/p>\n<p>\u30c1\u30fc\u30ba\u304c\u3042\u308c\u3070\u96d1\u306b\u305f\u304f\u3055\u3093\u5165\u308c\u308b\u3068\u306a\u304a\u7f8e\u5473\u3057\u3044\u3067\u3059\u3002\n\u6211\u304c\u5bb6\u306f\u6700\u8fd1\u306f\u30e2\u30c3\u30c4\u30a1\u30ec\u30e9\u30c1\u30fc\u30ba\u3001\u30ab\u30de\u30f3\u30d9\u30fc\u30eb\u30c1\u30fc\u30ba\u3001\u30d1\u30eb\u30df\u30b8\u30e3\u30fc\u30ce\u30ec\u30c3\u30b8\u30e3\u30fc\u30ce\u3001\u30d4\u30b6\u30c1\u30fc\u30ba\u3001\u3042\u305f\u308a\u3092\u5e38\u5099\u3057\u3066\u3044\u308b\u306e\u3067\u3053\u306e\u3042\u305f\u308a\u3092\u9069\u5f53\u306b\u5165\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u7389\u306d\u304e\u306e\u307f\u3058\u3093\u5207\u308a\u3068\u633d\u8089\u3092\u96d1\u306b\u7092\u3081\u3066\u3001\u9069\u5f53\u306b\u5473\u4ed8\u3051\u3092\u3057\u3066\u5177\u6750\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u713c\u304f\u3068\u304d\u306e\u578b\u306f\u3001\u30ad\u30c3\u30b7\u30e5\u578b\u304c\u3042\u308c\u3070\u3082\u3061\u308d\u3093\u305d\u308c\u3092\u4f7f\u3063\u3066\u3082\u3044\u3044\u306e\u3067\u3059\u304c\u3001\u6cb9\u3092\u5857\u3063\u305f\u308a\u3001\u578b\u306b\u5408\u308f\u305b\u3066\u30d1\u30a4\u30b7\u30fc\u30c8\u3092\u4f38\u3070\u3057\u305f\u308a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u591a\u5c11\u624b\u9593\u304c\u304b\u304b\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n\u79c1\u306e\u30aa\u30b9\u30b9\u30e1\u306f\u53d6\u3063\u624b\u304c\u53d6\u308c\u308b\u30d5\u30e9\u30a4\u30d1\u30f3\u3067\u3059\u3002\n\u79c1\u306f\u30c6\u30a3\u30d5\u30a1\u30fc\u30eb\u306e22cm\u306e\u30d5\u30e9\u30a4\u30d1\u30f3\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u5404\u793e\u4f3c\u305f\u3088\u3046\u306a\u3082\u306e\u3092\u51fa\u3057\u3066\u304a\u308a\u3001\u30cb\u30c8\u30ea\u3060\u30681,000\u5186\u524d\u5f8c\u304f\u3089\u3044\u3067\u8cb7\u3048\u308b\u3068\u601d\u3044\u307e\u3059\u3002\n\u30c6\u30d5\u30ed\u30f3\u52a0\u5de5\u3067\u30d1\u30a4\u751f\u5730\u304c\u304f\u3063\u3064\u304d\u307e\u305b\u3093\u3057\u3001\u53d6\u308a\u51fa\u3059\u969b\u306b\u3082\u53d6\u3063\u624b\u3092\u3064\u3051\u3066\u53d6\u308a\u51fa\u305b\u308b\u306e\u3067\u3001\u53d6\u308a\u56de\u3057\u304c\u3057\u3084\u3059\u304f\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<p>\u4e16\u9593\u3067\u58f2\u3089\u308c\u3066\u3044\u308b\u51b7\u51cd\u306e\u30d1\u30a4\u751f\u5730\u306f11cm x 18cm\u304f\u3089\u3044\u306e\u9577\u65b9\u5f62\u30bf\u30a4\u30d7\u3068\u300118cm x 18cm\u304f\u3089\u3044\u306e\u6b63\u65b9\u5f62\u30bf\u30a4\u30d7\u306e\uff12\u7a2e\u985e\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u30d5\u30e9\u30a4\u30d1\u30f3\u3092\u4f7f\u3046\u5834\u5408\u306f\u3069\u3061\u3089\u3067\u3082\u5927\u4e08\u592b\u3067\u3059\u3002\n\u9577\u65b9\u5f62\u30bf\u30a4\u30d7\u306e\u5834\u5408\u306f2\u679a\u6577\u304f\u3068\u3088\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u51b7\u51cd\u30d1\u30a4\u30b7\u30fc\u30c8\u306f\u8abf\u7406\u3057\u306f\u3058\u3081\u306b\u51b7\u51cd\u5eab\u304b\u3089\u51fa\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\u5272\u3068\u3059\u3050\u6eb6\u3051\u308b\u306e\u3067\u3001\u4e8b\u524d\u306b\u51fa\u3057\u3066\u89e3\u51cd\u3057\u3066\u304a\u304f\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u307e\u305f\u3001\u3053\u306e\u6642\u70b9\u3067\u30aa\u30fc\u30d6\u30f3\u3092180\u5ea6\u306b\u4e88\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/pie-sheet_hu_76c3559a0db51fa2.jpg\" alt=\"\u51b7\u51cd\u30d1\u30a4\u30b7\u30fc\u30c8\" \/>\n<\/p>\n<p>\u578b\u306b\u5408\u308f\u305b\u3066\u4f38\u3070\u3057\u3066\u3082\u826f\u3044\u306e\u3067\u3059\u304c\u3001\u79c1\u306f\u9762\u5012\u306a\u306e\u3067\u3001\u30d5\u30e9\u30a4\u30d1\u30f3\u306b\u62bc\u3057\u8fbc\u3081\u308b\u7a0b\u5ea6\u306b\u6eb6\u3051\u305f\u3089\u30b0\u30c3\u3068\u62bc\u3057\u8fbc\u3093\u3067\u30bd\u30ec\u3067\u3088\u3057\u3001\u3068\u3057\u3066\u3044\u307e\u3059\u3002\n\u30b5\u30a4\u30ba\u3082\u306a\u3093\u304b\u8db3\u308a\u3066\u3044\u306a\u3044\u6c17\u3082\u3057\u307e\u3059\u304c\u3001\u6c17\u306b\u3057\u307e\u305b\u3093\u3002<\/p>\n<p>\u7a7a\u713c\u304d\u3082\u3057\u305f\u65b9\u304c\u30b5\u30af\u30c3\u3068\u713c\u3051\u3066\u826f\u3044\u611f\u3058\u306b\u306a\u308b\u3068\u3044\u3046\u5642\u3082\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u9762\u5012\u306a\u306e\u3067\u305d\u308c\u3082\u3057\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/cream_hu_22e6ba313ea0047d.jpg\" alt=\"\u751f\u30af\u30ea\u30fc\u30e0\" \/>\n<\/p>\n<p>\u4f55\u6545\u304b\u672d\u5e4c\u3067\u306f200mL\u4ee5\u4e0a\u306e\u751f\u30af\u30ea\u30fc\u30e0\u3057\u304b\u8ca9\u58f2\u304c\u898b\u5f53\u305f\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u8a08\u91cf\u3092\u3057\u307e\u3059\u3002\u751f\u30af\u30ea\u30fc\u30e0\u306f\u591a\u5206100mL==100g\u3067\u306f\u7121\u3044\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u307e\u3041\u5927\u5dee\u306f\u7121\u3044\u3060\u308d\u3046\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u306f\u304b\u308a\u3067\u91cf\u3063\u3066\u3044\u307e\u3059(\u6d17\u3044\u7269\u304c\u6e1b\u308b\u306e\u3067)\u3002\n100mL\u58f2\u308a\u306e\u751f\u30af\u30ea\u30fc\u30e0\u304c\u3042\u308c\u3070\u3001\u5272\u9ad8\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u305d\u3061\u3089\u304c\u4fbf\u5229\u3060\u3068\u306f\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/egg_hu_5e8d1b6bb5e72fb4.jpg\" alt=\"\u305f\u307e\u3054\" \/>\n<\/p>\n<p>\u5375\u30923\u3064\u5165\u308c\u307e\u3059\u3002\n\u3053\u3061\u3089\u3082\u30b5\u30a4\u30ba\u306b\u3088\u3063\u3066\u9055\u3044\u306f\u3042\u308b\u3068\u306f\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u9762\u5012\u306a\u306e\u3067\u30b5\u30a4\u30ba\u3092\u6c17\u306b\u305b\u305a3\u500b\u3001\u3068\u3057\u3066\u3044\u307e\u3059\u3002\n\u7279\u306b\u56f0\u3063\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/salt_pepper_hu_e08ca3ca8e396ab3.jpg\" alt=\"\u8abf\u5473\" \/>\n<\/p>\n<p>\u5869\u3053\u3057\u3087\u3046\u3092\u9069\u5f53\u306b\u5165\u308c\u307e\u3059\u3002\n\u3042\u308c\u3070\u30ca\u30c4\u30e1\u30b0\u3082\u5165\u308c\u308b\u3068\u826f\u3044\u9999\u308a\u304c\u3057\u307e\u3059\u3002\n\u5869\u3053\u3057\u3087\u3046\u306f\u601d\u3063\u3066\u3044\u308b\u3088\u308a\u3082\u591a\u304f\u5165\u308c\u308b\u3068\u3061\u3087\u3046\u3069\u826f\u3044\u3067\u3059\u3002\n\u7279\u306b\u51b7\u3081\u3066\u304b\u3089\u3082\u98df\u3079\u308b\u5834\u5408\u306f\u3001\u6c17\u6301\u3061\u591a\u3081\u306b\u5165\u308c\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u5869\u5206\u304c\u6c17\u306b\u306a\u308b\u4eba\u306f\u3001\u3053\u3057\u3087\u3046\u3092\u591a\u3081\u306b\u3059\u308b\u3068\u3001\u306a\u3093\u3068\u306a\u304f\u826f\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/mix_hu_adf7d7efd0dfcc79.jpg\" alt=\"\u5177\u6750\" \/>\n<\/p>\n<p>\u5177\u6750\u3092\u5165\u308c\u3066\u6df7\u305c\u307e\u3059\u3002\n\u79c1\u306f\u3042\u308b\u3082\u306e\u3092\u9069\u5f53\u306b\u5165\u308c\u307e\u3059\u3002<\/p>\n<p>\u307b\u3046\u308c\u3093\u8349\u306a\u3069\u3082\u3001\u751f\u306a\u3089\u751f\u306e\u307e\u307e\u3001\u51b7\u51cd\u306a\u3089\u51cd\u3063\u305f\u307e\u307e\u5165\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002\n\u706b\u304c\u5165\u308b\u306e\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u305f\u308a\u3057\u3066\u3044\u308b\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u306a\u3093\u3068\u304b\u306a\u308a\u307e\u3059\u3002\n\u3061\u3083\u3093\u3068\u706b\u304c\u901a\u3063\u3066\u306a\u3044\u3068\u304a\u306a\u304b\u3092\u58ca\u3057\u305d\u3046\u306a\u3082\u306e(\u633d\u8089\u3068\u304b)\u3084\u3001\u706b\u3092\u901a\u3055\u306a\u3044\u3068\u98df\u611f\u304c\u90aa\u9b54\u306b\u306a\u3063\u305f\u308a\u3057\u305d\u3046\u306a\u3082\u306e\u306f\u4e88\u3081\u706b\u3092\u901a\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/lazy-quiche\/images\/fill_hu_1f1e75398e963268.jpg\" alt=\"\u6d41\u3057\u8fbc\u3080\" \/>\n<\/p>\n<p>\u3056\u3063\u3068\u6df7\u305c\u5408\u308f\u305b\u305f\u3089\u3001\u30d1\u30a4\u30b7\u30fc\u30c8\u3092\u6577\u3044\u305f\u30d5\u30e9\u30a4\u30d1\u30f3\u306b\u6d41\u3057\u8fbc\u307f\u307e\u3059\u3002\n\u30c6\u30d5\u30ed\u30f3\u52a0\u5de5\u30d5\u30e9\u30a4\u30d1\u30f3\u306a\u306e\u3067\u3001\u30d1\u30a4\u30b7\u30fc\u30c8\u304b\u3089\u306f\u307f\u51fa\u3066\u3082\u5927\u4e08\u592b\u3067\u3059\u3002\u5473\u306b\u306f\u5909\u308f\u308a\u3042\u308a\u307e\u305b\u3093\u3002\n\u898b\u3066\u306e\u901a\u308a\u3001\u30d1\u30a4\u751f\u5730\u3082\u306e\u3070\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u89d2\u304c\u305d\u306e\u307e\u307e\u98db\u3073\u51fa\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30d4\u30b6\u30c1\u30fc\u30ba\u3068\u304b\u304c\u3042\u308c\u3070\u9069\u5f53\u306b\u4e57\u305b\u3066\u304a\u304f\u3068\u826f\u3044\u611f\u3058\u3067\u3059\u3002<\/p>\n<p>\u5f8c\u306f180\u5ea6\u306720~30\u5206\u304f\u3089\u3044\u3001\u5375\u6db2\u304c\u56fa\u307e\u308b\u307e\u3067\u713c\u304d\u307e\u3059\u3002\n\u79c1\u306f\u5927\u4f53\u3001\u96d1\u306b\u30aa\u30fc\u30d6\u30f3\u306e\u6700\u5927\u6642\u9593\u306b\u30bb\u30c3\u30c8\u3057\u3066\u3001\u5225\u9014\u30ad\u30c3\u30c1\u30f3\u30bf\u30a4\u30de\u30fc\u306720\u5206\u304f\u3089\u3044\u306f\u304b\u308a\u307e\u3059\u3002\n\u4e0a\u9762\u304c\u826f\u3044\u611f\u3058\u306e\u713c\u304d\u8272\u306b\u306a\u3063\u305f\u3089\u5927\u4f53\u713c\u3051\u3066\u3044\u308b\u306e\u3067\u3001\u7bb8\u304b\u306a\u3093\u304b\u3092\u3055\u3057\u3066\u3001\u56fa\u307e\u3063\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u5224\u5225\u3057\u307e\u3059\u3002\n\u56fa\u307e\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u3089\u9069\u5f53\u306b5\u5206\u304f\u3089\u3044\u305a\u3064\u8ffd\u52a0\u3067\u713c\u304f\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3001\u713c\u3044\u3066\u3044\u308b\u9593\u306f\u672c\u3092\u8aad\u3080\u306a\u3069\u3057\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"KubeCon Japan 2025","link":"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/","pubDate":"Wed, 25 Jun 2025 20:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/","description":"<p>2025\u5e746\u670817\u65e5\/18\u65e5\u306b\u958b\u50ac\u3055\u308c\u305f<a href=\"https:\/\/events.linuxfoundation.org\/kubecon-cloudnativecon-japan\/\" target=\"_blank\" rel=\"noopener\">KubeCon + CloudNativeCon Japan 2025<\/a>\n\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002\n\u307e\u305f\u3001\u305d\u306e\u524d\u65e516\u65e5\u306bCo-located Event\u3068\u3057\u3066<a href=\"https:\/\/events.linuxfoundation.org\/kubecon-cloudnativecon-japan\/features-add-ons\/co-located-events\/#japan-community-day\" target=\"_blank\" rel=\"noopener\">Japan Community Day<\/a>\n\u306e\u4e00\u90e8\u3068\u3057\u3066Doc Sprint\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3092\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>KubeCon\u306f<a href=\"https:\/\/kubernetes.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001Cloud Native Computing Foundation (CNCF)\u304c\u4e3b\u50ac\u3057\u3066\u3044\u307e\u3059\u3002\n\u65e5\u672c\u3067\u306e\u958b\u50ac\u306f\u521d\u3081\u3066\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304b\u3089\u306e\u671f\u5f85\u3082\u5927\u304d\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u7d50\u679c\u3068\u3057\u3066\u306f\u5927\u76db\u6cc1\u3067\u30011500\u679a\u306e\u30c1\u30b1\u30c3\u30c8\u304c\u5b8c\u58f2\u3060\u3063\u305f\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<h2 id=\"doc-sprint\">Doc Sprint<\/h2>\n<p>\u672c\u796d\u306e\u524d\u65e5\u306b\u3001Co-located event\u3068\u3044\u3046\u5f62\u3067\u3001\u4f1a\u5834\u306e\u8fd1\u304f\u3001NTT DOCOMO Open Lab in Odaiba\u3067Japan Community Day\u304c\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002\nJapan Community Day\u3067\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u3063\u305f\u307b\u304b\u3001Kubernetes Upstream Training\u3068Doc Sprint\u3092\u958b\u50ac\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>Doc Sprint\u306fKubernetes\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8(\u306e\u3001\u7279\u306b\u65e5\u672c\u8a9e\u7ffb\u8a33)\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3057\u3088\u3046\uff01\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u79c1\u3084\u3001<a href=\"https:\/\/x.com\/junya__okabe\" target=\"_blank\" rel=\"noopener\">@junya__okabe<\/a>\n\u304cKubernetes SIG Docs\u65e5\u672c\u8a9elocalization\u30c1\u30fc\u30e0approver\u3068\u3057\u3066\u521d\u3081\u3066\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3068\u3044\u3046\u4f01\u753b\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/images\/doc_sprint_hu_80abaacd5d398a74.jpg\" alt=\"Doc Sprint\u30fb\u30fb\u30fb\u306e\u524d\u306eice break\u304c\u76db\u308a\u4e0a\u304c\u3063\u3066\u3044\u308b\u69d8\u5b50\" \/>\n<\/p>\n<p>\u5f53\u65e5\u306f\u3081\u3061\u3083\u7c21\u5358good-first-issue\u3092\u7528\u610f\u3059\u308b\u3053\u3068\u306b\u6210\u529f\u3057\u305f\u306e\u3082\u3042\u3063\u3066\u3001\u5b9f\u969b\u306b4\u4eba\u306enew contributor\u304c\u8a95\u751f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/images\/view_hu_c4a8767dc0a5cbe9.jpg\" alt=\"NTT DOCOMO Open Lab in Odaiba\u304b\u3089\u306e\u666f\u8272\" \/>\n<\/p>\n<p>\u666f\u8272\u3082\u5927\u5909\u826f\u304f\u3001\u5927\u5909\u826f\u3044\u4f1a\u5834\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"kubecon\u672c\u796d\">KubeCon\u672c\u796d<\/h2>\n<p>\u672c\u796d\u306f\u6982\u306d\u5eca\u4e0b\u3092\u3046\u308d\u3046\u308d\u3057\u3066\u77e5\u308a\u5408\u3044\u3068\u8a71\u3057\u305f\u308a\u3001\u30d6\u30fc\u30b9\u3092\u51b7\u3084\u304b\u3057\u305f\u308a\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\u30d8\u30a4\u30b7\u30e3\u3082\u30d7\u30e9\u30c1\u30ca\u30b9\u30dd\u30f3\u30b5\u30fc\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u306a\u304b\u306a\u304b\u5927\u304d\u306a\u30d6\u30fc\u30b9\u3092\u51fa\u3057\u3066\u3044\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/images\/sponsor_booth_hu_5b7025d879cac942.jpg\" alt=\"LINE\u30e4\u30d5\u30fc\u682a\u5f0f\u4f1a\u793e\u306e\u30d6\u30fc\u30b9\" \/>\n<\/p>\n<p>Job board\u3082\u3042\u308a\u3001\u30da\u30f3\u304c\u7f6e\u3044\u3066\u3042\u3063\u305f\u306e\u3067\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u52df\u96c6\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3057\u305f(&ldquo;Job&quot;\u3067\u306f\u306a\u3044\u3051\u3069\u30fb\u30fb\u30fb):<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/images\/job_board_hu_13460ee6b943f455.jpg\" alt=\"Job board\" \/>\n<\/p>\n<p>\u3042\u3093\u307e\u308a\u305f\u304f\u3055\u3093\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u8074\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4e00\u756a\u9762\u767d\u304b\u3063\u305f\u306e\u306f\u521d\u65e5\u306e\u6700\u5f8c\u306e\u30b3\u30de\u306b\u767a\u8868\u306e\u3042\u3063\u305f\u3001<a href=\"https:\/\/kccncjpn2025.sched.com\/event\/1x716\/2-node-kubernetes-a-reliable-and-compatible-solution-xin-zhang-guang-hu-microsoft?iframe=yes&amp;w=100%25&amp;sidebar=yes&amp;bg=no\" target=\"_blank\" rel=\"noopener\">2-Node Kubernetes<\/a>\n\u3068\u3044\u3046\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u3057\u305f\u3002\n\u8981\u3059\u308b\u306b\u3001HA\u69cb\u6210K8s\u304c3\u30ce\u30fc\u30c9\u4ee5\u4e0a\u5fc5\u8981\u306a\u306e\u306fetcd\u304c3\u30ce\u30fc\u30c9\u5fc5\u8981\u3060\u304b\u3089\u3067\u3001etcd\u306f3\u53f0\u3042\u3063\u3066\u30821\u53f0\u307e\u3067\u3057\u304b\u843d\u3068\u305b\u306a\u3044\u306e\u3067\u3001\u306a\u3089\u3070(leader election\u3055\u3048\u306a\u3093\u3068\u304b\u3059\u308c\u3070)\u8010\u6545\u969c\u6027\u306f3\u30ce\u30fc\u30c9\u3068\u5909\u308f\u3089\u306a\u3044\u3057\u3001edge\u3067\u30b3\u30b9\u30c8\u3092\u843d\u3068\u3059\u3053\u3068\u3082\u3067\u304d\u3066\u30cf\u30c3\u30d4\u30fc\u3058\u3083\u3093\u3001\u3068\u3044\u3046\u8a71\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/images\/2-node_kubernetes_hu_48bc70affa2d7125.png\" alt=\"2-Node Kubernetes\" \/>\n<\/p>\n<p>2\u65e5\u76ee\u306e\u663c\u306b\u306f\u3001Kubernetes Upstream Training Japan\u306e\u4e00\u54e1\u3068\u3057\u3066\u3001\u767a\u8868\u3092\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3057\u305f\u3002\n\u500b\u4eba\u306e\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u306f\u901a\u3089\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u30d1\u30cd\u30eb\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3\u306e\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u304c\u901a\u3063\u3066\u672c\u5f53\u306b\u826f\u304b\u3063\u305f\u3002<\/p>"},{"title":"\u6885\u4ed5\u4e8b2025","link":"https:\/\/blog.web-apps.tech\/ume-2025\/","pubDate":"Thu, 12 Jun 2025 21:13:00 +0900","guid":"https:\/\/blog.web-apps.tech\/ume-2025\/","description":"<p>\u4eca\u5e74\u3082\u6885\u306e\u5b63\u7bc0\u304c\u3084\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u306a\u3093\u304b\u30b9\u30fc\u30d1\u30fc\u3067\u5168\u7136\u6885\u3092\u898b\u306a\u3044\u3093\u3067\u3059\u3051\u3069\u3001\u3044\u307e\u3069\u304d\u306e\u672d\u5e4c\u306e\u6c11\u306f\u6885\u4ed5\u4e8b\u306f\u3057\u306a\u3044\u3093\u3067\u3059\u304b\u306d\uff1f\n\u4eca\u5e74\u306f\u3061\u3087\u3063\u3068\u5909\u308f\u3063\u305f\u6885\u306e\u5b9f\u3092\u4f7f\u3044\u305f\u3044\u306a\u3041\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3001<a href=\"https:\/\/www.satofull.jp\/products\/detail.php?product_id=1606090\" target=\"_blank\" rel=\"noopener\">\u3075\u308b\u3055\u3068\u7d0d\u7a0e\u3067\u7d2b\u5b9d\u6885\u300e\u30df\u30b9\u306a\u3067\u3057\u3053(R)\u300f<\/a>\n\u3068\u3044\u3046\u3001\u7d2b\u8272\u306e\u6885\u3092\u624b\u306b\u5165\u308c\u307e\u3057\u305f\u3002\n\u304d\u308c\u3044\u306a\u30d4\u30f3\u30af\u8272\u306e\u30b7\u30ed\u30c3\u30d7\u304c\u3067\u304d\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u697d\u3057\u307f\u3067\u3059\u306d\u3002<\/p>\n<p>1kg\u3067\u5bc4\u4ed8\u91d1\u984d8,000\u5186\u30014kg\u3067\u5bc4\u4ed8\u91d1\u984d20,000\u5186\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u3069\u3046\u305b2kg\u306f\u4f7f\u3044\u307e\u3059\u304b\u3089\u30014kg\u306e\u65b9\u3092\u9078\u3073\u307e\u3057\u305f\u3002\n\u4e00\u5fdc\u8aac\u660e\u306b\u5bc4\u308c\u3070\u5927\u7389(M\u301cL)\u3068\u3044\u3046\u3053\u3068\u306a\u3093\u3067\u3059\u304c\u3001\u7d50\u69cb\u5c0f\u3076\u308a(M?)\u306e\u5b9f\u304c\u591a\u3044\u69d8\u306b\u611f\u3058\u307e\u3057\u305f\u3002\n\u307e\u3041\u4f8b\u5e74\u30b9\u30fc\u30d1\u30fc\u3067\u8cb7\u3046\u9752\u6885\u306fLL\u306e\u3082\u306e\u3092\u8cb7\u3046\u305f\u3081\u3001\u4f59\u8a08\u306b\u305d\u3046\u898b\u3048\u305f\u3001\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u308b\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u304c\u3002<\/p>\n<p>\u30b9\u30fc\u30d1\u30fc\u3067\u8cb7\u3046\u3088\u3046\u306a\u7269\u3068\u6bd4\u3079\u3066\u3001\u304b\u306a\u308a\u50b7\u7269\u304c\u5c11\u306a\u304f\u3001\u7d50\u5c40\u4e0d\u5b89\u304c\u3042\u3063\u3066\u30cf\u30cd\u305f\u5b9f\u306f1\u3064\u3068\u3044\u3046\u597d\u6210\u7e3e\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/ingredients_hu_c6162dc8851a3228.jpg\" alt=\"\u6885\u4ee5\u5916\u306e\u6750\u6599\" \/>\n<\/p>\n<p>\u4eca\u56de\u4f7f\u3046\u6885\u4ee5\u5916\u306e\u6750\u6599\u306f\u3053\u3061\u3089\u3002\u6885\u306e\u65b9\u306b\u5909\u5316\u3092\u5165\u308c\u305f\u306e\u3067\u3001\u8272\u304c\u304d\u308c\u3044\u306b\u3067\u305d\u3046\u306a\u6c37\u7802\u7cd6\u3001\u4e0a\u767d\u7cd6\u3001\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u3067\u3059\u3002\n\u6885\u9152\u30921\u74f6\u3001\u6885\u30b7\u30ed\u30c3\u30d7\u30922\u74f6\u4f5c\u308a\u3001\u4f59\u3063\u305f1kg\u306f\u59b9\u306b\u5206\u3051\u3066\u3042\u3052\u307e\u3057\u305f\u3002<\/p>\n<p>\u74f6\u306fPET\u6b63\u306e\u679c\u5b9f\u9152\u74f6\u3092\u9078\u3073\u307e\u3057\u305f\u3002<a href=\"https:\/\/blog.web-apps.tech\/ume-2024\/\">\u6628\u5e74\u4f7f\u3063\u305f\u30e2\u30ce<\/a>\n\u3068\u306f\u9055\u3046\u3093\u3067\u3059\u3051\u3069\u3001\u540c\u3058\u304f\u89d2\u5f62\u3067\u53ce\u7d0d\u306b\u4fbf\u5229\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/zoom_hu_b561f27062660048.jpg\" alt=\"\u30ba\u30fc\u30e0\u30a2\u30c3\u30d7\" \/>\n<\/p>\n<p>\u5b9f\u306e\u5f62\u304c\u307e\u3093\u4e38\u3067\u306f\u306a\u304f\u3066\u3001\u3059\u3053\u3057\u3068\u304c\u3063\u305f\u3088\u3046\u306a\u5f62\u3092\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4f5c\u308a\u65b9\u306f\u4f8b\u5e74\u901a\u308a\u3001\u6d17\u3063\u3066\u3001\u62ed\u3044\u3066\u3001\u30d8\u30bf\u3092\u53d6\u3063\u3066\u3001\u7802\u7cd6\u3068\u7a4d\u307f\u91cd\u306d\u3066\u3001\u6885\u9152\u306e\u65b9\u306b\u306f\u9152\u3092\u5165\u308c\u308b\u3001\u3068\u3044\u3046\u3060\u3051\u3002\n\u5e97\u982d\u306b\u3042\u3063\u305f\u74f6\u306e\u5728\u5eab\u306e\u90fd\u5408\u30672\u65e5\u306b\u5206\u3051\u3066\u4f5c\u696d\u3057\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/day-1_hu_88034f52ae3f8db7.jpg\" alt=\"Day1\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/day-2_hu_9e3e0be84c8e5d58.jpg\" alt=\"Day2\" \/>\n<\/p>\n<p>\u4f8b\u5e74\u3001\u6885\u4ed5\u4e8b\u3092\u3057\u305f\u5f8c\u306f\u4ee5\u524d\u306b\u6f2c\u3051\u305f\u6885\u9152\u3092\u5473\u898b\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u4eca\u5e74\u3082\u5473\u898b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/shiwa_hu_14eaeb5b45f4da49.jpg\" alt=\"\u3057\u308f\u3057\u308f\" \/>\n<\/p>\n<p>\u6628\u5e74\u306e\u6885\u9152\u306f\u4f55\u306e\u5f71\u97ff\u304b\u3001\u3059\u3054\u304f\u3057\u307c\u3093\u3060\u72b6\u614b\u3067\u3059\u306d\u3002\n1\u5e74\u304f\u3089\u3044\u3060\u3068\u3001\u591a\u5c11\u3057\u308f\u304c\u5165\u3063\u3066\u3044\u308b\u3053\u3068\u306f\u591a\u304f\u3066\u3001\u305d\u306e\u5f8c\u307e\u305f\u9152\u3092\u5438\u3063\u3066\u81a8\u3089\u3093\u3067\u304f\u308b\u3093\u3067\u3059\u304c\u3001\u3053\u3053\u307e\u3067\u3057\u307c\u3093\u3067\u3057\u307e\u3063\u3066\u3082\u307e\u305f\u81a8\u3089\u3093\u3067\u304f\u308b\u3093\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2025\/images\/last_year_hu_6f284584b7c23bd5.jpg\" alt=\"\u6628\u5e74\u306e\u6885\u9152\" \/>\n<\/p>\n<p>\u307b\u3093\u306e\u5c11\u3057\u6c34\u3092\u8db3\u3057\u305f\u3001\u3044\u308f\u3070\u6c34\u306e\u6885\u9152\u5272\u3001\u304f\u3089\u3044\u306e\u5272\u308a\u65b9\u3067\u5272\u3063\u3066\u307f\u307e\u3057\u305f\u3002\n1\u5e74\u30e2\u30ce\u3068\u306f\u601d\u3048\u306a\u3044\u304f\u3089\u3044\u4e38\u3044\u611f\u3058\u3067\u3001\u30b3\u30ec\u306f\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u304c\u826f\u304b\u3063\u305f\u306e\u304b\u3001\u4e2d\u30b6\u30e9\u7cd6\u304c\u826f\u304b\u3063\u305f\u306e\u304b\u3001\u60a9\u307e\u3057\u3044\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>\u305d\u3057\u30661\u5e74\u8d8a\u3057\u306b\u6c17\u3065\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u6628\u5e74\u306e\u30e9\u30d9\u30eb\u304c1\u5e74\u9593\u9055\u3063\u3066\u3044\u307e\u3057\u305f\u3002\n\u4e0a\u304b\u3089\u30de\u30c3\u30ad\u30fc\u3067\u8a02\u6b63\u3057\u3066\u304a\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u6765\u5e74\u3002<\/p>"},{"title":"\u30c1\u30ab\u306e\u5357\u86ee\u6f2c\u3051","link":"https:\/\/blog.web-apps.tech\/chika-namban\/","pubDate":"Tue, 04 Feb 2025 23:18:01 +0900","guid":"https:\/\/blog.web-apps.tech\/chika-namban\/","description":"<p>\u3053\u306e\u5b63\u7bc0\u4e00\u756a\u7f8e\u5473\u3044\u9b5a\u3068\u3044\u3048\u3070\u3001\u305d\u3046\u3001\u30c1\u30ab\u3067\u3059\u306d\u3002\u79c1\u306f\u30c1\u30ab\u3092\u898b\u305f\u3089\u8cb7\u308f\u306a\u3044\u3067\u306f\u3044\u3089\u308c\u306a\u3044\u3068\u3044\u3046\u5947\u75c5\u306b\u304b\u304b\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u4eca\u30b7\u30fc\u30ba\u30f3\u306f\u65e2\u306b3\u301c4\u56de\u8cfc\u5165\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30c1\u30ab\u306f\u30ef\u30ab\u30b5\u30ae\u3092\u5c11\u3057\u5927\u304d\u304f\u3057\u305f\u3088\u3046\u306a\u5c0f\u578b\u306e\u9b5a\u3067\u3001\u4eca\u6642\u671f\u306f\u6bd4\u8f03\u7684\u5927\u578b\u306e\u3082\u306e\u304c\u5b89\u4fa1\u306b\u8ca9\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n<a href=\"https:\/\/ja.wikipedia.org\/wiki\/%E3%83%81%E3%82%AB\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>\n\u306b\u3088\u308b\u3068\u30c1\u30ab\u306f20cm\u307b\u3069\u306b\u80b2\u3064\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u304c\u3001\u4eca\u56de\u8cb7\u3063\u305f\u30c1\u30ab\u306f\u304a\u304a\u3088\u305d\u5168\u957713cm\u7a0b\u5ea6\u3067\u3057\u305f\u3002<\/p>\n<p>\u5f53\u7136(?)\u30c1\u30ab\u306f\u5357\u86ee\u6f2c\u3051\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u6750\u6599\u306f\u3053\u3061\u3089:\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/ingredients_hu_1d49f0daff0f2374.jpg\" alt=\"\u30c1\u30ab\u306e\u5357\u86ee\u6f2c\u3051\u6750\u6599\" \/>\n<\/p>\n<p>\u30c1\u30ab\u3001\u7389\u306d\u304e\u3001\u306a\u3069\u3067\u3059\u3002\u4eca\u56de\u306f\u5f69\u308a\u306b\u7389\u306d\u304e\u3092\u5165\u308c\u307e\u3057\u305f\u3002\u30d1\u30d7\u30ea\u30ab\u306f\u9ad8\u3044\u306e\u3067\u3001\u7389\u306d\u304e\u306e\u307f\u3068\u3059\u308b\u3068\u7d4c\u6e08\u7684\u3067\u3059\u3002\n\u6211\u304c\u5bb6\u3067\u306f\u5730\u7344\u306e\u69d8\u306a\u91cf\u306e\u7389\u306d\u304e\u3092\u5165\u308c\u307e\u3059\u3002\n\u4eca\u6642\u671f\u306e\u672d\u5e4c\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u7389\u306d\u304e\u306f\u5927\u5909\u5927\u304d\u304f\u3001\u5199\u771f\u3067\u306f\u7389\u306d\u304e2.5\u500b\u304c\u6620\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u306e\u3068\u3053\u308d\u6d41\u77f3\u306b\u591a\u3044\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u30671\u3064\u6e1b\u3089\u3057\u307e\u3057\u305f\u304c\u3001\u305d\u308c\u3067\u3082\u304b\u306a\u308a\u306e\u91cf\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u6f2c\u3051\u5730\u3068\u3057\u3066\u3001<\/p>\n<ul>\n<li>\u9162 1cup<\/li>\n<li>\u7802\u7cd6 \u5927\u3055\u30586<\/li>\n<li>\u91a4\u6cb9 \u5927\u3055\u30588<\/li>\n<li>\u51fa\u6c41 2cup<\/li>\n<li>\u5510\u8f9b\u5b50\u5c0f\u53e3\u5207\u308a \u9069\u91cf\n\u3092\u6df7\u305c\u3066\u304a\u304d\u307e\u3059\u3002\u91ce\u83dc\u306e\u91cf\u3092\u6291\u3048\u308c\u3070\u534a\u5206\u3067\u3082\u826f\u3044\u3067\u3059\u3002\n\u307e\u305f\u3001\u79c1\u306f\u51fa\u6c41\u30d1\u30c3\u30af\u3092\u3064\u304b\u3063\u3066\u51fa\u6c41\u3092\u5f15\u304d\u307e\u3059\u304c\u3001\u9762\u5012\u3067\u3042\u308c\u3070\u51fa\u6c41\u306e\u7d20\u3092\u6e6f\u3067\u6eb6\u3044\u305f\u3082\u306e\u3092\u4f7f\u7528\u3057\u3066\u3082\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u305d\u306e\u5834\u5408\u3001\u51fa\u6c41\u306e\u7d20\u306f\u5869\u3084\u7802\u7cd6\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u5834\u5408\u304c\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u9069\u5b9c\u91a4\u6cb9\u3084\u7802\u7cd6\u306e\u91cf\u306f\u8abf\u7bc0\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u9762\u5012\u3067\u3042\u308c\u3070\u6c17\u306b\u3057\u306a\u304f\u3066\u3082\u8aa4\u5dee\u3060\u3068\u306f\u601d\u3044\u307e\u3059\u3002<\/li>\n<\/ul>\n<p>\u307e\u305a\u306f\u91ce\u83dc\u3092\u30b9\u30e9\u30a4\u30b9\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u524d\u56de\u4f5c\u3063\u305f\u3068\u304d\u306e\u7389\u306d\u304e\u30b9\u30e9\u30a4\u30b9\u52d5\u753b\u3067\u3059:\n<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\">\n<iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube.com\/embed\/O-PiiDexo40?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"><\/iframe>\n<\/div>\n\u3053\u306e\u6642\u306f\u5c0f\u3076\u308a\u306a\u7389\u306d\u304e\u3060\u3063\u305f\u306e\u3067\u300110\u500b\u307b\u3069\u6295\u5165\u3057\u305f\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<p>\u91ce\u83dc\u30b9\u30e9\u30a4\u30b9\u306e\u30b3\u30c4\u306f\u3001\u5305\u4e01\u3092\u5341\u5206\u306b\u7814\u3044\u3067\u304a\u304f\u3001\u3068\u3044\u3046\u70b9\u306b\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u524d\u306e\u65e5\u307e\u3067\u306b\u7814\u3044\u3067\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/sliced_hu_31f19dbe8408b6c4.jpg\" alt=\"\u30b9\u30e9\u30a4\u30b9\u3057\u305f\u91ce\u83dc\" \/>\n<\/p>\n<p>\u6b21\u306b\u30c1\u30ab\u306e\u51e6\u7406\u3092\u3057\u307e\u3059\u3002\n\u6d41\u77f3\u306b\u3053\u306e\u30b5\u30a4\u30ba\u306b\u306a\u308b\u3068<a href=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/\">\u4ee5\u524d\u3084\u3063\u305f\u3088\u3046\u306b<\/a>\n\u5358\u306b\u63da\u3052\u3066\u306f\u3044\u7d42\u308f\u308a\u3001\u3068\u3044\u3046\u308f\u3051\u306b\u306f\u3044\u304b\u305a\u3001\u3046\u308d\u3053\u3092\u53d6\u308a\u3001\u982d\u3092\u53d6\u308a\u3001\u80cc\u304b\u3089\u958b\u3044\u3066\u30ef\u30bf\u3068\u80cc\u9aa8\u3092\u53d6\u308a\u307e\u3059\u3002\nYoutube\u3067\u8abf\u3079\u308b\u3068\u89e3\u8aac\u3055\u308c\u3066\u3044\u308b\u52d5\u753b\u3082\u3042\u308b\u306e\u3067\u53c2\u8003\u306b\u3059\u308b\u3068\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u3084\u306f\u308a\u30b3\u30c4\u306f\u5305\u4e01\u3092\u3088\u304f\u7814\u3044\u3067\u304a\u304f\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/opened_hu_9973c1dbf3febb9e.jpg\" alt=\"\u958b\u3044\u305f\u30c1\u30ab\" \/>\n<\/p>\n<p>\u3042\u3068\u306e\u624b\u9806\u306f\u5c0f\u3055\u3044\u30c1\u30ab\u3084\u30ef\u30ab\u30b5\u30ae\u3067\u5357\u86ee\u6f2c\u3051\u3092\u4f5c\u308b\u306e\u3068\u540c\u69d8\u3067\u3059\u3002<\/p>\n<p>\u7247\u6817\u7c89\u3092\u3064\u3051\u3066\u63da\u3052\u3066:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/fried_hu_1f30d714833000ee.jpg\" alt=\"\u63da\u3052\u308b\" \/>\n<\/p>\n<p>\u6f2c\u3051\u5730\u306b\u7a81\u3063\u8fbc\u3093\u3067:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/soaked_hu_c5c902db489e87b1.jpg\" alt=\"\u6f2c\u3051\u5730\u306b\u6d78\u3059\" \/>\n<\/p>\n<p>\u91ce\u83dc\u3082\u5165\u308c\u3066:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/soaked_all_hu_3d1479c7a97bbbcb.jpg\" alt=\"\u91ce\u83dc\u3082\u6d78\u3059\" \/>\n<\/p>\n<p>\u9069\u5f53\u306a\u5bb9\u5668\u306b\u5165\u308c\u3066\u4e00\u6669\u51b7\u8535\u5eab\u3067\u5bdd\u304b\u305b\u307e\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/chika-namban\/images\/stay_hu_f962bbc80ebfe80e.jpg\" alt=\"\u4e00\u6669\u3064\u3051\u308b\" \/>\n<\/p>\n<p>\u3053\u306e\u91cf\u3060\u3068\u3001\u4e00\u4eba\u3060\u30682~3\u65e5\u306f\u3053\u308c\u3092\u98df\u3079\u7d9a\u3051\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u3054\u6ce8\u610f\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"\u30d9\u30c8\u30ca\u30e0\u306b\u884c\u3063\u3066\u304d\u305f","link":"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/","pubDate":"Sat, 21 Dec 2024 00:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/","description":"<p>\u6a19\u984c\u306e\u901a\u308a\u3001\u30d9\u30c8\u30ca\u30e0\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u4e3b\u76ee\u7684\u306f\u5b66\u751f\u6642\u4ee3\u304b\u3089\u306e\u4ed8\u304d\u5408\u3044\u3067\u3042\u308b\u3068\u3053\u308d\u306e<a href=\"https:\/\/x.com\/chamaharun\" target=\"_blank\" rel=\"noopener\">@chamaharun<\/a>\n\u3068<a href=\"https:\/\/x.com\/ne_saya\" target=\"_blank\" rel=\"noopener\">@ne_saya<\/a>\n\u306e\u7d50\u5a5a\u5f0f\u3067\u3059\u304c\u3001\u30d9\u30c8\u30ca\u30e0\u307e\u3067\u884c\u3063\u3066\u305d\u308c\u3060\u3051\u3068\u3044\u3046\u306e\u3082\u30a2\u30ec\u306a\u306e\u3067\u3001\u591a\u5c11\u89b3\u5149\u3082\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"0\u65e5\u76ee-\u672d\u5e4c\u6771\u4eac\u30db\u30fc\u30c1\u30df\u30f3\">0\u65e5\u76ee: \u672d\u5e4c\u2192\u6771\u4eac\u2192\u30db\u30fc\u30c1\u30df\u30f3<\/h2>\n<p>\u5148\u65e5\u672d\u5e4c\u306b\u5f15\u3063\u8d8a\u3057\u305f\u305f\u3081\u3001\u7d50\u5a5a\u5f0f\u4f1a\u5834\u306e\u30d5\u30fc\u30b3\u30c3\u30af\u5cf6\u307e\u3067\u306f\u3001\u65b0\u5343\u6b73\u2192\u7fbd\u7530\u2192\u30db\u30fc\u30c1\u30df\u30f3\u2192\u30d5\u30fc\u30b3\u30c3\u30af\u3068\u3044\u3046\u7d4c\u8def\u3067\u3057\u305f\u3002\n\u4e57\u308a\u7d99\u304e\u306e\u90fd\u5408\u306a\u3069\u3082\u52d8\u6848\u3057\u3066\u300121:15\u65b0\u5343\u6b73\u767a\u3001\u6df1\u591c\u306b\u7fbd\u7530\u767a\u3001\u65e9\u671d\u30db\u30fc\u30c1\u30df\u30f3\u7740\u3068\u3044\u3046\u8a08\u753b\u3068\u3057\u305f\u305f\u3081\u3001\u305b\u3063\u304b\u304f\u306a\u306e\u3067\u30db\u30fc\u30c1\u30df\u30f3\u3067\u4e00\u6cca\u3059\u308b\u3053\u3068\u3068\u3057\u307e\u3057\u305f\u3002\n\u65b0\u5343\u6b73\u3092\u3067\u308b\u3068\u304d\u306f\u306a\u3093\u3068\u306a\u304f\u304a\u306a\u304b\u304c\u7a7a\u3044\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u5915\u98df\u629c\u3044\u3066\u3057\u307e\u304a\u3046\u304b\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u306a\u3093\u3060\u304b\u3093\u3060\u7fbd\u7530\u3067\u98db\u884c\u6a5f\u3092\u5f85\u3063\u3066\u3044\u305f\u3089\u304a\u306a\u304b\u304c\u7a7a\u3044\u305f\u306e\u3067\u3001\u304a\u5024\u6bb5\u304c\u624b\u9803\u3060\u3063\u305f\u3046\u3069\u3093\u3092\u98df\u3079\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/udon_haneda_hu_ef3fee521d2668ea.jpg\" alt=\"\u7fbd\u7530\u7a7a\u6e2f\u3067\u98df\u3079\u305f\u9ad8\u7d1a\u3046\u3069\u30931160\u5186\" \/>\n<\/p>\n<p>\u56fd\u969b\u7dda\u3067\u306f\u30a8\u30b3\u30ce\u30df\u30fc\u3067\u3082\u9152\u304c\u98f2\u3081\u308b\u3093\u3060\u3063\u305f\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u5bdd\u9152\u306b\u6885\u9152\u3092\u3082\u3089\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u5341\u5206\u306b\u30a8\u30a2\u30b3\u30f3\u304c\u52b9\u3044\u3066\u308b\u3057\u3001\u3068\u601d\u3063\u3066\u30b9\u30c8\u30ec\u30fc\u30c8\u3067\u983c\u3093\u3060\u3089\u3001\u7d50\u69cb\u591a\u304f\u3066\u7d50\u5c40\u3061\u3073\u3061\u3073\u3084\u3063\u3066\u3044\u305f\u3089\u98f2\u307f\u304d\u308c\u307e\u305b\u3093\u3067\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/umeshu_hu_a090a5a7a935bb3.jpg\" alt=\"\u6885\u9152\u30b9\u30c8\u30ec\u30fc\u30c8\" \/>\n<\/p>\n<p>\u6a5f\u5185\u98df\u3067\u671d\u98df\u3001\u30d1\u30f3\u30b1\u30fc\u30ad\u3067\u3059\u3063\u3066\u58f0\u3082\u805e\u3053\u3048\u3066\u3044\u305f\u6c17\u304c\u3057\u305f\u3051\u3069\u3001\u624b\u5143\u306b\u6765\u305f\u306e\u306f\u30d5\u30ec\u30f3\u30c1\u30c8\u30fc\u30b9\u30c8:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/in_flight_morning_hu_21bfe0edfde34721.jpg\" alt=\"\u6a5f\u5185\u98df\u30e2\u30fc\u30cb\u30f3\u30b0\" \/>\n<\/p>\n<h2 id=\"1\u65e5\u76ee-\u30db\u30fc\u30c1\u30df\u30f3\">1\u65e5\u76ee: \u30db\u30fc\u30c1\u30df\u30f3<\/h2>\n<p>\u30db\u30fc\u30c1\u30df\u30f3\u307e\u3067\u306fJAL\u4fbf\u3060\u3063\u305f\u306e\u3067\u3001\u30ae\u30ea\u30ae\u30ea\u307e\u3067\u65e5\u672c\u8a9e\u3067\u697d\u3061\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u30db\u30fc\u30c1\u30df\u30f3\u306b\u65e9\u671d\u306b\u3064\u3044\u3066\u3001\u30db\u30c6\u30eb\u306e\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3082\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u30d5\u30ed\u30f3\u30c8\u306e\u4eba\u306b\u300c\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u3068\u601d\u3046\uff1f\u300d\u3068\u805e\u3044\u305f\u3068\u3053\u308d\u3001\u3059\u3050\u6a2a\u306b\u30ab\u30d5\u30a7\u304c\u3042\u308b\u304b\u3089\u3001\u3044\u3063\u305f\u3093\u4f11\u61a9\u3057\u3066\u3001\u305d\u306e\u8fba\u6563\u6b69\u3057\u3066\u304d\u305f\u3089\u826f\u3044\u611f\u3058\u306b\u30db\u30c6\u30eb\u304b\u3089\u306e\u30b7\u30e3\u30c8\u30eb\u30d0\u30b9\u304c\u3067\u308b\u304b\u3089\u3001\u305d\u308c\u3067\u89b3\u5149\u884c\u3063\u3066\u304d\u305f\u3089\u826f\u3044\u3093\u3058\u3083\u306a\u3044\uff1f\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3001\u305d\u308c\u306b\u5f93\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305a\u306f\u3059\u3050\u304a\u96a3\u306eHIGHLANDS COFFEE\u3067\u4e00\u767a\u76ee\u306e\u30d9\u30c8\u30ca\u30e0\u30b3\u30fc\u30d2\u30fc:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/highlands_coffee_hu_f1898d01f3bc8e01.jpg\" alt=\"HIGHLANDS COFFEE\" \/>\n<\/p>\n<p>HIGHLANDS COFFEE\u306f\u30c1\u30a7\u30fc\u30f3\u3067\u3001\u30d9\u30c8\u30ca\u30e0\u3067\u306f\u5272\u3068\u3069\u3053\u306b\u3067\u3082\u3042\u308b\u3068\u3044\u3046\u304b\u3001\u30b9\u30bf\u30d0\u306e\u3088\u3046\u306a\u30e2\u30ce\u3089\u3057\u3044\u3002\u30b9\u30bf\u30d0\u306f\u30b9\u30bf\u30d0\u3067\u540c\u69d8\u306b\u305d\u306e\u8fba\u306b\u3042\u308b\u3051\u3069\u3002\u5168\u7136\u6570\u304c\u9055\u3046\u3002\u65e5\u672c\u3067\u8a00\u3046\u3068\u3001\u30c9\u30c8\u30fc\u30eb\u3068\u304b\u305d\u306e\u8fba\u304b\u306a\u3001\u3068\u601d\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/vietnam_coffee_with_condensed_milk_hu_634892b1ec22492c.jpg\" alt=\"\u30d9\u30c8\u30ca\u30e0\u30b3\u30fc\u30d2\u30fc\" \/>\n<\/p>\n<p>35k VND==\u5927\u4f53200\u5186\u304f\u3089\u3044\u3002\u5b89\u3044\u3002\u6c37\u304c\u3084\u3070\u3044\u3002<\/p>\n<p>\u305d\u3057\u3066\u9053\u8def\u3002\u5642\u306b\u805e\u3044\u3066\u3044\u305f\u30d9\u30c8\u30ca\u30e0\u306e\u539f\u4ed8\u3002\u3084\u3070\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/bike_bike_bike_hu_82482fce32b85828.jpg\" alt=\"\u5927\u91cf\u306e\u539f\u4ed8\" \/>\n<\/p>\n<p>\u6563\u6b69\u3057\u3066\u3044\u305f\u3089\u898b\u3064\u3051\u305f\u30df\u30cb\u30b9\u30c8\u30c3\u30d7\u3002\u304a\u3067\u3093(\u3068\u3044\u3046\u540d\u524d\u306e\u591a\u5206\u5225\u306e\u98df\u3079\u7269)\u304c\u58f2\u3089\u308c\u3066\u3044\u305f\u3051\u3069\u3001\u3053\u306e\u6c17\u6e29\u3067\u98df\u3079\u308b\u5974\u304a\u308b\u3093\u304b\u3001\u3068\u306f\u601d\u3044\u307e\u3057\u305f\u306d:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/ministop_hu_a5599c6a5baa1807.jpg\" alt=\"\u30df\u30cb\u30b9\u30c8\u30c3\u30d7\" \/>\n<\/p>\n<p>\u305d\u3046\u3053\u3046\u3057\u3066\u3044\u308b\u9593\u306b\u826f\u3044\u611f\u3058\u306e\u6642\u9593\u306b\u306a\u3063\u305f\u306e\u3067\u3001\u30db\u30c6\u30eb\u306b\u623b\u3063\u3066\u30b7\u30e3\u30c8\u30eb\u30d0\u30b9\u306b\u4e57\u8eca\u3002\n\u884c\u304d\u5148\u4e00\u89a7\u306b\u9ad8\u5cf6\u5c4b\u304c\u3042\u3063\u3066\u3001\u5b89\u5fc3\u611f\u3042\u308a\u305d\u3046\u3060\u3063\u305f\u3057\u3001\u30e6\u30cb\u30af\u30ed\u3068\u304b\u304c\u5165\u3063\u3066\u3044\u3066\u3001\u73fe\u5730\u9650\u5b9a\u306e\u3084\u3064\u3068\u304b\u3042\u308b\u306e\u304b\u3057\u3089\u3001\u3068\u6c17\u306b\u306a\u3063\u305f\u306e\u3067\u3044\u3063\u305f\u3093\u9ad8\u5cf6\u5c4b\u3078\u3002\n\u898b\u6163\u308c\u305f\u30ed\u30b4\u3067\u5b89\u5fc3\u611f\u304c\u3059\u3054\u3044:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/uniqlo_hu_9554fbd0d93886c6.jpg\" alt=\"\u30e6\u30cb\u30af\u30ed\u306e\u770b\u677f\" \/>\n<\/p>\n<p>\u9650\u5b9a\u306eT\u30b7\u30e3\u30c4\u306f\u3042\u3063\u305f\u3051\u3069\u3001\u65e5\u672c\u3067\uff34\u30b7\u30e3\u30c4\u8cb7\u3046\u306e\u3068\u5909\u308f\u3089\u306a\u3044\u5024\u6bb5\u3067\u60a9\u3093\u3067\u3044\u308b\u9593\u306b\u8cb7\u3063\u3066\u304f\u308b\u306e\u3092\u5fd8\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u9ad8\u5cf6\u5c4b\u306f\u5b89\u5fc3\u611f\u304c\u3042\u308a\u307e\u304f\u3063\u3066\u3001\u30ed\u30a4\u30ba\u304c\u3042\u3063\u305f\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/royce_hu_ebaa1adef5d758d3.jpg\" alt=\"ROYCE&rsquo;\" \/>\n<\/p>\n<p>\u767d\u3044\u604b\u4eba\u304c\u3042\u3063\u305f\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/shiroi_koibito_hu_dc146d8eae4f589a.jpg\" alt=\"\u767d\u3044\u604b\u4eba\" \/>\n<\/p>\n<p>\u3067\u3001\u3061\u3087\u3063\u3068\u5b89\u5fc3\u611f\u304c\u3042\u308a\u3059\u304e\u308b\u304f\u3089\u3044\u3067\u3057\u305f\u3002<\/p>\n<p>\u4e00\u901a\u308a\u9ad8\u5cf6\u5c4b\u3092\u898b\u305f\u5f8c\u306f\u5f92\u6b69\u3067\u7121\u5370\u826f\u54c1\u3078\u3002\u682a\u4e3b\u306a\u306e\u3067\u3002(\u7279\u306b\u95a2\u4fc2\u306a\u3044\u3051\u3069)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/muji_hu_a8cf84dec3b1fed0.jpg\" alt=\"\u7121\u5370\u826f\u54c1\" \/>\n<\/p>\n<p>\u7121\u5370\u3067\u306f\u9650\u5b9a\u306e\u30c8\u30fc\u30c8\u30d0\u30c3\u30b0\u304c\u58f2\u3063\u3066\u3044\u3066\u3001\u3053\u308c\u306f\u7d50\u69cb\u5b89\u304b\u3063\u305f\u306e\u3067\u8cb7\u3044\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/muji_tote_bag_hu_d27bf3fc0c7ccb43.jpg\" alt=\"\u7121\u5370\u826f\u54c1\u306e\u30c8\u30fc\u30c8\u30d0\u30c3\u30b0\" \/>\n<\/p>\n<p>79k VND\u306a\u306e\u3067\u3001\u65e5\u672c\u5186\u3060\u3068500\u5186\u5f31\u304f\u3089\u3044\u3002<\/p>\n<p>\u4ed6\u306b\u3082\u30c0\u30a4\u30bd\u30fc\u304c\u3042\u308a\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/daiso_hu_7ee1bc691086bc89.jpg\" alt=\"DAISO\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/daiso_ad_hu_426a62097201b6ba.jpg\" alt=\"DAISO\u306e\u5e97\u982d\u306e\u5546\u54c1\u7d39\u4ecb\" \/>\n<\/p>\n<p>\u5e97\u982d\u306e\u30dd\u30c3\u30d7\u3001\u65e5\u672c\u8a9e\u3067\u66f8\u304b\u308c\u3066\u3044\u305f\u3051\u3069\u8ab0\u304c\u8aad\u3080\u306e\u304b\u3002<\/p>\n<p>\u30de\u30c4\u30e2\u30c8\u30ad\u30e8\u30b7\u304c\u3042\u3063\u305f\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/matsukiyo_hu_5046c883c688d644.jpg\" alt=\"\u30de\u30c4\u30e2\u30c8\u30ad\u30e8\u30b7\" \/>\n<\/p>\n<p>\u713c\u304d\u8089\u30e9\u30a4\u30af\u304c\u3042\u3063\u305f\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/yakiniku_like_hu_88166ceaad1e66f2.jpg\" alt=\"\u713c\u304d\u8089\u30e9\u30a4\u30af\" \/>\n<\/p>\n<p>\u30d3\u30a2\u30fc\u30c9\u30d1\u30d1\u304c\u3042\u3063\u305f\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/beard_papa_hu_8502f26dbc9c8a94.jpg\" alt=\"\u30d3\u30a2\u30fc\u30c9\u30d1\u30d1\" \/>\n<\/p>\n<p>\u65e5\u672c\u306e\u304a\u5e97\u304c\u305d\u3053\u3053\u3053\u306b\u3042\u308b\u306e\u3067\u3001\u6c17\u6301\u3061\u7684\u306b\u306f\u3059\u3054\u304f\u306a\u3093\u304b\u5b89\u5fc3\u611f(?)\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4e00\u767a\u76ee\u306e\u30d9\u30c8\u30ca\u30e0\u98ef\u306f\u30b3\u30e0\u30bf\u30e0\u3068\u3044\u3046\u5974\u306b\u3057\u307e\u3057\u305f\u3002\u8089\u304c\u7f8e\u5473\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/com_tam_moc_hu_22e907547d7cc230.jpg\" alt=\"COM TAM MOC\" \/>\n<\/p>\n<p>\u7d50\u679c\u3068\u3057\u3066\u306f\u3042\u307e\u308a\u597d\u307f\u3067\u306f\u306a\u304f\u3001\u8089\u306f\u56fa\u304f\u3001\u5b8c\u98df\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3059\u307e\u3093\u3002\n\u304a\u5024\u6bb5\u3068\u3057\u3066\u306f800\u5186\u304f\u3089\u3044\uff1f\u30d9\u30c8\u30ca\u30e0\u306e\u98ef\u3068\u3057\u3066\u306f\u3061\u3087\u3044\u9ad8\u3081\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u304a\u53e3\u76f4\u3057\u306b\u30b9\u30bf\u30d0\u3002strawberry a\u00e7a\u00ed with Lemonade 75k VND\u3002\u307e\u3041\u3001\u65e5\u672c\u3068\u3042\u3093\u307e\u308a\u5909\u308f\u3089\u306a\u3044\u5024\u6bb5\u8a2d\u5b9a\u3067\u306f\u3042\u308a\u307e\u3059\u306d\u3002\u666e\u901a\u306b\u7f8e\u5473\u3057\u3044\u3002\u5b89\u5fc3\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/images\/strawberry_acai_lemonade_hu_5cf27fcfeeb964ad.jpg\" alt=\"strawberry a\u00e7a\u00ed with Lemonade\" \/>\n<\/p>"},{"title":"Kubernetes Upstream Training in Japan at CNDW2024","link":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-in-japan-at-cndw2024\/","pubDate":"Mon, 02 Dec 2024 23:58:44 +0900","guid":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-in-japan-at-cndw2024\/","description":"<p>\u6700\u8fd1\u30a4\u30d9\u30f3\u30c8\u30ec\u30dd\u30fc\u30c8\u3070\u3063\u304b\u308a\u3067\u3059\u306d\uff1f<\/p>\n<p>\u5148\u65e5\u3001<a href=\"https:\/\/event.cloudnativedays.jp\/cndw2024\" target=\"_blank\" rel=\"noopener\">CloudNative Days Winter 2024<\/a>\n\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u304c\u3054\u3056\u3044\u307e\u3057\u3066\u3001\u79c1\u81ea\u8eab\u306f\u7d50\u5c40\u3044\u308d\u3044\u308d\u306e\u90fd\u5408\u3067\u53c2\u52a0\u3057\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u306b\u5408\u308f\u305b\u308b\u5f62\u3067<a href=\"https:\/\/community.cncf.io\/events\/details\/cncf-cloud-native-community-japan-presents-joint-meetup-kubernetes-upstream-training-in-japan-at-cndw2024\/\" target=\"_blank\" rel=\"noopener\">Kubernetes Upstream Training in Japan<\/a>\n\u3092\u30aa\u30f3\u30e9\u30a4\u30f3\u30fb\u30aa\u30d5\u30e9\u30a4\u30f3\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u5f62\u5f0f\u3067\u3067\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u8cc7\u6599\u7b49\u306f<a href=\"https:\/\/github.com\/kubernetes-sigs\/contributor-playground\/tree\/master\/japan\/cndw-2024\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>\n\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>Kubernetes Upstream Training in Japan\u306f\u3001<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3092\u3057\u3066\u307f\u305f\u3044\u3051\u3069\u4f55\u304b\u3089\u59cb\u3081\u308c\u3070\u826f\u3044\u306e\u304b\u308f\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u4eba\u5411\u3051\u306b\u3001\u521d\u3081\u3066\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3092\u3059\u308b\u307e\u3067\u3001\u306e\u89e3\u8aac\u3092\u3057\u305f\u308a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u4f53\u9a13\u3092\u3057\u3066\u3082\u3089\u3063\u305f\u308a\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u3067\u3059\u3002\u5b9f\u969b\u306b\u73fe\u5f79\u3067Kubernetes\u95a2\u9023\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30e1\u30f3\u30c6\u30ca\u30fc\u30fb\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u8b1b\u5e2b\u9663\u3092\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u8c6a\u83ef\u306a\u30a4\u30d9\u30f3\u30c8\u3067\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u6e0b\u8c37\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u30b9\u30af\u30a8\u30a2\u306b\u3042\u308bCyberAgent\u3055\u3093\u306e\u30bb\u30df\u30ca\u30fc\u30eb\u30fc\u30e0\u3092\u501f\u308a\u3066\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30fb\u30aa\u30d5\u30e9\u30a4\u30f3\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u3067\u958b\u50ac\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/github.com\/kubernetes\/website\" target=\"_blank\" rel=\"noopener\">kubernetes\/website<\/a>\n\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3057\u305f\u3044\u65b9\u3082\u52df\u96c6\u3057\u3066\u3044\u307e\u3059\u3002\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3057\u307e\u3059\u3002<\/p>"},{"title":"\u690d\u7269\u7528\u306e\u30e9\u30a4\u30c8\u30b9\u30bf\u30f3\u30c9\u3092\u4f5c\u308b","link":"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/","pubDate":"Thu, 28 Nov 2024 23:39:00 +0900","guid":"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/","description":"<p>\u6700\u8fd1\u5712\u82b8\u306b\u30cf\u30de\u3063\u3066\u304a\u308a\u307e\u3057\u3066\u3001\u9262\u690d\u3048\u3092\u672c\u68da\u306e\u4e0a\u306b\u7f6e\u3044\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u90e8\u5c4b\u306e\u5411\u304d\u3084\u3001\u5b63\u7bc0\u306e\u90fd\u5408\u3067\u65e5\u5f53\u305f\u308a\u304c\u3042\u307e\u308a\u826f\u304f\u306a\u304f\u3001\u30e9\u30a4\u30c8\u3092\u8a2d\u7f6e\u3057\u305f\u304f\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u3057\u304b\u3057\u3001\u672c\u68da\u306e\u5468\u308a\u306b\u306f\u30e9\u30a4\u30c8\u3092\u8a2d\u7f6e\u3067\u304d\u308b\u3088\u3046\u306a\u7a81\u8d77\u7269\u306f\u306a\u304f\u3001\u8cc3\u8cb8\u3067\u3042\u308b\u305f\u3081\u58c1\u306b\u7a74\u3092\u7a7a\u3051\u308b\u306e\u3082\u907f\u3051\u305f\u3044\u3068\u3053\u308d\u3067\u3059\u3002\u306a\u3089\u3070\u30b9\u30bf\u30f3\u30c9\u3092\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3059\u304c\u3001\u624b\u9803\u306a\u5024\u6bb5\u306e\u30e2\u30ce\u306f\u30b5\u30a4\u30ba\u304c\u5fae\u5999\u3067\u3042\u3063\u305f\u308a\u3001\u3042\u308b\u3044\u306f\u30aa\u30fc\u30c0\u30fc\u30e1\u30a4\u30c9\u3060\u3068\u30b5\u30a4\u30ba\u306f\u3074\u3063\u305f\u308a\u3060\u3051\u3069\u9ad8\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u624b\u9803\u306a\u5024\u6bb5\u3067\u3074\u3063\u305f\u308a\u306e\u30e2\u30ce\u3092\u624b\u306b\u5165\u308c\u305f\u3044\u3001\u3068\u3044\u3046\u610f\u5fd7\u306e\u5143\u3001DIY\u3067\u30e9\u30a4\u30c8\u30b9\u30bf\u30f3\u30c9\u3092\u4f5c\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u6750\u6599\u306f\u3053\u3061\u3089:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/images\/material_hu_8922e8f5646c0081.jpg\" alt=\"\u30e9\u30a4\u30c8\u30b9\u30bf\u30f3\u30c9\u306e\u6750\u6599\" \/>\n<\/p>\n<ul>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0199\" target=\"_blank\" rel=\"noopener\">\u30d5\u30ec\u30fc\u30e0S B 1000mm<\/a>\n<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0200\" target=\"_blank\" rel=\"noopener\">\u30d5\u30ec\u30fc\u30e0 S B 600mm<\/a>\nx2<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0202\" target=\"_blank\" rel=\"noopener\">\u30d5\u30ec\u30fc\u30e0 S B 300mm<\/a>\nx2<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0203\" target=\"_blank\" rel=\"noopener\">\u30d5\u30ec\u30fc\u30e0 S B 100mm<\/a>\nx2<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0263\" target=\"_blank\" rel=\"noopener\">\u30de\u30eb\u30c1\u30b3\u30cd\u30af\u30bf\u30a4\u30f3\u30ca\u30fcS B<\/a>\nx2<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0264\" target=\"_blank\" rel=\"noopener\">\u30de\u30eb\u30c1\u30b3\u30cd\u30af\u30bf\u30a2\u30a6\u30bf\u30fcS B<\/a>\nx2<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0216\" target=\"_blank\" rel=\"noopener\">\u30a4\u30f3\u30ca\u30fc\u30ad\u30e3\u30c3\u30d7S B<\/a>\nx 6<\/li>\n<li><a href=\"https:\/\/g-fun.jp\/products\/detail.php?item=SGF-0163\" target=\"_blank\" rel=\"noopener\">\u30b9\u30c8\u30ec\u30fc\u30c8\u30b3\u30cd\u30af\u30bf\u30a4\u30f3\u30ca\u30fcS<\/a>\nx2<\/li>\n<\/ul>\n<p><a href=\"https:\/\/g-fun.jp\/\" target=\"_blank\" rel=\"noopener\">G-Fun<\/a>\n\u3068\u3044\u3046\u3001\u30a2\u30eb\u30df\u30d5\u30ec\u30fc\u30e0\u306e\u4e00\u7a2e\u3067\u3001\u4e2d\u7a7a\u306e\u30a2\u30eb\u30df\u306e\u68d2\u3092\u30b3\u30cd\u30af\u30bf\u3067\u7e4b\u3050\u3053\u3068\u3067\u3044\u308d\u3044\u308d\u306a\u30e2\u30ce\u3092\u4f5c\u308c\u307e\u3059\u3001\u3068\u3044\u3046\u5546\u54c1\u3067\u3059\u3002\u7c21\u5358\u306b\u7d44\u307f\u7acb\u3066\u3089\u308c\u3066\u3001\u525b\u6027\u3082\u3042\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u4f55\u304b\u3068\u4fbf\u5229\u306a\u5974\u3067\u3059\u3002\u5f37\u5ea6\u30c7\u30fc\u30bf\u3082\u3059\u3079\u3066\u63c3\u3063\u3066\u304a\u308a\u3001\u3059\u3079\u308a\u3001\u5f15\u304d\u629c\u304d\u3001\u30e2\u30fc\u30e1\u30f3\u30c8\u306a\u3069\u3001\u3069\u308c\u304f\u3089\u3044\u8010\u3048\u3089\u308c\u308b\u306e\u304b\u3082\u5206\u304b\u308b\u305f\u3081\u3001\u5b89\u5fc3\u3057\u3066\u8377\u91cd\u306e\u304b\u304b\u308b\u3082\u306e\u3092\u4f5c\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u7dcf\u984d\u306f(\u8fd1\u6240\u306eDCM\u3067)4,387\u5186\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u5fc5\u8981\u306a\u5de5\u5177\u306f3mm\u30684mm\u306e\u30ec\u30f3\u30c1\u3068\u30b4\u30e0\u30cf\u30f3\u30de\u30fc\u3067\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u4f55\u5341\u30ad\u30ed\u3082\u3042\u308b\u3082\u306e\u3092\u4e57\u305b\u308b\u8a33\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u898b\u305f\u76ee\u512a\u5148\u3067\u4e00\u756a\u7d30\u3044S\u30b7\u30ea\u30fc\u30ba\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u672c\u68da\u306e\u5929\u677f\u30b5\u30a4\u30ba\u304c\u5e451200mm\u3001\u5965\u884c\u304d339mm\u306a\u306e\u3067\u30011000mm + \u30b9\u30c8\u30ec\u30fc\u30c8\u30b3\u30cd\u30af\u30bf + 100mm + \u30b9\u30c8\u30ec\u30fc\u30c8\u30b3\u30cd\u30af\u30bf + 100mm\u3067\u6982\u306d1200mm\u3068\u3044\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u5c06\u6765\u7d44\u307f\u66ff\u3048\u305f\u308a\u3001\u30d1\u30fc\u30c4\u3092\u4ed6\u306e\u3082\u306e\u306b\u4f7f\u3044\u56de\u3057\u305f\u308a\u3059\u308b\u53ef\u80fd\u6027\u3092\u8003\u616e\u3057\u3066\u3001\u30db\u30fc\u30e0\u30bb\u30f3\u30bf\u30fc\u3067\u30b7\u30e5\u30c3\u3068\u8cb7\u3048\u308b\u65e2\u88fd\u54c1\u3067\u7d44\u3081\u308b\u69d8\u306b\u3057\u307e\u3057\u305f\u304c\u3001\u3088\u308a\u3074\u3063\u305f\u308a\u30b5\u30a4\u30ba\u306e\u3082\u306e\u3092\u4f5c\u308a\u305f\u3044\u4eba\u306fG-Fun\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u3067\u306f\u5207\u65ad\u3057\u3066\u3082\u3089\u3046\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3057\u3001\u5c02\u7528\u30ab\u30c3\u30bf\u30fc\u3082\u8ca9\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8db3\u306f\u5965\u884c\u304d\u306b\u5408\u308f\u305b\u305f\u9577\u3055\u3001\u9ad8\u3055\u306f\u624b\u5143\u306e\u690d\u7269\u306b\u3042\u308f\u305b\u3066600mm\u3068\u3057\u307e\u3057\u305f\u3002\u9ad8\u3055\u306f\u5f8c\u3067\u5909\u66f4\u3059\u308b\u304b\u3082\u3002<\/p>\n<p>\u7aef\u304c\u9732\u51fa\u3059\u308b\u90e8\u5206\u306f\u30ad\u30e3\u30c3\u30d7\u3092\u3064\u3051\u3066\u30fb\u30fb\u30fb(\u3053\u3053\u3067\u30b4\u30e0\u30cf\u30f3\u30de\u30fc\u3092\u4f7f\u3046)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/images\/cap_hu_d2dec12cc78074c8.jpg\" alt=\"\u30ad\u30e3\u30c3\u30d7\u3092\u3064\u3051\u305f\u56f3\" \/>\n<\/p>\n<p>\u4e00\u756a\u9577\u3044\u68d2\u3068\u77ed\u3044\u68d2\u3092\u7e4b\u3044\u3067\u30fb\u30fb\u30fb(\u3053\u3053\u30673mm\u306e\u30ec\u30f3\u30c1\u3092\u4f7f\u3046)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/images\/straight_connect_hu_10030d4f827f3b0f.jpg\" alt=\"\u30b9\u30c8\u30ec\u30fc\u30c8\" \/>\n<\/p>\n<p>\u826f\u3044\u611f\u3058\u306b\u7d44\u307f\u7acb\u3066\u3066\u30fb\u30fb\u30fb\u5b8c\u6210\uff01<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/images\/completed_hu_2b9c22a826d948dd.jpg\" alt=\"\u5b8c\u6210\u3057\u3066\u8a2d\u7f6e\u3057\u305f\u30e2\u30ce\" \/>\n<\/p>\n<p>\u3042\u307e\u308a\u306b\u3082\u3074\u3063\u305f\u308a\u3059\u304e\u3066\u3001\u3061\u3087\u3063\u3068\u305a\u308c\u305f\u3060\u3051\u3067\u8db3\u304c\u843d\u3061\u3066\u3057\u307e\u3044\u305d\u3046\u306a\u306e\u3067\u3001\u5bb6\u306b\u3042\u3063\u305f<a href=\"https:\/\/amzn.to\/3Z917Rt\" target=\"_blank\" rel=\"noopener\">\u9b3c\u30d4\u30bf<\/a>\n\u3092\u5c0f\u3055\u304f\u5207\u3063\u3066\u56fa\u5b9a\u3057\u307e\u3057\u305f\u3002\u30ac\u30c3\u30c1\u30ea\u5f35\u308a\u4ed8\u3044\u3066\u3001\u304b\u3064\u5265\u304c\u3057\u305f\u3044\u3068\u304d\u306b\u306f\u304d\u308c\u3044\u306b\u5265\u304c\u305b\u308b\u306e\u3067\u4e00\u672c\u6301\u3063\u3066\u304a\u304f\u306e\u304c\u30aa\u30b9\u30b9\u30e1\u3067\u3059\u3002\u4f55\u304b\u3068\u4fbf\u5229\u3002<\/p>\n<p>\u5b9f\u969b\u306b\u96fb\u6c17\u3092\u3064\u3051\u305f\u69d8\u5b50\u304c\u3053\u3061\u3089:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/images\/light_hu_4a40965b29b4dbbe.jpg\" alt=\"\u96fb\u6c17\u3092\u3064\u3051\u305f\u72b6\u614b\" \/>\n<\/p>\n<p>\u826f\u3044\u611f\u3058\u3067\u3059\u306d\u3002Amazon\u3067\u30e9\u30a4\u30c6\u30a3\u30f3\u30b0\u30ec\u30fc\u30eb\u3084\u3089\u4f55\u3084\u3089\u3092\u8cb7\u3063\u305f\u306e\u3067\u3001\u5f8c\u3067\u3064\u3051\u3088\u3046\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"\u672d\u5e4c\u306b\u5f15\u3063\u8d8a\u3057\u305f\u4ef6","link":"https:\/\/blog.web-apps.tech\/move-to-sapporo\/","pubDate":"Fri, 08 Nov 2024 17:33:18 +0900","guid":"https:\/\/blog.web-apps.tech\/move-to-sapporo\/","description":"<p>\u6a19\u984c\u306e\u901a\u308a\u3067\u3059\u3002\u8ee2\u8077\u306f\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u672d\u5e4c\u306e\u4eba\u3001\u304b\u307e\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4eca\u306e\u3068\u3053\u308d\u6708\u306b1\u56de\u301c2\u56de\u7a0b\u5ea6\u6771\u4eac\u306b\u884c\u304f\u4e88\u5b9a\u304c\u3042\u308b\u306e\u3067\u3001\u95a2\u6771\u306e\u4eba\u3082\u304b\u307e\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"YAPC::Hakodate 2024","link":"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/","pubDate":"Mon, 21 Oct 2024 10:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/","description":"<p>\u4eca\u6708\u306e\u982d\u306b\u5317\u6d77\u9053\u306f\u51fd\u9928\u5e02\u3067\u958b\u50ac\u3055\u308c\u305f<a href=\"https:\/\/yapcjapan.org\/2024hakodate\/\" target=\"_blank\" rel=\"noopener\">YAPC::Hokkaido<\/a>\n\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>YAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u201cYet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u524d\u56de\u306e<a href=\"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/\">\u5e83\u5cf6<\/a>\n\u306b\u7d9a\u3044\u3066\u30012024\u5e74\u4e8c\u5ea6\u76ee\u306eYAPC\u3067\u3001\u5317\u6d77\u9053\u3067\u306f<a href=\"https:\/\/blog.web-apps.tech\/yapc_hokkaido_2016\/\">2026\u5e74\u306e\u672d\u5e4c<\/a>\n\u4ee5\u6765\u306e\u958b\u50ac\u3067\u3059\u306d\u3002<\/p>\n<p>\u751f\u307e\u308c\/\u89aa\u306e\u5b9f\u5bb6\u304c\u51fd\u9928\u3068\u3044\u3046\u3053\u3068\u3067\u500b\u4eba\u7684\u306b\u306f\u306a\u3058\u307f\u306e\u3042\u308b\u571f\u5730\u3067\u3001\u3044\u3064\u3082\u901a\u308a\u500b\u4eba\u30b9\u30dd\u30f3\u30b5\u30fc\u3067\u4e00\u822c\u53c2\u52a0\u306e\u4e88\u5b9a\u3060\u3063\u305f\u3093\u3067\u3059\u304c\u3001<a href=\"https:\/\/x.com\/karupanerura\" target=\"_blank\" rel=\"noopener\">@karupanerura<\/a>\n\u3055\u3093\u304b\u3089\u304a\u8a98\u3044\u3092\u53d7\u3051\u305f\u306e\u3067\u3001\u307e\u3041\u305b\u3063\u304b\u304f\u306a\u3089\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u3044\u3064\u3076\u308a\u304b\u5206\u304b\u3089\u306a\u3044\u3001\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\u306e\u53c2\u52a0\u3067\u3057\u305f\u3002\u62c5\u5f53\u3068\u3057\u3066\u306f\u300c\u5e83\u5831\u300d\u3068\u3044\u3046\u540d\u524d\u3067\u306f\u3042\u3063\u305f\u3082\u306e\u306e\u3001\u672d\u5e4c\u304b\u3089\u306e\u53c2\u52a0(\u5148\u6708\u672b\u306b\u57fc\u7389\u304b\u3089\u672d\u5e4c\u306b\u5f15\u8d8a\u3092\u3057\u307e\u3057\u305f)\u3067\u8eca\u304c\u3042\u308b\u3053\u3068\u3001\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u30b9\u30bf\u30c3\u30d5\u7d4c\u9a13\u304c\u3042\u308a\u306a\u3093\u3068\u306a\u304f\u3067\u52d5\u3051\u308b\u3053\u3068\u3001\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5\u304c\u30d0\u30bf\u30d0\u30bf\u3057\u3066\u3044\u3066\u4e0a\u624b\u304f\u5f79\u5272\u5206\u62c5\u304c\u3067\u304d\u306a\u304b\u3063\u305f\u3053\u3068\u3001\u306a\u3069\u304b\u3089\u5b9f\u969b\u306b\u306f\u8cb7\u3044\u51fa\u3057\u3084\u3089\u904a\u6483\u3084\u3089\u3092\u3059\u308b\u3088\u3046\u306a\u611f\u3058\u306e\u30e0\u30fc\u30d6\u3092\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u524d\u591c\u796d\">\u524d\u591c\u796d<\/h2>\n<p>\u524d\u591c\u796d\u306f\u51fd\u9928\u5e02\u6c11\u4f1a\u9928\u3067\u306e\u958b\u50ac\u3067\u3057\u305f\u3002\u4e45\u3005\u306b\u30c1\u30e9\u30b7\u306e\u30c8\u30fc\u30c8\u30d0\u30c3\u30b0\u8a70\u3081\u4f5c\u696d\u3092\u3057\u305f\u308a\u3001<a href=\"https:\/\/x.com\/__papix__\" target=\"_blank\" rel=\"noopener\">@papix<\/a>\n\u3055\u3093\u3068\u3068\u3082\u306b<a href=\"https:\/\/www.hk-r.jp\/\" target=\"_blank\" rel=\"noopener\">\u5bff\u53f8<\/a>\n\u3084<a href=\"https:\/\/www.hasesuto.co.jp\/\" target=\"_blank\" rel=\"noopener\">\u3084\u304d\u3068\u308a\u5f01\u5f53<\/a>\n\u3092\u53d7\u3051\u53d6\u308a\u306b\u8eca\u3067\u56de\u3063\u305f\u308a\u3001\u30d3\u30fc\u30eb\u304c\u8db3\u308a\u306a\u304b\u3063\u305f\u306e\u3067\u8cb7\u3044\u306b\u884c\u3063\u305f\u308a\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/images\/beer_hu_6435adaa8211de1b.jpg\" alt=\"\u8cb7\u3044\u306b\u884c\u3063\u305f\u30d3\u30fc\u30eb\" \/>\n<\/p>\n<p>\u7686\u3055\u3093\u5bff\u53f8\u306f\u98df\u3079\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u304b\u3002\u79c1\u306f\u98df\u3079\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5272\u3068\u3053\u3046\u3044\u3046\u5834\u9762\u3067\u306f\u30e1\u30b7\u304c\u4f59\u3063\u3066\u3044\u308b\u5370\u8c61\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u5373\u5b8c\u58f2\u3067\u3057\u305f\u306d\u3002\u3002\u3002<\/p>\n<p>\u30b9\u30bf\u30c3\u30d5\u3067\u3082\u8179\u3092\u7a7a\u304b\u305b\u3066\u3044\u308b\u4eba\u304c\u305d\u3053\u305d\u3053\u3044\u305f\u3088\u3046\u3067\u3001\u8ffd\u3044\u51fa\u3057\u5f8c\u306b\u30d4\u30b6\u3092\u6ce8\u6587\u3059\u308b\u306a\u3069\u306e\u4e00\u5e55\u3082\u3042\u308a\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306f\u6cbb\u5b89\u306e\u60aa\u3044\u9854\u3067\u30d4\u30b6\u3068\u30d3\u30fc\u30eb\u3092\u6442\u53d6\u3059\u308b\u30ab\u30e1\u30e9\u30de\u30f3\u306e\u69d8\u5b50\u3067\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/images\/yagi_hu_1ed9f5f5a3eee514.jpg\" alt=\"\u30d4\u30b6\u30d3\u30fc\u30eb\" \/>\n<\/p>\n<h2 id=\"\u672c\u796d\">\u672c\u796d<\/h2>\n<p>\u672c\u796d\u306f\u306f\u3053\u3060\u3066\u672a\u6765\u5927\u5b66\u3067\u958b\u50ac\u3055\u308c\u3001\u53c2\u52a0\u8005\u306e\u7686\u3055\u3093\u306f\u5c02\u7528\u306e\u30d0\u30b9\u304c\u30c1\u30e3\u30fc\u30bf\u30fc\u3055\u308c\u305f\u3088\u3046\u3067\u3059\u3002\u306f\u3053\u3060\u3066\u672a\u6765\u5927\u5b66\u306f\u8eca\u304c\u306a\u3044\u3068\u53b3\u3057\u3044\u3067\u3059\u304b\u3089\u306d\u30fb\u30fb\u30fb<\/p>\n<p>\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\u306f\u671d\u306f\u30b9\u30dd\u30f3\u30b5\u30fc\u30d6\u30fc\u30b9\u8a2d\u55b6\u624b\u4f1d\u3044\u3001\u53d7\u4ed8\u624b\u4f1d\u3044\u3001\u3046\u308d\u3046\u308d\u3057\u3066\u30d6\u30fc\u30b9\u306e\u5199\u771f\u3092\u64ae\u3063\u3066Discord\u306b\u6d41\u3059\u3001\u30b4\u30df\u888b\u3084\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u3092\u8cb7\u3044\u306b\u884c\u304f\u3001\u554f\u984c\u304c\u3042\u308a\u305d\u3046\u306a\u3068\u3053\u308d\u306e\u5831\u544a\u3084\u3001\u4eba\u624b\u304c\u8db3\u308a\u306a\u3044\u3068\u3053\u308d\u306e\u624b\u4f1d\u3044\u3092\u3059\u308b\u3001\u306a\u3069\u3092\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30c8\u30fc\u30af\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u306f\u6b8b\u5ff5\u306a\u304c\u3089\u901a\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u308c\u3092\u305d\u306e\u307e\u307e\u7a81\u3063\u8fbc\u3093\u3060LT\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u306f\u901a\u308a\u3001\u305d\u308c\u306a\u308a\u306b\u30a6\u30b1\u305f\u306e\u3067\u5927\u5909\u826f\u304b\u3063\u305f\u3067\u3059\u306d\u3002<\/p>\n<iframe class=\"speakerdeck-iframe\" style=\"border: 0px; background: rgba(0, 0, 0, 0.1) padding-box; margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 100%; height: auto; aspect-ratio: 560 \/ 315;\" frameborder=\"0\" src=\"https:\/\/speakerdeck.com\/player\/07ecbdcb9e4341e4a7f310ab52d9d23b\" title=\"e-book title normalization\" allowfullscreen=\"true\" data-ratio=\"1.7777777777777777\"><\/iframe>\n<p>\u7d42\u308f\u3063\u305f\u5f8c\u306f\u6700\u7d42\u5c45\u6b8b\u308a\u7d44\u3068\u3057\u3066\u6b8b\u3063\u3066\u3001\u4f59\u3063\u305f\u30ce\u30d9\u30eb\u30c6\u30a3\u3092\u61c7\u89aa\u4f1a\u5834\u306b\u904b\u3076\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u8eca\u3092\u7a4d\u6975\u6d3b\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u61c7\u89aa\u4f1a\">\u61c7\u89aa\u4f1a<\/h2>\n<p>\u8eca\u3092\u904b\u8ee2\u3057\u3066\u61c7\u89aa\u4f1a\u5834\u306b\u5411\u304b\u3044\u307e\u3057\u305f\u304c\u3001<a href=\"https:\/\/japan.perlassociation.org\/\" target=\"_blank\" rel=\"noopener\">JPA<\/a>\n\u304c\u904b\u8ee2\u4ee3\u884c\u4ee3\u3092\u6301\u3063\u3066\u304f\u308c\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u61c7\u89aa\u4f1a\u3067\u30d3\u30fc\u30eb\u306a\u3069\u3092\u6442\u53d6\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u52a9\u304b\u308a\u307e\u3059\u306d\u3002<\/p>\n<p>\u904b\u8ee2\u4ee3\u884c\u3063\u3066\u521d\u3081\u3066\u4f7f\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u306a\u304b\u306a\u304b\u9762\u767d\u3044\u7d4c\u9a13\u3067\u3057\u305f\u3002<\/p>\n<p>\u61c7\u89aa\u4f1a\u5f8c\u3001\u6848\u306e\u5b9a(?)papix\u3055\u3093\u306f\u30d9\u30ed\u30d9\u30ed\u3067\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/images\/papix_hu_87237ceceb8c59c9.jpg\" alt=\"papix\" \/>\n<\/p>\n<p>\u98a8\u7269\u8a69\u3068\u3044\u3046\u611f\u3058\u304c\u3057\u3066\u308f\u3073\u3055\u3073(?)\u3067\u3059\u306d(?)<\/p>\n<p>\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u306f\u5927\u5909\u4e45\u3005\u3067\u306f\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u305f\u306e\u3057\u304b\u3063\u305f\u3067\u3059\u306d\u3002<\/p>"},{"title":"Tech Rock Festival 2024.09","link":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/","pubDate":"Mon, 09 Sep 2024 23:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/","description":"<p>2024\u5e749\u67088\u65e5\u306b\u65b0\u5bbfSUNFACE\u3067\u958b\u50ac\u3055\u308c\u305fIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u3088\u308bIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u305f\u3081\u306e\u30ed\u30c3\u30af\u30a4\u30d9\u30f3\u30c8Tech Rock Festival 2024.09\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u30a4\u30d9\u30f3\u30c8\u81ea\u4f53\u306e\u958b\u50ac\u7d4c\u7def\u306f<a href=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/\">\u6628\u5e74\u306e\u30ec\u30dd\u30fc\u30c8<\/a>\n\u3092\u53c2\u7167\u306e\u3053\u3068\u3002<\/p>\n<p>\u5b9f\u306f\u4eca\u5e74\u306e\u958b\u50ac\u306f7\u6708\u306b\u3082\u3042\u308a\u30017\u6708\u306f\u89b3\u5ba2\u3068\u3057\u3066\u53c2\u52a0\u3059\u308b\u4e88\u5b9a\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3061\u3087\u3046\u3069\u958b\u50ac\u30bf\u30a4\u30df\u30f3\u30b0\u306b\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u306b\u611f\u67d3\u3057\u3001\u53c2\u52a0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305a\u30019\u6708\u306e\u56de\u306e\u307f\u306e\u53c2\u52a0\u3068\u76f8\u6210\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u6a5f\u6750\">\u6a5f\u6750<\/h2>\n<p>\u30ae\u30bf\u30fc\u306f\u6628\u5e74\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/jp.yamaha.com\/products\/musical_instruments\/guitars_basses\/el_guitars\/pacifica\/pac_100.html\" target=\"_blank\" rel=\"noopener\">YAMAHA PACIFICA 112V<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u5f26\u3082\u5909\u308f\u3089\u305aElixir Optiweb 09-42\u3067\u3059\u3002\u4eca\u30b7\u30fc\u30ba\u30f3(?)\u306f\u5f26\u3082\u3044\u308d\u3044\u308d\u8a66\u3057\u306f\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u3084\u306f\u308a\u4e00\u756a\u4fdd\u3064\u306e\u306fElixir\u3067\u3059\u306d\u30fb\u30fb\u30fb\u305d\u308c\u3067\u3082\u6708\u306b\u4e00\u5ea6\u306f\u63db\u3048\u3066\u3044\u307e\u3059\u304c\u3002\u4ed6\u306b\u826f\u3044\u5f26\u304c\u3042\u308c\u3070\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/images\/effector_board_hu_62f1f117dcc80712.jpg\" alt=\"\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\" \/>\n<\/p>\n<p>\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306f\u6628\u5e74\u4f7f\u7528\u3057\u305fZOOM G1 FOUR\u3092\u30e1\u30eb\u30ab\u30ea\u3067\u58f2\u5374\u3057\u3001\u4ee3\u308f\u308a\u306bGT-1000Core\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\u3002G1 FOUR\u306f\u540c\u6642\u4f7f\u7528\u3067\u304d\u308b\u30a8\u30d5\u30a7\u30af\u30c8\u304c5\u30b3\u3060\u3063\u305f\u306e\u3067\u304b\u306a\u308a\u7e1b\u308a\u304c\u3042\u308b\u611f\u3058\u3060\u3063\u305f\u3093\u3067\u3059\u304c\u3001GT-1000Core\u306f(\u5024\u6bb5\u3082\u9ad8\u3044\u3067\u3059\u304c)\u304b\u306a\u308a\u81ea\u7531\u306b\u97f3\u3092\u4f5c\u308c\u3066\u697d\u3057\u3044\u3067\u3059\u306d\u3002<\/p>\n<p><a href=\"https:\/\/www.boss.info\/jp\/products\/gt-1000\/\" target=\"_blank\" rel=\"noopener\">GT-1000<\/a>\n\u306fBluetooth\u3082\u642d\u8f09\u3057\u3066\u304a\u308a\u3001iOS\u30a2\u30d7\u30ea\u3067\u30d1\u30c3\u30c1\u306e\u7de8\u96c6\u304c\u3067\u304d\u308b\u69d8\u306a\u306e\u3067\u3059\u304c\u3001GT-1000Core\u306f\u3067\u304d\u305a\u3001\u3068\u306f\u3044\u3048\u3053\u306e\u5c0f\u3055\u3044\u753b\u9762\u3067\u3059\u3079\u3066\u3092\u3044\u3058\u308b\u306e\u306f\u5927\u5909\u3060\u306a\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u8abf\u67fb\u3092\u3057\u305f\u3068\u3053\u308d\u3001MIDI\u3067\u30d1\u30c3\u30c1\u3092\u3044\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3001\u3057\u304b\u3082<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/289772\/\" target=\"_blank\" rel=\"noopener\">Bleutooth\u3067\u30ef\u30a4\u30e4\u30ec\u30b9\u3067MIDI\u3092\u3044\u3058\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u30a2\u30a4\u30c6\u30e0\u3082\u3042\u308b<\/a>\n\u3068\u3044\u3046\u3053\u3068\u304c\u5206\u304b\u3063\u305f\u305f\u3081\u3001\u57fa\u672c\u7684\u306b\u306f\u3053\u308c\u3092\u4f7f\u3063\u3066iPad mini\u306eGT-1000\u7528\u30a2\u30d7\u30ea\u3067\u30d1\u30c3\u30c1\u306e\u7de8\u96c6\u3092\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u3001\u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u3067\u5165\u624b\u3057\u305f<a href=\"https:\/\/www.casio.com\/jp\/dimensiontripper\/\" target=\"_blank\" rel=\"noopener\">CASIO\u306eDIMENSION TRIPPER<\/a>\n\u3082\u6295\u5165\u3057\u307e\u3057\u305f\u3002\u5143\u3005<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/170995\/\" target=\"_blank\" rel=\"noopener\">\u30ef\u30a4\u30e4\u30ec\u30b9+\u30c1\u30e5\u30fc\u30ca\u30fc+\u5c0f\u578b\u30de\u30eb\u30c1\u3067\u3074\u3063\u305f\u308a\u30b5\u30a4\u30ba\u306e\u30dc\u30fc\u30c9<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067DIMENSION TRIPPER\u3092\u4e57\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u304b\u3063\u305f\u305f\u3081\u3001<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/302589\/\" target=\"_blank\" rel=\"noopener\">\u30dc\u30fc\u30c9\u81ea\u4f53<\/a>\n\u3082\u65b0\u8abf\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/images\/dimension_tripper_extend_hu_cac3ab252830fe99.jpg\" alt=\"\u30c8\u30e9\u30f3\u30b9\u30df\u30c3\u30bf\u30fc\u306e\u5ef6\u9577\u90e8\" \/>\n<\/p>\n<p>DIMENSION TRIPPER\u306e\u500b\u4eba\u7684\u4e0d\u6e80\u70b9\u3068\u3057\u3066\u3001\u30c8\u30e9\u30f3\u30b9\u30df\u30c3\u30bf\u30fc\u306e\u30ae\u30bf\u30fc\u3068\u306e\u63a5\u7d9a\u90e8\u304c\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u3067\u53d6\u308a\u4ed8\u3051\u306b\u304f\u3044\u3001\u50b7\u306a\u3069\u304c\u4e0d\u5b89\u3068\u3044\u3046\u70b9\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3092\u89e3\u6d88\u3059\u308b\u305f\u3081\u306b\u3001\u90e8\u5c4b\u306e\u305d\u306e\u8fba\u306b\u8ee2\u304c\u3063\u3066\u3044\u305f\u30ec\u30b6\u30fc\u306e\u7aef\u5207\u308c\u3068\u9069\u5f53\u306a\u91d1\u5177\u3092\u4f7f\u3063\u3066\u5ef6\u9577\u30d1\u30fc\u30c4\u306e\u3088\u3046\u306a\u30e2\u30ce\u3092\u4f5c\u3063\u3066\u63a5\u7d9a\u90e8\u3068\u3057\u307e\u3057\u305f\u3002\u4fbf\u5229\u3002<\/p>\n<p>\u30b3\u30ec\u3092\u3064\u304b\u3063\u3066\u5909\u306a\u97f3\u3092\u51fa\u305d\u3046\u3068\u753b\u7b56\u3082\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u7d50\u5c40\u3044\u3044\u97f3\u304c\u3067\u304d\u305a\u3001\u3053\u308c\u306f\u305f\u3060\u306e\u62e1\u5f35\u30b9\u30a4\u30c3\u30c1\u306e\u69d8\u306a\u5f62\u5f0f\u3067\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30c1\u30e5\u30fc\u30ca\u30fc\u306f\u307e\u3063\u3059\u3050\u8cbc\u308a\u4ed8\u3051\u305f\u30cf\u30ba\u3060\u3063\u305f\u306e\u306b\u4f55\u6545\u304b\u6c17\u3065\u3044\u305f\u3089\u66f2\u304c\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u4e00\u5ea6\u76f4\u3057\u305f\u306e\u306b\u3001\u307e\u305f\u66f2\u304c\u3063\u305f\u306e\u3067\u3001\u3053\u3044\u3064\u306f\u6027\u6839\u304c\u66f2\u304c\u3063\u3066\u3044\u308b\u306e\u3060\u3068\u601d\u3044\u307e\u3059\u3002\u3082\u3061\u308d\u3093\u30c1\u30e5\u30fc\u30ca\u30fc\u3068\u3057\u3066\u3082\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u30df\u30e5\u30fc\u30c8\u30b9\u30a4\u30c3\u30c1\u3068\u3057\u3066\u3082\u4fbf\u5229\u306b\u6d3b\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/images\/plug_hu_f4e750471d4d4cdc.jpg\" alt=\"OYAIDE\u306e\u3081\u3063\u3061\u3083\u5c0f\u3055\u3044\u30d7\u30e9\u30b0\" \/>\n<\/p>\n<p>\u30d1\u30c3\u30c1\u30b1\u30fc\u30d6\u30eb\u306f\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/263398\/\" target=\"_blank\" rel=\"noopener\">OYAIDE\u306e\u30bd\u30eb\u30c0\u30fc\u30ec\u30b9<\/a>\n\u3067\u3059\u304c\u3001\u6700\u8fd1\u306f<a href=\"https:\/\/shop.oyaide.com\/products\/p-63l_6mm.html\" target=\"_blank\" rel=\"noopener\">OAYIDE P-6.3L<\/a>\n\/<a href=\"https:\/\/shop.oyaide.com\/products\/p-63tl_6mm.html\" target=\"_blank\" rel=\"noopener\">OYAIDE P-6.3TL<\/a>\n\u3068\u3044\u3046\u5974\u304c\u982d\u304c\u6975\u5c0f\u3067\u6700\u9ad8\u306a\u306e\u3067\u30b3\u30ec\u3092\u4f7f\u3044\u305f\u3044\u3068\u601d\u3063\u3066\u3001DIMENTION TRIPPER\u306e\u63a5\u7d9a\u306f\u30b3\u30ec\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\u5236\u5fa1\u4fe1\u53f7\u306a\u306e\u3067\u5225\u306b\u3053\u3093\u306a\u306b\u826f\u3044\u30d7\u30e9\u30b0\u3092\u4f7f\u308f\u306a\u304f\u3066\u3082\u826f\u3044\u306e\u3067\u3059\u304c\u3001\u5c0f\u3055\u3044\u30dc\u30fc\u30c9\u3068\u3057\u3066\u306f\u5c0f\u3055\u3044\u982d\u306e\u30d7\u30e9\u30b0\u306f\u6b63\u7fa9\u3067\u3059\u3002<\/p>\n<p>\u30d1\u30ef\u30fc\u30b5\u30d7\u30e9\u30a4\u306f\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/329785\/\" target=\"_blank\" rel=\"noopener\">VITAL AUDIO VA-05 MkII<\/a>\n\u3002GT-1000Core\u3092\u30e1\u30eb\u30ab\u30ea\u3067\u8cb7\u3063\u305f\u6642\u306b<a href=\"https:\/\/shop.oyaide.com\/products\/dc-3398_current_doubler_cable.html\" target=\"_blank\" rel=\"noopener\">OYAIDE\u306e\u30ab\u30ec\u30f3\u30c8\u30c0\u30d6\u30e9\u30fc\u30b1\u30fc\u30d6\u30eb<\/a>\n\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u305f(\u6b63\u76f4\u5358\u4f53\u3067\u8cb7\u3046\u306b\u306f\u305f\u3063\u3051\u3048\u30b1\u30fc\u30d6\u30eb\u3067\u3059\u306d)\u306e\u3067\u3001\u3053\u308c\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u554f\u984c\u7121\u304f\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\u82e5\u5e72\u77ed\u3044\u306e\u3067\u9577\u3044\u3082\u306e\u304c\u6b32\u3057\u3044\u6c17\u3082\u3059\u308b\u3093\u3067\u3059\u304c\u3001\u9ad8\u3044\u306e\u3067\u56f0\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u30a2\u30f3\u30d7\u307e\u3067\u306f\u3084\u306f\u308a\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/23263\/\" target=\"_blank\" rel=\"noopener\">CANARE LC03<\/a>\n\u3060\u3063\u305f\u304b<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/23269\/\" target=\"_blank\" rel=\"noopener\">CANARE LC05<\/a>\n\u3060\u3063\u305f\u304b(\u9577\u3055\u304c\u9055\u3046\u3060\u3051)\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u30a2\u30f3\u30d7\u306f\u4eca\u56de\u306f(\u4ed6\u306e\u30d0\u30f3\u30c9\u3068\u306e\u517c\u306d\u5408\u3044\u3092\u8003\u616e\u3057\u3066)JCM2000\u3067\u3057\u305f\u3002\u4eca\u56de\u306fGT-1000Core\u306b\u97f3\u306e\u826f\u3044\u30a2\u30f3\u30d7\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u304c\u5165\u3063\u3066\u3044\u308b\u305f\u3081\u30ea\u30bf\u30fc\u30f3\u633f\u3057\u3067\u30a2\u30f3\u30d7\u306b\u4f9d\u5b58\u3057\u306a\u3044\u5b89\u5b9a\u3057\u305f\u30b5\u30a6\u30f3\u30c9\u3092\u76ee\u6307\u3057\u307e\u3057\u305f(\u3068\u3044\u3046\u307b\u3069\u304c\u3063\u3061\u308a\u97f3\u4f5c\u308a\u3057\u305f\u308f\u3051\u3067\u306f\u306a\u3044\u3051\u3069)\u3002<\/p>\n<p>\u30d4\u30c3\u30af\u306f<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/277561\/\" target=\"_blank\" rel=\"noopener\">MASTER 8 JAPAN INFINIX-U JAZZ type with Hard Grip 0.88mm<\/a>\n\u3068<a href=\"https:\/\/www.yodobashi.com\/product\/100000001003269103\/\" target=\"_blank\" rel=\"noopener\">PlanetWaves by D&rsquo;Addario Medium<\/a>\n\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\u5f8c\u8005\u306f\u6614Black ICE\u3068\u3044\u3046\u540d\u79f0\u3067\u58f2\u3063\u3066\u3044\u3066\u3001\u3059\u3054\u304f\u597d\u304d\u306a\u3093\u3067\u3059\u3088\u306d\u3002\u6700\u8fd1\u5168\u7136\u624b\u306b\u5165\u3089\u306a\u304f\u3066\u56f0\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u79cb\u8449\u539f\u306e\u30e8\u30c9\u30d0\u30b7\u306b\u4f55\u6545\u304b\u5728\u5eab\u304c\u3042\u308a\u3001\u8cfc\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>"},{"title":"builderscon 2024","link":"https:\/\/blog.web-apps.tech\/builderscon-2024\/","pubDate":"Tue, 13 Aug 2024 18:53:37 +0900","guid":"https:\/\/blog.web-apps.tech\/builderscon-2024\/","description":"<p>builderscon 2019\u304c\u7d42\u308f\u3063\u305f\u5f8c\u3001\u7267\u3055\u3093\u304b\u3089builderscon\u3092\u5f15\u304d\u7d99\u304e\u3001<a href=\"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2020\">builderscon tokyo 2020\u3092\u3084\u308b\u305e\uff01\u3068\u8a00\u3063\u3066\u304b\u3089<\/a>\n\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u304c\u6d41\u884c\u308a\u3001\u305d\u3057\u3066<a href=\"https:\/\/blog.builderscon.io\/entry\/cancel-tokyo-2020\" target=\"_blank\" rel=\"noopener\">\u958b\u50ac\u3092\u898b\u9001\u308a<\/a>\n\u3001\u6570\u5e74\u304c\u7d4c\u3061\u3001\u305d\u3057\u3066\u4eca\u5e74\u3001\u3088\u3046\u3084\u304f\u3001builderscon\u3092\u958b\u50ac\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u516c\u5f0f\u30d6\u30ed\u30b0\u3067\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u308b\u3068\u304d\u306b\u3082\u6c17\u6301\u3061\u3092\u66f8\u3053\u3046\u3068\u306f\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u306a\u3093\u304b\u3082\u3046\u3044\u308d\u3093\u306a\u6c17\u6301\u3061\u304c\u3050\u3063\u3061\u3083\u3050\u3061\u3083\u306b\u306a\u3063\u3066\u3066\u3001\u6587\u7ae0\u306b\u307e\u3068\u307e\u3089\u306a\u3044\u3093\u3067\u3059\u3088\u306d\u3002\u3068\u3044\u3046\u3053\u3068\u3067\u98f2\u307f\u4f1a\u306b\u8a98\u3063\u3066\u304f\u3060\u3055\u3044\u3002\n\u3061\u3087\u3063\u3068\u3057\u3070\u3089\u304f\u306f\u30d0\u30bf\u30d0\u30bf\u3059\u308b\u898b\u8fbc\u307f\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u5fc5\u305a\u884c\u304d\u307e\u3059\uff01\u3068\u306f\u8a00\u3048\u306a\u3044\u72b6\u6cc1\u306a\u306e\u3067\u3059\u304c\u3001\u3067\u304d\u308b\u3060\u3051\u884c\u304d\u307e\u3059\u3002<\/p>"},{"title":"\u5927\u5409\u7965\u5bfa.pm","link":"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/","pubDate":"Tue, 16 Jul 2024 13:18:40 +0900","guid":"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/","description":"<p>\u6771\u4eac\u90fd\u306f\u5409\u7965\u5bfa\u3067\u958b\u50ac\u3055\u308c\u3066\u3044\u308b\u30a4\u30d9\u30f3\u30c8\u3001\u5409\u7965\u5bfa.pm\u306e10\u5468\u5e74\u8a18\u5ff5\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066<a href=\"https:\/\/kichijojipm.connpass.com\/event\/314917\/\" target=\"_blank\" rel=\"noopener\">\u5927\u5409\u7965\u5bfa.pm<\/a>\n\u304c2024\u5e747\u670813\u65e5\u306b\u958b\u50ac\u3055\u308c\u305f\u306e\u3067\u3001\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002\n\u53c2\u52a0\u8005\u304c\u305f\u304f\u3055\u3093\u3044\u308b\u3053\u3068\u3082\u3082\u3061\u308d\u3093\u305d\u3046\u3067\u3059\u304c\u300110\u5468\u5e74\u3068\u3044\u3046\u306e\u306f\u672c\u5f53\u306b\u3059\u3054\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u53d7\u4ed8\u3092\u3057\u305f\u3089\u540d\u672d\u3068\u304a\u307f\u304f\u3058\u3092\u3082\u3089\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/images\/omikuji_hu_f1edcd52a7ca8707.jpg\" alt=\"\u304a\u307f\u304f\u3058\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/images\/name_tag_hu_d513c59c2adf74e3.jpg\" alt=\"\u540d\u672d\" \/>\n<\/p>\n<p>\u30e9\u30f3\u30c1\u306b\u98df\u3079\u305f\u3044\u3082\u306e\u3092\u66f8\u3044\u3066\u304a\u304f\u3053\u3068\u3067\u3001\u30b9\u30bf\u30c3\u30d5\u306e\u65b9\u3067\u3088\u3057\u306a\u306b\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3092\u3057\u3066\u304f\u308c\u308b\u305d\u3046\u3067\u3057\u305f\u3002\u3053\u3046\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3067\u306f\u306a\u3093\u3060\u304b\u3093\u3060\u77e5\u308a\u5408\u3044\u3068\u8a71\u3092\u3057\u3066\u3057\u307e\u3044\u304c\u3061\u306a\u306e\u3067\u3001\u65b0\u3057\u3044\u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u4fc3\u9032\u3055\u308c\u308b\u4f01\u753b\u306f\u5927\u5909\u826f\u3044\u30e2\u30ce\u3067\u3059\u306d\u3002<\/p>\n<p>\u5168\u4f53\u306e\u5185\u5bb9\u3068\u3057\u3066\u306f\u3001\u30c6\u30fc\u30de\u304c\u300c\u3044\u307e\u307e\u3067\u3068\u3001\u3053\u308c\u304b\u3089\u300d\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u3063\u3066\u304b\u3001\u6280\u8853\u3092\u30b4\u30ea\u30b4\u30ea\u3068\u3044\u3046\u3088\u308a\u306f\u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u30ad\u30e3\u30ea\u30a2\u3001\u6b74\u53f2\u3068\u3044\u3063\u305f\u30e2\u30ce\u304c\u4e2d\u5fc3\u3067\u3057\u305f\u3002\n\u30c8\u30fc\u30af\u3068\u3057\u3066\u306f\u4e00\u5b9a\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u306f\u3042\u3063\u305f\u3082\u306e\u306e\u3001\u3088\u308a\u5e83\u304f\u9069\u7528\u3067\u304d\u305d\u3046\u3068\u8a00\u3046\u304b\u3001\u4e0a\u624b\u306b\u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3057\u3066\u3044\u304f\u306e\u304c\u5927\u5207\u3067\u3059\u306d\u3001\u3068\u3044\u3046\u5185\u5bb9\u3067\u7d0d\u5f97\u611f\u306e\u3042\u308b\u3082\u306e\u3067\u3057\u305f\u3002<\/p>\n<p>\u663c\u3054\u98ef\u306f\u548c\u725b\u6cb9\u305d\u3070\u3068\u3044\u3046\u5974\u3092\u98df\u3079\u305f\u3093\u3067\u3059\u304c\u3001\u3059\u3054\u304f\u5473\u304c\u6fc3\u304f\u3066\u591a\u304b\u3063\u305f\u3067\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/images\/lunch_hu_7dfd0cac7e0f02b7.jpg\" alt=\"\u6cb9\u305d\u3070\u548c\u725b\u30de\u30b7\" \/>\n<\/p>\n<p>\u79c1\u304c\u73fe\u5728\u4f4f\u3093\u3067\u3044\u308b\u57fc\u7389\u770c\u671d\u971e\u5e02\u304b\u3089\u5409\u7965\u5bfa\u306f\u96fb\u8eca\u3060\u3068\u3044\u3063\u305f\u3093\u65b0\u5bbf\u307e\u3067\u51fa\u3066(\u53f3\u4e0b\u306e\u307b\u3046)\u3001\u305d\u306e\u5f8c\u5409\u7965\u5bfa\u306b\u5411\u304b\u3046(\u5de6)\u3068\u3044\u3046\u30eb\u30fc\u30c8\u3092\u53d6\u308b\u5fc5\u8981\u304c\u3042\u308a\u9762\u5012\u3060\u3063\u305f\u306e\u3067\u8eca\u3067\u884c\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u8eca\u3060\u3068\u7d50\u69cb\u8fd1\u3044\u3067\u3059\u306d\u3002\n\u99d0\u8eca\u5834\u306f\u591a\u5c11\u9ad8\u3044\u3088\u3046\u306b\u3082\u601d\u3048\u307e\u3059\u304c\u3001\u4e0a\u9650\u306e\u3042\u308b\u99d0\u8eca\u5834\u304c\u7d50\u69cb\u305f\u304f\u3055\u3093\u3042\u308b\u306e\u3067\u3001\u99d0\u3081\u308b\u5834\u6240\u306b\u3082\u56f0\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u671d\u304b\u3089\u4e00\u65e5\u5927\u5409\u7965\u5bfa.pm\u306b\u53c2\u52a0\u3057\u3001\u61c7\u89aa\u4f1a\u306b\u51fa\u3066\u3001\u4e8c\u6b21\u4f1a\u3067\u6df1\u591c\u307e\u3067\u99d0\u3081\u3066\u3044\u3066\u30822,500\u5186\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u7d42\u96fb\u3092\u6c17\u306b\u3057\u305f\u308a\u3001\u6691\u3044\u4e2d\u4e57\u308a\u63db\u3048\u3092\u3057\u305f\u308a\u30fb\u30fb\u30fb\u3068\u3044\u3046\u3053\u3068\u3092\u8003\u3048\u308c\u3070\u5168\u7136\u5b89\u3044\u304b\u306a\u3001\u3068\u601d\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/images\/fee_hu_dd55d4e2f7562a11.jpg\" alt=\"\u99d0\u8eca\u6599\u91d1\" \/>\n<\/p>\n<p>\u3068\u3044\u3046\u308f\u3051\u3067\u6539\u3081\u3066\u300110\u5e74\u7d9a\u3044\u3066\u3044\u308b\u30a4\u30d9\u30f3\u30c8\u306f\u3059\u3054\u3044\uff01<\/p>"},{"title":"OSC 2024 Hokkaido","link":"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/","pubDate":"Tue, 16 Jul 2024 12:45:17 +0900","guid":"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/","description":"<p>2024\u5e746\u670829\u65e5\u306b\u958b\u50ac\u3055\u308c\u305f<a href=\"https:\/\/event.ospn.jp\/osc2024-do\/\" target=\"_blank\" rel=\"noopener\">Open Source Conference 2024 Hokkaido<\/a>\n\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u4f8b\u5e74\u53c2\u52a0\u3057\u3066\u3044\u308b\u306e\u3067\u6982\u306d\u3044\u3064\u3082\u901a\u308a\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u306f\u3042\u308b\u306e\u3067\u4e00\u5fdc\u30ec\u30dd\u30fc\u30c8\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u8af8\u8af8\u306e\u90fd\u5408\u306b\u3088\u308a\u524d\u65e5\u306e\u65e5\u4e2d\u306b\u672d\u5e4c\u5165\u308a\u3057\u3066\u3001\u571f\u66dc\u65e5\u306f\u672c\u796d\u3001\u65e5\u66dc\u65e5\u306e\u663c\u306e\u4fbf\u3067\u5e30\u308b\u3068\u3044\u3046\u5f3e\u4e38\u30c4\u30a2\u30fc\u3067\u3057\u305f\u3002<\/p>\n<p>\u91d1\u66dc\u65e5\u306e\u591c\u306f\u95a2\u4fc2\u8005\u524d\u591c\u796d\u3067\u77f3\u934b\u4ead\u3078\u3002\u5909\u308f\u3089\u305a\u7f8e\u5473\u3057\u3044\u3067\u3059\u306d<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/ishinabe_hu_99337748969778af.jpg\" alt=\"\u77f3\u934b\u4ead\" \/>\n<\/p>\n<p>\u77f3\u934b\u4ead\u3078\u5411\u304b\u3046\u9014\u4e2d\u898b\u3066\u3057\u307e\u3063\u305f\u30c0\u30a4\u30b3\u30af\u30c9\u30e9\u30c3\u30b0\u306e\u9589\u5e97\u306e\u304a\u77e5\u3089\u305b\u3002\u672d\u5e4c\u99c5\u306f\u5de5\u4e8b\u306e\u95a2\u4fc2\u3082\u3042\u3063\u3066\u3069\u3093\u3069\u3093\u3044\u308d\u3093\u306a\u5e97\u304c\u9589\u5e97\u3057\u3066\u3044\u3066\u3055\u307f\u3057\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/daikoku_close_hu_81ed530cb3ad099.jpg\" alt=\"\u9589\u5e97\u306e\u304a\u77e5\u3089\u305b\" \/>\n<\/p>\n<p>\u5f53\u65e5\u306e\u30d6\u30fc\u30b9\u306e\u69d8\u5b50\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u4e00\u5fdcKubernetes SIG Docs Japanese Localization team\u3068\u3057\u3066\u306e\u53c2\u52a0\u3068\u3044\u3046\u3053\u3068\u306b\u3057\u3066\u3042\u308a\u307e\u3057\u305f\u306e\u3067\u30b9\u30e9\u30a4\u30c9\u3092\u6d41\u3059\u306a\u3069\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u51b7\u623f\u76f4\u6483\u3067\u3061\u3087\u3063\u3068\u5bd2\u304b\u3063\u305f\u306e\u3067\u3001\u3042\u307e\u308a\u3053\u3053\u306b\u306f\u5ea7\u3063\u3066\u304a\u3089\u305a\u3001\u305d\u306e\u8fba\u3092\u3075\u3089\u3075\u3089\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\u30b9\u30c6\u30c3\u30ab\u30fc\u306e\u985e\u304f\u3089\u3044\u306f\u4f5c\u3063\u3066\u3082\u826f\u304b\u3063\u305f\u304b\u306a\u3001\u3068(\u6bce\u5e74)\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/booth_hu_7f3cfb9600c05649.jpg\" alt=\"\u30d6\u30fc\u30b9\u306e\u69d8\u5b50\" \/>\n<\/p>\n<p>\u663c\u3054\u98ef\u306f\u7279\u306b\u6c7a\u3081\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u30ab\u30ec\u30fc\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/curry_hu_6f9161a21da652de.jpg\" alt=\"\u30ab\u30ec\u30fc\" \/>\n<\/p>\n<p>\u9053\u8b66\u3055\u3093\u306e\u30d6\u30fc\u30b9\u3067\u6295\u8cc7\u8a50\u6b3a\u306b\u6ce8\u610f\uff01\u3068\u3044\u3046\u30c1\u30e9\u30b7\u3082\u914d\u3063\u3066\u3044\u307e\u3057\u305f<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/hokkaido_police_hu_7e8a235709d7945b.jpg\" alt=\"\u30c1\u30e9\u30b7\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306f\u65b0\u5343\u6b73\u7a7a\u6e2f\u3067\u304b\u307e\u6804\u306e\u304b\u307e\u307c\u3053\u3092\u8cb7\u3063\u3066\u5e30\u308a\u307e\u3057\u305f\u3002\u672c\u5f53\u306f\u5927\u4e38\u3067\u8cb7\u3044\u305f\u3044\u3093\u3060\u3051\u3069\u3001\u4eca\u56de\u306f\u6642\u9593\u304c\u7121\u304b\u3063\u305f\u306e\u3067\u3002\u3002\u3002\u672d\u5e4c\u3001\u3042\u308b\u3044\u306f\u5c0f\u6a3d\u306b\u306b\u884c\u304f\u4eba\u306f\u662f\u975e\u8cb7\u3063\u3066\u4e0b\u3055\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/images\/kamaei_hu_f54a9bc3330373c4.jpg\" alt=\"\u304b\u307e\u6804\u306e\u304b\u307e\u307c\u3053\" \/>\n<\/p>"},{"title":"Expression Knob","link":"https:\/\/blog.web-apps.tech\/expression-knob\/","pubDate":"Mon, 17 Jun 2024 00:52:00 +0900","guid":"https:\/\/blog.web-apps.tech\/expression-knob\/","description":"<p>\u30a8\u30af\u30b9\u30d7\u30ec\u30c3\u30b7\u30e7\u30f3\u30da\u30c0\u30eb\u3001\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u306d\u3002\u30ae\u30bf\u30fc\u7528\u306e\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u3084\u305d\u306e\u4ed6\u96fb\u5b50\u697d\u5668\u7b49\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3084\u3089\u30d1\u30e9\u30e1\u30fc\u30bf\u3084\u3089\u3092\u8db3\u3067\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u30da\u30c0\u30eb\u3067\u3059\u304c\u3001\u305d\u306e\u4e2d\u8eab\u306f\u975e\u5e38\u306b\u5358\u7d14\u3067\u3059\u3002\u3068\u306f\u3044\u3048\u30da\u30c0\u30eb\u3068\u3057\u3066\u4f5c\u308b\u306b\u306f\u4e0a\u624b\u304f\u99c6\u52d5\u90e8\u5206\u3092\u4f5c\u308b\u5fc5\u8981\u304c\u3042\u3063\u3066\u7c21\u5358\u306b\u306f\u3044\u304b\u306a\u3044\u306e\u3068\u3001\u8db3\u3067\u64cd\u4f5c\u305b\u305a\u3068\u3082\u3001\u30de\u30eb\u30c1\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306e\u30d5\u30c3\u30c8\u30dc\u30ea\u30e5\u30fc\u30e0\u6a5f\u80fd\u3092\u4f7f\u3048\u308b\u3068\u30a8\u30d5\u30a7\u30af\u30c8\u30eb\u30fc\u30d7\u306e\u4efb\u610f\u306e\u5834\u6240\u3067\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u8abf\u6574\u3067\u304d\u308b\u3068\u4fbf\u5229\u3068\u3044\u3046\u3053\u3068\u304c\u3042\u308a\u3001\u3088\u308a\u5358\u7d14\u306a\u5f62\u3068\u3057\u3066\u300c\u30a8\u30af\u30b9\u30d7\u30ec\u30c3\u30b7\u30e7\u30f3\u30ce\u30d6\u300d\u3092\u4f5c\u6210\u3057\u305f\u306e\u3067\u8a18\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u4f7f\u3063\u305f\u6750\u6599\u306f\u6b21\u306e\u901a\u308a:<\/p>\n<ul>\n<li><a href=\"https:\/\/akizukidenshi.com\/catalog\/g\/g115219\/\" target=\"_blank\" rel=\"noopener\">\u53ef\u5909\u62b5\u6297\/\u30dc\u30ea\u30e5\u30fc\u30e0 (10k\u03a9\/B\u30ab\u30fc\u30d6)<\/a>\n<\/li>\n<li><a href=\"https:\/\/akizukidenshi.com\/catalog\/g\/g100253\/\" target=\"_blank\" rel=\"noopener\">\u30dc\u30ea\u30e5\u30fc\u30e0\u7528\u30c4\u30de\u30df<\/a>\n<\/li>\n<li><a href=\"https:\/\/akizukidenshi.com\/catalog\/g\/g113305\/\" target=\"_blank\" rel=\"noopener\">3.5mm\u30b9\u30c6\u30ec\u30aa\u30df\u30cb\u30b8\u30e3\u30c3\u30af<\/a>\n<\/li>\n<li><a href=\"https:\/\/akizukidenshi.com\/catalog\/g\/g117121\/\" target=\"_blank\" rel=\"noopener\">\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u30b1\u30fc\u30b9 (30mm x 40mm x 20mm)<\/a>\n<\/li>\n<\/ul>\n<p>\u79cb\u6708\u96fb\u5b50\u3067\u63c3\u3048\u308c\u3070260\u5186+\u9001\u6599\u7a0b\u5ea6\u3067\u6e08\u307f\u307e\u3059\u3002\u5f8c\u3067\u7d39\u4ecb\u3059\u308b\u65e2\u88fd\u54c1\u3060\u3068\u5b89\u304f\u3066\u30824,000\u5186\u7a0b\u5ea6\u306f\u3057\u307e\u3059\u304b\u3089\u6fc0\u5b89\u3067\u3059\u306d\u3002<\/p>\n<p>\u64cd\u4f5c\u5bfe\u8c61\u306e\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306f<a href=\"https:\/\/www.boss.info\/jp\/products\/gt-1000core\/\" target=\"_blank\" rel=\"noopener\">BOSS GT-1000CORE<\/a>\n\u3067\u3059\u3002\u805e\u3044\u305f\u3068\u3053\u308d\u306b\u3088\u308b\u3068HX STOMP\u3068\u304b\u306f\u30a8\u30af\u30b9\u30d7\u30ec\u30c3\u30b7\u30e7\u30f3\u30da\u30c0\u30eb\u306e\u4ed5\u69d8\u304c\u9055\u3046\u3088\u3046\u306a\u306e\u3067\u6ce8\u610f\u3002<\/p>\n<p>\u30dc\u30ea\u30e5\u30fc\u30e0\u306f10k\u03a9B\u306e\u30e2\u30ce\u3067\u3042\u308c\u3070\u591a\u5c11\u30b5\u30a4\u30ba\u304c\u9055\u3063\u305f\u308a\u30b9\u30e9\u30a4\u30c9\u30dc\u30ea\u30e5\u30fc\u30e0\u3060\u3063\u305f\u308a\u3057\u3066\u3082\u5927\u4e08\u592b\u306a\u306f\u305a\u3067\u3059\u304c\u3001\u7aef\u5b50\u306e\u4ed5\u69d8\u304c\u9055\u3063\u305f\u308a(\u591a\u5206\u5927\u4f53\u540c\u3058\u3067\u3059\u304c\u30fb\u30fb\u30fb)\u3001\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u30c4\u30de\u30df\u304c\u9055\u3063\u305f\u308a\u3059\u308b\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u9069\u5b9c\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30c4\u30de\u30df\u306f\u304a\u597d\u307f\u306e\u30e2\u30ce\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4eca\u56de\u306f\u6c17\u5206\u30673.5mm\u306e\u30df\u30cb\u30b8\u30e3\u30c3\u30af\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u3082\u30b9\u30c6\u30ec\u30aa\u3067\u3042\u308c\u3070\u4efb\u610f\u306e\u30b8\u30e3\u30c3\u30af\u3067\u826f\u3044\u306f\u305a\u3067\u3059\u3002\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u5074\u306f\u57fa\u672c\u7684\u306b6.3mm\u306e\u6a19\u6e96\u30d7\u30e9\u30b0\u3060\u3068\u601d\u3046\u306e\u3067\u30016.3mm\u306e\u30b8\u30e3\u30c3\u30af\u3060\u3068\u30b1\u30fc\u30d6\u30eb\u304c\u624b\u306b\u5165\u308a\u3084\u3059\u304f\u3066\u4fbf\u5229\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u3002\u4eca\u56de\u306f\u9699\u9593\u306b\u7a81\u3063\u8fbc\u307f\u305f\u304b\u3063\u305f\u306e\u3067\u5c0f\u3055\u3044\u7aef\u5b50\u3092\u9078\u3073\u307e\u3057\u305f\u3002\u3069\u3046\u305b\u30d1\u30c3\u30c1\u30b1\u30fc\u30d6\u30eb\u306f\u81ea\u5206\u3067\u4f5c\u308a\u307e\u3059\u3057\u3002<\/p>\n<p>\u30b1\u30fc\u30b9\u3082\u4efb\u610f\u306e\u30e2\u30ce\u3067\u554f\u984c\u306a\u3044\u3067\u3057\u3087\u3046\u3002\u30b5\u30a4\u30ba\u304c\u826f\u3044\u611f\u3058\u3060\u3063\u305f\u306e\u3068\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u4fe1\u53f7\u304c\u901a\u308b\u3060\u3051\u306a\u3089\u826f\u3044\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u4eca\u56de\u306f\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u30b1\u30fc\u30b9\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u56de\u8def\u56f3\u306f\u6b21\u306e\u901a\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/expression-knob\/images\/circuit_diagram_hu_ed16cc2168e070.png\" alt=\"\u56de\u8def\u56f3\" \/>\n<\/p>\n<p>\u5b9f\u4f53\u914d\u7dda\u56f3\u3068\u3057\u3066\u306f\u3053\u3093\u306a\u611f\u3058:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/expression-knob\/images\/circuit_wiring_hu_8389d3c9d3a67981.png\" alt=\"\u5b9f\u4f53\u914d\u7dda\u56f3\" \/>\n<\/p>\n<p>\u305d\u306e\u8fba\u306b\u3042\u3063\u305f\u9069\u5f53\u306a\u30b1\u30fc\u30d6\u30eb\u3067\u914d\u7dda\u3092\u3057\u3066\u3001\u9069\u5f53\u306b\u30b1\u30fc\u30b9\u306b\u7a74\u3092\u3042\u3051\u3001\u30d1\u30fc\u30c4\u3092\u7d44\u307f\u8fbc\u3093\u3067\u5b8c\u6210\u3067\u3059\u3002\u7a74\u306f\u9069\u5f53\u306a\u7d30\u3044\u30c9\u30ea\u30eb\u3067\u4e0b\u7a74\u3092\u958b\u3051\u305f\u5f8c\u306b\u30b9\u30c6\u30c3\u30d7\u30c9\u30ea\u30eb\u306a\u3069\u3092\u4f7f\u3063\u3066\u3061\u3087\u3046\u3069\u826f\u3044\u5927\u304d\u3055\u306b\u306a\u308b\u307e\u3067\u7a74\u3092\u62e1\u5f35\u3059\u308b\u3068\u304d\u308c\u3044\u306b\u7a7a\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30d7\u30e9\u30b1\u30fc\u30b9\u306a\u3089\u96fb\u52d5\u30c9\u30ea\u30eb\u3092\u8cb7\u308f\u306a\u304f\u3066\u3082\u3001\u624b\u3067\u5341\u5206\u7a7a\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u3042\u3068\u306f\u624b\u9803\u306a\u30b9\u30c6\u30ec\u30aa\u30b1\u30fc\u30d6\u30eb(\u30d8\u30c3\u30c9\u30db\u30f3\u7528\u3068\u304b\u304c\u305d\u306e\u8fba\u306b\u8ee2\u304c\u3063\u3066\u3044\u307e\u3059\u306d\uff1f\u30bd\u30ec\u3092\u4f7f\u3063\u3066\u30c6\u30b9\u30c8\u3092\u3057\u307e\u3057\u3087\u3046)\u3067\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u3068\u63a5\u7d9a\u3057\u3066\u3001\u52d5\u4f5c\u78ba\u8a8d\u3092\u3059\u308c\u3070\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u307e\u3060\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u306b\u306f\u7d44\u307f\u8fbc\u3093\u3067\u3044\u307e\u305b\u3093\u304c\u3001\u4fbf\u5229\u306b\u6d3b\u8e8d\u3057\u3066\u304f\u308c\u308b\u3053\u3068\u3092\u7948\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u4f5c\u308b\u306e\u306f\u9762\u5012\u3060\u3051\u3069\u307b\u3057\u3044\uff01\u3068\u3044\u3046\u4eba\u306f\u65e2\u88fd\u54c1\u3082\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059:<\/p>\n<ul>\n<li><a href=\"https:\/\/lep-international.jp\/products\/el-garatge-expression-knob\" target=\"_blank\" rel=\"noopener\">El Garatge<\/a>\n(5,573\u5186)<\/li>\n<li><a href=\"https:\/\/lagoonsound.com\/expv-p\/\" target=\"_blank\" rel=\"noopener\">LAGOON SOUND<\/a>\n(3,800\u5186)<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/335349\/\" target=\"_blank\" rel=\"noopener\">electro-harmonix<\/a>\n(\u30b3\u30f3\u30d1\u30af\u30c8\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30bf\u30a4\u30d7 7,680\u5186)<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/279762\/\" target=\"_blank\" rel=\"noopener\">Old Blood Noise Endeavors<\/a>\n(\u30b9\u30e9\u30a4\u30c0\u30fc\u30bf\u30a4\u30d7 8,250\u5186)<\/li>\n<\/ul>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"\u6885\u4ed5\u4e8b2024","link":"https:\/\/blog.web-apps.tech\/ume-2024\/","pubDate":"Mon, 03 Jun 2024 12:18:34 +0900","guid":"https:\/\/blog.web-apps.tech\/ume-2024\/","description":"<p>6\u6708\u3067\u3059\u3088\uff01\u4eca\u5e74\u3082\u6885\u9152\u3092\u6f2c\u3051\u307e\u3057\u305f\u306e\u3067\u8a18\u9332\u3092\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u4eca\u5e74\u306e\u6750\u6599\u306f\u4ee5\u4e0b\u306e\u901a\u308a:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2024\/images\/ingredients_hu_7fd2d8a7556d79e3.jpg\" alt=\"\u6750\u6599\" \/>\n<\/p>\n<ul>\n<li>\u6885: \u30e4\u30aa\u30b3\u30fc\u548c\u5149\u4e38\u5c71\u53f0\u5e97\u3067\u58f2\u3063\u3066\u3044\u305f\u5357\u9ad8\u68851\u888b\u3002\u591a\u52061kg\u304f\u3089\u3044\u3002<\/li>\n<li>\u7802\u7cd6: \u65e5\u65b0\u88fd\u7cd6\u306e\u4e2d\u30b6\u30e9\u7cd61kg\u3002\u4e2d\u30b6\u30e9\u7cd6\u3067\u3064\u3051\u308b\u306e\u306f2020\u5e74\u4ee5\u6765\u3067\u3059\u306d\u3002<\/li>\n<li>\u9152: \u7f8e\u5cf0\u9152\u985e\u88fd\u9020\u3001\u9154\u4ed9\u9152\u9020\u8ca9\u58f2\u306e\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u300c\u679c\u5b9f\u306e\u6cc9\u300d1.8L<\/li>\n<\/ul>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2024\/images\/white_liquor_hu_b13dd164e9e7b690.jpg\" alt=\"\u679c\u5b9f\u306e\u6cc9\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2024\/images\/bottling_hu_d06888a63e97db52.jpg\" alt=\"\u6885\u3068\u7802\u7cd6\u3092\u7a4d\u3093\u3060\u69d8\u5b50\" \/>\n<\/p>\n<p>\u4eca\u5e74\u306f\u30ab\u30a4\u30f3\u30ba\u3067<a href=\"https:\/\/www.p-life-house.jp\/goods_HB-6936.html\" target=\"_blank\" rel=\"noopener\">PET\u88fd\u306e\u679c\u5b9f\u9152\u74f6<\/a>\n\u304c\u58f2\u3063\u3066\u3044\u305f\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002\u4e38\u3044\u30ac\u30e9\u30b9\u74f6\u306f\u300c\u307d\u3044\u300d\u3093\u3067\u3059\u3051\u3069\u3001\u5272\u308c\u305d\u3046\u3067\u6c17\u3092\u9063\u3046\u3057\u3001\u5e8a\u9762\u52b9\u7387\u3082\u826f\u304f\u306a\u3044\u3093\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u30c6\u30d7\u30e9\u3067\u30ec\u30b7\u30d4\u3092\u8a18\u9332\u3002\u3053\u308c\u307e\u3067\u8cb7\u3063\u3066\u3044\u305f\u30ac\u30e9\u30b9\u74f6\u306f\u3060\u3044\u305f\u3044\u8aac\u660e\u66f8\u306b\u30e1\u30e2\u3092\u66f8\u3044\u3066\u304a\u304f\u6b04\u304c\u3042\u3063\u3066\u3001\u305d\u308c\u3092\u5207\u3063\u3066\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u306a\u304b\u3063\u305f\u306e\u3067\u30c6\u30d7\u30e9\u3067\u30e1\u30e2\u3092\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2024\/images\/recipe_hu_2345ab8ac353eb5a.jpg\" alt=\"\u30ec\u30b7\u30d4\u30e1\u30e2\" \/>\n<\/p>\n<p><a href=\"https:\/\/blog.web-apps.tech\/ume-2023\">\u6628\u5e74\u306e\u6885\u9152<\/a>\n\u306f\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2024\/images\/ume-2023_hu_ccb2457afc67c098.jpg\" alt=\"\u6885\u91522023\" \/>\n<\/p>\n<p>\u6628\u5e74\u306f\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u306b\u6c37\u7802\u7cd6\u3068\u3044\u3046\u3001\u304b\u306a\u308a\u6a19\u6e96\u7684\u306a\u30ec\u30b7\u30d4\u3067\u4f5c\u308a\u307e\u3057\u305f\u306e\u3067\u3001\u30b6\u30fb\u6885\u9152\u3068\u3044\u3046\u611f\u3058\u306e\u30b9\u30c3\u30ad\u30ea\u3068\u3057\u305f\u5473\u3067\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u6765\u5e74\u304a\u4f1a\u3044\u3057\u307e\u3057\u3087\u3046\uff01<\/p>"},{"title":"git-gutter to diff-hl","link":"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/","pubDate":"Sun, 26 May 2024 11:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/","description":"<p>\u3053\u308c\u307e\u3067\u3001emacs\u4e0a\u3067\u884c\u3054\u3068\u306e\u5909\u66f4\u72b6\u6cc1\u3092\u8868\u793a\u3059\u308b\u306e\u306b\u3001<a href=\"https:\/\/github.com\/emacsorphanage\/git-gutter\" target=\"_blank\" rel=\"noopener\">git-gutter.el<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u304d\u307e\u3057\u305f\u3002<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/commit\/5aa3c33a095a40e80332607f1f84a71e15761623\" target=\"_blank\" rel=\"noopener\">\u7d044\u5e74\u524d<\/a>\n\u304b\u3089\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001\u4eca\u73fe\u5728\u3067\u3082\u554f\u984c\u306a\u304f\u52d5\u3044\u3066\u3044\u308b\u305f\u3081\u7279\u306b\u4e0d\u6e80\u306f\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001emacs-jp\u3067<a href=\"https:\/\/github.com\/dgutov\/diff-hl\" target=\"_blank\" rel=\"noopener\">diff-hl<\/a>\n\u306e\u8a71\u3092\u805e\u304d\u3001\u898b\u305f\u76ee\u304c\u826f\u3044\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u3067diff-hl\u306b\u79fb\u884c\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>git-gutter\u306e\u898b\u305f\u76ee:\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/images\/git-gutter_hu_628204324883c09.png\" alt=\"git-gutter\" \/>\n<\/p>\n<p>diff-hl\u306e\u898b\u305f\u76ee:\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/images\/diff-hl-mode_hu_e81cc8fa6d05477a.png\" alt=\"diff-hl\" \/>\n<\/p>\n<p>fringe\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3053\u3068\u3067\u30d5\u30ec\u30fc\u30e0\u304c\u5c11\u3057\u30b9\u30c3\u30ad\u30ea\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u554f\u984c\u304c\u4e00\u70b9\u3060\u3051\u3042\u3063\u3066\u3001\u79c1\u306f\u666e\u6bb5macOS\u4e0a\u3067<a href=\"https:\/\/bitbucket.org\/mituharu\/emacs-mac\" target=\"_blank\" rel=\"noopener\">emacs-mac<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001frame\u3092\u8907\u6570\u306b\u5206\u5272\u3057\u305f\u3068\u304d\u3001\u4e00\u756a\u5de6\u306ewindow\u3067\u306f\u554f\u984c\u306a\u304f\u8868\u793a\u3055\u308c\u305f\u306e\u3067\u3059\u304c\u3001\u53f3\u5074\u306ewindow\u3067\u306f\u7e26\u30d5\u30c1\u304c\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/images\/right-window_hu_82bda2de4ff187bf.png\" alt=\"\u53f3\u5074\u306ewindow\u3067\u7e26\u30d5\u30c1\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u554f\u984c\" \/>\n<\/p>\n<p>emacs\u3092\u8d77\u52d5\u3057\u305f\u5f8c\u306b\u624b\u52d5\u3067<code>(fringe-mode '(9 . 8))<\/code>\u306a\u3069\u3068\u3057\u3066fringe\u306e\u5e45\u3092\u5e83\u3052\u308b\u3068\u4e0a\u624b\u304f\u8868\u793a\u3055\u308c\u308b\u4e00\u65b9\u3001<code>default-frame-alist<\/code>\u306b\u5e83\u3052\u305f\u5e45\u3092\u5165\u308c\u3066\u3082\u4f55\u6545\u304b\u4e0a\u624b\u304f\u8868\u793a\u304c\u3055\u308c\u306a\u3044\u72b6\u614b\u3067\u8d77\u52d5\u3057\u3066\u304d\u305f\u305f\u3081\u3001diff-hl-mode\u3092\u6709\u52b9\u5316\u3057\u305f\u5f8c\u306b\u5e45\u3092\u5e83\u3052\u306a\u3044\u3068\u4e0a\u624b\u304f\u8abf\u6574\u304c\u304d\u304b\u306a\u3044\u306e\u304b\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3001\u6b21\u306e\u3088\u3046\u306b<code>diff-hl-mode<\/code>\u3092\u547c\u3073\u51fa\u3057\u3066<code>set-frame-parameter<\/code>\u3059\u308b\u5f62\u3067\u89e3\u6d88\u3057\u307e\u3057\u305f:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\">;; show git diff parameter on fringe<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">use-package<\/span> <span class=\"nv\">diff-hl<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">:ensure<\/span> <span class=\"no\">t<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">:diminish<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">:hook<\/span> <span class=\"p\">(<\/span><span class=\"nv\">magit-post-refresh<\/span> <span class=\"o\">.<\/span> <span class=\"nv\">diff-hl-magit-post-refresh<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">:init<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">global-diff-hl-mode<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"c1\">;; somehow the left line is not drawn well without setting left-fringe<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"c1\">;; parameter after diff-hl-mode is enabled<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">diff-hl-mode<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">set-frame-parameter<\/span> <span class=\"no\">nil<\/span> <span class=\"ss\">&#39;left-fringe<\/span> <span class=\"mi\">9<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">diff-hl-flydiff-mode<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6b63\u76f4\u30a4\u30de\u30a4\u30c1\u611f\u304c\u3059\u3054\u3044\u306e\u3067\u3001\u826f\u3044\u89e3\u6c7a\u65b9\u6cd5\u3092\u3054\u5b58\u3058\u306e\u65b9\u304c\u3044\u305f\u3089\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"Kubernetes Upstream Training Japan 2024-03","link":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-japan-2024-03\/","pubDate":"Mon, 01 Apr 2024 23:20:00 +0900","guid":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-japan-2024-03\/","description":"<p>\u304b\u308c\u3053\u308c\u534a\u6708\u307b\u3069\u7d4c\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3059\u304c\u3002<\/p>\n<p>\u6628\u5e74\u672b\u306bCloud Native Computing Foundation\u306e\u65e5\u672c\u30c1\u30e3\u30d7\u30bf\u30fc\u3068\u3057\u3066Cloud Native Community Japan\u304c\u767a\u8db3\u3057\u307e\u3057\u3066\u3001\u305d\u306e\u30b5\u30d6\u30c1\u30e3\u30d7\u30bf\u30fc\u3068\u3057\u3066Kubernetes Upstream Training Japan\u304c\u7acb\u3061\u4e0a\u304c\u308a\u3001\u7b2c\u4e00\u56de\u306e\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066<a href=\"https:\/\/community.cncf.io\/events\/details\/cncf-cloud-native-community-japan-presents-cncj-kubernetes-upstream-training-japan-2024-03\/\" target=\"_blank\" rel=\"noopener\">Kubernetes Upstream Training Japn 2024-03<\/a>\n\u3092\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u8cc7\u6599\u306a\u3069\u306f<a href=\"https:\/\/github.com\/kubernetes-sigs\/contributor-playground\/tree\/master\/japan\/cncj-202403\" target=\"_blank\" rel=\"noopener\">GitHub\u306e\u30ea\u30dd\u30b8\u30c8\u30ea<\/a>\n\u306b\u4e0a\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u898b\u3066\u3044\u305f\u3060\u304f\u3068\u826f\u3044\u306e\u3067\u3059\u304c\u3001\u8981\u3059\u308b\u306b<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3092\u3057\u3066\u307f\u305f\u3044\u3051\u3069\u4f55\u304b\u3089\u59cb\u3081\u308c\u3070\u826f\u3044\u306e\u304b\u308f\u304b\u3089\u306a\u3044\u30fb\u30fb\u30fb\u3068\u3044\u3046\u4eba\u5411\u3051\u306b\u3001Kubernetes\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3067\u306f\u3069\u306e\u3088\u3046\u306b\u666e\u6bb5\u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3068\u3063\u3066\u3044\u3066\u3001\u3069\u3046\u3044\u3046\u624b\u9806\u3067\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3092\u3059\u308c\u3070\u826f\u3044\u306e\u304b\u3001\u3068\u3044\u3046\u89e3\u8aac\u3092\u3057\u305f\u308a\u3001\u5b9f\u969b\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u4f53\u9a13\u3092\u3057\u3066\u3082\u3089\u3063\u305f\u308a\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u3067\u3057\u305f\u3002<\/p>\n<p>\u306a\u306b\u305bKubernetes\u3068\u3044\u3046\u306e\u306f\u4e16\u754c\u4e2d\u3067\u4f7f\u308f\u308c\u3066\u3044\u308b\u5927\u304d\u306a\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3001\u82f1\u8a9e\u304c\u3055\u3089\u3063\u3068\u8aad\u3081\u308b\u4eba\u306f\u826f\u3044\u306e\u3067\u3059\u304c\u3001\u65e5\u672c\u4eba\u3068\u3057\u3066\u306f\u3084\u306f\u308a\u82f1\u8a9e\u304c\u82e6\u624b\u3060\u3068\u3044\u3046\u4eba\u3082\u591a\u3044\u3067\u3059\u3057\u3001\u307e\u3057\u3066\u6280\u8853\u529b\u304c\u6c42\u3081\u3089\u308c(\u305d\u3046\u306b\u898b\u3048)\u308b\u3068\u3053\u308d\u306b\u98db\u3073\u8fbc\u3093\u3067\u3044\u304f\u3068\u3044\u3046\u306e\u306f\u306a\u304b\u306a\u304b\u52c7\u6c17\u304c\u8981\u308b\u30e2\u30ce\u3067\u3059\u3002\u305d\u3093\u306a\u4eba\u306e\u80cc\u4e2d\u3092\u62bc\u3057\u3066\u3001\u65e5\u672c\u306eKubernetes\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3092\u3082\u3063\u3068\u76db\u308a\u4e0a\u3052\u3066\u3044\u3053\u3046\u3001\u3068\u3044\u3046\u306e\u304c\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306e\u76ee\u7684\u3067\u3042\u308b\u308f\u3051\u3067\u3059\u3002<\/p>\n<p>\u6b21\u56de\u958b\u50ac\u306f\u3044\u3064\u306b\u306a\u308b\u304b\u4e0d\u660e\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001Kubernetes(\u7279\u306b<a href=\"https:\/\/github.com\/kubernetes\/website\" target=\"_blank\" rel=\"noopener\">kubernetes\/website<\/a>\n)\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3057\u305f\u3044\uff01\u3068\u3044\u3046\u4eba\u306f\u7a4d\u6975\u7684\u306b\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u304f\u6240\u5b58\u3067\u3042\u308a\u307e\u3059\u306e\u3067\u304a\u6c17\u8efd\u306b\u3054\u9023\u7d61\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"\u60c5\u5831\u8a8d\u8b58\u5b66\u7814\u7a76\u5ba4 \u5de5\u85e4\u5148\u751f\u306e\u6700\u7d42\u8b1b\u7fa9\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/prml-prof-kudo-retirement\/","pubDate":"Tue, 12 Mar 2024 13:30:00 +0900","guid":"https:\/\/blog.web-apps.tech\/prml-prof-kudo-retirement\/","description":"<p>\u5927\u5b66\u6642\u4ee3\u306e\u6069\u5e2b\u3067\u3042\u308b\u3068\u3053\u308d\u306e\u5de5\u85e4\u5cf0\u4e00\u6559\u6388\u304c\u9000\u5b98\u306a\u3055\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u6700\u7d42\u8b1b\u7fa9\u3068\u795d\u8cc0\u4f1a\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/prml.main.ist.hokudai.ac.jp\/info\/%e5%b7%a5%e8%97%a4%e6%95%99%e6%8e%88%e3%81%8c%e6%9c%80%e7%b5%82%e8%ac%9b%e7%be%a9%e3%82%92%e8%a1%8c%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82\/\" target=\"_blank\" rel=\"noopener\">\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/prml-prof-kudo-retirement\/images\/news_hu_1ff032cbddb7de0d.png\" alt=\"\" \/>\n<\/a>\n<\/p>\n<p>4\u6708\u304b\u3089\u306f\u65b0\u3057\u3044\u65b9\u304c\u7740\u4efb\u306a\u3055\u308b\u3068\u3044\u3046\u8a71\u3067\u3059\u304c\u3001\u7814\u7a76\u5ba4\u306e\u540d\u524d\u3082\u5909\u308f\u308b\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u3057\u3001PRML\u304f\u3093\u3082\u3082\u3046\u898b\u3089\u308c\u306a\u304f\u306a\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/prml-prof-kudo-retirement\/images\/prmlStar_hu_28a4cbc0e15ecf7b.png\" alt=\"PRML\u304f\u3093\" \/>\n<\/p>"},{"title":"PNG\u306e\u4ed5\u69d8\u3092\u773a\u3081\u308b","link":"https:\/\/blog.web-apps.tech\/png-spec\/","pubDate":"Fri, 16 Feb 2024 21:40:00 +0900","guid":"https:\/\/blog.web-apps.tech\/png-spec\/","description":"<p>\u3053\u306e\u30d6\u30ed\u30b0\u306f\u73fe\u5728\u3001<a href=\"https:\/\/gohugo.io\" target=\"_blank\" rel=\"noopener\">Hugo<\/a>\n\u3068\u3044\u3046\u9759\u7684\u30b5\u30a4\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u30da\u30fc\u30b8\u3092\u751f\u6210\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u3053\u306eHugo\u306b\u306f\u591a\u304f\u306e\u4fbf\u5229\u6a5f\u80fd\u304c\u3042\u308a\u3001\u305d\u306e\u3046\u3061\u306e\u4e00\u3064\u304c<a href=\"https:\/\/gohugo.io\/content-management\/image-processing\" target=\"_blank\" rel=\"noopener\">Image processing<\/a>\n\u3067\u3059\u3002<\/p>\n<p>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4e2d\u3067\u3001\u307b\u3093\u306e\u6570\u884c\u306e\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3060\u3051\u3067\u3001\u753b\u50cf\u306e\u30b5\u30a4\u30ba\u3092\u8abf\u6574\u3057\u305f\u308a\u3001\u5207\u308a\u629c\u3044\u305f\u308a\u3001\u3042\u308b\u3044\u306f\u307c\u304b\u3057\u305f\u308a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u307e\u3067\u306e\u3068\u3053\u308d\u3001\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f\u753b\u50cf\u306e\u30b5\u30a4\u30ba\u306f\u7d50\u69cb\u9069\u5f53\u3067\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306f\u8868\u793a\u306e\u5e45\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3063\u3066\u898b\u6804\u3048\u304c\u826f\u304f\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u304c(\u305f\u307e\u306b)\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3053\u3067\u4eca\u56de\u3001Hugo\u306eImage processing\u6a5f\u80fd\u306e\u3046\u3061\u3001Resize\u3092\u4f7f\u7528\u3057\u3066\u3001\u5b9f\u969b\u306b\u30b5\u30a4\u30c8\u304c\u8868\u793a\u3055\u308c\u308b\u3068\u304d\u306e\u753b\u50cf\u3092\u826f\u3044\u611f\u3058\u306b\u3057\u3088\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u30b5\u30a4\u30c8\u5168\u4f53\u306e\u753b\u50cf\u63cf\u753b\u90e8\u5206\u306bhook\u3092\u304b\u3051\u305f\u3068\u3053\u308d\u3001\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u30d3\u30eb\u30c9\u304c\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u5927\u534a\u306f\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3067\u3001\u4eca\u56de\u306f\u672c\u7b4b\u3067\u306f\u306a\u3044\u4e0a\u306b\u9577\u3044\u306e\u3067\u7aef\u6298\u308b\u3068\u3057\u3066\u3001\u91cd\u8981\u305d\u3046\u306a\u3068\u3053\u308d\u3092\u629c\u304d\u51fa\u3059\u3068\u6b21\u306e\u69d8\u306a\u611f\u3058:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-text\" data-lang=\"text\"><span class=\"line\"><span class=\"cl\">execute of template failed at &lt;$image.Resize&gt;: error calling Resize:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">: resize : png: invalid format: invalid checksum\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8981\u3059\u308b\u306b\u3001Resize\u3057\u3088\u3046\u3068\u3057\u305f\u3068\u304d\u306b\u3001checksum\u304c\u5408\u308f\u306a\u3044\u306e\u3067\u5bfe\u8c61\u306epng\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u304c\u304a\u304b\u3057\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3093\u3067\u3059\u3088\u306d\u3002\u3057\u304b\u3057\u3053\u308c\u307e\u3067\u3053\u306e\u30d6\u30ed\u30b0\u3092\u66f4\u65b0\u3057\u3066\u304d\u3066\u3001(\u30d1\u30b9\u3068\u304b\u304c\u9593\u9055\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u306b)\u753b\u50cf\u304c\u8868\u793a\u3055\u308c\u306a\u304f\u3066\u56f0\u3063\u305f\u3053\u3068\u3082\u306a\u3044\u3057\u3001\u305d\u3082\u305d\u3082png\u30d5\u30a1\u30a4\u30eb\u306bchecksum\u304c\u3042\u308b\u306a\u3093\u3066\u3053\u3068\u3082\u77e5\u3089\u306a\u3044\u3057\u30fb\u30fb\u30fb<\/p>\n<p><a href=\"https:\/\/github.com\/golang\/go\/issues\/43382\" target=\"_blank\" rel=\"noopener\">golang\/go#43382<\/a>\n\u3067\u306e\u4f1a\u8a71\u3092\u898b\u305f\u3068\u3053\u308d\u306b\u3088\u308b\u3068\u3069\u3046\u3084\u3089\u3001png\u30d5\u30a1\u30a4\u30eb\u306b\u306f\u300c\u30c1\u30e3\u30f3\u30af\u300d\u3068\u547c\u3070\u308c\u308b\u30e2\u30ce\u304c\u5b58\u5728\u3057\u3066\u3001\u3053\u308c\u304c\u7121\u8996\u3067\u304d\u308b\u3053\u3068\u3082\u591a\u3044(\u7279\u306b\u5b9f\u969b\u306b\u8868\u793a\u3059\u308b\u6642\u306b\u306f\u4e0d\u8981\u306a\u30e2\u30ce\u304c\u591a\u3044)\u3051\u308c\u3069\u3001Go\u306eimage\/png\u306f\u4eca\u306e\u3068\u3053\u308d\u306f\u305d\u308c\u3089\u3092\u7121\u8996\u305b\u305a\u3001\u30a8\u30e9\u30fc\u3092\u5410\u304f\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3002<\/p>\n<p>\u30a8\u30e9\u30fc\u306e\u5bfe\u8c61\u3068\u306a\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u3001issue\u306e\u8aac\u660e\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u3088\u3046\u306bpngcheck\u306b\u304b\u3051\u3066\u307f\u308b\u3068\u6b21\u306e\u3088\u3046\u306bCRC\u30a8\u30e9\u30fc\u304c\u3042\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-console\" data-lang=\"console\"><span class=\"line\"><span class=\"cl\"><span class=\"gp\">$<\/span> pngcheck -v arch-1.png\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\">File: arch-1.png (272304 bytes)\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\"> chunk IHDR at offset 0x0000c, length 13\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\"> 1082 x 778 image, 32-bit RGB+alpha, non-interlaced\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\"> chunk zTXt at offset 0x00025, length 188903, keyword: mxGraphModel\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\"> CRC error in chunk zTXt (computed c3f0b5f1, expected 1ce878d9)\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"go\">ERRORS DETECTED in arch-1.png\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u306a\u308b\u307b\u3069\u3001zTXt\u3068\u3044\u3046\u30c1\u30e3\u30f3\u30af\u304c\u3042\u3063\u3066\u3001\u305d\u3053\u306eCRC\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3067\u3059\u306d\u3002\u30ad\u30fc\u30ef\u30fc\u30c9\u306fmxGraphModel\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u5206\u304b\u3089\u306a\u3044\u3051\u3069\u591a\u5206\u30b0\u30e9\u30d5\u306b\u95a2\u9023\u3057\u305f\u30e2\u30ce\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u3002\u78ba\u304b\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306fdraw.io\u3067\u66f8\u304d\u51fa\u3057\u305f\u3082\u306e\u3067\u3001\u66f8\u304d\u51fa\u3057\u306e\u6642\u306b\u7de8\u96c6\u60c5\u5831\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u57cb\u3081\u8fbc\u3080\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3057\u305f\u6c17\u304c\u3059\u308b\u306e\u3067\u3001\u305d\u308c\u304c\u3069\u3053\u304b\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u58ca\u308c\u3001\u4eca\u56de\u306e\u30a8\u30e9\u30fc\u306b\u3064\u306a\u304c\u3063\u305f\u3001\u3068\u3044\u3046\u6d41\u308c\u306e\u69d8\u3067\u3059\u3002<\/p>"},{"title":"Introduce Tree Sitter to Emacs","link":"https:\/\/blog.web-apps.tech\/introduce-tree-sitter\/","pubDate":"Wed, 14 Feb 2024 23:20:00 +0900","guid":"https:\/\/blog.web-apps.tech\/introduce-tree-sitter\/","description":"<p>\u8fd1\u5e74\u3001\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\/IDE\u306e\u6a5f\u80fd\u306f\u307e\u3059\u307e\u3059\u8907\u96d1\u3068\u306a\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u6570\u306f\u5897\u3048\u3001\u305d\u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u81a8\u5927\u306a\u3082\u306e\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5143\u6765\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\u306f\u305d\u308c\u305e\u308c\u304c\u305d\u308c\u305e\u308c\u306e\u5b9f\u88c5\u3067\u305d\u308c\u3089\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u5b9f\u73fe\u3057\u3066\u304d\u307e\u3057\u305f\u304c\u3001\u81ea\u52d5\u88dc\u5b8c\u3001\u5b9a\u7fa9\u30b8\u30e3\u30f3\u30d7\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u8868\u793a\u306a\u3069\u3001\u6982\u306d\u305d\u306e\u57fa\u672c\u7684\u306a\u6a5f\u80fd\u306f\u540c\u3058\u3067\u3042\u308b\u306b\u3082\u304b\u304b\u308f\u3089\u305a\u3001\u3059\u3079\u3066\u306e\u30a8\u30c7\u30a3\u30bf\u958b\u767a\u8005\u306f\u305d\u308c\u305e\u308c\u304c\u8eca\u8f2a\u306e\u518d\u767a\u660e\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u3063\u305f\u306e\u3067\u3059\u3002\u305d\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u8a2d\u8a08\u958b\u767a\u3055\u308c\u305f\u306e\u304cLanguage Server Protocol(LSP)\u3067\u3042\u308a\u3001\u3053\u3053\u6570\u5e74\u3067\u591a\u304f\u306e\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\u304c\u63a1\u7528\u3057\u305f\u3053\u3068\u306b\u3088\u308a\u540d\u524d\u304f\u3089\u3044\u306f\u77e5\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u4eba\u3082\u591a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p><a href=\"https:\/\/tree-sitter.github.io\/tree-sitter\/\" target=\"_blank\" rel=\"noopener\">Tree-sitter<\/a>\n\u306f\u3042\u308b\u610f\u5473\u3067LSP\u3042\u308b\u3044\u306fLanguage Server\u3068\u547c\u3070\u308c\u308b\u3082\u306e\u306b\u4f3c\u3066\u3044\u307e\u3059\u3002Tree-sitter\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u6587\u6cd5\u304b\u3089\u69cb\u6587\u89e3\u6790\u5668\u3092\u81ea\u52d5\u751f\u6210\u3059\u308b\u30d1\u30fc\u30b5\u30fc\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30c4\u30fc\u30eb\u3067\u3042\u308a\u3001\u307e\u305f\u305d\u308c\u3092\u4f7f\u7528\u3057\u305f\u69cb\u6587\u89e3\u6790\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002<\/p>\n<p>Tree-sitter\u306f\u4efb\u610f\u306e\u8a00\u8a9e\u3092\u89e3\u6790\u3067\u304d\u308b\u6c4e\u7528\u7684\u306a\u30c4\u30fc\u30eb\u3067\u3001\u52d5\u4f5c\u304c\u901f\u304f\u3001\u4f9d\u5b58\u304c\u5c11\u306a\u3044\u30c4\u30fc\u30eb\u3067\u3059\u30022018\u5e74\u306bGitHub\u304b\u3089\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3001emacs 29.1\u3067\u306fbuilt-in\u306e\u6a5f\u80fd\u3068\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"emacs-x-tree-sitter\u306e\u4ed5\u7d44\u307f\u3068\u5c0e\u5165\">Emacs x Tree-sitter\u306e\u4ed5\u7d44\u307f\u3068\u5c0e\u5165<\/h2>\n<p>emacs\u3067Tree-sitter\u3092\u4f7f\u3046\u306b\u306f\u30012\u3064\u306e\u6761\u4ef6\u304c\u3042\u308a\u307e\u3059:<\/p>\n<ul>\n<li>\u4f7f\u7528\u3057\u305f\u3044\u8a00\u8a9e\u306e\u30d1\u30fc\u30b5\u30fc\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b<\/li>\n<li>Tree-sitter\u306b\u5bfe\u5fdc\u3057\u305fmajor mode\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b<\/li>\n<\/ul>\n<h3 id=\"\u4f7f\u7528\u3057\u305f\u3044\u8a00\u8a9e\u306e\u30d1\u30fc\u30b5\u30fc\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\">\u4f7f\u7528\u3057\u305f\u3044\u8a00\u8a9e\u306e\u30d1\u30fc\u30b5\u30fc\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b<\/h3>\n<p>\u5f53\u7136\u306e\u3053\u3068\u306a\u304c\u3089\u3001Tree-sitter\u7528\u306b\u6587\u6cd5\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4f7f\u7528\u3057\u305f\u3044\u8a00\u8a9e\u306e\u30d1\u30fc\u30b5\u30fc\u304c\u65e2\u306b\u8ab0\u304b\u306b\u3088\u3063\u3066\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u304b\u306f\u3001<a href=\"https:\/\/tree-sitter.github.io\/tree-sitter\/#available-parsers\" target=\"_blank\" rel=\"noopener\">available-parsers<\/a>\n\u306e\u30ea\u30b9\u30c8\u3092\u53c2\u7167\u3059\u308b\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u6982\u306d\u3001\u30e1\u30b8\u30e3\u30fc\u3069\u3053\u308d\u306e\u8a00\u8a9e\u306f\u5b9f\u88c5\u3055\u308c\u3066\u304a\u308a\u307b\u3068\u3093\u3069\u306e\u5834\u5408\u56f0\u308b\u3053\u3068\u306f\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u5404\u8a00\u8a9e\u306e\u6587\u6cd5\u5b9a\u7fa9(grammar)\u306fJavaScript\u3067\u5b9a\u7fa9\u3057\u3001tree-sitter CLI\u3092\u4f7f\u7528\u3057\u3066C\u8a00\u8a9e\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u5909\u63db\u3057\u3001\u6700\u7d42\u7684\u306b\u306f\u305d\u308c\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>emacs\u306e\u5834\u5408\u3001<code>~\/.emacs.d\/tree-sitter\/<\/code>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30ea\u30f3\u30af\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7f6e\u304f\u3053\u3068\u3067\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4e88\u3081\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u3082\u306e\u3092\u7f6e\u304f\u3001\u3067\u3082\u826f\u3044\u306e\u3067\u3059\u304c\u3001<code>treesit-install-language-grammar<\/code>\u3092\u4f7f\u7528\u3059\u308b\u3068\u6587\u6cd5\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304d\u3066\u914d\u7f6e\u3057\u3066\u304f\u308c\u308b\u305f\u3081\u7c21\u5358\u3067\u3059\u3002<code>treesit-install-language-grammar<\/code>\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u307e\u305a<code>treesit-language-source-alist<\/code>\u306b\u8a00\u8a9e\u3068git\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30da\u30a2\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u305d\u306e\u5f8c<code>treesit-install-language-grammar<\/code>\u306b\u8a00\u8a9e\u3092\u6e21\u3059\u3053\u3068\u3067git clone\u304b\u3089\u30b3\u30f3\u30d1\u30a4\u30eb\u3001\u914d\u7f6e\u307e\u3067\u884c\u3063\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001YAML\u7528\u306e\u6587\u6cd5\u3092\u5c0e\u5165\u3059\u308b\u306b\u306f\u6b21\u306e\u69d8\u306b\u5b9a\u7fa9\u3057\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">setq<\/span> <span class=\"nv\">treesit-language-source-alist<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">&#39;<\/span><span class=\"p\">((<\/span><span class=\"nv\">yaml<\/span> <span class=\"s\">&#34;https:\/\/github.com\/ikatyang\/tree-sitter-yaml&#34;<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u305d\u3057\u3066\u3001<code>(treesit-install-language-grammar yaml)<\/code>(\u3082\u3061\u308d\u3093M-x\u3067\u3084\u3063\u3066\u3082\u826f\u3044\u3068\u601d\u3044\u307e\u3059)\u3068\u3059\u308b\u3068YAML\u7528\u306e\u6587\u6cd5\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002\u79c1\u306f\u3053\u306e\u624b\u306e\u3082\u306e\u306femacs\u306e\u8d77\u52d5\u6642\u306b\u81ea\u52d5\u3067\u5c0e\u5165\u3055\u308c\u3066\u307b\u3057\u3044\u306e\u3067\u3001\u6b21\u306e\u69d8\u306b\u3057\u307e\u3057\u305f:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">setq<\/span> <span class=\"nv\">treesit-language-source-alist<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">&#39;<\/span><span class=\"p\">((<\/span><span class=\"nv\">yaml<\/span> <span class=\"s\">&#34;https:\/\/github.com\/ikatyang\/tree-sitter-yaml&#34;<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">dolist<\/span> <span class=\"p\">(<\/span><span class=\"nv\">element<\/span> <span class=\"nv\">treesit-language-source-alist<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nb\">let*<\/span> <span class=\"p\">((<\/span><span class=\"nv\">lang<\/span> <span class=\"p\">(<\/span><span class=\"nf\">car<\/span> <span class=\"nv\">element<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nb\">if<\/span> <span class=\"p\">(<\/span><span class=\"nv\">treesit-language-available-p<\/span> <span class=\"nv\">lang<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nf\">message<\/span> <span class=\"s\">&#34;tree-sistter: %s is already installed&#34;<\/span> <span class=\"nv\">lang<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nf\">message<\/span> <span class=\"s\">&#34;tree-sitter: %s is not installed&#34;<\/span> <span class=\"nv\">lang<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">treesit-install-language-grammar<\/span> <span class=\"nv\">lang<\/span><span class=\"p\">))))<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"tree-sitter\u306b\u5bfe\u5fdc\u3057\u305fmajor-mode\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\">Tree-sitter\u306b\u5bfe\u5fdc\u3057\u305fmajor mode\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b<\/h3>\n<p>emacs\u3067Tree-sitter\u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u3001\u6b8b\u5ff5\u306a\u304c\u3089\u3001LSP\u3092\u4f7f\u7528\u3059\u308b\u3068\u304d\u306e\u3088\u3046\u306b\u3001\u5358\u7d14\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8ffd\u52a0\u3059\u308c\u3070\u3059\u3079\u3066\u306e\u8a00\u8a9e\u3067\u3088\u3057\u306a\u306b\u52d5\u304f\u30fb\u30fb\u30fb\u3068\u3044\u3046\u98a8\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002emacs\u3067\u306f\u4eca\u307e\u3067\u306e\u3068\u3053\u308d\u3001major mode\u304c\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30cf\u30a4\u30e9\u30a4\u30c8\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u306f\u4e3b\u306b\u6b63\u898f\u8868\u73fe\u306a\u3069\u304c\u4f7f\u7528\u3055\u308c\u3066\u304d\u307e\u3057\u305f\u3002\u6b63\u898f\u8868\u73fe\u3092\u5229\u7528\u3057\u305f\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30cf\u30a4\u30e9\u30a4\u30c8\u3068\u3001Tree-sitter\u3092\u4f7f\u7528\u3057\u305f\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30cf\u30a4\u30e9\u30a4\u30c8\u306f\u5927\u304d\u304f\u9055\u3046\u305f\u3081\u3001\u307b\u3068\u3093\u3069\u306emajor mode\u3067\u306f\u305d\u306e\u307e\u307eTree-sitter\u3092\u63a1\u7528\u3059\u308b\u5f62\u306b\u306f\u306a\u3089\u305a\u3001Tree-sitter\u5c02\u7528\u306emajor mode\u304c\u63d0\u4f9b\u3055\u308c\u308b\u5f62\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002emacs29\u3067\u306f\u30e1\u30b8\u30e3\u30fc\u3069\u3053\u308d\u306e\u8a00\u8a9e\u306b\u5bfe\u3059\u308bTree-sitter\u5bfe\u5fdc\u30e2\u30fc\u30c9\u304c<a href=\"https:\/\/github.com\/emacs-mirror\/emacs\/blob\/master\/etc\/NEWS.29#L3016-L3089\" target=\"_blank\" rel=\"noopener\">\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059<\/a>\n\u3002<\/p>\n<p>\u624b\u52d5\u3067\u3053\u308c\u3089\u306e\u30e2\u30fc\u30c9\u3092\u62e1\u5f35\u5b50\u3054\u3068\u306b\u8a2d\u5b9a\u3057\u3066\u3082\u826f\u3044\u306e\u3067\u3059\u304c\u3001<code>major-mode-remap-alist<\/code>\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u5f93\u6765\u306emajor mode\u3092\u305d\u306e\u307e\u307eTree-sitter\u5bfe\u5fdc\u306e\u30e2\u30fc\u30c9\u306b\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001yaml-mode\u306e\u4ee3\u308f\u308a\u306byaml-ts-mode\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u6b21\u306e\u69d8\u306b\u8a2d\u5b9a\u3057\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nv\">add-to-list<\/span> <span class=\"ss\">&#39;major-mode-remap-alist<\/span> <span class=\"o\">&#39;<\/span><span class=\"p\">(<\/span><span class=\"nv\">yaml-mode<\/span> <span class=\"o\">.<\/span> <span class=\"nv\">yaml-ts-mode<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">;; or<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">setq<\/span> <span class=\"nv\">major-mode-remap-alist<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">&#39;<\/span><span class=\"p\">((<\/span><span class=\"nv\">yaml-mode<\/span> <span class=\"o\">.<\/span> <span class=\"nv\">yaml-ts-mode<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u3001yaml-mode\u3067\u30d0\u30c3\u30d5\u30a1\u304c\u958b\u304b\u308c\u308b\u5834\u9762\u3067\u306f\u3059\u3079\u3066yaml-ts-mode\u304c\u4f7f\u7528\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u4eca\u306e\u3068\u3053\u308d\u3001hook\u306a\u3069\u306e\u8a2d\u5b9a\u306f\u79fb\u884c\u3055\u308c\u306a\u3044\u305f\u3081\u3001\u3053\u308c\u3089\u306f\u500b\u5225\u306b\u8a2d\u5b9a\u3092\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>"},{"title":"YAPC::Hiroshima 2024","link":"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/","pubDate":"Mon, 12 Feb 2024 02:51:00 +0900","guid":"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/","description":"<p>2024\u5e74\u6700\u521d\u306e\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3068\u3057\u3066\u3001<a href=\"https:\/\/yapcjapan.org\/2024hiroshima\/\" target=\"_blank\" rel=\"noopener\">YAPC::Hiroshima 2024<\/a>\n\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>YAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u201cYet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u5e83\u5cf6\u306b\u6765\u305f\u306e\u306f2017\u5e74\u306b<a href=\"https:\/\/www.ospn.jp\/osc2017-hiroshima\/\" target=\"_blank\" rel=\"noopener\">OSC2017 Hiroshima<\/a>\n\u4ee5\u67652\u5ea6\u76ee\u3067\u3059\u3002\u524d\u591c\u796d\u3001\u30a2\u30d5\u30bf\u30fc\u30a4\u30d9\u30f3\u30c8\u304c\u3042\u308b\u3046\u3048\u4e09\u9023\u4f11\u306b\u7d61\u3093\u3067\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u6728\u66dc\u65e5\u306e\u5348\u5f8c\u306b\u5e83\u5cf6\u5165\u308a\u3057\u3066\u3001\u6708\u66dc\u306e\u591c\u306b\u5e30\u308b\u3068\u3044\u30464\u6cca5\u65e5\u3068\u3044\u3046\u8a08\u753b\u3068\u3057\u307e\u3057\u305f\u3002\u306a\u304a\u3001\u5f0a\u30c1\u30fc\u30e0\u3067\u306fPerl\u3092\u4f7f\u7528\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u696d\u52d9\u3067\u306f\u306a\u304f\u8da3\u5473\u306a\u306e\u3067\u3059\u3079\u3066\u81ea\u8cbb\u3067\u3059\u3002<\/p>\n<h2 id=\"\u524d\u591c\u796d\">\u524d\u591c\u796d<\/h2>\n<p>\u524d\u591c\u796d\u306f\u672c\u7de8\u3068\u540c\u3058\u4f1a\u5834\u3067\u30012\u672c\u306e\u30c8\u30fc\u30af(?)\u3068\u756a\u5ba3\u30ea\u30ec\u30fc\u3068\u3044\u3046\u4f01\u753b\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u30cf\u30a4\u30e9\u30a4\u30c8\u3067\u3059:<\/p>\n<p><blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u59bb\u304b\u3089\u9023\u7d61\u304c\u6765\u305f\u304c\u300c\u767b\u58c7\u4e2d\u3067\u3059\u300d\u306e\u307f\u3092\u8fd4\u3059\u5b9f\u7e3e\u3092\u89e3\u9664\u3057\u307e\u3057\u305f\u3002<\/p>&mdash; \u305d\u30fc\u3060\u3044@\u521d\u4ee3ALF (@soudai1025) <a href=\"https:\/\/twitter.com\/soudai1025\/status\/1755897918861742335?ref_src=twsrc%5Etfw\">February 9, 2024<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u767b\u58c7\u3057\u306a\u304c\u3089\u660e\u65e5\u306eLT\u306e\u8cc7\u6599\u4f5c\u3063\u3066\u308b <a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcjapan<\/a><\/p>&mdash; \u305d\u30fc\u3060\u3044@\u521d\u4ee3ALF (@soudai1025) <a href=\"https:\/\/twitter.com\/soudai1025\/status\/1755898703737667871?ref_src=twsrc%5Etfw\">February 9, 2024<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/p>\n<p>\u305d\u30fc\u3060\u3044\u3055\u3093\u30af\u30e9\u30b9\u306b\u306a\u308b\u3068\u767b\u58c7\u3057\u306a\u304c\u3089\u8cc7\u6599\u3092\u66f8\u3051\u308b\u3001\u5b66\u3073\u3067\u3059\u306d(?)<\/p>\n<h2 id=\"\u672c\u7de8\">\u672c\u7de8<\/h2>\n<p>\u672c\u7de8\u306f3\u30c8\u30e9\u30c3\u30af\u3067\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002\u6b21\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u805e\u304d\u307e\u3057\u305f:<\/p>\n<ul>\n<li>\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3068\u5171\u306b\u751f\u304d\u308b - \u30ad\u30e3\u30ea\u30a2\u306e\u87ba\u65cb\u3068\u4eba\u751f\u3092\u5909\u3048\u305f\u77ac\u9593<\/li>\n<li>(\u518d\u6f14) \u95a2\u6570\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u578b\u30b7\u30b9\u30c6\u30e0\u306e\u30e1\u30f3\u30bf\u30eb\u30e2\u30c7\u30eb<\/li>\n<li>Blog\u3092\u4f5c\u308a\u3001\u80b2\u307f\u3001\u6148\u3057\u3080 - Blog Hacks 2024<\/li>\n<li>\u975e\u540c\u671f\u306a\u958b\u767a\u4f53\u5236\u3092\u652f\u3048\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u6587\u5316<\/li>\n<li>Perl\u3067\u3064\u304f\u308b\u30d5\u30eb\u30b9\u30af\u30e9\u30c3\u30c1WebAuthn\/\u30d1\u30b9\u30ad\u30fc\u8a8d\u8a3c<\/li>\n<li>\u5e73\u6210\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u304b\u3089\u4ee4\u548c\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u3078\u306e\u907a\u8a00\u301c\u6280\u8853\u60c5\u5831\u3092\u4f1d\u9054\u3059\u308b\u624b\u6bb5\u306e\u5909\u9077\u301c<\/li>\n<li>\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30c8\u30fc\u30af<\/li>\n<li>\u30ad\u30fc\u30ce\u30fc\u30c8<\/li>\n<\/ul>\n<p>\u3069\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3082\u3082\u3061\u308d\u3093\u6700\u9ad8\u3060\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u3084\u306f\u308a\u6700\u9ad8of\u6700\u9ad8\u306f\u3068\u307b\u307b\u3055\u3093\u306b\u3088\u308b\u30ad\u30fc\u30ce\u30fc\u30c8\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/images\/tohoho_perl_hu_ecddca59bfc4109e.jpeg\" alt=\"\u3068\u307b\u307b\u3055\u3093\" \/>\n<\/p>\n<p>\u6b63\u76f4\u3053\u308c\u307e\u3067\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3067\u8a71\u3092\u805e\u3044\u305f\u3069\u306e\u30ec\u30b8\u30a7\u30f3\u30c9\u3088\u308a\u3082\u300c\u5b9f\u5728\u306e\u4eba\u7269\u3060\u3063\u305f\u3093\u3060\u30fb\u30fb\u30fb\u300d\u611f\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u3044\u3084\u307e\u3041\u305d\u308a\u3083\u3001\u5b9f\u5728\u306e\u4eba\u7269\u3067\u3057\u3087\u3046\u3051\u308c\u3069\u3082\u3002<\/p>\n<p>\u500b\u4eba\u30b9\u30dd\u30f3\u30b5\u30fc\u30ce\u30d9\u30eb\u30c6\u30a3\u306f\u3053\u3066\u3067\u3057\u305f\u3002SmartHR\u3055\u3093\u3082\u3053\u3066\u3092\u914d\u3063\u3066\u3044\u305f\u306e\u3067\u3082\u3089\u3044\u307e\u3057\u305f\u3002\u53f3\u624b\u3068\u5de6\u624b\u3067\u3001\u3072\u3063\u304f\u308a\u8fd4\u3059\u306e\u306b\u4fbf\u5229\u304b\u3068\u304a\u3082\u3063\u305f\u306e\u3067\u3002\u3053\u306e\u6642\u306f\u307e\u3055\u304b\u3042\u3093\u306a\u3053\u3068\u306b\u306a\u308b\u3068\u306f\u601d\u3063\u3066\u3082\u3044\u306a\u304b\u3063\u305f\u30fb\u30fb\u30fb\uff01<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/images\/kote_hu_9fb1139511c05a6e.jpeg\" alt=\"\u304a\u3053\u306e\u307f\u3084\u304d\u3053\u3066\" \/>\n<\/p>\n<h3 id=\"\u61c7\u89aa\u4f1a\">\u61c7\u89aa\u4f1a<\/h3>\n<p>\u4eca\u56de\u306f\u306a\u3093\u3068\u61c7\u89aa\u4f1a\u3042\u308a\u3002YAPC\u3068\u3057\u3066\u306f\u5b9f\u306b5\u5e74\u3076\u308a\u306e\u61c7\u89aa\u4f1a\u3060\u305d\u3046\u3067\u3059\u3002\u6c38\u9060\u306b\u6642\u9593\u304c\u8db3\u308a\u306a\u3044\u3067\u3059\u306d\u3002\u56f0\u3063\u305f\u3002<\/p>\n<h3 id=\"\u4e8c\u6b21\u4f1a\">\u4e8c\u6b21\u4f1a<\/h3>\n<p>\u5404\u793e\u306b\u3088\u308b\u534a\u516c\u5f0f\u4e8c\u6b21\u4f1a\u304c\u3042\u308b\u306e\u3082\u77e5\u3063\u3066\u305f\u3093\u3067\u3059\u304c\u3001\u306a\u3093\u3068\u306a\u304f\u307e\u3041\u7533\u3057\u8fbc\u307f\u3092\u3057\u306a\u3044\u3067\u304a\u3044\u305f\u3093\u3067\u3059\u3088\u306d\u3002\u91ce\u826f\u4e8c\u6b21\u4f1a\u3084\u308a\u305f\u304f\u3066\u3002\u306a\u306e\u3067\u91ce\u826f\u4e8c\u6b21\u4f1a\u3092\u3084\u308a\u307e\u3057\u3066\u3001\u540c\u3058\u4f1a\u793e\u306e\u4eba\u3068\u5b9f\u8cea\u521d\u3081\u307e\u3057\u3066\u3067\u3059\u306d\u3001Slack\u3067\u306f\u304a\u4e16\u8a71\u306b\u306a\u3063\u3066\u307e\u3059\u7684\u306a\u8a71\u3092\u3059\u308b\u306a\u3069\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/images\/strawberry_sour_hu_e385e9225b0e3f4b.jpeg\" alt=\"\u30a4\u30c1\u30b4\u30b5\u30ef\u30fc\" \/>\n<\/p>\n<h2 id=\"yayapchiroshima\">YAYAPC::Hiroshima<\/h2>\n<p>\u30a2\u30d5\u30bf\u30fc\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066<a href=\"https:\/\/connpass.com\/event\/300500\/\" target=\"_blank\" rel=\"noopener\">YAYAPC::Hiroshima<\/a>\n\u306b\u3082\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\u306a\u3093\u3060\u304b\u3093\u3060\u4e09\u65e5\u9593\u3002\u3059\u3054\u3044\u3002<\/p>\n<p>\u30c6\u30fc\u30de\u306f&quot;What you live&quot;\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3060\u304b\u3089\u3053\u305d\u8a71\u305b\u308b\u3053\u3068\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u307e\u3041Twitter\u3092\u898b\u3066\u3082\u3089\u3046\u3068\u308f\u304b\u308b\u306e\u3067\u3059\u304c\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u5171\u6709\u306f\u3067\u304d\u306a\u3044\u3082\u306e\u306e\u3001\u307f\u3093\u306a\u308f\u304b\u308b\u30fb\u30fb\u30fb\uff01\u3068\u3044\u3046\u611f\u3058\u3067\u3001\u3046\u3081\u304d\u58f0\u307f\u305f\u3044\u306a\u30c4\u30a4\u30fc\u30c8\u304c\u767a\u751f\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u307c\u30fc\u3063\u3068\u3057\u3066\u3044\u308b\u9593\u306bLT\u67a0\u304c\u57cb\u307e\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u305f\u306e\u3067\u3001\u5fdc\u52df\u3059\u308c\u3070\u3088\u304b\u3063\u305f\u304b\u306a\u301c\u306a\u3069\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u5f53\u65e5\u3001\u30bf\u30a4\u30e0\u30c6\u30fc\u30d6\u30eb\u30df\u30b9\u3063\u305f\u304b\u3089LT\u67a0\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u98db\u3073\u5165\u308a\u3067\u602a\u3057\u3044\u8a71\u3092\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u3001\u306a\u3093\u3068\u8cde\u307e\u3067\u9802\u6234\u3044\u305f\u3057\u307e\u3057\u3066\u3001\u7d50\u679c\u7684\u306b\u500b\u4eba\u30b9\u30dd\u30f3\u30b5\u30fc\u30ce\u30d9\u30eb\u30c6\u30a3\u306e\u3053\u3066\u304c2\u672c\u3068\u76f8\u6210\u308a\u307e\u3057\u305f\u3002\u3044\u3084\u30fc\u3001\u3053\u308c\u306b\u306f\u3073\u3063\u304f\u308a\u3002\u5927\u5909\u3042\u308a\u304c\u305f\u3044\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/images\/kote2_hu_841c5a712f3e01e4.jpeg\" alt=\"\u500b\u4eba\u30b9\u30dd\u30f3\u30b5\u30fc\u306e\u3053\u3066\u304c2\u672c\" \/>\n<\/p>\n<p>\u7d42\u308f\u3063\u305f\u5f8c\u306f12\u4eba\u307b\u3069\u3067\u98f2\u307f\u306b\u7e70\u308a\u51fa\u3057\u307e\u3057\u3066(17\u6642\u9803)\u3001\u9014\u4e2d\u4eba\u304c\u591a\u5c11\u5165\u308c\u66ff\u308f\u308a\u3064\u3064\u98f2\u307f\u7d9a\u3051\u300123:30\u9803\u306b\u89e3\u6563\u3057\u307e\u3057\u305f\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u3053\u308c\u306f\u6b7b\u3093\u3067\u308b <a href=\"https:\/\/twitter.com\/songmu?ref_src=twsrc%5Etfw\">@songmu<\/a> san <a href=\"https:\/\/twitter.com\/hashtag\/yayapc?src=hash&amp;ref_src=twsrc%5Etfw\">#yayapc<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcjapan<\/a> <a href=\"https:\/\/t.co\/vFajihV2vC\">pic.twitter.com\/vFajihV2vC<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1756686929075347708?ref_src=twsrc%5Etfw\">February 11, 2024<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u305d\u3057\u3066\u89e3\u6563\u3057\u305f\u5f8c\u306f\u6df1\u591c\u3060\u3068\u3044\u3046\u306e\u306b\u4e00\u4eba\u3067\u304a\u597d\u307f\u713c\u304d\u3092\u98df\u3079\u308b\u306a\u3069\u3057\u307e\u3057\u305f\u3002\u304a\u597d\u307f\u713c\u304d\u7f8e\u5473\u3057\u3044\u3002<\/p>"},{"title":"Tall Titlebar Issue on macOS Sonoma","link":"https:\/\/blog.web-apps.tech\/tall-titlebar-issue-on-macos-sonoma\/","pubDate":"Tue, 06 Feb 2024 01:45:02 +0900","guid":"https:\/\/blog.web-apps.tech\/tall-titlebar-issue-on-macos-sonoma\/","description":"<p>\u79c1\u306f\u666e\u6bb5\u3001<a href=\"https:\/\/github.com\/railwaycat\/homebrew-emacsmacport\" target=\"_blank\" rel=\"noopener\">railwaycat\/emacsmacport<\/a>\n\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f<a href=\"https:\/\/bitbucket.org\/mituharu\/emacs-mac\/src\/master\/\" target=\"_blank\" rel=\"noopener\">emacs-mac<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u4f55\u6545\u304bmacOS\u3092Sonoma\u306b\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u305f\u3089\u30bf\u30a4\u30c8\u30eb\u30d0\u30fc\u304c\u592a\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/note.com\/5mingame2\/n\/ne5cb599c0684\" target=\"_blank\" rel=\"noopener\">macOS Sonoma\u306b\u3057\u305f\u3089Emacs\u306e\u30bf\u30a4\u30c8\u30eb\u30d0\u30fc\u304c\u592a\u304f\u306a\u3063\u305f&hellip;\uff01<\/a>\n\u306b\u3088\u308b\u3068\u3001\u6b21\u306e\u8a2d\u5b9a\u3092\u5165\u308c\u308b\u3068\u306a\u304a\u308b\u3088\u3046\u3067\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nv\">tool-bar-mode<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nv\">tool-bar-mode<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tall-titlebar-issue-on-macos-sonoma\/images\/titlebar-normal_hu_59093f92c7c708c5.png\" alt=\"\u306a\u304a\u308a\u307e\u3057\u305f\" \/>\n<\/p>\n<p>\u3046\u30fc\u3093\u3001\u8d77\u52d5\u3082\u9045\u304f\u306a\u3063\u305f\u3063\u307d\u3044\u3057\u3001workaround\u611f\u304c\u3059\u3054\u3044\u3002\u308f\u304b\u3093\u306a\u3044\u3067\u3059\u3051\u3069\u306a\u3093\u304b\u30d5\u30ec\u30fc\u30e0\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u3066\u3044\u308b\u3068\u304b\u305d\u3046\u3044\u3046\u611f\u3058\u306a\u3093\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p><a href=\"https:\/\/bitbucket.org\/mituharu\/emacs-mac\/commits\/5f6c306095c825eb01708e336f9d03c15271dfe9\" target=\"_blank\" rel=\"noopener\">emacs-mac\u306e\u65b9\u3067\u4fee\u6b63\u3092\u5165\u308c\u3066\u304f\u308c\u3066\u3044\u308b\u69d8\u5b50<\/a>\n\u306a\u306e\u3067\u3001\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u308b\u307e\u3067\u306f\u3053\u306eworkaround\u3067\u3057\u306e\u3044\u3067\u304a\u304f\u304f\u3089\u3044\u3057\u304b\u3067\u304d\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>"},{"title":"THEO\u89e3\u7d04\u30ec\u30dd\u30fc\u30c8","link":"https:\/\/blog.web-apps.tech\/theo-report\/","pubDate":"Mon, 05 Feb 2024 22:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/theo-report\/","description":"<p>2024\u5e74\u3001\u65b0NISA\u304c\u59cb\u307e\u308a\u307e\u3057\u305f\u306e\u3067\u3001\u624b\u6570\u6599\u304c\u9ad8\u3044THEO\u3092\u89e3\u7d04\u3057\u3066\u65b0NISA\u306b\u79fb\u3059\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<a href=\"https:\/\/blog.web-apps.tech\/line-security-report\/\">LINE\u8a3c\u5238<\/a>\n\u3068\u540c\u69d8\u3001\u8a18\u9332\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li>2018\u5e749\u67083\u65e5: THEO\u767b\u9332\u300110,000\u5186\/\u6708\u3067\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a<\/li>\n<li>2018\u5e7410\u670815\u65e5: \u521d\u56de\u5165\u91d1<\/li>\n<li>2020\u5e742\u670820\u65e5: 20,000\u5186\/\u6708\u306b\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a\u5909\u66f4<\/li>\n<li>2022\u5e743\u670828\u65e5: 10,000\u5186\/\u6708\u306b\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a\u5909\u66f4<\/li>\n<li>2023\u5e7412\u670829\u65e5: \u6700\u5f8c\u306e\u7a4d\u307f\u7acb\u3066\u304c\u7d42\u4e86<\/li>\n<\/ul>\n<p>\u7dcf\u7a4d\u7acb\u984d\u306f880,000\u5186\u3001\u30c8\u30fc\u30bf\u30eb\u30ea\u30bf\u30fc\u30f3\u306f330,325\u5186 (+37.54%)\u3067\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"LINE\u8a3c\u5238\u89e3\u7d04\u30ec\u30dd\u30fc\u30c8","link":"https:\/\/blog.web-apps.tech\/line-security-report\/","pubDate":"Wed, 31 Jan 2024 21:15:00 +0900","guid":"https:\/\/blog.web-apps.tech\/line-security-report\/","description":"<p>\u3042\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\u672c\u5e74\u3082\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002\u4e16\u9593\u3067\u306f\u65b0NISA\u304c\u8a71\u984c\u3067\u3059\u304c\u7686\u3055\u3093\u3044\u304b\u304c\u304a\u904e\u3054\u3057\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u6268\u3001LINE\u8a3c\u5238\u304c\u30b5\u30fc\u30d3\u30b9\u7d42\u4e86\u3068\u3044\u3046\u3053\u3068\u3067\u3001LINE\u8a3c\u5238\u3067\u7a4d\u307f\u7acb\u3066\u3066\u3044\u305f\u6295\u8cc7\u4fe1\u8a17\u3092\u30e1\u30a4\u30f3\u306e\u8a3c\u5238\u53e3\u5ea7\u306b\u79fb\u7ba1\u3057\u3066\u3001\u65b0NISA\u306b\u7a81\u3063\u8fbc\u3080\u3079\u304f\u58f2\u5374\u3057\u305f\u306e\u3067\u30ec\u30dd\u30fc\u30c8\u3068\u3057\u3066\u8a18\u9332\u306b\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u9298\u67c4\u306feMAXIS Slim\u7c73\u56fd\u682a\u5f0f(S&amp;P500)\u3001\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306f\u6b21\u306e\u901a\u308a:<\/p>\n<ul>\n<li>2022\u5e745\u6708: \u7a4d\u307f\u7acb\u3066\u958b\u59cb\u3001\u7a4d\u7acb\u984d\u306f17,000\u5186\/\u6708<\/li>\n<li>2022\u5e7412\u6708: \u7a4d\u7acb\u984d\u309227,000\u5186\/\u6708\u306b\u5897\u984d<\/li>\n<li>2023\u5e7411\u6708: \u6700\u5f8c\u306e\u7a4d\u307f\u7acb\u3066\u304c\u7d42\u4e86<\/li>\n<\/ul>\n<p>\u4fdd\u6709\u6570\u306f215,920\u53e3\u3001\u7a4d\u7acb\u7dcf\u984d\u306f443,000\u5186\u3001\u672c\u65e5(2024\u5e741\u670831\u65e5)\u6642\u70b9\u3067\u6982\u7b97\u8a55\u4fa1\u984d\u306f561,607\u5186\u3001\u8a55\u4fa1\u640d\u76ca\u306f+118,583\u5186\u3001\u8a55\u4fa1\u640d\u76ca\u7387\u306f+26.76%\u3067\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"\u30ef\u30a4\u30e4\u30ec\u30b9\u9001\u4fe1\u6a5f\u7528\u5ef6\u9577\u30b7\u30fc\u30eb\u30c9\u3092\u4f5c\u308b","link":"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/","pubDate":"Thu, 28 Dec 2023 01:47:40 +0900","guid":"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/","description":"<p>\u73fe\u5728\u3001\u30ae\u30bf\u30fc\u3092\u7df4\u7fd2\u3059\u308b\u3068\u304d\u3001\u6709\u7dda\u3067\u30b1\u30fc\u30d6\u30eb\u3092\u3064\u306a\u3050\u3068\u30a4\u30b9\u3067\u8e0f\u3093\u3067\u3057\u307e\u3063\u305f\u308a\u3001\u3042\u3061\u3053\u3061\u306b\u5f15\u3063\u304b\u304b\u3063\u3066\u3057\u307e\u3063\u305f\u308a\u3057\u3066\u4e0d\u4fbf\u306a\u306e\u3067\u3001<a href=\"https:\/\/line6.jp\/products\/relay-wireless\/g10-g10s.html\" target=\"_blank\" rel=\"noopener\">LINE6 Relay G10TII<\/a>\n\u3068\u3044\u3046\u30ef\u30a4\u30e4\u30ec\u30b9\u9001\u4fe1\u6a5f\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4eca\u4f7f\u7528\u3057\u3066\u3044\u308b\u30ae\u30bf\u30fc\u306f<a href=\"https:\/\/jp.yamaha.com\/products\/musical_instruments\/guitars_basses\/el_guitars\/pacifica\/pac_100.html\" target=\"_blank\" rel=\"noopener\">YAMAHA PACIFICA 112V<\/a>\n\u306a\u3093\u3067\u3059\u304c\u3001\u3053\u306e\u30ae\u30bf\u30fc\u3001\u30b5\u30a4\u30c9\u306b\u30b8\u30e3\u30c3\u30af\u304c\u3042\u308b\u3093\u3067\u3059\u3088\u306d\u3002\u305d\u3046\u3059\u308b\u3068\u3001\u30ef\u30a4\u30e4\u30ec\u30b9\u306e\u9001\u4fe1\u6a5f\u3001\u7279\u306bG10TII\u3084<a href=\"https:\/\/www.boss.info\/jp\/products\/wl-20_wl-20l\/\" target=\"_blank\" rel=\"noopener\">BOSS WL-20<\/a>\n\u306e\u69d8\u306a\u56db\u89d2\u3044\u30bf\u30a4\u30d7\u306e\u9001\u4fe1\u6a5f\u3092\u633f\u3059\u3068\u304b\u306a\u308a\u98db\u3073\u51fa\u308b\u683c\u597d\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u3001\u30aa\u30d5\u30a3\u30b9\u30c1\u30a7\u30a2\u306b\u5ea7\u3063\u3066\u7df4\u7fd2\u3092\u3057\u3066\u3044\u308b\u3068(\u5358\u306b\u30aa\u30d5\u30a3\u30b9\u30c1\u30a7\u30a2\u3068\u30ae\u30bf\u30fc\u7df4\u7fd2\u306e\u76f8\u6027\u304c\u60aa\u3044\u3001\u3068\u3044\u3046\u70b9\u306f\u3055\u3066\u304a\u304d)\u3076\u3064\u3051\u3066\u6298\u3063\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u4e0d\u5b89\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/guitar_wireless_hu_7416de34f8d9a80a.jpg\" alt=\"\u30ae\u30bf\u30fc\u304b\u3089\u30ef\u30a4\u30e4\u30ec\u30b9\u9001\u4fe1\u6a5f\u304c\u306f\u307f\u51fa\u308b\u306e\u56f3\" \/>\n<\/p>\n<p>\u4e00\u5fdcL\u5b57\u306e\u30a2\u30c0\u30d7\u30bf\u306f\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u3088\u3046\u306a\u6c17\u3082\u3057\u307e\u3059\u3051\u308c\u3069\u3001\u4e38\u307f\u306e\u3042\u308b\u30ae\u30bf\u30fc\u306e\u5074\u9762\u306bL\u5b57\u30a2\u30c0\u30d7\u30bf\u3092\u633f\u3057\u3066\u3082\u3001\u7d50\u5c40\u9055\u3046\u65b9\u5411\u306b\u306f\u307f\u51fa\u308b\u306e\u306f\u3042\u307e\u308a\u5909\u308f\u3089\u306a\u3044\u306a\u3001\u3068\u3044\u3046\u3053\u3068\u3067L\u5b57\u30d7\u30e9\u30b0\u306b\u77ed\u3044\u30b1\u30fc\u30d6\u30eb\u304c\u3064\u3044\u3066\u3044\u308b\u3001\u3044\u308f\u3070\u300c\u5ef6\u9577\u30b1\u30fc\u30d6\u30eb\u300d\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u3001\u4f55\u6545\u30e9\u30a4\u30d6\u524d\u306b\u4f5c\u3089\u306a\u304b\u3063\u305f\u306e\u304b\u3001\u3068\u3044\u3046\u554f\u3044\u306b\u306f\u7b54\u3048\u3089\u308c\u307e\u305b\u3093\u3002<\/p>\n<h2 id=\"\u6750\u6599\">\u6750\u6599<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/material_hu_5256b67736ff78f2.jpg\" alt=\"\u6750\u6599\u306e\u5199\u771f\" \/>\n<\/p>\n<ul>\n<li>\u4efb\u610f\u306eL\u5b57\u30d7\u30e9\u30b0\n<ul>\n<li>\u4eca\u56de\u306f<a href=\"https:\/\/shop.oyaide.com\/products\/p-63l_6mm.html\" target=\"_blank\" rel=\"noopener\">\u30aa\u30e4\u30a4\u30c7\u306e\u8d85\u5c0f\u578b\u306a\u5974<\/a>\n\u3002\u4f7f\u3063\u3066\u307f\u305f\u304b\u3063\u305f\u306e\u3067\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u4efb\u610f\u306e\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\n<ul>\n<li>\u4eca\u56de\u306f<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/132656\/\" target=\"_blank\" rel=\"noopener\">TOMOCA JS-504<\/a>\n\u3002\u898b\u305f\u76ee\u304c\u826f\u304b\u3063\u305f\u306e\u3067\u3002<\/li>\n<li><a href=\"https:\/\/www.sengoku.co.jp\/mod\/sgk_cart\/search.php?cid=3414\" target=\"_blank\" rel=\"noopener\">\u5343\u77f3\u96fb\u5546<\/a>\n\u3068\u304b\u3067\u3082\u3063\u3068\u5b89\u3044\u306e\u3082\u8cb7\u3048\u308b\u3051\u3069\u3001\u9001\u6599\u304c\u304b\u304b\u308b\u306e\u3067\u901a\u8ca9\u3060\u3068\u5b9f\u8ceaTOMOCA JS-504\u4e00\u629e\u3002\u79cb\u8449\u539f\u306b\u3088\u304f\u884c\u304f\u4eba\u306f<a href=\"https:\/\/www.sengoku.co.jp\/shop_01.html\" target=\"_blank\" rel=\"noopener\">\u5343\u77f3\u96fb\u5546\u79cb\u8449\u539f\u672c\u5e97<\/a>\n\u306e2\u968e\u304b\u3001\u30e9\u30b8\u30aa\u4f1a\u9928\u306e<a href=\"https:\/\/www.tomoca.co.jp\/shop\/proshop\/\" target=\"_blank\" rel=\"noopener\">\u30c8\u30e2\u30ab\u96fb\u6c17\u30d7\u30ed\u30b7\u30e7\u30c3\u30d7<\/a>\n\u306b\u884c\u304f\u3068\u30bd\u30ec\u3063\u307d\u3044\u30e2\u30ce\u304c\u58f2\u3063\u3066\u3044\u307e\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u4efb\u610f\u306e\u5358\u82af\u30b7\u30fc\u30eb\u30c9\u30b1\u30fc\u30d6\u30eb\n<ul>\n<li>\u4eca\u56de\u306f<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/22872\/\" target=\"_blank\" rel=\"noopener\">CANARE GS-6<\/a>\n\u3002\u3069\u5b9a\u756a\u3060\u3057\u3001\u305f\u307e\u305f\u307e\u5b89\u304f\u58f2\u3063\u3066\u305f\u306e\u3067\u3002<\/li>\n<li>PACIFICA 112V\u306e\u5834\u5408\u306f25cm\u4f4d\u7528\u610f\u3059\u308c\u3070\u3061\u3087\u3046\u3069\u3088\u3055\u305d\u3046<\/li>\n<\/ul>\n<\/li>\n<li>\u4f55\u304b\u7d76\u7e01\u3059\u308b\u5974\n<ul>\n<li>\u7121\u304f\u3066\u3082\u826f\u3044\u3002<a href=\"https:\/\/shop.oyaide.com\/asf-110_5.html\" target=\"_blank\" rel=\"noopener\">\u30d5\u30c3\u7d20\u30c6\u30fc\u30d7<\/a>\n\u3068\u304b\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3068\u304b\u3002\u30db\u30fc\u30e0\u30bb\u30f3\u30bf\u30fc\u3068\u304b\u3067\u8cb7\u3063\u3066\u304d\u3066\u3082\u826f\u3044\u3057\u3001\u3054\u5bb6\u5ead\u306b\u5728\u5eab\u3057\u3066\u3044\u308b\u9069\u5f53\u306a\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u4f7f\u3063\u3066\u3082\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u4efb\u610f\u306e\u534a\u7530\n<ul>\n<li>\u6750\u6599\u3068\u3044\u3046\u304b\u5de5\u5177\u3068\u3044\u3046\u304b\uff1f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u5de5\u5177\">\u5de5\u5177<\/h2>\n<ul>\n<li>\u4efb\u610f\u306e\u534a\u7530\u3054\u3066<\/li>\n<li>\u534a\u7530\u5438\u3044\u53d6\u308a\u7dda\n<ul>\n<li>\u7121\u304f\u3066\u3082\u826f\u3044\u3051\u3069\u3001\u30df\u30b9\u3057\u305f\u5834\u5408\u3092\u8003\u3048\u308b\u3068\u6301\u3063\u3066\u3044\u305f\u65b9\u304c\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u4efb\u610f\u306e\u30cb\u30c3\u30d1\u30fc\u307e\u305f\u306f\u30ab\u30c3\u30bf\u30fc\u307e\u305f\u306f\u307e\u305f\u306f\u30ef\u30a4\u30e4\u30fc\u30b9\u30c8\u30ea\u30c3\u30d1\u30fc<\/li>\n<li>\u30c6\u30b9\u30bf\u30fc\n<ul>\n<li>\u7121\u304f\u3066\u3082\u826f\u3044\u3051\u3069\u5c0e\u901a\u30c1\u30a7\u30c3\u30af\u306f\u3057\u305f\u65b9\u304c\u5b89\u5fc3<\/li>\n<\/ul>\n<\/li>\n<li>(\u30aa\u30e4\u30a4\u30c7\u306eSuperSlim\u30b7\u30ea\u30fc\u30ba\u3092\u4f7f\u3046\u5834\u5408)\u4efb\u610f\u306e\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\/\u30b4\u30e0\u30cf\u30f3\u30de\u30fc<\/li>\n<li>(\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u4f7f\u3046\u5834\u5408)\u4efb\u610f\u306e\u30d2\u30fc\u30c8\u30ac\u30f3\n<ul>\n<li>\u30c9\u30e9\u30a4\u30e4\u30fc\u306a\u3069\u3067\u3082\u4ee3\u7528\u3067\u304d\u308b\u3051\u3069\u3001\u3042\u3063\u305f\u65b9\u304c\u4fbf\u5229<\/li>\n<\/ul>\n<\/li>\n<li>\u30c4\u30fc\u30eb\u30af\u30ea\u30c3\u30d7\n<ul>\n<li>\u571f\u53f0\u306b\u8155\u3068\u30af\u30ea\u30c3\u30d7\u304c\u3064\u3044\u3066\u3044\u3066\u3001\u306f\u3093\u3060\u4ed8\u3051\u3059\u308b\u5bfe\u8c61\u3092\u56fa\u5b9a\u3067\u304d\u308b\u3084\u3064<\/li>\n<li>\u3053\u308c\u3082\u306a\u304f\u3066\u3082\u826f\u3044\u3051\u3069\u3001\u30b1\u30fc\u30d6\u30eb\u306e\u306f\u3093\u3060\u4ed8\u3051\u306f\u7d30\u304b\u3044\u3057\u3001\u30b1\u30fc\u30d6\u30eb\u306f\u610f\u5916\u3068\u306e\u305f\u3046\u3061\u56de\u3063\u3066\u306f\u3093\u3060\u4ed8\u3051\u304c\u96e3\u3057\u3044\u306e\u3067\u3042\u3063\u305f\u65b9\u304c\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u4f5c\u6210\u624b\u9806\">\u4f5c\u6210\u624b\u9806<\/h2>\n<ol>\n<li>\u76ee\u7b97\u3067\u5916\u5074\u306e\u88ab\u8986\u3092\u5265\u304f\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/wire_hu_9f34e19b2a12614e.jpg\" alt=\"\u88ab\u8986\u3092\u5265\u3044\u305f\u7dda\" \/>\n<\/li>\n<li>\u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u307b\u3050\u3059\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/shield_hu_586b37627c599424.jpg\" alt=\"\u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u307b\u3050\u3057\u305f\u7dda\" \/>\n<\/li>\n<li>L\u5b57\u30d7\u30e9\u30b0\u3092\u3064\u3051\u308b (\u4ee5\u4e0b\u30aa\u30e4\u30a4\u30c7SuperSlim\u306e\u5834\u5408)\n<ol>\n<li>\u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u3056\u3063\u304f\u308a\u4e8c\u3064\u306b\u5206\u3051\u3066\u82af\u7dda\u306b\u5dfb\u304f\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/shield_2_hu_cde737977609bcde.jpg\" alt=\"\u82af\u7dda\u306b\u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u5dfb\u3044\u305f\u7dda\" \/>\n<\/li>\n<li>\u82af\u7dda\u3092\u5265\u304f\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/core_hu_2f8cb6a397cde7fb.jpg\" alt=\"\u82af\u7dda\u3092\u5265\u3044\u305f\u7dda\" \/>\n<\/li>\n<li>\u30ab\u30d0\u30fc\uff1f\u30cf\u30a6\u30b8\u30f3\u30b0\uff1f\u3092\u306f\u305a\u3057\u305f\u30aa\u30e4\u30a4\u30c7SueprSlim\u306b\u5dee\u3057\u8fbc\u307fTIP(+)\u306b\u306f\u3093\u3060\u4ed8\u3051\u3059\u308b\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/soldering_1_hu_32b50d33bb4f2c0e.jpg\" alt=\"TIP\u306b\u306f\u3093\u3060\u4ed8\u3051\" \/>\n<\/li>\n<li>\u30af\u30e9\u30f3\u30d7\u5074\u9762\u306e\u7a74\u304b\u3089\u306f\u3093\u3060\u3092\u6d41\u3057\u8fbc\u3080\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/soldering_2_hu_cdc6c75fdefb0544.jpg\" alt=\"\u30af\u30e9\u30f3\u30d7\u7a74\u306b\u306f\u3093\u3060\u3092\u6d41\u3057\u8fbc\u3080\" \/>\n<\/li>\n<li>\u5c0e\u901a\u30c1\u30a7\u30c3\u30af\u3092\u3059\u308b<\/li>\n<li>\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u5dee\u3057\u8fbc\u3093\u3067\u52a0\u71b1\u3057\u3066\u53ce\u7e2e\u3055\u305b\u308b\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/heat_shrink_tube_hu_c7db34335b195bb4.jpg\" alt=\"\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u3064\u3051\u305f\u56f3\" \/>\n<\/li>\n<li>\u30ab\u30d0\u30fc\u3092\u3064\u3051\u308b<\/li>\n<li>\u6a39\u8102\u30ad\u30e3\u30c3\u30d7\u3092\u4e57\u305b\u3066\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u30cf\u30f3\u30de\u30fc\/\u30b4\u30e0\u30cf\u30f3\u30de\u30fc\u3067\u53e9\u3044\u3066\u306f\u3081\u8fbc\u3080<\/li>\n<\/ol>\n<\/li>\n<li>\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\u3092\u3064\u3051\u308b (\u4ee5\u4e0bTOMOCA JS-504\u306e\u5834\u5408)\n<ol>\n<li>\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\u306e\u30ab\u30d0\u30fc\u3092\u5dee\u3057\u8fbc\u3080 (\u3053\u308c\u3092\u5fd8\u308c\u3066\u306f\u3093\u3060\u4ed8\u3051\u3059\u308b\u3068\u3084\u308a\u76f4\u3057\u306b\u306a\u308b\u306e\u3067\u6ce8\u610f\u3002\u79c1\u306f\u3084\u308a\u76f4\u3057\u307e\u3057\u305f)<\/li>\n<li>\u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u9069\u5f53\u306b\u307e\u3068\u3081\u308b<\/li>\n<li>\u82af\u7dda\u3092\u5265\u3044\u3066\u4e8c\u3064\u306b\u5206\u3051\u308b\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/wire_for_jack_hu_de33d5ab0dd4bcf0.jpg\" alt=\"\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\u7528\u306e\u7dda\" \/>\n<\/li>\n<li>\u30b7\u30fc\u30eb\u30c9\u7dda\u3001\u82af\u7dda\u306e\u9806\u306b\u306f\u3093\u3060\u4ed8\u3051\u3092\u3059\u308b (\u30d5\u30c3\u7d20\u30c6\u30fc\u30d7\u3084\u30d3\u30cb\u30fc\u30eb\u30c6\u30fc\u30d7\u306a\u3069\u7d76\u7e01\u3059\u308b\u30e2\u30ce\u306e\u7528\u610f\u304c\u3042\u308c\u3070\u7d76\u7e01\u3057\u3066\u304a\u304f\u3068\u5b89\u5fc3)\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/soldering_3_hu_5f6d19e32681b9dc.jpg\" alt=\"\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\u3092\u306f\u3093\u3060\u4ed8\u3051\u3057\u305f\u56f3\" \/>\n<\/li>\n<li>\u30ab\u30d0\u30fc\u3092\u3064\u3051\u308b<\/li>\n<\/ol>\n<\/li>\n<li>\u5b8c\u6210!\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/wireless_extension_cable_hu_371a95ec4c51b69e.jpg\" alt=\"\u5b8c\u6210\u54c1\" \/>\n<\/li>\n<\/ol>\n<h2 id=\"\u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3059\">\u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3059<\/h2>\n<p>\u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3059\u3068\u3053\u3093\u306a\u611f\u3058:\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/images\/with_guitar_hu_7b6f480260fab571.jpg\" alt=\"\u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3057\u305f\u56f3\" \/>\n<\/p>"},{"title":"Tech Rock Festival 2023","link":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/","pubDate":"Mon, 25 Dec 2023 23:32:00 +0900","guid":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/","description":"<p>2023\u5e7412\u670823\u65e5\u306b\u65b0\u5bbfSUNFACE\u3067\u958b\u50ac\u3055\u308c\u305fIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u3088\u308bIT\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u305f\u3081\u306e\u30ed\u30c3\u30af\u30a4\u30d9\u30f3\u30c8Tech Rock Festival 2023\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u7d4c\u7def\">\u7d4c\u7def<\/h2>\n<p>\u4e8b\u306e\u767a\u7aef\u306f\u67d0GAFA\u793e\u9577\u3067\u3042\u308b\u3068\u3053\u308d\u306e<a href=\"https:\/\/twitter.com\/jyoshise\" target=\"_blank\" rel=\"noopener\">@jyoshise<\/a>\nsan\u306b\u3088\u308b\u6b21\u306e\u30c4\u30a4\u30fc\u30c8\u3067\u3057\u305f:\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u30a8\u30f3\u30b8\u30cb\u30a2\u754c\u9688\u3067\u697d\u5668\u3084\u3063\u3066\u308b\u4eba\u3001\u79cb\u3050\u3089\u3044\u306b\u30e9\u30a4\u30d6\u3084\u308a\u307e\u305b\u3093\u304b\u30fc\uff01\uff1f<\/p>&mdash; jyoshise (@jyoshise) <a href=\"https:\/\/twitter.com\/jyoshise\/status\/1671887548791287811?ref_src=twsrc%5Etfw\">June 22, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/p>\n<p>\u3069\u3046\u3084\u3089\u3001\u30a8\u30f3\u30b8\u30cb\u30a2\u754c\u9688\u3001\u7d50\u69cb\u97f3\u697d\u3084\u3063\u3066\u3044\u308b\u5974\u3044\u308b\u305e\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u7acb\u3061\u4e0a\u304c\u3063\u305f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3059\u304c\u3001\u7fcc\u65e5\u306b\u306fGitHub Repository\u304c\u7acb\u3066\u3089\u308c:<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">Repo\u7acb\u3066\u307e\u3057\u305f\u30fc\uff01<a href=\"https:\/\/t.co\/4OqYjugBBr\">https:\/\/t.co\/4OqYjugBBr<\/a> <a href=\"https:\/\/t.co\/ncT3tKxWDG\">https:\/\/t.co\/ncT3tKxWDG<\/a><\/p>&mdash; jyoshise (@jyoshise) <a href=\"https:\/\/twitter.com\/jyoshise\/status\/1672093299732250624?ref_src=twsrc%5Etfw\">June 23, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>7\u6708\u306e\u982d\u306b\u306f\u7533\u3057\u8fbc\u307f\u7de0\u5207\u300113\u65e5\u306b\u306f\u30d0\u30f3\u30c9\u632f\u308a\u5206\u3051\u304c\u7d42\u308f\u308a\u3001\u4f1a\u5834\u3082\u6c7a\u307e\u308a\u3001\u7df4\u7fd2\u3092\u9032\u3081\u3066\u3001\u5148\u9031\u306e\u571f\u66dc\u65e5\u3064\u3044\u306b\u958b\u50ac\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\u6f14\u8005\u304c\u30a8\u30f3\u30b8\u30cb\u30a2\u3068\u3044\u3046\u90fd\u5408\u4e0a\u3001\u5927\u304d\u3081\u306e\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3068\u304b\u3076\u3089\u306a\u3044\u3088\u3046\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u3067\u8abf\u6574\u306e\u7d50\u679c\u300112\u6708\u672b\u306f\u76ee\u7acb\u3063\u305f\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3082\u306a\u3044\u3060\u308d\u3046\u3068\u3044\u3046\u3053\u3068\u306712\u670823\u65e5\u306e\u958b\u50ac\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6982\u306d\u6f14\u8005\u3060\u3051\u3067\u4f1a\u5834\u306f\u4e00\u676f\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001<a href=\"https:\/\/trf.connpass.com\/event\/293949\/\" target=\"_blank\" rel=\"noopener\">\u4e00\u822c\u30aa\u30fc\u30c7\u30a3\u30a8\u30f3\u30b9\u3082\u52df\u96c6\u3057\u3066\u3044\u307e\u3057\u305f<\/a>\n\u3002<\/p>\n<h2 id=\"\u30d0\u30f3\u30c9\u3068\u6f14\u76ee\">\u30d0\u30f3\u30c9\u3068\u6f14\u76ee<\/h2>\n<p>\u79c1\u305f\u3061\u306e\u30d0\u30f3\u30c9\u306f3-way handshake\u3068\u3044\u3046\u540d\u524d\u3067\u3001\u5f53\u521d\u30d0\u30f3\u30c9\u306b\u632f\u3089\u308c\u305f\u9023\u756a\u304c3\u3067\u3042\u3063\u305f\u3053\u3068\u304b\u3089\u30013\u306b\u95a2\u9023\u3059\u308b\u6280\u8853\u3063\u307d\u3044\u8a00\u8449\u3067\u30d0\u30f3\u30c9\u540d\u3063\u307d\u304f\u3082\u3042\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3053\u306e\u540d\u524d\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u9762\u5b50\u306f\u4ee5\u4e0b\u306e\u901a\u308a:<\/p>\n<ul>\n<li>Vo: <a href=\"https:\/\/twitter.com\/tsukaman\" target=\"_blank\" rel=\"noopener\">tsukaman<\/a>\n<\/li>\n<li>Gt: <a href=\"https:\/\/twitter.com\/yoshiyama_hana\" target=\"_blank\" rel=\"noopener\">\u3058\u3085\u3093\u3058\u3085\u3093<\/a>\n<\/li>\n<li>Gt: <a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">nasa9084<\/a>\n<\/li>\n<li>Ba: <a href=\"https:\/\/twitter.com\/karupanerura\" target=\"_blank\" rel=\"noopener\">karupanerura<\/a>\n<\/li>\n<li>Key: <a href=\"https:\/\/twitter.com\/yb300k\" target=\"_blank\" rel=\"noopener\">harak<\/a>\n<\/li>\n<li>Dr: <a href=\"https:\/\/twitter.com\/r315dr\" target=\"_blank\" rel=\"noopener\">\u76ae\u3057\u3070\u304d<\/a>\n<\/li>\n<\/ul>\n<p>\u305d\u3057\u3066\u66f2\u76ee\u306f\u6b21\u306e\u901a\u308a\u3067\u3057\u305f:<\/p>\n<ol>\n<li>\u6df1\u591c\u9ad8\u901f \/ \u30d5\u30e9\u30ef\u30fc\u30ab\u30f3\u30d1\u30cb\u30fc\u30ba<\/li>\n<li>\u3070\u3089\u306e\u82b1 \/ \u304f\u308b\u308a<\/li>\n<li>\u6b69\u3044\u3066\u5e30\u308d\u3046 \/ \u6589\u85e4\u548c\u7fa9<\/li>\n<li>\u7fa4\u9752\u65e5\u548c \/ \u6771\u4eac\u4e8b\u5909<\/li>\n<\/ol>\n<h2 id=\"\u6a5f\u6750\">\u6a5f\u6750<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/images\/guitar_hu_ca5d79bd8c9e0cfe.jpg\" alt=\"YAMAHA PACIFICA 112V\" \/>\n<\/p>\n<p>\u30ae\u30bf\u30fc\u306f<a href=\"https:\/\/jp.yamaha.com\/products\/musical_instruments\/guitars_basses\/el_guitars\/pacifica\/pac_100.html\" target=\"_blank\" rel=\"noopener\">YAMAHA PACIFICA 112V<\/a>\n\u3067\u3059\u3002<\/p>\n<p>\u6b63\u76f4\u306b\u8a00\u3046\u3068\u3001\u5f53\u521d600\u30b7\u30ea\u30fc\u30ba\u3092\u8cb7\u304a\u3046\u3068\u601d\u3063\u305f\u3051\u3069\u67d0\u30a2\u30cb\u30e1\u306e\u5f71\u97ff\u3067\u5168\u7136\u8cb7\u3048\u306a\u304f\u3066\u3001\u59a5\u5354\u3067\u8cb7\u3063\u305f\u30ae\u30bf\u30fc\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u826f\u3044\u30ae\u30bf\u30fc\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u5f26\u306fElixir Optiweb 09-42\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/images\/effector_hu_5dc42f42be04b435.jpg\" alt=\"\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\" \/>\n<\/p>\n<p>\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306f<a href=\"https:\/\/zoomcorp.com\/ja\/jp\/multi-effects\/guitar-effects\/g1-four-g1x-four\/\" target=\"_blank\" rel=\"noopener\">ZOOM G1 FOUR<\/a>\n\u3067\u3059\u3079\u3066\u3092\u6e08\u307e\u305b\u307e\u3057\u305f\u3002\u7df4\u7fd2\u3067\u306f<a href=\"https:\/\/jp.yamaha.com\/products\/musical_instruments\/guitars_basses\/amps_accessories\/thr-ii\/index.html\" target=\"_blank\" rel=\"noopener\">THR10II Wireless<\/a>\n\u306b\u7121\u7dda\u3067\u7e4b\u3044\u3067\u3044\u308b\u306e\u3067\u3001\u6709\u7dda\u3067\u3084\u308b\u306e\u306f\u3084\u3060\u306a\u301c\u3068\u601d\u3063\u3066\u3001<a href=\"https:\/\/line6.jp\/products\/accessory\/#G10SR\" target=\"_blank\" rel=\"noopener\">LINE6 Relay G10SR<\/a>\n\u3092\u8cfc\u5165\u3057\u3066\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u3067\u3082\u7121\u7dda\u3067\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30c1\u30e5\u30fc\u30ca\u30fc\u306fG1 FOUR\u306b\u3082\u3064\u3044\u3066\u306f\u3044\u308b\u3093\u3067\u3059\u304c\u3001\u624b\u524d\u306b\u5c02\u7528\u306e\u30e2\u30ce\u3092\u7528\u610f\u3057\u305f\u65b9\u304c\u898b\u3084\u3059\u3044\u3057\u3001\u30df\u30e5\u30fc\u30c8\u3082\u3067\u304d\u3066\u4fbf\u5229\u3060\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u3067<a href=\"https:\/\/www.tcelectronic.com\/product.html?modelCode=P0CM0\" target=\"_blank\" rel=\"noopener\">tc electronic POLYTUNE3<\/a>\n\u3092\u5165\u308c\u307e\u3057\u305f\u3002mini\u3060\u3068\u9ed2\u304c\u3042\u3063\u3066\u3088\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u30b7\u30e5\u30c3\u3068\u624b\u306b\u5165\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u666e\u901a\u306e\u30b5\u30a4\u30ba\u306b\u3057\u307e\u3057\u305f\u3002<\/p>"},{"title":"2023\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u30e2\u30ce","link":"https:\/\/blog.web-apps.tech\/2023-must-buy\/","pubDate":"Sat, 16 Dec 2023 02:09:00 +0900","guid":"https:\/\/blog.web-apps.tech\/2023-must-buy\/","description":"<p>\u3082\u30462023\u5e74\u3082\u7d42\u308f\u308a\u307e\u3059\u306d\u3002<a href=\"https:\/\/blog.web-apps.tech\/2022-must-buy\/\" target=\"_blank\" rel=\"noopener\">2022\u5e74\u306e\u8a18\u4e8b<\/a>\n\u306f\u4e3b\u306b\u8eca\u3068\u30a2\u30af\u30a2\u30ea\u30a6\u30e0\u3067\u3057\u305f\u3002\u4eca\u5e74\u306f\u4e3b\u306b\u55ab\u8336\u7cfb\u3068\u30ae\u30bf\u30fc\u3067\u3059\u306d\u3002<\/p>\n<h2 id=\"\u55ab\u8336\u7cfb\">\u55ab\u8336\u7cfb<\/h2>\n<ul>\n<li><a href=\"https:\/\/kigu.coffee\/products\/ode-brew-grinder-gen2\" target=\"_blank\" rel=\"noopener\">Fellow ODE Gen2<\/a>\n<ul>\n<li>\u6b63\u76f4\u30af\u30bd\u9ad8\u3044\u3051\u3069\u3001\u4f7f\u3044\u3084\u3059\u3044\u3057\u306f\u3084\u304f\u5b89\u5b9a\u3057\u305f\u633d\u304d\u76ee\u3067\u5f3e\u3044\u3066\u304f\u308c\u308b\u306e\u3067\u3068\u3066\u3082\u826f\u3044\u3067\u3059\u3002\u5bb6\u5ead\u7528\u306b\u306f\u73cd\u3057\u304f\u30ce\u30c3\u30ab\u30fc\u304c\u3064\u3044\u3066\u3044\u308b\u306e\u3082\u826f\u3044\u3068\u3053\u308d\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.nitori-net.jp\/ec\/product\/8944234s\/\" target=\"_blank\" rel=\"noopener\">\u30cb\u30c8\u30ea \u30c9\u30ea\u30c3\u30d7\u30ab\u30c3\u30d7<\/a>\n<ul>\n<li>\u5c0f\u3055\u304f\u3066\u53d6\u308a\u56de\u3057\u629c\u7fa4\u30021\u676f\u5206\u3092\u5165\u308c\u308b\u306b\u306f\u5168\u7136\u56f0\u3089\u306a\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.hario.com\/product\/tea\/teadripper\/CDB.html\" target=\"_blank\" rel=\"noopener\">HARIO \u8336\u8336\u30c9\u30ea\u30c3\u30d1\u30fc\u30fb\u30d6\u30fc\u30b1 \u30b5\u30fc\u30d0\u30fc\u30bb\u30c3\u30c8<\/a>\n<ul>\n<li>\u8336\u306e\u985e\u3044\u306e\u30e2\u30ce\u3092\u6df9\u308c\u308b\u306e\u306b\u3081\u3063\u3061\u3083\u4fbf\u5229\u3002\u30b5\u30fc\u30d0\u30fc\u306f\u30a2\u30a4\u30b9\u3067\u306f\u3068\u3066\u3082\u4fbf\u5229\u3060\u3051\u3069\u3001\u30db\u30c3\u30c8\u306f\u71b1\u304f\u3066\u6301\u3066\u306a\u304f\u306a\u308b\u306e\u3067\u6ce8\u610f\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/46VT1xE\" target=\"_blank\" rel=\"noopener\">\u30b5\u30fc\u30e2\u30b9 \u771f\u7a7a\u65ad\u71b1\u30c6\u30a3\u30fc\u30dd\u30c3\u30c8<\/a>\n<ul>\n<li>\u6e29\u304b\u3044\u98f2\u7269\u304c\u7f8e\u5473\u3057\u3044\u5b63\u7bc0\u306b\u306a\u3063\u305f\u306e\u3067\u8cb7\u3063\u3066\u307f\u305f\u3002\u4fdd\u6e29\u6027\u80fd\u306f\u3082\u3061\u308d\u3093\u30de\u30b0\u30ab\u30c3\u30d7\u3088\u308a\u306f\u5727\u5012\u7684\u306b\u3044\u3044(1\u6642\u9593\u305d\u3053\u305d\u3053\u306f\u4fdd\u6e29\u3057\u3066\u304f\u308c\u308b)\u3051\u3069\u3001\u305d\u308c\u3088\u308a\u3082\u30b3\u30fc\u30d2\u30fc\u30b5\u30fc\u30d0\u30fc\u3068\u3057\u3066\u4f7f\u3048\u308b\u5c0f\u578b\u306e\u65ad\u71b1\u30dd\u30c3\u30c8\u3001\u3068\u3044\u3046\u30e2\u30ce\u304c\u4fbf\u5229\u3002\u8abf\u3079\u305f\u611f\u3058\u3067\u306f\u3053\u308c\u304c\u552f\u4e00\u89e3\u3002\u306a\u304a\u30c6\u30a3\u30fc\u30b9\u30c8\u30ec\u30fc\u30ca\u30fc\u306f\u8981\u3089\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.loveramics.com\/collections\/james-hoffmann\/products\/champions-signature-set-of-2-beans-dosing-trays\" target=\"_blank\" rel=\"noopener\">LOVERAMICS BEANS DOSING TRAYS<\/a>\n<ul>\n<li>James Hoffmann\u30b3\u30e9\u30dc\u306e\u3001\u30b3\u30fc\u30d2\u30fc\u8c46\u3092\u8a08\u308b\u305f\u3081\u3060\u3051\u306e\u5668\u3002\u7d76\u5bfe\u5fc5\u8981\u306a\u30e2\u30ce\u3067\u306f\u306a\u3044\u3051\u3069\u3001\u304b\u308f\u3044\u3044\u3057\u30c6\u30f3\u30b7\u30e7\u30f3\u304c\u4e0a\u304c\u308b\u306e\u3067\u30aa\u30b9\u30b9\u30e1\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30ae\u30bf\u30fc\u95a2\u9023\">\u30ae\u30bf\u30fc\u95a2\u9023<\/h2>\n<ul>\n<li><a href=\"https:\/\/jp.yamaha.com\/products\/musical_instruments\/guitars_basses\/el_guitars\/pacifica\/pac_100.html\" target=\"_blank\" rel=\"noopener\">YAMAHA PACIFICA112V<\/a>\n<ul>\n<li>\u307c\u3056\u308d\u5f71\u97ff\u3067600\u30b7\u30ea\u30fc\u30ba\u304c\u5728\u5eab\u7121\u304f\u3066112V\u306b\u3057\u305f\u3051\u3069\u3001\u3061\u3087\u3063\u3068\u5f3e\u304f\u304f\u3089\u3044\u306a\u3089\u3053\u308c\u3067\u5168\u7136\u5341\u5206\u3002600\u30b7\u30ea\u30fc\u30ba\u6b32\u3057\u304f\u306a\u3063\u3066\u304d\u3066\u308b\u3051\u3069\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/262563\/\" target=\"_blank\" rel=\"noopener\">G7th Performance 3 ART Capo Black<\/a>\n<ul>\n<li>\u3061\u3087\u3063\u3068\u30ab\u30dd\u3068\u3057\u3066\u306f\u304a\u9ad8\u3044\u3051\u3069\u3001\u304b\u306a\u308a\u4f7f\u3044\u3084\u3059\u3044\u3067\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/296867\/\" target=\"_blank\" rel=\"noopener\">\u306d\u3053\u3060\u307e\u308a\u5de5\u623f\/\u81ea\u5bb6\u88fd\u30af\u30ea\u30a2\u871c\u874b\u30ef\u30c3\u30af\u30b9 \u967d\u3060\u307e\u308a\u306e\u9999\u308a <\/a>\n<ul>\n<li>\u597d\u307f\u306e\u9999\u308a\u3060\u3063\u305f\u3002\u9650\u5b9a\u54c1\u3089\u3057\u304fsoundhouse\u3067\u306f\u3082\u3046\u8ca9\u58f2\u7d42\u4e86\u3057\u3066\u3044\u308b\u3051\u3069\u3001\u30cd\u30c3\u30c8\u901a\u8ca9\u3067\u306f\u307e\u3060\u624b\u306b\u5165\u308b\u3068\u3053\u308d\u304c\u3042\u308a\u305d\u3046\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/245586\/\" target=\"_blank\" rel=\"noopener\">MASTER 8 JAPAN INFINIX JAZZ TYPE HARD GRIP<\/a>\n<ul>\n<li>\u3053\u306e\u30b7\u30ea\u30fc\u30ba\u306f\u5168\u90e8\u63c3\u3048\u3066\u307f\u305f\u3051\u3069\u3001HARD GRIP\u30bf\u30a4\u30d7\u304c\u30b0\u30ea\u30c3\u30d7\u611f\u304c\u5f37\u304f\u3066\u826f\u3044\u3002\u8584\u3055\u306f\u304a\u597d\u307f\u3067\u3002INFINIX-U\u3067\u3082\u3088\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/170995\/\" target=\"_blank\" rel=\"noopener\">PEDALTRAIN NANO<\/a>\n<ul>\n<li>\u8d85\u5c0f\u578b\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u3002<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/301481\/\" target=\"_blank\" rel=\"noopener\">G10SR<\/a>\n\u3001<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/236578\/\" target=\"_blank\" rel=\"noopener\">Polytune3<\/a>\n\u3001<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/260949\/\" target=\"_blank\" rel=\"noopener\">G1 FOUR<\/a>\n\u3067\u3074\u3063\u305f\u308a\u3001\u3068\u3044\u3046\u611f\u3058\u306e\u69cb\u6210\u3002\u96fb\u6e90\u306f<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/329785\/\" target=\"_blank\" rel=\"noopener\">VITAL AUDIO POWER CARRIER VA-05 MkII<\/a>\n\u304c\u826f\u3044\u30b5\u30a4\u30ba\u3002\u30de\u30eb\u30c1\u306fGT1000-core\u3092\u8cb7\u3046\u304b\u691c\u8a0e\u4e2d\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/254283\/\" target=\"_blank\" rel=\"noopener\">\u30a2\u30eb\u30c8\u30d9\u30f3\u30ea<\/a>\n<ul>\n<li>\u3061\u3087\u3063\u3068\u30b5\u30a4\u30ba\u304c\u5408\u308f\u306a\u3044\u306e\u3067\u30c6\u30a3\u30c3\u30b7\u30e5\u3092\u8a70\u3081\u3066\u4f7f\u3063\u3066\u3044\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/255864\/\" target=\"_blank\" rel=\"noopener\">HERCULES GS414B PLUS<\/a>\n<ul>\n<li>\u5b89\u5b9a\u611f\u629c\u7fa4\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u65e5\u7528\u54c1\u306a\u3069\">\u65e5\u7528\u54c1\u306a\u3069<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3Rb8lQU\" target=\"_blank\" rel=\"noopener\">\u30b3\u30af\u30e8 \u30de\u30b9\u30ad\u30f3\u30b0\u30c6\u30fc\u30d7 \u30c6\u30fc\u30d7\u30ab\u30c3\u30bf\u30fc \u30ab\u30eb\u30ab\u30c3\u30c8 \u30af\u30ea\u30c3\u30d7\u30bf\u30a4\u30d7<\/a>\n<ul>\n<li>\u4e00\u822c\u7684\u306a\u7528\u9014\u3068\u3057\u3066\u306f\u304a\u3057\u3083\u308c\u30de\u30b9\u30ad\u30f3\u30b0\u30c6\u30fc\u30d7\u7528\u306e\u30ab\u30c3\u30bf\u30fc\u3068\u3057\u3066\u4f7f\u3093\u3060\u3068\u601d\u3046\u3051\u308c\u3069\u3082\u3001\u666e\u901a\u306e\u9ec4\u8272\u3044\u30de\u30b9\u30ad\u30f3\u30b0\u30c6\u30fc\u30d7\u306b\u3064\u3051\u3066\u4f7f\u3063\u3066\u3044\u308b\u3002\u624b\u3067\u5207\u308b\u3068\u3050\u3061\u3083\u3063\u3068\u306a\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u3082\u3042\u308b\u306e\u3067\u3068\u3066\u3082\u4fbf\u5229\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3uVqniL\" target=\"_blank\" rel=\"noopener\">[RLJ] \u5f15\u304d\u51fa\u3057 \u30df\u30cb \u30b5\u30a4\u30ba (\u5f8c\u4ed8\u3051\u30bf\u30a4\u30d7) \u30df\u30cb\u5f15\u304d\u51fa\u3057<\/a>\n<ul>\n<li>\u6b63\u76f4\u30b3\u30b9\u30d1\u306f\u3069\u3046\u306a\u306e\u304b\u3001\u3068\u3044\u3046\u611f\u3058\u306f\u3042\u308b\u3002\u4f5c\u308a\u306f\u30c1\u30fc\u30d7\u3060\u3057\u3001\u6709\u6a5f\u6eb6\u5264\u3063\u307d\u3044\u5302\u3044\u304c\u6c38\u9060\u306b\u53d6\u308c\u306a\u3044\u3002\u304c\u3001\u307e\u3041\u4fbf\u5229\u306f\u4fbf\u5229\u3002\u79c1\u304c\u8cb7\u3063\u305f\u6642\u3088\u308a\u5024\u4e0a\u304c\u308a\u3057\u3066\u3044\u3066\u30b3\u30b9\u30d1\u306f\u66f4\u306b\u60aa\u5316\u3057\u3066\u305d\u3046\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3tfruJD\" target=\"_blank\" rel=\"noopener\">\u9b3c\u30d4\u30bf \u9b54\u6cd5\u306e\u30c6\u30fc\u30d7<\/a>\n<ul>\n<li>\u3081\u3063\u3061\u3083\u5f37\u529b\u3002\u304d\u308c\u3044\u306b\u5265\u304c\u305b\u308b\u3068\u3044\u3046\u3046\u305f\u3044\u6587\u53e5\u306b\u5618\u306f\u306a\u3044\u3051\u3069\u3001\u8cbc\u308a\u4ed8\u3051\u9762\u304c\u5f31\u3051\u308c\u3070\u58ca\u308c\u3066\u3057\u307e\u3044\u305d\u3046\u306a\u4f4d\u306b\u306f\u5f37\u529b\u3002\u30ae\u30bf\u30fc\u306e\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u3092\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u306b\u3064\u3051\u308b\u306e\u306b\u3082\u4f7f\u3063\u3066\u3044\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3REH2QL\" target=\"_blank\" rel=\"noopener\">uxcell \u4e38\u5e73\u982d \u30ed\u30fc\u30ec\u30c3\u30c8 \u3064\u307e\u307f M2x8mm \u30cf\u30f3\u30c9\u30af\u30e9\u30f3\u30d7\u306d\u3058<\/a>\n<ul>\n<li>\u624b\u3067\u56de\u305b\u308b\u306d\u3058\u3002\u7121\u7dda\u5316\u3057\u3066\u3044\u308bErgodash\u306e\u80cc\u9762\u30d7\u30ec\u30fc\u30c8\u3092\u958b\u3051\u305f\u308a\u9589\u3081\u305f\u308a\u3059\u308b\u306e\u304c\u7c21\u5358\u306b\u306a\u3063\u305f\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3Tg4fK8\" target=\"_blank\" rel=\"noopener\">[PureSino] \u30a2\u30fc\u30e0\u30d0\u30f3\u30c9<\/a>\n<ul>\n<li>\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3\u306a\u3069\u306e\u8896\u3092\u6b62\u3081\u308b\u306e\u306b\u4fbf\u5229\u3002\u57fa\u672c\u7684\u306b\u8896\u307e\u304f\u308a\u3057\u3066\u3044\u308b\u306e\u3067\u30021\u30bb\u30c3\u30c8\u6301\u3063\u3066\u3044\u305f\u30cf\u30ba\u306a\u3093\u3060\u3051\u3069\u3001\u884c\u65b9\u4e0d\u660e\u3060\u3063\u305f\u306e\u3067\u8cb7\u3063\u305f\u304c\u3001\u3084\u306f\u308a\u4fbf\u5229\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3uW3RGA\" target=\"_blank\" rel=\"noopener\">\u30e9\u30e0\u30de\u30a6\u30f3\u30c8(RAM MOUNTS) MagSafe\u30de\u30a6\u30f3\u30c8<\/a>\n<ul>\n<li>\u4fbf\u5229\u3067\u306f\u3042\u308b\u3051\u3069\u3001\u9ad8\u3044MagSafe\u5145\u96fb\u5668\u3092\u8ffd\u52a0\u3067\u8cb7\u3046\u5fc5\u8981\u304c\u3042\u308b\u306e\u306f\u30b3\u30b9\u30c8\u7684\u306b\u7d50\u69cb\u53b3\u3057\u3081\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3GGd20y\" target=\"_blank\" rel=\"noopener\">SwitchBot \u30ab\u30fc\u30c6\u30f3 \u7b2c3\u4e16\u4ee3<\/a>\n<ul>\n<li>SwitchBot \u30ab\u30fc\u30c6\u30f3\u304b\u3089\u306e\u8cb7\u3044\u63db\u3048\u3002\u4e00\u4e16\u4ee3\u3057\u304b\u3057\u3089\u306a\u3044\u3051\u3069\u3001\u4f55\u6545\u304b\u7b2c3\u4e16\u4ee3\u3089\u3057\u3044\u3002\u5f93\u6765\u54c1\u3088\u308a\u306f\u3084\u3044\u3057\u3001\u9759\u304b\u306b\u52d5\u304b\u3059\u3053\u3068\u3082\u3067\u304d\u308b\u3057\u3001\u53d6\u308a\u4ed8\u3051\u3001\u53d6\u308a\u5916\u3057\u3082\u7c21\u5358\u306b\u306a\u3063\u3066\u3044\u308b(\u69cb\u9020\u3068\u3057\u3066\u306f\u5909\u308f\u3089\u306a\u3044\u3051\u3069\u3001\u4f5c\u308a\u304c\u6539\u5584\u3055\u308c\u3066\u3044\u308b)\u3057\u3001\u4f4d\u7f6e\u8abf\u6574\u304c\u30e1\u30c1\u30e3\u30af\u30c1\u30e3\u7c21\u5358\u306b\u306a\u3063\u3066\u3044\u308b\u3002\u5f93\u6765\u54c1(Amazon\u306b\u3088\u308b\u3068\u7b2c2\u4e16\u4ee3)\u3088\u308a2,000\u5186\u9ad8\u3044\u3051\u3069\u3001\u3053\u3063\u3061\u3092\u8cb7\u3063\u305f\u65b9\u304c\u826f\u3044\u3067\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/48aKqbi\" target=\"_blank\" rel=\"noopener\">BREENHILL \u30c6\u30fc\u30d6\u30eb\u30de\u30c3\u30c8 100x40cm<\/a>\n<ul>\n<li>\u307b\u3093\u3068\u306f120x40\u3068\u304b\u304c\u307b\u3057\u3044\u3093\u3060\u3051\u3069\u3001\u7121\u304b\u3063\u305f\u306e\u3067\u59a5\u5354\u3057\u305f\u3002100x40\u3067\u3082\u73cd\u3057\u3044\u3067\u3059\u3002\u30de\u30a6\u30b9\u30d1\u30c3\u30c9\u3068\u3057\u3066\u826f\u3044\u304b\u3069\u3046\u304b\u306f\u5206\u304b\u3089\u306a\u3044\u3051\u3069\u3001\u30c8\u30e9\u30c3\u30af\u30d1\u30c3\u30c9\u3092\u4f7f\u3063\u3066\u3044\u3066\u3001\u305f\u3060\u4f55\u304b\u6577\u7269\u304c\u6b32\u3057\u3044\u304f\u3089\u3044\u306e\u4eba\u306b\u306f\u304a\u52e7\u3081\u3067\u304d\u308b\u3002\u88cf\u9762\u306b\u6ed1\u308a\u6b62\u3081\u304c\u3064\u3044\u3066\u3044\u308b\u3051\u3069\u3001\u3053\u308c\u306f\u4f59\u308a\u671f\u5f85\u3057\u306a\u3044\u65b9\u304c\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u66f8\u7c4d\">\u66f8\u7c4d<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/41jWWmH\" target=\"_blank\" rel=\"noopener\">\u3042\u304b\u306d\u567a<\/a>\n<ul>\n<li>\u8cb7\u3063\u305f\u6642\u306f\u307e\u30604\u518a\u3060\u3063\u305f\u306e\u306b\u4eca\u306f9\u5dfb\u307e\u3067\u51fa\u3066\u3044\u308b\u3002\u30b8\u30e3\u30f3\u30d7\u306f\u7d9a\u304d\u304c\u51fa\u308b\u306e\u304c\u306f\u3084\u304f\u3066\u826f\u3044\u3067\u3059\u306d\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/4auksSj\" target=\"_blank\" rel=\"noopener\">\u6c5f\u6238\u524d\u30a8\u30eb\u30d5<\/a>\n<ul>\n<li>\u30a2\u30cb\u30e1\u5316\u3082\u3055\u308c\u305f\u3002\u30a2\u30cb\u30e1\u3082\u826f\u3044\u3067\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/48apd1c\" target=\"_blank\" rel=\"noopener\">\u304a\u524d\u3001\u30bf\u30cc\u30ad\u306b\u306a\u3089\u306d\u30fc\u304b\uff1f<\/a>\n<ul>\n<li>\u30bf\u30cc\u30ad\u306b\u306a\u308a\u305f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3Nj09gE\" target=\"_blank\" rel=\"noopener\">Dr.STONE<\/a>\n<ul>\n<li>\u30bb\u30fc\u30eb\u306750%\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3060\u3063\u305f\u306e\u3067\u8cb7\u3063\u305f\u3002\u7406\u7cfb\u306e\u4eba\u306a\u3044\u3057\u7406\u7cfb\u3063\u307d\u3044\u30c6\u30fc\u30de\u304c\u597d\u304d\u306a\u4eba\u306f\u597d\u304d\u3060\u3068\u601d\u3046\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3uW3ID2\" target=\"_blank\" rel=\"noopener\">\u30dc\u30dc\u30dc\u30fc\u30dc\u30fb\u30dc\u30fc\u30dc\u30dc<\/a>\n<ul>\n<li>\u540c\u3058\u304f50%\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3060\u3063\u305f\u306e\u3067\u3002\u306a\u3093\u304b\u6700\u8fd1\u30dc\u30fc\u30dc\u30dc\u898b\u308b\u6a5f\u4f1a\u591a\u3044\u6c17\u304c\u3059\u308b\u3093\u3060\u3051\u3069\u306a\u3093\u3067?<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3NpRatT\" target=\"_blank\" rel=\"noopener\">\u846c\u9001\u306e\u30d5\u30ea\u30fc\u30ec\u30f3<\/a>\n<ul>\n<li>\u7d19\u3092kindle\u306b\u8cb7\u3044\u63db\u3048\u3002\u7279\u306b\u8a00\u3046\u3053\u3068\u306f\u7121\u3044\u3067\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>"},{"title":"\u3059\u3054\u3044\u5473\u564c\u6c41","link":"https:\/\/blog.web-apps.tech\/super_miso_soup\/","pubDate":"Tue, 05 Dec 2023 18:47:06 +0900","guid":"https:\/\/blog.web-apps.tech\/super_miso_soup\/","description":"<p>\u3044\u3064\u304b\u3089\u304b\u3001\u98a8\u90aa\u306e\u6642\u306b\u4f5c\u308b\u8b0e\u306e\u5473\u564c\u6c41\u304c\u3042\u308b\u3002\u5c11\u306a\u304f\u3068\u3082\u3001\u5b9f\u5bb6\u3067\u4f5c\u3063\u3066\u3044\u305f\u30e2\u30ce\u3067\u306f\u306a\u304f\u3066\u3001\u95a2\u6771\u306b\u5f15\u3063\u8d8a\u3057\u3066\u304d\u3066\u304b\u3089\u4f5c\u308a\u59cb\u3081\u305f\u3002\u3069\u3046\u3044\u3046\u304d\u3063\u304b\u3051\u3060\u3063\u305f\u304b\u306f\u4e0d\u660e\u3067\u3001\u591a\u5206\u59b9\u304c\u3069\u3053\u304b\u304b\u3089\u805e\u3044\u3066\u304d\u305f\u30e2\u30ce\u3092\u9b54\u6539\u9020\u3057\u3066\u5b8c\u6210\u3057\u305f\u3002<\/p>\n<p>\u30ec\u30b7\u30d4\u306f\u6b21\u306e\u901a\u308a\u3002<\/p>\n<h2 id=\"\u6750\u6599\">\u6750\u6599<\/h2>\n<ul>\n<li>\u51fa\u6c41<\/li>\n<li>\u5473\u564c<\/li>\n<li>\u30cb\u30f3\u30cb\u30af<\/li>\n<li>\u751f\u59dc<\/li>\n<li>\u30d4\u30fc\u30de\u30f3<\/li>\n<li>\u305f\u307e\u3054<\/li>\n<\/ul>\n<p>\u306a\u304a\u5206\u91cf\u306f\u3059\u3079\u3066\u300c\u9069\u91cf\u300d\u3067\u3042\u308b\u3002\u30cb\u30f3\u30cb\u30af\u306f\u4e00\u304b\u3051\u3001\u751f\u59dc\u306f\u30cb\u30f3\u30cb\u30af\u3068\u540c\u3058\u304f\u3089\u3044\u306e\u91cf\u3001\u30d4\u30fc\u30de\u30f3\u4e00\u3064\u3001\u305f\u307e\u3054\u4e00\u3064\u3001\u3068\u3044\u3063\u305f\u611f\u3058\u3002\u51fa\u6c41\u306f\u51fa\u6c41\u306e\u7d20\u306e\u985e\u3067\u304b\u307e\u308f\u306a\u3044\u3057\u3001\u30cb\u30f3\u30cb\u30af\u3068\u751f\u59dc\u306f\u305d\u308c\u305e\u308c\u30c1\u30e5\u30fc\u30d6\u3067\u3082\u826f\u3044\u3002\u751f\u306e\u30e2\u30ce\u3092\u4f7f\u3046\u3068\u3082\u3061\u308d\u3093\u3088\u308a\u7f8e\u5473\u3057\u3044\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f\u51fa\u6c41\u306e\u7d20\u306f\u5927\u4f53\u5165\u308c\u308b\u304c\u3001\u6c17\u306b\u306a\u3089\u306a\u3051\u308c\u3070\u51fa\u6c41\u5165\u308a\u306e\u5473\u564c\u3092\u4f7f\u3063\u3066\u3082\u826f\u3044\u3002\u751f\u59dc\u3068\u30cb\u30f3\u30cb\u30af\u304c\u5341\u5206\u306b\u5f37\u3044\u306e\u3067\u3001\u306a\u3093\u306a\u3089\u51fa\u6c41\u304c\u306a\u304f\u3066\u3082\u6c17\u306b\u306a\u3089\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n<h2 id=\"\u8abf\u7406\u624b\u9806\">\u8abf\u7406\u624b\u9806<\/h2>\n<ol>\n<li>\u6e6f\u3092\u6cb8\u304b\u3057\u3001\u51fa\u6c41\u3092\u53d6\u308b\u3001\u4e43\u81f3\u51fa\u6c41\u306e\u7d20\u3092\u6eb6\u304b\u3059<\/li>\n<li>\u5473\u564c\u3092\u6eb6\u304b\u3059<\/li>\n<li>\u30cb\u30f3\u30cb\u30af\u3068\u751f\u59dc\u3092\u3059\u308a\u304a\u308d\u3057\u3066\u5165\u308c\u308b<\/li>\n<li>\u6eb6\u304d\u305f\u307e\u3054\u3092\u56de\u3057\u5165\u308c\u308b<\/li>\n<li>\u30d4\u30fc\u30de\u30f3\u3092\u5165\u308c\u308b<\/li>\n<\/ol>\n<p>\u30d4\u30fc\u30de\u30f3\u306b\u706b\u304c\u901a\u3063\u305f\u306a\u3001\u3068\u601d\u3063\u305f\u3089\u5b8c\u6210\u3002\u30d4\u30fc\u30de\u30f3\u306f\u98df\u611f\u304c\u6b8b\u308b\u7a0b\u5ea6\u3067\u3082\u7f8e\u5473\u3057\u3044\u3057\u3001\u30af\u30bf\u30af\u30bf\u306b\u306a\u3063\u3066\u3082\u305d\u308c\u306f\u305d\u308c\u3067\u7f8e\u5473\u3057\u3044\u3002\u7d30\u5207\u308a\u306b\u3057\u3066\u3082\u826f\u3044\u3057\u3001\u5199\u771f\u306e\u3088\u3046\u306b\u8f2a\u5207\u308a\uff1f\u306b\u3057\u3066\u3082\u826f\u3044\u3002\u30ef\u30bf\u3092\u53d6\u308b\u3053\u3068\u3092\u8003\u3048\u308b\u3068\u3001\u7d30\u5207\u308a\u306e\u65b9\u304c\u7c21\u5358\u3002<\/p>\n<p>\u6eb6\u304d\u305f\u307e\u3054\u3092\u56de\u3057\u5165\u308c\u308b\u3068\u304d\u306f\u3001(\u5473\u564c\u6c41\u7684\/\u51fa\u6c41\u7684\u306b\u306f\u826f\u304f\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3001\u751f\u59dc\u3068\u30cb\u30f3\u30cb\u30af\u304c\u305d\u3082\u305d\u3082\u6700\u5f37\u306a\u306e\u3067\u6c17\u306b\u3057\u306a\u3044\u3053\u3068\u3068\u3059\u308b)\u6c41\u304c\u6cb8\u9a30\u3057\u3066\u3044\u308b\u72b6\u614b\u3067\u5c11\u3057\u305a\u3064\u5165\u308c\u308b\u3068\u3001\u3075\u308f\u3075\u308f\u306e\u826f\u3044\u611f\u3058\u306b\u306a\u308b\u3002\u305f\u307e\u3054\u306f\u5341\u5206\u306b\u6eb6\u3044\u3066\u3042\u3063\u3066\u3082\u826f\u3044\u3057\u3001\u96d1\u306b\u3084\u3063\u3066\u3082\u305d\u308c\u306f\u305d\u308c\u3067\u7f8e\u5473\u3057\u3044\u3002\u767d\u8eab\u306e\u3054\u308d\u3063\u3068\u3057\u305f\u584a\u3068\u304b\u7f8e\u5473\u3057\u3044\u3067\u3059\u306d\uff1f\u305d\u3046\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u751f\u59dc\u3068\u30cb\u30f3\u30cb\u30af\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u98df\u3079\u7d42\u308f\u308b\u9803\u306b\u306f\u30dd\u30ab\u30dd\u30ab\u3057\u3066\u304d\u3066\u3001\u5143\u6c17\u306b\u306a\u308b\u3002\u6c17\u304c\u3059\u308b\u3002\u300c\u5473\u564c\u6c41\u300d\u3068\u547c\u3076\u306b\u306f\u5f37\u3044\u5473\u304c\u3059\u308b\u3051\u308c\u3069\u3001\u7f8e\u5473\u3057\u3044\u306e\u3067\u30e8\u30b7\u3002<\/p>"},{"title":"UCC Cafe@Home","link":"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/","pubDate":"Fri, 06 Oct 2023 00:45:18 +0900","guid":"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/","description":"<p>\u5148\u65e5\u3001<a href=\"https:\/\/scajconference.jp\/\" target=\"_blank\" rel=\"noopener\">SCAJ<\/a>\n\u3068\u3044\u3046\u3067\u304b\u3044\u30b3\u30fc\u30d2\u30fc\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u9762\u767d\u304b\u3063\u305f\u30e2\u30ce\u3092\u3044\u304f\u3089\u304b\u8cb7\u3063\u3066\u304d\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u306e\u3046\u3061\u306e\u4e00\u3064\u304cUCC\u306eCAFE@HOME\u3067\u3059\u3002<\/p>\n<p>\u3069\u3046\u3084\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u8abf\u3079\u305f\u611f\u3058\u3067\u306f\u73fe\u5728\u306e\u5f62\u3067\u306eCAFE@HOME\u81ea\u4f53\u306f5\u5e74\u304f\u3089\u3044\u524d\u306b\u767a\u58f2\u3055\u308c\u305f\u3082\u306e\u3067\u305d\u3093\u306a\u306b\u65b0\u3057\u3044\u5546\u54c1\u3068\u3044\u3046\u611f\u3058\u3067\u306f\u306a\u3055\u305d\u3046\u306a\u306e\u3067\u3059\u304c\u3001<a href=\"https:\/\/www.ucc.co.jp\/company\/news\/2023\/rel230314.html\" target=\"_blank\" rel=\"noopener\">\u4eca\u5e74\u306e3\u6708\u306b\u540c\u30b7\u30ea\u30fc\u30ba\u304b\u3089\u65b0\u3057\u3044\u30c7\u30ab\u30d5\u30a7\u306e\u3082\u306e\u304c\u3067\u305f<\/a>\n\u3068\u3044\u3046\u3053\u3068\u3067\u5927\u304d\u304f\u5ba3\u4f1d\u3057\u3066\u3044\u305f\u3001\u3068\u3044\u3046\u3053\u3068\u306e\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>CAFE@HOME\u306f\u30ec\u30ae\u30e5\u30e9\u30fc\u30b3\u30fc\u30d2\u30fc\u306e\u7c89\u30921\u676f\u5206\u3054\u3068\u306b\u771f\u7a7a\u30d1\u30c3\u30af\u3059\u308b\u3053\u3068\u3067\u7f8e\u5473\u3057\u304f\u30b3\u30fc\u30d2\u30fc\u3092\u98f2\u3081\u308b\u3001\u3068\u3044\u3046\u8da3\u65e8\u306e\u30b7\u30ea\u30fc\u30ba\u306e\u3088\u3046\u3067\u3059\u3002\u30ab\u30c3\u30d7\u306b\u4e57\u305b\u3066\u4f7f\u3046\u30bf\u30a4\u30d7\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3082\u4ed8\u5c5e\u3057\u3066\u3044\u308b\u306e\u3067(\u30b3\u30fc\u30d2\u30fc\u3092\u6df9\u308c\u308b\u9053\u5177\u304c\u306a\u3044\u4eba\u3067\u3082)\u6c17\u8efd\u306b\u7f8e\u5473\u3057\u3044\u30b3\u30fc\u30d2\u30fc\u3092\u6df9\u308c\u3089\u308c\u308b\u3001\u5c0f\u6d12\u843d\u305f\u30c7\u30b6\u30a4\u30f3\u3067\u8d08\u308a\u7269\u306b\u3082\u3074\u3063\u305f\u308a\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u306d\u3002<\/p>\n<p>\u79c1\u306f\u73fe\u72b6\u666e\u901a\u306e\u30b3\u30fc\u30d2\u30fc\u8c46\u306f\u5341\u5206\u3059\u304e\u308b\u307b\u3069\u306b\u3042\u308b\u306e\u3067(\u3061\u3087\u3063\u3068\u6d88\u8cbb\u304c\u8ffd\u3044\u3064\u3044\u3066\u306a\u3044\u304f\u3089\u3044\u3001\u30b5\u30d6\u30b9\u30af\u52a0\u5165\u3057\u3066\u3044\u308b\u305f\u3081\u6708\u4e00\u3067\u8ffd\u52a0\u88dc\u7d66\u3055\u308c\u308b)\u3001\u4eca\u56de\u306f3\u7a2e\u985e\u306e\u30c7\u30ab\u30d5\u30a7\u30922\u3064\u305a\u3064\u3001\u5408\u8a086\u500b\u306e\u30bb\u30c3\u30c8\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5185\u5bb9\u306f\u3053\u3093\u306a\u611f\u3058:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/images\/contents_hu_73da35b5060706a5.jpeg\" alt=\"\u5185\u5bb9\u7269\" \/>\n<\/p>\n<p>\u30b3\u30fc\u30d2\u30fc\u306e\u4ed6\u3001\u524d\u8ff0\u306e\u69d8\u306b\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u308b\u306e\u3068\u3001\u8aac\u660e\u66f8\u3082\u5165\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u958b\u5c01\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30bb\u30c3\u30c8\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/images\/dripper_hu_bdceb7777a56ccb5.jpeg\" alt=\"filter\" \/>\n<\/p>\n<p>\u4e00\u822c\u7684\u306b\u30b3\u30f3\u30d3\u30cb\u3084\u3089\u30b9\u30fc\u30d1\u30fc\u3084\u3089\u3067\u8cfc\u5165\u3067\u304d\u308b\u30c9\u30ea\u30c3\u30d7\u30d0\u30c3\u30b0\u3068\u6bd4\u3079\u308b\u3068\u3057\u3063\u304b\u308a\u3068\u3057\u305f\u30d5\u30a3\u30eb\u30bf\u30fc\u3067\u3001\u666e\u901a\u306e\u53f0\u5f62\u30d5\u30a3\u30eb\u30bf\u30fc\u306b\u4f3c\u305f\u611f\u3058\u3067\u4f7f\u3048\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3057\u305f\u3002\u771f\u7a7a\u30d1\u30c3\u30af\u3067\u9999\u308a\u3092\u9589\u3058\u8fbc\u3081\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u3060\u3051\u3042\u3063\u3066\u3001\u5b89\u3044\u30c9\u30ea\u30c3\u30d7\u30d0\u30c3\u30b0\u306e\u3088\u3046\u306b\u30d5\u30a3\u30eb\u30bf\u30fc\u90e8\u5206\u304c\u30ab\u30c3\u30d7\u306e\u4e2d\u306e\u304a\u6e6f\u306b\u6d78\u304b\u308b\u3088\u3046\u306a\u69cb\u9020\u3067\u306f\u306a\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u8aac\u660e\u66f8\u306b\u306f\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30ab\u30c3\u30d7\u306b\u30bb\u30c3\u30c8\u3057\u3001\u30b3\u30fc\u30d2\u30fc\u3092\u624b\u3067\u958b\u5c01\u3057\u3066\u7c89\u3092\u5165\u308c\u308b\u3001\u3068\u3044\u3046\u5f62\u3067\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3057\u3001\u5b9f\u969b\u30ab\u30c3\u30d7\u306b\u30bb\u30c3\u30c8\u3057\u306a\u3044\u3068\u6d41\u77f3\u306b\u5b89\u5b9a\u3057\u306a\u3055\u305d\u3046\u306a\u306e\u3067\u624b\u9806\u3068\u3057\u3066\u306f\u3042\u3063\u3066\u3044\u308b\u3068\u306f\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u7c89\u672b\u304c\u5165\u3063\u305f\u888b\u304c\u771f\u7a7a\u30d1\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u8aac\u660e\u66f8\u306e\u3088\u3046\u306b\u7acb\u3066\u306b\u888b\u3092\u5272\u3044\u3066\u304d\u308c\u3044\u306b\u30d5\u30a3\u30eb\u30bf\u30fc\u306b\u7c89\u3092\u5165\u308c\u308b\u3001\u3068\u3044\u3046\u306e\u306f\u5c11\u3057\u96e3\u3057\u3044\u3088\u3046\u306b\u611f\u3058\u307e\u3057\u305f\u3002\u79c1\u306f\u7c89\u3092\u5c11\u3057\u30ab\u30c3\u30d7\u306e\u4e2d\u306b\u3053\u307c\u3057\u307e\u3057\u305f\u3002\u57fa\u672c\u7684\u306b\u30cf\u30b5\u30df\u3067\u5207\u3063\u305f\u65b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/images\/powder_hu_41f4dc2680c6bd4b.jpeg\" alt=\"\u30b3\u30fc\u30d2\u30fc\u306e\u7c89\" \/>\n<\/p>\n<p>\u7c89\u306f\u4e2d\u301c\u7c97\u633d\u304d\u304f\u3089\u3044\u3067\u3057\u3087\u3046\u304b\u3002\u958b\u3051\u305f\u77ac\u9593\u826f\u3044\u9999\u308a\u304c\u3057\u305f\u306e\u3067\u3001\u9999\u308a\u3092\u9589\u3058\u8fbc\u3081\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u306e\u304c\u5b9f\u969b\u306b\u611f\u3058\u3089\u308c\u307e\u3057\u305f\u3002\u666e\u6bb5\u79c1\u304c\u633d\u3044\u3066\u3044\u308b\u306e\u3088\u308a\u306f\u3061\u3087\u3063\u3068\u7c97\u76ee\u304b\u306a\u3001\u3068\u611f\u3058\u307e\u3057\u305f(\u666e\u6bb5\u306fV60\u3068\u304b\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u7d30\u3081\u306b\u633d\u3044\u3066\u3044\u307e\u3059)\u304c\u3001\u53f0\u5f62\u30d5\u30a3\u30eb\u30bf\u30fc\u7528\u306e\u7c89\u3068\u3057\u3066\u306f\u7279\u5225\u7c97\u3044\u3068\u3044\u3046\u3053\u3068\u3082\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u30c9\u30ea\u30c3\u30d7\u30d0\u30c3\u30b0\u306f\u3042\u307e\u308a\u8cb7\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u304b\u3059\u304b\u306a\u8a18\u61b6\u306b\u6b8b\u308b\u30c9\u30ea\u30c3\u30d7\u30d0\u30c3\u30b0\u306e\u7c89\u3088\u308a\u3082\u7c97\u76ee\u306b\u601d\u3048\u308b\u306e\u3067\u3001\u305d\u3046\u3044\u3046\u610f\u5473\u3067\u3082\u81ea\u4fe1\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u611f\u3058\u3089\u308c\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/images\/pour_hu_62f2c210ce2afa1f.jpeg\" alt=\"\u304a\u6e6f\u3092\u6ce8\u3044\u3060\u69d8\u5b50\" \/>\n<\/p>\n<p>\u304a\u6e6f\u3092\u6ce8\u3050\u3068\u3001\u307e\u3041\u3082\u3061\u308d\u3093\u3075\u304f\u3089\u3080\u3068\u3044\u3046\u307b\u3069\u306e\u3053\u3068\u306f\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/images\/result_hu_7d919e5f3760de05.jpeg\" alt=\"\u6df9\u308c\u305f\u30b3\u30fc\u30d2\u30fc\" \/>\n<\/p>\n<p>\u3067\u304d\u3042\u304c\u308a\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u4eca\u56de\u6df9\u308c\u305f\u9ec4\u8272\u3044\u5974\u306f\u30ab\u30d5\u30a7\u30aa\u30ec\u3067\u3082\u7f8e\u5473\u3057\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u725b\u4e73\u3092\u5165\u308c\u308b\u4e88\u5b9a\u3067100mL\u306e\u304a\u6e6f\u3067\u591a\u5206\u3067\u304d\u3042\u304c\u308a\u304c80mL\u4f4d\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u7d50\u69cb\u6fc3\u3044\u3081\u306b\u898b\u3048\u307e\u3059\u306d\u3002\u725b\u4e73\u3092\u5165\u308c\u3066\u3082\u826f\u3044\u611f\u3058\u306e\u8272\u3067\u3059\u3002\u9999\u308a\u306f\u307e\u3041\u3001\u3082\u3061\u308d\u3093\u633d\u304d\u7acb\u3066\u306b\u5339\u6575\u3059\u308b\u3068\u304b\u305d\u3046\u3044\u3046\u3053\u3068\u306f\u7121\u3044\u3093\u3067\u3059\u304c\u3001\u305d\u308c\u3067\u3082\u725b\u4e73\u3092\u5165\u308c\u3066\u3082\u307e\u3060\u3061\u3083\u3093\u3068\u30b3\u30fc\u30d2\u30fc\u306e\u5473\u30fb\u9999\u308a\u304c\u3059\u308b\u611f\u3058\u3067\u3001\u60aa\u304f\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30ab\u30d5\u30a7\u306e\u30b3\u30fc\u30d2\u30fc\u306f\u6b63\u76f4\u305d\u3093\u306a\u306b\u7f8e\u5473\u3057\u3044\u3082\u306e\u306f\u591a\u304f\u306a\u3044(\u9999\u308a\u304c\u306a\u3044\u3001\u3088\u308a\u306f\u3001\u30c7\u30ab\u30d5\u30a7\u3060\u306a\u3001\u3068\u3044\u3046\u5473\u304c\u3059\u308b)\u3068\u3044\u3046\u5370\u8c61\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u5c11\u306a\u304f\u3068\u3082\u725b\u4e73\u3092\u5165\u308c\u3066\u98f2\u3093\u3060\u611f\u3058\u306f\u5272\u3068\u60aa\u304f\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>10g260\u5186\u306a\u306e\u3067100g2600\u5186\u3068\u65e5\u5e38\u4f7f\u3044\u306e\u30b3\u30fc\u30d2\u30fc\u3068\u3057\u3066\u306f\u9ad8\u3044\u3067\u3059\u304c\u3001\u30c9\u30ea\u30c3\u30d1\u30fc\u4ed8\u304d\u3067\u624b\u8efd\u306b\u30b3\u30fc\u30d2\u30fc\u304c\u6df9\u308c\u3089\u308c\u308b\u3057\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u304a\u3057\u3083\u308c\u3060\u3057\u3001\u3068\u3044\u3046\u70b9\u3082\u542b\u3081\u3066\u3001\u8d08\u308a\u7269\u3068\u3057\u3066\u306f\u30a2\u30ea\u3060\u3068\u601d\u3044\u307e\u3059\u3002\u8208\u5473\u304c\u3042\u308b\u4eba\u306f\u6a2a\u6d5c\u304b\u5409\u7965\u5bfa\u306e\u5e97\u8217\u3001\u307e\u305f\u306f<a href=\"https:\/\/coffeestyle.jp\/products\/cah0104059?_pos=7&amp;_sid=2cae5a4d9&amp;_ss=r\" target=\"_blank\" rel=\"noopener\">COFFEE STYLE UCC ONLINE SHOP<\/a>\n\u3067\u8cb7\u3048\u308b\u3088\u3046\u3067\u3059\u3002<\/p>"},{"title":"\u6240\u5c5e\u304cLINE\u30e4\u30d5\u30fc\u682a\u5f0f\u4f1a\u793e\u306b\u306a\u308a\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/line-to-lineyahoo\/","pubDate":"Sun, 01 Oct 2023 23:10:05 +0900","guid":"https:\/\/blog.web-apps.tech\/line-to-lineyahoo\/","description":"<p><a href=\"https:\/\/blog.web-apps.tech\/tags\/%e8%bb%a2%e8%81%b7\">\u8ee2\u8077\u30bf\u30b0<\/a>\n\u306f\u3064\u3051\u305f\u3082\u306e\u306e\u8ee2\u8077\u3067\u306f\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>2023-10-01\u3092\u4ee5\u3066\u6240\u5c5e\u304cLINE\u682a\u5f0f\u4f1a\u793e\u304b\u3089LINE\u30e4\u30d5\u30fc\u682a\u5f0f\u4f1a\u793e\u306b\u5909\u308f\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"y-or-n for kill modified buffer","link":"https:\/\/blog.web-apps.tech\/y-or-n-for-kill-modified-buffer\/","pubDate":"Tue, 26 Sep 2023 23:13:06 +0900","guid":"https:\/\/blog.web-apps.tech\/y-or-n-for-kill-modified-buffer\/","description":"<p>emacs 29.1\u306fuse-package\u3084eglot\u306e\u540c\u68b1\u3001tree-sitter\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30b5\u30dd\u30fc\u30c8\u306a\u3069\u304c\u5927\u304d\u306a\u5909\u66f4\u3068\u3057\u3066\u8a71\u984c\u3067\u3059\u304c\u3001\u4ed6\u306b\u3082\u975e\u5e38\u306b\u591a\u304f\u306e\u5909\u66f4\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/git.savannah.gnu.org\/cgit\/emacs.git\/tree\/etc\/NEWS?h=emacs-29#n664\" target=\"_blank\" rel=\"noopener\">\u305d\u306e\u3046\u3061\u306e\u4e00\u3064<\/a>\n\u304c\u3001\u5909\u66f4\u304c\u52a0\u3048\u3089\u308c\u305f\u5f8c\u4fdd\u5b58\u3055\u308c\u3066\u3044\u306a\u3044buffer\u3092kill\u3057\u3088\u3046\u3068\u3057\u305f\u3068\u304d\u306e\u8cea\u554f\u3067\u3059\u3002\u3053\u308c\u307e\u3067\u3001\u7de8\u96c6\u304c\u3042\u308bbuffer\u306ekill\u306fyes\u307e\u305f\u306fno\u306e\u4e8c\u629e\u3067\u3057\u305f\u304c\u3001\u7b2c\u4e09\u306e\u9078\u629e\u80a2\u3001<code>save and then kill<\/code>\u304c\u52a0\u3048\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u3082\u3068\u3082\u3068<code>(fset 'yes-or-no-p 'y-or-n-p)<\/code>\u3068\u3057\u3066<code>y<\/code>\u307e\u305f\u306f<code>n<\/code>\u3067\u8fd4\u4e8b\u3092\u3059\u308b\u3053\u3068\u304c\u8a18\u61b6\u3055\u308c\u305f\u79c1\u306e\u4f53\u306f\u3053\u308c\u306b\u9806\u5fdc\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305a\u3001\u6bce\u56de<code>y<\/code>\u3067\u6b62\u307e\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u305d\u3053\u3067\u3053\u308c\u3092\u518d\u3073y-or-n\u306b\u7f6e\u304d\u63db\u3048\u308b\u65b9\u6cd5\u3092\u63a2\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u307e\u3060\u307e\u3060\u307f\u3093\u306aemacs 29.1\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u304b\u3001\u60c5\u5831\u304c\u5168\u7136\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3057\u304b\u3057(\u591a\u5206)\u552f\u4e00\u306e\u8a18\u4e8b\u3068\u3057\u3066\u3001<a href=\"https:\/\/christiantietze.de\/posts\/2023\/09\/kill-unsaved-buffer-ux-action-labels\/\" target=\"_blank\" rel=\"noopener\">Kill Unsaved Emacs Buffers UX: Replacing Yes\/No\/Save with Meaningful Options<\/a>\n\u3068\u3044\u3046\u30d6\u30ed\u30b0\u8a18\u4e8b\u3092\u898b\u3064\u3051\u307e\u3057\u305f\u3002\u3053\u306e\u8a18\u4e8b\u306f\u5358\u7d14\u306by-or-n\u306b\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u3082\u3046\u5c11\u3057\u8e0f\u307f\u8fbc\u3093\u3067\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u305d\u308c\u306f\u3055\u3066\u304a\u304d\u3001\u3053\u308c\u306b\u3088\u308b\u3068<a href=\"https:\/\/github.com\/emacs-mirror\/emacs\/blob\/emacs-29.1\/lisp\/simple.el#L10837\" target=\"_blank\" rel=\"noopener\"><code>kill-buffer--possibly-save<\/code><\/a>\n\u3068\u3044\u3046\u95a2\u6570\u3067\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\nadvice\u3092\u3057\u3066\u3082\u826f\u3044\u3051\u308c\u3069\u3001\u3067\u304d\u308c\u3070\u95a2\u6570\u5168\u4f53\u3092\u30b3\u30d4\u30da\u3057\u3066\u7f6e\u304d\u63db\u3048\u308b\u307f\u305f\u3044\u306a\u3053\u3068\u306f\u3084\u308a\u305f\u304f\u306a\u3044\u304c\u3069\u3046\u3057\u305f\u30e2\u30ce\u304b\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u3001<code>use-short-answers<\/code>\u3068\u3044\u3046\u3001\u4f55\u3084\u3089\u3088\u3055\u3052\u306a\u5909\u6570\u540d\u304c\u76ee\u306b\u5165\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><code>describe-variable<\/code>\u3067\u8aac\u660e\u3092\u898b\u3066\u307f\u308b\u3068\u3001non-nil\u306e\u6642\u306b<code>yes-or-no-p<\/code>\u306e\u4ee3\u308f\u308a\u306b<code>y-or-n-p<\/code>\u3092\u4f7f\u3046\u305f\u3081\u306e\u5909\u6570\u3001\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3068\u3044\u3046\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f(\u3069\u3046\u3084\u308928.1\u3067\u5c0e\u5165\u3055\u308c\u305f\u69d8\u5b50\u3002\u77e5\u3089\u306a\u304b\u3063\u305f)\u3002<code>(setq use-short-answers t)<\/code>\u3068\u3057\u3066\u8a66\u3057\u305f\u3068\u3053\u308d\u3001\u4e0a\u624b\u3044\u5177\u5408\u306by\/n\/s\u3067\u78ba\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u306e\u3067\u3001\u6b63\u89e3\u3060\u3063\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n<p><code>yes-or-no-p<\/code>\u306e\u8aac\u660e\u3092\u78ba\u8a8d\u3057\u3066\u307f\u3066\u3082\u3001<\/p>\n<blockquote>\n<p>If the \u2018use-short-answers\u2019 variable is non-nil, instead of asking for\n&ldquo;yes&rdquo; or &ldquo;no&rdquo;, this function will ask for &ldquo;y&rdquo; or &ldquo;n&rdquo;.<\/p>\n<\/blockquote>\n<p>\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3068\u3044\u3046\u308f\u3051\u3067\u3001<code>(fset 'yes-or-no-p 'y-or-n-p)<\/code>\u3092<code>(setq use-short-answers t)<\/code>\u306b\u7f6e\u304d\u63db\u3048\u3066\u89e3\u6c7a\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>"},{"title":"Exa to Eza","link":"https:\/\/blog.web-apps.tech\/exa-to-eza\/","pubDate":"Mon, 18 Sep 2023 21:26:50 +0900","guid":"https:\/\/blog.web-apps.tech\/exa-to-eza\/","description":"<p><a href=\"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/\">2020\u5e74\u306b<code>exa<\/code>\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066<\/a>\n\u304b\u3089\u30013\u5e74\u534a\u5f31<code>ls<\/code>\u306e\u4ee3\u308f\u308a\u3068\u3057\u3066<code>exa<\/code>\u3092\u4f7f\u7528\u3057\u3066\u304d\u307e\u3057\u305f\u3002\n\u8a2d\u5b9a\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3001<code>exa<\/code>\u306b\u4f55\u3084\u3089\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8db3\u3057\u305f\u5974\u3092<code>ls<\/code>\u306e\u30a8\u30a4\u30ea\u30a2\u30b9\u3068\u3057\u3066\u3001\u8ffd\u52a0\u3067<code>ll<\/code>\u3001<code>la<\/code>\u3001<code>lla<\/code>\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u611f\u3058\u3067\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"nb\">alias<\/span> <span class=\"nv\">ls<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;exa -Fgh --git --time-style=long-iso&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">alias<\/span> <span class=\"nv\">la<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;ls -a&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">alias<\/span> <span class=\"nv\">ll<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;ls -l&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">alias<\/span> <span class=\"nv\">lla<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;ls -la&#34;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3067\u3001\u4e0d\u5b9a\u671f\u3067\u3084\u3063\u3066\u308b\u30ed\u30fc\u30ab\u30eb\u306e\u30c4\u30fc\u30eb\u66f4\u65b0\u3068\u3044\u3046\u304b\u3001<code>brew update &amp;&amp; brew outdated<\/code>\u3092\u3057\u305f\u3068\u3053\u308d\u3001<code>exa<\/code>\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c(\u306a\u3093\u304b\u3088\u304f\u5206\u304b\u3089\u306a\u3044\u611f\u3058\u3067)\u4e0a\u304c\u3063\u3066\u3044\u305f\u306e\u3067\u66f4\u65b0\u5185\u5bb9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u306b\u884c\u3063\u305f\u3068\u3053\u308d\u3001<a href=\"https:\/\/github.com\/ogham\/exa\/commit\/fb05c421ae98e076989eb6e8b1bcf42c07c1d0fe\" target=\"_blank\" rel=\"noopener\">exa is unmaintained, please use the active fork eza instead<\/a>\n\u3068\u3044\u3046\u30b3\u30df\u30c3\u30c8\u304c\u6253\u305f\u308c\u3066\u3044\u3066\u3001<a href=\"https:\/\/github.com\/eza-community\/eza\" target=\"_blank\" rel=\"noopener\">eza<\/a>\n\u3092\u898b\u306b\u884c\u3063\u305f\u3089\u5b9f\u969b\u6d3b\u767a\u306b\u958b\u767a\u3055\u308c\u3066\u3044\u3066\u30017\u6708\u672b\u304b\u3089\u3059\u3067\u306b10\u56de\u306e\u30ea\u30ea\u30fc\u30b9\u304c\u884c\u308f\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3057\u305f\u3002\n\u500b\u4eba\u7684\u306b\u306f<code>exa<\/code>\u3067\u56f0\u3063\u3066\u306f\u3044\u306a\u304b\u3063\u305f\u30e2\u30ce\u306e\u30012\u5e74\u4ee5\u4e0a\u30ea\u30ea\u30fc\u30b9\u304c\u6253\u305f\u308c\u3066\u3044\u306a\u3044\u306e\u3082\u4e8b\u5b9f\u3067\u3059\u3057\u3001<code>eza<\/code>\u306e\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u3092\u898b\u308b\u9650\u308a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d5\u30a3\u30c3\u30af\u30b9\u306a\u3069\u3082\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u7f6e\u304d\u63db\u3048\u3092\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u624b\u9806\">\u624b\u9806<\/h2>\n<ol>\n<li><code>brew install eza<\/code><\/li>\n<li><code>sed -ie 's\/exa\/eza\/' .zshrc<\/code><\/li>\n<li><code>brew uninstall exa<\/code><\/li>\n<\/ol>\n<p>\u4eca\u306e\u3068\u3053\u308d\u7279\u306b\u4f7f\u7528\u611f\u306f\u5909\u308f\u3063\u305f\u611f\u3058\u306f\u3057\u306a\u3044\u3067\u3059\u304c\u3001\u4e00\u3064\u3060\u3051\u6c17\u3065\u3044\u305f\u306e\u306f<a href=\"https:\/\/github.com\/eza-community\/eza\/pull\/42\" target=\"_blank\" rel=\"noopener\">symlink\u306e\u30b5\u30a4\u30ba\u8868\u793a\u304c\u5909\u308f\u3063\u305f<\/a>\n\u304f\u3089\u3044\u3067\u3059\u304b\u306d\u3002<\/p>"},{"title":"Migrate Helm to Vertico Stack","link":"https:\/\/blog.web-apps.tech\/migrate-helm-to-vertico-stack\/","pubDate":"Sun, 10 Sep 2023 19:48:46 +0900","guid":"https:\/\/blog.web-apps.tech\/migrate-helm-to-vertico-stack\/","description":"<p>\u4e16\u306e\u6d41\u308c\u7684\u306b\u306f\u3001Helm\u3068\u3044\u3048\u3070<a href=\"https:\/\/helm.sh\" target=\"_blank\" rel=\"noopener\">Kubernetes\u7528\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc<\/a>\n\u3092\u601d\u3044\u6d6e\u304b\u3079\u308b\u4eba\u304c\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u79c1\u306b\u3068\u3063\u3066\u306fHelm\u3068\u3044\u3048\u3070\u3084\u306f\u308a<a href=\"https:\/\/github.com\/emacs-helm\/helm\" target=\"_blank\" rel=\"noopener\">emacs\u306e\u30d1\u30c3\u30b1\u30fc\u30b8<\/a>\n\u3092\u601d\u3044\u6d6e\u304b\u3079\u307e\u3059\u3002emacs-helm(\u4ee5\u4e0bhelm)\u306f\u6240\u8b02fuzzy finder\u7684\u306a\u30e2\u30ce\u306e\u4e00\u7a2e\u3067\u3001emacs\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u4eba\u306f\u96d1\u306bfzf\u3068\u304bpeco\u307f\u305f\u3044\u306a\u7d5e\u308a\u8fbc\u307f\u3092emacs\u3067\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3084\u3064\u3001\u3068\u601d\u3048\u3070\u60f3\u50cf\u3057\u3084\u3059\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>helm\u306f\u306a\u304b\u306a\u304b\u6b74\u53f2\u306e\u9577\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u30012012\u5e745\u670815\u65e5\u306banything.el\u304b\u3089Fork\u3092\u3057\u305f\u3068\u3044\u3046<a href=\"https:\/\/github.com\/emacs-helm\/helm\/commit\/b016418949e60bc5e9cb4f135a17d129b2b2f28a\" target=\"_blank\" rel=\"noopener\">\u30b3\u30df\u30c3\u30c8<\/a>\n\u304c\u6253\u305f\u308c\u3066\u3044\u307e\u3059\u3002\u79c1\u500b\u4eba\u3068\u3057\u3066\u306f2015\u5e747\u6708\u306bhelm\u3092\u5c0e\u5165\u3057\u305f\u3063\u307d\u3044\u8a18\u9332(<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/commit\/c256d97362af972c724fbc35dc7fd701fe35ead6\" target=\"_blank\" rel=\"noopener\">commit<\/a>\n\/<a href=\"https:\/\/twitter.com\/nasa9084\/status\/619565563744923648\" target=\"_blank\" rel=\"noopener\">tweet<\/a>\n)\u304c\u6b8b\u3063\u3066\u3044\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u6570\u65e5\u524d\u307e\u3067\u3001\u304b\u308c\u3053\u308c8\u5e74\u4f59\u308a\u306e\u671f\u9593\u306b\u308f\u305f\u3063\u3066helm\u3092\u4f7f\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u4f7f\u3063\u3066\u304d\u305f\u3001\u3068\u306f\u8a00\u3063\u3066\u3082\u5c0e\u5165\u3057\u305f\u3068\u304d\u306b\u591a\u5c11\u4f7f\u3044\u52dd\u624b\u306e\u8abf\u6574\u3092\u3057\u3066\u4ee5\u6765\u3001\u307b\u3068\u3093\u3069\u8a2d\u5b9a\u306f\u5909\u3048\u3066\u304a\u3089\u305a\u3001\u6a5f\u80fd\u7684\u306b\u3082<code>helm-M-x<\/code>\u3001<code>helm-find-files<\/code>\u3001<code>helm-show-kill-ring<\/code>\u3001<code>helm-buffers-list<\/code>\u304f\u3089\u3044\u3057\u304b\u4f7f\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u57fa\u672c\u7684\u306b\u306fMELPA\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308b\u6700\u65b0\u7248\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u30018\u5e74\u4f7f\u3063\u3066\u3044\u3066\u3082\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3067\u58ca\u308c\u305f\u8a18\u61b6\u306f\u591a\u52061\u56de\u304f\u3089\u3044\u3057\u304b\u306a\u304f\u3066\u3001\u304b\u306a\u308a\u306e\u983b\u5ea6\u3067\u30b3\u30df\u30c3\u30c8\u304c\u6253\u305f\u308c\u3066\u3044\u308b\u306e\u306b\u5b89\u5b9a\u3057\u3066\u3044\u305f\u3001\u3068\u3044\u3046\u5370\u8c61\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>8\u5e74\u306e\u9593\u306b\u3082\u3001<a href=\"https:\/\/github.com\/abo-abo\/swiper\" target=\"_blank\" rel=\"noopener\">Ivy\/Counsel<\/a>\n\u304c\u8a71\u984c\u306b\u306a\u3063\u305f\u308a\u3001icomplete-vertical-mode\/fido-vertical-mode\u3068\u3044\u3046\u88dc\u5b8cUI\u304c\u6a19\u6e96\u306b\u8ffd\u52a0\u3055\u308c\u305f\u308a\u3068\u3001\u3044\u308d\u3044\u308d\u3068\u6d41\u884c\u304c\u5909\u308f\u3063\u3066\u3044\u305f\u306e\u306f\u8a8d\u8b58\u306f\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u307e\u3041\u306a\u3093\u3084\u304b\u3093\u3084\u3042\u308a8\u5e74\u9593helm\u3092\u4f7f\u3044\u7d9a\u3051\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3046\u3053\u3046\u3057\u3066\u3044\u305f\u3068\u3053\u308d\u3001\u6700\u8fd1emacs 29.1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3001\u540c\u3058\u304f\u9577\u3089\u304f\u4f7f\u7528\u3057\u3066\u304d\u305f<a href=\"https:\/\/github.com\/jwiegley\/use-package\" target=\"_blank\" rel=\"noopener\">use-package<\/a>\n(\u3069\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u5c0e\u5165\u3057\u305f\u306e\u304b\u306f\u4e0d\u660e\u3067\u3059\u304c\u3001GitHub\u4e0a\u3067\u306e<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/commit\/897277d5f5a1b434c9c06d359c3a909227714312\" target=\"_blank\" rel=\"noopener\">first commit<\/a>\n\u3067\u65e2\u306b\u5c0e\u5165\u6e08\u307f\u3060\u3063\u305f\u3063\u307d\u3044\u306e\u3067helm\u3088\u308a\u9577\u304f\u4f7f\u3063\u3066\u3044\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059)\u304cemacs\u6a19\u6e96\u642d\u8f09\u3068\u306a\u308a\u307e\u3057\u305f\u3002use-package\u4ee5\u5916\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u95a2\u3059\u308b\u8a2d\u5b9a\u306fuse-package\u3092\u4f7f\u3063\u3066\u3084\u3063\u3066\u3044\u3066\u3001\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u304d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3068\u3044\u3046\u306e\u3082use-package\u3067\u3084\u3063\u3066\u3044\u3066\u3001\u3068\u3044\u3046\u611f\u3058\u306a\u306e\u3067\u3059\u304c\u3001\u305d\u3046\u306a\u308b\u3068use-package\u306f\u8ab0\u304c\u5165\u308c\u3066\u304f\u308c\u308b\u3093\u3060\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u7d50\u5c40use-package\u3060\u3051\u306f<code>package-install<\/code>\u3092<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/commit\/ee6aa1b313ed896719ed2040f3f88d2f47e8b330\" target=\"_blank\" rel=\"noopener\">\u76f4\u63a5\u547c\u3073\u51fa\u3059\u3053\u3068\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u305f<\/a>\n\u306e\u3067\u3059\u304c\u3001use-package\u304cbuilt-in\u3068\u306a\u3063\u305f\u3053\u3068\u3067\u3001\u6674\u308c\u3066<code>package-install<\/code>\u306e\u76f4\u63a5\u547c\u3073\u51fa\u3057\u3082<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/commit\/13e938297a813111e316fc62189a17357c54d63a\" target=\"_blank\" rel=\"noopener\">\u4e0d\u8981\u3068\u306a\u308a\u307e\u3057\u305f<\/a>\n\u3002\u305d\u306e\u5909\u66f4\u3064\u3044\u3067\u306b\u3001\u3044\u308d\u3044\u308d\u3068\u8a2d\u5b9a\u3092\u898b\u76f4\u3057\u305f\u308a\u3068\u304b\u3001\u30ed\u30fc\u30ab\u30eb\u3067\u306e\u307f\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u305f\u8af8\u8af8\u3092GitHub\u306bpush\u3057\u305f\u308a\u3068\u304b\u3001\u305d\u3093\u306a\u3053\u3068\u3092\u3084\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u306e\u4e00\u74b0\u3068\u3057\u3066(?)helm\u304b\u3089<a href=\"https:\/\/github.com\/minad\/vertico\" target=\"_blank\" rel=\"noopener\">vertico<\/a>\n\u306b\u4e57\u308a\u63db\u3048\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>helm\u304b\u3089vertico\u306b\u79fb\u884c\u3057\u3066\u4e00\u756a\u306e\u5927\u304d\u306a\u9055\u3044\u306f\u3001helm\u306f\u305d\u308c\u81ea\u4f53\u304c\u5de8\u5927\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3001\u3044\u308d\u3044\u308d\u306a\u30e2\u30ce\u304chelm\u3067\u307e\u304b\u306a\u308f\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001vertico\u306f\u305d\u308c\u81ea\u4f53\u306f\u304b\u306a\u308a\u5c0f\u3055\u304f\u4fdd\u305f\u308c\u3066\u3044\u3066\u3001\u3044\u308d\u3044\u308d\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u540c\u3058\u3088\u3046\u306a\u6a5f\u80fd\u3092\u5b9f\u73fe\u3059\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3059\u3002\u500b\u4eba\u7684\u306b\u306f\u3067\u304b\u3044\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3088\u308a\u5c0f\u3055\u3044\u30e9\u30a4\u30d6\u30e9\u30ea\u985e\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u30a2\u30d7\u30ea\u3092\u66f8\u304f\u65b9\u304c\u597d\u304d\u306a\u306e\u3067\u3001\u305d\u3046\u3044\u3063\u305f\u610f\u5473\u3067\u3082vertico\u306f\u597d\u304d\u306b\u306a\u308b\u3053\u3068\u304c\u3067\u304d\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u4eca\u306e\u3068\u3053\u308d\u7d44\u307f\u5408\u308f\u305b\u3066\u3044\u308b\u3082\u306e\u306f<a href=\"https:\/\/github.com\/minad\/marginalia\" target=\"_blank\" rel=\"noopener\">marginalia<\/a>\n\u3068<a href=\"https:\/\/github.com\/oantolin\/orderless\" target=\"_blank\" rel=\"noopener\">orderless<\/a>\n\u306e\u4e8c\u3064\u3002<\/p>\n<p>marginalia\u306fminibuffer completion\u306b\u4f55\u3084\u3089\u60c5\u5831\u3092\u8db3\u3059\u3084\u3064\u3067<code>M-x<\/code>\u3067\u30b3\u30de\u30f3\u30c9\u306e\u7c21\u5358\u306a\u8aac\u660e\u304c\u898b\u3089\u308c\u305f\u308a\u3001<code>find-file<\/code>\u3067\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3084\u3089\u6700\u7d42\u66f4\u65b0\u6642\u9593\u3084\u3089\u304c\u898b\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3060\u3051\u3067\u3082\u60c5\u5831\u304c\u898b\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u4fbf\u5229\u306a\u306e\u3067\u3059\u304c\u3001\u305d\u306e\u307e\u307e\u3060\u3068\u30d5\u30a1\u30a4\u30eb\u306e\u66f4\u65b0\u6642\u9593\u304c<code>2023 Sep 10<\/code>\u307f\u305f\u3044\u306a\u304b\u3093\u3058\u3067\u6708\u540d\u3092\u4f7f\u3063\u305f\u8868\u793a\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u5206\u304b\u3089\u306a\u304f\u306f\u306a\u3044\u3093\u3067\u3059\u3051\u3069\u65e5\u672c\u4eba\u3068\u3057\u3066\u306f\u3084\u306f\u308a<code>2023-09-10<\/code>\u3068\u6570\u5b57\u3092\u4f7f\u3063\u3066\u8868\u73fe\u3057\u3066\u304f\u308c\u305f\u65b9\u304c\u3071\u3063\u3068\u898b\u3067\u308f\u304b\u308a\u3084\u3059\u3044\u306e\u3067\u3001\u6b21\u306e\u69d8\u306badvice\u3067<code>marginalia--time-absolute<\/code>\u3092\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u6570\u5b57\u8868\u8a18\u306b\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-emacs-lisp\" data-lang=\"emacs-lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">defun<\/span> <span class=\"nv\">marginalia--time-absolute--month-number<\/span> <span class=\"p\">(<\/span><span class=\"nv\">time<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"s\">&#34;Format TIME as an absolute age but use month number instead of month name.&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nb\">let<\/span> <span class=\"p\">((<\/span><span class=\"nv\">system-time-locale<\/span> <span class=\"s\">&#34;C&#34;<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nf\">format-time-string<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nb\">if<\/span> <span class=\"p\">(<\/span><span class=\"nf\">&gt;<\/span> <span class=\"p\">(<\/span><span class=\"nv\">decoded-time-year<\/span> <span class=\"p\">(<\/span><span class=\"nf\">decode-time<\/span> <span class=\"p\">(<\/span><span class=\"nf\">current-time<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">decoded-time-year<\/span> <span class=\"p\">(<\/span><span class=\"nf\">decode-time<\/span> <span class=\"nv\">time<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"s\">&#34; %Y-%m-%d&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"s\">&#34;%m-%d %H:%M&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nv\">time<\/span><span class=\"p\">)))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nv\">advice-add<\/span> <span class=\"ss\">&#39;marginalia--time-absolute<\/span> <span class=\"nb\">:override<\/span> <span class=\"nf\">#&#39;<\/span><span class=\"nv\">marginalia--time-absolute--month-number<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>orderless\u306f\u5019\u88dc\u306e\u7d5e\u308a\u8fbc\u307f\u3092\u3059\u308b\u3068\u304d\u306b\u3001\u5b8c\u5168\u4e00\u81f4\u3084\u524d\u65b9\u4e00\u81f4\u3060\u3051\u3067\u306a\u304f\u3001fuzzy match\u3092\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u308b\u3084\u3064\u3067\u3001\u305f\u3068\u3048\u3070<code>abc<\/code>\u3068\u5165\u529b\u3059\u308b\u3068<code>a.*b.*c.*<\/code>\u306b\u30de\u30c3\u30c1\u3059\u308b\u5974\u3092\u8fd4\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059(\u591a\u5206\u3053\u308c\u306f\u89e6\u3089\u306a\u3044\u3068\u4fbf\u5229\u3055\u306f\u308f\u304b\u308a\u306b\u304f\u3044\u30fb\u30fb\u30fb)\u3002<\/p>"},{"title":"\u6885\u4ed5\u4e8b2023","link":"https:\/\/blog.web-apps.tech\/ume-2023\/","pubDate":"Mon, 12 Jun 2023 14:14:25 +0900","guid":"https:\/\/blog.web-apps.tech\/ume-2023\/","description":"<p>\u7686\u3055\u3093\u30016\u6708\u3067\u3059\u30026\u6708\u3068\u8a00\u3048\u3070\u3001\u305d\u3046\u3001\u6885\u306e\u5b63\u7bc0\u3067\u3059\u306d\u3002\u4eca\u5e74\u3082\u3042\u3061\u3053\u3061\u3067\u6885\u304c\u58f2\u3089\u308c\u3066\u304a\u308a\u3001\u4f8b\u306b\u6f0f\u308c\u305a\u8cb7\u3063\u3066\u304d\u3066\u6885\u9152\u3092\u6f2c\u3051\u307e\u3057\u305f\u3002\n\u4eca\u5e74\u306f\u3061\u3087\u3063\u3068\u9762\u5012\u306a\u6c17\u6301\u3061\u306b\u306a\u3063\u305f\u306e\u3067\u3001\u6885\u30b7\u30ed\u30c3\u30d7\u306f\u4f5c\u3089\u306a\u3044\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2023\/images\/IMG_2529_hu_450a941812872ab7.jpg\" alt=\"\u53bb\u5e74\u306e\u6885\u9152\" \/>\n<\/p>\n<p><a href=\"https:\/\/blog.web-apps.tech\/ume-2022\">\u6628\u5e74\u306e\u6885\u9152<\/a>\n\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u6628\u5e74\u306f\u9ed2\u7cd6\u3092\u4f7f\u3063\u3066\u6f2c\u3051\u305f\u305f\u3081\u3001\u8272\u304c\u3059\u3054\u3044\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5473\u898b\u3092\u3057\u305f\u3068\u3053\u308d\u3001\u3082\u3046\u5c11\u3057\u719f\u6210\u611f\u3068\u3044\u3046\u304b\u3001\u307e\u308d\u3084\u304b\u306b\u306a\u308b\u3068\u3044\u3044\u306a\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2023\/images\/IMG_2531_hu_c60ff285f56455ea.jpg\" alt=\"\u4eca\u5e74\u306e\u6885\u9152\" \/>\n<\/p>\n<p>\u4eca\u5e74\u306f\u898b\u3066\u306e\u3068\u304a\u308a\u900f\u660e\u3067\u3059\u3002\u3053\u3053\u6570\u5e74\u306f\u65e5\u672c\u9152\u3092\u4f7f\u3063\u305f\u308a\u3001\u6ce1\u76db\u3092\u4f7f\u3063\u305f\u308a\u3001\u9ed2\u7cd6\u3092\u4f7f\u3063\u305f\u308a\u3068\u5909\u308f\u308a\u7a2e\u306e\u6885\u9152\u3092\u6f2c\u3051\u7d9a\u3051\u3066\u3044\u307e\u3057\u305f\u306e\u3067\u3001\u4eca\u5e74\u306f\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u3001\u6c37\u7802\u7cd6\u3068\u3044\u3046\u81f3\u3063\u3066\u666e\u901a\u306e\u30ec\u30b7\u30d4\u3067\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u6765\u5e74\u304a\u4f1a\u3044\u3057\u307e\u3057\u3087\u3046<\/p>"},{"title":"Fellow Ode Gen2\u3092\u8cb7\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/","pubDate":"Thu, 11 May 2023 22:00:00 +0900","guid":"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/","description":"<p>\u307f\u306a\u3055\u3093\u3001\u30b3\u30fc\u30d2\u30fc\u306f\u597d\u304d\u3067\u3059\u304b\u3002\u79c1\u306f\u8c46\u3067\u30b3\u30fc\u30d2\u30fc\u3092\u8cb7\u3063\u3066\u304f\u308b\u4f4d\u306b\u306f\u597d\u304d\u3067\u3001\u30df\u30eb\u3067\u8c46\u3092\u633d\u3044\u3066\u30b3\u30fc\u30d2\u30fc\u30e1\u30fc\u30ab\u30fc\u3067\u96d1\u306b\u6df9\u308c\u308b\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3084\u3063\u3066\u304a\u308a\u307e\u3059\u3002<\/p>\n<p>\u6268\u3001\u305d\u3093\u306a\u79c1\u3067\u3059\u304c\u3053\u308c\u307e\u3067\u30b3\u30fc\u30d2\u30fc\u30df\u30eb\u306f\u30e1\u30ea\u30bf\u306e\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1II\u3068\u3044\u3046\u96fb\u52d5\u30df\u30eb\u3092\u4f7f\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/melita-perfect-touch-ii_hu_16f5e4e6c02c3428.png\" alt=\"\u30e1\u30ea\u30bf \u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1II\" \/>\n<\/p>\n<p>\u3053\u308c\u306f\u5927\u5b66\u751f\u306e\u6642\u306b\u8cb7\u3063\u305f\u3084\u3064\u3067\u3001\u6383\u9664\u3082\u308d\u304f\u306b\u3057\u306a\u3044\u3067\u96d1\u306b\u4f7f\u3063\u3066\u3044\u305f\u305f\u3081\u3001\u304b\u306a\u308a\u3072\u3069\u3044\u898b\u305f\u76ee\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u306d\u3002\u5b9a\u4fa1\u306f\u591a\u520612,000\u5186\u304f\u3089\u3044\uff1f\u3067\u3001\u5f53\u6642\u30d3\u30c3\u30af\u30ab\u30e1\u30e9\u3042\u305f\u308a\u30675,000\u5186\u304f\u3089\u3044\u3067\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u96fb\u52d5\u30df\u30eb\u3068\u3057\u3066\u306f\u304b\u306a\u308a\u624b\u9803\u306a\u5024\u6bb5\u3067\u8cb7\u3048\u308b\u5272\u306b\u30d7\u30ed\u30da\u30e9\u5f0f\u3067\u306f\u306a\u3044(\u30d7\u30ed\u30da\u30e9\u5f0f\u306e\u30df\u30eb\u306f\u5b89\u3044\u3051\u3069\u5f15\u3044\u305f\u5f8c\u306e\u7c89\u306e\u7c92\u5ea6\u304c\u5b89\u5b9a\u3057\u306a\u3044)\u30df\u30eb\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u79c1\u306e\u30b3\u30fc\u30d2\u30fc\u751f\u6d3b\u3092\u304b\u306a\u308a\u8c4a\u304b\u306b\u3057\u3066\u304f\u308c\u305f\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3068\u306f\u3044\u3048\u5024\u6bb5\u306a\u308a\u306e\u554f\u984c\u306f\u3044\u304f\u3064\u304b\u3042\u3063\u3066\u3001\u6700\u5927\u306e\u554f\u984c\u306f\u5fae\u7c89\u3068\u9759\u96fb\u6c17\u3067\u3057\u305f\u3002\u3059\u3054\u304f\u5fae\u7c89\u304c\u51fa\u308b\u3057(\u5fae\u7c89\u304c\u591a\u3044\u3068\u96d1\u5473\u304c\u591a\u304f\u306a\u308b\u3001\u3068\u8a00\u308f\u308c\u3066\u3044\u308b)\u3001\u7c89\u53d7\u3051\u304c\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u306a\u306e\u3067\u9759\u96fb\u6c17\u3067\u7c89\u53d7\u3051\u306e\u5185\u5074\u306b\u304f\u3063\u3064\u304f\u3001\u30c0\u30de\u306b\u306a\u308b\u3001\u6319\u3052\u53e5\u7c89\u53d7\u3051\u306e\u5916\u3082\u7c89\u3060\u3089\u3051\u306b\u306a\u308b\u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\u3002\u30a8\u30f3\u30c8\u30ea\u30fc\u30e2\u30c7\u30eb\u3068\u3057\u3066\u306f\u6700\u9ad8\u3060\u3068\u601d\u3046\u3093\u3067\u3059\u3051\u3069\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/melita-tray_hu_b150a3f2fc1e4268.png\" alt=\"\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1\u306e\u7c89\u53d7\u3051\" \/>\n<\/p>\n<p>\u307e\u3041\u305d\u3093\u306a\u308f\u3051\u3067\u6bce\u56de\u30ad\u30c3\u30c1\u30f3\u3092\u30b3\u30fc\u30d2\u30fc\u3060\u3089\u3051\u306b\u3059\u308b\u306e\u304c\u30b9\u30c8\u30ec\u30b9\u3060\u306a\u30fc\u3001\u826f\u3044\u30df\u30eb\u304c\u6b32\u3057\u3044\u306a\u30fc\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u3001Fellow\u3068\u3044\u3046\u4f1a\u793e\u304b\u3089\u306e\u6700\u65b0\u30df\u30eb\u3067\u3042\u308bODE Gen2\u3068\u3044\u3046\u30df\u30eb\u304c\u65e5\u672c\u3067\u3082\u767a\u58f2\u306b\u306a\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u4e88\u7d04\u3057\u3066\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u5024\u6bb5\u306f61,600\u5186\u3002\u9ad8\u3044\u3067\u3059\u306d\u3002\u79c1\u306f\u3061\u3087\u3046\u3069\u30dc\u30fc\u30ca\u30b9\u304c\u51fa\u305f\u306e\u3067\u9ad8\u3044\u306a\u30fc\u3068\u601d\u3044\u306a\u304c\u3089\u30dd\u30c1\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u53c2\u8003\u306b\u3057\u305f\u30ec\u30d3\u30e5\u30fc\u52d5\u753b\u306f\u3053\u3061\u3089\u3067\u3059:<\/p>\n<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\">\n<iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube.com\/embed\/3f8dv72Ex6U?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"><\/iframe>\n<\/div>\n<p>\u3053\u306e\u30df\u30eb\u306e\u4f55\u304c\u4e00\u756a\u826f\u3044\u304b\u3068\u3044\u3046\u3068\u3001\u9759\u96fb\u6c17\u9632\u6b62\u6a5f\u80fd\u3068\u30ce\u30c3\u30ab\u30fc\u304c\u3064\u3044\u3066\u3044\u308b\u3068\u3053\u308d\u3067\u3001\u524d\u8ff0\u306e\u901a\u308a\u9759\u96fb\u6c17\u304c\u4e3b\u306a\u30b9\u30c8\u30ec\u30b9\u306e\u539f\u56e0\u3060\u3063\u305f\u306e\u3068\u3001\u7c89\u3092\u843d\u3068\u3057\u304d\u308b\u305f\u3081\u306b\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1\u3092\u53e9\u3044\u3066\u3044\u305f\u306e\u3067\u3001\u30ce\u30c3\u30ab\u30fc\u304c\u3042\u308b\u306e\u306f\u3059\u3054\u304f\u3044\u3044\u3068\u611f\u3058\u307e\u3057\u305f\u3002<\/p>\n<p>\u8ca9\u58f2\u30da\u30fc\u30b8\u306f\u3053\u3061\u3089: <a href=\"https:\/\/kigu.coffee\/products\/ode-brew-grinder-gen2\" target=\"_blank\" rel=\"noopener\">Fellow ODE Brew Grinder Gen 2<\/a>\n<\/p>\n<p>\u5c4a\u3044\u305f\u30e2\u30ce\u304c\u3053\u3061\u3089:\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/fellow-ode-gen2_hu_ed9b62f26e4adde2.png\" alt=\"Fellow ODE Gen 2\" \/>\n<\/p>\n<p>\u307e\u305a\u3001\u30c7\u30b6\u30a4\u30f3\u304c\u826f\u3044\u3067\u3059\u3088\u306d\u3002\u5b89\u3063\u307d\u3055\u3092\u611f\u3058\u3055\u305b\u306a\u3044\u3067\u3059\u3057\u3001\u5927\u304d\u306a\u30c0\u30a4\u30e4\u30eb\u304c\u4f7f\u3044\u3084\u3059\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u633d\u3044\u305f\u7c89\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/coffee-powder-perfect-touch_hu_e5f173d8cc2be5c.png\" alt=\"\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1II\u3067\u633d\u3044\u305f\u7c89\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/coffee-powder-ode-gen2_hu_31b22e83af368af1.png\" alt=\"ODE Gen2\u3067\u633d\u3044\u305f\u7c89\" \/>\n<\/p>\n<p>\u9ec4\u8272\u3044\u76bf\u306b\u5165\u3063\u3066\u3044\u308b\u65b9\u304c\u30d1\u30fc\u30d5\u30a7\u30af\u30c8\u30bf\u30c3\u30c1II\u3067\u633d\u3044\u305f\u7c89\u3067\u3059\u3002\u5fae\u7c89\u304c\u9759\u96fb\u6c17\u3067\u30c0\u30de\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u304c\u898b\u3066\u53d6\u308c\u307e\u3059\u3057\u3001\u9759\u96fb\u6c17\u3067\u76bf\u306e\u58c1\u9762\u306b\u7d30\u304b\u3044\u7c89\u304c\u3064\u3044\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\u3002\u4e00\u65b9ODE Gen2\u3067\u633d\u3044\u305f\u7c89\u306f\u7c92\u5ea6\u304c\u4e00\u5b9a\u3067\u3001\u9759\u96fb\u6c17\u3082\u3072\u3069\u304f\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u3041\u3001(\u5b9a\u4fa1\u30d9\u30fc\u30b9\u3067)\u5024\u6bb5\u304c6\u500d\u304f\u3089\u3044\u9055\u3046\u306e\u3067\u3001\u540c\u3058\u7d50\u679c\u3067\u306f\u56f0\u308b\u306e\u3067\u3059\u304c\u30fb\u30fb\u30fb<\/p>\n<p>\u7c89\u53d7\u3051\u3082\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/images\/ode-gen2-tray_hu_c537677cc0890f54.png\" alt=\"ODE Gen2\u306e\u7c89\u53d7\u3051\" \/>\n<\/p>\n<p>\u7c89\u53d7\u3051\u306b\u3082\u307b\u3068\u3093\u3069\u7c89\u304c\u6b8b\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u826f\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u30b9\u30da\u30c3\u30af\u7684\u306b\u306f\u3001\u30d5\u30ec\u30f3\u30c1\u30d7\u30ec\u30b9\u3067\u4f7f\u3048\u308b\u304f\u3089\u3044\u306e\u7c97\u3044\u633d\u304d\u76ee\u304b\u3089\u3001\u30de\u30ad\u30cd\u30c3\u30bf\u7528\u306b\u3082\u306a\u3093\u3068\u304b\u4f7f\u3048\u308b\u304b\u306a\u3001\u4f4d\u306e\u7bc4\u56f2\u3067\u633d\u3051\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"YAPC::Kyoto 2023\u306b\u53c2\u52a0\u3057\u3066\u304d\u305f","link":"https:\/\/blog.web-apps.tech\/yapc-kyoto-2023\/","pubDate":"Tue, 21 Mar 2023 00:54:00 +0900","guid":"https:\/\/blog.web-apps.tech\/yapc-kyoto-2023\/","description":"<p>COVID-19\u306e\u5f71\u97ff\u3092\u53d7\u3051\u591a\u304f\u306e\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u304c\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u307f\u306e\u958b\u50ac\u3068\u306a\u308a\u3001\u6570\u5e74\u3076\u308a\u306b\u30aa\u30d5\u30e9\u30a4\u30f3\u306e\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3001<a href=\"https:\/\/yapcjapan.org\/2023kyoto\/\" target=\"_blank\" rel=\"noopener\">YAPC::Kyoto 2023<\/a>\n\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\nYAPC::Kyoto\u306f2020\u5e74\u306b\u958b\u50ac\u4e88\u5b9a\u3060\u3063\u305f\u3082\u306e\u306e\u3001COVID-19\u306e\u5f71\u97ff\u3067\u958b\u50ac\u3092\u5ef6\u671f\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u4eca\u5e74\u3088\u3046\u3084\u304f\u3001YAPC::Kyoto 2023\u3068\u3057\u3066\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>YAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u201cYet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eac\u90fd\u306f\u304a\u305d\u3089\u304f<a href=\"https:\/\/www.ospn.jp\/osc2018-kyoto\/\" target=\"_blank\" rel=\"noopener\">OSC 2018 Kyoto<\/a>\n\u4ee5\u6765\u3067\u3001\u7d045\u5e74\u3076\u308a\u306b\u4eac\u90fd\u306b\u6765\u305f\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u3002\u4eca\u56de\u306f\u3061\u3083\u3093\u3068\u4f1a\u5834\u3067\u3042\u308bKRP\u8fd1\u304f\u306e\u6771\u6a2a\u30a4\u30f3(\u6771\u6a2a\u30a4\u30f3\u4eac\u90fd\u4e94\u6761\u5927\u5bae)\u3092\u78ba\u4fdd\u3059\u308b\u3053\u3068\u306b\u6210\u529f\u3057\u3001\u524d\u65e5\u796d\u306e\u524d\u65e5\u591c\u306b\u4eac\u90fd\u306b\u7740\u304d\u3001\u672c\u796d\u306e\u7fcc\u65e5\u591c\u306b\u6771\u4eac\u306b\u5e30\u308b\u3068\u3044\u3046\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3067\u3057\u305f\u3002<\/p>\n<p>\u521d\u65e5\u306f\u5230\u7740\u304c\u9045\u304b\u3063\u305f\u3053\u3068\u3082\u3042\u308a\u3001\u6df1\u591c\u306b<a href=\"https:\/\/twitter.com\/hashtag\/yapcramen\" target=\"_blank\">#yapcramen<\/a>\n\u3059\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n<blockquote class=\"twitter-tweet\"><p lang=\"qme\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcjapan<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/yapcramen?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcramen<\/a> <a href=\"https:\/\/t.co\/xjNb09VCXW\">https:\/\/t.co\/xjNb09VCXW<\/a> <a href=\"https:\/\/t.co\/uAcIisYkGG\">pic.twitter.com\/uAcIisYkGG<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1636754821641392131?ref_src=twsrc%5Etfw\">March 17, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/p>\n<h1 id=\"yapckyoto-2023-\u524d\u65e5\u796d\">YAPC::Kyoto 2023 \u524d\u65e5\u796d<\/h1>\n<p>\u30de\u30b9\u30af\u306e\u7740\u7528\u306f\u5f53\u4eba\u306e\u5224\u65ad\u306b\u59d4\u306d\u308b\u3001\u3068\u3044\u3046\u767a\u8868\u304c\u653f\u5e9c\u304b\u3089\u3042\u3063\u305f\u3082\u306e\u306e\u3001\u307e\u3060\u307e\u3060\u611f\u67d3\u304c\u6c17\u306b\u306a\u308b\u4eca\u65e5\u3053\u306e\u9803\u3001\u4eca\u56de\u306eYAPC\u3067\u306f\u524d\u591c\u796d\u3067\u306f\u306a\u304f\u524d\u65e5\u796d\u3068\u3044\u3046\u5f62\u3067\u524d\u65e5\u30a4\u30d9\u30f3\u30c8\u304c\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002\u30dc\u30b1\u30dc\u30b1\u3057\u3066\u3044\u305f\u3089\u30c1\u30b1\u30c3\u30c8\u304c\u3059\u3079\u3066\u306f\u3051\u3066\u3057\u307e\u3063\u3066\u304a\u308a\u3001\u5f53\u65e5\u306b\u306a\u3063\u3066\u3082\u30ad\u30e3\u30f3\u30bb\u30eb\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u4ed5\u65b9\u306a\u3044\u304b\u3089\u4eac\u90fd\u89b3\u5149\u3067\u3082\u3059\u308b\u304b\u3001\u3068\u4eac\u90fd\u99c5\u301c\u56db\u6761\u4ed8\u8fd1\u3092\u3046\u308d\u3064\u3044\u3066\u3044\u305f\u3089\u53c2\u52a0\u7387\u7684\u306b\u88dc\u6b20\u5168\u54e1\u7e70\u308a\u4e0a\u3052\u3001\u3068\u3044\u3046\u9023\u7d61\u304c\u904b\u55b6\u304b\u3089\u3042\u3063\u305f\u305f\u3081\u9014\u4e2d\u304b\u3089\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u524d\u65e5\u796d\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u663c\u3054\u98ef\u306f<a href=\"https:\/\/yoshimura-gr.com\/sobanomi\/\" target=\"_blank\" rel=\"noopener\">\u854e\u9ea6\u306e\u5b9f \u3088\u3057\u3080\u3089<\/a>\n\u3067\u305d\u3070\u3065\u304f\u3057\u81b3\u3068\u305d\u3070\u8336\u30af\u30ea\u30fc\u30e0\u30d7\u30ea\u30f3\u3092\u98df\u3079\u307e\u3057\u305f\u3002<\/p>\n<p><blockquote class=\"twitter-tweet\"><p lang=\"zxx\" dir=\"ltr\"><a href=\"https:\/\/t.co\/nbEJmygDYb\">pic.twitter.com\/nbEJmygDYb<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1636934422955184128?ref_src=twsrc%5Etfw\">March 18, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u5ba2\u5358\u4fa1\u3042\u3052\u3066\u3044\u3053\u3046\u306a <a href=\"https:\/\/t.co\/6zKjaRyFqK\">pic.twitter.com\/6zKjaRyFqK<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1636937803090251778?ref_src=twsrc%5Etfw\">March 18, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/p>\n<p>\u53c2\u52a0\u3057\u305f\u306e\u306f\u6771\u897f\u5bfe\u6297LT\u30de\u30c3\u30c1\u304b\u3089\u3060\u3063\u305f\u3093\u3067\u3059\u304c\u3001LT\u3068\u3044\u3046\u30e2\u30ce\u3092\u898b\u308b\u306e\u3082\u4e45\u3005\u3067\u3057\u305f\u3057\u3001LT\u306f\u521d\u3081\u3066\u3068\u3044\u3046\u4eba\u304c\u591a\u6570LT\u3092\u3057\u3066\u3044\u3066\u306a\u304b\u306a\u304b\u826f\u304b\u3063\u305f\u3067\u3059\u306d\u3002LT\u3067\u3082\u5bb9\u8d66\u306a\u304f<a href=\"https:\/\/twitter.com\/dankogai\" target=\"_blank\">@dankogai<\/a>\nsan\u304b\u3089\u30b3\u30e1\u30f3\u30c8\u304c\u5165\u308b\u306e\u306f\u3053\u308c\u304c\u30aa\u30d5\u30e9\u30a4\u30f3\u306eYAPC\u3060\uff01\uff01\u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\u3002<\/p>\n<p>\u5fc3\u306b\u6b8b\u3063\u305f\u4e00\u8a00\u306f\u300c\u6570\u306e\u66b4\u529b\u306b\u306f\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u306f\u7121\u610f\u5473\u300d\u3067\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u300c\u6570\u306e\u66b4\u529b\u306b\u306f\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u306f\u7121\u610f\u5473\u300d\u308f\u304b\u308b <a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcjapan<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1636993563459477504?ref_src=twsrc%5Etfw\">March 18, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u7d42\u308f\u3063\u305f\u5f8c\u306f<a href=\"https:\/\/twitter.com\/gomaaburamax\" target=\"_blank\">@gomaaburamax<\/a>\n\u3084<a href=\"https:\/\/twitter.com\/tomio2480\" target=\"_blank\">@tomio2480<\/a>\n\u3001\u5b66\u751f\u305f\u3061\u3068\u98f2\u307f\u306b\u884c\u3063\u305f\u308a\u3001\u3055\u3089\u306b\u306f\u306f\u3057\u3054\u9152\u3067<a href=\"https:\/\/twitter.com\/sweet_potato_hs\" target=\"_blank\">@sweet_potato_hs<\/a>\n\u3068\u98f2\u307f\u306b\u884c\u3063\u305f\u308a\u3057\u307e\u3057\u305f\u3002<\/p>\n<h1 id=\"yapckyoto-2023\">YAPC::Kyoto 2023<\/h1>\n<p>\u4eca\u56de\u306f\u306a\u3093\u3068(!)\u5bdd\u574a\u3092\u3057\u306a\u304b\u3063\u305f\u305f\u3081\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u304b\u3089\u53c2\u52a0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3001\u3081\u3067\u305f\u3057\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"qme\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/yapcramen?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcramen<\/a> <a href=\"https:\/\/t.co\/GLVTpUlqcH\">pic.twitter.com\/GLVTpUlqcH<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1637318340657176576?ref_src=twsrc%5Etfw\">March 19, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u3084\u306f\u308a\u5370\u8c61\u306b\u6b8b\u3063\u305f\u30c8\u30fc\u30af\u306f<a href=\"https:\/\/twitter.com\/moznion\" target=\"_blank\">@moznion<\/a>\nsan\u306e<a href=\"https:\/\/yapcjapan.org\/2023kyoto\/timetable.html#talk-4\" target=\"_blank\" rel=\"noopener\">\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u30b5\u30d0\u30a4\u30d0\u30eb\u30ac\u30a4\u30c9: \u5ec3\u589f\u3092\u76f4\u3059\u3001\u5ec3\u589f\u3092\u51fa\u308b\u3001\u5ec3\u589f\u3092\u58ca\u3059\u3001\u3042\u308b\u3044\u306f\u5ec3\u589f\u306b\u66ae\u3089\u3059\u3001\u5ec3\u589f\u306b\u6b7b\u3059 <\/a>\n\u3067\u3059\u306d\u3002\u30b2\u30b9\u30c8\u30c8\u30fc\u30af\u306a\u305f\u3081\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u306b\u6295\u7968\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u304c\u6b8b\u5ff5\u3067\u3059\u30fb\u30fb\u30fb\u3002\u7279\u306b\u3001\u300c\u305d\u3057\u3066\u4eba\u985e\u306f\u5ec3\u589f\u3092\u8d8a\u3048\u308b\u907a\u8de1\u306b\u51fa\u4f1a\u3063\u3066\u3044\u304f\u306e\u3067\u3042\u308b\u304c\u30fb\u30fb\u30fb\u300d\u3068\u3044\u3046\u8a71\u306e\u5f8c\u306b<a href=\"https:\/\/twitter.com\/uzulla\" target=\"_blank\">@uzulla<\/a>\nsan\u304b\u3089\u300c\u53e4\u58b3\u306f\u3069\u3046\u3067\u3059\u304b\u300d\u306a\u3069\u3068\u3044\u3046\u8cea\u554f\u304c\u4e0a\u304c\u3063\u3066\u3044\u305f\u306e\u306f\u9762\u767d\u304b\u3063\u305f\u3067\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u300c\u53e4\u4ee3\u6587\u660e\u306e\u53e4\u58b3\u306f\u3069\u3046\u3067\u3059\u304b\u300d\u300c\u53e4\u58b3\u306f\u7121\u7406\u3067\u3059\u306d\u3001\u4f5c\u308a\u76f4\u3057\u307e\u3057\u3087\u3046\u300d\u300c\u306a\u308b\u307b\u3069\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\uff01\uff01\uff01\u300d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan?src=hash&amp;ref_src=twsrc%5Etfw\">#yapcjapan<\/a><\/p>&mdash; uzulla (@uzulla) <a href=\"https:\/\/twitter.com\/uzulla\/status\/1637331563158605826?ref_src=twsrc%5Etfw\">March 19, 2023<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u7686\u3055\u3093\u91d1\u306e\u5f3e\u4e38\u3067\u5ec3\u589f\u3092\u306a\u3093\u3068\u304b\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>"},{"title":"Air Bangle","link":"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/","pubDate":"Tue, 21 Feb 2023 23:00:06 +0900","guid":"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/","description":"<p>\u3042\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u300211\u6708\u9803\u306bMakuake\u3067\u5fdc\u63f4\u8cfc\u5165\u3057\u305fApple watch\u7528\u306e\u30d0\u30f3\u30b0\u30eb\u304c\u5c4a\u3044\u305f\u306e\u3067\u958b\u5c01\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u8cfc\u5165\u3057\u305f\u306e\u306f<a href=\"https:\/\/www.makuake.com\/project\/air-bangle02\/\" target=\"_blank\" rel=\"noopener\">Air bangle<\/a>\n\u306e\u3079\u3063\u7532\u30ab\u30e9\u30fc\u3067\u3059\u3002\nAir bangle\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u4e16\u306b\u3082\u73cd\u3057\u3044(?)\u30d0\u30f3\u30b0\u30eb\u578b\u306eApple watch\u30d0\u30f3\u30c9\u3067\u3059\u3002\n\u9bd6\u6c5f\u306e\u30e1\u30ac\u30cd\u4f5c\u308a\u306e\u6280\u8853\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/box_hu_d6a2adcb860e3616.jpeg\" alt=\"\u7bb1\" \/>\n<\/p>\n<p>\u7bb1\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3001\u601d\u3063\u3066\u3044\u305f\u3088\u308a\u3082\u9ad8\u7d1a\u611f\u304c\u3042\u308a\u307e\u3059\u3002\u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u3067\u4f5c\u3089\u308c\u305f\u30e2\u30ce\u306f\u3082\u3063\u3068\u304c\u3055\u3064\u306a\u888b\u306b\u5165\u3063\u3066\u304f\u308b\u3082\u306e\u3060\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u3046\u3067\u3082\u306a\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/contents_hu_e21653f8c882b0fb.jpeg\" alt=\"\u4e2d\u8eab\" \/>\n<\/p>\n<p>\u4e2d\u306b\u306f\u30a2\u30c0\u30d7\u30bf\u3068\u672c\u4f53\u3001\u53d6\u6271\u8aac\u660e\u66f8\u304c\u5165\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u53d6\u8aac\u306e\u5185\u5bb9\u306f\u307b\u3068\u3093\u3069QR\u30b3\u30fc\u30c9\u3067\u3001Apple watch\u3078\u306e\u88c5\u7740\u65b9\u6cd5\u3084\u7740\u3051\u5fc3\u5730\u306e\u8abf\u6574\u65b9\u6cd5\u306a\u3069\u306f\u52d5\u753b\u3067\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u4fdd\u8a3c\u3082\u4e00\u5e74\u3064\u3044\u3066\u3044\u3066\u5b89\u5fc3\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/color_hu_9d84a5ceb0014403.jpeg\" alt=\"\u8272\u5473\" \/>\n<\/p>\n<p>\u8272\u306f\u3053\u3093\u306a\u611f\u3058\u3002Makuake\u306e\u30da\u30fc\u30b8\u4e0a\u3067\u898b\u305f\u30a4\u30e1\u30fc\u30b8\u3088\u308a\u306f\u6fc3\u3044\u8272\u306b\u898b\u3048\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/size_hu_a0aaefda858b8351.jpeg\" alt=\"\u30b5\u30a4\u30ba\" \/>\n<\/p>\n<p>\u8cfc\u5165\u3057\u305f\u306e\u306fApple watch 38\/40\/41mm\u7528\u306e\u30b5\u30a4\u30ba4(17\u301c18.5cm)\u3067\u3059\u3002\u3053\u308c\u307e\u3067\u306f\u30bd\u30ed\u30eb\u30fc\u30d7\u306e\u30b5\u30a4\u30ba9\u3084\u3001\u30d6\u30ec\u30a4\u30c7\u30c3\u30c9\u30bd\u30ed\u30eb\u30fc\u30d7\u306e\u30b5\u30a4\u30ba8\u304c\u3061\u3087\u3046\u3069\u3044\u3044\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u4f4d\u306e\u8155\u306e\u592a\u3055\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/stand_hu_4b265dc538ce787b.jpeg\" alt=\"\u30b9\u30bf\u30f3\u30c9\" \/>\n<\/p>\n<p>\u304a\u307e\u3051(?)\u3068\u3057\u3066\u5c02\u7528\u306e\u30b9\u30bf\u30f3\u30c9\u3082\u3064\u3044\u3066\u3044\u307e\u3059\u3002\u7c21\u5358\u306a\u4f5c\u308a\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u6728\u88fd\u3067\u60aa\u304f\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/stand_rev_hu_1beb3995d1f55876.jpeg\" alt=\"\u30b9\u30bf\u30f3\u30c9\u88cf\" \/>\n<\/p>\n<p>\u8868\u304b\u3089\u898b\u308b\u3068\u6728\u76ee\u304c\u826f\u3044\u611f\u3058\u3067\u3059\u304c\u3001\u5b9f\u969b\u306f\u7a81\u677f\u3067\u3001\u88cf\u304b\u3089\u898b\u308b\u3068MDF\u6750\u307e\u3093\u307e\u306a\u306e\u3067\u8868\u304b\u3089\u3060\u3051\u898b\u307e\u3057\u3087\u3046\u3002(makuake\u306e\u30da\u30fc\u30b8\u3092\u898b\u308b\u3068\u30c1\u30a7\u30ea\u30fc\u7a81\u677f\/MDF\u6750\u3001\u3068\u306e\u3053\u3068\u3067\u3059)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/plate_hu_bbce70f6291f36a0.jpeg\" alt=\"\u30d9\u30fc\u30bf\u30c1\u30bf\u30f3\u30d7\u30ec\u30fc\u30c8\" \/>\n<\/p>\n<p>Apple watch\u306b\u56fa\u5b9a\u3059\u308b\u30d7\u30ec\u30fc\u30c8\u90e8\u5206\u3082\u304d\u308c\u3044\u3067\u3059\u3002\u5b89\u30e2\u30ce\u3060\u3068\u3053\u3046\u3044\u3046\u90e8\u5206\u304c\u3042\u307e\u308a\u304d\u308c\u3044\u3067\u306f\u306a\u304b\u3063\u305f\u308a\u3059\u308b\u3093\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/adapter_hu_8b39d22ec7806734.jpeg\" alt=\"\u30a2\u30c0\u30d7\u30bf\" \/>\n<\/p>\n<p>\u5b9f\u969b\u306bApple watch\u306b\u88c5\u7740\u3059\u308b\u969b\u306f\u3053\u306e\u30a2\u30c0\u30d7\u30bf\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30a2\u30c0\u30d7\u30bf\u306f\u8cfc\u5165\u6642\u306b\u9ed2\u304b\u30b7\u30eb\u30d0\u30fc\u304b\u3089\u9078\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001\u79c1\u306eApple watch\u306f\u30df\u30c3\u30c9\u30ca\u30a4\u30c8\u30ab\u30e9\u30fc\u306a\u306e\u3067\u9ed2\u306b\u3057\u307e\u3057\u305f\u3002\n\u3082\u3061\u308d\u3093\u3001\u304d\u3061\u3093\u3068\u30ed\u30c3\u30af\u90e8\u5206\u3082\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/images\/charge_hu_3f552cdec775c0ad.jpeg\" alt=\"\u5145\u96fb\u30b9\u30bf\u30f3\u30c9\" \/>\n<\/p>\n<p>\u5e73\u7f6e\u304d\u30bf\u30a4\u30d7\u306e\u30c9\u30c3\u30af\u306a\u3069\u306f\u4f7f\u3048\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u3001<a href=\"https:\/\/amzn.to\/3ILbUdT\" target=\"_blank\" rel=\"noopener\">Amazon\u3067\u58f2\u3063\u3066\u3044\u308b\u5b89\u4fa1\u306a\u6a2a\u7f6e\u304d\u30bf\u30a4\u30d7\u306e\u5145\u96fb\u30b9\u30bf\u30f3\u30c9<\/a>\n\u3067\u3042\u308c\u3070\u554f\u984c\u7121\u304f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u8cfc\u5165\u3057\u305f\u3079\u3063\u7532\u30ab\u30e9\u30fc\u306f\u307e\u3060\u6b63\u5f0f\u306b\u306f\u767a\u58f2\u524d\u306a\u306e\u3067\u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u304c\u7d42\u4e86\u3057\u305f\u73fe\u5728\u306f\u8cfc\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u304c\u3001\u7b2c\u4e00\u5f3e\u3067\u8ca9\u58f2\u3055\u308c\u305f3\u8272\u306f<a href=\"https:\/\/airbangle.com\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u304b\u3089\u8cfc\u5165\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u6c17\u306b\u306a\u3063\u305f\u4eba\u306f\u8cfc\u5165\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002\n\u30b5\u30a4\u30ba\u306f38\/40\/41mm Apple watch\u7528\u306842\/44\/45mm Apple watch\u7528\u3067\u305d\u308c\u305e\u308c5\u30b5\u30a4\u30ba\u5c55\u958b\u3001\u5c4a\u3044\u305f\u5f8c\u306b\u30b5\u30a4\u30ba\u304c\u5408\u308f\u306a\u304b\u3063\u305f\u5834\u5408\u3082\u7121\u511f\u3067\u4ea4\u63db\u3057\u3066\u304f\u308c\u308b\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u4e88\u60f3\u3057\u3066\u3044\u305f\u3053\u3068\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u30ad\u30fc\u30dc\u30fc\u30c9\u64cd\u4f5c\u3092\u3059\u308b\u3068\u304d\u306f\u90aa\u9b54\u306b\u306a\u308a\u307e\u3059\u306e\u3067\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u64cd\u4f5c\u3092\u3059\u308b\u3068\u304d\u306f\u30bd\u30ed\u30eb\u30fc\u30d7\u3001\u5916\u51fa\u6642\u306fAir bangle\u3068\u3044\u3063\u305f\u4f7f\u3044\u5206\u3051\u304c\u5fc5\u8981\u305d\u3046\u3067\u3059\u3002<\/p>"},{"title":"2022\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u30e2\u30ce","link":"https:\/\/blog.web-apps.tech\/2022-must-buy\/","pubDate":"Sat, 17 Dec 2022 00:15:00 +0900","guid":"https:\/\/blog.web-apps.tech\/2022-must-buy\/","description":"<p>\u307e\u3041\u5b9a\u756a\u306e\u30cd\u30bf\u3067\u3059\u304c\u3001\u4eca\u5e74\u3082\u3044\u308d\u3044\u308d\u8cb7\u3063\u305f\u306e\u3067\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"\u8eca\u95a2\u9023\">\u8eca\u95a2\u9023<\/h2>\n<ul>\n<li>Honda N-ONE\n<ul>\n<li>\u601d\u3063\u305f\u3088\u308a\u4e57\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u6b21\u306b\u8cb7\u3044\u63db\u3048\u308b\u3068\u304d\u306f\u3082\u3063\u3068\u304a\u91d1\u3092\u639b\u3051\u3066\u3082\u826f\u3044\u306a\u3001\u3068\u3044\u3046\u6c17\u6301\u3061<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3V4uUXm\" target=\"_blank\" rel=\"noopener\">Anker PowerDrive III Duo<\/a>\n<ul>\n<li>\u6700\u8fd1\u306f\u30ab\u30fc\u30c1\u30e3\u30fc\u30b8\u30e3\u30fc\u3082USB-C\u306e\u304c\u6709\u308b\u3093\u3067\u3059\u306d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3uThdA2\" target=\"_blank\" rel=\"noopener\">Anker PowerLine \u2162 Flow USB-C &amp; \u30e9\u30a4\u30c8\u30cb\u30f3\u30b0 \u30b1\u30fc\u30d6\u30eb<\/a>\n<ul>\n<li>\u8eca\u95a2\u9023\u3067\u306f\u306a\u3044\u3051\u3069\u8eca\u3067\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3002\u7d61\u307e\u306a\u3044<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3FUSAJF\" target=\"_blank\" rel=\"noopener\">\u30b5\u30e0\u30e9\u30a4\u30d7\u30ed\u30c7\u30e5\u30fc\u30b9 \u8d85\u5438\u6c34 \u30b5\u30e0\u30e9\u30a4\u30bf\u30aa\u30eb \u5927\u5224 L\u30b5\u30a4\u30ba<\/a>\n<ul>\n<li>\u6d17\u8eca\u5f8c\u306f\u3053\u308c\u3067\u307b\u307c\u4e00\u767a<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3Yof4dn\" target=\"_blank\" rel=\"noopener\">\u30af\u30ed\u30c3\u30af\u30b9 \u30b9\u30a6\u30a3\u30d5\u30c8\u30a6\u30a9\u30fc\u30bf\u30fc \u30a8\u30af\u30b9\u30da\u30c7\u30a3\u30b7\u30e7\u30f3<\/a>\n<ul>\n<li>\u6c38\u9060\u306b\u30b5\u30f3\u30c0\u30eb\u3092\u5c65\u3044\u3066\u3044\u308b\u3002\u3053\u308c\u306f\u904b\u8ee2\u7528\u3067\u3059<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30a2\u30af\u30a2\u30ea\u30a6\u30e0\">\u30a2\u30af\u30a2\u30ea\u30a6\u30e0<\/h2>\n<ul>\n<li><a href=\"https:\/\/item.rakuten.co.jp\/chanet\/13287\/\" target=\"_blank\" rel=\"noopener\">\u30df\u30ca\u30df\u30cc\u30de\u30a8\u30d3<\/a>\n<ul>\n<li><div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\">\n<iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube.com\/embed\/63_HyRkiVp8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"><\/iframe>\n<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/item.rakuten.co.jp\/chanet\/239232\/\" target=\"_blank\" rel=\"noopener\">GEX \u30b0\u30e9\u30b9\u30c6\u30ea\u30a2\u30d5\u30a3\u30c3\u30c8 200LOW<\/a>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3jaEDOB\" target=\"_blank\" rel=\"noopener\">\u30b3\u30c8\u30d6\u30ad\u5de5\u82b8 \u30df\u30cb\u30d5\u30a3\u30c3\u30c8\u30d5\u30a3\u30eb\u30bf\u30fcMF<\/a>\n<ul>\n<li>\u5bdd\u5ba4\u3067\u4e00\u6669\u4e2d\u52d5\u304b\u3057\u3066\u3066\u3082\u5e73\u6c17\u306a\u304f\u3089\u3044\u9759\u304b<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3hBgOz5\" target=\"_blank\" rel=\"noopener\">GEX \u30af\u30ea\u30a2LED \u30d4\u30c6\u30e9<\/a>\n<ul>\n<li>\u5c0f\u3055\u304f\u3066\u660e\u308b\u304f\u3066\u53ef\u611b\u3044\u3002\u795e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30b2\u30fc\u30e0\">\u30b2\u30fc\u30e0<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3PusH6J\" target=\"_blank\" rel=\"noopener\">Pok\u00e9mon LEGENDS \u30a2\u30eb\u30bb\u30a6\u30b9<\/a>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3Yusm7T\" target=\"_blank\" rel=\"noopener\">Nintendo Switch Pro\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc<\/a>\n<ul>\n<li>\u52dd\u624b\u306b\u52d5\u304b\u306a\u3044\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3001\u5feb\u9069\u30fb\u30fb\u30fb<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30ac\u30b8\u30a7\u30c3\u30c8\u985e\">\u30ac\u30b8\u30a7\u30c3\u30c8\u985e<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3FCi4Kk\" target=\"_blank\" rel=\"noopener\">\u30b0\u30ea\u30fc\u30f3\u30cf\u30a6\u30b9 iPhone\u5dfb\u53d6\u308a\u5f0f\u5145\u96fb\u30b1\u30fc\u30d6\u30eb USB Type-C \u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30b1\u30fc\u30d6\u30eb<\/a>\n<ul>\n<li>\u9784\u306b\u5165\u308c\u3066\u304a\u304f\u30b1\u30fc\u30d6\u30eb\u306f\u5dfb\u304d\u53d6\u308a\u5f0f\u6d3e\u306a\u3093\u3067\u3059\u3088\u306d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3V5Vwau\" target=\"_blank\" rel=\"noopener\">\u30b0\u30e9\u30f3\u30b5\u30f3\u30af \u30d6\u30eb\u30fc\u30cf\u30e0\u30cf\u30e0 i select iPhone\u30b1\u30fc\u30b9<\/a>\n<ul>\n<li>\u30ac\u30b8\u30a7\u30c3\u30c8\u304b\u3069\u3046\u304b\u306f\u5fae\u5999\u3002\u30d6\u30eb\u30fc\u30cf\u30e0\u30cf\u30e0\u53ef\u611b\u3044\u3067\u3059\u306d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3WjNVq0\" target=\"_blank\" rel=\"noopener\">TALENANA for Apple Watch \u30d5\u30a3\u30eb\u30e0<\/a>\n<ul>\n<li>\u67d4\u3089\u304b\u304f\u306a\u3044\u30bf\u30a4\u30d7\u306e\u30d5\u30a3\u30eb\u30e0<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3BFT0kz\" target=\"_blank\" rel=\"noopener\">SwitchBot \u6e29\u6e7f\u5ea6\u8a08\u30d7\u30e9\u30b9<\/a>\n<ul>\n<li>API\u306e\u691c\u8a3c\u7528\u306b\u8cb7\u3063\u305f\u3060\u3051\u3060\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u30d7\u30e9\u30b9\u3058\u3083\u306a\u3044\u5974\u3068\u6bd4\u3079\u3066\u5727\u5012\u7684\u306b\u898b\u3084\u3059\u3044<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u65e5\u7528\u54c1\u306a\u3069\">\u65e5\u7528\u54c1\u306a\u3069<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3UZZ7XH\" target=\"_blank\" rel=\"noopener\">\u30d3\u30db\u30a6\u30de\u30b9\u30af AG\u6297\u83cc+\u30c0\u30d6\u30eb\u30d5\u30a3\u30eb\u30bf \u6a2a\u30ef\u30a4\u30c9\u307e\u3063\u767d\u306a\u3084\u3055\u3057\u3044\u30de\u30b9\u30af(\u500b\u5305\u88c5) 30\u679a\u5165 <\/a>\n<ul>\n<li>\u5225\u306b\u3053\u308c\u81ea\u4f53\u3068\u304bAG\u6297\u83cc\u3068\u304b\u30c0\u30d6\u30eb\u30d5\u30a3\u30eb\u30bf\u3068\u304b\u306b\u7279\u5225\u3053\u3060\u308f\u308a\u304c\u3042\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u3051\u3069\u3001\u5927\u304d\u3044\u30b5\u30a4\u30ba\u306e\u30de\u30b9\u30af\u306f\u304d\u3064\u304f\u306a\u304f\u3066\u826f\u3044<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3FwH2uJ\" target=\"_blank\" rel=\"noopener\">\u30a2\u30a4\u30ea\u30b9\u30aa\u30fc\u30e4\u30de \u5bb6\u5177\u8ee2\u5012\u9632\u6b62\u4f38\u7e2e\u68d2ML \u30db\u30ef\u30a4\u30c8<\/a>\n<ul>\n<li>\u4eca\u5e74\u3001\u5730\u9707\u591a\u304b\u3063\u305f\u3067\u3059\u306d\u3002\u672c\u68da\u304c\u5168\u7136\u63fa\u308c\u306a\u304f\u306a\u3063\u305f<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3PBJIvQ\" target=\"_blank\" rel=\"noopener\">\u30b8\u30e7\u30a4 \u30b8\u30a7\u30eb\u30bf\u30d6 \u98df\u6d17\u6a5f\u7528\u6d17\u5264<\/a>\n<ul>\n<li>\u7d99\u7d9a\u8cfc\u5165\u3067\u306f\u3042\u308b\u3051\u308c\u3069\u3001\u4ed6\u306e\u6d17\u5264\u3082\u4f7f\u3063\u3066\u307f\u3066\u3084\u3063\u3071\u308a\u3053\u308c\u304c\u826f\u304f\u3066\u623b\u3063\u3066\u304d\u305f<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3uXROFi\" target=\"_blank\" rel=\"noopener\">\u30ec\u30ce\u30a2 \u30ea\u30bb\u30c3\u30c8 \u67d4\u8edf\u5264<\/a>\n<ul>\n<li>\u5b8c\u5168\u306b\u3001\u3067\u306f\u306a\u3044\u3051\u3069\u660e\u3089\u304b\u306b\u3057\u308f\u304c\u5c11\u306a\u3044\u3068\u601d\u3046<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3HHOjKY\" target=\"_blank\" rel=\"noopener\">\u30d0\u30eb\u30af\u30aa\u30e0 \u30b7\u30e3\u30f3\u30d7\u30fc<\/a>\n<ul>\n<li>\u9ad8\u3044\u3051\u3069\u5302\u3044\u304c\u597d\u304d\u3002\u3060\u3051\u3069\u9ad8\u3044<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u66f8\u7c4d\">\u66f8\u7c4d<\/h2>\n<p>\u4ee5\u524d\u304b\u3089\u7d99\u7d9a\u7684\u306b\u8cfc\u5165\u3057\u3066\u3044\u308b\u7d9a\u304d\u7269\u306e\u30b3\u30df\u30c3\u30af\u30fb\u5c0f\u8aac\u306a\u3069\u306f\u9664\u304f<\/p>"},{"title":"\u4e8c\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5171\u901a\u884c(\u307e\u305f\u306f\u5171\u901a\u3057\u306a\u3044\u884c)\u3092\u5f97\u308b","link":"https:\/\/blog.web-apps.tech\/use-comm-command-to-get-common-line\/","pubDate":"Wed, 28 Sep 2022 23:59:17 +0900","guid":"https:\/\/blog.web-apps.tech\/use-comm-command-to-get-common-line\/","description":"<p>\u4f8b\u3048\u3070\u3001\u30b5\u30fc\u30d3\u30b9A\u3067\u306f\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u3051\u308c\u3069\u3082\u30b5\u30fc\u30d3\u30b9B\u306b\u306f\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u30e6\u30fc\u30b6\u306e\u4e00\u89a7\u3092\u5f97\u305f\u3044\u3001\u3068\u3044\u3046\u69d8\u306a\u5834\u5408\u3002\u3082\u3061\u308d\u3093<code>diff<\/code>\u3067\u3088\u3057\u306a\u306b\u3084\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001<code>comm<\/code>\u3082\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u6b21\u306e\u69d8\u306b\u30ea\u30b9\u30c8\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002<\/p>\n<p>\u30b5\u30fc\u30d3\u30b9A\u306e\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8(users_a.txt):<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-text\" data-lang=\"text\"><span class=\"line\"><span class=\"cl\">alice\n<\/span><\/span><span class=\"line\"><span class=\"cl\">bob\n<\/span><\/span><span class=\"line\"><span class=\"cl\">charlie\n<\/span><\/span><span class=\"line\"><span class=\"cl\">dave\n<\/span><\/span><span class=\"line\"><span class=\"cl\">oscar\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30b5\u30fc\u30d3\u30b9B\u306e\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8(users_b.txt):<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-text\" data-lang=\"text\"><span class=\"line\"><span class=\"cl\">charlie\n<\/span><\/span><span class=\"line\"><span class=\"cl\">isaac\n<\/span><\/span><span class=\"line\"><span class=\"cl\">justin\n<\/span><\/span><span class=\"line\"><span class=\"cl\">mallory\n<\/span><\/span><span class=\"line\"><span class=\"cl\">oscar\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u3089\u306b\u5bfe\u3057\u3066<code>comm<\/code>\u3092\u4f7f\u3046\u3068\u6b21\u306e\u51fa\u529b\u304c\u5f97\u3089\u308c\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ comm users_a.txt users_b.txt\n<\/span><\/span><span class=\"line\"><span class=\"cl\">alice\n<\/span><\/span><span class=\"line\"><span class=\"cl\">bob\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> charlie\n<\/span><\/span><span class=\"line\"><span class=\"cl\">dave\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> isaac\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> justin\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> mallory\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> oscar\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>TAB\u3067\u63c3\u3048\u3089\u308c\u305f\u5217\u304c\u305d\u308c\u305e\u308c\u5de6\u304b\u3089\u3001A\u306b\u3060\u3051\u5b58\u5728\u3059\u308b\u884c\u3001B\u306b\u3060\u3051\u5b58\u5728\u3059\u308b\u884c\u3001C\u306b\u3060\u3051\u5b58\u5728\u3059\u308b\u884c\u3001\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3060\u3051\u3060\u3068\u5225\u306b\u305d\u308c\u307b\u3069\u4fbf\u5229\u3067\u306f\u306a\u3044\u3093\u3067\u3059\u304c\u3001<code>comm<\/code>\u306f\u305d\u308c\u305e\u308c\u306e\u884c\u3092\u975e\u8868\u793a\u306b\u3059\u308b\u4e8b\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u3001\u975e\u8868\u793a\u306b\u3057\u305f\u3044\u884c\u3092<code>-1<\/code> <code>-2<\/code> <code>-3<\/code>\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>A\u3060\u3051\u306b\u5b58\u5728\u3059\u308b\u884c\u3092\u8868\u793a\u3059\u308b:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ comm -23 users_a.txt users_b.txt\n<\/span><\/span><span class=\"line\"><span class=\"cl\">alice\n<\/span><\/span><span class=\"line\"><span class=\"cl\">bob\n<\/span><\/span><span class=\"line\"><span class=\"cl\">dave\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e21\u65b9\u306b\u5b58\u5728\u3059\u308b\u884c\u3092\u8868\u793a\u3059\u308b:<\/p>"},{"title":"Renovate\u3067GitHub Actions\u3067\u4f7f\u3063\u3066\u3044\u308bHugo\u3092\u66f4\u65b0\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/renovate-hugo-version\/","pubDate":"Tue, 27 Sep 2022 01:53:45 +0900","guid":"https:\/\/blog.web-apps.tech\/renovate-hugo-version\/","description":"<p>GitHub Actions\u3068Hugo\u3092\u4f7f\u7528\u3057\u3066\u9759\u7684\u30b5\u30a4\u30c8\u751f\u6210\u3092\u884c\u3046\u5834\u5408\u3001<a href=\"https:\/\/github.com\/peaceiris\/actions-hugo\" target=\"_blank\" rel=\"noopener\">peaceiris\/actions-hugo<\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u304b\u3001\u81ea\u5206\u3067\u9069\u5f53\u306bHugo\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u304b\u306e\u3044\u305a\u308c\u304b\u304c\u4e00\u822c\u7684\u3060\u3068\u601d\u3044\u307e\u3059\u3002\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u5f53\u521d\u306fpeaceiris\/actions-hugo\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u6700\u8fd1deb\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u81ea\u5206\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u65b9\u5f0f\u306b\u5207\u308a\u66ff\u3048\u307e\u3057\u305f\u3002\n<a href=\"https:\/\/github.com\/gohugoio\/hugo\/releases\" target=\"_blank\" rel=\"noopener\">gohugoio\/hugo\u306ereleases<\/a>\n\u304b\u3089\u76f4\u63a5deb\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6301\u3063\u3066\u304d\u3066\u3044\u308b\u306e\u3067\u3001peaceiris\/actions-hugo\u3068\u306f\u9055\u3044<code>latest<\/code>\u6307\u5b9a\u3092\u3059\u308b\u4e8b\u304c\u3067\u304d\u305a\u3001Hugo\u306e\u66f4\u65b0\u3092\u624b\u52d5\u3067\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u3001\u3061\u3087\u3063\u3068\u9762\u5012\u3060\u306a\u301c\u3068\u611f\u3058\u3066\u3044\u307e\u3057\u305f(\u3057\u304b\u3082Hugo\u306f\u7d50\u69cb\u958b\u767a\u304c\u6d3b\u767a\u3067\u3001\u66f4\u65b0\u3082\u306f\u3084\u3044\u3093\u3067\u3059\u3088\u306d)\u3002<\/p>\n<p>\u4ed5\u4e8b\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u306f\u6700\u8fd1renovate\u304c\u3069\u3093\u3069\u3093\u5c0e\u5165\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u6a5f\u306brenovate\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>Hugo\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f<a href=\"https:\/\/github.com\/nasa9084\/blog.web-apps.tech\/blob\/7d285d9448d11cdfb09369748229f35b63f836cc\/.github\/workflows\/gh-pages.yml#L31-L32\" target=\"_blank\" rel=\"noopener\">GitHub Actions\u306eWorkflow\u30d5\u30a1\u30a4\u30eb\u5185\u306benv\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u3066<\/a>\n\u3001\u3082\u3061\u308d\u3093\u6a19\u6e96\u72b6\u614b\u306erenovate\u306f\u3053\u308c\u3092\u691c\u77e5\u30fb\u66f4\u65b0\u3057\u3066\u304f\u308c\u307e\u305b\u3093\u3002\u3053\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001<a href=\"https:\/\/docs.renovatebot.com\/configuration-options\/#regexmanagers\" target=\"_blank\" rel=\"noopener\">regexManagers<\/a>\n\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>regexManagers\u306f\u6b63\u898f\u8868\u73fe\u3067\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7\u3092\u5f15\u3063\u304b\u3051\u3066\u66f4\u65b0\u3057\u3066\u304f\u308c\u308b<a href=\"https:\/\/docs.renovatebot.com\/modules\/manager\/\" target=\"_blank\" rel=\"noopener\">manager<\/a>\n\u3067\u3001<code>fileMatch<\/code>\u3068<code>matchStrings<\/code>\u3068\u3044\u3046\u4e8c\u3064\u306e\u6b63\u898f\u8868\u73fe\u3092\u66f8\u304f\u3053\u3068\u3067\u4f7f\u3046\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code>fileMatch<\/code>\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u3069\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u76e3\u8996\u3059\u308b\u304b\u3092\u6307\u5b9a\u3059\u308b\u6b63\u898f\u8868\u73fe\u3067\u3001\u4eca\u56de\u306fGitHub Actions\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u76e3\u8996\u3057\u3066\u6b32\u3057\u3044\u306e\u3067\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e<code>github-actions<\/code> manager\u304c\u76e3\u8996\u3059\u308b\u6b63\u898f\u8868\u73fe\u3092\u305d\u306e\u307e\u307e\u30b3\u30d4\u30fc\u3057\u3066\u304d\u3066\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;fileMatch&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;^(workflow-templates|\\.github\\\/workflows)\\\/[^\/]+\\.ya?ml$&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;(^|\\\/)action\\.ya?ml$&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">]<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>matchStrings<\/code>\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5f15\u3063\u304b\u3051\u308b\u305f\u3081\u306e\u6b63\u898f\u8868\u73fe\u3067\u3001<code>datasource<\/code>\u3001<code>depName<\/code>\u3001<code>currentValue<\/code>\u306e\u4e09\u3064\u306e\u5024\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3059\u308b\u304b\u3001<code>datasourceTemplate<\/code>\u3001<code>depNameTemplate<\/code>\u3001<code>currentValueTemplate<\/code>\u3067\u5024\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<code>datasource<\/code>(<code>datasourceTemplate<\/code>)\u3068<code>depName<\/code>(<code>depNameTemplate<\/code>)\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6bd4\u8f03\u3059\u308b\u305f\u3081\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3068\u4f9d\u5b58\u306e\u540d\u79f0\u3067\u3001\u4eca\u56de\u306fGitHub\u4e0a\u306b\u3042\u308bgohugoio\/hugo\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30ea\u30ea\u30fc\u30b9\u3068\u6bd4\u8f03\u3092\u3057\u305f\u3044\u305f\u3081\u3001<code>datasourceTemplate<\/code>\u306b<code>github-releases<\/code>\u3092\u3001<code>depNameTemplate<\/code>\u306b<code>gohugoio\/hugo<\/code>\u3092\u6307\u5b9a\u3057\u307e\u3057\u305f\u3002<code>currentValue<\/code>(<code>currentValueTemplate<\/code>)\u306f\u73fe\u5728\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7\u3092\u8868\u3059\u5024\u3067\u3001\u3053\u308c\u306fGitHub Actions\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u5024\u306a\u306e\u3067\u3001<code>matchStrings<\/code>\u3067\u5f15\u3063\u304b\u3051\u3066\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;matchStrings&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;HUGO_VERSION: (?&lt;currentValue&gt;.*)&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">],<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;datasourceTemplate&#34;: <\/span><span class=\"s2\">&#34;github-releases&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;depNameTemplate&#34;: <\/span><span class=\"s2\">&#34;gohugoio\/hugo&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u5168\u4f53\u3068\u3057\u3066\u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\">{<span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;$schema&#34;: <\/span><span class=\"s2\">&#34;https:\/\/docs.renovatebot.com\/renovate-schema.json&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;extends&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;config:base&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">],<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;regexManagers&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>{<span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;fileMatch&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;^(workflow-templates|\\.github\\\/workflows)\\\/[^\/]+\\.ya?ml$&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;(^|\\\/)action\\.ya?ml$&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">],<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;matchStrings&#34;: <\/span><span class=\"p\">[<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s2\">&#34;HUGO_VERSION: (?&lt;currentValue&gt;.*)&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">],<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;datasourceTemplate&#34;: <\/span><span class=\"s2\">&#34;github-releases&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">&#34;depNameTemplate&#34;: <\/span><span class=\"s2\">&#34;gohugoio\/hugo&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>}<span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">]<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\">}<span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u3067\u7121\u4e8b<a href=\"https:\/\/github.com\/nasa9084\/blog.web-apps.tech\/pull\/11\" target=\"_blank\" rel=\"noopener\">renovate\u304cHugo\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304f\u308c\u308b<\/a>\n\u69d8\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>"},{"title":"GitHub Pages\u3092Actions\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u5f62\u5f0f\u306b\u5909\u66f4\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/use-pages-with-actions\/","pubDate":"Thu, 01 Sep 2022 01:58:19 +0900","guid":"https:\/\/blog.web-apps.tech\/use-pages-with-actions\/","description":"<p>2022\u5e749\u67081\u65e5\u73fe\u5728\u3001\u3053\u306e\u30d6\u30ed\u30b0\u306fmarkdown\u30d5\u30a1\u30a4\u30eb\u304b\u3089Hugo\u3092\u4f7f\u3063\u3066\u9759\u7684\u30b5\u30a4\u30c8\u3092\u751f\u6210\u3057\u3001GitHub Pages\u3067\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002\u5143\u3005GitHub Pages\u306b\u30da\u30fc\u30b8\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u306b\u306f\u3001\u751f\u6210\u6e08\u307f\u30da\u30fc\u30b8\u3092\u5165\u308c\u305f\u5c02\u7528\u306e\u30d6\u30e9\u30f3\u30c1(\u4e00\u822c\u306b<code>gh-pages<\/code>)\u3092\u7528\u610f\u3059\u308b\u304b\u3001\u751f\u6210\u6e08\u307f\u30da\u30fc\u30b8\u3092\u5165\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u7528\u610f\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u4e8c\u629e\u3067\u3001\u3044\u305a\u308c\u306b\u305b\u3088\u30da\u30fc\u30b8\u3092\u751f\u6210\u3057\u3066\u304b\u3089\u751f\u6210\u3055\u308c\u305f\u30da\u30fc\u30b8\u3092GitHub\u306bpush\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u524d\u8005\u306e\u5834\u5408<code>gh-pages<\/code>\u30d6\u30e9\u30f3\u30c1\u306f<code>main<\/code>\u306a\u3044\u3057<code>master<\/code>\u30d6\u30e9\u30f3\u30c1\u3068\u306f\u4e00\u5207\u95a2\u4fc2\u306e\u7121\u3044\u30b3\u30df\u30c3\u30c8\u5c65\u6b74\u3068\u306a\u308a\u3001\u3071\u3063\u3068\u898b\u3088\u304f\u5206\u304b\u3089\u306a\u3044\u3067\u3059\u3057\u3001\u5f8c\u8005\u306e\u5834\u5408git\u306ecommit log\u306b\u30b5\u30a4\u30c8\u751f\u6210\u306e\u30b3\u30df\u30c3\u30c8\u304c\u5165\u3063\u3066\u3057\u307e\u3044\u304d\u308c\u3044\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3057\u3001CI\u3067build\/push\u3092\u3057\u3066\u3044\u308b\u5834\u5408\u30ed\u30fc\u30ab\u30eb\u306b\u6bce\u56depull\u3059\u308b\u5fc5\u8981\u3082\u767a\u751f\u3057\u307e\u3059\u3002\u5f53\u30b5\u30a4\u30c8\u3067\u3082<code>gh-pages<\/code>\u30d6\u30e9\u30f3\u30c1\u306b\u751f\u6210\u6e08\u307f\u30da\u30fc\u30b8\u3092push\u3059\u308b\u904b\u7528\u3068\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u3068\u3053\u308d\u304c\u6700\u8fd1\u3001<a href=\"https:\/\/github.blog\/changelog\/2022-07-27-github-pages-custom-github-actions-workflows-beta\/\" target=\"_blank\" rel=\"noopener\">GitHub Actions\u304b\u3089\u76f4\u63a5GitHub Pages\u306b\u30da\u30fc\u30b8\u3092\u30c7\u30d7\u30ed\u30a4\u3067\u304d\u308b\u69d8\u306b\u306a\u3063\u305f<\/a>\n\u3068\u3044\u3046\u3067\u306f\u306a\u3044\u3067\u3059\u304b\u3002\u3053\u308c\u306f\u8a66\u3057\u3066\u307f\u308b\u3057\u304b\u306a\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u8a2d\u5b9a\u3092\u5909\u66f4\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305a\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306eSettings &gt; Pages\u304b\u3089\u3001Source\u3092GitHub Actions\u306b\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/use-pages-with-actions\/images\/gh-pages-config_hu_3e477d109debc165.png\" alt=\"\" \/>\n<\/p>\n<p>\u6b21\u306b\u3001GitHub Actions\u306eworkflow\u8a2d\u5b9a\u3092<a href=\"https:\/\/github.com\/actions\/starter-workflows\/tree\/main\/pages\" target=\"_blank\" rel=\"noopener\">actions\/starter-workflows<\/a>\n\u3092\u53c2\u8003\u306b\u66f8\u304d\u63db\u3048\u307e\u3059\u3002\u91cd\u8981\u306a\u306e\u306f2\u70b9\u3067\u3001<code>actions\/upload-pages-artifact<\/code>\u3092\u4f7f\u3063\u3066\u751f\u6210\u6e08\u307f\u30da\u30fc\u30b8\u3092artifact\u3068\u3057\u3066\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u70b9\u3068\u3001<code>actions\/deploy-pages<\/code>\u3092\u4f7f\u3063\u3066GitHub Pages\u306b\u30c7\u30d7\u30ed\u30a4\u3092\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">steps<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Upload artifact<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">uses<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">actions\/upload-pages-artifact@v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">with<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">path<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">.\/public<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"c\"># Grant GITHUB_TOKEN the permissions required to make a Pages deployment<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">permissions<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">pages<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">write <\/span><span class=\"w\"> <\/span><span class=\"c\"># to deploy to Pages<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">id-token<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">write <\/span><span class=\"w\"> <\/span><span class=\"c\"># to verify the deployment originates from an appropriate source<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">environment<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">github-pages<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">url<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">${{ steps.deployment.outputs.page_url }}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">steps<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Deploy to GitHub Pages<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">id<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">deployment<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">uses<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">actions\/deploy-pages@v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u591a\u5206artifact\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3068\u30da\u30fc\u30b8\u306e\u30c7\u30d7\u30ed\u30a4\u306f\u540c\u3058Job\u5185\u3067\u5b9f\u65bd\u3057\u3066\u3082\u554f\u984c\u7121\u304f\u52d5\u304f\u3068\u306f\u601d\u3044\u307e\u3059\u304c\u3001<a href=\"https:\/\/github.com\/actions\/deploy-pages\" target=\"_blank\" rel=\"noopener\">actions\/deploy-pages\u306eREADME<\/a>\n\u306b\u3088\u308b\u3068\u5c02\u7528\u306eJob\u306b\u5206\u3051\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002<\/p>"},{"title":"\u6885\u4ed5\u4e8b2022","link":"https:\/\/blog.web-apps.tech\/ume-2022\/","pubDate":"Sun, 05 Jun 2022 19:45:00 +0900","guid":"https:\/\/blog.web-apps.tech\/ume-2022\/","description":"<p>\u7686\u3055\u3093\u30016\u6708\u3067\u3059\u30026\u6708\u3068\u8a00\u3048\u3070\u3001\u305d\u3046\u3001\u6885\u306e\u5b63\u7bc0\u3067\u3059\u306d\u3002\u4eca\u5e74\u3082\u8fd1\u6240\u306e\u897f\u53cb\u3067\u6885\u3084\u3089\u3067\u304b\u3044\u74f6\u3084\u3089\u304c\u5e97\u982d\u306b\u4e26\u3093\u3067\u3044\u305f\u306e\u3067\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f2020\u5e74\u304b\u3089\u3057\u304b\u8a18\u9332\u3092\u3064\u3051\u3066\u3044\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u6210\u4eba\u3057\u3066\u304b\u3089\u6bce\u5e74\u6885\u9152\u3068\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u3066\u304a\u308a\u3001\u6885\u9152\u306f\u307b\u307c\u624b\u3092\u4ed8\u3051\u3066\u3044\u306a\u3044\u306e\u30674L\u74f6\u304c\u5b9f\u5bb6\u306b\u3082\u73fe\u5728\u306e\u5bb6\u306b\u3082\u4e26\u3093\u3067\u3044\u307e\u3059\u3002\u305d\u308d\u305d\u308d\u4e00\u5347\u74f6\u3092\u5165\u624b\u3057\u3066\u74f6\u8a70\u3081\u3067\u3082\u3057\u3088\u3046\u304b\u3001\u306a\u3069\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u6268\u3001\u3082\u3061\u308d\u3093\u4eca\u5e74\u3082\u6885\u9152\/\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u307e\u3057\u305f\u306e\u3067\u8a18\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u4eca\u5e74\u306e\u30ec\u30b7\u30d4\u306f\u3053\u3061\u3089\u3067\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1795_hu_c938c19e10c990ae.png\" alt=\"\u6885\u9152\u306e\u6750\u6599\" \/>\n<\/p>\n<ul>\n<li>\u6885: \u8fd1\u6240\u306e\u897f\u53cb\u3067\u8cfc\u5165\u3057\u305f\u9752\u6885\u4e00\u888b\u3002\u591a\u52061kg\u304f\u3089\u3044(\u3067\u58f2\u3063\u3066\u308b\u306e\u304c\u666e\u901a\u306e\u306f\u305a\uff1f)<\/li>\n<li>\u7802\u7cd6: \u897f\u8868\u5cf6\u7523\u9ed2\u7cd61kg<\/li>\n<li>\u9152: \u30db\u30ef\u30a4\u30c8\u30bf\u30ab\u30e9 \u679c\u5b9f\u9152\u306e\u5b63\u7bc0 1.8L<\/li>\n<\/ul>\n<p>\u6628\u5e74\u306f\u304b\u306d\u3066\u304b\u3089\u3084\u3063\u3066\u307f\u305f\u304b\u3063\u305f\u3001\u6885\u9152\u7528\u306e\u65e5\u672c\u9152\u3092\u624b\u306b\u5165\u308c\u3066\u65e5\u672c\u9152\u6885\u9152\u3092\u6f2c\u3051\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3092\u3084\u308a\u307e\u3057\u305f\u306e\u3067\u3001\u4eca\u5e74\u306f\u7802\u7cd6\u306e\u65b9\u3067\u5909\u5316\u3092\u5165\u308c\u3066\u307f\u307e\u3057\u305f\u3002\u9152\u306f\u3053\u306e\u5b63\u7bc0\u3069\u3053\u306b\u3067\u3082\u58f2\u3063\u3066\u3044\u308b\u679c\u5b9f\u9152\u7528\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u306e\u5b9a\u756a\u3001\u679c\u5b9f\u9152\u306e\u5b63\u7bc0\u3067\u3059\u3002\u5ea6\u6570\u306f35%\u3067\u3059\u3002\u9069\u5f53\u306a\u713c\u914e\u3067\u6f2c\u3051\u3066\u3082\u826f\u3044\u3093\u3067\u3059\u304c\u3001\u9ed2\u7cd6\u3092\u4f7f\u3046\u3053\u3068\u3082\u3042\u308a\u5ea6\u6570\u304c\u9ad8\u3081\u306e\u30e2\u30ce\u3092\u4f7f\u3063\u305f\u65b9\u304c\u826f\u3044\u3060\u308d\u3046\u3068\u8003\u3048\u679c\u5b9f\u9152\u306e\u5b63\u7bc0\u3092\u9078\u3073\u307e\u3057\u305f\u3002<\/p>\n<p>\u6885\u3092\u6d17\u3063\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1796_hu_7c597202a2a32062.png\" alt=\"\" \/>\n<\/p>\n<p>\u6c34\u5206\u3092\u62ed\u304d\u53d6\u308a\u306a\u304c\u3089\u3078\u305f\u3092\u53d6\u308a\u3001\u7802\u7cd6\u3068\u4ea4\u4e92\u306b\u7a4d\u307f\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1802_hu_7f91249847e48b62.png\" alt=\"\" \/>\n<\/p>\n<p>\u9152\u3092\u6ce8\u304e\u307e\u3059<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1804_hu_7f615b73b5c28365.png\" alt=\"\" \/>\n<\/p>\n<p>\u4f59\u8ac7\u3067\u3059\u304c\u3053\u306e\u9ed2\u7cd6\u3001\u30ab\u30ec\u30fc\u30eb\u30a5\u306b\u3057\u304b\u898b\u3048\u306a\u3044\u306e\u306f\u79c1\u3060\u3051\u3067\u3057\u3087\u3046\u304b<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1803_hu_a42072467f5cbb4d.png\" alt=\"\" \/>\n<\/p>\n<p>\u5df7\u306b\u3042\u3075\u308c\u308b\u30ec\u30b7\u30d4\u3092\u898b\u308b\u3068\u3001\u3078\u305f\u306e\u3068\u3053\u308d\u306b\u6c34\u5206\u304c\u6b8b\u308a\u3084\u3059\u3044\u306e\u3067\u6ce8\u610f\u3068\u304b\u3001\u50b7\u304c\u3042\u3063\u305f\u3089\u305d\u3053\u304b\u3089\u8150\u308b\u306e\u3067\u9664\u3051\u305f\u65b9\u304c\u826f\u3044\u3068\u304b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u304c\u3001\u591a\u5c11\u3078\u305f\u306e\u3068\u3053\u308d\u306b\u6c34\u5206\u304c\u6b8b\u3063\u3066\u305f\u308a\u50b7\u304c\u3042\u3063\u3066\u3082\u591a\u5206\u5927\u4e08\u592b\u3067\u3059\u3002\u5927\u304d\u306a\u50b7\u304c\u3042\u308b\u30e2\u30ce\u3068\u304b\u3001\u50b7\u306e\u3068\u3053\u308d\u304c\u67d4\u3089\u304b\u304f\u306a\u3063\u3066\u3044\u308b\u30e2\u30ce\u306f\u9664\u3051\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002\u4eca\u56de\u306f\u4e00\u888b\u306e\u51851\u3064\u3060\u3051\u50b7\u306e\u3068\u3053\u308d\u304c\u3059\u3053\u3057\u67d4\u3089\u304b\u304b\u3063\u305f\u305f\u3081\u9664\u3051\u307e\u3057\u305f\u3002<\/p>\n<p>\u6885\u306f\u91d1\u6c17\u3092\u5acc\u3046\u3001\u3068\u3044\u3046\u8a71\u304c\u6709\u308b\u306e\u3067\u79c1\u306f\u3078\u305f\u53d6\u308a\u306f\u722a\u694a\u679d\u3067\u3084\u3063\u3066\u3044\u307e\u3059\u3002\u30dc\u30a6\u30eb\u3082\u30d7\u30e9\u304b\u306a\u3093\u304b\u306e\u5974\u3067\u3001\u91d1\u5c5e\u88fd\u3058\u3083\u306a\u3044\u5974\u3067\u3059\u3002\u307e\u3041\u91d1\u5c5e\u306e\u30dc\u30a6\u30eb\u306b\u5165\u308c\u305f\u3068\u3053\u308d\u3067\u3069\u308c\u3060\u3051\u5f71\u97ff\u304c\u3042\u308b\u306e\u304b\u5206\u304b\u3089\u306a\u3044\u3067\u3059\u304c\u3002<\/p>\n<p>\u9ed2\u7cd6\u7279\u6709\u3060\u3068\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u30a2\u30af\u306e\u3088\u3046\u306a\u30e2\u30ce\u304c\u6d6e\u3044\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1805_hu_d7d080a25d54bdd9.png\" alt=\"\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u74f6\u306b\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u30e9\u30d9\u30eb\u306b\u5e74\u6708\u65e5\u3068\u30ec\u30b7\u30d4\u3092\u8a18\u9332\u3057\u3066\u8cbc\u308a\u4ed8\u3051\u3066\u304a\u304d\u307e\u3059<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1806_hu_94bd6c36db76e641.png\" alt=\"\" \/>\n<\/p>\n<p>\u3042\u3068\u306f\u3057\u3070\u3089\u304f\u6570\u65e5\u3054\u3068\u306b\u74f6\u3092\u63fa\u3059\u3063\u3066\u3001\u7802\u7cd6\u304c\u6eb6\u3051\u305f\u3089\u653e\u7f6e\u3057\u30663\u30f6\u6708\u304f\u3089\u3044\u7d4c\u3063\u305f\u3089\u98f2\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u30021\u5e74\u304f\u3089\u3044\u7f6e\u304f\u3068\u306a\u304a\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u79c1\u306f\u6c38\u9060\u306b\u653e\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<p>\u7d9a\u3044\u3066\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u307e\u3059\u3002\u30ec\u30b7\u30d4\u306f\u3053\u3061\u3089:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1807_hu_276f1203bc1ff7c3.png\" alt=\"\u6885\u30b7\u30ed\u30c3\u30d7\u306e\u6750\u6599\" \/>\n<\/p>\n<ul>\n<li>\u6885: \u8fd1\u6240\u306e\u897f\u53cb\u3067\u8cfc\u5165\u3057\u305f\u9752\u6885\u4e00\u888b\u3002\u591a\u52061kg\u3060\u308d\u3046\u3068\u3044\u3046\u60f3\u5b9a\u3002<\/li>\n<li>\u7802\u7cd6: \u30ab\u30c3\u30d7\u5370\u306e\u4e09\u6e29\u7cd61kg<\/li>\n<\/ul>\n<p>\u3053\u3061\u3089\u3082\u6c37\u7802\u7cd6\u306e\u30ec\u30b7\u30d4\u304c\u4e00\u822c\u7684\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u4eca\u5e74\u306f\u4e09\u6e29\u7cd6\u306b\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u5e97\u982d\u3067\u4eca\u5e74\u306f\u4e09\u6e29\u7cd6\u306b\u3057\u3088\u3046\u304b\u306a\u3001\u3068\u601d\u3063\u3066\u8cb7\u3063\u3066\u304d\u305f\u306e\u3067\u3059\u304c\u3001<a href=\"https:\/\/blog.web-apps.tech\/ume-2021-1\/\">\u6628\u5e74\u3082\u4e09\u6e29\u7cd6\u3092\u4f7f\u3063\u305f\u3088\u3046<\/a>\n\u3067\u3059\u3002\u307e\u3041\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u9162\u3092\u5165\u308c\u308b\u30ec\u30b7\u30d4\u3082\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u5e74\u306f\u9162\u3092\u5165\u308c\u306a\u3044\u3067\u3084\u3063\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2022\/images\/IMG_1808_hu_6db4bb8cf27c6efc.png\" alt=\"\" \/>\n<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"N-ONE\u3092\u8cb7\u3044\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/bought-n-one\/","pubDate":"Sat, 28 May 2022 23:57:21 +0900","guid":"https:\/\/blog.web-apps.tech\/bought-n-one\/","description":"<p>\u6a19\u984c\u306e\u3068\u304a\u308a\u3067\u3059\u3002N-ONE\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002\u73fe\u884c\u306e\u65b0\u578bN-ONE\u3067\u306f\u306a\u304f\u3001\u524d\u671f\u578b\u306eN-ONE\u3067\u3059\u3002\u30b0\u30ec\u30fc\u30c9\u306f\u30c4\u30a2\u30e9\u30fc\u3067\u3001\u30bf\u30fc\u30dc\u3001\u30d1\u30c9\u30eb\u30b7\u30d5\u30c8\u3001\u30af\u30eb\u30fc\u30ba\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306a\u3069\u304c\u3064\u3044\u3066\u3044\u307e\u3059\u3002\u7d0d\u8eca\u6642\u8d70\u884c\u8ddd\u96e2\u306f46,710km\u3067\u3057\u305f\u3002<\/p>\n<p>5\u670821\u65e5(\u571f)\u306b\u7d0d\u8eca\u3001\u4eca\u65e5\u8eca\u7953\u3092\u3057\u3066\u3082\u3089\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0a\u3002<\/p>"},{"title":"Kustomize\u306eimages transformer\u3092CustomResource\u3067\u3082\u4f7f\u3046","link":"https:\/\/blog.web-apps.tech\/kustomize-images-for-crds\/","pubDate":"Wed, 25 May 2022 18:19:05 +0900","guid":"https:\/\/blog.web-apps.tech\/kustomize-images-for-crds\/","description":"<p>\u7686\u3055\u3093\u306fKustomize\u306eimages transformer\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\uff1fkustomization.yaml\u306b\u66f8\u304f\u3001\u3053\u3046\u3044\u3046\u3084\u3064\u3067\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">kustomize.config.k8s.io\/v1beta1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Kustomization<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">resources<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"l\">deployment.yaml<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">images<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">old-image<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">newName<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">new-image<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">newTag<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1.0.0<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>kustomization.yaml\u306b\u3053\u306e<code>images:<\/code>\u3068\u3044\u3046\u30d6\u30ed\u30c3\u30af\u3092\u66f8\u304f\u3068\u3001deployment.yaml\u3067<code>image: old-image<\/code>\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u90e8\u5206\u304c<code>image: new-image:v1.0.0<\/code>\u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u304cimages transformer\u3068\u547c\u3070\u308c\u308b\u3082\u306e\u3067\u3001kustomize\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u306f<a href=\"https:\/\/kubectl.docs.kubernetes.io\/references\/kustomize\/builtins\/#_imagetagtransformer_\" target=\"_blank\" rel=\"noopener\">ImageTagTransformer<\/a>\n\u306e\u3068\u3053\u308d\u3068\u304b\u3001<a href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/examples\/transformerconfigs\/README.md#images-transformer\" target=\"_blank\" rel=\"noopener\">example\u306eimages transformer<\/a>\n\u306e\u3068\u3053\u308d\u3068\u304b\u306b\u8aac\u660e\u304c\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u6268\u3001Kubernetes\u306e\u5927\u304d\u306a\u5f37\u307f\u306e\u4e00\u3064\u3068\u3057\u3066\u3001CustomResourceDefinition\u3092\u4f7f\u7528\u3057\u3066\u72ec\u81ea\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3001\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\u4e16\u306e\u4e2d\u306b\u306f\u3044\u308d\u3044\u308d\u306aOSS CRD\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u8a71\u984c\u306b\u3057\u305f\u3044\u306e\u306fDeployment\u306a\u3069\u306e\u3088\u3046\u306b\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u3092\u6307\u5b9a\u3059\u308b\u30bf\u30a4\u30d7\u306eCustomResource\u3067\u3059\u3002\u4f8b\u3048\u3070\u3001Argo Workflows\u306eWorkflow\u30ea\u30bd\u30fc\u30b9\u3067\u306f\u6b21\u306e\u69d8\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u6307\u5b9a\u3057\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">argoproj.io\/v1alpha1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Workflow<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">batchjob<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">entrypoint<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">main<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">templates<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">main<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">container<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">image<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">old-image<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3057\u304b\u3057\u3053\u306e\u5834\u5408\u3001kustomization.yaml\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u6307\u5b9a\u3057\u3066\u3082\u3001<code>old-image<\/code>\u3092\u7f6e\u304d\u63db\u3048\u3066\u304f\u308c\u307e\u305b\u3093\u3002<\/p>"},{"title":"Blog\u30ab\u30fc\u30c9Shortcode\u3092\u5b9f\u88c5\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/","pubDate":"Fri, 29 Apr 2022 15:26:59 +0900","guid":"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/","description":"<p>\u4f8b\u3048\u3070\u3001\u306f\u3066\u306a\u30d6\u30ed\u30b0\u3060\u3068\u30d6\u30ed\u30b0\u30ab\u30fc\u30c9\u3068\u547c\u3070\u308c\u308b\u3053\u3046\u3044\u3046\u306e:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/images\/hatena-web-card_hu_ba2264e3e4b7624.png\" alt=\"\u306f\u3066\u306a\u30d6\u30ed\u30b0\u306e\u30d6\u30ed\u30b0\u30ab\u30fc\u30c9\" \/>\n<\/p>\n<p>\u304c\u6709\u3063\u305f\u308a\u3001wordpress\u3060\u3068\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u3053\u3046\u3044\u3046\u306e:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/images\/wordpress-linkcard_hu_c6c698f9317d3c89.png\" alt=\"Wordpress\u306elinkcard\" \/>\n<\/p>\n<p>\u304c\u6709\u308a\u3001\u30ea\u30f3\u30af\u3092\u306a\u3093\u3060\u304b\u826f\u3044\u611f\u3058\u306b\u8868\u793a\u3057\u3066\u304f\u308c\u307e\u3059\u3002\u3053\u306e\u30d6\u30ed\u30b0\u3067\u3064\u3044\u5148\u65e5\u307e\u3067\u4f7f\u3063\u3066\u3044\u305fGhost\u3067\u3082\u3001\u3053\u3046\u3044\u3046\u306e:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/images\/ghost-bookmark-card_hu_2cb7dcd7d010afa2.png\" alt=\"Ghost\u306ebookmark card\" \/>\n<\/p>\n<p>\u304c\u6709\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4e00\u65b9\u3001\u73fe\u5728\u4f7f\u3063\u3066\u3044\u308bHugo\u306b\u306f\u6a19\u6e96\u6a5f\u80fd\u3067\u3053\u3046\u3044\u3063\u305f\u3082\u306e\u3092\u8868\u793a\u3059\u308b\u6a5f\u80fd\u306f\u3042\u308a\u307e\u305b\u3093(twitter\u3068\u304bYoutube\u306f\u3042\u308b\u3093\u3067\u3059\u3051\u3069\u30fb\u30fb\u30fb)\u3002\u3057\u304b\u3057\u3001\u7121\u3051\u308c\u3070\u4f5c\u308c\u3070\u826f\u3044\u3058\u3083\u306a\u3044\u3001\u304c\u3067\u304d\u308b\u306e\u304cHugo\u306e\u826f\u3044\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>Hugo\u306b\u306f<a href=\"https:\/\/gohugo.io\/content-management\/shortcodes\/\" target=\"_blank\" rel=\"noopener\">shortcode<\/a>\n\u3068\u3044\u3046\u6a5f\u80fd\u304c\u3042\u308a\u3001\u4f8b\u3048\u3070\u6a19\u6e96\u306etwitter shortcode\u3060\u3068\u3001<\/p>\n<pre tabindex=\"0\"><code>{{&lt; tweet user=&#34;nasa9084&#34; id=&#34;1519598305554362370&#34; &gt;}}\n<\/code><\/pre><p>\u3068\u66f8\u304f\u3068<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u725b\u4e73\u306f\u3055\u3001\u725b\u4e73-like\u98f2\u7269\u3088\u308a\u3046\u307e\u3044\u3093\u3060\u3088\u306a<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1519598305554362370?ref_src=twsrc%5Etfw\">April 28, 2022<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u306e\u69d8\u306b\u5c55\u958b\u3055\u308c\u307e\u3059\u3002\u306a\u306e\u3067\u4eca\u56de\u306f<\/p>\n<pre tabindex=\"0\"><code>{{&lt; web-embed url=&#34;https:\/\/example.com&#34; &gt;}}\n<\/code><\/pre><p>\u3068\u3044\u3046shortcode\u3092\u4f5c\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\u8abf\u3079\u3066\u307f\u308b\u3068\u540c\u69d8\u306e\u5b9f\u88c5\u3092\u3057\u3066\u3044\u308b\u4eba\u3082\u3044\u307e\u3057\u305f\u306e\u3067\u3001\u305d\u308c\u3092\u53c2\u8003\u306b\u3057\u3064\u3064\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u3001URL\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u304f\u308b\u306b\u306fHugo\u306e<a href=\"https:\/\/gohugo.io\/templates\/data-templates\/#get-remote-data\" target=\"_blank\" rel=\"noopener\">getJSON<\/a>\n\u3092\u4f7f\u3046\u3068\u826f\u3055\u305d\u3046\u3067\u3059\u3002\u6b8b\u5ff5\u306a\u304c\u3089OGP\u60c5\u5831\u306a\u3069\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u306f\u7528\u610f\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u6307\u5b9a\u3057\u305fURL\u304b\u3089OGP\u60c5\u5831\u3092\u3068\u3063\u3066\u304d\u3066JSON\u3068\u3057\u3066\u8fd4\u3059\u69d8\u306a\u30d7\u30ed\u30ad\u30b7\u7684\u306a\u30b5\u30fc\u30d0\u304c\u5fc5\u8981\u305d\u3046\u3067\u3059\u3002<a href=\"https:\/\/seita.icu\/post\/hugo-shortcode-web-embed\/\" target=\"_blank\" rel=\"noopener\">cloud functions for firebase + javascript<\/a>\n\u3067\u5b9f\u88c5\u3057\u3066\u3044\u308b\u4eba\u3082\u3044\u308c\u3070\u3001<a href=\"https:\/\/wada.page\/post\/0003-hugo-blogcard\/\" target=\"_blank\" rel=\"noopener\">Netlify Functions + javascript<\/a>\n\u3067\u3084\u3063\u3066\u3044\u308b\u4eba\u3082\u3044\u308b\u3068\u3044\u3046\u611f\u3058\u3067\u3057\u305f\u304c\u3001\u3084\u306f\u308a\u500b\u4eba\u7684\u306b\u306fGo\u304c\u30b7\u30e5\u30c3\u3068\u8aad\u307f\u66f8\u304d\u3067\u304d\u3066\u65e9\u3044\u3057\u3001Cloud Functions\u306a\u3069\u3067\u5e38\u6642\u7a3c\u50cd\u3055\u305b\u3066\u304a\u304f\u306b\u306f\u8a8d\u8a3c\u3068\u304b\u306e\u3053\u3068\u3082\u8003\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u3042\u308a\u305d\u3046(\u307e\u3041\u7121\u304f\u3066\u3082\u3044\u3044\u3063\u3061\u3083\u3044\u3044\u3051\u3069\u3001\u3088\u304f\u308f\u304b\u3089\u3093\u8e0f\u307f\u53f0\u306b\u3055\u308c\u3066\u3082\u9762\u767d\u304f\u306a\u3044)\u3067\u9762\u5012\u3060\u306a\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3061\u3087\u3063\u3068\u56f0\u3063\u305f\u3093\u3067\u3059\u304c\u3001OGP\u30d7\u30ed\u30ad\u30b7\u30b5\u30fc\u30d0\u306f\u7279\u306b\u72b6\u614b\u3092\u6301\u3063\u3066\u304a\u3089\u305a\u3001<code>hugo build<\/code>\u3059\u308b\u9593\u3060\u3051\u5b58\u5728\u3057\u3066\u304f\u308c\u308c\u3070\u3044\u3044\u306e\u3067\u3001GitHub Actions\u306e\u30b5\u30fc\u30d3\u30b9\u30b3\u30f3\u30c6\u30ca\u3068\u3057\u3066\u30d7\u30ed\u30ad\u30b7\u3092\u52d5\u304b\u3059\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u30ed\u30fc\u30ab\u30eb\u3067\u30c6\u30b9\u30c8\u30d3\u30eb\u30c9\u3059\u308b\u3068\u304d\u3082<code>docker run<\/code>\u3059\u308c\u3070\u826f\u3044\u3060\u3051\u306a\u306e\u3067\u7c21\u5358\u3067\u3059\u3002<\/p>\n<p>\u30cf\u30f3\u30c9\u30e9\u306e\u5b9f\u88c5\u306f\u6b21\u306e\u901a\u308a\u3067\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">url<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nx\">URL<\/span><span class=\"p\">.<\/span><span class=\"nf\">Query<\/span><span class=\"p\">().<\/span><span class=\"nf\">Get<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;url&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">url<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">`{&#34;message&#34;: &#34;url parameter is required&#34;}`<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusBadRequest<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;request URL: %s&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">url<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">ogp<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">opengraph<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fetch<\/span><span class=\"p\">(<\/span><span class=\"nx\">url<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sprintf<\/span><span class=\"p\">(<\/span><span class=\"s\">`{&#34;message&#34;: &#34;error fetching OGP&#34;, &#34;error&#34;: &#34;%s&#34;}`<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">()),<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusInternalServerError<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">ogp<\/span><span class=\"p\">.<\/span><span class=\"nf\">ToAbs<\/span><span class=\"p\">();<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sprintf<\/span><span class=\"p\">(<\/span><span class=\"s\">`{&#34;message&#34;: &#34;error converting relative URLs to absolute URLs&#34;, &#34;error&#34;: &#34;%s&#34;}`<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">()),<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusInternalServerError<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">body<\/span><span class=\"w\"> <\/span><span class=\"nx\">bytes<\/span><span class=\"p\">.<\/span><span class=\"nx\">Buffer<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">json<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewEncoder<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">body<\/span><span class=\"p\">).<\/span><span class=\"nf\">Encode<\/span><span class=\"p\">(<\/span><span class=\"nx\">ogp<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sprintf<\/span><span class=\"p\">(<\/span><span class=\"s\">`{&#34;message&#34;: &#34;error encoding OGP info to JSON&#34;, &#34;error&#34;: &#34;%s&#34;}`<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"p\">.<\/span><span class=\"nf\">Error<\/span><span class=\"p\">()),<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusInternalServerError<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteHeader<\/span><span class=\"p\">(<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">StatusOK<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteTo<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30b3\u30fc\u30c9\u5168\u4f53\u306f<a href=\"https:\/\/github.com\/nasa9084\/blog.web-apps.tech\/blob\/0eea2254f7650b5a682e568fdc55fbbb9679d913\/getogp\/main.go\" target=\"_blank\" rel=\"noopener\">\u3053\u3053<\/a>\n\u306b\u3042\u308a\u307e\u3059\u3002\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u3063\u305f\u3068\u304d\u306bhugo\u7528\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u306a\u304f\u4e00\u6bb5\u6398\u3063\u305f\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3057\u3066\u304a\u3044\u305f\u304a\u304b\u3052\u3067\u6c17\u8efd\u306b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u8ffd\u52a0\u3067\u304d\u305f\u306e\u3067\u826f\u304b\u3063\u305f\u3067\u3059\u306d\u3002<\/p>"},{"title":"Migrate Ghost to Hugo","link":"https:\/\/blog.web-apps.tech\/migrate-ghost-to-hugo\/","pubDate":"Sat, 23 Apr 2022 02:52:34 +0900","guid":"https:\/\/blog.web-apps.tech\/migrate-ghost-to-hugo\/","description":"<p>\u3044\u3064\u306e\u9803\u304b\u3089\u3060\u3063\u305f\u304b\u3001\u3082\u3046\u8a18\u61b6\u3082\u3042\u3084\u3075\u3084\u3067\u306f\u3042\u308b\u3051\u308c\u3069\u3001\u30d6\u30ed\u30b0\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3068\u3057\u3066<a href=\"https:\/\/github.com\/TryGhost\/Ghost\" target=\"_blank\" rel=\"noopener\">Ghost<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u305f\u3002<a href=\"https:\/\/twitter.com\/nasa9084\/status\/928539254304645121\" target=\"_blank\" rel=\"noopener\">twitter<\/a>\n\u3092\u898b\u308b\u9650\u308a\u30012017\u5e74\u306e11\u6708\u9803\u306b\u306f\u65e2\u306bGhost\u3092\u4f7f\u3063\u3066\u3044\u3066\u3001\u78ba\u304b\u3053\u306e\u6642\u306fDocker\u3067\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u3066\u3044\u305f\u69d8\u306a\u8a18\u61b6\u304c\u3042\u308b\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">Ghost\u3001\u3059\u3054\u3044\u52e2\u3044\u3067\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u3066\u3063\u3066\u3066\u7d50\u69cb\u30a2\u30d7\u30c7\u304c\u624b\u9593<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/928539254304645121?ref_src=twsrc%5Etfw\">November 9, 2017<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>Ghost\u306f\u7d50\u69cb\u66f4\u65b0\u304c\u983b\u7e41\u3067\u3001\u7279\u306bdocker-compose\u3068\u304b\u3082\u4f7f\u308f\u305a\u306b\u904b\u7528\u3057\u3066\u3044\u305f\u306e\u3067(\u4f7f\u3063\u3066\u3082\u826f\u304b\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u5f53\u6642\u306fDB\u3082sqlite\u3092\u4f7f\u3063\u3066\u3044\u3066\u30b3\u30f3\u30c6\u30ca\u4e00\u3064\u3068\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\u4e00\u3064\u3001\u3068\u3044\u3046\u5358\u7d14\u306a\u69cb\u6210\u3060\u3063\u305f\u306e\u3067\u4f7f\u308f\u306a\u304f\u3066\u826f\u3044\u304b\u3001\u3068\u601d\u3063\u3066\u3044\u305f)\u5fae\u5999\u306b\u30a4\u30e1\u30fc\u30b8\u306e\u66f4\u65b0\u304c\u9762\u5012\u3067\u3001<a href=\"https:\/\/blog.web-apps.tech\/container-up\/\">container-up<\/a>\n\u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u3066\u307f\u305f\u308a\u3082\u3057\u305f\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u81ea\u5b85\u306bKubernetes\u30af\u30e9\u30b9\u30bf\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u3066Kubernetes\u7ba1\u7406\u306b\u306a\u308a\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3082MySQL\u306b\u5207\u308a\u66ff\u3048\u3001\u6700\u7d42\u7684\u306b\u306fGCP\u306efree tier\u3092\u4f7f\u3063\u3066on VM\u3067\u904b\u7528\u3057\u3066\u3044\u305f\u3002\nGhost\u3092\u4f7f\u3044\u59cb\u3081\u305f\u9803\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u307e\u30601\u7cfb\u3060\u3063\u305f\u3051\u3069\u3001\u4eca\u3068\u306a\u3063\u3066\u306f4\u7cfb\u306b\u306a\u3063\u3066\u3001\u76f8\u3082\u5909\u308f\u3089\u305a\u6d3b\u767a\u306b\u958b\u767a\u3055\u308c\u3001admin UI\u3082\u5927\u5206\u5909\u5316\u3057\u305f\u3002<\/p>\n<p>\u6642\u4ee3\u306e\u6d41\u308c\u3068\u3057\u3066\u306f\u5f53\u7136\u3068\u3044\u3048\u3070\u5f53\u7136\u306a\u306e\u3060\u3051\u308c\u3069\u3001Ghost 5.0\u3067\u306fMySQL 8\u304c\u5fc5\u9808\u3068\u306a\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u6700\u8fd1MySQL\u306e\u66f4\u65b0\u3092\u3057\u305f\u3068\u3053\u308d\u3001\u983b\u7e41\u306b\u5916\u5f62\u76e3\u8996\u304cfail\u3059\u308b\u69d8\u306b\u306a\u3063\u305f\u3002\u3069\u3046\u3084\u3089\u30ea\u30bd\u30fc\u30b9\u4e0d\u8db3\u3067\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u305b\u306a\u304f\u306a\u3063\u3066\u3044\u305f\u3088\u3046\u3060\u3063\u305f\u3002free tier\u306eVM\u306a\u306e\u3067e2-micro\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f7f\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u3055\u3082\u3042\u308a\u306a\u3093\u3068\u3044\u3063\u305f\u611f\u3058\u3002<\/p>\n<p>\u3082\u3061\u308d\u3093\u591a\u5c11\u306e\u304a\u91d1\u3092\u6255\u3063\u3066\u3082\u3046\u5c11\u3057\u826f\u3044VM\u306b\u3057\u3066\u3082\u826f\u3044\u306e\u3060\u3051\u308c\u3069\u3001\u305d\u308c\u307b\u3069\u983b\u7e41\u306b\u66f8\u3044\u3066\u3044\u308b\u308f\u3051\u3067\u3082\u306a\u3044\u30d6\u30ed\u30b0\u3092\u904b\u7528\u3059\u308b\u305f\u3081\u3060\u3051\u306b\u6708\u6570\u5343\u5186\u306e\u51fa\u8cbb\u306f\u3044\u304b\u304c\u306a\u3082\u306e\u304b\u3001\u5927\u3057\u3066\u66f8\u3044\u3066\u3082\u3044\u306a\u3044\u306e\u3060\u304b\u3089\u9759\u7684\u30da\u30fc\u30b8\u751f\u6210\u3067\u3082\u826f\u3044\u306e\u3067\u306f\u306a\u3044\u304b\u3001\u9759\u7684\u30da\u30fc\u30b8\u751f\u6210\u306a\u3089\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3082\u3044\u3089\u306a\u3044\u3057GitHub pages\u3067\u914d\u4fe1\u3067\u304d\u3066\u7121\u6599\u3067\u306f\u306a\u3044\u304b\u3001\u306a\u3069\u3068\u601d\u3044\u3001<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">k8s.io<\/a>\n\u3067\u3082\u4f7f\u3063\u3066\u3044\u308b<a href=\"https:\/\/gohugo.io\" target=\"_blank\" rel=\"noopener\">Hugo<\/a>\n\u306b\u4e57\u308a\u63db\u3048\u308b\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<p>\u53c2\u8003\u306b\u3057\u305f\u306e\u306f<a href=\"https:\/\/dwmkerr.com\/migrating-from-ghost-to-hugo\/#the-migration-process\" target=\"_blank\" rel=\"noopener\">\u3053\u306e\u30da\u30fc\u30b8<\/a>\n\u3002\u591a\u5c11\u53e4\u3044\u8a18\u4e8b\u3060\u3051\u3069\u591a\u5c11\u8abf\u6574\u3059\u308c\u3070\u306a\u3093\u3068\u304b\u306a\u308b\u3060\u308d\u3046\u3001\u3068\u601d\u3044\u898b\u5207\u308a\u767a\u8eca\u3057\u305f\u3002\u7d50\u679c\u306a\u3093\u3068\u304b\u79fb\u884c\u306f\u3046\u307e\u304f\u3044\u304d\u3001\u3053\u306e\u30da\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u79fb\u884c\u624b\u9806\">\u79fb\u884c\u624b\u9806<\/h2>\n<p>\u307e\u305a\u3001<a href=\"https:\/\/github.com\/jbarone\/ghostToHugo\/\" target=\"_blank\" rel=\"noopener\">ghostToHugo<\/a>\n\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001Ghost\u304b\u3089\u51fa\u529b\u3057\u305fjson\u30d5\u30a1\u30a4\u30eb\u3092Hugo\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3002(ghostToHugo\u306fDarwin_x86_64\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u4f7f\u3063\u305f\u3051\u3069\u3001apple silicon\u306emacOS\u3067\u3082rosetta\u3067\u666e\u901a\u306b\u554f\u984c\u7121\u304f\u52d5\u3044\u305f)<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ .\/ghostToHugo -p blog.web-apps.tech something-tech.ghost.2022-04-22-02-57-56.json\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>Google Cloud Storage\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u3044\u305f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u308a\u51fa\u3057\u3066images\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u914d\u7f6e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ cp <span class=\"si\">${<\/span><span class=\"nv\">PATH_TO_BACKUP<\/span><span class=\"si\">}<\/span>\/content\/images .\/blog.web-apps.tech\/images\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30a4\u30e1\u30fc\u30b8\u306e\u30d1\u30b9\u3092\u3061\u3087\u3063\u3068\u8abf\u6574\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ find . -name <span class=\"s1\">&#39;*.md&#39;<\/span> <span class=\"p\">|<\/span> xargs sed -ie <span class=\"s1\">&#39;s\/__GHOST_URL__\/\/g&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ find . -name <span class=\"s1\">&#39;*.md&#39;<\/span> <span class=\"p\">|<\/span> xargs sed -ie <span class=\"s1\">&#39;s\/\\\/content\\\/images\\\/\/\\\/images\\\/\/g&#39;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>front-matter\u3092YAML\u306b\u5909\u66f4\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> blog.web-apps.tech\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ hugo convert toYAML\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> ..\/\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u305d\u306e\u307e\u307e\u3067\u306f\u3059\u3079\u3066\u306e\u8a18\u4e8b\u304c\u5e74\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u4e0b\u306b\u307e\u3068\u307e\u3063\u3066\u5165\u3063\u3066\u3044\u3066\u753b\u50cf\u7ba1\u7406\u304c\u5927\u5909\u305d\u3046\u306a\u306e\u3067\u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u69cb\u6210\u5909\u66f4\u3002<\/p>"},{"title":"GitHub\u304cgit:\/\/\u3092\u7121\u52b9\u306b\u3057\u305f\u4ef6","link":"https:\/\/blog.web-apps.tech\/github-disabled-git-protocol\/","pubDate":"Sun, 20 Mar 2022 14:14:15 +0000","guid":"https:\/\/blog.web-apps.tech\/github-disabled-git-protocol\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<p>GitHub\u304b\u3089git\u30d7\u30ed\u30c8\u30b3\u30eb(<code>git:\/\/github.com<\/code>\u3067\u59cb\u307e\u308bURL)\u3067git clone\u3059\u308b\u8a2d\u5b9a\u306b\u306a\u3063\u3066\u3044\u308b\u4eba\u304c\u5c45\u305f\u3089SSH\u30d7\u30ed\u30c8\u30b3\u30eb(<code>git@github.com<\/code>\u3067\u59cb\u307e\u308bURL)\u3092\u4f7f\u3046\u3088\u3046\u306b\u8a2d\u5b9a\u5909\u66f4\u3057\u307e\u3057\u3087\u3046<\/p>\n<hr>\n<p>wez\/wezterm\u3068\u3044\u3046\u7aef\u672b\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u3092\u77e5\u3063\u3066\u3001\u4f7f\u3063\u3066\u307f\u3088\u3046\u304b\u3068\u601d\u3044\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5f93\u3063\u3066<code>brew tap<\/code>\u3057\u305f\u3068\u304d\u306e\u3053\u3068\u3067\u3057\u305f\u3002\u6b21\u306e\u69d8\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3001tap\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<pre tabindex=\"0\"><code>$ brew tap wez\/wezterm\n==&gt; Tapping wez\/wezterm\nCloning into &#39;\/opt\/homebrew\/Library\/Taps\/wez\/homebrew-wezterm&#39;...\nfatal: remote error:\nThe unauthenticated git protocol on port 9418 is no longer supported.\nPlease see https:\/\/github.blog\/2021-09-01-improving-git-protocol-security-github\/ for more information.\nError: Failure while executing; `git clone https:\/\/github.com\/wez\/homebrew-wezterm \/opt\/homebrew\/Library\/Taps\/wez\/homebrew-wezterm --origin=origin --template=` exited with 128.\n<\/code><\/pre><p><a href=\"https:\/\/github.blog\/2021-09-01-improving-git-protocol-security-github\/\" target=\"_blank\" rel=\"noopener\">\u6307\u5b9a\u3055\u308c\u305f\u8a18\u4e8b<\/a>\n\u3092\u898b\u3066\u307f\u308b\u3068\u3001<code>git:\/\/<\/code>\u3067\u59cb\u307e\u308bURL\u3067\u306e\u30a2\u30af\u30bb\u30b9==git\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u306e\u30a2\u30af\u30bb\u30b9\u3092\u7121\u52b9\u5316\u3057\u305f\u3088\u3046\u3067\u3059\u3002\n<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/blob\/2aa844041a6ec45ae08d73ba850ecedb68e0eb89\/.gitconfig\" target=\"_blank\" rel=\"noopener\">\u81ea\u5206\u306e<code>.gitconfig<\/code>\u3092\u898b\u3066\u307f\u308b\u3068<\/a>\n\u3001\u78ba\u304b\u306b <a href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com<\/a>\n\u306e\u4ee3\u308f\u308a\u306b git:\/\/github.com \u3092\u4f7f\u3046\u3068\u3044\u3046\u8a2d\u5b9a\u304c\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>[url &#34;git@github.com:&#34;]\npushInsteadOf = git:\/\/github.com\/\npushInsteadOf = https:\/\/github.com\/\n[url &#34;git:\/\/github.com\/&#34;]\ninsteadOf = https:\/\/github.com\/\n<\/code><\/pre><p>GitHub\u306b\u3088\u308b\u3068\u3053\u308c\u307e\u3067\u3082git\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u306e\u30a2\u30af\u30bb\u30b9\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3060\u3063\u305f\u3088\u3046\u3067\u3059\u304c\u3001\u3054\u4e01\u5be7\u306bpushInsteadOf\u3067 <a href=\"mailto:git@github.com\">git@github.com<\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u3068\u3044\u3046\u8a2d\u5b9a\u307e\u3067\u66f8\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u307e\u3067\u554f\u984c\u7121\u304f\u4f7f\u3048\u3066\u3057\u307e\u3063\u3066\u3044\u305f\u3088\u3046\u3067\u3059\u3002\u81ea\u5206\u3067\u3082\u306a\u305c\u3053\u3046\u3044\u3046\u8a2d\u5b9a\u306b\u3057\u305f\u306e\u304b\u8a18\u61b6\u306b\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u5358\u306bSSH\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3059\u308c\u3070\u826f\u3044\u3060\u3051\u3001\u3068\u3044\u3046\u3053\u3068\u306e\u3088\u3046\u3067\u3057\u305f\u306e\u3067<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/blob\/a55ab8c0d44bbda1d9fff398ac3e3a69a79be274\/.gitconfig\" target=\"_blank\" rel=\"noopener\">\u4fee\u6b63\u3057\u307e\u3057\u305f<\/a>\n\u3002<\/p>\n<pre tabindex=\"0\"><code>[url &#34;git@github.com:&#34;]\ninsteadOf = https:\/\/github.com\/\n<\/code><\/pre><p>GitHub\u306e\u60f3\u5b9a\u3068\u3057\u3066\u3082\u3069\u3046\u305bread-only\u3060\u304b\u3089\u4f7f\u3063\u3066\u3044\u308b\u4eba\u306a\u3093\u3066\u307b\u3068\u3093\u3069\u3044\u306a\u3044\u3060\u308d\u3046\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u5f15\u3063\u304b\u304b\u308b\u4eba\u3082\u5c45\u306a\u3044\u3067\u3057\u3087\u3046\u304c\u3001\u30e1\u30e2\u3068\u3057\u3066\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>"},{"title":"Retrospective: 2021","link":"https:\/\/blog.web-apps.tech\/retrospective-2021\/","pubDate":"Thu, 30 Dec 2021 02:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/retrospective-2021\/","description":"<h3 id=\"1\u6708\">1\u6708<\/h3>\n<p>\u52d5\u753b\u7de8\u96c6\u304c\u3061\u3087\u3063\u3068\u697d\u3057\u304f\u306a\u3063\u3066\u304d\u305f\u9803\u3067\u3001\u6bce\u65e5AmongUs\u306e\u52d5\u753b\u3092\u4f5c\u3063\u3066\u4e0a\u3052\u3066\u305f\u3002AmongUs\u3084\u308bDiscord\u9bd6\u3092\u4f5c\u3063\u305f\u306e\u3082\u3053\u306e\u3042\u305f\u308a\u3002DaVinci Resolve\u3067\u30e2\u30fc\u30b7\u30e7\u30f3\u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u3084\u308a\u59cb\u3081\u3066\u307f\u3066\u3081\u3063\u3061\u3083\u697d\u3057\u304b\u3063\u305f\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u6848\u5916\u305d\u308c\u3063\u307d\u3044\u30e2\u30fc\u30b7\u30e7\u30f3\u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u304b\u4f5c\u308c\u308b\u3082\u3093\u3060\u306a\u30fc\u3068\u601d\u3046\u306a\u3069 <a href=\"https:\/\/t.co\/mhuQFVErv4\">https:\/\/t.co\/mhuQFVErv4<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1353003355040227330?ref_src=twsrc%5Etfw\">January 23, 2021<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u3053\u306e\u6642\u671f\u306b\u8cb7\u3063\u305f\u30b3\u30df\u30c3\u30af\u30b9\u3067<a href=\"https:\/\/amzn.to\/3FDx7SJ\" target=\"_blank\" rel=\"noopener\">\u307e\u3069\u308d\u307f\u30d0\u30fc\u30e1\u30a4\u30c9<\/a>\n\u304c\u9762\u767d\u3044\u3067\u3059\u3002kindle unlimited\u52a0\u5165\u8005\u306f5\u5dfb\u307e\u3067\u8aad\u3081\u308b\u306e\u3067\u8aad\u3093\u3067\u304f\u3060\u3055\u3044\u3002\u7279\u306b\u304a\u9152\u304c\u597d\u304d\u306a\u4eba\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/nasa9084\/broadcast-memo\" target=\"_blank\" rel=\"noopener\">nasa9084\/broadcast-memo<\/a>\n\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u3063\u305f\u3002<\/p>\n<h3 id=\"2\u6708\">2\u6708<\/h3>\n<p>Switchbot API\u3092\u767a\u898b\u3057\u305f\u306e\u3067<a href=\"https:\/\/github.com\/nasa9084\/go-switchbot\" target=\"_blank\" rel=\"noopener\">nasa9084\/go-switchbot<\/a>\n\u3092\u4f5c\u3063\u305f\u3002\u76f8\u5909\u308f\u3089\u305a\u52d5\u753b\u306f\u6bce\u65e5\u30a2\u30c3\u30d7\u3057\u3066\u305f\u3002<\/p>\n<p>\u305d\u308c\u4ee5\u5916\u306f\u307e\u3041\u7279\u306b\u306a\u3057<\/p>\n<h3 id=\"3\u6708\">3\u6708<\/h3>\n<p>\u30aa\u30d5\u30a3\u30b9\u79fb\u8ee2\u3057\u3066\u3001\u65b0\u5bbf\u304b\u3089\u56db\u8c37\u306b\u306a\u3063\u305f\u3002\u307e\u3041\u3001\u76ee\u4e0b\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3067\u3042\u3093\u307e\u308a\u5f71\u97ff\u306f\u306a\u3057\u3002<\/p>\n<p>\u7570\u52d5\u4e43\u81f3\u8ee2\u8077\u3092\u3057\u3088\u3046\u3001\u3068\u5272\u3068\u771f\u5263\u306b\u8003\u3048\u59cb\u3081\u305f\u3002\u30c1\u30fc\u30e0\u5185\u3067\u771f\u9762\u76ee\u306b\u3084\u308d\u3046\u3068\u3057\u3066\u308b\u4eba\u3092\u898b\u3066\u9762\u5012\u3060\u306a\u3063\u3066\u611f\u3058\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u30c1\u30fc\u30e0\u304b\u3089\u5fc3\u304c\u96e2\u308c\u3066\u308b\u306a\u3001\u3068\u5f37\u304f\u81ea\u899a\u3057\u305f\u306e\u304c\u7406\u7531\u3002<\/p>\n<p>ergodash2\u53f0\u76ee(bluetooth\u5316)\u3092\u4f5c\u3063\u305f\u3002\u4eca\u3082\u4f7f\u3063\u3066\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/nasa9084\/switchbot-exporter\" target=\"_blank\" rel=\"noopener\">nasa9084\/switchbot-exporter<\/a>\n\u3092\u66f8\u3044\u305f\u3051\u3069\u3001\u3042\u3093\u307e\u308a\u898b\u3066\u306a\u3044\u3002<\/p>\n<p>\u3053\u306e\u8fba\u3067\u52d5\u753b\u6295\u7a3f\u30da\u30fc\u30b9\u306f\u843d\u3061\u3066\u304d\u305f\u3002<\/p>\n<h3 id=\"4\u6708\">4\u6708<\/h3>\n<p><a href=\"https:\/\/amzn.to\/3FDR643\" target=\"_blank\" rel=\"noopener\">\u7b11\u9854\u306e\u305f\u3048\u306a\u3044\u8077\u5834\u3067\u3059<\/a>\n\u3068\u3044\u3046\u30b3\u30df\u30c3\u30af\u30b9\u304c\u9762\u767d\u3044\u3067\u3059\u3002<\/p>\n<p>\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u8cb7\u3044\u3001\u30e2\u30cb\u30bf\u3092\u5897\u8a2d\u3057\u3001\u5927\u4f53\u4eca\u306e\u30c7\u30b9\u30af\u74b0\u5883\u304c\u6574\u3063\u305f\u306e\u304c\u3053\u306e\u8fba\u3002<\/p>\n<h3 id=\"5\u6708\">5\u6708<\/h3>\n<p>\u30d0\u30a4\u30aa\u30ea\u30f3\u3092\u8cb7\u3063\u305f\u3002\u7d50\u5c40\u7df4\u7fd2\u306f\u7d9a\u3044\u3066\u3044\u307e\u305b\u3093\u3002Anker\u306e\u65b0\u88fd\u54c1\u3067\u3042\u308b\u3068\u3053\u308d\u306eweb\u30ab\u30e1\u30e9\u3092\u8cb7\u3063\u3066\u3001\u6700\u8fd1\u306eweb\u30ab\u30e1\u30e9\u3063\u3066\u3053\u3093\u306a\u306b\u753b\u8cea\u3044\u3044\u3093\u3060\uff01\u3068\u9a5a\u3044\u305f\u308a\u3002<\/p>\n<p>\u793e\u3067\u3084\u3063\u305f\u30b4\u30fc\u30eb\u30c7\u30f3\u30a6\u30a3\u30fc\u30af\u81ea\u7531\u7814\u7a76\u767a\u8868\u4f1a\u3067\u826f\u304b\u3063\u305f\u767a\u8868\u30e9\u30f3\u30ad\u30f3\u30b01\u4f4d\u3092\u7372\u5f97\u3057\u305f\u3002\u306a\u304a\u5185\u5bb9\u306f\u5404\u793e\u306e\u725b\u4e73\u3067\u30e8\u30fc\u30b0\u30eb\u30c8\u3092\u4f5c\u3063\u3066\u6bd4\u8f03\u3057\u3066\u307f\u305f\u3068\u3044\u3046\u5185\u5bb9\u3067\u3057\u305f\u3002<\/p>\n<p>LINE MOBILE\u304b\u3089LINEMO\u306b\u4e57\u308a\u63db\u3048\u305f\u3002\u30e1\u30a4\u30f3\u56de\u7dda\u306f\u5909\u308f\u3089\u305aiij mio\u3002<\/p>\n<h3 id=\"6\u6708\">6\u6708<\/h3>\n<p>UNDERTALE\u3081\u3063\u3061\u3083\u9762\u767d\u304b\u3063\u305f\u3002<\/p>\n<h3 id=\"7\u6708\">7\u6708<\/h3>\n<p>1\u56de\u76ee\u306e\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u30ef\u30af\u30c1\u30f3\u3092\u63a5\u7a2e\u3057\u305f\u3002<\/p>\n<h3 id=\"8\u6708\">8\u6708<\/h3>\n<p>2\u56de\u76ee\u306e\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u30ef\u30af\u30c1\u30f3\u3092\u63a5\u7a2e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/amzn.to\/3JtM4sY\" target=\"_blank\" rel=\"noopener\">\u7570\u4e16\u754c\u5931\u683c<\/a>\n\u304c\u9762\u767d\u3044\u3067\u3059\u3002<\/p>\n<p>Huawei Band 6\u3092\u8cb7\u3063\u3066\u3001\u5272\u3068\u6e80\u8db3\u306f\u3057\u3066\u305f\u3002\u304c\u3001\u4eca\u306fapple watch\u306b\u4e57\u308a\u63db\u3048\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u4f7f\u3063\u3066\u306a\u3044\u3002\u5357\u7121\u3002\u30d7\u30fc\u30eb\u884c\u3063\u305f\u3068\u304d\u3060\u3051\u4f7f\u3063\u3066\u307e\u3059\u3002<\/p>\n<p>\u306a\u3093\u3060\u304b\u3093\u3060\u771f\u9762\u76ee\u306b\u4ed5\u4e8b\u3092\u3057\u3066\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"9\u6708\">9\u6708<\/h3>\n<p>iPhone 13 mini\u3068iPad mini\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002iPhone\u306f9\u5e74\u3076\u308a\u3067\u3059\u3002<\/p>\n<h3 id=\"10\u6708\">10\u6708<\/h3>\n<p>Engineering Infrastructure\u5ba4\u304b\u3089LINE Platform Development\u30bb\u30f3\u30bf\u30fc1 Communication and Service Integration\u5ba4\u306eSRE\u30c1\u30fc\u30e0\u306b\u7570\u52d5\u3057\u307e\u3057\u305f\u3002\u4f7f\u3063\u3066\u308b\u6280\u8853\u3082\u3001\u696d\u52d9\u77e5\u8b58\u3082\u30ac\u30e9\u30c3\u3068\u5909\u308f\u3063\u305f\u306e\u3067\u4f55\u3082\u5206\u304b\u3089\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\u4eca\u3082\u4f55\u3082\u5206\u304b\u3089\u3093\u3002<\/p>\n<p>\u793e\u5185\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u30ec\u30d9\u30eb\u3082\u4e0a\u304c\u308a\u3001\u6607\u7d66\u3057\u3001\u7570\u52d5\u524d\u306b\u3084\u3063\u3066\u305f\u696d\u52d9\u304c\u304d\u3061\u3093\u3068\u8a55\u4fa1\u3057\u3066\u3082\u3089\u3048\u305f\u4e8b\u304c\u308f\u304b\u308a\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>\n<p>\u3042\u3068\u306fapple watch\u8cb7\u3044\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"11\u6708\">11\u6708<\/h3>\n<p>LINE\u30b9\u30bf\u30f3\u30d7\u3092\u4f5c\u308a\u59cb\u3081\u305f\u3002iPad Pro\u306f\u3053\u306e\u305f\u3081\u306b\u8cb7\u3063\u305f(\u304c1\u5e74\u653e\u7f6e\u3057\u3066\u305f)\u3002\u7686\u3055\u3093\u30b9\u30bf\u30f3\u30d7\u8cb7\u3063\u3066\u4e0b\u3055\u3044\u3002<\/p>\n<figure class=\"kg-card kg-bookmark-card\">\n<a href=\"https:\/\/store.line.me\/stickershop\/product\/17346907\/ja\" class=\"kg-bookmark-container\">\n<div class=\"kg-bookmark-content\">\n<div class=\"kg-bookmark-title\">\u304b\u3093\u305f\u3093\u306a\u3044\u304d\u3082\u306e - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE<\/div>\n<div class=\"kg-bookmark-description\">\u305f\u307e\u306b\u4f7f\u3048\u308b\u304b\u3082\u77e5\u308c\u306a\u3044\u3001\u3086\u308b\u3075\u308f\u304b\u3093\u305f\u3093\u306a\u5f62\u306e\u751f\u304d\u7269(?)\u3067\u3059<\/div>\n<div class=\"kg-bookmark-metadata\">\n<\/div>\n<\/div>\n<div class=\"kg-bookmark-thumbnail\">\n<img src=\"https:\/\/stickershop.line-scdn.net\/stickershop\/v1\/product\/17346907\/LINEStorePC\/main.png;compress=true\">\n<\/div>\n<\/a>\n<\/figure>\n<figure class=\"kg-card kg-bookmark-card\">\n<a href=\"https:\/\/store.line.me\/stickershop\/product\/17379076\/ja\" class=\"kg-bookmark-container\">\n<div class=\"kg-bookmark-content\">\n<div class=\"kg-bookmark-title\">\u307e\u3041\u307e\u3041\u4f7f\u3048\u305d\u3046 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE<\/div>\n<div class=\"kg-bookmark-description\">\u305f\u3076\u3093\u3001\u307e\u3041\u307e\u3041\u4f7f\u3048\u305d\u3046\u306a\u30b9\u30bf\u30f3\u30d7\u3067\u3059<\/div>\n<div class=\"kg-bookmark-metadata\">\n<\/div>\n<\/div>\n<div class=\"kg-bookmark-thumbnail\">\n<img src=\"https:\/\/stickershop.line-scdn.net\/stickershop\/v1\/product\/17379076\/LINEStorePC\/main.png;compress=true\">\n<\/div>\n<\/a>\n<\/figure>\n<figure class=\"kg-card kg-bookmark-card\">\n<a href=\"https:\/\/store.line.me\/stickershop\/product\/17389950\/ja\" class=\"kg-bookmark-container\">\n<div class=\"kg-bookmark-content\">\n<div class=\"kg-bookmark-title\">\u3068\u306b\u304b\u304f\u5e30\u308a\u305f\u3044 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE<\/div>\n<div class=\"kg-bookmark-description\">\u3068\u306b\u304b\u304f\u5e30\u308a\u305f\u3044\u4eba\u306e\u70ba\u306e\u30b9\u30bf\u30f3\u30d7<\/div>\n<div class=\"kg-bookmark-metadata\">\n<\/div>\n<\/div>\n<div class=\"kg-bookmark-thumbnail\">\n<img src=\"https:\/\/stickershop.line-scdn.net\/stickershop\/v1\/product\/17389950\/LINEStorePC\/main.png;compress=true\">\n<\/div>\n<\/a>\n<\/figure>\n<figure class=\"kg-card kg-bookmark-card\">\n<a href=\"https:\/\/store.line.me\/stickershop\/product\/17488075\/ja\" class=\"kg-bookmark-container\">\n<div class=\"kg-bookmark-content\">\n<div class=\"kg-bookmark-title\">\u3046\u3061\u3067\u3088\u304f\u4f7f\u3044\u305d\u3046\u306a\u30b9\u30bf\u30f3\u30d7 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE<\/div>\n<div class=\"kg-bookmark-description\">\u6211\u304c\u5bb6\u3067\u306f\u5272\u3068\u3088\u304f\u4f7f\u308f\u308c\u305d\u3046\u306a\u96f0\u56f2\u6c17\u306e\u30b9\u30bf\u30f3\u30d7<\/div>\n<div class=\"kg-bookmark-metadata\">\n<\/div>\n<\/div>\n<div class=\"kg-bookmark-thumbnail\">\n<img src=\"https:\/\/stickershop.line-scdn.net\/stickershop\/v1\/product\/17488075\/LINEStorePC\/main.png;compress=true\">\n<\/div>\n<\/a>\n<\/figure>\n<figure class=\"kg-card kg-bookmark-card\">\n<a href=\"https:\/\/store.line.me\/stickershop\/product\/17549941\/ja\" class=\"kg-bookmark-container\">\n<div class=\"kg-bookmark-content\">\n<div class=\"kg-bookmark-title\">\u4e38\u3044\u76ee\u3092\u3057\u305f\u5974\u3089 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE<\/div>\n<div class=\"kg-bookmark-description\">\u5974\u3089\u306f\u4e38\u3044\u76ee\u3092\u3057\u3066\u3044\u308b<\/div>\n<div class=\"kg-bookmark-metadata\">\n<\/div>\n<\/div>\n<div class=\"kg-bookmark-thumbnail\">\n<img src=\"https:\/\/stickershop.line-scdn.net\/stickershop\/v1\/product\/17549941\/LINEStorePC\/main.png;compress=true\">\n<\/div>\n<\/a>\n<\/figure>\n<p>\u521d\u3081\u3066\u30a8\u30a2\u30b3\u30f3\u306e\u6e05\u6383\u696d\u8005\u3092\u983c\u3093\u3060\u308a\u3057\u305f\u3002\u6b63\u76f4\u601d\u3063\u3066\u305f\u3088\u308a\u304d\u308c\u3044\u306b\u306a\u3063\u3066\u304b\u3073\u81ed\u3055\u3082\u4e00\u5207\u306a\u304f\u306a\u3063\u305f\u306e\u3067\u3001\u6e05\u6383\u983c\u3093\u3060\u3053\u3068\u306a\u3044\u4eba\u306f\u3084\u3063\u305f\u65b9\u304c\u826f\u3044\u3002<\/p>"},{"title":"ansible.builtin.file\u306emode\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u982d\u306b0\u304c\u5fc5\u8981","link":"https:\/\/blog.web-apps.tech\/ansible-builtin-file-mode-leading-zero\/","pubDate":"Mon, 13 Dec 2021 10:45:28 +0000","guid":"https:\/\/blog.web-apps.tech\/ansible-builtin-file-mode-leading-zero\/","description":"<p>\u591a\u5206\u307b\u3068\u3093\u3069\u306e\u30b1\u30fc\u30b9\u3067\u306f\u6c17\u306b\u3059\u308b\u3053\u3068\u3082\u306a\u304f<code>0755<\/code>\u3068\u304b<code>0644<\/code>\u3068\u304b\u66f8\u304f\u3068\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u7279\u6b8a\u306a\u5c5e\u6027\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u304d\u306b\u56f0\u308b\u3088\u3001\u3068\u3044\u3046\u8a71\u3002<\/p>\n<p>\u4e16\u306e\u4e2d\u306b\u306fSUID\u3068\u304bSGID\u3068\u304b\u30b9\u30c6\u30a3\u30c3\u30ad\u30fc\u30d3\u30c3\u30c8\u3068\u304b\u3044\u3046\u3001\u7279\u6b8a\u306a\u5c5e\u6027\u304c\u3042\u308a\u307e\u3057\u3066\u3001\u4f8b\u3048\u3070\u57fa\u672c\u306e\u30d5\u30a1\u30a4\u30eb\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u304c<code>0755<\/code>\u3067SUID\u3092\u6307\u5b9a\u3057\u305f\u3044\u3068\u3044\u3046\u5834\u5408\u306f<code>chmod<\/code>\u3067\u8a00\u3046\u3068<code>chmod 4755 path\/to\/file<\/code>\u3068\u3044\u3063\u305f\u611f\u3058\u306b\u306a\u308b\u3093\u3067\u3059\u3051\u308c\u3069\u3082\u3001<code>ansible.builtin.file<\/code>\u306emode\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u66f8\u304f\u3068\u30d1\u30fc\u30b5\u304c10\u9032\u6570\u3068\u3057\u3066\u89e3\u91c8\u3057\u3066\u8a33\u306e\u5206\u304b\u3089\u3093\u3053\u3068\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">ansible.builtin.file<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">path<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">path\/to\/file<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">mode<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">4755<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u306f\u3053\u3046\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">ansible.builtin.file<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">path<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">path\/to\/file<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">mode<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">04755<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3082\u3057\u304f\u306f\u3053\u3046:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">ansible.builtin.file<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">path<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">path\/to\/file<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">mode<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s1\">&#39;4755&#39;<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u306f\u4f8b\u3048\u3070\u3001\u7d50\u69cb\u53e4\u3044Ansible playbook\u306a\u3093\u304b\u3067\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">file<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">path=path\/to\/file mode=4755<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3068\u304b\u66f8\u3044\u3066\u3044\u305f\u3084\u3064\u3092\u66f8\u304d\u76f4\u3057\u305f\u308a\u3057\u305f\u3068\u304d\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<p>\u307e\u3041\u3001<a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/collections\/ansible\/builtin\/file_module.html#parameter-mode\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u66f8\u3044\u3066\u3042\u308b<\/a>\n\u3093\u3067\u3059\u3051\u3069\u3001\u305d\u3046\u306f\u8a00\u3063\u3066\u3082\u307f\u3093\u306a\u305d\u3093\u306a\u306b\u7d30\u304b\u3044\u3068\u3053\u308d\u307e\u3067\u8aad\u3093\u3067\u306a\u3044\u3067\u3057\u3087\u3001\u3068\u3044\u3046\u3002<\/p>\n<blockquote>\n<p>You must either add a leading zero so that Ansible&rsquo;s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like &lsquo;644&rsquo; or &lsquo;1777&rsquo;) so Ansible receives a string and can do its own conversion from string into number.<\/p>"},{"title":"\u4eba\u751f\u521dApple Watch (series 7)","link":"https:\/\/blog.web-apps.tech\/my-first-apple-watch-series-7\/","pubDate":"Tue, 19 Oct 2021 23:49:46 +0000","guid":"https:\/\/blog.web-apps.tech\/my-first-apple-watch-series-7\/","description":"<p>\u3053\u308c\u307e\u3067\u79c1\u306f\u57fa\u672c\u7684\u306bAndroid\u7aef\u672b\u3092\u4f7f\u3046\u3053\u3068\u304c\u591a\u304f\u3001\u521d\u3081\u3066\u6301\u3063\u305f\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3067\u3042\u308bGalaxy S\u3092\u59cb\u3081\u3001\u307b\u3068\u3093\u3069\u306e\u30b9\u30de\u30db\u4eba\u751f\u3092Android\u7aef\u672b\u3068\u3068\u3082\u306b\u6b69\u3093\u3067\u304d\u307e\u3057\u305f\u3002\u3053\u308c\u307e\u3067\u6700\u521d\u3067\u6700\u5f8c\u306eiPhone\u7aef\u672b\u306fiPhone 5\u306e\u307f\u3067\u3001<a href=\"https:\/\/blog.web-apps.tech\/iphone13mini\/\">\u4eca\u56deiPhone 13 mini\u3092\u8cfc\u5165\u3057\u305f<\/a>\n\u306e\u306f8\u5e74\u3076\u308a\u306e\u4e8b\u3067\u3059\u3002\nAndroid\u30e6\u30fc\u30b6\u3067\u3042\u3063\u305f\u305f\u3081\u306b\u8cb7\u3048\u306a\u304b\u3063\u305fApple\u30c7\u30d0\u30a4\u30b9\u3001\u305d\u308c\u304cApple Watch\u3067\u3059\u3002Android\u30c7\u30d0\u30a4\u30b9\u3067\u3082\u4f7f\u3048\u308b\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u306f\u3082\u3061\u308d\u3093\u3042\u308a\u307e\u3059\u3002\u79c1\u3082<a href=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/\">fitbit Versa<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u3057\u304b\u3057\u3001Apple Watch\u306b\u306f\u9060\u304f\u53ca\u3073\u307e\u305b\u3093\u3002iD\u3067\u306e\u6c7a\u88c1\u3082\u3067\u304d\u306a\u3044(\u73fe\u884c\u306efitbit Versa 3\/Sense\u306fsuica\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u308b)\u3057\u3001\u4f55\u3088\u308a\u30bd\u30ed\u30eb\u30fc\u30d7\u304c\u3042\u308a\u307e\u305b\u3093\u3002\n\u4e00\u65e5\u306e\u5927\u534a\u3092PC\u306b\u5411\u304b\u3063\u3066\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u30ab\u30c1\u30e3\u30ab\u30c1\u30e3\u3059\u308b\u3068\u3044\u3046\u865a\u696d\u306b\u5f93\u4e8b\u3057\u3066\u3044\u307e\u3059\u304b\u3089\u3001\u6642\u8a08\u306e\u30d0\u30c3\u30af\u30eb\u3068\u3044\u3046\u306e\u306f\u7d50\u69cb\u3044\u3065\u3044(\u6ce8\uff1a\u5927\u534a\u306e\u4eba\u306b\u4f1d\u308f\u3089\u306a\u3044\u8868\u73fe\u306a\u306e\u306f\u7406\u89e3\u3057\u3066\u3044\u308b\u3051\u3069\u4ed6\u306e\u8868\u73fe\u304c\u306a\u3044)\u306e\u3067\u3059\u3002<\/p>\n<p>\u305d\u3093\u306a\u79c1\u3082iPhone\u3092\u8cb7\u3063\u305f\u3053\u3068\u306b\u3088\u308aApple Watch\u304c\u8cb7\u3048\u308b\uff01\u3068\u3044\u3046\u4e8b\u3067Apple Watch series 7\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-first-apple-watch-series-7\/images\/IMG_1391_hu_fbebcc506c9fd7ce.jpg\" alt=\"\" \/>\n<\/p>"},{"title":"iPad mini 6\u3092\u8cb7\u3063\u30661\u9031\u9593\u534a\u7d4c\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/ipad-mini-6\/","pubDate":"Tue, 19 Oct 2021 23:29:54 +0000","guid":"https:\/\/blog.web-apps.tech\/ipad-mini-6\/","description":"<p>\u307f\u3093\u306a\u304c\u5f85\u3063\u3066\u305fiPad\u3002\u305d\u3046iPad mini\u3067\u3059\u3002\u79c1\u306f\u904e\u53bb\u306b\u4f1a\u793e\u306e\u304a\u4e0b\u304c\u308a\u3067\u3082\u3089\u3063\u305fiPad mini\u7b2c2\u4e16\u4ee3\u3092\u4f7f\u3063\u3066\u3044\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u305d\u306e\u5f8ciPad Pro \u7b2c\u4e00\u4e16\u4ee3(2018)\u306b\u8cb7\u3044\u63db\u3048\u3001\u4eca\u306b\u81f3\u308a\u307e\u3059\u3002Youtube\u3084\u8aad\u66f8\u306b\u4f7f\u7528\u3059\u308b\u306b\u306f\u3061\u3087\u3063\u3068\u5927\u304d\u3044\u306a\u3001\u3068\u601d\u3044\u3064\u3064\u3001\u306a\u3093\u3060\u304b\u3093\u3060\u4fbf\u5229\u306b\u4f7f\u3063\u305f\u308a\u4f7f\u308f\u306a\u304b\u3063\u305f\u308a\u3057\u3066\u3044\u307e\u3057\u305f\u3002iPad mini\u306f\u826f\u3044\u30b5\u30a4\u30ba\u3060\u3063\u305f\u306a\u3001\u306a\u3093\u3066\u601d\u3044\u306a\u304c\u3089\u3002\n\u3068\u306f\u3044\u3048\u3001iPad Pro\u306e\u30d9\u30bc\u30eb\u30ec\u30b9\u30c7\u30b6\u30a4\u30f3\u3092\u4f53\u611f\u3059\u308b\u3068\u3001(\u3061\u3087\u3063\u3068\u30c0\u30b5\u3044)\u5f93\u6765\u306eiPad mini\u306b\u623b\u308b\u6c17\u306b\u306f\u306a\u308c\u305a\u3001\u30d9\u30bc\u30eb\u30ec\u30b9\u30c7\u30b6\u30a4\u30f3\u306eiPad mini\u304c\u3067\u305f\u3089\u8cb7\u304a\u3046\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3057\u3066\u4eca\u5e74\u3001\u7b2c\u516d\u4e16\u4ee3iPad mini\u3068\u3057\u3066\u30d9\u30bc\u30eb\u30ec\u30b9\u30c7\u30b6\u30a4\u30f3\u306e\u30e2\u30ce\u304c\u767a\u58f2\u3055\u308c\u305f\u306e\u3067\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u306a\u3093\u3060\u304b\u3093\u3060\u5b89\u304f\u306f\u306a\u3044\u306e\u3067\u3001\u4e00\u6669\u60a9\u3093\u3060\u7d50\u679c\u767a\u58f2\u65e5\u306b\u5165\u624b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u305a\u300110\u67089\u65e5\u5230\u7740\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u8cfc\u5165\u3057\u305f\u306e\u306f\u30b9\u30da\u30fc\u30b9\u30b0\u30ec\u30a4\u306eiPad mini \u7b2c\u516d\u4e16\u4ee3 Wi-Fi + Cellular\u30e2\u30c7\u30eb\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u306f256GB\u3067\u3059\u3002iPad Pro\u3082256GB\u306e\u30e2\u30ce\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u5927\u304d\u304f\u4f59\u3063\u3066\u3044\u308b\u306e\u3067\u6b63\u76f4256GB\u306f\u591a\u3059\u304e\u308b\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u300164GB\u304b256GB\u3068\u3044\u3046\u4e8c\u3064\u306e\u9078\u629e\u80a2\u3092\u8003\u3048\u305f\u3068\u304d\u300164GB\u306f\u6d41\u77f3\u306b\u5c0f\u3055\u3059\u304e\u308b\u3060\u308d\u3046\u3001\u3068\u8003\u3048256GB\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002MacBook Pro\u3067\u3059\u3089256\u3067\u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u4f59\u3063\u3066\u3044\u308b(\u6700\u8fd1\u30b2\u30fc\u30e0\u5b9f\u6cc1\u52d5\u753b\u7de8\u96c6\u3092\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3001\u52d5\u753b\u306e\u70ba\u306b\u5916\u4ed8\u3051SSD\u3092\u8cb7\u3063\u305f\u3051\u3069)\u305f\u3081\u3001iPad mini\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3082\u67af\u6e07\u3059\u308b\u3053\u3068\u306f\u304a\u305d\u3089\u304f\u7121\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ipad-mini-6\/images\/IMG_1370_hu_3bb96169a61f6e13.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ipad-mini-6\/images\/IMG_1371_hu_52d11ead23fe8c1d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30b1\u30fc\u30b9\u306f\u5b89\u5b9a\u306e\u516c\u5f0fSmart Folio\u3092\u8cfc\u5165\u3002iPad Pro\u7528\u306e\u30e2\u30ce\u3068\u306f\u7570\u306a\u308a\u3001\u30a2\u30c3\u30d7\u30eb\u306e\u30ed\u30b4\u304c\u30a8\u30f3\u30dc\u30b9\u52a0\u5de5\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u3053\u308c\u3067\u826f\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ipad-mini-6\/images\/IMG_1372_hu_31fda7990773bb48.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ipad-mini-6\/images\/IMG_1373_hu_e0aa6d22da2ffab.jpg\" alt=\"\" \/>\n<\/p>\n<p>iPad Pro\u3068\u30b5\u30a4\u30ba\u3092\u6bd4\u8f03\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3002\u3056\u3063\u304f\u308a\u534a\u5206\u304f\u3089\u3044\u306e\u5927\u304d\u3055\u3067\u3059\u3002\u8eab\u9577176\u30bb\u30f3\u30c1(\u6700\u8fd11\u30bb\u30f3\u30c1\u307b\u3069\u4f38\u3073\u307e\u3057\u305f)\u306e\u79c1\u3060\u3068\u7247\u624b\u3067\u30db\u30fc\u30eb\u30c9\u3067\u304d\u308b\u304f\u3089\u3044\u306e\u30b5\u30a4\u30ba\u611f\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ipad-mini-6\/images\/IMG_1392_hu_76159ceef2b92054.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8457\u4f5c\u6a29\u7684\u306a\u30a2\u30ec\u3092\u30a2\u30ec\u3059\u308b\u305f\u3081\u30e2\u30b6\u30a4\u30af\u3092\u304b\u3051\u3066\u3044\u307e\u3059\u304c\u3001\u30de\u30f3\u30ac\u3092\u8aad\u3080\u306e\u306b\u975e\u5e38\u306b\u3061\u3087\u3046\u3069\u826f\u3044\u30b5\u30a4\u30ba\u3067\u3059\u3002\u304a\u305d\u3089\u304f\u5c0f\u8aac\u3084\u30d3\u30b8\u30cd\u30b9\u66f8\u306a\u3069\u3001\u4ed6\u306e\u66f8\u7c4d\u306b\u3082\u826f\u3044\u3067\u3057\u3087\u3046(\u6280\u8853\u66f8\u306f\u5927\u5224\u306e\u4e8b\u3082\u591a\u3044\u3057iPad Pro\u306e\u65b9\u304c\u8aad\u307f\u3084\u3059\u3044\u304b\u3082\u77e5\u308c\u306a\u3044)<\/p>\n<p>\u672c\u6a5f\u306fiPad Air\u3068\u540c\u3058\u304ftouch ID\u3067\u3059\u304c\u3001\u500b\u4eba\u7684\u306b\u306fiPad\u306fface ID\u306e\u65b9\u304c\u826f\u3044\u304b\u306a\u3001\u3068\u3044\u3046\u6c17\u304c\u3057\u307e\u3057\u305f\u3002\u5bb6\u306e\u4e2d\u3067\u4f7f\u3046\u3053\u3068\u304c\u591a\u3044\u7aef\u672b\u3067\u3059\u304b\u3089\u3001\u30de\u30b9\u30af\u3092\u3057\u3066\u3044\u308b\u4e8b\u3082\u7121\u3044\u305f\u3081\u3001face ID\u306e\u65b9\u304c\u30dc\u30bf\u30f3\u306b\u6307\u3092\u6301\u3063\u3066\u3044\u304f\u3068\u3044\u3046\u52d5\u4f5c\u304c\u4e0d\u8981\u306a\u305f\u3081\u4fbf\u5229\u3067\u3059\u3002\n\u307e\u305f\u3001\u3053\u308c\u306f\u6163\u308c\u306e\u554f\u984c\u3082\u3042\u308b\u3068\u306f\u601d\u3044\u307e\u3059\u304c\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u30dc\u30bf\u30f3\u304c\u753b\u9762\u5de6\u4e0a\u90e8(\u30e9\u30f3\u30c9\u30b9\u30b1\u30fc\u30d7\u3067\u306f\u5de6\u4e0b)\u3068\u3044\u3046\u306e\u306f\u5c11\u3057\u64cd\u4f5c\u3057\u3065\u3089\u3044\u3088\u3046\u306b\u611f\u3058\u307e\u3057\u305f\u3002\u3053\u308c\u306fiPad Pro\u3068\u30dc\u30bf\u30f3\u306e\u4f4d\u7f6e\u304c\u9055\u3046\u304b\u3089\u6238\u60d1\u3063\u3066\u3044\u308b\u3060\u3051\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u3002\u753b\u9762\u306e\u5411\u304d\u306b\u3088\u3063\u3066\u30dc\u30bf\u30f3\u306e\u65b9\u5411\u304c\u5909\u308f\u308b(\u53f3\u5074\u3001\u4e0a\u5074\u304c+\u306b\u306a\u308b)\u306e\u306f\u76f4\u611f\u7684\u3067\u826f\u3044\u306e\u3067\u3001iPad Pro\u306b\u3082\u30d0\u30c3\u30af\u30dd\u30fc\u30c8(?)\u3057\u3066\u307b\u3057\u3044\u3082\u306e\u3067\u3059\u3002<\/p>"},{"title":"DroneCI\u3067\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5168\u4f53\u3092fail\u3055\u305b\u305a\u306b\u5f8c\u7d9a\u306e\u30b8\u30e7\u30d6\u3092\u505c\u6b62\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/droneci_early_return\/","pubDate":"Mon, 18 Oct 2021 07:38:35 +0000","guid":"https:\/\/blog.web-apps.tech\/droneci_early_return\/","description":"<p>\u4f8b\u3048\u3070mono repo\u3067\u7279\u5b9a\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5909\u66f4\u304c\u3042\u3063\u305f\u3068\u304d\u306b\u3060\u3051\u30b8\u30e7\u30d6\u3092\u5b9f\u884c\u3057\u305f\u3044\u3001\u3068\u3044\u3046\u69d8\u306a\u30b1\u30fc\u30b9\u3002DroneCI\u306econdition\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5358\u4f4d\u3067\u306e\u5909\u66f4\u3067\u30b9\u30c6\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u304b\u3068\u3044\u3046\u5206\u5c90\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u304b\u3068\u3044\u3063\u3066fail\u3055\u305b\u3066\u3057\u307e\u3046\u3068\u3001\u5bfe\u8c61\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5909\u66f4\u304c\u306a\u3044\u5834\u5408\u306f\u3044\u3064\u3082fail\u3059\u308b\u4e8b\u306b\u306a\u308a\u3001\u5b9f\u969b\u306b\u554f\u984c\u304c\u3042\u3063\u3066fail\u3057\u3066\u3044\u308b\u306e\u304b\u3069\u3046\u306a\u306e\u304b\u5206\u304b\u3089\u306a\u3044\u3001\u3068\u3044\u3046\u4e8b\u614b\u306b\u9665\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u3093\u306a\u3068\u304d\u306f <code>exit 78<\/code> \u3059\u308b\u3068\u826f\u3044\u3088\u3046\u3067\u3059\u3002 <code>exit 78<\/code> \u3057\u305f\u30b9\u30c6\u30c3\u30d7\u306fsuccess\u3001\u5f8c\u7d9a\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u5b9f\u884c\u3055\u308c\u305a\u3001(<code>depends_on<\/code> \u3067\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u3088\u3046\u306a)\u5f8c\u7d9a\u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n<h2 id=\"reference\">Reference<\/h2>\n<p><a href=\"https:\/\/discourse.drone.io\/t\/how-to-exit-a-pipeline-early-without-failing\/3951\" target=\"_blank\" rel=\"noopener\">How to exit a Pipeline early without Failing<\/a>\n<\/p>"},{"title":"iPhone 13 mini\u3092\u8cb7\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/iphone13mini\/","pubDate":"Sun, 26 Sep 2021 13:19:01 +0000","guid":"https:\/\/blog.web-apps.tech\/iphone13mini\/","description":"<p>\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u30ef\u30af\u30c1\u30f3\u306e\u526f\u53cd\u5fdc(\u3068\u3044\u3046\u3053\u3068\u306b\u3057\u305f)\u3067\u3001iPhone 13 mini\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u8272\u306f\u30df\u30c3\u30c9\u30ca\u30a4\u30c8\u3067\u3001128GB\u306e\u30e2\u30c7\u30eb\u3067\u3059\u3002\n\u65e5\u3005\u306e\u3054\u98ef\u306e\u5199\u771f\u304f\u3089\u3044\u3057\u304b\u5199\u771f\u306f\u64ae\u3089\u306a\u3044\u3057\u3001\u5927\u304d\u3044\u30b9\u30de\u30db\u306f\u597d\u304d\u306b\u306a\u308c\u306a\u3044\u306e\u3067mini\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u307e\u3067\u4f7f\u7528\u3057\u3066\u3044\u305fPixel 4\u304c64GB\u306e\u30e2\u30c7\u30eb\u3060\u3063\u305f\u306e\u3067\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u500d\u306b\u306a\u3063\u305f\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002AppleCare+ \u76d7\u96e3\u30fb\u7d1b\u5931\u30d7\u30e9\u30f3 for iPhone 13 mini\u3082\u3064\u3051\u3066\u3001107,600\u5186\u3067\u3057\u305f\u3002\n\u6700\u5f8c\u306biPhone\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u306fiPhone 5\u306a\u306e\u3067\u3001\u5b9f\u306b8\u5e74\u3076\u308a\u304f\u3089\u3044\u306eiPhone\u3067\u3059\u3002<\/p>\n<p>iPad mini\u3082\u8cb7\u3044\u307e\u3057\u305f\u304c\u3001\u8cb7\u3046\u304b\u3069\u3046\u304b\u4e00\u6669\u60a9\u3093\u3060\u7d50\u679c\u767a\u58f2\u65e5\u306b\u5c4a\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0b\u958b\u5c01\u5199\u771f\u3067\u3059:<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/F88B6496-A4C3-4482-98B5-2559179A38E0_hu_e68192a854c6b529.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/EECF6EBA-21BE-4AF4-83BC-92C7B2989211_hu_332c62cfc252103f.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/988D0431-8F4B-41DB-A851-40F1AFC8658C_hu_a256704d2548022.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/0F84E98A-A244-4AC4-BA92-DA610BD88C14_hu_b275f462908b4591.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/EEC0617E-38A1-4FE0-810E-E52687BE1078_hu_58aac4f92f5d2fc.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/BFEFDA5A-AB64-4EF8-8EE4-E1B39C41B385_hu_3e466f318754bc49.JPEG\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/iphone13mini\/images\/IMG_0027_hu_91806a5a9c25c333.jpg\" alt=\"\" \/>\n<\/p>"},{"title":"bash\u306ehere-document\u306f\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3089\u3057\u3044","link":"https:\/\/blog.web-apps.tech\/bash-here-document-makes-tmp-file\/","pubDate":"Wed, 08 Sep 2021 09:33:25 +0000","guid":"https:\/\/blog.web-apps.tech\/bash-here-document-makes-tmp-file\/","description":"<p>\u7686\u3055\u3093\u4f7f\u3063\u3066\u307e\u3059\u304b\u3001here-document\u3002bash\u3067\u3044\u3046\u3068\u3053\u3046\u3044\u3046\u5974:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">cat <span class=\"s\">&lt;&lt;EOF\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s\">this\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s\">is\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s\">here\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s\">document\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s\">EOF<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u51fa\u529b\u306f\u3053\u3046:<\/p>\n<pre tabindex=\"0\"><code>this\nis\nhere\ndocument\n<\/code><\/pre><p>\u8907\u6570\u884c\u306b\u6e21\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u30ea\u30c6\u30e9\u30eb\u3068\u3057\u3066\u8868\u73fe\u3057\u305f\u3044\u5834\u5408\u306b\u4fbf\u5229\u3067\u3059\u306d\u3002\u3067\u3001shellscript\u304b\u3089REST API\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u6295\u3052\u305f\u304f\u3066\u3001here-document\u3092\u4f7f\u3063\u3066JSON\u3092\u3079\u305f\u3063\u3068\u30b9\u30af\u30ea\u30d7\u30c8\u5185\u3067\u66f8\u3044\u3066\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u3053\u3093\u306a\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u307e\u3057\u305f(\u30d1\u30b9\u306f\u3082\u3061\u308d\u3093\u9055\u3044\u307e\u3059\u3088\u3002\u5ff5\u306e\u305f\u3081\u3002):<\/p>\n<pre tabindex=\"0\"><code>\/path\/to\/shellscript\/using\/here-document.sh: line 179: cannot create temp file for here-document: No space left on device\n<\/code><\/pre><p>\u5168\u7136\u77e5\u3089\u306a\u304b\u3063\u305f\u3051\u3069\u3001here-document\u3063\u3066\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3093\u3067\u3059\u306d\u3002\u78ba\u304b\u3081\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>$ docker run -it --rm centos:7 bash\n[root@8017e5e28d6e \/]# yum install -y strace\n(\u4e2d\u7565)\n[root@8017e5e28d6e \/]# cat &lt;&lt;EOF &gt; script.sh\n&gt; cat &lt;&lt;EOS\n&gt; foo\n&gt; bar\n&gt; baz\n&gt; EOS\n&gt; EOF\n[root@8017e5e28d6e \/]# strace -f bash script.sh |&amp; grep tmp\n[pid 61] stat(&#34;\/tmp&#34;, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0\n[pid 61] faccessat(AT_FDCWD, &#34;\/tmp&#34;, W_OK) = 0\n[pid 61] statfs(&#34;\/tmp&#34;, {f_type=OVERLAYFS_SUPER_MAGIC, f_bsize=4096, f_blocks=6159700, f_bfree=4601655, f_bavail=4282999, f_files=1572864, f_ffree=1414766, f_fsid={val=[3003212711, 622231591]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RELATIME}) = 0\n[pid 61] open(&#34;\/tmp\/sh-thd-1631118709&#34;, O_WRONLY|O_CREAT|O_EXCL|O_TRUNC, 0600) = 3\n[pid 61] open(&#34;\/tmp\/sh-thd-1631118709&#34;, O_RDONLY) = 4\n[pid 61] unlink(&#34;\/tmp\/sh-thd-1631118709&#34;) = 0\n<\/code><\/pre><p><code>\/tmp\/sh-thd-1631118709<\/code> \u306b\u66f8\u304d\u8fbc\u307f\u3092\u3057\u3066\u3044\u308b\u69d8\u5b50\u304c\u898b\u3066\u53d6\u308c\u307e\u3059\u3002<\/p>"},{"title":"Huawei Band 6\u3092\u8cb7\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/huawei-band-6\/","pubDate":"Mon, 30 Aug 2021 04:12:05 +0000","guid":"https:\/\/blog.web-apps.tech\/huawei-band-6\/","description":"<p>TL;DR: \u5272\u3068\u826f\u3044\u3002<\/p>\n<p>\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u306f\u9577\u3044\u3053\u3068<a href=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/\">fitbit versa<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u6700\u8fd1\u30d7\u30fc\u30eb\u306b\u884c\u304f\u3088\u3046\u306b\u306a\u308a\u3001\u30d7\u30fc\u30eb\u5185\u3067\u4f7f\u7528\u3067\u304d\u308b\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u306b\u5bfe\u5fdc\u3057\u305f\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\/\u30b9\u30de\u30fc\u30c8\u30d0\u30f3\u30c9\u304c\u6b32\u3057\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u79c1\u304c\u884c\u3063\u3066\u3044\u308b\u30d7\u30fc\u30eb\u306e\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\/\u30b9\u30de\u30fc\u30c8\u30d0\u30f3\u30c9\u306e\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u306f\u6b21\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059:<\/p>\n<ul>\n<li>\u30d9\u30eb\u30c8\u5e45\u304c30mm\u4ee5\u4e0b\u3067\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u304c\u30d9\u30eb\u30c8\u5e45\u304a\u3088\u3073\u539a\u307f\u304b\u3089\u51fa\u306a\u3044\u3082\u306e\u306f\u4f7f\u7528\u53ef\u80fd<\/li>\n<li>\u67d4\u3089\u304b\u3044\u7d20\u6750\u306e\u30ab\u30d0\u30fc\u7b49\u3067\u8986\u3048\u3070\u4f7f\u7528\u53ef\u80fd<\/li>\n<li>\u30b7\u30ea\u30b3\u30f3\u88fd\u30ab\u30d0\u30fc\u307e\u305f\u306f\u30a6\u30a9\u30c3\u30c1\u30b9\u30fc\u30c4\u3067\u8986\u3048\u3070\u4f7f\u7528\u53ef\u80fd<\/li>\n<\/ul>\n<p>fitbit versa\u306f\u4e00\u3064\u76ee\u306e\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u306b\u30de\u30c3\u30c1\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3001\u67d4\u3089\u304b\u3044\u7d20\u6750\u306e\u30ab\u30d0\u30fc\u30fb\u30b7\u30ea\u30b3\u30f3\u88fd\u30ab\u30d0\u30fc\u30fb\u30a6\u30a9\u30c3\u30c1\u30b9\u30fc\u30c4\u3067\u8986\u3048\u3070\u4f7f\u7528\u53ef\u80fd\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\n\u3068\u306f\u3044\u3048\u3001fitbit versa\u306f\u3082\u30462\u4e16\u4ee3\u578b\u843d\u3061\u306e\u30e2\u30c7\u30eb\u3067\u3059\u3002\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u8986\u3046\u30ab\u30d0\u30fc\u3092\u898b\u3064\u3051\u308b\u306e\u304c\u305d\u3082\u305d\u3082\u96e3\u3057\u3044(\u3042\u308b\u306b\u306f\u3042\u308b\u3051\u3069)\u3067\u3059\u3057\u3001<a href=\"https:\/\/amzn.to\/3mInH1P\" target=\"_blank\" rel=\"noopener\">\u30b7\u30ea\u30b3\u30f3\u88fd\u30ab\u30d0\u30fc\u306f\u4f55\u6545\u304b6\u500b\u5358\u4f4d\u3067\u3057\u304b\u58f2\u3063\u3066\u3044\u306a\u3044<\/a>\n\u305f\u3081\u3001\u79c1\u306e\u7d50\u8ad6\u3068\u3057\u3066\u306f\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u306b\u30de\u30c3\u30c1\u3059\u308b\u30b9\u30de\u30fc\u30c8\u30d0\u30f3\u30c9\u3092\u8cb7\u3046\u306e\u304c\u65e9\u3044\u3001\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3058\u3083\u3041\u306a\u306b\u3092\u8cb7\u304a\u3046\u304b\u3001\u3068\u8003\u3048\u305f\u3068\u304d\u306b\u3001\u79c1\u306fPixel\u30e6\u30fc\u30b6\u3067\u3059\u3057fitbit\u306e\u30e6\u30fc\u30b6\u3067\u3082\u3042\u308a\u307e\u3059\u304b\u3089\u3001Google\u306b\u3088\u308bfitbit\u306e\u8cb7\u53ce\u3092\u53d7\u3051\u3066\u3001fitbit\u304b\u3089\u826f\u3044\u611f\u3058\u306e\u65b0\u88fd\u54c1\u304c\u51fa\u308b\u306e\u3092\u5f85\u3061\u305f\u3044\u3068\u3044\u3046\u6c17\u6301\u3061\u3082\u3042\u308a\u307e\u3059\u304b\u3089\u3001\u3042\u307e\u308a\u30b3\u30b9\u30c8\u3092\u639b\u3051\u308b\u308f\u3051\u306b\u3082\u3044\u304b\u306a\u3044\u306a\u3001\u3068\u8003\u3048\u3001\u9078\u629e\u80a2\u306f\u81ea\u7136\u3068Huawei\u304bXiaomi\u306e\u4e8c\u629e\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3044\u308d\u3044\u308d\u691c\u8a0e\u3057\u307e\u3057\u305f\u304c\u3001\u6700\u7d42\u7684\u306b\u306f<a href=\"https:\/\/amzn.to\/3zv2r34\" target=\"_blank\" rel=\"noopener\">mi band 6<\/a>\n\u306e\u4e38\u3063\u3053\u3044\u30c7\u30b6\u30a4\u30f3\u3088\u308a\u3001<a href=\"https:\/\/amzn.to\/3gIl9gv\" target=\"_blank\" rel=\"noopener\">Huawei Band 6<\/a>\n\u306e\u56db\u89d2\u3044\u30c7\u30b6\u30a4\u30f3\u306e\u65b9\u304c\u901a\u77e5\u306a\u3069\u304c\u898b\u3084\u3059\u305d\u3046\u3067\u3059\u3057\u3001\u753b\u9762\u3082\u307b\u3069\u3088\u304f\u5927\u304d\u3044\u3001\u3068\u3044\u3046\u4e8b\u3067Huawei Band 6\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u4ee5\u4e0b\u958b\u5c01\u5199\u771f\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/huawei-band-6\/images\/PXL_20210820_021323994-1_hu_cc414f10b050f0b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/huawei-band-6\/images\/PXL_20210820_021339110_hu_853f987a6ac9fcf0.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5916\u7bb1\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u4e00\u5fdcamazon.co.jp\u8ca9\u58f2\u306e\u65e5\u672c\u6b63\u898f\u4ee3\u7406\u5e97\u54c1\u3068\u66f8\u304b\u308c\u305f\u30e2\u30ce\u3092\u8cfc\u5165\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u65e5\u672c\u8a9e\u306f\u30b7\u30fc\u30eb\u3067\u4fee\u6b63\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u5916\u7bb1\u3067\u3061\u3087\u3063\u3068\u4e0d\u5b89\u306a\u611f\u3058\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u3041\u6c17\u306b\u3057\u3066\u3082\u4ed5\u65b9\u306a\u3044\u3067\u3057\u3087\u3046\u3002\u5b89\u3044\u3057\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/huawei-band-6\/images\/PXL_20210820_021758503_hu_6d589ea32873139a.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u3092\u958b\u3051\u308b\u3068\u672c\u4f53\u304c\u3053\u3093\u306a\u611f\u3058\u3067\u5165\u3063\u3066\u3044\u307e\u3059\u3002\u307e\u3041\u308f\u304b\u308a\u3084\u3059\u3044\u306f\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/huawei-band-6\/images\/PXL_20210820_021856235_hu_c0b4499dc60b870c.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306b\u5165\u3063\u3066\u3044\u305f\u3082\u306e\u306f\u3053\u308c\u3067\u5168\u90e8\u3067\u3059\u3002\u672c\u4f53\u3001\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u3001WARRANTY CARD\u3001\u30af\u30a4\u30c3\u30af\u30b9\u30bf\u30fc\u30c8\u30ac\u30a4\u30c9\u3067\u3059\u306d\u3002\u30af\u30a4\u30c3\u30af\u30b9\u30bf\u30fc\u30c8\u30ac\u30a4\u30c9\u306f\u672c\u5f53\u306b\u5fc5\u8981\u6700\u5c0f\u9650\u306e\u60c5\u5831\u3060\u3051\u304c\u66f8\u3044\u3066\u3042\u308b\u3068\u3044\u3046\u611f\u3058\u3067\u3001\u8a73\u7d30\u306fWeb\u304b\u3089\u8aac\u660e\u66f8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u306d\uff01\u3068\u3044\u3046\u4e8b\u3067QR\u30b3\u30fc\u30c9\u304c\u66f8\u3044\u3066\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u306e\u3068\u3053\u308d\u8cfc\u5165\u304b\u3089\u4e8c\u9031\u9593\u5f31\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u4e0d\u6e80\u70b9\u306f\u6b21\u306e\u4e8c\u3064\u3067\u3059:<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">HUAWEI BAND 6\u3001\u304a\u5024\u6bb5\u3082\u542b\u3081\u3066\u5272\u3068\u6e80\u8db3\u3057\u3066\u308b\u3051\u3069\u3001\u4fdd\u8b77\u30d5\u30a3\u30eb\u30e0\u306b\u307e\u3068\u3082\u306a\u306e\u304c\u306a\u3055\u305d\u3046\uff08\u3053\u308c\u306f\u3053\u306e\u30af\u30e9\u30b9\u306e\u3082\u306e\u306b\u6c17\u3092\u4f7f\u3044\u3059\u304e\u304b\u3082\uff09\u306a\u306e\u3068\u3001\u30c4\u30a4\u30fc\u30c8\u3092\u3057\u305f\u3068\u304d\u306b\u901a\u77e5\u304c\u6765\u3061\u3083\u3046\u306e\u304c\u5fae\u5999\u30dd\u30a4\u30f3\u30c8<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1431285906405658627?ref_src=twsrc%5Etfw\">August 27, 2021<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u307e\u3041\u4fdd\u8b77\u30d5\u30a3\u30eb\u30e0\u306f\u3053\u306e\u30af\u30e9\u30b9\u306e\u88fd\u54c1\u306b\u4fdd\u8b77\u30d5\u30a3\u30eb\u30e0\u3092\u3064\u3051\u3088\u3046\u3068\u3044\u3046\u306e\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u306e\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u304c\u3002\n\u30c4\u30a4\u30fc\u30c8\u3092\u3057\u305f\u3068\u304d\u306b\u901a\u77e5\u304c\u6765\u3061\u3083\u3046\u306e\u306f\u3001\u300ctweet\u3092\u3057\u307e\u3057\u305f\u300d\u3068\u3044\u3046\u901a\u77e5\u304c\u4e00\u77ac\u901a\u77e5\u6b04\u306b\u51fa\u308b\u305f\u3081\u305d\u308c\u3092\u8a8d\u8b58\u3057\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u4e8b\u3067Huawei Band\u5074\u306e\u554f\u984c\u3068\u8a00\u3046\u3088\u308a\u306ftwitter\u30a2\u30d7\u30ea\u5074\u306e\u554f\u984c\u306e\u69d8\u306a\u6c17\u3082\u3057\u307e\u3059\u306d\u3002<\/p>\n<p>\u3042\u3068\u306f\u307e\u3041\u3001\u30a6\u30a9\u30c3\u30c1\u30d5\u30a7\u30a4\u30b9\u3092\u4f5c\u3063\u3066\u307f\u305f\u3001\u307f\u305f\u3044\u306a\u30d6\u30ed\u30b0\u3092\u66f8\u3053\u3046\u3068\u601d\u3063\u3066\u306f\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u74b0\u5883\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u307e\u3041\u307e\u3041\u3081\u3093\u3069\u304f\u3055\u305d\u3046\u3068\u3044\u3046\u304b\u3001\u30d0\u30f3\u30c9\u3068\u30b9\u30de\u30db\u306e\u60c5\u5831\u540c\u671f\u306b\u306fHuawei Health\u3068\u3044\u3046\u30a2\u30d7\u30ea\u3092\u30b9\u30de\u30db\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3093\u3067\u3059\u304c\u3001\u30a6\u30a9\u30c3\u30c1\u30d5\u30a7\u30a4\u30b9\u3092\u4f5c\u3063\u3066\u30c6\u30b9\u30c8\u3059\u308b\u306b\u306f\u3053\u308c\u306e\u30d9\u30fc\u30bf\u7248\uff1f\u958b\u767a\u7248\uff1f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3084\u3081\u307e\u3057\u305f\u3002\u8ae6\u3081\u3066\u65e2\u88fd\u306e\u30a6\u30a9\u30c3\u30c1\u30d5\u30a7\u30a4\u30b9\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"\u5265\u304c\u308c\u304b\u3051\u305fSesame 3\u3092\u8cbc\u308a\u76f4\u3059","link":"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/","pubDate":"Thu, 12 Aug 2021 13:20:12 +0000","guid":"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/","description":"<p>\u5f0a\u5b85\u3067\u306f<a href=\"https:\/\/jp.candyhouse.co\/products\/sesame3\" target=\"_blank\" rel=\"noopener\">CANDYHOUSE\u306eSESAME3<\/a>\n\u3068\u3044\u3046\u30b9\u30de\u30fc\u30c8\u30ed\u30c3\u30af\u88fd\u54c1\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u4ed8\u5c5e\u306e\u4e21\u9762\u30c6\u30fc\u30d7\u3067\u8cbc\u308b\u3060\u3051\u3001\u5265\u304c\u3059\u3068\u304d\u3082\u8de1\u304c\u6b8b\u3089\u305a\u4fbf\u5229\uff01\u3068\u3044\u3046\u6700\u9ad8\u306e\u88fd\u54c1\u306a\u3093\u3067\u3059\u304c\u3001\u6700\u8fd1\u5c11\u3057\u5265\u304c\u308c\u3066\u304d\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/images\/PXL_20210807_084459967_hu_53ae0577e72b2b8.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u96fb\u6c60\u5207\u308c\u3084\u6545\u969c\u306a\u3069\u306e\u6709\u4e8b\u306b\u5099\u3048\u3066\u9375\u306f\u6301\u3063\u3066\u6b69\u3044\u3066\u3044\u308b\u306e\u3067\u554f\u984c\u306a\u3044\u3068\u8a00\u3048\u3070\u554f\u984c\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u305d\u3046\u306f\u8a00\u3063\u3066\u3082\u4e0d\u4fbf\u306a\u601d\u3044\u306f\u3057\u305f\u304f\u306a\u3044\u3067\u3059\u3057\u3001\u5b8c\u5168\u306b\u5265\u304c\u308c\u3066\u3057\u307e\u3063\u3066\u304b\u3089\u30d0\u30bf\u30d0\u30bf\u3059\u308b\u306e\u3082\u30a4\u30e4\u306a\u306e\u3067\u5f35\u308a\u76f4\u3057\u3092\u3057\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/jp.candyhouse.co\/products\/3m%E3%82%B7%E3%83%BC%E3%83%AB2%E6%9E%9A\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u304b\u3089\u4ea4\u63db\u7528\u306e\u4e21\u9762\u30c6\u30fc\u30d7\u3082\u8ca9\u58f2\u3055\u308c\u3066\u306f\u3044\u308b<\/a>\n\u306e\u3067\u3059\u304c\u3001\u660e\u3089\u304b\u306b<a href=\"https:\/\/www.command.jp\/3M\/ja_JP\/command-jp\/products\/~\/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%82%BF%E3%83%96-%E3%81%AF%E3%82%8A%E3%81%8B%E3%81%88%E7%94%A8-CM2TN-L-20-%E3%83%91%E3%83%83%E3%82%AF-%E7%AE%B1\/?N=5924736&#43;3290188981&amp;preselect=8738468&#43;3293786499&amp;rt=rud\" target=\"_blank\" rel=\"noopener\">3M\u306e\u30b3\u30de\u30f3\u30c9\u30bf\u30d6<\/a>\n\u3067\u3059\u3057\u3001\u5272\u9ad8\u3063\u307d\u3044\u5370\u8c61\u3092\u53d7\u3051\u305f\u306e\u3067\u8fd1\u6240\u306e\u30ab\u30a4\u30f3\u30ba\u3067\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002(\u5b9f\u969b\u6bd4\u8f03\u3057\u3066\u307f\u308b\u3068<a href=\"https:\/\/www.yodobashi.com\/product\/100000001002982126\/\" target=\"_blank\" rel=\"noopener\">\u30e8\u30c9\u30d0\u30b7.com\u3067\u306f8\u679a\u3067300\u5186\u5f31<\/a>\n\u306a\u306e\u306b\u5bfe\u3057\u3001CANDYHOUSE\u304b\u3089\u8cb7\u3046\u30684\u679a\u3067350\u5186\u3068\u500d\u7a0b\u5ea6\u306e\u5024\u6bb5\u8a2d\u5b9a\u3068\u306a\u3063\u3066\u3044\u307e\u3059)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/images\/PXL_20210807_083250354_hu_ce7a6139403adca2.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u305f\u307e\u305f\u307e\u30ab\u30a4\u30f3\u30ba\u306b\u884c\u3063\u305f\u3068\u304d\u306b\u601d\u3044\u51fa\u3057\u3066\u9069\u5f53\u306b\u8cb7\u3063\u3066\u304d\u3066\u3057\u307e\u3063\u305f\u305f\u3081\u79c1\u306fM\u30b5\u30a4\u30ba\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u304c\u3001\u5143\u3005\u3064\u3044\u3066\u3044\u305f\u30e2\u30ce\u3068\u6bd4\u3079\u308b\u3068\u591a\u5206L\u30b5\u30a4\u30ba\u3060\u3063\u305f\u306e\u3067\u7686\u3055\u3093\u306fL\u30b5\u30a4\u30ba\u3092\u8cfc\u5165\u3059\u308b\u3068\u826f\u3044\u3067\u3059\u3002\u30ab\u30a4\u30f3\u30ba\u3067\u306f\u3069\u306e\u30b5\u30a4\u30ba\u3082\u5024\u6bb5\u304c\u540c\u3058\u3067\u3057\u305f\u304c\u3001\u30e8\u30c9\u30d0\u30b7.com\u3067\u306fL\u30b5\u30a4\u30ba\u304c\u82e5\u5e72\u5b89\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/images\/PXL_20210807_084753110.MP_hu_c2eacd94d1630f22.jpg\" alt=\"\" \/>\n<\/p>\n<p>SESAME\u672c\u4f53\u306e\u5f62\u306b\u5408\u308f\u305b\u3066\u30b3\u30de\u30f3\u30c9\u30bf\u30d6\u3092\u30ab\u30c3\u30c8\u3057\u3001\u8cbc\u308a\u4ed8\u3051\u307e\u3059\u3002\u5265\u304c\u3059\u3068\u304d\u306b\u5f15\u3063\u5f35\u308b\u90e8\u5206\u306f\u96fb\u6c60\u30dc\u30c3\u30af\u30b9\u306e\u4e2d\u306b\u6298\u308a\u8fbc\u3093\u3067\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/images\/PXL_20210808_045849649-1_hu_c48e5d6bd1ad6783.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7121\u4e8b\u3057\u3063\u304b\u308a\u8cbc\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>"},{"title":"a\u30bf\u30b0\u306eping\u5c5e\u6027","link":"https:\/\/blog.web-apps.tech\/atagunopingshu-xing\/","pubDate":"Mon, 02 Aug 2021 14:55:54 +0000","guid":"https:\/\/blog.web-apps.tech\/atagunopingshu-xing\/","description":"<p>\u79c1\u306f\u57fa\u672c\u7684\u306b\u696d\u52d9\u30fb\u8da3\u5473\u306e\u4e21\u65b9\u3067Go\u3092\u66f8\u3044\u3066\u3044\u308b\u3068\u8a00\u3046\u3053\u3068\u3082\u3042\u308a\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u7ba1\u7406\u306fGOPATH\u65b9\u5f0f\u3067\u7ba1\u7406\u3057\u3066\u3044\u307e\u3059\u3002\u3057\u304b\u3057GOPATH\u65b9\u5f0f\u3067\u7ba1\u7406\u3057\u3066\u3044\u308b\u3068\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u6319\u52d5\u78ba\u8a8d\u3084\u3089\u306a\u3093\u3084\u3089\u3067\u4f7f\u3046\u66f8\u304d\u6368\u3066\u306e\u30b3\u30fc\u30c9\u3092\u3069\u3053\u306b\u7f6e\u304f\u304b\u3001\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308b\u3002 <code>src\/github.com\/nasa9084\/...<\/code> \u306b\u7f6e\u304f\u3068\u3044\u3046\u306e\u3082\u4e00\u3064\u306e\u624b\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u3001\u793e\u5185\u306eGit\u30ea\u30dd\u30b8\u30c8\u30ea\u3084\u3089GitHub\u3084\u3089\u306b\u30a2\u30c3\u30d7\u3059\u308b\u3064\u3082\u308a\u3082\u306a\u3044\u30b3\u30fc\u30c9\u3092\u4ed6\u306e\u3001GitHub\u3084\u3089\u306a\u3093\u3084\u3089\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u3068\u540c\u3058\u5834\u6240\u306b\u7f6e\u304f\u3068\u4e00\u89a7\u6027\u3084\u691c\u7d22\u6027\u304c\u4e0b\u304c\u308b\u3057\u3001\u3084\u308a\u305f\u304f\u306f\u306a\u3044\u306e\u3067\u3001\u666e\u6bb5\u306f\u305d\u3046\u3044\u3063\u305f\u76f4\u3050\u306b\u3044\u3089\u306a\u304f\u306a\u308b\u30b3\u30fc\u30c9\u306f <code>src\/practice<\/code> \u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u6bce\u56de\u66f8\u304d\u6bb4\u3063\u305f\u5f8c\u306b\u524a\u9664\u3092\u3059\u308b\u3001\u3068\u3044\u3046\u307e\u3081\u306a\u6027\u683c\u306f\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u7d50\u679c\u3068\u3057\u3066\u4e8c\u5ea6\u3068\u65e5\u306e\u76ee\u3092\u898b\u306a\u3044\u3053\u3068\u304c\u307b\u3068\u3093\u3069\u306a\u30b3\u30fc\u30c9\u7247\u304c\u8caf\u307e\u3063\u3066\u3044\u304f\u306e\u3067\u5b9a\u671f\u7684\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002\u66f8\u304d\u6bb4\u308a\u306e\u30b3\u30fc\u30c9\u3068\u306f\u3044\u3048\u3001\u4f55\u304b\u30d2\u30f3\u30c8\u304c\u6b8b\u3063\u3066\u3044\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u306e\u3067\u3001\u524a\u9664\u524d\u306b\u30c1\u30e9\u30c1\u30e9\u3068\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u524a\u9664\u3057\u3066\u3044\u304f\u306e\u3067\u3059\u3051\u308c\u3069\u3001\u305d\u3046\u3044\u3048\u3070\u305d\u3093\u306a\u306e\u8abf\u3079\u305f\u306a\u3001\u306a\u3093\u3066\u601d\u3046\u30b3\u30fc\u30c9\u7247\u304c\u305f\u307e\u306b\u898b\u3064\u304b\u3063\u305f\u308a\u3059\u308b\u8a33\u3067\u3059\u3002<\/p>\n<p>\u4eca\u56de\u767a\u898b\u3057\u305f\u306e\u306f\u30bf\u30a4\u30c8\u30eb\u306b\u3082\u3042\u308b\u3068\u304a\u308a\u3001<code>a<\/code>\u30bf\u30b0\u306e<code>ping<\/code>\u5c5e\u6027\u3067\u3059\u3002W3C\u767a\u884c(\u767a\u884c\u3001\u3068\u3044\u3046\u8868\u73fe\u304c\u6b63\u3057\u3044\u306e\u304b\u3069\u3046\u304b\u3082\u3088\u304f\u5206\u304b\u3063\u3066\u3044\u306a\u3044\u3067\u3059\u3051\u3069)\u306eHTML\u4ed5\u69d8\u304c\u5ec3\u6b62\u3068\u306a\u308a\u3001WHATWG\u306eHTML\u4ed5\u69d8\u3001HTML Living Standard\u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u308b\u3001\u3068\u306e\u8a71\u30926\u6708\u9803\u306b\u898b\u3066\u3001\u306a\u308b\u307b\u3069\u306a\u30fc\u306a\u3093\u3066\u3061\u3087\u308d\u3063\u3068\u8abf\u3079\u3066\u3001HTML Living Standard\u3067\u306f<code>a<\/code>\u30bf\u30b0\u306e<code>ping<\/code>\u5c5e\u6027\u3063\u3066\u306e\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u60c5\u5831\u306b\u305f\u3069\u308a\u7740\u304d\u3001\u305d\u3057\u3066\u5b9f\u969b\u3069\u3093\u306a\u6319\u52d5\u306a\u306e\u304b\u3001\u3068\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u305f\u3001\u3068\u3044\u3046\u7d4c\u7def\u3060\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u5b9f\u969b\u306e\u30b3\u30fc\u30c9\u7247\u304c\u3053\u3061\u3089:\nindex.html:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-html\" data-lang=\"html\"><span class=\"line\"><span class=\"cl\"><span class=\"cp\">&lt;!doctype html&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;<\/span><span class=\"nt\">html<\/span> <span class=\"na\">lang<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;en&#34;<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">meta<\/span> <span class=\"na\">charset<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;UTF-8&#34;<\/span><span class=\"p\">\/&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span>Document<span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> first page\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">a<\/span> <span class=\"na\">href<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;second.html&#34;<\/span> <span class=\"na\">ping<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;http:\/\/localhost:8080\/ping&#34;<\/span><span class=\"p\">&gt;<\/span>second<span class=\"p\">&lt;\/<\/span><span class=\"nt\">a<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;\/<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>second.html:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-html\" data-lang=\"html\"><span class=\"line\"><span class=\"cl\"><span class=\"cp\">&lt;!doctype html&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;<\/span><span class=\"nt\">html<\/span> <span class=\"na\">lang<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;en&#34;<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">meta<\/span> <span class=\"na\">charset<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;UTF-8&#34;<\/span><span class=\"p\">\/&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span>Document<span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> second page\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;\/<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>main.go:<\/p>"},{"title":"date\u30b3\u30de\u30f3\u30c9\u3067\u7c21\u5358\u306a\u6642\u9593\u8a08\u7b97\u3092\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/calcurate-datetime-in-shell\/","pubDate":"Tue, 13 Jul 2021 03:52:44 +0000","guid":"https:\/\/blog.web-apps.tech\/calcurate-datetime-in-shell\/","description":"<p>shellscript\u5185\u3067\u6642\u9593\u8a08\u7b97\u3092\u3057\u305f\u3044\u4e8b\u304c\u3042\u308b\u3002\u4f8b\u3048\u3070\u3001\u300c\u6700\u7d42\u5b9f\u884c\u304b\u308910\u5206\u7d4c\u904e\u3057\u3066\u3044\u305f\u3089xxx\u3092\u3059\u308b\u300d\u3068\u3044\u3046\u69d8\u306a\u30b1\u30fc\u30b9\u3002\u5b9a\u671f\u7684\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u305f\u3044\u3001\u3068\u3044\u3063\u305f\u7c21\u5358\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3067\u3042\u308c\u3070\u3001<code>find<\/code>\u30b3\u30de\u30f3\u30c9\u3042\u305f\u308a\u3067\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u8abf\u3079\u308b\u3068\u3044\u3063\u305f\u65b9\u6cd5\u3067\u3082\u5b9f\u73fe\u53ef\u80fd\u3067\u306f\u3042\u308b\u3051\u308c\u3069\u3001\u300c\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u306b\u8a18\u8f09\u3055\u308c\u305f\u6642\u9593\u304b\u308910\u5206\u7d4c\u904e\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u8abf\u3079\u308b\u300d\u306a\u3093\u3066\u4e8b\u3082\u3042\u308b\u3067\u3057\u3087\u3046(\u3042\u3063\u305f)\u3002\nshellscript\u3067\u6642\u9593\u306e\u8a08\u7b97\u3059\u308b\u306e\u3063\u3066\u9762\u5012\u305d\u3046\u306a\u3093\u3060\u3088\u306a\u30fb\u30fb\u30fb\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u3051\u308c\u3069\u3001\u79c1\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3060\u3068\u305d\u308c\u307b\u3069\u96e3\u3057\u304f\u306a\u304f\u3066\u3001<code>date<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u5927\u4f53\u306a\u3093\u3068\u304b\u306a\u308b\u3068\u3044\u3046\u4e8b\u304c\u5206\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"\u6642\u9593\u3092\u6bd4\u8f03\u3059\u308b\">\u6642\u9593\u3092\u6bd4\u8f03\u3059\u308b<\/h2>\n<p>\u4e8c\u3064\u306e\u6642\u9593\u3092\u6bd4\u8f03\u3057\u305f\u3044\u3002\u3053\u308c\u306f\u5bfe\u8c61\u306e\u6642\u9593\u304cUnix\u6642\u9593\u3067\u8868\u73fe\u3055\u308c\u3066\u3044\u308c\u3070\u975e\u5e38\u306b\u7c21\u5358\u3067\u3001<code>date<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u3059\u3089\u7121\u304f\u3001<code>test<\/code>\u4e43\u81f3<code>[<\/code>\u3067\u666e\u901a\u306b\u6bd4\u8f03\u304c\u3067\u304d\u307e\u3059\u3002\u3082\u3061\u308d\u3093\u53d6\u308a\u6271\u3044\u306f\u6570\u5b57\u3068\u3057\u3066\u53d6\u308a\u6271\u3046\u3053\u3068\u306b\u306a\u308b\u306e\u3067\u3001\u6bd4\u8f03\u6f14\u7b97\u5b50\u3068\u3057\u3066<code>-lt<\/code>\u304b<code>-gt<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># 1626146220 = 2021-07-13T12:17<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># 1626146340 = 2021-07-13T12:19<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span> <span class=\"o\">[<\/span> <span class=\"m\">1626146220<\/span> -lt <span class=\"m\">1626146340<\/span> <span class=\"o\">]<\/span><span class=\"p\">;<\/span> <span class=\"k\">then<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">echo<\/span> hello\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">fi<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Output:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># hello<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5bfe\u8c61\u306e\u6642\u9593\u304cUnix\u6642\u9593\u3067\u8868\u73fe\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001Unix\u6642\u9593\u306b\u5909\u63db\u3057\u3066\u6bd4\u8f03\u3059\u308b\u306e\u304c\u304a\u305d\u3089\u304f\u6700\u3082\u7c21\u5358\u3067\u3059\u3002<code>date<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u4e00\u5ea6\u6642\u9593\u3092\u30d1\u30fc\u30b9\u3057\u3066\u3001Unix\u6642\u9593\u306e\u5f62\u3067\u51fa\u529b\u3057\u307e\u3059\u3002\u30d1\u30fc\u30b9\u306b\u306f<code>-d<\/code> \/ <code>--date<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002Unix\u6642\u9593\u3068\u3057\u3066\u51fa\u529b\u3059\u308b\u305f\u3081\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u306f<code>%s<\/code>\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span> <span class=\"o\">[<\/span> <span class=\"k\">$(<\/span>date -d <span class=\"s1\">&#39;2021-07-13T12:17&#39;<\/span> +%s<span class=\"k\">)<\/span> -lt <span class=\"k\">$(<\/span>date -d <span class=\"s1\">&#39;2021-07-13T12:19&#39;<\/span> +%s<span class=\"k\">)<\/span> <span class=\"o\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">then<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">echo<\/span> hello\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">fi<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Output:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># hello<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>-d<\/code> \/ <code>--date<\/code> \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u4e00\u822c\u7684\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u65e5\u4ed8\u6587\u5b57\u5217\u3092\u3088\u3057\u306a\u306b\u30d1\u30fc\u30b9\u3057\u3066\u304f\u308c\u307e\u3059\u3002\u8a73\u3057\u3044\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306f<a href=\"https:\/\/www.gnu.org\/software\/coreutils\/manual\/html_node\/Date-input-formats.html#Date-input-formats\" target=\"_blank\" rel=\"noopener\">GNU Coreutils\u306e\u30de\u30cb\u30e5\u30a2\u30eb<\/a>\n\u306a\u3069\u3092\u898b\u308b\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"n\u5206\u524dn\u5206\u5f8c\u3092\u6c42\u3081\u308b\">n\u5206\u524d\/n\u5206\u5f8c\u3092\u6c42\u3081\u308b<\/h2>\n<p>\u6268\u3001\u3053\u3053\u304b\u3089\u304c\u672c\u984c\u306a\u306e\u3067\u3059\u304c\u3001n\u5206\u524d\/n\u5206\u5f8c\u3092\u8a08\u7b97\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u3068\u3044\u3063\u3066\u3082\u3001<code>date<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3068\u975e\u5e38\u306b\u7c21\u5358\u306b\u6c42\u3081\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u73fe\u5728\u6642\u523b\u304b\u30891\u6642\u9593\u5f8c\u3092\u6c42\u3081\u3066\u307f\u307e\u3057\u3087\u3046\u3002<code>-d<\/code> \/ <code>--date<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u52a0\u7b97\u3057\u305f\u3044\u6642\u9593\u3092\u6e21\u3059\u3060\u3051\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">date +%R\n<\/span><\/span><span class=\"line\"><span class=\"cl\">date -d <span class=\"s1\">&#39;1 hour&#39;<\/span> +%R\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Output:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># 12:34<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># 13:34<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>hour<\/code>\u306e\u4ed6\u306b\u3082\u3001<code>year<\/code>\u3084<code>month<\/code>\u3001<code>day<\/code>\u3001<code>minute<\/code>\u306a\u3069\u305d\u308c\u3063\u307d\u3044\u30e2\u30ce\u306f\u5927\u4f53\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u73cd\u3057\u3044\u3068\u3053\u308d\u3060\u3068<code>fortnight<\/code>(2\u9031\u9593)\u3092\u4f7f\u3046\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\n\u5358\u306b<code>1 hour<\/code>\u3068\u66f8\u304f\u306e\u304c\u306a\u3093\u3068\u306a\u304f\u6c17\u6301\u3061\u60aa\u3044\u3068\u3044\u3046\u4eba\u306f<code>now<\/code>\u3084<code>today<\/code>\u3001<code>this<\/code>\u306a\u3069\u3092\u4f7f\u7528\u3057\u3066\u3088\u308a\u81ea\u7136\u8a00\u8a9e\u3063\u307d\u3044\u611f\u3058\u3067\u66f8\u304f\u3053\u3068\u3082\u3067\u304d\u307e\u3059<\/p>"},{"title":"\u6885\u4ed5\u4e8b2021 (2)","link":"https:\/\/blog.web-apps.tech\/ume-2021-2\/","pubDate":"Fri, 18 Jun 2021 15:34:24 +0000","guid":"https:\/\/blog.web-apps.tech\/ume-2021-2\/","description":"<p>\u5148\u3060\u3063\u3066\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u3001\u65e2\u306b\u534a\u5206\u4ee5\u4e0a\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6d88\u5316\u3057\u3066\u3057\u307e\u3063\u305f\u4eca\u65e5\u3053\u306e\u9803\u3001\u5927\u5206\u9045\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3082\u306e\u306e\u4eca\u5e74\u3082\u6885\u9152\u3092\u4ed5\u8fbc\u307f\u307e\u3057\u305f\u3002\n\u5c31\u8077\u3067\u95a2\u6771\u306b\u51fa\u3066\u304d\u3066\u304b\u3089\u4eca\u5e74\u30674L\u74f6\u304c5\u672c\u76ee\u3068\u76f8\u6210\u308a\u307e\u3057\u305f\u3002\n\u672c\u5e74\u306f\u9762\u5012\u304f\u3055\u304c\u3063\u3066\u3044\u308b\u9593\u306b\u3042\u308c\u3088\u3042\u308c\u3088\u3068\u65e5\u304c\u7d4c\u3063\u3066\u3057\u307e\u3044\u3001\u8fd1\u6240\u306e\u897f\u53cb\u3067\u306f4L\u74f6\u304c\u8cb7\u3048\u306a\u304f\u306a\u308b\u59cb\u672b\u3067\u3042\u308a\u307e\u3057\u305f\u304c\u306a\u3093\u3068\u304b4L\u74f6\u3092\u8abf\u9054\u3059\u308b\u4e8b\u306b\u6210\u529f\u3057\u3001\u7121\u4e8b\u4ed5\u8fbc\u307f\u3092\u6e08\u307e\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u5e74\u306f\u3042\u307e\u308a\u6642\u9593\u304c\u7121\u304b\u3063\u305f\u3053\u3068\u3082\u3042\u308a\u3001\u6885\u306f\u8fd1\u6240\u306e\u897f\u53cb\u3067\u8abf\u9054\u3057\u305f\u5357\u9ad8\u6885(\u5927\u7389)\u3067\u3059\u3002\u5272\u3068\u50b7\u3082\u5c11\u306a\u304f\u826f\u3044\u9999\u308a\u306e\u3059\u308b\u6885\u3067\u3001\u897f\u53cb\u4fae\u308a\u304c\u305f\u3057\u3001\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u3067\u3059\u306d\u3002\u304a\u305d\u3089\u304f1kg\u3068\u601d\u308f\u308c\u308b\u888b\u304c980\u5186(\u7a0e\u629c)\u3067\u3057\u305f\u3002<\/p>\n<p>\u9152\u306f\u4eca\u5e74\u306f\u521d\u3081\u3066\u65e5\u672c\u9152\u3092\u4f7f\u7528\u3002\u5b9f\u306f\u4ee5\u524d\u304b\u3089\u65e5\u672c\u9152\u3067\u6885\u9152\u3092\u4ed5\u8fbc\u3080\u3068\u3044\u3046\u306e\u306f\u3084\u3063\u3066\u307f\u305f\u3044\u3068\u601d\u3063\u3066\u306f\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u901a\u5e38\u5e97\u982d\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u65e5\u672c\u9152\u306f\u6885\u9152\u3092\u4ed5\u8fbc\u3080\u306b\u306f\u5ea6\u6570\u304c\u8db3\u308a\u306a\u3044\u305f\u3081\u3001\u6885\u9152(\u4e43\u81f3\u679c\u5b9f\u9152)\u7528\u306e\u3082\u306e\u3092\u8abf\u9054\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u9762\u5012\u3055\u304c\u3042\u308a\u3001\u5e97\u982d\u3067\u305d\u3046\u3044\u3063\u305f\u6885\u9152\u7528\u306e\u65e5\u672c\u9152\u304c\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u306e\u3092\u767a\u898b\u3057\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u3053\u308c\u307e\u3067\u306f\u6311\u6226\u3057\u3066\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u4eca\u5e74\u306f\u3080\u3084\u307f\u3084\u305f\u3089\u306bAmazon\u306e\u30dd\u30a4\u30f3\u30c8\u304c\u8caf\u307e\u3063\u3066\u3044\u305f\u3068\u3044\u3046\u4e8b\u3082\u3042\u308a\u3001Amazon\u3067\u3044\u308d\u3044\u308d\u3068\u63a2\u3057\u305f\u3068\u3053\u308d\u3001\u679c\u5b9f\u9152\u7528\u306e\u65e5\u672c\u9152\u304c\u8ca9\u58f2\u3055\u308c\u3066\u3044\u305f\u305f\u3081\u3053\u3061\u3089\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2021-2\/images\/PXL_20210618_145710091_hu_d9697fabda8e93fd.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u82d7\u5834\u9152\u9020\u3068\u3044\u3046\u9152\u8535\u306e\u82d7\u5834\u5c71\u300c\u679c\u5b9f\u9152\u7528\u65e5\u672c\u9152\u300d\u3001\u5ea6\u6570\u304c20%\u306e\u3082\u306e\u3067\u3059\u3002<a href=\"https:\/\/amzn.to\/35Ar3tW\" target=\"_blank\" rel=\"noopener\">Amazon<\/a>\n\u3067\u672c\u4f53\u4fa1\u683c\u304c1,800\u5186\u3001\u9001\u6599\u304c500\u5186\u3067\u3059\u3002<\/p>\n<p>\u65e5\u672c\u9152\u3092\u4f7f\u3046\u306e\u306f\u521d\u3081\u3066\u306e\u305f\u3081\u3001\u7802\u7cd6\u306f\u7279\u306b\u5947\u3092\u3066\u3089\u308f\u305a\u4e00\u822c\u7684\u306a\u6c37\u7802\u7cd6\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2021-2\/images\/PXL_20210618_145632642_hu_870204c4efe3f1bb.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4f5c\u308a\u65b9\u306f\u7279\u306b\u4f8b\u5e74\u3068\u5909\u308f\u3089\u305a\u3001\u6d17\u3063\u3066\u3078\u305f\u3092\u53d6\u3063\u305f\u6885\u3068\u7802\u7cd6\u3092\u74f6\u306b\u5165\u308c\u3001\u4e0a\u304b\u3089\u9152\u3092\u6ce8\u304e\u5165\u308c\u308b\u3060\u3051\u3067\u3059\u3002\u65e5\u672c\u9152\u306e\u5834\u5408\u7c73\u306e\u7518\u307f\u304c\u3042\u308b\u305f\u3081\u7802\u7cd6\u306f\u63a7\u3048\u3081\u3067\u826f\u3044\u3001\u3068\u3044\u3046\u4e8b\u3067\u3057\u305f\u306e\u3067\u3001\u9152\u306b\u4ed8\u5c5e\u3057\u3066\u304d\u305f\u30ec\u30b7\u30d4\u306b\u3042\u308f\u305b\u3066\u6c37\u7802\u7cd6\u306e\u91cf\u306f500g\u3068\u3057\u307e\u3057\u305f\u3002\u4f8b\u5e74\u306f1kg\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u4f8b\u5e74\u306e\u534a\u5206\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u3042\u3068\u306f\u7802\u7cd6\u304c\u6eb6\u3051\u308b\u307e\u3067\u306f\u6642\u3005\u632f\u3063\u3066\u3042\u3052\u3066\u3001\u7802\u7cd6\u304c\u6eb6\u3051\u305f\u3089\u653e\u7f6e\u3067\u3059\u3002\u81ea\u5bb6\u88fd\u6885\u9152\u5927\u4f533\u30f6\u6708\u7a0b\u5ea6\u304b\u3089\u304c\u98f2\u307f\u9803\u3068\u8a00\u308f\u308c\u3066\u3044\u307e\u3059\u304b\u3089\u30019\u6708\u304f\u3089\u3044\u306b\u306a\u3063\u305f\u3089\u5473\u898b\u3092\u3057\u3066\u3001\u305d\u306e\u3042\u3068\u306f\u307e\u305f\u6570\u5e74\u653e\u7f6e\u3055\u308c\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001<a href=\"https:\/\/blog.web-apps.tech\/ume-2020\/\">\u6628\u5e74\u306f2017\u5e74\u306b\u6f2c\u3051\u305f\u6885\u9152\u3092\u98f2\u3093\u3067\u7de0\u3081\u305f\u3088\u3046\u306a\u306e\u3067<\/a>\n\u4eca\u5e74\u306f2018\u5e74\u306b\u6f2c\u3051\u305f\u6885\u9152\u3092\u98f2\u3093\u3067\u7de0\u3081\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2021-2\/images\/PXL_20210618_151906550_hu_7a39adc383f43c92.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30e9\u30d9\u30eb\u306b\u3088\u308b\u30682018\u5e74\u306f\u4e45\u7c73\u4ed9\u3068\u6c37\u7802\u7cd6\u3092\u4f7f\u7528\u3057\u305f\u3088\u3046\u3067\u3059\u3002\u6ce1\u76db\u3067\u3059\u306d\u3002\u610f\u5916\u3068\u7656\u3082\u306a\u304f\u3001\u98f2\u307f\u3084\u3059\u304f\u4ed5\u4e0a\u304c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4eca\u5e74\u306e\u6885\u9152\u3082\u7f8e\u5473\u3057\u304f\u6f2c\u304b\u308b\u3053\u3068\u3092\u7948\u3063\u3066\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2021-2\/images\/PXL_20210618_152347004_hu_3f9842c06e89405.jpg\" alt=\"\" \/>\n<\/p>"},{"title":"\u6885\u4ed5\u4e8b2021 (1)","link":"https:\/\/blog.web-apps.tech\/ume-2021-1\/","pubDate":"Wed, 26 May 2021 07:53:09 +0000","guid":"https:\/\/blog.web-apps.tech\/ume-2021-1\/","description":"<p>\u5411\u6691\u306e\u5019\u7686\u69d8\u3044\u304b\u304c\u304a\u904e\u3054\u3057\u3067\u3057\u3087\u3046\u304b\u3002\u8fd1\u6240\u306e\u897f\u53cb\u3067\u6885\u9152\u95a2\u9023\u306e\u5546\u54c1\u304c\u5e97\u982d\u306b\u4e26\u3073\u306f\u3058\u3081\u3066\u3044\u308b\u306e\u3092\u898b\u3066\u5b63\u7bc0\u3092\u611f\u3058\u308b\u4eca\u65e5\u3053\u306e\u9803\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u5e74\u6885\u9152\u3068\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u308b\u308f\u3051\u3067\u3059\u304c\u3001\u6f2c\u3051\u3063\u3071\u306a\u3057\u3067\u653e\u7f6e\u3057\u3066\u3044\u308b\u6885\u9152\u306f\u3055\u3066\u304a\u304d\u6885\u30b7\u30ed\u30c3\u30d7\u306f\u3067\u304d\u308c\u3070\u30b7\u30fc\u30ba\u30f3\u4e2d\u306b\u4e8c\u56de\u306f\u4ed5\u8fbc\u307f\u305f\u3044\u3001\u3068\u3044\u3046\u6c17\u6301\u3061\u304c\u3042\u308a\u3001\u5e97\u982d\u3067\u6885\u306e\u5b9f\u3092\u767a\u898b\u3057\u3066\u3068\u308a\u3042\u3048\u305a\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u3060\u51fa\u59cb\u3081\u3067\u3059\u304b\u3089\u3001\u307e\u3060\u304b\u306a\u308a\u9752\u3044\u5b9f\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u6025\u304e\u4e00\u767a\u76ee\u306e\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u4ed5\u8fbc\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2021-1\/images\/PXL_20210526_073535973_hu_fc4caecd8aa0e900.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u624b\u9806\u81ea\u4f53\u306f\u4f8b\u5e74\u3068\u305d\u3046\u5909\u308f\u308b\u30e2\u30ce\u3067\u306f\u306a\u304f\u3001\u6628\u5e74\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u3064\u3051\u3066\u3044\u305f\u7a7a\u304d\u74f6\u3092\u30a2\u30eb\u30b3\u30fc\u30eb\u3067\u6d88\u6bd2\u3057\u305f\u5f8c\u3001\u6d17\u3063\u3066\u6c34\u6c17\u3092\u5207\u308a\u3078\u305f\u3092\u53d6\u3063\u305f\u6885\u306e\u5b9f\u3068\u7802\u7cd6\u3092\u4ea4\u4e92\u306b\u7a4d\u3093\u3067\u304a\u3044\u3066\u304a\u304d\u307e\u3059\u3002<a href=\"https:\/\/blog.web-apps.tech\/ume-2020\/\">\u6628\u5e74<\/a>\n\u306f\u4e2d\u30b6\u30e9\u7cd6\u3092\u4f7f\u7528\u3057\u305f\u3001\u3068\u306e\u8a18\u9332\u304c\u3042\u308a\u307e\u3057\u305f\u304c\u4eca\u5e74\u306f\u6c17\u5206\u3067\u4e09\u6e29\u7cd6\u3092\u30bb\u30ec\u30af\u30c8\u3057\u307e\u3057\u305f\u3002\u7279\u306b\u6df1\u3044\u7406\u7531\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u4e09\u6e29\u7cd6\u306f\u3057\u3063\u3068\u308a\u3068\u3057\u3066\u304a\u308a\u3001\u7a4d\u307f\u4e0a\u3052\u308b\u306e\u3082\u5bb9\u6613\u3067\u3059\u3057\u3001\u7c89\u672b\u72b6\u306a\u306e\u3067\u9699\u9593\u306b\u3082\u5165\u3063\u3066\u3044\u304d\u3084\u3059\u304f\u53d6\u308a\u6271\u3044\u304c\u3057\u3084\u3059\u3044\u69d8\u306b\u611f\u3058\u307e\u3057\u305f\u3002\u6c37\u7802\u7cd6\u306f\u3046\u307e\u304f\u7a4d\u3093\u3067\u3044\u304f\u3053\u3068\u3092\u8003\u3048\u308b\u3068\u610f\u5916\u3068\u96e3\u3057\u3044\u3067\u3059\u3002<\/p>\n<p>\u3046\u307e\u3044\u3053\u3068\u6885\u3092\u7802\u7cd6\u306e\u4e2d\u306b\u57cb\u3081\u308b\u4e8b\u304c\u3067\u304d\u3001\u4e0a\u304b\u3089\u898b\u308b\u3068\u6885\u304c\u51fa\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u308a\u307e\u305b\u3093\u304b\u3089\u3001\u4eca\u5e74\u306f\u9162\u3092\u5165\u308c\u306a\u3044\u65b9\u91dd\u3067\u884c\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u5927\u7c92\u306e\u5b9f\u304c\u5e97\u982d\u306b\u4e26\u3073\u306f\u3058\u3081\u305f\u3089\u6885\u9152\u3082\u6f2c\u3051\u305f\u3044\u6240\u5b58\u3067\u3059\u3002<\/p>"},{"title":"\u6700\u8fd1\u306eWeb\u30ab\u30e1\u30e9\u3063\u3066\u3059\u3054\u3044\u3001\u306e\u4ef6","link":"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/","pubDate":"Sun, 16 May 2021 15:08:14 +0000","guid":"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/","description":"<p>\u3069\u3046\u3082Anker\u5927\u597d\u304d\u4eba\u9593\u3067\u3059\u3002\u30b1\u30fc\u30d6\u30eb\u985e\u306f\u5927\u4f53Anker\u3060\u3057\u3001<a href=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/\">Thunderbolt 3 Dock<\/a>\n\u3082Anker\u3060\u3057\u3001\u5145\u96fb\u5668\u3082<a href=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/\">\u30d8\u30c3\u30c9\u30db\u30f3<\/a>\n\u3082Anker\u3067\u3059\u3002<\/p>\n<p>\u305d\u3093\u306aAnker\u304b\u3089\u3001\u65b0\u3057\u304fWeb\u30ab\u30e1\u30e9\u304c\u767a\u58f2\u3055\u308c\u305f\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u8cfc\u5165\u3057\u305f\u3089\u3059\u3054\u304b\u3063\u305f\u306e\u3067\u3059\u3002<\/p>\n<p>\u8cfc\u5165\u3057\u305f\u306e\u306f<a href=\"https:\/\/amzn.to\/3tRAfUy\" target=\"_blank\" rel=\"noopener\">Anker PowerConf C300<\/a>\n\u3002Amazon\u30677,990\u5186\u3067\u8cfc\u5165\u3067\u304d\u307e\u3059\u3002<a href=\"https:\/\/amzn.to\/33PFZ6x\" target=\"_blank\" rel=\"noopener\">Logicool\u306eStreamCam<\/a>\n\u3092\u8cb7\u3044\u305f\u3044\u306a\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u306eAnker\u304b\u3089\u306e\u65b0\u5546\u54c1\u3001\u5024\u6bb5\u3082\u534a\u984d\u4ee5\u4e0b\u3001\u3068\u3044\u3046\u4e8b\u3067\u5373\u8cfc\u5165\u306b\u81f3\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/PXL_20210516_135759784_hu_c88ef7efd1886f47.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306f\u6700\u8fd1\u3088\u304f\u3042\u308b\u3074\u3063\u305f\u308a\u3067\u3057\u3063\u304b\u308a\u3057\u305f\u30bf\u30a4\u30d7\u306e\u7bb1\u3067\u3059\u3002\u3074\u3063\u305f\u308a\u3059\u304e\u3066\u958b\u3051\u308b\u306e\u306b\u3061\u3087\u3063\u3068\u6642\u9593\u304c\u304b\u304b\u308b\u5974\u3067\u3059\u306d\u3002\u9ad8\u7d1a\u611f\u306f\u3042\u308a\u307e\u3059\u3002\u5199\u771f\u3067\u306f\u3056\u3089\u3056\u3089\u3057\u305f\u304b\u3093\u3058\u306e\u30c6\u30af\u30b9\u30c1\u30e3\u3063\u307d\u304f\u898b\u3048\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u5370\u5237\u3067\u3001\u624b\u89e6\u308a\u306f\u3059\u3079\u3059\u3079\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/PXL_20210516_135917536_hu_df5d8cf1faeecea2.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u308c\u307e\u3067\u306eAnker\u88fd\u54c1\u306b\u3088\u304f\u5165\u3063\u3066\u3044\u305fHappy\/Not Happy\u30ab\u30fc\u30c9\u3067\u306f\u3042\u3093\u304f\u3001&ldquo;WHAT DO YOU THINK OUR WORK?&ldquo;\u3068\u3044\u3046\u30ab\u30fc\u30c9\u304c\u5165\u3063\u3066\u3044\u307e\u3057\u305f\u3002PowerConf\u30b7\u30ea\u30fc\u30ba\u3067\u306f\u3053\u306e\u7d19\u306a\u3093\u3067\u3057\u3087\u3046\u304b\u306d\u3002\n\u30b1\u30fc\u30d6\u30eb\u306fType-C to Type-C\u30b1\u30fc\u30d6\u30eb\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u624b\u306eWeb\u30ab\u30e1\u30e9\u306f\u672c\u4f53\u304b\u3089\u30b1\u30fc\u30d6\u30eb\u304c\u4f38\u3073\u3066\u3044\u308b\u4e8b\u304c\u591a\u3044\u306e\u3067\u3001\u30b1\u30fc\u30d6\u30eb\u4ea4\u63db\u304c\u3067\u304d\u308b\u306e\u306f\u3068\u3066\u3082\u5b09\u3057\u3044\u70b9\u3067\u3059\u306d\u3002<\/p>\n<p>\u5916\u90e8\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u4f7f\u3063\u3066\u3044\u308b\u3068\u3001Web\u30ab\u30e1\u30e9\u306f\u5927\u4f53\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306eUSB\u30dd\u30fc\u30c8\u3092\u4f7f\u3046\u3068\u601d\u3046\u3093\u3067\u3059\u304c\u3001Type-C\u304b\u3089USB-A\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u30b3\u30cd\u30af\u30bf\u3082\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u5b89\u5fc3(?)\u3067\u3059(Type-C\u306e\u4ed5\u69d8\u7684\u306b\u306f\u5168\u7136\u5b89\u5fc3\u3058\u3083\u306a\u3044\u3093\u3067\u3059\u304c)<\/p>\n<p>\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u4fdd\u8b77\u7528\u306e\u84cb\u307f\u305f\u3044\u306a\u3082\u306e\u3082\u3064\u3044\u3066\u3044\u308b\u306e\u306f\u306a\u3093\u3060\u304b\u6642\u4ee3\u3092\u611f\u3058\u3055\u305b\u307e\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/PXL_20210516_140004242_hu_f3db067ab5d9e065.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u308c\u307e\u3067\u4f7f\u3063\u3066\u3044\u305fWeb\u30ab\u30e1\u30e9\u3068\u4e26\u3079\u305f\u69d8\u5b50\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30b5\u30a4\u30ba\u306f\u7d50\u69cb\u5927\u304d\u304f\u306a\u308a\u307e\u3057\u305f\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/----------2021-05-16-23.06.18_hu_e904dec254b5ab3d.png\" alt=\"\" \/>\n<\/p>\n<p>\u53e4\u3044\u65b9\u306e\u30ab\u30e1\u30e9\u3067\u3001\u30e9\u30a4\u30c8\u3092\u3064\u3051\u306a\u3044\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3057\u305f\u3002\u4e00\u822c\u7684\u306a\u3054\u5bb6\u5ead\u306f\u5927\u4f53\u305d\u3046\u3060\u3068\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u58c1\u306b\u673a\u3092\u304f\u3063\u3064\u3051\u308b\u914d\u7f6e\u306b\u3057\u3066\u3044\u308b\u3068\u5915\u65b9\u4ee5\u964d\u9006\u5149\u306b\u306a\u308b\u3001\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308a\u3001\u9854\u304c\u3068\u3066\u3082\u6697\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/----------2021-05-16-23.06.29_hu_73b9ce219d8b5d45.png\" alt=\"\" \/>\n<\/p>\n<p>\u7d50\u679c\u3068\u3057\u3066\u3001<a href=\"https:\/\/amzn.to\/3uRrKKv\" target=\"_blank\" rel=\"noopener\">\u30e9\u30a4\u30c8<\/a>\n\u3092\u8cfc\u5165\u3057\u3066\u660e\u308b\u3055\u3092\u78ba\u4fdd\u3057\u305f\u308a\u306a\u3093\u304b\u3057\u3066\u3044\u308b\u4eba\u3082\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u79c1\u3082\u305d\u306e\u4e00\u4eba\u3067\u3057\u305f\u3002\u30e9\u30a4\u30c8\u3092\u3064\u3051\u308c\u3070\u307e\u3041\u3082\u3061\u308d\u3093\u660e\u308b\u304f\u306f\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/----------2021-05-16-23.08.32_hu_be22ea071caf97da.png\" alt=\"\" \/>\n<\/p>\n<p>\u65b0\u3057\u3044\u30ab\u30e1\u30e9\u3067\u306f\u3053\u306e\u901a\u308a\u3002\u30e9\u30a4\u30c8\u306a\u3057\u3067\u3082\u982d\u304c\u9069\u5f53\u306b\u30dc\u30b5\u30dc\u30b5\u306a\u306e\u304c\u30d0\u30ec\u3066\u6065\u305a\u304b\u3057\u3044\u304f\u3089\u3044\u306b\u306f\u660e\u308b\u304f\u6620\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u672c\u5f53\u306b\u611f\u52d5\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/images\/----------2021-05-16-23.08.40_hu_3374cbe33afe355e.png\" alt=\"\" \/>\n<\/p>\n<p>\u6bd4\u8f03\u7528\u306b\u30e9\u30a4\u30c8\u3092\u3064\u3051\u3066\u307f\u307e\u3057\u305f\u3002\u3080\u3057\u308d\u3061\u3087\u3063\u3068\u660e\u308b\u3059\u304e\u308b\u4f4d\u3067\u3059\u306d\u3002\u3053\u308c\u306f\u30e9\u30a4\u30c8\u306f\u3082\u3046\u304a\u5f79\u5fa1\u514d\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u52a0\u3048\u3066\u3001\u5c02\u7528\u306e\u30a2\u30d7\u30ea\u3067\u7d30\u304b\u3044\u8a2d\u5b9a\u3092\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002\u89e3\u50cf\u5ea6\u306e\u8abf\u6574\u3001fps\u3001\u753b\u89d2\u3001\u660e\u308b\u3055\u3084\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u306a\u3069\u304c\u8a2d\u5b9a\u3067\u304d\u308b\u307b\u304b\u3001\u4eba\u306e\u9854\u3092\u8ffd\u8de1\u3059\u308b\u3088\u3046\u306a\u8a2d\u5b9a\u3082\u3067\u304d\u307e\u3059\u3002\n\u3053\u306e\u30a2\u30d7\u30ea\u306e\u826f\u3044\u3068\u3053\u308d\u306f\u3001\u4ed6\u306e\u30e1\u30fc\u30ab\u30fc\u3067\u826f\u304f\u3042\u308b\u3088\u3046\u306a\u3001\u5e38\u99d0\u3055\u305b\u3066\u304a\u304b\u306a\u3051\u308c\u3070\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u306a\u3044\u3088\u3046\u306a\u985e\u3044\u306e\u30e2\u30ce\u3067\u306f\u306a\u304f\u3001\u8a2d\u5b9a\u3057\u305f\u3089\u30a2\u30d7\u30ea\u3092\u9589\u3058\u3066\u3082\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u7d9a\u3051\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3059\u306d\u3002<\/p>\n<p>\u7dcf\u3058\u3066\u3001\u975e\u5e38\u306b\u6e80\u8db3\u5ea6\u304c\u9ad8\u304f\u3001\u30b3\u30b9\u30c8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u512a\u308c\u305f\u5546\u54c1\u3060\u3068\u601d\u3044\u307e\u3057\u305f\u3002\u6d41\u77f3Anker\u3002<\/p>"},{"title":"RAM\u30de\u30a6\u30f3\u30c8\u3092Qi\u5bfe\u5fdc\u306b\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/","pubDate":"Tue, 27 Apr 2021 03:26:23 +0000","guid":"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/","description":"<p>\u30d0\u30a4\u30af\u4e57\u308a\u306e\u7686\u3055\u3093\u3001\u30b9\u30de\u30db\u30db\u30eb\u30c0\u30fc\u306f\u4f55\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\uff1f\u8272\u3005\u3068\u9078\u629e\u80a2\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u3057\u3063\u304b\u308a\u3068\u3057\u305f\u3082\u306e\u3092\u4f7f\u3044\u305f\u3044\u3068\u8003\u3048\u305f\u6642\u3001RAM\u30de\u30a6\u30f3\u30c8\u3092\u4f7f\u3063\u3066\u3044\u308b\u4eba\u3082\u591a\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/images\/2238DEFD-25A8-421A-A05F-3FEEA759DF11_hu_c64737922b501f63.jpeg\" alt=\"\" \/>\n<\/p>\n<p>\u52a0\u3048\u3066\u3001\u30d0\u30a4\u30af\u304b\u3089USB\u96fb\u6e90\u3092\u5f15\u3044\u3066\u30b9\u30de\u30db\u3092\u5145\u96fb\u3057\u3066\u3044\u308b\u4eba\u3082\u3044\u308b\u3067\u3057\u3087\u3046\u3002\u305d\u3046\u3057\u305f\u5834\u5408\u3001\u3069\u3053\u305e\u306b\u99d0\u8eca\u3092\u3057\u3066\u3001\u30b9\u30de\u30db\u3092\u53d6\u308a\u5916\u3059\u305f\u3073\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u629c\u3044\u3066\u3001\u307e\u305f\u8d70\u308a\u51fa\u3059\u3068\u304d\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3057\u3066\u3001\u3068\u3044\u3046\u306e\u306f\u5c11\u3057\u3070\u304b\u308a\u9762\u5012\u3058\u3083\u306a\u3044\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<p>\u4e16\u306e\u4e2d\u3001\u9762\u5012\u3060\u3068\u3044\u3046\u4e8b\u67c4\u306b\u306f\u305d\u308c\u3092\u9762\u5012\u3067\u306f\u306a\u304f\u3059\u308b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u3042\u308b\u3082\u306e\u3067\u3001\u7121\u63a5\u70b9\u5145\u96fb\u5bfe\u5fdc\u306e\u30b9\u30de\u30db\u30db\u30eb\u30c0\u30fc\u306a\u308b\u3082\u306e\u304c\u8ca9\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B083SP2KX8&linkId=3f71293fc87adf3f2f1bb3fb5b1dcdc8\"><\/iframe>\n<p>\u3053\u3046\u3044\u3063\u305f\u30e2\u30ce\u3092\u8cfc\u5165\u3057\u3066\u3082\u826f\u3044\u306e\u3067\u3059\u304c\u3001\u3084\u306f\u308a\u30b9\u30de\u30db\u3092\u3057\u3063\u304b\u308a\u30db\u30fc\u30eb\u30c9\u3057\u3066\u304f\u308c\u308b\u3068\u3044\u3046\u70b9\u3067\u3067\u304d\u308c\u3070\u5b89\u5fc3\u5b89\u5168\u306eRAM\u30de\u30a6\u30f3\u30c8\u3092\u4f7f\u3044\u7d9a\u3051\u305f\u3044\u6c17\u6301\u3061\u304c\u3042\u308a\u307e\u3057\u305f\u3002\n\u305d\u3046\u8003\u3048\u3066\u3044\u305f\u3068\u3053\u308d\u3001\u4e16\u306e\u4e2d\u306b\u306f\u9632\u6c34\u4ed5\u69d8\u306eQi\u5145\u96fb\u5668\u3068\u3044\u3046\u30e2\u30ce\u304c\u5b58\u5728\u3059\u308b\u3068\u3044\u3046\u4e8b\u3092\u77e5\u308a\u307e\u3057\u305f\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B07DHSHW37&linkId=2d8a33f90ce9a3b75231e2c8c1f432c5\"><\/iframe>\n<p>\u6b63\u76f4\u3053\u306e\u624b\u306e\u3082\u306e\u306f\u5c4b\u5185\u3067\u4f7f\u3046\u30e2\u30ce\u3060\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3001\u3069\u3046\u3044\u3046\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304c\u3042\u3063\u3066\u9632\u6c34\u4ed5\u69d8\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u306f\u3088\u304f\u5206\u304b\u3089\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u79c1\u306b\u3068\u3063\u3066\u306f\u6e21\u308a\u306b\u8239\u3001\u5e78\u3044\u306a\u3053\u3068\u306b\u8d85\u8584\u578b\u3068\u3044\u3046\u4e8b\u306a\u306e\u3067\u306a\u304a\u306e\u3053\u3068\u79c1\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b\u3074\u3063\u305f\u308a\u3068\u3044\u3046\u3053\u3068\u3067\u5546\u54c1\u304c\u3053\u3061\u3089\u3067\u3059<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/images\/IMG_20210424_135008472_hu_9871eba53256e318.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u53cb\u4eba\u306e<a href=\"https:\/\/twitter.com\/tagucch\" target=\"_blank\" rel=\"noopener\">@tagucch<\/a>\n\u306b\u8a95\u751f\u65e5\u30d7\u30ec\u30bc\u30f3\u30c8\u3068\u3057\u3066\u9001\u3063\u3066\u3082\u3089\u3044\u307e\u3057\u305f\u3002\u611f\u8b1d\u3002<\/p>\n<p><ins datetime=\"2021-05-06T01:48:00+09:00\">2021-05-06\u8ffd\u8a18: Pixel 4\u3068\u306f\u76f8\u6027\u304c\u60aa\u304b\u3063\u305f(Pixel 4\u3067\u306f\u3046\u307e\u304f\u5145\u96fb\u3067\u304d\u305a\u3001iPhone XR\u3067\u8a66\u3057\u305f\u3089\u5145\u96fb\u3067\u304d\u305f)\u305f\u3081\u3001\u672c\u54c1\u306fiPhone\u3092\u4f7f\u3063\u3066\u3044\u308b\u59b9\u306b\u8b72\u308aRAM\u30de\u30a6\u30f3\u30c8\u306f\u518d\u3073Qi\u975e\u5bfe\u5fdc\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u7121\u5ff5\u3002iPhone\u30e6\u30fc\u30b6\u306f\u672c\u5546\u54c1\u3067\u554f\u984c\u306a\u3044\u306f\u305a\u3002\u591a\u5206\u3002<\/ins><\/p>\n<p>\u6268\u3001\u5b9f\u969b\u3053\u308c\u3092RAM\u30de\u30a6\u30f3\u30c8\u306b\u8a2d\u7f6e\u3067\u304d\u308b\u304b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u304c\u554f\u984c\u3067\u3059\u304c\u30fb\u30fb\u30fb<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/images\/IMG_20210424_134929209_hu_e0c20a4f39d18d11.jpg\" alt=\"\" \/>\n<\/p>\n<p>RAM\u30de\u30a6\u30f3\u30c8\u306f\u6c4e\u7528\u306e\u30b9\u30de\u30db\u30db\u30eb\u30c0\u30fc\u3067\u3059\u306e\u3067\u3001\u3061\u3083\u3093\u3068\u4f59\u88d5\u304c\u3042\u308a\u307e\u3059\uff01\u3053\u3053\u306b\u9069\u5f53\u306b\u7a81\u3063\u8fbc\u3093\u3067\u307f\u305f\u3068\u3053\u308d\u3001\u30b9\u30de\u30db\u306e\u30db\u30fc\u30eb\u30c9\u611f\u3082\u554f\u984c\u306a\u304f\u8a2d\u7f6e\u3067\u304d\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u4f55\u6545\u304b\u4e38\u3044\u4e21\u9762\u30c6\u30fc\u30d7\u3082\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u306e\u3067\u3001\u304a\u3042\u3064\u3089\u3048\u5411\u304d\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u9069\u5f53\u306b\u4e21\u9762\u30c6\u30fc\u30d7\u3067(\u672c\u5f53\u306f\u5c4b\u5916\u7528\u306e\u4e21\u9762\u30c6\u30fc\u30d7\u3092\u4f7f\u3063\u305f\u65b9\u304c\u3044\u3044\u3093\u3067\u3057\u3087\u3046\u304c&amp;\u5c4b\u5916\u7528\u306e\u4e21\u9762\u30c6\u30fc\u30d7\u3082\u6301\u3063\u3066\u306f\u5c45\u308b\u306e\u3067\u3059\u304c)\u307a\u305f\u3063\u3068<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/images\/IMG_20210424_135229582_hu_52cfa59427006516.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3046\u307e\u304f\u8cbc\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u3053\u308c\u81ea\u4f53\u306f\u666e\u901a\u306eUSB\u7d66\u96fb\u3067\u3059\u306e\u3067\u3001\u3053\u308c\u307e\u3067\u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3057\u3066\u3044\u305fUSB\u30dd\u30fc\u30c8\u304b\u3089\u30b1\u30fc\u30d6\u30eb\u3092\u629c\u304d\u3001\u4ee3\u308f\u308a\u306bQi\u5145\u96fb\u5668\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3057\u307e\u3059\u3002<\/p>\n<p>\u30ad\u30fc\u3092\u30aa\u30f3\u306b\u3057\u3066\u30b9\u30de\u30db\u3092\u8a2d\u7f6e\u3057\u305f\u3068\u3053\u308d\u7121\u4e8b\u306b\u5145\u96fb\u3067\u304d\u307e\u3057\u305f\u3002\nRAM\u30de\u30a6\u30f3\u30c8\u306f\u4e2d\u5fc3\u90e8\u5206\u306f\u56de\u8ee2\u3057\u306a\u3044\u306e\u3067\u3001\u30b9\u30de\u30db\u306e\u53d6\u308a\u4ed8\u3051\u30fb\u53d6\u308a\u5916\u3057\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>"},{"title":"Desk Tour 2021.04","link":"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/","pubDate":"Sun, 11 Apr 2021 15:12:31 +0000","guid":"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/","description":"<p>COVID-19\u304c\u731b\u5a01\u3092\u632f\u308b\u3044\u3001\u81ea\u5b85\u3067\u52e4\u52d9\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u65e9\u4e00\u5e74\u3001\u5c11\u3057\u305a\u3064\u6a5f\u6750\u3092\u5897\u3084\u3057\u3001\u5165\u308c\u66ff\u3048\u3001\u4f5c\u696d\u74b0\u5883\u3092\u6539\u5584\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u81ea\u5206\u306e\u30c7\u30b9\u30af\u3092\u7d39\u4ecb\u3059\u308bDesk Tour\u306e\u6d41\u884c\u3082\u5c11\u3057\u843d\u3061\u7740\u3044\u305f\u3068\u3053\u308d\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u3053\u3053\u3067\u4e00\u5ea6\u30c7\u30b9\u30af\u74b0\u5883\u3092\u8a18\u9332\u304c\u3066\u3089\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"overview\">Overview<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/images\/PXL_20210411_135744662_hu_67d92f1a07823c1e.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5168\u4f53\u50cf\u3068\u3057\u3066\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30c7\u30b9\u30af\u306f<a href=\"https:\/\/www.nitori-net.jp\/ec\/feature\/combineablefreedeskprefee\/\" target=\"_blank\" rel=\"noopener\">\u30cb\u30c8\u30ea\u306e\u7d44\u307f\u5408\u308f\u305b\u30d5\u30ea\u30fc\u30c7\u30b9\u30af \u30d7\u30ec\u30d5\u30a7<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u5929\u677f\u306e\u5e45\u306f140cm\u3067\u3059\u3002\u6700\u8fd1\u8170\u75db\u304c\u30a2\u30ec\u3067\u30a2\u30ec\u306a\u306e\u3067\u3001\u6607\u964d\u30c7\u30b9\u30af\u306b\u3057\u305f\u3044\u6c17\u6301\u3061\u304c\u3042\u308a\u307e\u3059\u3002\u5199\u771f\u306b\u306f\u5199\u3063\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30a4\u30b9\u306f<a href=\"https:\/\/www.hermanmiller.com\/ja_jp\/products\/seating\/office-chairs\/aeron-chairs\/product-details\/\" target=\"_blank\" rel=\"noopener\">\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u8db3\u4e0b\u306b\u306f<a href=\"https:\/\/amzn.to\/3t8DcRb\" target=\"_blank\" rel=\"noopener\">\u30a8\u30eb\u30b4\u30ce\u30df\u30af\u30b9\u30d5\u30c3\u30c8\u30ec\u30b9\u30c8<\/a>\n\u3092\u7f6e\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306f<a href=\"https:\/\/amzn.to\/3dX3X4m\" target=\"_blank\" rel=\"noopener\">LG 27UK850-W<\/a>\n\u3068\u3044\u30464K 27\u30a4\u30f3\u30c1\u306e\u30c7\u30a3\u30b9\u30d7\u30ec\u30a42\u679a\u3092\u30e2\u30cb\u30bf\u30fc\u30a2\u30fc\u30e0(\u53f3\u304c<a href=\"https:\/\/amzn.to\/3d5IV4C\" target=\"_blank\" rel=\"noopener\">HP<\/a>\n\u3001\u53f3\u304c<a href=\"https:\/\/amzn.to\/3dX46Vs\" target=\"_blank\" rel=\"noopener\">\u30a8\u30eb\u30b4\u30c8\u30ed\u30f3<\/a>\n\u3002HP\u306e\u3082\u306e\u3082\u30a8\u30eb\u30b4\u30c8\u30ed\u30f3\u306eOEM\u5546\u54c1\u306a\u306e\u3067\u30ed\u30b4\u4ee5\u5916\u306f\u5b9f\u8cea\u540c\u3058)\u3067\u8a2d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u53f3\u306fHDMI\u63a5\u7d9a\u3001\u5de6\u306fDisplayPort\u63a5\u7d9a\u3067\u3064\u306a\u3044\u3067\u3044\u3066\u3001\u308f\u3056\u308f\u3056Type-C\u63a5\u7d9a\u306e\u30e2\u30cb\u30bf\u3092\u8cb7\u3046\u5fc5\u8981\u304c\u7121\u304b\u3063\u305f\u306a\u3001\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u30e2\u30cb\u30bf\u306e\u4e0a\">\u30e2\u30cb\u30bf\u306e\u4e0a<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/images\/PXL_20210411_135852385_hu_1271cb772f2c01c6.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30de\u30a4\u30af\u306f<a href=\"https:\/\/amzn.to\/3wNL7VZ\" target=\"_blank\" rel=\"noopener\">AKG LYRA<\/a>\n\u3067\u3059\u3002USB type-C\u3067\u63a5\u7d9a\u3059\u308b\u30bf\u30a4\u30d7\u306e\u30b3\u30f3\u30c7\u30f3\u30b5\u30de\u30a4\u30af\u3067\u3001<a href=\"https:\/\/amzn.to\/3dRjiUl\" target=\"_blank\" rel=\"noopener\">Anker\u306eType-C to Type-A\u30b1\u30fc\u30d6\u30eb<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/amzn.to\/3uEoLEE\" target=\"_blank\" rel=\"noopener\">Rode PSA1<\/a>\n\u3068\u3044\u3046\u30de\u30a4\u30af\u30a2\u30fc\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3001\u30de\u30a4\u30af\u304c\u30e2\u30cb\u30bf\u306e\u4e0a\u306b\u6765\u308b\u3088\u3046\u306b\u8a2d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30de\u30a4\u30af\u30a2\u30fc\u30e0\u306b\u306f<a href=\"https:\/\/amzn.to\/326Qh1w\" target=\"_blank\" rel=\"noopener\">SwitchBot \u6e29\u6e7f\u5ea6\u8a08<\/a>\n\u3092\u304f\u3063\u3064\u3051\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/images\/PXL_20210411_142249465_hu_257a6b6d01a70d85.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30a6\u30a7\u30d6\u30ab\u30e1\u30e9\u306f\u5927\u6614\u306b\u5b89\u304f\u8cfc\u5165\u3057\u305f<a href=\"https:\/\/www.buffalo.jp\/product\/detail\/bsw20km15bk.html\" target=\"_blank\" rel=\"noopener\">\u30d0\u30c3\u30d5\u30a1\u30ed\u30fc BSW20KM15<\/a>\n\u3068\u3044\u3046\u3082\u306e\u3092\u4f7f\u3063\u3066\u3044\u3066\u3001\u6700\u8fd1\u306e\u826f\u3044\u611f\u3058\u306e\u30a6\u30a7\u30d6\u30ab\u30e1\u30e9\u306b\u8cb7\u3044\u63db\u3048\u305f\u3044\u306a\u3001\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/amzn.to\/2QjIPNW\" target=\"_blank\" rel=\"noopener\">\u30ed\u30b8\u30af\u30fc\u30eb\u306eStreamCam<\/a>\n\u3068\u304b\u826f\u3055\u305d\u3046\u3002\u307e\u3041\u7279\u306b\u4e0d\u6e80\u306f\u611f\u3058\u3066\u3044\u306a\u3044\u3067\u3059\u304c\u3002<\/p>\n<p>\u65e5\u4e2d\u306f\u7a93\u304c\u673a\u306e\u5965\u306b\u3042\u308b\u306e\u3067\u7279\u306b\u30e9\u30a4\u30c8\u3068\u304b\u306f\u5fc5\u8981\u7121\u3044\u3093\u3067\u3059\u304c\u3001\u5915\u65b9\u306b\u306a\u308b\u3068\u3059\u3050\u6697\u304f\u306a\u308b\u306e\u3067\u30e9\u30a4\u30c8\u3082\u7528\u610f\u3057\u307e\u3057\u305f\u3002<a href=\"https:\/\/amzn.to\/2PSGIAF\" target=\"_blank\" rel=\"noopener\">Ulanzi\u306eVL49<\/a>\n\u3068\u3044\u3046\u30e9\u30a4\u30c8\u3092<a href=\"https:\/\/amzn.to\/3dO1b1u\" target=\"_blank\" rel=\"noopener\">\u306a\u3093\u304b\u3050\u306d\u3050\u306d\u3059\u308b\u3084\u3064<\/a>\n\u3067\u8a2d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30e2\u30cb\u30bf\u88cf\u306e\u30a2\u30fc\u30e0\u306b\u30af\u30ea\u30c3\u30d7(\u306e\u5f37\u3044\u5974)\u3067\u6b62\u3081\u308b\u3088\u3046\u306a\u5f62\u3067\u3059\u3002<\/p>\n<h2 id=\"\u624b\u5143\">\u624b\u5143<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/images\/PXL_20210411_135837318_hu_4c3f555e4fcf8f8d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u624b\u5143\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30c8\u30e9\u30c3\u30af\u30d1\u30c3\u30c9\u304c\u7d50\u69cb\u597d\u304d\u306a\u306e\u3067\u3001<a href=\"https:\/\/www.apple.com\/jp\/shop\/product\/MJ2R2J\/A\/magic-trackpad-2-%E3%82%B7%E3%83%AB%E3%83%90%E3%83%BC\" target=\"_blank\" rel=\"noopener\">Magic Trackpad 2<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/amzn.to\/3wLS4qC\" target=\"_blank\" rel=\"noopener\">Magic Trackpad 2\u7528\u306e\u30ea\u30b9\u30c8\u30ec\u30b9\u30c8<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30ad\u30fc\u30dc\u30fc\u30c9\u306f<a href=\"https:\/\/shop.yushakobo.jp\/products\/ergodash\" target=\"_blank\" rel=\"noopener\">Ergodash<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u6700\u8fd1<a href=\"https:\/\/shop.yushakobo.jp\/products\/ble-micro-pro\" target=\"_blank\" rel=\"noopener\">BLE Micro Pro<\/a>\n\u3067\u7121\u7dda\u5316\u3057\u307e\u3057\u305f\u3002\u914d\u7dda\u304c\u6e1b\u3063\u3066\u30c7\u30b9\u30af\u306e\u4e0a\u304c\u3059\u3063\u304d\u308a\u3057\u3001\u6700\u9ad8\u3067\u3059\u304c\u6642\u3005\u63a5\u7d9a\u304c\u4e0d\u5b89\u5b9a\u306b\u306a\u308a\u307e\u3059\u3002\u30ad\u30fc\u30dc\u30fc\u30c9\u7528\u306e\u30ea\u30b9\u30c8\u30ec\u30b9\u30c8\u306f<a href=\"https:\/\/www.diatec.co.jp\/shop\/Macaron\/\" target=\"_blank\" rel=\"noopener\">FILCO Majestouch Wrist Rest &ldquo;Macaron&rdquo;<\/a>\n\u306e17mm\u539a\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u3061\u3087\u3063\u3068\u539a\u3044\u306e\u3067\u300112mm\u306e\u65b9\u3067\u3082\u826f\u304b\u3063\u305f\u304b\u306a\u3001\u3068\u3044\u3046\u611f\u3058\u3002<\/p>\n<p>\u30b2\u30fc\u30e0\u3092\u3059\u308b\u3068\u304d\u306f<a href=\"https:\/\/amzn.to\/3mD63dH\" target=\"_blank\" rel=\"noopener\">\u30ed\u30b8\u30af\u30fc\u30eb MX Master 3 for Mac<\/a>\n\u3068<a href=\"https:\/\/amzn.to\/3a1XMes\" target=\"_blank\" rel=\"noopener\">Razer Tartarus Pro<\/a>\n\u3092\u4f7f\u3063\u3066\u307e\u3059\u3002Razer Synapse\u3001Mac\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u304f\u308c\u3002<\/p>\n<p>\u30b9\u30d4\u30fc\u30ab\u30fc\u306f<a href=\"https:\/\/amzn.to\/3mEVc3e\" target=\"_blank\" rel=\"noopener\">Fostex PM0.1e<\/a>\n\u3092\u6700\u8fd1\u8cb7\u3044\u307e\u3057\u305f\u3002\u96fb\u6e90\u30e9\u30f3\u30d7\u304c\u307e\u3076\u3057\u3059\u304e\u308b\u306e\u3067\u30b5\u30e9\u30f3\u30cd\u30c3\u30c8\u306e\u88cf\u306b\u990a\u751f\u30c6\u30fc\u30d7\u3092\u8cbc\u3063\u3066\u8abf\u6574\u3057\u3066\u3044\u307e\u3059(\u7d50\u679c\u3001\u767d\u304b\u3063\u305f\u30e9\u30f3\u30d7\u304c\u7dd1\n\u306b\u306a\u3063\u305f)\u3002\u30b2\u30fc\u30e0\u3092\u914d\u4fe1\u3059\u308b\u3068\u304d\u7b49\u306b\u4f7f\u3063\u3066\u3044\u308b\u30d8\u30c3\u30c9\u30db\u30f3\u306f<a href=\"https:\/\/amzn.to\/3t8fuEE\" target=\"_blank\" rel=\"noopener\">SoundCore Q30<\/a>\n\u3067\u3001<a href=\"https:\/\/amzn.to\/3mEPuhr\" target=\"_blank\" rel=\"noopener\">\u30d8\u30c3\u30c9\u30db\u30f3\u30e9\u30c3\u30af<\/a>\n\u306b\u3076\u3089\u4e0b\u3052\u3066\u3044\u307e\u3059\u3002\u3002<\/p>"},{"title":"switchbot-exporter\u3092\u66f8\u3044\u305f","link":"https:\/\/blog.web-apps.tech\/switchbot-exporter\/","pubDate":"Tue, 23 Mar 2021 09:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/switchbot-exporter\/","description":"<p>\u5148\u3060\u3063\u3066\u3001SwitchBot API\u306eGo\u8a00\u8a9e\u7528\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5b9f\u88c5\u3067\u3042\u308b<a href=\"https:\/\/github.com\/nasa9084\/go-switchbot\" target=\"_blank\" rel=\"noopener\">github.com\/nasa9084\/go-switchbot<\/a>\n\u3092\u66f8\u3044\u305f\u3001\u3068\u3044\u3046<a href=\"https:\/\/blog.web-apps.tech\/go-switchbot\/\">\u8a18\u4e8b<\/a>\n\u3092\u66f8\u304d\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u3092\u4f7f\u7528\u3057\u3066Prometheus\u3067<a href=\"https:\/\/www.switchbot.jp\/meter\" target=\"_blank\" rel=\"noopener\">SwitchBot\u6e29\u6e7f\u5ea6\u8a08<\/a>\n\u306e\u60c5\u5831\u3092\u53ce\u96c6\u3067\u304d\u308b<a href=\"https:\/\/github.com\/nasa9084\/switchbot-exporter\" target=\"_blank\" rel=\"noopener\">switchbot-exporter<\/a>\n\u3092\u66f8\u3044\u3066\u307f\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>switchbot-exporter\u306f<a href=\"https:\/\/github.com\/prometheus\/blackbox_exporter\" target=\"_blank\" rel=\"noopener\">blackbox exporter<\/a>\n\u306e\u3088\u3046\u306b\u3001\u8d77\u52d5\u6642\u306b\u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u6307\u5b9a\u305b\u305a\u3001Prometheus\u304c\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3059\u308b\u969b\u306brelabel_config\u3067\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u4e0e\u3048\u308b\u30bf\u30a4\u30d7\u306eexporter\u3067\u3059\u3002\n\u8d77\u52d5\u6642\u306b\u5fc5\u8981\u306a\u60c5\u5831\u306fSwitchBot\u30a2\u30d7\u30ea\u304b\u3089\u53d6\u5f97\u3067\u304d\u308bOpenToken\u306e\u307f\u3067\u3059\u3002OpenToken\u306f\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u304b\u3001\u74b0\u5883\u5909\u6570<code>SWITCHBOT_OPENTOKEN<\/code>\u7d4c\u7531\u3067\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ switchbot-exporter -switchbot.opentoken<span class=\"o\">=<\/span>blahblahblah\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># or<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nv\">SWITCHBOT_OPENTOKEN<\/span><span class=\"o\">=<\/span>blahblahblah switchbot-exporter\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><a href=\"https:\/\/hub.docker.com\/r\/nasa9084\/switchbot-exporter\" target=\"_blank\" rel=\"noopener\">docker image<\/a>\n\u3082\u7528\u610f\u3057\u3066\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u4f8b\u3048\u3070Kubernetes\u4e0a\u3067\u52d5\u304b\u3059\u3053\u3068\u3082\u3067\u304d\u307e\u3059:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nn\">---<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">apps\/v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Deployment<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">revisionHistoryLimit<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">3<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">selector<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">matchLabels<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">app<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">template<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">labels<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">app<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">containers<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">image<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">nasa9084\/switchbot-exporter:0.1.0<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">ports<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">protocol<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">TCP<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">containerPort<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">8080<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">env<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">SWITCHBOT_OPENTOKEN<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">valueFrom<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">secretKeyRef<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">key<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">opentoken<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nn\">---<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Service<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">ports<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">protocol<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">TCP<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">port<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">8080<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">targetPort<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">8080<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">selector<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">app<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">switchbot-exporter<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306b\u3057\u3066\u8d77\u52d5\u3057\u305f\u5f8c\u3001<a href=\"https:\/\/github.com\/nasa9084\/switchbot-exporter\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">README<\/a>\n\u306b\u8a18\u8f09\u306e\u3042\u308b\u3088\u3046\u306bprometheus\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059<\/p>"},{"title":"SwitchBot API\u306eGo\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3001go-switchbot\u3092\u66f8\u3044\u305f","link":"https:\/\/blog.web-apps.tech\/go-switchbot\/","pubDate":"Thu, 25 Feb 2021 03:17:53 +0000","guid":"https:\/\/blog.web-apps.tech\/go-switchbot\/","description":"<p><a href=\"https:\/\/www.switchbot.jp\/\" target=\"_blank\" rel=\"noopener\">SwitchBot<\/a>\n\u306f\u6240\u8b02IoT\u6a5f\u5668\u3092\u6271\u3063\u3066\u3044\u308b\u30e1\u30fc\u30ab\u30fc\u3067\u3001\u6e29\u5ea6\u8a08\u3092\u5c02\u7528\u306e\u30cf\u30d6\u7d4c\u7531\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u30a2\u30d7\u30ea\u304b\u3089\u5ba4\u6e29\u3092\u78ba\u8a8d\u3057\u305f\u308a\u3001\u5ba4\u6e29\u306b\u3088\u3063\u3066\u30a8\u30a2\u30b3\u30f3\u306e\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b\u3001\u306a\u3069\u3068\u3044\u3063\u305f\u30db\u30fc\u30e0\u30aa\u30fc\u30c8\u30e1\u30fc\u30b7\u30e7\u30f3\u306b\u5f79\u7acb\u3064\u30ac\u30b8\u30a7\u30c3\u30c8\u3092\u8907\u6570\u8ca9\u58f2\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u305d\u308c\u3089\u306e\u30c7\u30fc\u30bf\u3092\u78ba\u8a8d\u3067\u304d\u308b\u306e\u306fSwitchBot\u306e\u30a2\u30d7\u30ea\u304b\u3089\u304b\u3001Bluetooth\u7d4c\u7531\u3060\u3051\u3001\u3068\u3044\u3046\u72b6\u6cc1\u3067\u3001\u79c1\u3082HTTP\u306eAPI\u3092\u7528\u610f\u3057\u3066\u304f\u308c\u305f\u3089\u826f\u3044\u306e\u306b\u3001\u3068\u305a\u3063\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u3068\u3053\u308d\u304c\u6628\u65e5\u3001\u793e\u306eSlack\u3067\u3001<a href=\"https:\/\/github.com\/OpenWonderLabs\/homebridge-switchbot-ble\/issues\/1\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089\u306eissue<\/a>\n\u3092\u5171\u6709\u3057\u3066\u3082\u3089\u3044\u3001\u3069\u3046\u3084\u3089\u6628\u5e7412\u6708\u3054\u308d\u306b\u306f<a href=\"https:\/\/github.com\/OpenWonderLabs\/SwitchBotAPI\" target=\"_blank\" rel=\"noopener\">HTTP\u306eAPI<\/a>\n\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u305f\u3063\u307d\u3044\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6211\u304c\u5bb6\u306b\u306fHub Mini\u3082\u3042\u308a\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3066\u3042\u308b\u72b6\u614b\u3067\u3059\u304b\u3089\u3001\u65e9\u901f\u6b21\u306e\u624b\u9806\u3067token\u3092\u624b\u306b\u5165\u308c\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f:<\/p>\n<ol>\n<li>\u30b9\u30de\u30db\u3067SwitchBot\u306e\u30a2\u30d7\u30ea\u3092\u958b\u304f<\/li>\n<li>\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u30bf\u30d6 &gt; \u8a2d\u5b9a\u3068\u9032\u307f\u3001\u30a2\u30d7\u30ea\u30d0\u30fc\u30b8\u30e7\u30f3\u309210\u56de\u9023\u6253\u3059\u308b<\/li>\n<li>\u958b\u767a\u8005\u5411\u3051\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001\u958b\u3044\u3066\u30c8\u30fc\u30af\u30f3\u3092\u53d6\u5f97\u3059\u308b<\/li>\n<li>Authorization\u30d8\u30c3\u30c0\u306b\u30c8\u30fc\u30af\u30f3\u3092\u5165\u308c\u3001https:\/\/api.switch-bot.com\/v1.0\/devices \u306bGET\u3067\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u6295\u3052\u3066\u307f\u308b<\/li>\n<\/ol>\n<p>\u7d50\u679c\u3001\u78ba\u304b\u306b\u81ea\u5b85\u306eSwitchBot\u30c7\u30d0\u30a4\u30b9\u306e\u4e00\u89a7\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u3046\u3057\u3061\u3083\u3044\u3089\u308c\u306d\u3047\uff01\u3068\u6df1\u591c\u306b\u66f8\u3044\u305fGolang\u7528\u306eSwitchBot\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u3053\u3061\u3089\u3067\u3059:<\/p>\n<p><a href=\"https:\/\/github.com\/nasa9084\/go-switchbot\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/nasa9084\/go-switchbot<\/a>\n<\/p>\n<p>\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306fpkg.go.in\u306a\u3069\u3067\u898b\u3066\u4e0b\u3055\u3044: <a href=\"https:\/\/pkg.go.dev\/github.com\/nasa9084\/go-switchbot\" target=\"_blank\" rel=\"noopener\">https:\/\/pkg.go.dev\/github.com\/nasa9084\/go-switchbot<\/a>\n\u4eca\u56de\u306fFunctional Option Pattern\u3068Google\u3063\u307d\u3044API\u306e\u5408\u308f\u305b\u6280\u69cb\u6210\u306b\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001\u30c7\u30d0\u30a4\u30b9\u306e\u4e00\u89a7\u3092\u53d6\u5f97\u3057\u305f\u3044\u5834\u5408\u306f\u6b21\u306e\u69d8\u306b\u3059\u308b\u3068\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">client<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">switchbot<\/span><span class=\"p\">.<\/span><span class=\"nf\">New<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;SET_YOUR_SWITCHBOT_OPEN_TOKEN&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">physical<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">virtual<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">Device<\/span><span class=\"p\">().<\/span><span class=\"nf\">List<\/span><span class=\"p\">(<\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">Background<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u7b2c\u4e00\u8fd4\u5024\u306ephysical\u306fSwitchbot\u30c7\u30d0\u30a4\u30b9\u306e\u4e8b\u3067\u3001\u7b2c\u4e8c\u8fd4\u5024\u306evirtual\u306f\u8d64\u5916\u7dda\u3067\u901a\u4fe1\u3059\u308b\u30c7\u30d0\u30a4\u30b9\u306e\u4e8b\u3067\u3059\u3002SwitchBot API\u3067\u306f\u3001SwitchBot\u30c7\u30d0\u30a4\u30b9\u306e\u4e8b\u3092\u7269\u7406\u30c7\u30d0\u30a4\u30b9\u3001\u8d64\u5916\u7dda\u3067\u63a5\u7d9a\u3059\u308b\u30c7\u30d0\u30a4\u30b9(\u30a8\u30a2\u30b3\u30f3\u306a\u3069)\u306e\u3053\u3068\u3092virtual remote device\u3068\u533a\u5225\u3057\u3066\u6271\u3044\u307e\u3059\u3002<\/p>\n<p>API rate limit\u306f1,000 request \/ day\u3068\u306a\u3063\u3066\u3044\u3066\u3001\u3042\u307e\u308a\u591a\u3044\u3068\u3044\u3046\u8a33\u3067\u306f\u306a\u3044\u3067\u3059\u304c\u3001\u4f8b\u3048\u3070\u6570\u5206\u306b\u4e00\u56de\u3001\u3042\u308b\u3044\u306f\u4e00\u6642\u9593\u306b\u4e00\u56de\u5ba4\u6e29\u3092\u53d6\u3063\u3066\u8a18\u9332\u3059\u308b\u3088\u3046\u306aPrometheus Exporter\u3092\u8a18\u8ff0\u3059\u308b\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u6357\u308b\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001SwitchBot\u30c7\u30d0\u30a4\u30b9\u3092\u4f7f\u3063\u3066\u3044\u308b\u65b9\u306f\u662f\u975e\u4f7f\u3063\u3066\u307f\u3066\u4e0b\u3055\u3044\uff01<\/p>"},{"title":"Firefox 83\u3067\u5c0e\u5165\u3055\u308c\u305f\u30d4\u30f3\u30c1\u30ba\u30fc\u30e0\u3092\u7121\u52b9\u306b\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/disable-firefox-83-pinch-zoom\/","pubDate":"Tue, 02 Feb 2021 06:49:47 +0000","guid":"https:\/\/blog.web-apps.tech\/disable-firefox-83-pinch-zoom\/","description":"<p>11\u67087\u65e5\u306b\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f<a href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/83.0\/releasenotes\/\" target=\"_blank\" rel=\"noopener\">Firefox 83<\/a>\n\u3067\u306f\u3001\u30bf\u30c3\u30c1\u30b9\u30af\u30ea\u30fc\u30f3\/\u30bf\u30c3\u30c1\u30d1\u30c3\u30c9\u3092\u642d\u8f09\u3057\u305f\u30c7\u30d0\u30a4\u30b9\u3067\u306e\u30d4\u30f3\u30c1\u30ba\u30fc\u30e0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u304c\u3001\u79c1\u3068\u3057\u3066\u306f\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u305f\u3044\u3060\u3051\u306a\u306e\u306b\u30ba\u30fc\u30e0\u3055\u308c\u3066\u3057\u307e\u3063\u305f\u308a\u3068\u8aa4\u52d5\u4f5c\u304c\u591a\u304f\u3001\u4f7f\u3044\u3065\u3089\u3044\u306a\u30fc\u3068\u611f\u3058\u307e\u3057\u305f\u306e\u3067\u3001\u7121\u52b9\u5316\u3057\u307e\u3057\u305f\u304c\u3001\u8a2d\u5b9a\u753b\u9762\u304b\u3089\u306f\u7121\u52b9\u5316\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<ol>\n<li><a href=\"https:\/\/support.mozilla.org\/ja\/kb\/about-config-editor-firefox\" target=\"_blank\" rel=\"noopener\">about:config<\/a>\n\u3092\u958b\u304f<\/li>\n<li><code>zoom<\/code>\u3067\u691c\u7d22\u3057<code>apz.allow_zooming<\/code>\u3092false\u306b\u8a2d\u5b9a\u3059\u308b<\/li>\n<\/ol>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"\u30c1\u30ab\u306e\u5357\u86ee\u6f2c\u3051","link":"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/","pubDate":"Fri, 29 Jan 2021 13:17:22 +0000","guid":"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/","description":"<p>\u30c1\u30ab\u306f\u30ef\u30ab\u30b5\u30ae\u3092\u5c11\u3057\u5927\u304d\u304f\u3057\u305f\u3088\u3046\u306a\u5c0f\u578b\u306e\u9b5a\u3067\u3001\u5317\u6d77\u9053\u3067\u306f\u5272\u3068\u3088\u304f\u98df\u3079\u3066\u3044\u305f\u9b5a\u3067\u3057\u305f\u3002\u4e0a\u4eac\u3057\u3066\u304b\u3089\u306f\u307b\u3068\u3093\u3069\u58f2\u3089\u308c\u3066\u3044\u308b\u306e\u3092\u898b\u305a\u3001\u305f\u307e\u306b\u8fd1\u6240\u306e\u897f\u53cb\u3084\u6771\u6b66\u767e\u8ca8\u5e97\u6c60\u888b\u5e97\u5730\u4e0b\u306e\u9bae\u9b5a\u58f2\u308a\u5834\u3067\u58f2\u3089\u308c\u3066\u3044\u308b\u306e\u3092\u898b\u308b\u7a0b\u5ea6\u3067\u3059\u3002<\/p>\n<p>\u5929\u3077\u3089\u3084\u30d5\u30e9\u30a4\u306a\u3069\u3067\u98df\u3079\u3089\u308c\u308b\u3053\u3068\u3082\u3042\u308b\u9b5a\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u6211\u304c\u5bb6\u3067\u306f\u5c02\u3089\u5357\u86ee\u6f2c\u3051\u3068\u3057\u3066\u98df\u5353\u306b\u4e26\u3093\u3067\u3044\u307e\u3057\u305f\u3002\u30c1\u30ab\u3092\u898b\u304b\u3051\u308b\u3068\u3064\u3044\u3064\u3044\u8cb7\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3059\u304c\u3001\u4eca\u65e5\u3082\u8cb7\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u5357\u86ee\u6f2c\u3051\u306e\u7d39\u4ecb\u3092\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_081615168_hu_c14f08900e835439.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6750\u6599\u306f\u3053\u3061\u3089\u3002\u30c1\u30ab1\u30d1\u30c3\u30af(100g\u3042\u305f\u308a127\u5186\u3067\u3001250g\u304f\u3089\u3044\u5165\u3063\u3066\u3044\u307e\u3057\u305f)\u3001\u7389\u306d\u304e\u3001\u30d1\u30d7\u30ea\u30ab\u3067\u3059\u3002\u6211\u304c\u5bb6\u3067\u306f\u5b9f\u969b\u306e\u3068\u3053\u308d\u3001\u9b5a\u3088\u308a\u91ce\u83dc\u304c\u5927\u91cf\u306b\u5165\u3063\u3066\u3044\u308b\u5357\u86ee\u6f2c\u3051\u304c\u597d\u304d\u306a\u3053\u3068\u3082\u3042\u308a\u3001\u30c1\u30ab\u306b\u5bfe\u3057\u3066\u304b\u306a\u308a\u306e\u91cf\u306e\u91ce\u83dc\u3092\u5165\u308c\u307e\u3059\u3002\u7389\u306d\u304e\u306f\u6642\u671f\u7684\u306b\u65b0\u305f\u307e\u306d\u304e\u304c\u58f2\u3089\u308c\u3066\u3044\u305f\u306e\u3067\u65b0\u305f\u307e\u306d\u304e\u306b\u3057\u307e\u3057\u305f\u304c\u3001\u666e\u901a\u306e\u7389\u306d\u304e\u3067\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002\u30c1\u30ab\u3082\u58f2\u3063\u3066\u3044\u306a\u3051\u308c\u3070\u30ef\u30ab\u30b5\u30ae\u3092\u4f7f\u3046\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u30d1\u30d7\u30ea\u30ab\u306f\u6642\u671f\u304c\u60aa\u3044\u306e\u304b\u82e5\u5e72\u9ad8\u304b\u3063\u305f\u3067\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u91ce\u83dc\u3092\u5207\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_081727887_hu_dee00cdc1326639b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u308c\u3092<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_082107366_hu_2de59723cb855996.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u3046\u3057\u3066<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_083518617_hu_ca35ae7b03f59781.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u3046\u3067\u3059\u3002\u30d1\u30d7\u30ea\u30ab\u306f\u30b9\u30e9\u30a4\u30b9\u3059\u308b\u3068\u6c34\u5206\u304c\u7d50\u69cb\u51fa\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_083738890_hu_f4d3d09dfa04260c.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u306a\u3069\u3092\u6577\u3044\u305f\u30d0\u30c3\u30c8\u306b\u4e57\u305b\u3001\u8efd\u304f\u5869\u3092\u3057\u3066\u51b7\u8535\u5eab\u3067\u4f11\u307e\u305b\u3001\u5c11\u3057\u6c34\u3092\u629c\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_083914318_hu_fe8e704d78eb0dee.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6b21\u306f\u7389\u306d\u304e\u3002\u5199\u771f\u306f\u4e8c\u3064\u3067\u3059\u304c\u7d50\u5c40\u4e09\u3064\u4f7f\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_084144399_hu_accfcec415773994.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u76ae\u3092\u5265\u3044\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_084937422_hu_82dbc65c90224418.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_085220632_hu_c0451e7d006e2bc6.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30d1\u30d7\u30ea\u30ab\u3068\u540c\u3058\u304f\u3001\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u306a\u3069\u3092\u6577\u3044\u305f\u30d0\u30c3\u30c8\u306b\u8f09\u305b\u3001\u8efd\u304f\u5869\u3092\u3057\u3066\u51b7\u8535\u5eab\u3067\u5c11\u3057\u4f11\u307e\u305b\u307e\u3059\u3002\u7279\u306b\u3001\u666e\u901a\u306e\u7389\u306d\u304e\u3092\u4f7f\u3046\u5834\u5408\u306f\u7a7a\u6c17\u306b\u3055\u3089\u3059\u3053\u3068\u3067\u8f9b\u5473\u304c\u629c\u3051\u308b\u306e\u3067\u7a7a\u6c17\u306b\u89e6\u308c\u308b\u9762\u7a4d\u3092\u5e83\u304f\u3059\u308b\u3088\u3046\u306b\u307b\u3050\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_091025548_hu_1aabcdd670541538.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u306e\u3050\u3089\u3044\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u6f2c\u3051\u30c0\u30ec\u7528\u306e\u51fa\u6c41\u3092\u5f15\u3044\u3066\u304a\u304d\u307e\u3059\u3002\u9762\u5012\u306a\u3089\u51fa\u6c41\u306e\u7d20\u3092\u304a\u6e6f\u3067\u6eb6\u3044\u3066\u3082\u826f\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_085521412_hu_2aba2604fb296346.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30c1\u30ab\u306f\u8efd\u304f\u6d17\u3063\u3066\u3001\u6c34\u6c17\u3092\u3057\u3063\u304b\u308a\u5207\u308a(\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u306a\u3069\u3092\u4f7f\u3063\u3066\uff01)\u307e\u3059\u3002\u6211\u304c\u5bb6\u3067\u306f\u30ef\u30bf\u306a\u3069\u306f\u53d6\u3063\u305f\u308a\u3057\u307e\u305b\u3093\u304c\u3001\u6c17\u306b\u306a\u308b\u4eba\u306f\u8179\u3092\u958b\u3044\u3066\u30ef\u30bf\u3092\u629c\u3044\u3066\u3082\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_090221341_hu_bf824a27e9dae3ac.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4f55\u304b\u624b\u9803\u306a\u888b\u306a\u3069\u306b\u5165\u308c\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_090303340_hu_6b1a60e7db32e9e5.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7247\u6817\u7c89\u3092\u307e\u3076\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_090427099_hu_e9a4e8182ad68326.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u888b\u306b\u7a7a\u6c17\u3092\u5165\u308c\u3066\u9069\u5f53\u306b\u632f\u308b\u3068\u3046\u307e\u304f\u307e\u3076\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_091606258.MP-1_hu_932afc4217c17b31.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30d4\u30f3\u30dc\u30b1\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u6f2c\u3051\u30c0\u30ec\u3067\u3059\u3002\u7802\u7cd6\u5927\u3055\u30583\u3001\u91a4\u6cb9\u5927\u3055\u30582\u3001\u6e1b\u5869\u91a4\u6cb9\u5927\u3055\u30582(\u7121\u3051\u308c\u3070\u666e\u901a\u306e\u91a4\u6cb9\u3067\u3082OK)\u3001\u9162100cc\u3001\u51fa\u6c41200cc\u3001\u8f2a\u5207\u308a\u5510\u8f9b\u5b50\u3092\u9069\u91cf\u3067\u3059\u3002\u3053\u308c\u306b\u63da\u3052\u305f\u9b5a\u3084\u3089\u306a\u3093\u3084\u3089\u3092\u7a81\u3063\u8fbc\u3081\u3070\u5927\u4f53\u7f8e\u5473\u3057\u3044\u3067\u3059\u3002\n\u7389\u306d\u304e3\u3001\u30d1\u30d7\u30ea\u30ab2\u3060\u3068\u3001\u66f4\u306b\u3053\u306e\u500d\u91cf\u3067\u6f2c\u3051\u30c0\u30ec\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_092039376_hu_d1b04631be3e8a3b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6f2c\u3051\u30c0\u30ec\u304c\u3067\u304d\u305f\u3089\u3001\u9069\u5f53\u306b\u6e29\u3081\u305f\u6cb9\u3092\u7528\u610f\u3057\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_092123651.MP_hu_6c51016a8c33693f.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30c1\u30ab\u3092\u7a81\u3063\u8fbc\u307f\u307e\u3059\u3002\u5199\u771f\u3067\u306f\u4e09\u5339\u3057\u304b\u5165\u308c\u3066\u307e\u305b\u3093\u304c\u3001\u6e29\u5ea6\u304c\u4e0b\u304c\u308a\u3059\u304e\u306a\u3044\u3088\u3046\u306b\u9069\u5f53\u306b\u7a81\u3063\u8fbc\u307f\u307e\u3059\u3002\u3053\u306e\u5f8c\u66f4\u306b\u56db\u5339\u304f\u3089\u3044\u7a81\u3063\u8fbc\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_092545349_hu_7c7831532a3f4810.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u306a\u3093\u304b\u96f0\u56f2\u6c17\u3067\u706b\u304c\u901a\u3063\u305f\u3063\u307d\u304f\u306a\u3063\u305f\u3089\u8efd\u304f\u6cb9\u3092\u5207\u3063\u3066\u3001\u71b1\u3044\u3046\u3061\u306b\u6f2c\u3051\u30c0\u30ec\u306b\u843d\u3068\u3057\u307e\u3059\u3002\u306a\u3093\u304b\u6ce1\u304c\u5927\u304d\u304f\u306a\u3063\u3066\u304d\u305f\u308a\u3001\u826f\u3044\u611f\u3058\u306e\u8272\u304c\u3064\u3044\u305f\u308a\u3057\u3066\u304d\u305f\u3089\u706b\u304c\u901a\u3063\u305f\u3068\u601d\u3063\u3066\u5927\u4e08\u592b\u3067\u3057\u3087\u3046\u3002\u3042\u3068\u306f\u3072\u305f\u3059\u3089\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_092703506.MP_hu_7469e50d6c72b323.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u63da\u3052\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_093650909_hu_774cd8fd5d9464e8.jpg\" alt=\"\" \/>\n<\/p>\n<p>age\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_094950967_hu_8f7d2869b3f0793f.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6f2c\u3051\u30c0\u30ec\u3078\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_100201515_hu_e1f8c979657e3699.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u51b7\u8535\u5eab\u3067\u4f11\u307e\u305b\u3066\u5c11\u3057\u6c34\u5206\u3092\u629c\u3044\u305f\u91ce\u83dc\u3068\u548c\u3048\u3066\u3001<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/images\/PXL_20210129_100801232_hu_6ade5d750c270f03.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u504f\u308a\u304c\u767a\u751f\u3057\u306a\u3044\u3088\u3046\u306b\u4fdd\u5b58\u5bb9\u5668\u306b\u8a70\u3081\u308b\u306a\u308a\u76bf\u306b\u76db\u308b\u306a\u308a\u3057\u3066\u5b8c\u6210\u3067\u3059\u3002\u4e00\u6669\u304a\u3044\u305f\u304f\u3089\u3044\u304c\u4e00\u756a\u7f8e\u5473\u3057\u304f\u3066\u30014\u65e5\u7a0b\u5ea6\u306f\u65e5\u6301\u3061\u3057\u307e\u3059\u3002<\/p>"},{"title":"Soundcore Life Q30","link":"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/","pubDate":"Tue, 26 Jan 2021 06:42:34 +0000","guid":"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/","description":"<p>\u6700\u8fd1\u3001<a href=\"\">Among Us<\/a>\n\u3068\u3044\u3046\u30b2\u30fc\u30e0\u306b\u306f\u307e\u3063\u3066\u304a\u308a\u307e\u3057\u3066\u3001\u53cb\u4eba\u3068\u306e\u30d7\u30ec\u30a4\u52d5\u753b\u3092<a href=\"\">Youtube\u3067\u914d\u4fe1<\/a>\n\u306a\u305e\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u305d\u306e\u969b\u3001\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3067\u81ea\u5b85\u52e4\u52d9\u306b\u306a\u3063\u3066\u304b\u3089\u3042\u307e\u308a\u4f7f\u7528\u3055\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u30d8\u30c3\u30c9\u30db\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u307e\u3067\u4f7f\u7528\u3057\u3066\u3044\u305f\u30d8\u30c3\u30c9\u30db\u30f3\u306f\u67d0\u793e\u306e\u793e\u9577\u304b\u3089\u304a\u4e0b\u304c\u308a\u3067\u9802\u3044\u305f<a href=\"\">beats studio wireless<\/a>\n\u306a\u3093\u3067\u3059\u304c\u3001\u591a\u5c11\u5e74\u6570\u304c\u7d4c\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u306e\u3082\u3042\u308a\u3001\u5145\u96fb\u30dd\u30fc\u30c8\u304cmicroUSB type-B\u3067\u3059\u3002\u30aa\u30d5\u30a3\u30b9\u3067\u4f7f\u3063\u3066\u3044\u308b\u5206\u306b\u306f\u3001\u5c02\u7528\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u4e00\u672c\u7528\u610f\u3057\u3066\u304a\u3044\u3066\u3001\u9000\u52e4\u6642\u306b\u5145\u96fb\u3059\u308b\u3068\u3044\u3046\u904b\u7528\u3067\u3046\u307e\u304f\u3044\u3063\u3066\u3044\u305f\u3082\u306e\u306e\u3001\u3053\u3053\u3057\u3070\u3089\u304f\u306f\u81ea\u5b85\u306e\u30b1\u30fc\u30d6\u30eb\u985e\u3092\u306a\u3093\u3068\u304btype-C\u306b\u7d71\u4e00\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u305f\u3053\u3068\u3082\u76f8\u307e\u3063\u3066microUSB\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u81ea\u5b85\u3067\u51fa\u3057\u3063\u3071\u306a\u3057\u306b\u3059\u308b\u3068\u3044\u3046\u306e\u306f\u907f\u3051\u305f\u3044\u3068\u3044\u3046\u6c17\u6301\u3061\u304c\u5f37\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3093\u306a\u308f\u3051\u3067type-C\u5145\u96fb\u306e\u30d8\u30c3\u30c9\u30db\u30f3\u304c\u307b\u3057\u3044\u306a\u301c\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001beats\u306e\u65b0\u3057\u3081\u306e\u30e2\u30c7\u30eb\u306f\u76f8\u5909\u308f\u3089\u305amicroUSB\u5145\u96fb\u3067\u3001\u304b\u3068\u3044\u3063\u3066SONY\u3068\u304bBOSE\u3068\u304b\u306e\u4e0a\u4f4d\u30e2\u30c7\u30eb\u3092\u8cb7\u3046\u304b\u3068\u3044\u3046\u3068\u3001<a href=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/\">Anker PowerExpand Elite<\/a>\n\u3068\u304b\u8cb7\u3063\u3061\u3083\u3063\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u6563\u8ca1\u3057\u3059\u304e\u304b\u306a\u3001\u3068\u601d\u3063\u3066\u304a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3093\u306a\u6298\u306b\u76ee\u306b\u5165\u3063\u305f\u306e\u304c<a href=\"\">Soundcore Life Q30<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u30d8\u30c3\u30c9\u30db\u30f3\u3092\u8cfc\u5165\u3057\u3088\u3046\u3001\u3068\u601d\u3063\u305f\u3068\u304d\u306b\u500b\u4eba\u7684\u306b\u306f\u3044\u304f\u3064\u304b\u6761\u4ef6\u304c\u3042\u308a\u3001\u307e\u305a\u4e00\u3064\u306f\u4e0a\u8ff0\u306etype-C\u3067\u5145\u96fb\u3067\u304d\u308b\u3053\u3068\u3002\u52a0\u3048\u3066\u30aa\u30fc\u30d0\u30fc\u30a4\u30e4\u30fc\u578b\u3067\u3042\u308b\u3053\u3068\u3001<a href=\"\">ANC<\/a>\n\u304c\u3064\u3044\u3066\u3044\u308b\u3053\u3068\u3001\u3068\u3044\u3046\u3042\u305f\u308a\u3092\u6761\u4ef6\u3068\u3057\u307e\u3057\u305f\u3002Soundcore Life Q30\u306f\u591a\u5c11\u5f62\u304c\u597d\u307f\u3067\u306f\u306a\u3044\u611f\u3058\u304c\u3042\u308b\u3082\u306e\u306e\u3001\u3069\u3046\u305b\u57fa\u672c\u306f\u81ea\u5b85\u3067\u4f7f\u3046\u3060\u3051\u3060\u3057\u3001\u4fa1\u683c\u3082\u5b89\u3044\u3068\u3044\u3046\u4e8b\u3067\u8cfc\u5165\u306b\u8e0f\u307f\u5207\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051223360_hu_bd755fc34829060e.jpg\" alt=\"\" \/>\n<\/p>\n<p>Soundcore\u306f\u307f\u3093\u306a\u5927\u597d\u304dAnker\u306e\u30b5\u30d6\u30d6\u30e9\u30f3\u30c9(?)\u3067\u3001\u3053\u308c\u307e\u3067\u306b\u306f<a href=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/\">\u30b9\u30d4\u30fc\u30ab\u30fc<\/a>\n\u3092\u8cfc\u5165\u3057\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3057\u305f\u3002Web\u4e0a\u306e\u30ec\u30d3\u30e5\u30fc\u3082\u60aa\u304f\u306a\u304f\u3001\u6bd4\u8f03\u7684\u5b89\u5fc3\u3057\u3066\u8cfc\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051401378_hu_a141b02f3251c1d2.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306fAnker\u88fd\u54c1\u306b\u3042\u308a\u304c\u3061\u306a\u30b7\u30f3\u30d7\u30eb\u30fb\u30fb\u30fb\u3068\u3044\u3046\u8def\u7dda\u3067\u306f\u306a\u304f\u3001Soundcore\u88fd\u54c1\u306b\u3042\u308a\u304c\u3061\u306a\u5199\u771f+\u6587\u5b57\u3068\u3044\u3046\u611f\u3058\u306e\u304a\u3057\u3083\u308c\u306a\u7bb1\u3002\u6700\u8fd1(\u3068\u3044\u3063\u3066\u3082\u3082\u3046\u6570\u5e74\u5358\u4f4d\u3068\u304b\u3060\u3068\u601d\u3044\u307e\u3059\u304c)\u3053\u3046\u3044\u3046\u7bb1\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u88fd\u54c1\u591a\u3044\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051420884_hu_b1b88798f6ca95dc.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3057\u304b\u3057\u68b1\u5305\u30ec\u30d9\u30eb\u306fAnker\u3068\u3044\u3046\u611f\u3058\u3002\u30b1\u30fc\u30b9\u306b\u5165\u3063\u305f\u30d8\u30c3\u30c9\u30db\u30f3\u304c\u305d\u306e\u307e\u307e\u7bb1\u306b\u5165\u3063\u3066\u3044\u307e\u3059\u3002\u30a6\u30b1\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051437249_hu_7b210be58053c417.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051457893_hu_36c0286e2fd6e994.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051537937_hu_337db50838b1d75.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30b1\u30fc\u30d6\u30eb\u985e\u306f\u5c0f\u3055\u3044\u5dfe\u7740\u888b\u306b\u5165\u3063\u3066\u540c\u68b1\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u306e\u5dfe\u7740\u304c\u7d50\u69cb\u89e6\u308a\u5fc3\u5730\u304c\u826f\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051555602_hu_156f328fb78f346d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u30b1\u30fc\u30d6\u30eb\u306fUSB type-A to USB type-C\u30b1\u30fc\u30d6\u30eb\u3068\u3001AUX\u30b1\u30fc\u30d6\u30eb\u3067\u3059\u3002\u3053\u306eAUX\u30b1\u30fc\u30d6\u30eb\u3067\u3064\u306a\u3044\u3067\u6709\u7dda\u3067\u97f3\u697d\u3092\u8074\u3051\u3070\u30cf\u30a4\u30ec\u30be\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3068\u304b\u3002\u305d\u3093\u306a\u306b\u97f3\u8cea\u306e\u3044\u3044\u97f3\u697d\u3092\u6700\u8fd1\u306f\u8074\u304b\u306a\u3044\u306e\u3067\u3001\u3042\u307e\u308a\u610f\u5473\u306f\u7121\u3044\u3067\u3059\u304c\u3002<\/p>\n<p>\u98db\u884c\u6a5f\u3068\u304b\u3067\u7121\u7ddaNG\u306a\u6642\u306b\u97f3\u697d\u3092\u8074\u304d\u305f\u3044\u4eba\u306b\u306f\u3044\u3044\u304b\u3082\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051637356_hu_c6f167e94cca99a4.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4e2d\u306e\u4ed5\u5207\u308a\u306f\u56fa\u5b9a\u3055\u308c\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u306a\u304f\u3001\u305f\u3060\u306e\u68b1\u5305\u6750\u3060\u3063\u305f\u6a21\u69d8\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_051707985_hu_23f04fe235002a5d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u68b1\u5305\u6750\u3092\u5916\u3057\u3066\u3057\u307e\u3046\u3068\u53ce\u7d0d\u65b9\u6cd5\u304c\u5206\u304b\u3089\u306a\u304f\u306a\u308a\u305d\u3046\u3067\u3059\u304c\u3001\u305d\u3046\u3044\u3063\u305f\u53ef\u80fd\u6027\u3082\u8003\u616e\u3057\u3066\u304b\u53ce\u7d0d\u65b9\u6cd5\u306e\u30bf\u30b0\u304c\u3064\u3044\u3066\u307e\u3057\u305f\u3002\u5b89\u5fc3\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/images\/PXL_20210126_053643159_hu_33342bb27a352fc5.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u88c5\u7740\u611f\u3068\u3057\u3066\u306f\u5074\u5727\u304c\u7d50\u69cb\u3084\u3055\u3057\u3081\u306a\u69d8\u306b\u611f\u3058\u307e\u3059\u3002\u773c\u93e1\u3092\u304b\u3051\u3066\u6570\u6642\u9593\u88c5\u7740\u3057\u3066\u3082\u75db\u304f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u307e\u3060\u4f7f\u3044\u59cb\u3081\u306a\u306e\u3067\u97f3\u8cea\u7b49\u306f\u30ec\u30d3\u30e5\u30fc\u3067\u304d\u307e\u305b\u3093\u304c\u3001\u4ee5\u4e0a\u3001\u958b\u5c01\u30ec\u30d3\u30e5\u30fc\u3067\u3057\u305f\u3002<\/p>"},{"title":"Anker PowerExpand Elite 13-in-1 Thunderbolt 3 Dock","link":"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/","pubDate":"Fri, 22 Jan 2021 07:47:47 +0000","guid":"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/","description":"<p>Anker\u304c\u6700\u8fd1(\u3068\u3044\u3063\u3066\u3082\u56fd\u5185\u306e\u8ca9\u58f2\u958b\u59cb\u306f12\u6708\u4e2d\u65ec\u9803\u3060\u3063\u305f\u306f\u305a\u306a\u306e\u3067\u3001\u304b\u308c\u3053\u308c\u4e00\u30f6\u6708\u306f\u7d4c\u904e\u3057\u3066\u3044\u308b)\u767a\u58f2\u3057\u305f\u3001PowerExpand Elite 13-in-one Thunderbolt 3 Dock\u3092\u8cfc\u5165\u3057\u305f\u306e\u3067\u3001unboxing &amp; review note\u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/product_hu_f17c737533b01585.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5b9f\u306f\u3053\u306e\u5546\u54c1\u81ea\u4f53\u306f\u6d77\u5916\u3067\u306f\u5927\u5206\u524d\u306b\u767a\u58f2\u3055\u308c\u3066\u304a\u308a\u3001\u500b\u4eba\u7684\u306b\u306f\u56fd\u5185\u306e\u767a\u58f2\u3092\u4eca\u304b\u4eca\u304b\u3068\u5f85\u3061\u671b\u3093\u3067\u3044\u305f\u5f62\u3067\u3057\u305f\u3002\u767a\u58f2\u5373\u8cfc\u5165\u30fb\u30fb\u30fb\u3068\u3044\u304d\u305f\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u3053\u306fAnker\u3002\u826f\u3055\u305d\u3046\u306a\u65b0\u5546\u54c1\u306f\u3059\u3050\u306b\u5b8c\u58f2\u3068\u76f8\u6210\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u3053\u306e\u5546\u54c1\u3092\u9078\u3093\u3060\u306e\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7406\u7531\u304c\u3042\u308a\u307e\u3059:<\/p>\n<ul>\n<li>USB Type-C\u30dd\u30fc\u30c8\u304c\u8907\u6570\u3042\u308b\n<ul>\n<li>USB Type-C\u30dd\u30fc\u30c8\u304c4\u3064\u3042\u308a\u3001\u3046\u3061\u4e8c\u3064\u306fThunderbolt 3\u30dd\u30fc\u30c8\u3067\u3059\u3002\u4e00\u3064\u306fPC\u3068\u3064\u306a\u3050\u3053\u3068\u306b\u306a\u308b\u305f\u3081\u3001\u90fd\u54082\u3064USB Type-C\u306e\u30dd\u30fc\u30c8\u304c\u5897\u3048\u308b\u8a08\u7b97\u306b\u306a\u308a\u307e\u3059\u3002\u5f0a\u5b85\u3067\u306f\u30b1\u30fc\u30d6\u30eb\u3092\u3067\u304d\u308b\u3060\u3051USB Type-C to USB Type-C\u306b\u7d71\u4e00\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u305f\u3081\u3001USB Type-C\u30dd\u30fc\u30c8\u3092\u5897\u3084\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3068\u3044\u3046\u306e\u304c\u6700\u512a\u5148\u4e8b\u9805\u3067\u3057\u305f\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u4f59\u8a08\u306a\u30dd\u30fc\u30c8\u304c\u5c11\u306a\u3044\n<ul>\n<li>USB Type-C\u30dd\u30fc\u30c8\u3092\u5897\u3084\u3059\u3068\u3044\u3046\u306e\u304c\u4e3b\u76ee\u7684\u306a\u305f\u3081\u3001\u591a\u304f\u306e\u30c9\u30c3\u30af\u306b\u3042\u308a\u304c\u3061\u306a\u300c\u3044\u308d\u3093\u306a\u30dd\u30fc\u30c8\u304c\u3064\u3044\u3066\u308b\u3088\uff01\u300d\u306f\u7121\u99c4\u3067\u3057\u304b\u306a\u3044\u3068\u3044\u3046\u6c17\u6301\u3061\u3067\u3057\u305f\u3002\u5149\u30c7\u30b8\u30bf\u30eb\u30aa\u30fc\u30c7\u30a3\u30aa\u3084SD\u30ab\u30fc\u30c9\u3001USB Type-A\u3084Ethernet\u3082\u6b63\u76f4\u4e0d\u8981\u3067\u3059\u3002\u304c\u3001\u4e16\u306e\u4e2d\u306e\u4eba\u306f\u305f\u304f\u3055\u3093\u30dd\u30fc\u30c8\u304c\u3064\u3044\u3066\u3044\u308b\u3082\u306e\u3092\u307b\u3057\u304c\u3063\u3066\u3044\u308b\u306e\u304b\u3001Type-C\u306e\u30dd\u30fc\u30c8\u3092\u5897\u3084\u3059\u3060\u3051\u3001\u3068\u3044\u3046\u7269\u306f\u307b\u307c\u5b58\u5728\u3057\u3066\u304a\u3089\u305a\u30fb\u30fb\u30fb<\/li>\n<\/ul>\n<\/li>\n<li>\u6bd4\u8f03\u7684\u5c0f\u3055\u3044\n<ul>\n<li>\u4e16\u306e\u4e2d\u306e\u30c9\u30c3\u30af\u306f\u5927\u304d\u3044\u3093\u3067\u3059\u3002USB Type-C\u30dd\u30fc\u30c8\u3092\u5897\u3084\u3057\u305f\u3044\u3060\u3051\u306a\u306e\u306b(\u4ee5\u4e0b\u7565<\/li>\n<\/ul>\n<\/li>\n<li>\u6bd4\u8f03\u7684\u5b89\u3044\n<ul>\n<li>\u5927\u4f53\u3053\u306e\u30b9\u30da\u30c3\u30af(Thunderbolt 3 dock)\u3060\u3068\u7d043\u4e07\u3068\u3044\u3046\u306e\u306f\u6700\u3082\u5b89\u3044\u65b9\u306e\u5024\u6bb5\u3067\u3001\u9ad8\u3044\u7269\u3060\u30684\u4e07\u301c5\u4e07\u7a0b\u5ea6\u3057\u307e\u3059\u3002\u540c\u6642\u306b\u767a\u58f2\u3055\u308c\u305fThunderbolt 3\u3067\u306f\u306a\u3044\u307b\u3046\u306e\u30c9\u30c3\u30af\u306f2\u4e07\u5186\u7a0b\u5ea6\u3067\u3059\u304c\u3001Type-C\u30dd\u30fc\u30c8\u304c\u5c11\u306a\u3044\u306e\u3067\u3059\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/cabling_hu_22f4776d4d5c2be2.png\" alt=\"\" \/>\n<\/p>\n<p>\u73fe\u5728\u306e\u914d\u7dda\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u6700\u521d\u3001PowerExpand - \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u9593\u3082type-C to type-C\u30b1\u30fc\u30d6\u30eb\u3067\u3064\u306a\u3044\u3067\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u4f55\u304b\u9045\u5ef6\u304c\u3042\u308b\u306e\u304b\u3001\u30ab\u30af\u3064\u3044\u3066\u3044\u308b\u306e\u304b\u3001\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u306e\u52d5\u304d\u306b\u9055\u548c\u611f\u304c\u3059\u3054\u304b\u3063\u305f\u306e\u3067\u3001\u8a66\u3057\u306bHDMI\u3067\u3064\u306a\u3044\u3067\u307f\u305f\u3068\u3053\u308d\u3001\u9055\u548c\u611f\u304c\u306a\u304f\u306a\u3063\u305f\u305f\u3081HDMI\u3067\u306e\u63a5\u7d9a\u3068\u3057\u307e\u3057\u305f\u3002\u30a6\u30a7\u30d6\u30ab\u30e1\u30e9\u306f\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306etype-A\u30dd\u30fc\u30c8\u306b\u3064\u306a\u3044\u3067\u304a\u308a\u3001\u3053\u308c\u3092PowerExpand\u307e\u3067\u5f15\u304d\u5ef6\u3070\u3059\u3068\u53d6\u308a\u56de\u3057\u304c\u826f\u304f\u306a\u3055\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u3001\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3068PowerExpand\u306e\u9593\u306b\u3082\u3046\u4e00\u672ctype-A to type-C\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u914d\u7dda\u3057\u3001\u30a6\u30a7\u30d6\u30ab\u30e1\u30e9\u306f\u5f15\u304d\u7d9a\u304d\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u30c0\u30a6\u30f3\u30b9\u30c8\u30ea\u30fc\u30e0\u30dd\u30fc\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3068\u3044\u3046\u5f62\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u73fe\u72b6\u30de\u30a4\u30af(AKG Lyra)\u3068\u30ad\u30fc\u30dc\u30fc\u30c9(Ergodash)\u304cPC\u306b\u76f4\u63a5\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092PowerExpand\u306b\u63a5\u7d9a\u3059\u308b\u5f62\u306b\u307e\u3068\u3081\u3089\u308c\u308c\u3070\u3001PC\u306e\u30dd\u30fc\u30c8\u306f\u4e00\u3064\u3067\u6e08\u3080\u3068\u3044\u3046\u4e8b\u306b\u306a\u308a\u3001\u53d6\u308a\u56de\u3057\u304c\u975e\u5e38\u306b\u697d\u306b\u306a\u308a\u305d\u3046\u3067\u3059\u3002\u30de\u30a4\u30af\u306ftype-C\u63a5\u7d9a\u306a\u306e\u3067\u305d\u306e\u307e\u307e\u7279\u306b\u554f\u984c\u306a\u304f\u63a5\u7d9a\u3067\u304d\u305d\u3046\u3067\u3059\u304c\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u306fmicro-B\u306a\u306e\u3067\u3001\u4eca\u66f4micro-B\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u5897\u3084\u3057\u305f\u304f\u3082\u306a\u3044\u3067\u3059\u3057\u3001\u3069\u3046\u3059\u308b\u304b\u306f\u3061\u3087\u3063\u3068\u691c\u8a0e\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0bunboxing\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023730942-1_hu_82eec802daabc620.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023738621_hu_24f9937f9a9b761e.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023801087_hu_5d37cd4cb2b39859.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023824554_hu_ee4cf15e1408029d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023912747_hu_2c7c903831cc9a3b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023925651_hu_a1703a4e66ed1bbb.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023951313_hu_f2e6f7516ec6be3d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_024057681.NIGHT_hu_f6cd6f1c59b2748d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_024110717_hu_eb80a5a5ab6edb98.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_064950710_hu_70cc615da6ac0542.jpg\" alt=\"\" \/>\n<\/p>"},{"title":"2020\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u7269","link":"https:\/\/blog.web-apps.tech\/2020-good-buy\/","pubDate":"Wed, 23 Dec 2020 16:38:13 +0000","guid":"https:\/\/blog.web-apps.tech\/2020-good-buy\/","description":"<p>\u4e16\u9593\u306e\u6ce2\u306b\u4e57\u3063\u3066\u3001\u66f8\u3044\u3066\u307f\u308b\u3002<\/p>\n<h2 id=\"\u30ac\u30b8\u30a7\u30c3\u30c8\u985e\">\u30ac\u30b8\u30a7\u30c3\u30c8\u985e<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3he1TpV\" target=\"_blank\" rel=\"noopener\">Anker PowerWave 10 Pad(\u6539\u5584\u7248)<\/a>\n<ul>\n<li>\u30ef\u30a4\u30e4\u30ec\u30b9\u5145\u96fb\u5668\u306f\u5b89\u7269\u3060\u3063\u305f\u308a\u3001\u30ce\u30d9\u30eb\u30c6\u30a3\u3067\u3082\u3089\u3063\u305f\u7269\u3060\u3063\u305f\u308a\u3057\u304b\u4f7f\u3063\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u305f\u3081\u3042\u307e\u308a\u3044\u3044\u5370\u8c61\u304c\u306a\u304b\u3063\u305f\u304c(\u3068\u3044\u3063\u3066\u3082\u3053\u308c\u3082\u5225\u306b\u9ad8\u304f\u306f\u306a\u3044\u3051\u3069)\u3001\u6539\u3081\u3066\u3061\u3083\u3093\u3068\u8cb7\u3063\u3066\u898b\u305f\u3089\u5145\u96fb\u901f\u5ea6\u3082\u5341\u5206\u3067\u304b\u306a\u308a\u826f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/2WIaOGI\" target=\"_blank\" rel=\"noopener\">\u30b5\u30f3\u30ef\u30b5\u30d7\u30e9\u30a4\u30b1\u30fc\u30d6\u30eb\u30c8\u30ec\u30fc(\u30e1\u30c3\u30b7\u30e5\u30fb\u6c4e\u7528\u30bf\u30a4\u30d7) CB-CT5<\/a>\n<ul>\n<li>\u30af\u30e9\u30f3\u30d7\u3067\u30c7\u30b9\u30af\u4e0b\u306b\u4ed8\u3051\u308b\u30bf\u30a4\u30d7\u306e\u30b1\u30fc\u30d6\u30eb\u30c8\u30ec\u30fc\u3002\u30c7\u30b9\u30af\u306e\u4e0a\u304c\u5927\u5206\u3059\u3063\u304d\u308a\u3057\u305f\u3002\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u914d\u7dda\u3060\u3051\u306f\u73fe\u72b6\u3069\u3046\u3057\u3088\u3046\u3082\u306a\u3044\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u3057\u305f\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3mHYLUE\" target=\"_blank\" rel=\"noopener\">\u30b9\u30ea\u30e0\u306a\u4eba\u9593\u5de5\u5b66\u7684\u306a\u30ea\u30b9\u30c8\u30ec\u30b9\u30c8\u30de\u30b8\u30c3\u30af\u30c8\u30e9\u30c3\u30af\u30d1\u30c3\u30c92\u4e16\u4ee3<\/a>\n<ul>\n<li>\u660e\u3089\u304b\u306b\u30a2\u30ec\u3063\u307d\u3044\u611f\u3058\u306e\u5546\u54c1\u540d\u3067\u3001\u5b9f\u969b\u68b1\u5305\u306e\u611f\u3058\u304c\u30a2\u30ec\u3060\u3063\u305f\u3051\u3069\u5546\u54c1\u81ea\u4f53\u306f\u305d\u3053\u305d\u3053\u3061\u3083\u3093\u3068\u3057\u3066\u308b\u3002\u673a\u3068\u306e\u76f8\u6027\u304c\u826f\u304f\u306a\u3044\u306e\u304b\u3001\u624b\u9996\u304c\u304b\u3086\u304f\u306a\u308b\u4e8b\u304c\u3061\u3087\u3044\u3061\u3087\u3044\u3042\u3063\u305f\u3051\u3069\u3001\u3053\u308c\u3092\u4f7f\u3044\u59cb\u3081\u3066\u304b\u3089\u306f\u305d\u3046\u3044\u3063\u305f\u3053\u3068\u3082\u7121\u304f\u306a\u3063\u305f\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3mKfFll\" target=\"_blank\" rel=\"noopener\">Twelve South BookArc for MacBook (Space Grey)<\/a>\n<ul>\n<li>\u7d50\u69cb\u305a\u3063\u3068\u307b\u3057\u304b\u3063\u305f\u3082\u306e\u306e\u3001\u30b9\u30bf\u30f3\u30c9\u3060\u3051\u3067\u3053\u306e\u5024\u6bb5\u306f\u30fb\u30fb\u30fb\u3068\u601d\u3063\u3066\u305f\u3081\u3089\u3063\u3066\u3044\u305f\u304c\u3001\u6700\u7d42\u7684\u306b\u8cfc\u5165\u3057\u3001\u673a\u306e\u4e0a\u304c\u5e83\u304f\u306a\u3063\u305f\u306e\u3067\u5927\u5909\u6e80\u8db3\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30e1\u30ac\u30cd\u95a2\u9023\">\u30e1\u30ac\u30cd\u95a2\u9023<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/2WInXQ5\" target=\"_blank\" rel=\"noopener\">SIMON \u30a2\u30f3\u30c1\u30d5\u30a9\u30b0<\/a>\n<ul>\n<li>\u3053\u306e\u3054\u6642\u4e16\u3001\u30e1\u30ac\u30cd\u3092\u3057\u3066\u3044\u308b\u4eba\u306f\u7d76\u5bfe\u8cb7\u3063\u305f\u65b9\u304c\u826f\u3044\u3002\u3053\u308c\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u3067\u300c\u30de\u30b9\u30af\u3059\u308b\u3068\u773c\u93e1\u304c\u66c7\u308b\u304b\u3089\u30fb\u30fb\u30fb\u300d\u3068\u3044\u3046\u306e\u306f\u7518\u3048\u3002\u30de\u30b8\u3067\u5168\u304f\u66c7\u3089\u306a\u304f\u306a\u308a\u4e16\u754c\u304c\u5909\u308f\u308b\u306e\u3067\u3001\u6700\u5bc4\u308a\u306e\u30d3\u30c3\u30af\u30ab\u30e1\u30e9 or amazon\u3067\u5373\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3hdLrWJ\" target=\"_blank\" rel=\"noopener\">\u30e1\u30ac\u30ed\u30c3\u30af \u30df\u30cb<\/a>\n<ul>\n<li>\u8efd\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u3067\u3001\u8996\u529b\u304c\u60aa\u304f\u3066\u8584\u578b\u30ec\u30f3\u30ba\u306b\u3057\u3066\u3044\u308b\u3072\u3068\u306b\u7279\u306b\u30aa\u30b9\u30b9\u30e1\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u30ad\u30c3\u30c1\u30f3\u7528\u54c1\u985e\">\u30ad\u30c3\u30c1\u30f3\u7528\u54c1\u985e<\/h2>\n<ul>\n<li><a href=\"https:\/\/amzn.to\/3nMD8nd\" target=\"_blank\" rel=\"noopener\">Iwatani \u305f\u3053\u713c\u304d\u30d7\u30ec\u30fc\u30c8 CB-P-TAF<\/a>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3hdkPVW\" target=\"_blank\" rel=\"noopener\">Iwatani \u713c\u8089\u30d7\u30ec\u30fc\u30c8\u5c0f CB-P-Y2<\/a>\n<ul>\n<li>\u6211\u304c\u5bb6\u3067\u4f7f\u7528\u3057\u3066\u3044\u308bIwatani\u306e\u30ab\u30bb\u30c3\u30c8\u30b3\u30f3\u30ed\u3092\u30db\u30c3\u30c8\u30d7\u30ec\u30fc\u30c8\u306e\u3054\u3068\u304f\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u713c\u304d\u8089\u30d7\u30ec\u30fc\u30c8\u3068\u305f\u3053\u713c\u304d\u30d7\u30ec\u30fc\u30c8\u3002\u5927\u962a\u306e\u4eba\u304c\u300c\u305f\u3053\u713c\u304d\u306f\u7d76\u5bfe\u30ac\u30b9\u706b\u3067\u4f5c\u3063\u305f\u65b9\u304c\u3044\u3044\u300d\u3068\u3044\u3046\u6c17\u6301\u3061\u3082\u5206\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3057\u3001\u3061\u3083\u3093\u3068\u6cb9\u304c\u4e0b\u306b\u843d\u3061\u308b\u713c\u304d\u8089\u30d7\u30ec\u30fc\u30c8\u306f\u304b\u306a\u308a\u5feb\u9069\u3002\u30db\u30c3\u30c8\u30d7\u30ec\u30fc\u30c8\u3068\u9055\u3063\u3066\u3001\u71b1\u6e90\u3068\u30d7\u30ec\u30fc\u30c8\u304c\u5225\u58f2\u306e\u3082\u306e\u306a\u306e\u3067\u3001\u3069\u3061\u3089\u304b\u304c\u4f7f\u3048\u306a\u304f\u306a\u3063\u3066\u3082\u30c0\u30e1\u306b\u306a\u3063\u305f\u7269\u3060\u3051\u8cb7\u3044\u63db\u3048\u308c\u3070\u3088\u3044\u3001\u3068\u3044\u3046\u306e\u3082\u5927\u5909\u3088\u3044\u3068\u3053\u308d\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/2KM3NSG\" target=\"_blank\" rel=\"noopener\">\u8c9d\u5370 \u30d0\u30bf\u30fc\u30b1\u30fc\u30b9<\/a>\n<ul>\n<li>\u30d0\u30bf\u30fc\u30b1\u30fc\u30b9\u3068\u3044\u3046\u3088\u308a\u3001\u30d0\u30bf\u30fc\u30ab\u30c3\u30bf\u30fc\u3068\u3057\u3066\u4f7f\u7528\u3002\u30ab\u30c3\u30c8\u3057\u305f\u5f8c\u306e\u30d0\u30bf\u30fc\u306f<a href=\"https:\/\/amzn.to\/37Hi5Nw\" target=\"_blank\" rel=\"noopener\">\u5c71\u5d0e\u5b9f\u696d \u30d0\u30eb\u30d6\u4ed8\u304d\u5bc6\u9589\u30d0\u30bf\u30fc\u30b1\u30fc\u30b9<\/a>\n\u306b\u5165\u308c\u3066\u3044\u308b\u3002\u500b\u5305\u88c5\u306e\u30ab\u30c3\u30c8\u6e08\u307f\u30d0\u30bf\u30fc\u3088\u308a\u5b89\u304f\u3001\u540c\u7a0b\u5ea6\u306e\u5229\u4fbf\u6027\u3092\u5f97\u3089\u308c\u308b\u306e\u3067\u30d0\u30bf\u30fc\u3092\u3088\u304f\u4f7f\u3046\u4eba\u306b\u30aa\u30b9\u30b9\u30e1\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3nJGbNe\" target=\"_blank\" rel=\"noopener\">OXO \u30b7\u30ea\u30b3\u30f3 \u30b9\u30d1\u30c1\u30e5\u30e9 M<\/a>\n<ul>\n<li>\u5b9f\u5bb6\u306b\u3044\u305f\u3068\u304d\u306f\u30b4\u30e0\u3079\u3089\u306a\u3093\u3066\u88fd\u83d3\u306e\u6642\u306b\u3057\u304b\u4f7f\u308f\u306a\u3044\u3068\u601d\u3063\u3066\u3044\u305f\u3051\u3069\u3001\u6599\u7406\u306b\u4f7f\u3063\u3066\u3082\u4fbf\u5229\u3068\u8a00\u3046\u3053\u3068\u3092\u5b9f\u5bb6\u3092\u96e2\u308c\u3066\u304b\u3089\u77e5\u3063\u305f\u306e\u3067\u3001100\u5186\u306e\u3058\u3083\u306a\u304f\u3066\u305d\u3053\u305d\u3053\u3061\u3083\u3093\u3068\u3057\u305f\u306e\u3092\u8cb7\u3063\u305f\u3002\u6eb6\u3051\u308b\u5fc3\u914d\u3082\u7121\u3044\u3057(100\u5186\u306e\u306f\u67c4\u304c\u6eb6\u3051\u305d\u3046)\u3001\u4f7f\u3044\u3084\u3059\u3044\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/34EPxCc\" target=\"_blank\" rel=\"noopener\">\u8d85\u5f37\u529b \u30de\u30b0\u30cd\u30c3\u30c8\u30d5\u30c3\u30af Cosego 6\u500b\u5165<\/a>\n<ul>\n<li>\u3053\u3061\u3089\u3082100\u5186\u306e\u7269\u304b\u3089\u8cb7\u3044\u63db\u3048\u3002\u78c1\u529b\u3082\u5f37\u304f\u3001\u5272\u3068\u4f55\u3067\u3082\u639b\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u4fbf\u5229\u30024\u4eba\u524d\u7528\u306e\u30d1\u30a8\u30ea\u30a2\u30d1\u30f3\u304f\u3089\u3044\u306e\u91cd\u3055\u306b\u306a\u308b\u3068\u3001\u4e00\u3064\u3067\u306f\u652f\u3048\u304d\u308c\u306a\u304f\u306a\u308b\u7a0b\u5ea6\u306e\u529b\u304c\u3042\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/3hpTcJz\" target=\"_blank\" rel=\"noopener\">\u5c71\u5d0e\u5b9f\u696d \u6238\u68da\u4e0b\u8abf\u5473\u6599\u30e9\u30c3\u30af<\/a>\n<ul>\n<li>\u7d30\u304b\u3044\u8abf\u5473\u6599\u985e(<a href=\"https:\/\/amzn.to\/3mNHqtg\" target=\"_blank\" rel=\"noopener\">\u3053\u3046\u3044\u3046\u306e<\/a>\n\u3068\u304b<a href=\"https:\/\/amzn.to\/3ppMk1z\" target=\"_blank\" rel=\"noopener\">\u3053\u3046\u3044\u3046\u306e<\/a>\n\u3001\u306a\u304a\u3053\u308c\u3089\u306f\u3042\u307e\u308a\u826f\u304f\u306a\u304b\u3063\u305f)\u3092\u7f6e\u3044\u3066\u304a\u304f\u306e\u306b\u4fbf\u5229\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>"},{"title":"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306f\u3061\u3083\u3093\u3068\u53d6\u308a\u307e\u3057\u3087\u3046\u3001\u3068\u3044\u3046\u8a71","link":"https:\/\/blog.web-apps.tech\/we-need-backup\/","pubDate":"Tue, 06 Oct 2020 06:18:33 +0000","guid":"https:\/\/blog.web-apps.tech\/we-need-backup\/","description":"<p>\u8af8\u822c\u306e\u4e8b\u60c5\u30fb\u30fb\u30fb\u3068\u3044\u3046\u304b\u5358\u7d14\u306b\u672c\u30d6\u30ed\u30b0\u3092\u52d5\u304b\u3057\u3066\u3044\u305f\u30b5\u30fc\u30d0\u30fc\u304c\u3069\u3046\u3084\u3089\u58ca\u308c\u305f\u3088\u3046\u3067(\u3059\u3050\u306b\u4f5c\u696d\u3067\u304d\u308b\u5834\u6240\u306b\u7f6e\u3044\u3066\u306a\u3044)\u3001\u3068\u308a\u3042\u3048\u305a\u30af\u30e9\u30a6\u30c9\u4e0a\u306b\u540c\u3058\u3088\u3046\u306a\u74b0\u5883\u3092\u4f5c\u3063\u3066\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089\u30ea\u30b9\u30c8\u30a2\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u6700\u5f8c\u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u53d6\u3063\u3066\u304b\u3089\u4f55\u672c\u304b\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u305f\u7269\u304c\u6d88\u5931\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u7686\u3055\u3093\u3061\u3083\u3093\u3068\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306f\u5b9a\u671f\u7684\u306b\u3068\u308a\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"Rakuten Mini unpacking","link":"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/","pubDate":"Sat, 13 Jun 2020 11:27:54 +0000","guid":"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/","description":"<p>\u6628\u65e5\u3001\u4f55\u304b\u3068\u4eca\u8a71\u984c\u306e<a href=\"https:\/\/network.mobile.rakuten.co.jp\/product\/smartphone\/rakuten-mini\/\" target=\"_blank\" rel=\"noopener\">Rakuten Mini (C330)<\/a>\n\u304c\u5c4a\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u958b\u5c01\u30fb\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_172921_hu_8afa23328896e823.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5916\u7bb1\u306f\u30b7\u30f3\u30d7\u30eb\u306a\u611f\u3058\u3002\u3053\u306e\u30bf\u30a4\u30d7\u306e\u7bb1\u3001\u6700\u8fd1\u6d41\u884c\u3067\u3059\u306d\u3002\u5c4a\u3044\u305f\u5185\u5bb9\u7269\u3068\u3057\u3066\u306f\u3001<\/p>\n<ul>\n<li>Rakuten Mini<\/li>\n<li>Rakuten Mini\u521d\u671f\u8a2d\u5b9a\u65b9\u6cd5\u306e\u3054\u6848\u5185<\/li>\n<li>Rakuten Mobile eSIM\u7248 START GUIDE<\/li>\n<\/ul>\n<p>\u306e\u4e09\u3064\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_172937_hu_f5cc18fa542d04dc.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306e\u5e95\u9762\u306b\u306f\u4f55\u3082\u66f8\u3044\u3066\u3042\u308a\u307e\u305b\u3093\u3002\u3061\u3087\u3063\u3068\u4f5c\u308a\u304c\u7518\u3044\u3068\u3044\u3046\u304b\u3001\u84cb\u304c\u5927\u304d\u3044\u3088\u3046\u306b\u898b\u3048\u307e\u3059\u3002\u304c\u3001Apple\u306e\u4f5c\u308a\u306e\u826f\u3044\u7bb1\u3068\u304b\u306f\u3074\u3063\u305f\u308a\u3059\u304e\u3066\u3061\u3087\u3063\u3068\u958b\u3051\u306b\u304f\u3044\u306e\u3067\u3001\u3053\u308c\u304f\u3089\u3044\u7de9\u3044\u65b9\u304c\u3080\u3057\u308d\u958b\u3051\u3084\u3059\u3044\u304b\u3082\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_173001_hu_77479cd4b8586f62.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u958b\u3051\u308b\u3068\u65e9\u901f\u7aef\u672b\u304c\u304a\u76ee\u898b\u3048\u3002\u5c0f\u3055\u304f\u3066\u53ef\u611b\u3044\u3067\u3059\u3002\u8272\u306f\u30af\u30ea\u30e0\u30be\u30f3\u30ec\u30c3\u30c9\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002\u5c11\u3057\u843d\u3061\u7740\u3044\u305f\u611f\u3058\u306e\u8d64\u3067\u826f\u3044\u611f\u3058\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_173119_hu_d2c5d65a441fe0a6.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4ed8\u5c5e\u54c1\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u672c\u4f53\u306e\u4ed6\u3001\u30da\u30e9\u30a4\u30c1\u306e\u8aac\u660e\u66f8\u3001\u5145\u96fb\u7528\u306e\u30b1\u30fc\u30d6\u30eb\u3001\u5145\u96fb\u30a2\u30c0\u30d7\u30bf\u3001\u30a4\u30e4\u30db\u30f3\u5909\u63db\u30b1\u30fc\u30d6\u30eb\u304c\u5165\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u5145\u96fb\u30a2\u30c0\u30d7\u30bf\u306f5V1A\u3067\u3001\u6025\u901f\u5145\u96fb\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\u3002\u591a\u5206\u3002\u5199\u771f\u3067\u3082\u308f\u304b\u308b\u3068\u306f\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u30b3\u30f3\u30bb\u30f3\u30c8\u5074\u304c\u5c11\u3057\u5c0f\u3055\u3044\u53f0\u5f62\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u30b3\u30f3\u30bb\u30f3\u30c8\u306e\u72b6\u6cc1\u306b\u3088\u3063\u3066\u306f\u4f7f\u3044\u3065\u3089\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u8aac\u660e\u66f8\u306f\u5c0f\u3055\u304f\u3001\u534a\u5206\u306b\u6298\u308a\u305f\u305f\u307e\u308c\u3066\u3044\u308b\u3060\u3051\u306e\u7d19\u306a\u306e\u3067\u3001\u60c5\u5831\u306f\u975e\u5e38\u306b\u5c11\u306a\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u30a4\u30e4\u30db\u30f3\u5909\u63db\u30b1\u30fc\u30d6\u30eb\u306fPixel 4\u3060\u3068\u4ed8\u5c5e\u3057\u3066\u3044\u306a\u304f\u3066\u3001<a href=\"https:\/\/store.google.com\/jp\/product\/usb_c_headphone_adapter\" target=\"_blank\" rel=\"noopener\">Google Store\u30671,320\u5186<\/a>\n\u306a\u306e\u3067\u3001\u6709\u7dda\u306e\u30a4\u30e4\u30db\u30f3\u3092\u4f7f\u3044\u305f\u3044\u4eba\u306b\u306f\u5b09\u3057\u3044\u304b\u3082\u3002\u79c1\u306f\u4f7f\u3044\u307e\u305b\u3093\u304c\u30fb\u30fb\u30fb\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_173315_hu_dbed9af34d366b7.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u672c\u4f53\u3092\u4fdd\u8b77\u3057\u3066\u3044\u305f\u30d5\u30a3\u30eb\u30e0\uff1f\u3092\u5265\u304c\u3057\u305f\u3089\u3053\u3093\u306a\u611f\u3058\u3002\u3064\u3084\u306e\u3042\u308b\u8272\u3067\u3001\u3042\u307e\u308a\u5b89\u3063\u307d\u3044\u611f\u3058\u306f\u3042\u308a\u307e\u305b\u3093\u3002R\u306e\u6587\u5b57\u3068Felica\u30de\u30fc\u30af\u306f\u9280\u8272\u3067\u3059\u3002\u767d\u306f\u80cc\u9762\u304c\u767d\u3001\u5074\u9762\u304c\u30b7\u30eb\u30d0\u30fc\u306a\u306e\u3067\u3001\u5074\u9762\u304c\u30e1\u30c3\u30ad\u3063\u307d\u3044\u611f\u3058\u306e\u8d64\u3068\u304b\u3060\u3063\u305f\u3089\u3084\u3060\u306a\u3041\u30fb\u30fb\u30fb\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u3093\u306a\u3053\u3068\u3082\u306a\u304f\u3001\u9055\u548c\u611f\u306e\u306a\u3044\u8272\u5408\u3044\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30ab\u30e1\u30e9\u306f(\u30a4\u30de\u30c9\u30ad\u306e\u30b9\u30de\u30db\u306f\u3060\u3044\u305f\u3044\u305d\u3046\u3067\u3059\u304c)\u82e5\u5e72\u98db\u3073\u51fa\u3066\u3044\u307e\u3059\u3002\u304c\u30010.5mm\u306b\u6e80\u305f\u306a\u3044\u304f\u3089\u3044\u3057\u304b\u98db\u3073\u51fa\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u3042\u3093\u307e\u308a\u6c17\u306b\u3059\u308b\u5fc5\u8981\u306f\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u5199\u771f\u3067\u8a00\u3046\u3068\u3053\u308d\u306e\u5de6\u4e0b\u306e\u89d2\u306b\u30b9\u30c8\u30e9\u30c3\u30d7\u30db\u30fc\u30eb\u304c\u3042\u308a\u3001\u3053\u308c\u306f\u6700\u8fd1\u306e\u7aef\u672b\u3068\u3057\u3066\u306f\u7d50\u69cb\u73cd\u3057\u3044\u3088\u3046\u306b\u601d\u3048\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_173351_hu_2c68395f0b866404.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u753b\u9762\u5074\u3002\u307e\u3041\u7279\u7b46\u3059\u3079\u304d\u3053\u3068\u306f\u7279\u306b\u306a\u3044\u3067\u3059\u306d\u3002\u753b\u9762\u5411\u304b\u3063\u3066\u53f3\u5074\u306b\u96fb\u6e90\u30dc\u30bf\u30f3\u3068\u97f3\u91cf\u30dc\u30bf\u30f3\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/IMG_20200612_182704_hu_7e647f56768f2e30.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30b5\u30a4\u30ba\u6bd4\u8f03\u306e\u305f\u3081\u3001SAPICA\u3068\u91cd\u306d\u3066\u307f\u307e\u3057\u305f\u3002\u666e\u6bb5\u306fPASMO\u3092\u4f7f\u3063\u3066\u3044\u308b\u3093\u3067\u3059\u304c\u3001\u6771\u6b66\u30ab\u30fc\u30c9\u4e00\u4f53\u578b\u306e\u305f\u3081\u3001\u5199\u771f\u306b\u306f\u4f7f\u3048\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u3088\u306d\u30fb\u30fb\u30fb<\/p>\n<p>\u5e45\u306f\u30ab\u30fc\u30c9\u3068\u540c\u3058\u304b\u5c11\u3057\u5c0f\u3055\u3044\u304f\u3089\u3044\u3067\u3001\u9577\u3055\u306f\u30ab\u30fc\u30c9\u3088\u308a\u9577\u3044\u3067\u3059\u3002\u3053\u3046\u3057\u3066\u307f\u308b\u3068\u304b\u306a\u308a\u5c0f\u3055\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/images\/MVIMG_20200612_175719_hu_bf47a5dd34389eb1.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8d77\u52d5\u3059\u308b\u3068\u30db\u30fc\u30e0\u753b\u9762\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u306a\u3093\u3060\u304b\u3061\u3087\u3063\u3068\u9ad8\u9f62\u8005\u5411\u3051\u3042\u308b\u3044\u306f\u5b50\u4f9b\u5411\u3051\u306e\u7aef\u672b\u3063\u307d\u3044\u6c17\u3082\u3057\u307e\u3059\u304c\u3001\u5c0f\u3055\u3044\u753b\u9762\u3067\u6271\u3044\u3084\u3059\u3044\u3001\u306a\u304b\u306a\u304b\u60aa\u304f\u306a\u3044\u30db\u30fc\u30e0\u753b\u9762\u3060\u3068\u601d\u3044\u307e\u3059\u3002\u30d9\u30bc\u30eb\u304c\u5927\u304d\u3044\u30b9\u30de\u30db\u306f\u4e45\u3005\u306b\u6301\u3063\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u9055\u548c\u611f\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u521d\u671fIME\u306fiWnn IME\u3068\u304b\u8a00\u3046\u3084\u3064\u3067\u3001\u308f\u305f\u3057\u306fATOK\u306b\u5165\u308c\u66ff\u3048\u307e\u3057\u305f\u3002\u30d5\u30ea\u30c3\u30af\u5165\u529b\u306f\u601d\u3063\u305f\u3088\u308a\u4f59\u88d5\u3067\u3001twitter\u304f\u3089\u3044\u306a\u3089\u5168\u7136\u4e0d\u4fbf\u3092\u611f\u3058\u307e\u305b\u3093\u3002\u4e00\u65b9\u3067QWERTY\u30ad\u30fc\u30dc\u30fc\u30c9\u306b\u3088\u308b\u5165\u529b\u306f\u3084\u306f\u308a\u3061\u3087\u3063\u3068\u53b3\u3057\u3044\u611f\u3058\u3002\u5165\u529b\u81ea\u4f53\u306f\u3067\u304d\u307e\u3059\u304c\u3001\u3061\u3087\u3063\u3068\u75b2\u308c\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u307e\u30411\u5186\u3067\u624b\u306b\u5165\u308a\u3001Felica\u642d\u8f09\u3001\u9854\u8a8d\u8a3c\u3067\u30ed\u30c3\u30af\u89e3\u9664\u304c\u3067\u304d\u3001\u30b8\u30fc\u30f3\u30ba\u306e\u30b3\u30a4\u30f3\u30dd\u30b1\u30c3\u30c8\u306b\u5165\u308b\u5c0f\u3055\u3055\u3001\u56de\u7dda\u6599\u91d1\u3082\u4e00\u5e74\u306f\u7121\u6599\u3067\u3059\u304b\u3089\u3001\u8208\u5473\u304c\u3042\u3063\u305f\u3089\u7533\u3057\u8fbc\u3093\u3067\u307f\u3066\u3082\u826f\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\u7279\u306b\u3001Falica\u3092\u642d\u8f09\u3057\u3066\u3044\u306a\u3044\u7aef\u672b\u3092\u30e1\u30a4\u30f3\u3067\u4f7f\u3063\u3066\u3044\u308b\u65b9\u306f\u6c7a\u6e08\u7528\u7aef\u672b\u3068\u3057\u3066\u8cfc\u5165\u3057\u3066\u307f\u3066\u3082\u60aa\u304f\u306f\u7121\u3044\u3068\u601d\u3044\u307e\u3059\u3088\u3002\u4e8b\u52d9\u624b\u6570\u6599\u3082\u7121\u6599\u3068\u3044\u3046\u304b\u3001\u3080\u3057\u308d\u30dd\u30a4\u30f3\u30c8\u3067\u30d7\u30e9\u30b9\u306b\u306a\u308a\u307e\u3059\u3057\u306d\u3002<\/p>"},{"title":"\u6885\u4ed5\u4e8b2020","link":"https:\/\/blog.web-apps.tech\/ume-2020\/","pubDate":"Sat, 06 Jun 2020 16:53:33 +0000","guid":"https:\/\/blog.web-apps.tech\/ume-2020\/","description":"<p>6\u6708\u3067\u3059\u306d\u3002\u6885\u306e\u5b63\u7bc0\u3067\u3054\u3056\u3044\u307e\u3059\u3002\n\u6570\u65e5\u524d\u304b\u3089\u8fd1\u6240\u306e\u897f\u53cb\u3067\u3082\u6885\u306e\u5b9f\u3084\u3089\u306a\u3093\u3084\u3089\u304c\u5e97\u982d\u306b\u4e26\u3073\u59cb\u3081\u307e\u3057\u3066\u3001\u3042\u30416\u6708\u304b\u3001\u3068\u611f\u3058\u308b\u6b21\u7b2c\u3067\u3059\u3002\n20\u6b73\u306b\u306a\u3063\u305f6\u6708\u304b\u3089\u6bce\u5e74\u6885\u9152\u3084\u3089\u6885\u30b7\u30ed\u30c3\u30d7\u3084\u3089\u3092\u4f5c\u3063\u3066\u307e\u3057\u3066\u3001\u30b7\u30ed\u30c3\u30d7\u306f\u307e\u3041\u5bb6\u65cf\u3082\u98f2\u307f\u307e\u3059\u3057\u3001\u305d\u3082\u305d\u3082\u305d\u308c\u307b\u3069(\u5c11\u306a\u304f\u3068\u3082\u5e74\u5358\u4f4d\u3067\u306f)\u65e5\u6301\u3061\u3059\u308b\u7269\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304b\u3089\u3001\u4f5c\u3063\u3066\u306f\u6d88\u8cbb\u3057\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u304c\u3001\u6885\u9152\u306f(\u3042\u307e\u308a\u81ea\u5b85\u3067\u9152\u3092\u98f2\u307e\u306a\u3044\u306e\u3067)\u6bce\u5e744L\u74f6\u304c\u5897\u3048\u7d9a\u3051\u3066\u3044\u307e\u3059\u3002\u5c31\u8077\u3057\u3066\u95a2\u6771\u306b\u51fa\u3066\u304f\u308b\u307e\u3067\u306b\u4f5c\u3063\u305f\u7269\u306f\u5b9f\u5bb6\u306b\u7f6e\u3044\u3066\u304d\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3053\u304b\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u5f15\u304d\u53d6\u308a\u305f\u3044\u6c17\u6301\u3061\u304c\u3042\u308a\u307e\u3059\u306d\u3002\n\u307e\u3041\u305d\u3053\u307e\u3067\u306e\u7269\u3092\u7f6e\u3044\u3066\u304d\u305f\u3068\u306f\u3044\u3063\u3066\u3082\u3001\u95a2\u6771\u306b\u51fa\u3066\u304d\u3066\u304b\u3089\u304b\u308c\u3053\u308c4\u5e74\u30014L\u74f6\u3082\u4eca\u5e74\u30674\u672c\u76ee\u3001\u672d\u5e4c\u306b\u7f6e\u3044\u3066\u304d\u305f\u7269\u3068\u5408\u308f\u305b\u308b\u30688\u672c\u306b\u306a\u308a\u307e\u3059\u304b\u3089\u3001\u306a\u3093\u3068\u304b\u5727\u7e2e\u3059\u308b\u306a\u308a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_181702_hu_915cef09b05c86f9.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6268\u3001\u4eca\u5e74\u306f\u6c60\u888b\u306b\u3042\u308b\u6771\u6b66\u767e\u8ca8\u5e97\u306e\u5730\u4e0b\u98df\u6599\u54c1\u58f2\u308a\u5834\u3067\u5357\u9ad8\u6885\u3092\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u7d041kg(1kg\u3092\u3061\u3087\u3063\u3068\u8d85\u3048\u308b\u304f\u3089\u3044)\u30671500\u5186\u3067\u3057\u305f\u30022kg\u307b\u3069\u8cb7\u3044\u307e\u3057\u305f\u306e\u3067\u30013000\u5186\u3067\u3059\u306d\u3002\u30b9\u30fc\u30d1\u30fc\u3067\u8cb7\u3046\u3068\u5927\u4f531000\u5186\/kg\u4f4d\u3067\u3059\u304c\u3001\u305d\u3053\u306f\u767e\u8ca8\u5e97\u3001\u5b9f\u3082\u5927\u304d\u304f\u3001\u50b7\u304c\u307b\u3068\u3093\u3069\u7121\u3044\u826f\u3044\u6885\u3067\u3059\u3002<\/p>\n<p>\u6885\u9152\u7528\u306b\u306f\u307e\u3060\u9752\u3044\u5b9f\u3092\u3001\u6885\u30b7\u30ed\u30c3\u30d7\u7528\u306b\u306f\u6bd4\u8f03\u7684\u719f\u3057\u3066\u3044\u305d\u3046\u306a\u9ec4\u8272\u3044\u5b9f\u3092\u9078\u3093\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>20\u6b73\u306e\u6642\u306b\u4f5c\u3063\u305f\u3068\u304d\u306b\u3001\u3053\u306e\u3088\u3046\u306b\u6c34\u306b\u5b9f\u3092\u6f2c\u3051\u3066\u3001\u3042\u304f\u629c\u304d(?)\u3092\u305b\u3088\u3068\u3044\u3046\u60c5\u5831\u3092\u898b\u305f\u305f\u3081\u3001\u4f55\u3082\u8003\u3048\u305a\u306b\u6bce\u5e74\u3053\u306e\u3088\u3046\u306b\u6c34\u306b\u6f2c\u3051\u3066\u3044\u307e\u3059\u304c\u3001\u308f\u308a\u3068\u3055\u3063\u3068\u3042\u3052\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u5b9f\u969b\u52b9\u679c\u3068\u3044\u3046\u304b\u3001\u610f\u5473\u304c\u3042\u308b\u306e\u304b\u3069\u3046\u304b\u306f\u4e0d\u660e\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_191123_hu_4c6c8bcbaa7fc0b0.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u74f6\u306f\u7279\u306b\u7279\u5225\u306a\u7269\u306f\u4f7f\u7528\u3057\u3066\u3044\u306a\u304f\u3066\u3001\u897f\u53cb\u3067\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002680\u5186\u3067\u3059\u3002\u6628\u5e74\u6885\u30b7\u30ed\u30c3\u30d7\u306b\u4f7f\u7528\u3057\u305f\u74f6\u306f\u6d17\u3046\u306e\u3092\u30b5\u30dc\u3063\u3066\u653e\u7f6e\u3057\u305f\u305f\u3081\u3001\u518d\u4f7f\u7528\u3059\u308b\u306e\u306f\u3061\u3087\u3063\u3068\u3044\u3084\u3060\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u6368\u3066\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_191534_hu_aa37320f144f6e18.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3055\u3063\u3068\u6c34\u3067\u6d17\u3063\u305f\u5f8c(\u672c\u5f53\u306f\u3061\u3083\u3093\u3068\u6d17\u3063\u305f\u65b9\u304c\u826f\u3044\u3068\u601d\u3046\u3093\u3067\u3059\u3051\u3069\u3001\u3067\u304b\u304f\u3066\u6d17\u3044\u306b\u304f\u3044\u306e\u3067\u3055\u3063\u3068\u3067\u6e08\u307e\u305b\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u6bce\u5e74\u3002\u7279\u306b\u554f\u984c\u306f\u767a\u751f\u3057\u3066\u3044\u307e\u305b\u3093)\u3001\u30a2\u30eb\u30b3\u30fc\u30eb\u88fd\u5264\u3092\u62ed\u304d\u304b\u3051\u3066\u6d88\u6bd2\u3057\u307e\u3059\u3002\u7279\u306b\u6885\u30b7\u30ed\u30c3\u30d7\u306f\u9152\u304c\u5165\u3089\u306a\u3044\u5206\u3001\u3061\u3083\u3093\u3068\u6d88\u6bd2\u3057\u3066\u304a\u304b\u306a\u3044\u3068\u5909\u306a\u3053\u3068\u306b\u306a\u308a\u304b\u306d\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_195511_hu_c031fc8baac589ae.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4f8b\u5e74\u306f\u6c37\u7802\u7cd6\u3092\u4f7f\u7528\u3057\u3066\u4f5c\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u5e74\u306f\u4f55\u306e\u5f71\u97ff\u3084\u3089\u6c37\u7802\u7cd6\u304c\u5b8c\u58f2\u3060\u3063\u305f\u306e\u3067\u3001\u601d\u3044\u5207\u3063\u3066\u30b6\u30e9\u30e1\u3092\u9078\u629e\u3057\u3066\u307f\u307e\u3057\u305f\u30021kg\u3042\u305f\u308a228\u5186\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_200451_hu_20224aefd2f9a5fd.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u307e\u305a\u306f\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u4ed5\u8fbc\u3093\u3067\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u6c34\u304b\u3089\u3042\u3052\u305f\u6885\u306e\u5b9f\u3092\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u3067\u62ed\u3044\u3066\u6c34\u6c17\u3092\u53d6\u308a\u3001\u722a\u694a\u679d\u3067\u3078\u305f\u3092\u3068\u308a\u3001\u7802\u7cd6\u306b\u57cb\u3081\u307e\u3059\u3002\u74f6\u306b\u6885\u3092\u6577\u304d\u8a70\u3081\u308b\u3001\u7802\u7cd6\u3092\u4e0a\u304b\u3089\u304b\u3051\u308b\u3001\u6885\u3092\u6577\u304d\u8a70\u3081\u308b\u3001\u7802\u7cd6\u3092\u304b\u3051\u308b\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u3002<\/p>\n<p>\u6885\u306f\u91d1\u6c17\u3092\u5acc\u3046\u3001\u3068\u3044\u3046\u306f\u306a\u3057\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u307e\u3041\u3044\u308d\u3044\u308d\u3068\u7406\u7531\u304c\u3042\u308b\u3088\u3046\u3067\u3001\u66f0\u304f\u3001\u6885\u306e\u9178\u3067\u91d1\u5c5e\u304c\u8150\u98df\u3059\u308b\u306e\u3067\u91d1\u5c5e\u306e\u9053\u5177\u3092\u4f7f\u3046\u306e\u306f\u826f\u304f\u306a\u3044\u3001\u3060\u3068\u304b\u3001\u66f0\u304f\u3001\u91d1\u5c5e\u306e\u9053\u5177\u3067\u306f\u6885\u306e\u5b9f\u3092\u50b7\u3064\u3051\u3084\u3059\u304f\u3001\u50b7\u304c\u3064\u304f\u3068\u30ab\u30d3\u306a\u3069\u306e\u539f\u56e0\u306b\u306a\u3063\u305f\u308a\u3001\u898b\u305f\u76ee\u3084\u5473\u304c\u60aa\u304f\u306a\u3063\u305f\u308a\u3059\u308b\u304b\u3089\u826f\u304f\u306a\u3044\u306e\u3067\u3042\u308b\u3001\u3060\u3068\u304b\u3002\u307e\u3041\u7406\u7531\u304c\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u306f\u7121\u3044\u306f\u305a\u3067\u3059\u306e\u3067\u3001\u7d20\u76f4\u306b\u5148\u9054\u306e\u8a00\u8449\u306b\u5f93\u3044\u3001\u91d1\u5c5e\u306e\u9053\u5177\u3092\u4f7f\u308f\u305a\u306b\u3084\u3063\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u6885\u30b7\u30ed\u30c3\u30d7\u306f\u9162\u3092\u5165\u308c\u308b\u30ec\u30b7\u30d4\u3068\u9162\u3092\u5165\u308c\u306a\u3044\u30ec\u30b7\u30d4\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u500b\u4eba\u7684\u306b\u306f\u3080\u3084\u307f\u306b\u767a\u9175\u3055\u308c\u305f\u308a\u30ab\u30d3\u3089\u308c\u305f\u308a\u3057\u3066\u3082\u56f0\u308a\u307e\u3059\u3057\u3001\u6db2\u4f53\u304c\u5165\u3063\u305f\u65b9\u304c\u547c\u3073\u6c34\u7684\u306a\u611f\u3058\u3067\u65e9\u304f\u3067\u304d\u308b\u304b\u306a\u3001\u3068\u3044\u3046\u6c17\u6301\u3061\u3067\u9162\u3092\u5c11\u91cf\u5165\u308c\u3066\u3044\u307e\u3059\u3002\u52b9\u679c\u306e\u307b\u3069\u306f\u4e0d\u660e\u3067\u3059\u3002\u4eca\u5e74\u306f\u305f\u307e\u305f\u307e\u30ea\u30f3\u30b4\u9162\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u3053\u308c\u3092\u4f7f\u7528\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u5927\u3055\u3058\u4e09\u307b\u3069\u9069\u5f53\u306b\u304b\u3051\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_200809_hu_fcf74b89faa0703f.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6885\u30b7\u30ed\u30c3\u30d7\u306e\u4ed5\u8fbc\u307f\u304c\u7d42\u308f\u3063\u305f\u3089\u6b21\u306f\u6885\u9152\u3067\u3059\u3002\u4eca\u5e74\u306f\u5b9d\u9152\u9020\u306e\u300c\u679c\u5b9f\u9152\u306e\u5b63\u7bc0\u300d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u8fd1\u5e74\u3069\u3053\u306e\u30b9\u30fc\u30d1\u30fc\u3067\u3082\u3088\u304f\u58f2\u3089\u308c\u3066\u3044\u308b\u7532\u985e\u713c\u914e\u3067\u3059\u306d\u3002\u6bce\u5e74\u6885\u9152\u3092\u4ed5\u8fbc\u3093\u3067\u3044\u307e\u3059\u304c\u3001\u5b9f\u306f\u679c\u5b9f\u9152\u306e\u5b63\u7bc0\u306f\u4f7f\u3063\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u7279\u306b\u3053\u3053\u6570\u5e74\u306f\u9ea6\u713c\u914e\u3067\u6f2c\u3051\u3066\u307f\u305f\u308a\u3001\u6ce1\u76db\u3067\u6f2c\u3051\u3066\u307f\u305f\u308a\u3057\u3066\u3044\u305f\u306e\u3067\u3001\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u81ea\u4f53\u4f7f\u7528\u3057\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u6bce\u5e74\u6c37\u7802\u7cd6\u3067\u3084\u3063\u3066\u3044\u305f\u306e\u3067\u3001\u9152\u306e\u65b9\u3092\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u5e74\u306f\u524d\u8ff0\u306e\u69d8\u306b\u30b6\u30e9\u30e1\u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001\u7802\u7cd6\u5074\u306e\u6761\u4ef6\u3092\u5909\u3048\u305f\u306e\u3067\u3001\u307e\u3041\u679c\u5b9f\u9152\u7528\u306e\u30db\u30ef\u30a4\u30c8\u30ea\u30ab\u30fc\u306a\u3089\u4f59\u8a08\u306a\u5302\u3044\u3082\u306a\u304b\u308d\u3046\u3068\u3044\u3046\u3053\u3068\u3067\u3053\u308c\u3092\u9078\u3093\u3067\u307f\u307e\u3057\u305f\u30021.8L\u30671258\u5186\u3067\u3059\u3002<\/p>\n<p>\u958b\u5c01\u3057\u3066\u307f\u3066\u9a5a\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u3053\u306e\u300c\u679c\u5b9f\u9152\u306e\u5b63\u7bc0\u300d\u3001\u5168\u7136\u5302\u3044\u3057\u306a\u3044\u3093\u3067\u3059\u306d\u3002\u307e\u3041\u3001\u3082\u3061\u308d\u3093\u30a2\u30eb\u30b3\u30fc\u30eb\u306e\u5302\u3044\u306f\u591a\u5c11\u3057\u307e\u3059\u304c\u3001\u305d\u308c\u3067\u3082\u5168\u7136\u5302\u3044\u304c\u306a\u3044\u3002\u306a\u308b\u307b\u3069\u3001\u78ba\u304b\u306b\u3053\u308c\u306f\u679c\u5b9f\u9152\u5411\u304d\u3063\u307d\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_201816_hu_8b5b0486c1a90e95.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6885\u9152\u3082\u6700\u521d\u306e\u624b\u9806\u306f\u30b7\u30ed\u30c3\u30d7\u3068\u540c\u69d8\u3067\u3059\u3002\u6885\u3092\u6c34\u304b\u3089\u53d6\u308a\u51fa\u3057\u3001\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u3067\u62ed\u304d\u3001\u3078\u305f\u3092\u53d6\u308a\u3001\u6577\u304d\u8a70\u3081\u3001\u7802\u7cd6\u3092\u304b\u3051\u3001\u6577\u304d\u8a70\u3081\u3001\u7802\u7cd6\u3092\u304b\u3051\u30fb\u30fb\u30fb\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_202107_hu_919cd1f4a7c3a93b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8a70\u3081\u7d42\u308f\u3063\u305f\u3089\u4e0a\u304b\u3089\u9152\u3092\u30c9\u30d0\u30c9\u30d0\u3068\u6d41\u3057\u8fbc\u307f\u307e\u3059\u3002\u30b6\u30e9\u30e1\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3089\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u3059\u3067\u306b\u8336\u8272\u3044\u8272\u3067\u3059\u3002\u3053\u308c\u306f\u306a\u3093\u304b\u3061\u3087\u3063\u3068\u697d\u3057\u307f\u3067\u3059\u306d\u3002<\/p>\n<p>\u3053\u306e\u5f8c\u306f\u6570\u65e5\u3054\u3068\u306b\u8efd\u304f\u632f\u308b\u306a\u308a\u6df7\u305c\u308b\u306a\u308a\u3057\u3066\u3042\u3052\u3066\u3001\u6885\u306e\u30a8\u30ad\u30b9\u3092\u62bd\u51fa\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u6c37\u7802\u7cd6\u3060\u3068\u5927\u4f533\u30f6\u6708\u304b\u3089\u534a\u5e74\u304f\u3089\u3044\u3067\u98f2\u3081\u308b\u3088\u3046\u306b\u306a\u308b\u3093\u3067\u3059\u304c\u3001\u30b6\u30e9\u30e1\u3067\u3082\u540c\u69d8\u306a\u306e\u304b\u3069\u3046\u304b\u306f\u3088\u304f\u308f\u304b\u308a\u307e\u305b\u3093\u3002\u307e\u3041\u305d\u3082\u305d\u3082\u4e00\u5e74\u4ee5\u4e0a\u7d4c\u305f\u306a\u3044\u3068\u5473\u898b\u3082\u308d\u304f\u306b\u3057\u306a\u3044\u306e\u3067\u3001\u6c17\u9577\u306b\u5f85\u3064\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/ume-2020\/images\/IMG_20200606_203033_hu_a2b51403ce45f74b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306b2017\u5e74\u3001\u3064\u307e\u308a\u5c31\u8077\u3067\u95a2\u6771\u306b\u51fa\u3066\u304d\u305f\u5e74\u306e\u6885\u9152\u3092\u5f15\u3063\u5f35\u308a\u51fa\u3057\u3066\u304d\u3066\u4e00\u676f\u3084\u308a\u307e\u3057\u305f\u3002\u5927\u5206\u89d2\u3082\u53d6\u308c\u3066\u98f2\u307f\u3084\u3059\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u306d\u3002\u3053\u306e\u5e74\u306f\u30ec\u30b7\u30d4\u3092\u74f6\u306b\u8cbc\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u3069\u3046\u3044\u3046\u30ec\u30b7\u30d4\u3067\u4f5c\u3063\u305f\u306e\u304b\u306f\u3088\u304f\u899a\u3048\u3066\u306a\u3044\u3093\u3067\u3059\u304c\u3001\u3068\u308a\u3042\u3048\u305a\u7f8e\u5473\u3057\u304b\u3063\u305f\u306e\u3067\u3088\u3057\u3068\u3057\u307e\u3059\u3002<\/p>"},{"title":"AKG LYRA\u3092\u8cfc\u5165\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/akg-lyra\/","pubDate":"Mon, 01 Jun 2020 08:29:47 +0000","guid":"https:\/\/blog.web-apps.tech\/akg-lyra\/","description":"<p>\u3088\u3046\u3084\u304f\u7dca\u6025\u4e8b\u614b\u5ba3\u8a00\u304c\u89e3\u9664\u3055\u308c\u3001\u3080\u3084\u307f\u306b\u30ac\u30b8\u30a7\u30c3\u30c8\u3092\u8cb7\u3046\u7406\u7531\u304c\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u7686\u69d8\u3001\u3044\u304b\u304c\u304a\u904e\u3054\u3057\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u62e1\u5927\u9632\u6b62\u306e\u89b3\u70b9\u304b\u3089\u3001\uff8d\uff72\uff7c\uff6c\u3067\u3082\u6570\u30f6\u6708\u307b\u3069\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af(\u4f59\u8ac7\u3067\u3059\u304cWFH\u3001\u3068\u3044\u3046\u5b57\u9762\u3092\u3064\u3044\u3064\u3044WTF\u3068\u7a7a\u76ee\u3057\u3066\u3057\u307e\u3046\u306e\u306f\u79c1\u3060\u3051\u3067\u3057\u3087\u3046\u304b)\u3092\u3057\u3066\u304d\u305f\u308f\u3051\u3067\u3059\u304c\u3001\u5f0a\u5b85\u306b\u306f\u307e\u3068\u3082\u306a\u30de\u30a4\u30af\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3057\u3070\u3089\u304f\u306f\u304b\u306a\u308a\u524d\u306b\u8cfc\u5165\u3057\u305fWeb\u30ab\u30e1\u30e9\u3001<a href=\"https:\/\/www.buffalo.jp\/product\/detail\/bsw20km15bk.html\" target=\"_blank\" rel=\"noopener\">Buffalo\u306eBSW20KM15<\/a>\n\u306e\u97f3\u58f0\u5165\u529b\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4f55\u5ea6\u304b\u805e\u304d\u53d6\u308a\u306b\u304f\u3044\u3001\u3068\u8a00\u308f\u308c\u305f\u306e\u3067(\u5927\u534a\u306f\u554f\u984c\u306a\u3044\u3068\u8a00\u3063\u3066\u304f\u308c\u305f\u306e\u3067\u3059\u304c\u3001\u307e\u3041\u7406\u7531\u4ed8\u3051\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059)\u3001\u3042\u308b\u7a0b\u5ea6\u306eUSB\u30de\u30a4\u30af\u3092\u8cfc\u5165\u3059\u308b\u3053\u3068\u3092\u6c7a\u610f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u3068\u306f\u3044\u3048\u3001\u793e\u5185\u5916\u3067\u304a\u3059\u3059\u3081\u3055\u308c\u305f<a href=\"https:\/\/www.buffalo.jp\/product\/detail\/bsw20km15bk.html\" target=\"_blank\" rel=\"noopener\">\u30aa\u30fc\u30c7\u30a3\u30aa\u30c6\u30af\u30cb\u30ab AT2020USB+<\/a>\n\u306f\u305d\u308c\u3053\u305d\u307f\u3093\u306a\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3092\u3057\u3066\u3044\u308b\u306e\u304c\u7406\u7531\u3001\u3068\u8a00\u308f\u3093\u3070\u304b\u308a\u306b\u3069\u3053\u3092\u898b\u3066\u3082\u5728\u5eab\u304c\u306a\u3044\u3001\u3068\u3044\u3046\u72b6\u614b\u3067\u3059\u3002\u5728\u5eab\u5fa9\u6d3b\u306f\u3044\u3064\u306b\u306a\u308b\u3053\u3068\u3084\u3089\u3001\u3001\u3001\u3068\u601d\u3044\u306a\u304c\u3089<a href=\"https:\/\/www.soundhouse.co.jp\/\" target=\"_blank\" rel=\"noopener\">SOUNDHOUSE<\/a>\n\u3092\u773a\u3081\u3066\u3044\u305f\u3068\u3053\u308d\u3001<a href=\"https:\/\/www.soundhouse.co.jp\/products\/detail\/item\/269265\/\" target=\"_blank\" rel=\"noopener\">AKG LYRA<\/a>\n\u3068\u3044\u3046\u4f55\u3084\u3089\u3088\u3055\u3052\u306a\u898b\u305f\u76ee\u3092\u3057\u305f\u30de\u30a4\u30af\u304c\u4e00\u62bc\u3057\u3063\u307d\u3044\u611f\u3058\u3067\u3057\u305f\u306e\u3067\u3001\u3064\u3044\u52e2\u3044\u3067\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\u4eca\u3068\u306a\u3063\u3066\u306fAKG LYRA\u3082\u304a\u53d6\u308a\u5bc4\u305b\u3001\u3068\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u8cfc\u5165\u6642\u70b9\u3067\u306f1\u9031\u9593\u307b\u3069\u3067\u5165\u8377\u4e88\u5b9a\u3068\u3044\u3046\u3053\u3068\u3067\u3057\u305f\u306e\u3067\u3001\u307e\u3041\u305d\u308c\u304f\u3089\u3044\u306a\u3089\u5f85\u3068\u3046\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u5373\u6ce8\u6587\u30015\u670822\u65e5\u306b\u5c4a\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/akg-lyra\/images\/IMG_20200522_150414_hu_3014763242fcc965.jpg\" alt=\"\" \/>\n<\/p>\n<p>This is my new gear\u3001\u306a\u8a33\u3067\u3059\u3002Youtube\u3067\u306f\u3059\u3067\u306b\u305d\u3053\u305d\u3053\u56fd\u5185\u5916\u306e\u30ec\u30d3\u30e5\u30fc\u52d5\u753b\u304c\u6295\u7a3f\u3055\u308c\u3066\u304a\u308a\u3001\u305d\u308c\u3092\u307c\u30fc\u3063\u3068\u773a\u3081\u305f\u308a\u3082\u3057\u3066\u3044\u305f\u306e\u3067\u3001\u305d\u3053\u305d\u3053\u30b5\u30a4\u30ba\u304c\u5927\u304d\u3044\u3001\u3068\u3044\u3046\u306e\u306f\u308f\u304b\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u5c4a\u3044\u3066\u307f\u305f\u3089\u4e88\u60f3\u4ee5\u4e0a\u306b\u5916\u7bb1\u304c\u5927\u304d\u304f\u9a5a\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u9069\u5f53\u306b\u4f55\u304b\u30b5\u30a4\u30ba\u611f\u306e\u308f\u304b\u308b\u7269\u306f\u306a\u304b\u308d\u3046\u304b\u3001\u3068\u601d\u3063\u3066\u624b\u5143\u3092\u63a2\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3046\u306b\u3082\u3057\u3063\u304f\u308a\u304f\u308b\u7269\u304c\u306a\u304f\u3001\u552f\u4e00\u3057\u3063\u304f\u308a\u304d\u305f\u306e\u304cNINTENDO SWITCH\u3067\u3057\u305f\u306e\u3067\u3001\u6bd4\u8f03\u306e\u305f\u3081\u306b\u7f6e\u3044\u3066\u307f\u305f\u306e\u304c\u6b21\u306e\u5199\u771f\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/akg-lyra\/images\/IMG_20200522_150439_hu_f4d9092ea75f7ab1.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/akg-lyra\/images\/IMG_20200522_150503_hu_a2b37bd536cb3cfe.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u306a\u304b\u306a\u304b\u306e\u30b5\u30a4\u30ba\u611f\u3067\u3059\u306d\u3002\u3053\u306e\u624b\u306e\u7269\u306f\u30b9\u30bf\u30f3\u30c9\u3068\u672c\u4f53\u304c\u30d0\u30e9\u30d0\u30e9\u306b\u306a\u3063\u3066\u3044\u3066\u3001\u5230\u7740\u3057\u3066\u304b\u3089\u81ea\u5206\u3067\u7d44\u307f\u7acb\u3066\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308b\u306e\u304c\u826f\u304f\u3042\u308b\u30d1\u30bf\u30fc\u30f3\u3060\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u672c\u88fd\u54c1\u306f\u3059\u3067\u306b\u30ac\u30c3\u30c1\u30e3\u30f3\u30b3\u3055\u308c\u305f\u72b6\u614b\u3067\u68b1\u5305\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u5916\u7bb1\u304c\u5927\u304d\u304f\u306a\u3063\u305f\u3088\u3046\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/akg-lyra\/images\/IMG_20200522_215856_hu_6fde892da40b93ff.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u306a\u3093\u3066\u5165\u308a\u65b9\u3092\u3057\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u3002\u3002\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/akg-lyra\/images\/IMG_20200522_220031_hu_a1f3e3e31a115a66.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u53d6\u308a\u51fa\u3057\u305f\u672c\u4f53\u304c\u3053\u3061\u3089\u3002\u6bd4\u8f03\u7528\u306b\u30c6\u30a3\u30c3\u30b7\u30e5\u306e\u7bb1\u3092\u7f6e\u3044\u3066\u3044\u307e\u3059\u3002\u5916\u7bb1\u306e\u6bd4\u8f03\u3082\u30c6\u30a3\u30c3\u30b7\u30e5\u3067\u3088\u304b\u3063\u305f\u8aac\u3002\u7d50\u69cb\u826f\u3044\u30b5\u30a4\u30ba\u3067\u3059\u306d\u3002\u307e\u3041\u3051\u3063\u3057\u3066\u5c0f\u3055\u304f\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u305d\u3053\u305d\u3053\u91cd\u91cf\u304c\u3042\u308a\u5b89\u5b9a\u3057\u3066\u3044\u307e\u3059\u3057\u3001\u9ad8\u3055\u3082\u305d\u3053\u305d\u3053\u3042\u308b\u306e\u3067\u666e\u901a\u306e\u59ff\u52e2\u3067\u5b89\u5fc3\u3057\u3066\u3057\u3083\u3079\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u97f3\u8cea\u3067\u3059\u304c\u3001\u4ed6\u306e\u30de\u30a4\u30af\u306f\u4f7f\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u306e\u3067\u3001\u306f\u3063\u304d\u308a\u8a00\u3063\u3066\u826f\u304f\u308f\u304b\u308a\u307e\u305b\u3093\u3002\u3057\u304b\u3057\u3001\u3061\u3083\u3093\u3068\u805e\u3053\u3048\u3066\u306f\u3044\u308b\u3088\u3046\u3067\u3059\u3002\u826f\u304b\u3063\u305f\u826f\u304b\u3063\u305f\u3002PC\u3068\u306e\u63a5\u7d9a\u306f<a href=\"https:\/\/www.ankerjapan.com\/category\/USBCCABLE\/A8485.html\" target=\"_blank\" rel=\"noopener\">ANKER\u306eC2C\u30b1\u30fc\u30d6\u30eb<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u7279\u306b\u554f\u984c\u306a\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f\u30de\u30a4\u30af\u5074\u306eMUTE\u30dc\u30bf\u30f3\u3068\u3001ZOOM\u306a\u3069\u306e\u30df\u30e5\u30fc\u30c8\u304c\u9023\u52d5\u3067\u304d\u305f\u3089\u306a\u304a\u826f\u3044\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u3069\u306a\u305f\u304b\u65b9\u6cd5\u3092\u3054\u5b58\u3058\u3060\u3063\u305f\u3089\u6559\u3048\u3066\u4e0b\u3055\u3044\u3002<\/p>"},{"title":"rust\u3067\u66f8\u304b\u308c\u305fls\u306e\u4ee3\u66ff\u30b3\u30de\u30f3\u30c9exa\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u305f","link":"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/","pubDate":"Wed, 20 May 2020 02:54:27 +0000","guid":"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/","description":"<p>twitter\u3067\u304a\u306e\u304b\u3061\u304a\u6c0f(\u9375\u57a2\u306a\u306e\u3067\u3053\u3053\u3067\u306f\u7d39\u4ecb\u3067\u304d\u306a\u3044\u304c)\u304c<a href=\"https:\/\/github.com\/ogham\/exa\" target=\"_blank\" rel=\"noopener\"><code>exa<\/code><\/a>\n\u3068\u3044\u3046ls\u306e\u4ee3\u66ff\u30b3\u30de\u30f3\u30c9\u3092\u8a66\u3057\u3066\u307f\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u30b9\u30af\u30b7\u30e7\u3092\u30a2\u30c3\u30d7\u3057\u3066\u304a\u308a\u3001\u3053\u308c\u304c\u306a\u304b\u306a\u304b\u826f\u3055\u305d\u3046\u3067\u3042\u3063\u305f\u306e\u3067\u3001\u63a2\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/the.exa.website\/\" target=\"_blank\" rel=\"noopener\">website<\/a>\n\u306e\u8aac\u660e\u306b\u3088\u308b\u3068\u3001<\/p>\n<blockquote>\n<p>A modern replacement for ls.<\/p>\n<\/blockquote>\n<p>\u30c8\u306e\u3053\u3068\u3067\u3001\u8272\u3092\u3064\u3051\u308c\u305f\u308a\u3001\u65e9\u304b\u3063\u305f\u308a\u3001tree view\u304c\u3067\u304d\u305f\u308a\u3001Git\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8868\u793a\u3067\u304d\u305f\u308a\u3059\u308b\u3089\u3057\u3044\u3002<\/p>\n<p>mac\u306e\u5834\u5408\u3001<a href=\"https:\/\/brew.sh\/index_ja\" target=\"_blank\" rel=\"noopener\">homebrew<\/a>\n\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u3067\u65e9\u901f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ brew install exa\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>very easy\u3067\u3059\u306d\u3002\u4f7f\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/images\/----------2020-05-20-11.24.34_hu_d210109d7de5c828.png\" alt=\"\" \/>\n<\/p>\n<p>\u306a\u308b\u307b\u3069\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8868\u793a\u306f<code>ls<\/code>\u3068\u540c\u3058\u304fgrid view\u306a\u3093\u3067\u3059\u306d\u3002\u30db\u30fc\u30e0\u306b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3057\u304b\u306a\u3044\u306e\u3067\u308f\u304b\u308a\u306b\u304f\u3044\u3067\u3059\u3051\u3069\u3001\u5b57\u304c\u592a\u3044\u3067\u3059\u306d\u3002\u3042\u3068<a href=\"https:\/\/github.com\/klaussinani\/hyper-pokemon\" target=\"_blank\" rel=\"noopener\">klaussinani\/hyper-pokemon<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u308b\u90fd\u5408\u3067\u3001\u8272\u306f\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u30fb\u30fb\u30fb<\/p>\n<p>\u30a2\u30a4\u30b3\u30f3\u4ed8\u304d\u3067\u8868\u793a\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u30a2\u30a4\u30b3\u30f3\u3092\u8868\u793a\u3057\u305f\u3044\u5834\u5408\u306f<code>--icons<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308c\u3070\u826f\u3044\u3001\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/images\/----------2020-05-20-11.24.59_hu_3d79a5873ba9959c.png\" alt=\"\" \/>\n<\/p>\n<p>\u304a\u3084\u3001\u8868\u793a\u3055\u308c\u306a\u3044\u3067\u3059\u306d\u3002\u3053\u308c\u306f\u56f0\u3063\u305f\u3002\u307e\u3041\u3053\u306e\u624b\u306e\u554f\u984c\u306f(\u898b\u305f\u76ee\u304b\u3089\u8a00\u3063\u3066\u3082)\u30d5\u30a9\u30f3\u30c8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u306a\u3044\u305f\u3081\u306b\u767a\u751f\u3057\u3066\u3044\u308b\u306e\u3060\u308d\u3046\u3001\u3068\u3042\u305f\u308a\u3092\u3064\u3051\u3064\u3064\u3001issue\u3092\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n<p>\u3059\u308b\u3068<a href=\"https:\/\/github.com\/ogham\/exa\/pull\/368\" target=\"_blank\" rel=\"noopener\">\u3069\u3046\u3084\u3089<\/a>\n<a href=\"https:\/\/www.nerdfonts.com\/\" target=\"_blank\" rel=\"noopener\">nerd fonts<\/a>\n\u3068\u3044\u3046\u30d5\u30a9\u30f3\u30c8\u304c\u30a2\u30a4\u30b3\u30f3\u8868\u793a\u7528\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\u3053\u308c\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ brew tap homebrew\/cask-fonts\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">==<\/span>&gt; Tapping homebrew\/cask-fonts\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Cloning into <span class=\"s1\">&#39;\/usr\/local\/Homebrew\/Library\/Taps\/homebrew\/homebrew-cask-fonts&#39;<\/span>...\n<\/span><\/span><span class=\"line\"><span class=\"cl\">remote: Enumerating objects: 19, <span class=\"k\">done<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">remote: Counting objects: 100% <span class=\"o\">(<\/span>19\/19<span class=\"o\">)<\/span>, <span class=\"k\">done<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">remote: Compressing objects: 100% <span class=\"o\">(<\/span>14\/14<span class=\"o\">)<\/span>, <span class=\"k\">done<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">remote: Total <span class=\"m\">35658<\/span> <span class=\"o\">(<\/span>delta 8<span class=\"o\">)<\/span>, reused <span class=\"m\">9<\/span> <span class=\"o\">(<\/span>delta 5<span class=\"o\">)<\/span>, pack-reused <span class=\"m\">35639<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Receiving objects: 100% <span class=\"o\">(<\/span>35658\/35658<span class=\"o\">)<\/span>, 6.07 MiB <span class=\"p\">|<\/span> 3.34 MiB\/s, <span class=\"k\">done<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Resolving deltas: 100% <span class=\"o\">(<\/span>25786\/25786<span class=\"o\">)<\/span>, <span class=\"k\">done<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Tapped <span class=\"m\">924<\/span> casks <span class=\"o\">(<\/span><span class=\"m\">973<\/span> files, 7.8MB<span class=\"o\">)<\/span>.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ brew cask install font-hack-nerd-font\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Updating Homebrew...\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Error: Cask font-hack-nerd-font exists in multiple taps:\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> homebrew\/cask-fonts\/font-hack-nerd-font\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> caskroom\/fonts\/font-hack-nerd-font\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u304a\u3084\u3001\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3057\u305f\u306d\u3002\u4eca\u56de\u8ffd\u52a0\u3057\u305f<code>homebrew\/cask-fonts<\/code>\u3068\u3044\u3046tap\u3068\u5143\u3005\u3042\u3063\u305f<code>caskroom\/fonts<\/code>\u3068\u3044\u3046tap\u306e\u4e21\u65b9\u306b\u540c\u540d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u3063\u305f\u3088\u3046\u3067\u3059\u3002\u8a73\u7d30\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>"},{"title":"Gmail Filter as Code","link":"https:\/\/blog.web-apps.tech\/gmail-filter-as-code\/","pubDate":"Fri, 08 May 2020 01:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/gmail-filter-as-code\/","description":"<p><a href=\"https:\/\/twitter.com\/yamamoto_febc\" target=\"_blank\" rel=\"noopener\">@yamamoto_febc<\/a>\n\u3055\u3093\u306e<a href=\"https:\/\/febc-yamamoto.hatenablog.jp\/entry\/2020\/04\/26\/182608\" target=\"_blank\" rel=\"noopener\">\u30d6\u30ed\u30b0\u8a18\u4e8b<\/a>\n\u3067\u3001<a href=\"https:\/\/github.com\/jessfraz\/gmailfilters\" target=\"_blank\" rel=\"noopener\">jessfraz\/gmailfilters<\/a>\n\u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u77e5\u308a\u307e\u3057\u305f\u3002\u306a\u3093\u3067\u3082\u3001Gmail\u306e\u30d5\u30a3\u30eb\u30bf\u3092TOML\u3067\u7ba1\u7406\u3059\u308b\u30c4\u30fc\u30eb\u3001\u3068\u306e\u3053\u3068(\u5b9f\u969b\u306e\u4f7f\u7528\u4f8b\u306a\u3069\u306f<a href=\"https:\/\/kakakakakku.hatenablog.com\/entry\/2020\/04\/22\/090002\" target=\"_blank\" rel=\"noopener\">kakakakakku\u3055\u3093\u306e\u8a18\u4e8b<\/a>\n\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059)\u3002\n\u305d\u308c\u306f\u7d20\u6575\u3063\u307d\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u89e6\u3063\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u5b9f\u969b\u826f\u3044\u7269\u3063\u307d\u3044\u611f\u3058\u306f\u3042\u3063\u305f\u3082\u306e\u306e\u3001TOML\u3068\u3044\u3046\u306e\u304c(\u500b\u4eba\u7684\u306b)\u3064\u3089\u3044\u3057\u3001released\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306fexport\u304c\u3067\u304d\u306a\u3044(\u6a5f\u80fd\u81ea\u4f53\u306fmaster\u306b\u3042\u308b\u3082\u306e\u306e\u3001\u4e00\u5e74\u524d\u306b\u6a5f\u80fd\u958b\u767a\u3055\u308c\u3066\u304b\u3089\u30ea\u30ea\u30fc\u30b9\u304c\u6253\u305f\u308c\u3066\u3044\u306a\u3044\u3001\u3068\u3044\u3046\u70b9\u304c\u3061\u3087\u3063\u3068\u4e0d\u5b89)\u3068\u3044\u3046\u4e8c\u70b9\u304c\u6c17\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u7279\u306bTOML\u306f\u3069\u3046\u306b\u3082\u597d\u304d\u306b\u306a\u308c\u305a\u3001\u3084\u306f\u308aYAML\u3067\u66f8\u304d\u305f\u3044\u3001\u3068\u3044\u3046\u6c17\u6301\u3061\u304c\u5f37\u304b\u3063\u305f+GW\u306e\u81ea\u7531\u7814\u7a76\u304c\u6c7a\u307e\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u81ea\u524d\u3067\u66f8\u304d\u76f4\u3057\u3001\u3053\u308c\u3092Gmail as Code (\u4eca\u306ffilter\u3057\u304b\u7ba1\u7406\u3067\u304d\u306a\u3044\u3051\u3069\u3001\u4ed6\u306e\u8a2d\u5b9a\u3082\u7ba1\u7406\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u305f\u3044)\u304b\u3089<a href=\"https:\/\/github.com\/nasa9084\/gmac\" target=\"_blank\" rel=\"noopener\">gmac<\/a>\n\u3068\u540d\u4ed8\u3051\u307e\u3057\u305f\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">YAML\u3067\u8a2d\u5b9a\u3057\u305f\u3044<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1254720750264541184?ref_src=twsrc%5Etfw\">April 27, 2020<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<h2 id=\"gmac---gmail-as-code\">GMaC - Gmail as Code<\/h2>\n<p>\u5927\u67a0\u306e\u6319\u52d5\u3068\u3057\u3066\u306f\u3001jessfraz\/gmailfilters\u3068\u305d\u308c\u307b\u3069\u5909\u308f\u308a\u307e\u305b\u3093\u3002Gmail API\u3092<a href=\"https:\/\/pkg.go.dev\/google.golang.org\/api\/gmail\/v1\" target=\"_blank\" rel=\"noopener\">google.golang.org\/api\/gmail\/v1<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u53e9\u3044\u3066\u3044\u308b\u306e\u3082\u540c\u3058\u3067\u3059\u3002\njessfraz\/gmailfilters\u3068\u6bd4\u8f03\u3057\u3066\u3001\u9055\u3046\u70b9\u3068\u3057\u3066\u6b21\u306e\u69d8\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059:<\/p>\n<ul>\n<li>TOML\u3067\u306f\u306a\u304fYAML\u3067\u8a2d\u5b9a\u3092\u8a18\u8ff0\u3059\u308b<\/li>\n<li>Gmail Web UI\u306b\u6bd4\u8f03\u7684\u8fd1\u3044\u8a2d\u5b9a\u9805\u76ee\n<ul>\n<li>jessfraz\/gmailfilters\u3082\u5b9f\u88c5\u3057\u3066\u3044\u308bArchive\u3084Delete\u306a\u3069\u306f\u3082\u3061\u308d\u3093\u5b9f\u88c5<\/li>\n<li>\u6761\u4ef6\/\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u500b\u5225\u306b\u8a2d\u5b9a\u3059\u308b\u5f62\u306b\u3057\u305f\n<ul>\n<li>jessfraz\/gmailfilters\u307f\u305f\u3044\u306b\u5168\u90e8\u307e\u3068\u307e\u3063\u3066\u308b\u3068\u308f\u304b\u308a\u306b\u304f\u304f\u306a\u3044\uff1f<\/li>\n<\/ul>\n<\/li>\n<li><code>larger_than<\/code>\u3084<code>subject<\/code>\u3001<code>has_attachment<\/code>\u3068\u3044\u3063\u305f\u6761\u4ef6\u3082\u8ffd\u52a0<\/li>\n<li><code>star<\/code>\u3084<code>important<\/code>\u3001<code>category<\/code>(\u79c1\u306f\u4f7f\u3063\u3066\u306a\u3044\u3051\u3069)\u3068\u3044\u3063\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u3082\u8ffd\u52a0<\/li>\n<\/ul>\n<\/li>\n<li>OAuth\u306e\u969b\u306b\u8a8d\u8a3c\/\u8a8d\u53ef\u30da\u30fc\u30b8\u3092\u81ea\u52d5\u3067\u958b\u304d\u3001OAuth callback\u3082\u53d7\u3051\u308b\n<ul>\n<li>jessfraz\/gmailfilters\u306fURL\u3068\u3001OAuth token\u3092\u30b3\u30d4\u30da\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b<\/li>\n<\/ul>\n<\/li>\n<li><code>credentials.json<\/code>\u304a\u3088\u3073<code>token.json<\/code> (OAuth\u306e\u8a8d\u8a3c\u30d5\u30a1\u30a4\u30eb)\u3092\u7279\u5b9a\u306e\u5834\u6240\u306b\u7f6e\u304d\u3001\u305d\u3053\u304b\u3089\u8aad\u307f\u8fbc\u3080\n<ul>\n<li>jessfraz\/gmailfilters\u306f\u6bce\u56de\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b<\/li>\n<\/ul>\n<\/li>\n<li>kubectl-like\u306a\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u914d\u7f6e\n<ul>\n<li>get\/apply\u304c\u500b\u5225\u306b\u884c\u3048\u3001(k8s\u306b\u6163\u308c\u3066\u3044\u308b\u4eba\u306f)\u6bd4\u8f03\u7684\u306a\u3058\u307f\u3084\u3059\u3044\u306f\u305a<\/li>\n<li>jessfraz\/gmailfilters\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u30d5\u30e9\u30b0\u3067\u6319\u52d5\u3092\u5909\u3048\u308b\u65b9\u91dd\u3063\u307d\u3044<\/li>\n<\/ul>\n<\/li>\n<li>CI\u3067\u4f7f\u3044\u3084\u3059\u3044(\u3068\u601d\u3046)\n<ul>\n<li><code>credentials.json<\/code>\u3092\u6a19\u6e96\u5165\u529b\u304b\u3089\u8aad\u3081\u308b<\/li>\n<li>OAuth refresh token\u3092\u74b0\u5883\u5909\u6570\u3067\u6307\u5b9a\u3067\u304d\u308b<\/li>\n<li>jessfraz\/gmailfilters\u306f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u307f<\/li>\n<\/ul>\n<\/li>\n<li>(\u305d\u3053\u305d\u3053)\u3061\u3083\u3093\u3068\u30c6\u30b9\u30c8\u3092\u66f8\u3044\u3066\u3044\u308b\n<ul>\n<li>\u5168\u90e8\u3068\u306f\u3044\u3048\u306a\u3044\u3051\u3069\u30fb\u30fb\u30fb<\/li>\n<li>jessfraz\/gmailfilters\u306f\u307b\u3068\u3093\u3069\u30c6\u30b9\u30c8\u304c\u306a\u304f\u3066\u3061\u3087\u3063\u3068\u6016\u3044<\/li>\n<\/ul>\n<\/li>\n<li>(\u305d\u3053\u305d\u3053)\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u6574\u5099\u3057\u3066\u3042\u308b\n<ul>\n<li>README.md\u3092\u9811\u5f35\u3063\u3066\u66f8\u3044\u305f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u9006\u306bjessfraz\/gmailfilters\u304c\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u3001<code>queryOr<\/code>\u3084<code>archiveUnlessToMe<\/code>\u306f\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002OR\u3068\u304b\u666e\u901a\u306b\u66f8\u3051\u3070\u3088\u304b\u308d\u3046\u3002<\/p>\n<h3 id=\"manage-with-ci\">Manage with CI<\/h3>\n<p>\u5b9f\u969b\u306b\u3001GitHub Actions\u3092\u4f7f\u7528\u3057\u3066\u81ea\u5206\u306eGmail Filter\u3092\u7ba1\u7406\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002\u7ba1\u7406\u7528\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306b<code>filters.yml<\/code>\u3068\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb(\u3053\u308c\u81ea\u4f53\u3082 <code>gmac get filters -o yaml &gt; filters.yml<\/code> \u3068\u3057\u3066\u51fa\u529b\u3057\u305f\u3082\u306e)\u3068\u3001\u6b21\u306eGitHub Actions\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u304a\u3044\u3066push\u3054\u3068\u306b\u9069\u7528\u3059\u308b\u3088\u3046\u306b\u69cb\u6210\u3057\u307e\u3057\u305f\u3002<\/p>"},{"title":"YOBYBO CARD20","link":"https:\/\/blog.web-apps.tech\/yobybo-card20\/","pubDate":"Mon, 27 Apr 2020 08:56:45 +0000","guid":"https:\/\/blog.web-apps.tech\/yobybo-card20\/","description":"<ins datetime=\"2020-05-19T14:32:37+09:00\">\n2020-05-19\u8ffd\u8a18:\n\u5916\u51fa\u6642\u306bPixel 4\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u4f7f\u7528\u3057\u305f\u3089\u3001\u97f3\u306e\u9014\u5207\u308c\u304c\u6fc0\u3057\u304f\u3001\u6b63\u76f4\u4f7f\u3044\u7269\u306b\u306a\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u300c\u4e0d\u826f\u54c1\u3067\u306f\uff1f\u300d\u3068\u554f\u3044\u5408\u308f\u305b\u3092\u3057\u305f\u3089\u8fd4\u54c1\u30fb\u8fd4\u91d1\u5bfe\u5fdc\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u898b\u305f\u76ee\u3001\u30b5\u30a4\u30ba\u611f\u3001\u88c5\u7740\u611f\u306a\u3069\u306f\u826f\u304b\u3063\u305f\u3060\u3051\u306b\u6b8b\u5ff5\u3067\u3059\u3002\n<\/ins>\n<p>\u5148\u3060\u3063\u3066Makuake\u3067\u5fdc\u63f4\u8cfc\u5165\u3057\u305f<a href=\"https:\/\/www.makuake.com\/project\/card20\/\" target=\"_blank\" rel=\"noopener\">CARD20<\/a>\n\u304c\u5c4a\u3044\u305f\u306e\u3067\u3001\u958b\u5c01\u30ec\u30d3\u30e5\u30fc\u3057\u307e\u3059\u3002<\/p>\n<p>CARD20\u306f\u975e\u5e38\u306b\u8584\u3044\u5de6\u53f3\u5b8c\u5168\u72ec\u7acb\u578b\u306e\u30ef\u30a4\u30e4\u30ec\u30b9\u30a4\u30e4\u30db\u30f3\u3067\u3001\u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0Makuake\u3067\u51fa\u8cc7\u3092\u52df\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u79c1\u30821\u6708\u672b\u9803\u306b\u652f\u63f4\u3092\u3057\u3001\u7d06\u4f59\u66f2\u6298\u3042\u308a(\u30b3\u30ed\u30ca\u306e\u305b\u3044\u3067\u3042\u308c\u3053\u308c\u3042\u3063\u305f\u3089\u3057\u3044)\u672c\u65e5\u624b\u5143\u306b\u5c4a\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u3001\u591a\u304f\u306e\u300c\u63d0\u4f9b\u300d\u8a18\u4e8b\u304c\u30a6\u30a7\u30d6\u3067\u5c55\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u672c\u8a18\u4e8b\u306f\u63d0\u4f9b\u3092\u53d7\u3051\u305f\u308f\u3051\u3067\u3082\u306a\u304f\u3001\u81ea\u5206\u3067\u8cb7\u3063\u3066\u306e\u611f\u60f3\u3067\u3059\u3002<\/p>\n<p>\u7279\u7b46\u3059\u3079\u304d\u306f\u305d\u306e\u8584\u3055\u3067\u3001\u3053\u306e\u624b\u306eTWS\u30a4\u30e4\u30db\u30f3\u3067\u3082\u6bd4\u8f03\u7684\u6a19\u6e96\u3068\u601d\u308f\u308c\u308b\u30b5\u30a4\u30ba\u611f\u306e<a href=\"https:\/\/aviot.jp\/product\/te-bd21f\" target=\"_blank\" rel=\"noopener\">AVIOT TE-BD21f<\/a>\n\u306e\u30b1\u30fc\u30b9\u306e\u539a\u3055\u304c3cm\u5f31\u7a0b\u5ea6\u306a\u306e\u306b\u5bfe\u3057\u3001CARD20\u306f\u306a\u3093\u30681.3cm\u3068\u3001TE-BD21f\u306e\u7d04\u534a\u5206\u306e\u539a\u3055\u3067\u3059\u3002Pixel 4 (\u30d5\u30a1\u30d6\u30ea\u30c3\u30af\u30b1\u30fc\u30b9\u4ed8\u304d)\u3088\u308a\u82e5\u5e72\u539a\u3044\u304b\u306a\u3001\u3068\u3044\u3046\u7a0b\u5ea6\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_171634_hu_65100ee0cdeff1bd.jpg\" alt=\"\" \/>\n<\/p>\n<blockquote>\n<p>CARD20\u306e13.4mm\u4e16\u754c\u6700\u8584\u30af\u30e9\u30b9\u306e\u30dc\u30c7\u30a3\u306f\u3001\u304a\u8ca1\u5e03\u3084\u30b8\u30fc\u30f3\u30ba\u306e\u30b3\u30a4\u30f3\u30dd\u30b1\u30c3\u30c8\u306b\u3057\u307e\u3046\u3053\u3068\u304c\u3067\u304d\u3001\u30b3\u30fc\u30c9\u3084\u53ce\u7d0d\u306e\u7169\u308f\u3057\u3055\u304b\u3089\u89e3\u653e\u3055\u308c\u307e\u3059\u3002<\/p>\n<\/blockquote>\n<p>\u3068\u306e\u8aac\u660e\u304c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30da\u30fc\u30b8\u306b\u66f8\u304b\u308c\u3066\u3044\u305f\u3082\u306e\u306e\u3001\u3055\u3059\u304c\u306b1.3cm\u306e\u3082\u306e\u3092\u8ca1\u5e03\u306b\u5165\u308c\u305f\u3089\u90aa\u9b54\u305d\u3046\u3067\u306f\u3042\u308a\u307e\u3059\u3002\u3068\u306f\u3044\u3048\u30b3\u30a4\u30f3\u30dd\u30b1\u30c3\u30c8\u306b\u5165\u308b\u306e\u306f\u306a\u304b\u306a\u304b\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u8fd1\u5e74\u306f\u5e97\u982d\u3067\u8ca9\u58f2\u3055\u308c\u308b\u30a4\u30e4\u30db\u30f3\u306e\u5927\u534a\u304c\u30ab\u30ca\u30eb\u578b\u3067\u3059\u304cCARD20\u306f\u30a4\u30f3\u30ca\u30fc\u30a4\u30e4\u30fc\u578b\u3067\u3059\u3002\u3053\u308c\u306f\u500b\u4eba\u306b\u3088\u3063\u3066\u30d7\u30e9\u30b9\u8a55\u4fa1\u306b\u306a\u308b\u304b\u30de\u30a4\u30ca\u30b9\u8a55\u4fa1\u306b\u306a\u308b\u304b\u3068\u3044\u3046\u306e\u306f\u304b\u306a\u308a\u5206\u304b\u308c\u308b\u3068\u3053\u308d\u3067\u3059\u304c\u3001\u5de6\u53f3\u5b8c\u5168\u72ec\u7acb\u578b\u306e\u30ef\u30a4\u30e4\u30ec\u30b9\u30a4\u30e4\u30db\u30f3\u306e\u9078\u629e\u80a2\u306f\u307b\u3068\u3093\u3069\u5b58\u5728\u3057\u306a\u3044(AirPods\u3068\u305d\u306e\u985e\u4f3c\u54c1+\u03b1\u304f\u3089\u3044)\u73fe\u72b6\u3067\u3001\u30ab\u30ca\u30eb\u578b\u304c\u3042\u307e\u308a\u5f97\u610f\u3067\u306f\u306a\u3044\u79c1\u3068\u3057\u3066\u306f\u304b\u306a\u308a\u5fc3\u304c\u60f9\u304b\u308c\u308b\u88fd\u54c1\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30a6\u30a7\u30d6\u4e0a\u3067\u3055\u3063\u3068\u8abf\u3079\u3066\u3082\u3001\u300c\u30ab\u30ca\u30eb\u578b\u3067\u306f\u306a\u3044\u70b9\u304c\u60dc\u3057\u3044\u300d\u3068\u306e\u8a18\u8ff0\u3092\u898b\u307e\u3059\u304c\u3001\u500b\u4eba\u7684\u306b\u306f\u30ab\u30ca\u30eb\u578b\u3058\u3083\u306a\u3044\u304b\u3089\u3053\u305d\u3001\u300c\u8cb7\u3044\u300d\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165405_hu_3a04b9a9b979a851.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5916\u7bb1\u306f\u81f3\u3063\u3066\u30b7\u30f3\u30d7\u30eb\u3067\u3001\u88fd\u54c1\u3092\u4e0a\u9762\u304b\u3089\u898b\u305f\u5199\u771f\u304c\u767d\u3044\u7bb1\u306b\u5370\u5237\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u84cb\u3068\u5185\u7bb1\u304c\u3074\u3063\u305f\u308a\u5438\u3044\u4ed8\u304f\u3088\u3046\u306a\u30b5\u30a4\u30ba\u611f\u3067\u69cb\u6210\u3055\u308c\u305f\u7bb1\u3001\u3057\u308d\u3044\u5916\u89b3\u3001\u4f59\u8a08\u306a\u7269\u304c\u66f8\u304b\u308c\u3066\u3044\u306a\u3044\u30c7\u30b6\u30a4\u30f3\u3001\u6700\u8fd1\u6d41\u884c\u306e\u30c7\u30b6\u30a4\u30f3\u3068\u3082\u3044\u3048\u307e\u3059\u304c\u3001Apple\u3063\u307d\u3055\u304c\u3042\u308a\u307e\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165410_hu_38d7e0ba26b7bc4a.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u5e95\u9762\u306b\u306f\u30b1\u30fc\u30b9\u304b\u3089\u3060\u3057\u305f\u30a4\u30e4\u30db\u30f3\u306e\u5199\u771f\u3068\u3001\u30e2\u30c7\u30eb\u756a\u53f7\u3092\u306f\u3058\u3081\u3068\u3057\u305f\u4e00\u901a\u308a\u306e\u30b9\u30da\u30c3\u30af\u304c\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002Bluetooth\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f5.0\u3001Makuake\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30da\u30fc\u30b8\u306b\u3088\u308b\u3068Qualcomm QCC3020\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002TWS Plus\u5bfe\u5fdc\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3059\u304c\u3001\u3056\u3093\u306d\u3093\u306a\u304c\u3089Pixel 4\u306fTWS Plus\u306b\u5bfe\u5fdc\u3057\u3066\u304a\u3089\u305a\u3001\u3042\u307e\u308a\u6069\u6075\u3092\u53d7\u3051\u308b\u3053\u3068\u306f\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u9023\u7d9a\u518d\u751f\u6642\u9593\u306f\u7d044\u6642\u9593\u3001\u30b1\u30fc\u30b9\u306e\u30d0\u30c3\u30c6\u30ea\u30fc\u304c\u7d0416\u6642\u9593\u5206\u5145\u96fb\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u5408\u8a08\u3067\u7d0420\u6642\u9593\u4f7f\u7528\u53ef\u80fd\u3068\u306e\u3053\u3068\u3002AVIOT TE-BD21f\u304c\u7d047\u6642\u9593+\u7d0418\u6642\u9593\u306e\u5408\u8a08\u7d0425\u6642\u9593\u3001SONY Xperia Ear Duo\u304c\u7d044\u6642\u9593+\u7d0416\u6642\u9593\u306e\u5408\u8a08\u7d0420\u6642\u9593\u306a\u306e\u3067\u3001\u30b5\u30a4\u30ba\u306e\u5272\u306b\u306f\u6a19\u6e96\u7684\u306a\u4f7f\u7528\u6642\u9593\u3068\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u306b\u601d\u3048\u307e\u3059\u3002<\/p>\n<p>\u7bb1\u306b\u306f\u8a18\u8f09\u304c\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u9632\u6c34\u6027\u80fd\u306fIPX4\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u5c11\u306a\u304f\u3068\u3082\u96e8\u304c\u964d\u308b\u3001\u6c57\u3092\u304b\u304f\u3001\u304f\u3089\u3044\u3067\u306f\u554f\u984c\u304c\u306a\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165445_hu_706ae11d591072b2.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u958b\u5c01\u3059\u308b\u3068\u76f4\u3050\u306b\u672c\u4f53\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002\u6ce8\u6587\u6642\u306b\u30ed\u30b4\u306a\u3057\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e\u3057\u305f\u305f\u3081\u3001\u30a4\u30e4\u30db\u30f3\u672c\u4f53\u306b\u306f\u30ed\u30b4\u304c\u5165\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30da\u30fc\u30b8\u3084\u7bb1\u306b\u63cf\u304b\u308c\u3066\u3044\u305f\u3082\u306e\u3088\u308a\u306f\u6df1\u3044\u9ed2\u3067\u3001\u5149\u6ca2\u611f\u3082\u3042\u307e\u308a\u304d\u3064\u304f\u306a\u304f\u3001\u9ad8\u7d1a\u611f\u3082\u3042\u308a\u306a\u304b\u306a\u304b\u826f\u3044\u8272\u3060\u3068\u304a\u3082\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165459_hu_cb67b12aedf9dbd7.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165504_hu_3952f150bcf57046.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8868\u9762\u306f\u5929\u7a93\u8a2d\u8a08\u306b\u3088\u308a\u30a4\u30e4\u30db\u30f3\u672c\u4f53\u306e\u4e00\u90e8\u304c\u898b\u3048\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6c17\u3065\u304b\u306a\u3044\u3046\u3061\u306b\u306a\u304f\u306a\u3063\u3066\u3044\u305f\u3001\u3068\u3044\u3046\u3053\u3068\u304c\u306a\u304f\u306a\u308b\u3068\u306e\u3053\u3068\u3067\u3059\u304c\u3001\u5b9f\u969b\u306f\u3069\u3046\u306a\u3093\u3067\u3057\u3087\u3046\u304b\u3002\u30bf\u30c3\u30c1\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u5bfe\u5fdc\u3068\u8a00\u3046\u3053\u3068\u3067\u3001\u304a\u305d\u3089\u304f\u9280\u8272\u306e\u90e8\u5206\u3092\u30bf\u30c3\u30c1\u3057\u3066\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u3057\u3087\u3046\u3002AVIOT TE-BD21f\u306f\u30dc\u30bf\u30f3\u5f0f\u3067\u3001\u3046\u307e\u304f\u62bc\u3055\u3048\u3066\u64cd\u4f5c\u3057\u306a\u3044\u3068\u8033\u306b\u3055\u3089\u306b\u62bc\u3057\u8fbc\u3080\u5f62\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u3068\u3044\u3046\u611f\u3058\u3060\u3063\u305f\u306e\u3067\u3001\u30bf\u30c3\u30c1\u3067\u64cd\u4f5c\u3067\u304d\u308b\u306e\u306f\u30d7\u30e9\u30b9\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002(\u611f\u5ea6\u304c\u60aa\u3044or\u826f\u3059\u304e\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u304c\u306a\u3051\u308c\u3070)<\/p>\n<p>\u88cf\u9762\u306b\u306f\u6280\u9069\u3092\u306f\u3058\u3081\u3068\u3057\u305f\u5404\u7a2e\u6cd5\u4ee4\u95a2\u4fc2\u306e\u30de\u30fc\u30af\u3068\u30d0\u30c3\u30c6\u30ea\u30fc\u5bb9\u91cf\u3001\u96fb\u6e90\u95a2\u9023\u60c5\u5831\u3001\u751f\u7523\u56fd\u3001\u30e2\u30c7\u30eb\u540d\u306a\u3069\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\u5e73\u9762\u306b\u5bfe\u3057\u3066\u5782\u76f4\u306b\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3059\u306e\u306f\u3069\u3046\u306a\u306e\u304b\u3001\u3068\u304a\u3082\u308f\u306a\u304f\u3082\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u3053\u306e\u8584\u3055\u306a\u3089\u4ed5\u65b9\u304c\u7121\u304b\u3063\u305f\u306e\u3067\u3057\u3087\u3046\u3002\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u306fUSB Type-C\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165528_hu_dc02e4bab0bc4ff3.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4ed8\u5c5e\u54c1\u3068\u3057\u3066\u8aac\u660e\u66f8\u3068\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u3002\u30b1\u30fc\u30d6\u30eb\u306fUSB Type A to Type C\u306e\u305d\u308c\u307b\u3069\u9577\u304f\u306a\u3044\u7269\u3067\u3059\u3002\u8aac\u660e\u66f8\u306f\u82f1\u8a9e\u3068\u65e5\u672c\u8a9e\u3067\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u65e5\u672c\u8a9e\u306e\u4e00\u90e8\u304c\u4e2d\u56fd\u8a9e\uff1f\u306b\u306a\u3063\u305f\u308a\u3057\u3066\u3044\u3066\u5fae\u5999\u306b\u602a\u3057\u3055\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165749_hu_e18c0502545b5c59.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u672c\u4f53\u30b1\u30fc\u30b9\u3092\u7a7a\u3051\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3002\u7a7a\u3051\u308b\u3068\u304d\u306b\u82e5\u5e72\u30a4\u30e4\u30db\u30f3\u306b\u5e72\u6e09\u3059\u308b\u3088\u3046\u3067\u3001\u3059\u3053\u3057\u30a4\u30e4\u30db\u30f3\u304c\u3050\u3089\u3063\u3068\u3057\u307e\u3059\u3002\u53d6\u308a\u843d\u3068\u3057\u3066\u3057\u307e\u3046\u307b\u3069\u3067\u306f\u306a\u3044\u306e\u3067\u3068\u304f\u306b\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u7e70\u308a\u8fd4\u3057\u958b\u3051\u9589\u3081\u3057\u3066\u3044\u305f\u3089\u3059\u3053\u3057\u30a4\u30e4\u30db\u30f3\u304c\u50b7\u3064\u304f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>YOBYBO\u30ed\u30b4\u3068L\/R\u306e\u6587\u5b57\u306f\u30a8\u30f3\u30dc\u30b9\u52a0\u5de5\u3068\u3044\u3046\u304b\u3001\u3059\u3053\u3057\u5468\u308a\u304b\u3089\u6d6e\u304d\u51fa\u305f\u3088\u3046\u306a\u51e6\u7406\u306b\u306a\u3063\u3066\u3044\u3066\u3001\u9ad8\u7d1a\u611f\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165812_hu_535e1b31fcadfcc3.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u9589\u3058\u308b\u3068\u771f\u3093\u4e2d\u304c\u5149\u308a\u307e\u3059\u3002\u5145\u96fb\u6b8b\u91cf\u306e\u8868\u793a\u3067\u3057\u3087\u3046\u306d\u3002\u591a\u5206\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yobybo-card20\/images\/IMG_20200427_165831_hu_460a3d801c720929.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30a4\u30e4\u30db\u30f3\u306e\u5185\u5074\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30b1\u30fc\u30b9\u304b\u3089\u53d6\u308a\u51fa\u3059\u969b\u3001\u5c11\u3057\u53d6\u308a\u51fa\u3057\u306b\u304f\u3044\u304b\u3082\u3001\u3068\u3044\u3046\u5370\u8c61\u3092\u3046\u3051\u307e\u3057\u305f\u304c\u6163\u308c\u308c\u3070\u591a\u5206\u5927\u304d\u306a\u554f\u984c\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u5145\u96fb\u7aef\u5b50\u90e8\u5206\u306b\u7d76\u7e01\u30d5\u30a3\u30eb\u30e0\u304c\u3064\u3044\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u5265\u304c\u3057\u3066\u5145\u96fb\u3092\u958b\u59cb\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u3060\u97f3\u697d\u3092\u518d\u751f\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u97f3\u3084\u63a5\u7d9a\u306e\u5b89\u5b9a\u5ea6\u306a\u3069\u306b\u3064\u3044\u3066\u306f\u306a\u306b\u3082\u30b3\u30e1\u30f3\u30c8\u3067\u304d\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u958b\u5c01\u3057\u3066\u307f\u3066\u306e\u898b\u305f\u76ee\u3060\u3051\u3067\u3044\u3046\u306a\u3089\u304b\u306a\u308a\u6e80\u8db3\u5ea6\u304c\u9ad8\u3044\u5546\u54c1\u3068\u306a\u3063\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u3002AVIOT TE-BD21f\u3084Xperia Ear Duo\u306e\u30b1\u30fc\u30b9\u3084\u672c\u4f53\u304c\u30d7\u30e9\u30d7\u30e9\u3057\u3044\u306e\u306b\u5bfe\u3057\u3066\u3001CARD20\u306f\u305d\u3046\u3044\u3063\u305f\u5b89\u3063\u307d\u3055\u306f\u3042\u307e\u308a\u611f\u3058\u3089\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u306e\u5f71\u97ff\u3092\u53d7\u3051\u3066\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3092\u3057\u3066\u3044\u307e\u3059\u304b\u3089\u3001\u30ef\u30a4\u30e4\u30ec\u30b9\u306e\u30a4\u30e4\u30db\u30f3\u3092\u4f7f\u7528\u3059\u308b\u6a5f\u4f1a\u304c\u6fc0\u6e1b\u3057\u3066\u306f\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u6a5f\u3092\u898b\u3066\u4f7f\u3063\u3066\u30ec\u30d3\u30e5\u30fc\u8a18\u4e8b\u3067\u3082\u66f8\u3051\u305f\u3089\u306a\u3001\u3068\u306f\u304a\u3082\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"\u30ae\u30e7\u30fc\u30b6\u00d7\u30e9\u30b6\u30cb\u30a2","link":"https:\/\/blog.web-apps.tech\/gyolasagna\/","pubDate":"Sun, 19 Apr 2020 06:20:25 +0000","guid":"https:\/\/blog.web-apps.tech\/gyolasagna\/","description":"<blockquote>\n<p>\u30e9\u30b6\u30cb\u30a2\uff08\u5358\u6570\u5f62: lasagna\uff09\u3042\u308b\u3044\u306f\u30e9\u30b6\u30cb\u30a8\uff08\u8907\u6570\u5f62: lasagne\uff09\u306f\u3001\u30a4\u30bf\u30ea\u30a2\u306e\u30ab\u30f3\u30d1\u30cb\u30a2\u5dde\u30ca\u30dd\u30ea\u306e\u540d\u7269\u3067\u3042\u308b\u3001\u5e73\u305f\u3044\u677f\u72b6\u306e\u30d1\u30b9\u30bf\u306e\u4e00\u7a2e\u3001\u307e\u305f\u306f\u305d\u308c\u3092\u7528\u3044\u305f\u30d1\u30b9\u30bf\u6599\u7406\u3002 \u30a4\u30bf\u30ea\u30a2\u8a9e\u306e\u767a\u97f3\u3067\u306f\u30e9\u30b6\u30fc\u30cb\u30e3\u3084\u30e9\u30b6\u30fc\u30cb\u30a7\u306b\u8fd1\u3044\u3002<\/p>\n<p>\u6599\u7406\u306e\u5834\u5408\u306f\u3001\u30a4\u30bf\u30ea\u30a2\u8a9e\u3067\u300c\u30aa\u30fc\u30d6\u30f3\u3067\u713c\u304d\u4e0a\u3052\u305f\u30e9\u30b6\u30cb\u30a2\u300d\u3092\u610f\u5473\u3059\u308b\u30e9\u30b6\u30fc\u30cb\u30e3\u30fb\u30a2\u30eb\u30fb\u30d5\u30a9\u30eb\u30ce (lasagna al forno) \u3068\u547c\u3076\u3053\u3068\u3082\u3042\u308b\u3002\u6df1\u3055\u306e\u3042\u308b\u8010\u71b1\u5bb9\u5668\u306b\u3001\u30d9\u30b7\u30e3\u30e1\u30eb\u30bd\u30fc\u30b9\u3001\u30df\u30fc\u30c8\u30bd\u30fc\u30b9\u3001\u30e9\u30b6\u30cb\u30a2\u3001\u30c1\u30fc\u30ba\u3092\u4f55\u5c64\u304b\u91cd\u306d\u3001\u6700\u4e0a\u6bb5\u306e\u30d9\u30b7\u30e3\u30e1\u30eb\u30bd\u30fc\u30b9\u306b\u713c\u304d\u8272\u304c\u3064\u304f\u3088\u3046\u306b\u30d0\u30bf\u30fc\u3092\u4e57\u305b\u3066\u3001\u30aa\u30fc\u30d6\u30f3\u3067\u713c\u3044\u305f\u3082\u306e\u3002<\/p>\n<\/blockquote>\n<p>\u9903\u5b50\u3001\u3059\u306a\u308f\u3061\u8584\u3044\u30d1\u30b9\u30bf(\u5c0f\u9ea6\u7c89\u306a\u306e\u3067\u5927\u4f53\u4e00\u7dd2\u3067\u3059)\u3068\u633d\u8089\u306e\u96c6\u5408\u4f53\u306b\u30c8\u30de\u30c8\u30bd\u30fc\u30b9\u3068\u30c1\u30fc\u30ba\u3092\u8f09\u305b\u3066\u713c\u3044\u305f\u3089\u5927\u4f53\u30e9\u30b6\u30cb\u30a2\u306b\u306a\u308a\u305d\u3046\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u4f5c\u308a\u307e\u3057\u305f\u3002\u30d9\u30b7\u30e3\u30e1\u30eb\u306f\u9762\u5012\u306a\u306e\u3067\u7701\u7565\u3057\u307e\u3059\u3002\u9069\u5f53\u306b\u30db\u30ef\u30a4\u30c8\u30bd\u30fc\u30b9\u3092\u8cb7\u3063\u3066\u304f\u308b\u3068\u304b\u3001\u30d5\u30ec\u30fc\u30af\u30bf\u30a4\u30d7\u306e\u30db\u30ef\u30a4\u30c8\u30bd\u30fc\u30b9\u3068\u304b\u3092\u8cb7\u3063\u3066\u304f\u308c\u3070\u826f\u3044\u611f\u3058\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u5bb6\u306b\u306a\u304b\u3063\u305f\u306e\u3067\u8ae6\u3081\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_134830_hu_7dd4a1e8584a8b63.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6211\u304c\u5bb6\u306b\u306f<a href=\"http:\/\/www.mansyu.co.jp\/\" target=\"_blank\" rel=\"noopener\">\u4e09\u5272\u3046\u307e\u3044!!<\/a>\n\u306e\u51b7\u51cd\u9903\u5b50\u304c\u5e38\u5099\u3055\u308c\u3066\u304a\u308a\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u3086\u3067\u3066\u3044\u304d\u307e\u3059\u3002\u304a\u597d\u307f\u306b\u3088\u3063\u3066\u306f\u713c\u3044\u3066\u3082\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_134832-1_hu_7eb933ca763a249d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7389\u306d\u304e\u304c\u4f59\u3063\u3066(\uff1f)\u3044\u305f\u306e\u3067\u3044\u308c\u3088\u3046\u3068\u601d\u3044\u7acb\u3061\u9069\u5f53\u306b\u7092\u3081\u3066\u3044\u304d\u307e\u3059\u3002\u3053\u306e\u3042\u3068\u9069\u5f53\u306b\u523b\u307f\u30cb\u30f3\u30cb\u30af\u3092\u52a0\u3048\u3066\u9999\u308a\u3092\u8db3\u3057\u3066\u307f\u305f\u308a\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_134957_hu_6dd4015dba8c4edf.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30c8\u30de\u30c8\u30bd\u30fc\u30b9\u306f\u3053\u3061\u3089\u3092\u4f7f\u3044\u307e\u3059\u3002\u30ab\u30eb\u30c7\u30a3\u3067\u8cb7\u3048\u308b\u3082\u306e\u3067\u3001\u7d50\u69cb\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_135155_hu_12e170c93bf438a4.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3060\u3070\u3041\u3002\u8efd\u304f\u6c34\u5206\u3092\u98db\u3070\u3057\u307e\u3057\u3087\u3046\u3002\u304a\u597d\u307f\u3067\u306a\u3093\u304b\u30cf\u30fc\u30d6\u3068\u304b\u5165\u308c\u3066\u3082\u826f\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_135418-1_hu_83ae3232d36e594d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8010\u71b1\u76bf\u306b\u3086\u3067\u305f\u9903\u5b50\u3092\u4e26\u3079\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_135534_hu_e0d42bf2724e866e.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30bd\u30fc\u30b9\u3092\u304b\u3051\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_135710_hu_2f66972bc05383d6.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30c1\u30fc\u30ba\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_140320_hu_b128f29c78938d12.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30aa\u30fc\u30d6\u30f3\/\u30aa\u30fc\u30d6\u30f3\u30c8\u30fc\u30b9\u30bf\u30fc\u3067\u826f\u3044\u611f\u3058\u306b\u306a\u308b\u307e\u3067\u713c\u304d\u307e\u3059\u3002\u9903\u5b50\u3082\u30bd\u30fc\u30b9\u3082\u4e88\u3081\u706b\u3092\u901a\u3057\u3066\u308b\u306e\u3067\u3001\u30c1\u30fc\u30ba\u304c\u826f\u3044\u611f\u3058\u306b\u306a\u308c\u3070OK\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gyolasagna\/images\/IMG_20200419_140359_hu_4dc135a798a144fd.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u304a\u597d\u307f\u3067\u30d0\u30fc\u30ca\u30ea\u30f3\u30b0\u3057\u307e\u3057\u3087\u3046\u3002\u9999\u308a\u304c\u7acb\u3063\u3066\u3088\u308a\u65e8\u305d\u3046\u611f\u304c\u5897\u3057\u307e\u3059\u3002<\/p>\n<p>\u3044\u3056\u5b9f\u98df\u3002\u3053\u308c\u306f\u307e\u3041\u30e9\u30b6\u30cb\u30a2\u7684\u306a\u7269\u4f53\u3068\u3057\u3066\u5341\u5206\u6226\u3048\u307e\u3059\u3002\u30d9\u30b7\u30e3\u30e1\u30eb\u3092\u5165\u308c\u305f\u3089\u3082\u3063\u3068\u30e9\u30b6\u30cb\u30a2\u306b\u306a\u308a\u305d\u3046\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u305d\u3053\u307e\u3067\u3084\u308b\u3068\u3082\u3046\u305d\u308c\u306f\u666e\u901a\u306b\u30e9\u30b6\u30cb\u30a2\u3092\u4f5c\u3063\u305f\u65b9\u304c\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>"},{"title":"\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2 \u30ea\u30de\u30b9\u30bf\u30fc\u30c9","link":"https:\/\/blog.web-apps.tech\/aeron-remastered\/","pubDate":"Wed, 15 Apr 2020 09:24:39 +0000","guid":"https:\/\/blog.web-apps.tech\/aeron-remastered\/","description":"<p>\u8af8\u822c\u3042\u308a\u3001\u30aa\u30d5\u30a3\u30b9\u3067\u3082\u4f7f\u7528\u3057\u3066\u3044\u308b\u3001\u6700\u9ad8\u306e\u6905\u5b50\u3068\u540d\u9ad8\u3044<a href=\"https:\/\/storesystem.hermanmiller.co.jp\/fs\/hmjapan\/AER1B23DWALPG1G1G1BBBK23103\" target=\"_blank\" rel=\"noopener\">\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2<\/a>\n\u3092\u304b\u306a\u308a\u304a\u5b89\u304f\u8cfc\u5165\u3067\u304d\u308b\u3068\u3044\u3046\u6a5f\u4f1a\u3092\u9802\u6234\u3057\u305f\u306e\u3067\u3001COVID-19\u306e\u5f71\u97ff\u3092\u53d7\u3051\u3066\u5b8c\u5168\u306b\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3092\u3057\u3066\u3044\u308b\u3053\u3068\u3082\u3042\u3063\u3066\u8cfc\u5165\u3092\u6c7a\u610f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u304a\u305d\u3089\u304f\u30aa\u30d5\u30a3\u30b9\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u7269\u306f\u65e7\u578b\u306e\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2\u306a\u306e\u3067\u3059\u3051\u308c\u3069\u3082\u3001\u4eca\u56de\u8cfc\u5165\u3057\u305f\u306e\u306f(\u65b0\u54c1\u306a\u306e\u3067\u5f53\u7136\u3067\u3059\u304c)\u73fe\u884c\u306e\u300c\u30a2\u30fc\u30ed\u30f3 \u30ea\u30de\u30b9\u30bf\u30fc\u30c9\u300d\u3001\u578b\u756a\u3067\u8a00\u3046\u3068<code>AER1B23DW ALP G1 G1 G1 BB BK 23103<\/code>\u3068\u3044\u3046\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174205_hu_9dfd50408bdb379a.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6ce8\u6587\u3092\u3057\u3066\u652f\u6255\u3044\u3092\u3057\u3066\u304b\u3089\u3061\u3087\u3046\u3069\u4e00\u9031\u9593\u3067\u5c4a\u304d\u307e\u3057\u305f\u3002\u8ca9\u58f2\u5143\u306f<a href=\"http:\/\/www.gregorylyon.com\/ja\/\" target=\"_blank\" rel=\"noopener\">Gregory Lyon\u793e<\/a>\n\u3067\u3001\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2\u3092\u306f\u3058\u3081\u3068\u3059\u308b\u30cf\u30fc\u30de\u30f3\u30df\u30e9\u30fc\u306e\u30aa\u30d5\u30a3\u30b7\u30e3\u30eb\u30c7\u30a3\u30fc\u30e9\u30fc\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174326_hu_4660b91f7812b898.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306b\u306f\u53d6\u308a\u6271\u3044\u3084\u6301\u3061\u4e0a\u3052\u308b\u969b\u306f\u4e8c\u4eba\u3067\u3084\u308a\u306a\u3055\u3044\u3001\u3068\u306e\u6ce8\u610f\u66f8\u304d\u3002\u91cd\u3044\u304b\u3089\u3068\u306e\u3053\u3068\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u91cd\u3055\u3088\u308a\u3082\u5927\u304d\u3055\u304c\u3084\u3070\u304f\u3066\u3001\u6211\u304c\u5bb6\u306e\u968e\u6bb5(\u6211\u304c\u5bb6\u306f\u4e00\u968e\u306b\u7384\u95a2\u304c\u3042\u308a\u3001\u5185\u968e\u6bb5\u3092\u4e0a\u3063\u3066\u4e8c\u968e\u304c\u5c45\u4f4f\u30b9\u30da\u30fc\u30b9\u3068\u3044\u3046\u69cb\u6210)\u306f\u5e45\u304c\u3074\u3063\u305f\u308a\u3067\u3001\u624b\u3059\u308a\u306e\u4e0a\u3092\u901a\u3055\u306a\u3044\u3068\u3060\u3081\u3067\u3057\u305f\u3002\u8cfc\u5165\u3092\u691c\u8a0e\u3057\u3066\u3044\u308b\u65b9\u306f\u8981\u6ce8\u610f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174434_hu_3d3e7072e353e6a9.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u3092\u7a7a\u3051\u308b\u3068\u4e2d\u304b\u3089\u7bb1\u304c\u3002\u3053\u308c\u306f\u591a\u5206\u30b9\u30da\u30fc\u30b5\u30fc\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174522_hu_231b171d9e38028c.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5916\u7bb1\u306f\u4e0b\u90e8\u304c\u7a7a\u3044\u3066\u3044\u3066\u3001\u4e0a\u304b\u3089\u30b9\u30dd\u30c3\u3068\u53d6\u308a\u5916\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174608_hu_2cc93772f073eb71.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3054\u5bfe\u9762\uff01\uff01\uff01\u305d\u3046\u305d\u3046\u3001\u3053\u308c\u3067\u3059\u3053\u308c\u3002\u3046\u3072\u3087\u30fc\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_174622-2_hu_bbf454f4e3157b66.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8aac\u660e\u66f8\u304c\u5ea7\u5e2d\u4e0b\u306e\u30ce\u30d6\u306b\u304b\u304b\u3063\u3066\u307e\u3057\u305f\u3002\u7279\u306b\u7d50\u3070\u308c\u3066\u3044\u308b\u3068\u304b\u3044\u3046\u8a33\u3067\u306f\u306a\u304f\u3001\u68d2\u72b6\u306e\u7269\u306b\u5f15\u3063\u304b\u304b\u3063\u3066\u3044\u308b\u3060\u3051\u306a\u306e\u3067\u3001\u306f\u3055\u307f\u3068\u304b\u3082\u5fc5\u8981\u7121\u304f\u53d6\u308a\u5916\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3080\u3057\u308d\u914d\u9001\u9014\u4e2d\u306b\u53d6\u308c\u306a\u304b\u3063\u305f\u306e\u304c\u3059\u3054\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/aeron-remastered\/images\/IMG_20200415_175459-1_hu_6f6a1aaddf7c6c4.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30c7\u30b9\u30af\u306b\u5408\u308f\u305b\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u306b\u3002\u673a\u306e\u4e0a\u304c\u3042\u307e\u308a\u304d\u308c\u3044\u3067\u306f\u306a\u3044\u306e\u306f\u3054\u611b\u656c\u3068\u8a00\u3046\u3053\u3068\u3067\u30fb\u30fb\u30fb<\/p>\n<p>\u3061\u306a\u307f\u306b\u3053\u308c\u307e\u3067\u4f7f\u3063\u3066\u3044\u305f\u6905\u5b50\u306f<a href=\"https:\/\/www.nitori-net.jp\/ec\/product\/6620573s\/\" target=\"_blank\" rel=\"noopener\">\u30cb\u30c8\u30ea\u306e\u30ea\u30ab\u30eb\u30c9PU\u30d6\u30ec\u30b9\u30ec\u30b6\u30fcBK<\/a>\n\u3067\u3057\u305f\u3002\u3053\u308c\u306f\u3053\u308c\u3067\u306a\u304b\u306a\u304b\u826f\u3044\u6905\u5b50\u3060\u3063\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u624b\u653e\u3059\u306e\u304c\u60dc\u3057\u3044\u3001\u3068\u3044\u3046\u6c17\u6301\u3061\u304c\u3057\u3066\u3044\u307e\u3059\u3002\u30b9\u30da\u30fc\u30b9\u306f\u3042\u308b\u3057\u3001\u3068\u308a\u3042\u3048\u305a\u7f6e\u3044\u3066\u304a\u3044\u3066\u3082\u826f\u3044\u304b\u306a\u30fb\u30fb\u30fb\n\u30b2\u30fc\u30e0\u3059\u308b\u3068\u304d\u3068\u304b\u3001\u672c\u8aad\u3080\u3068\u304d\u306f\u3075\u304b\u3075\u304b\u3057\u3066\u308b\u65b9\u304c\u5b09\u3057\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2\u306f\u57fa\u672c\u7684\u306b\u4fdd\u8a3c\u304c12\u5e74\u306a\u306e\u3067\u3001\u9577\u3044\u304a\u4ed8\u304d\u5408\u3044\u306b\u306a\u308b\u898b\u8fbc\u307f\u3067\u3059\u3002\u3088\u308d\u3057\u304f\u3002<\/p>"},{"title":"2020\u5e743\u6708\u6642\u70b9\u3067\u306e\u81ea\u5b85\u6a5f\u6750\u30fb\u6d88\u8017\u54c1\u985e\u307e\u3068\u3081","link":"https:\/\/blog.web-apps.tech\/2020-april-goods\/","pubDate":"Sun, 12 Apr 2020 10:05:44 +0000","guid":"https:\/\/blog.web-apps.tech\/2020-april-goods\/","description":"<p>\u81ea\u5206\u7528\u306e\u30e1\u30e2\u307f\u305f\u3044\u306a\u3082\u306e\u3067\u3059\u304c\u3001\u73fe\u6642\u70b9(2020-04-12)\u3067\u81ea\u5b85\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u5bb6\u96fb\u3084\u9053\u5177\u3001\u6d88\u8017\u54c1\u985e\u306a\u3069\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3059\u3002<\/p>\n<h2 id=\"\u5bb6\u96fb\u985e\">\u5bb6\u96fb\u985e<\/h2>\n<ul>\n<li>\u51b7\u8535\u5eab: <a href=\"https:\/\/jp.sharp\/reizo\/products\/sjgw35c.html\" target=\"_blank\" rel=\"noopener\">SHARP SJ-GW35C<\/a>\n\u30022016\u5e74\u88fd\u3001\u5e4560cm\u3001\u5b9a\u683c\u5185\u5bb9\u7a4d350L\u3002<\/li>\n<li>\u98df\u5668\u6d17\u3044\u4e7e\u71e5\u6a5f: <a href=\"https:\/\/panasonic.jp\/dish\/p-db\/NP-TH1.html\" target=\"_blank\" rel=\"noopener\">Panasonic NP-TH1<\/a>\n\u30022018\u5e74\u88fd\u3001\u5e45550mm\u00d7\u5965\u884c344mm\u00d7\u9ad8\u3055598mm\u3001\u5eab\u5185\u5bb9\u91cf\u304c\u7d0450L\u3002\u5f8c\u7d99\u6a5f\u304cNP-TH2, NP-TH3\u3068\u51fa\u3066\u3044\u308b\u305f\u3081\u3059\u3067\u306b\u751f\u7523\u7d42\u4e86\u3067\u306f\u3042\u308b\u304c\u3001\u305d\u308c\u307b\u3069\u5927\u304d\u306a\u5909\u66f4\u306f\u306a\u3044\u6a21\u69d8(\u5c0f\u7269\u30db\u30eb\u30c0\u30fc\u304c\u3064\u3044\u305f\u308a\u3001\u5eab\u5185\u306e\u68da\u306e\u4ed5\u69d8\u304c\u5909\u308f\u3063\u305f\u308a\u3001\u3068\u3044\u3046\u30de\u30a4\u30ca\u30fc\u30c1\u30a7\u30f3\u30b8\u304f\u3089\u3044\uff1f)\u3002<\/li>\n<li>\u6d17\u6fef\u4e7e\u71e5\u6a5f: <a href=\"https:\/\/www.toshiba-lifestyle.co.jp\/living\/laundries\/tw_127x7\/\" target=\"_blank\" rel=\"noopener\">TOSHIBA TW-127X7R<\/a>\n\u30022019\u5e74\u88fd\u3002\u6d17\u6fef\u8131\u6c34\u5bb9\u91cf\u304c12kg\u3001\u6d17\u6fef\u4e7e\u71e5\u5bb9\u91cf\u304c7kg\u3067\u30012019\u5e748\u6708\u6642\u70b9\u3067\u306f\u696d\u754c\u30c8\u30c3\u30d7\u30af\u30e9\u30b9\u306e\u6d17\u6fef\u5bb9\u91cf\u3001\u696d\u754c\u6700\u5927\u306e\u4e7e\u71e5\u5bb9\u91cf\u3060\u3063\u305f\u3089\u3057\u3044(\u4eca\u306f\u3069\u3046\u304b\u3001\u306b\u3064\u3044\u3066\u306f\u8abf\u3079\u3066\u3044\u306a\u3044\u306e\u3067\u77e5\u3089\u306a\u3044)\u3002\u64cd\u4f5c\u304c\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u306a\u306e\u306f\u3061\u3087\u3063\u3068\u7279\u5fb4\u7684\u304b\u3082\u3002\u6b8b\u5ff5\u306a\u304c\u3089\u6d17\u5264\u7b49\u306e\u81ea\u52d5\u6295\u5165\u6a5f\u80fd\u306f\u3064\u3044\u3066\u3044\u306a\u3044\u304c\u3001\u5f8c\u8ff0\u306e\u69d8\u306b\u30d7\u30c3\u30b7\u30e5\u5f0f\u306e(\u306f\u304b\u308b\u5fc5\u8981\u306e\u7121\u3044)\u6d17\u5264\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u4e0d\u4fbf\u306f\u306a\u3044\u3002<\/li>\n<li>\u708a\u98ef\u5668: <a href=\"https:\/\/www.tiger.jp\/product\/ricecooker\/JPH-A.html?productId=JPH-A\" target=\"_blank\" rel=\"noopener\">TIGER JPH-A100<\/a>\n\u30022017\u5e74\u88fd\u3092\u578b\u843d\u3061\u3067\u8cb7\u3063\u305f\u306e\u3067\u5927\u5206\u5b89\u304f\u8cb7\u3048\u305f\u8a18\u61b6\u304c\u3042\u308b\u3002\u6700\u8fd1\u91dc\u3092\u6b20\u3051\u3055\u305b\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u8cb7\u3044\u63db\u3048\u305f\u3044\u304c\u3001\u91dc\u3060\u3051\u3067\u30822\u4e07\u4ee5\u4e0a\u3059\u308b\u306e\u3067\u305f\u3081\u3089\u3063\u3066\u3044\u308b\u3002<\/li>\n<li>\u30aa\u30fc\u30d6\u30f3\u30ec\u30f3\u30b8: SHARP RE-SS8D\u30022016\u5e74\u88fd\u3067\u3001\u3059\u3067\u306b\u516c\u5f0f\u30da\u30fc\u30b8\u306a\u3057\u3002\u6240\u8b02\u904e\u71b1\u6c34\u84b8\u6c17\u30aa\u30fc\u30d6\u30f3\u30ec\u30f3\u30b8\u3001\u3068\u3044\u3046\u30b8\u30e3\u30f3\u30eb\u306b\u5f53\u305f\u308b\u7269\u3063\u307d\u3044\u3002\u5eab\u5185\u5bb9\u91cf23L\u3002<\/li>\n<li>\u30df\u30ad\u30b5\u30fc: <a href=\"https:\/\/www.t-fal.co.jp\/products\/cooking-appliances\/blenders\/mix_and_drink_red\/\" target=\"_blank\" rel=\"noopener\">T-fal \u30df\u30c3\u30af\u30b9\uff06\u30c9\u30ea\u30f3\u30af<\/a>\n\u3002\u5b9a\u683c\u6d88\u8cbb\u96fb\u91cf300W\u3001\u6700\u9ad8\u5bb9\u91cf600ml\u3002\u7279\u306b\u4e0d\u6e80\u306a\u3057\u3002<\/li>\n<li>\u30b9\u30ed\u30fc\u30af\u30c3\u30ab\u30fc: <a href=\"https:\/\/www.twinbird.jp\/products\/epd819.html\" target=\"_blank\" rel=\"noopener\">TWINBIRD EP-D819W<\/a>\n\u3002\u305f\u307e\u306b\u4f5c\u308b\u716e\u7269\u306b\u4fbf\u5229\u3002<\/li>\n<li>\u30a8\u30b9\u30d7\u30ec\u30c3\u30bd\u30e1\u30fc\u30ab\u30fc: NESPRESSO U\u3002\u3059\u3067\u306b\u516c\u5f0f\u30da\u30fc\u30b8\u304c\u306a\u304f\u306a\u3063\u3066\u3044\u308b\u6a21\u69d8\u3002\u88fd\u9020\u5e74\u306f\u4e0d\u660e\u30fb\u30fb\u30fb\u3002\u6c34\u306e\u30bf\u30f3\u30af\u3092\u53f3\u5074\u306b\u7f6e\u3044\u305f\u308a\u5de6\u5074\u306b\u7f6e\u3044\u305f\u308a\u5965\u306b\u7f6e\u3044\u305f\u308a\u3067\u304d\u308b\u5909\u308f\u3063\u305f\u30de\u30b7\u30f3\u3002\u73fe\u884c\u306e\u4f4e\u4fa1\u683c\u5e2f\u30de\u30b7\u30f3\u3060\u3068\u30ea\u30b9\u30c8\u30ec\u30c3\u30c8(25ml)\u304c\u9078\u629e\u3067\u304d\u306a\u3044\u3051\u3069\u3001\u672c\u6a5f\u306f\u5bfe\u5fdc\u3002\u725b\u4e73\u3067\u5272\u308b\u3053\u3068\u304c\u307b\u3068\u3093\u3069\u306a\u306e\u3067\u3001\u3042\u307e\u308a\u8584\u304f\u306a\u3089\u306a\u3044\u306e\u3067\u5b09\u3057\u3044\u3002<\/li>\n<li>\u30b3\u30fc\u30d2\u30fc\u30e1\u30fc\u30ab\u30fc: <a href=\"https:\/\/www.tiger.jp\/product\/coffeemaker\/ACX-S060.html?productId=ACX-S060\" target=\"_blank\" rel=\"noopener\">TIGER ACX-S060<\/a>\n\u3002\u5927\u5b66\u751f\u306e\u3001\u305d\u308c\u3082\u5272\u3068\u65e9\u3044\u6642\u671f\u306b\u8cb7\u3063\u305f\u3084\u3064\u306a\u306e\u3067\u3001\u3082\u3046\u7d50\u69cb\u306a\u5e74\u6570\u4f7f\u3063\u3066\u3044\u308b\u6c17\u304c\u3059\u308b\u3002\u5b9a\u4fa1\u306f6000\u5186\u3060\u3051\u3069\u3001\u8cfc\u5165\u6642\u306f\u30bb\u30fc\u30eb\u304b\u306a\u3093\u304b\u30672000\u5186\u304f\u3089\u3044\u3067\u8cb7\u3063\u305f\u8a18\u61b6\u304c\u3042\u308b\u3002\u30b5\u30fc\u30d0\u30fc\u304c\u30b9\u30c6\u30f3\u30ec\u30b9\u306a\u306e\u3067\u5272\u308b\u5fc3\u914d\u304c\u306a\u3044\u3068\u3044\u3046\u306e\u304c\u5b09\u3057\u3044\u3068\u3053\u308d\u3002<\/li>\n<li>\u4f4e\u6e29\u8abf\u7406\u5668: <a href=\"https:\/\/anovaculinary.com\/?lang=ja\" target=\"_blank\" rel=\"noopener\">ANOVA<\/a>\n\u3002Wi-Fi\u306a\u3057\u306e2014\u30e2\u30c7\u30eb(\u591a\u52062018\u5e74\u88fd\u3068\u304b\u305d\u308c\u304f\u3089\u3044\u306e\u5974)\u3002<\/li>\n<li>\u52a0\u6e7f\u7a7a\u6c17\u6d17\u6d44\u6a5f: <a href=\"https:\/\/jp.sharp\/kuusei\/products\/kcg50.html\" target=\"_blank\" rel=\"noopener\">SHARP KC-G50<\/a>\n\u3002\u6240\u8b02\u6c17\u5316\u5f0f\u306e\u3082\u306e\u3002<\/li>\n<li>\u6383\u9664\u6a5f: <a href=\"https:\/\/www.dyson.co.jp\/dyson-vacuums\/cordless\/dyson-v10\/%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e4%b8%80%e8%a6%a7.aspx\" target=\"_blank\" rel=\"noopener\">Dyson Cyclone V10 fFluffy<\/a>\n\u3002\u8a00\u308f\u305a\u3082\u304c\u306a\u3002<\/li>\n<\/ul>\n<h2 id=\"\u30ad\u30c3\u30c1\u30f3\u30a6\u30a7\u30a2\">\u30ad\u30c3\u30c1\u30f3\u30a6\u30a7\u30a2<\/h2>\n<ul>\n<li>\u934b\u985e: <a href=\"https:\/\/www.t-fal.co.jp\/products\/pots-pans\/stackable\/ingenio_grand_bleu_premier\/\" target=\"_blank\" rel=\"noopener\">T-fal \u30a4\u30f3\u30b8\u30cb\u30aa\u30fb\u30cd\u30aa \u30b0\u30e9\u30f3\u30d6\u30eb\u30fc\u30fb\u30d7\u30ec\u30df\u30a2(\u30bb\u30c3\u30c810)<\/a>\n\u3092\u57fa\u672c\u306b\u3001\u30cb\u30c8\u30ea\u306e\u934b\u3084IKEA\u306e\u30d5\u30e9\u30a4\u30d1\u30f3\u3001\u5c31\u8077\u795d\u3044\u3067\u3082\u3089\u3063\u305f\u5727\u529b\u934b\u306a\u3069\u3092\u9069\u5f53\u306b\u4f7f\u3063\u3066\u3044\u308b\u3002<a href=\"https:\/\/blog.web-apps.tech\/birthday-paella\/\">\u6700\u8fd1\u306a\u305c\u304b\u30d1\u30a8\u30ea\u30a2\u30d1\u30f3\u304c\u4ef2\u9593\u306b\u52a0\u308f\u3063\u305f<\/a>\n\u3002IKEA\u306e\u6fc0\u5b89(300\u5186\u304f\u3089\u3044)\u30d5\u30e9\u30a4\u30d1\u30f3\u306f\u30af\u30bd\u4fbf\u5229\u3060\u3063\u305f\u306e\u306b\u3001\u30e9\u30a4\u30f3\u30ca\u30c3\u30d7\u304b\u3089\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u60b2\u3057\u3044\u3002<\/li>\n<li>\u8a08\u91cf\u30ab\u30c3\u30d7: <a href=\"https:\/\/www.oxojapan.com\/products\/cooking-baking-34\/measuring\/angled-measuring-cup-2-cup\" target=\"_blank\" rel=\"noopener\">OXO \u30a2\u30f3\u30b0\u30eb\u30c9\u30e1\u30b8\u30e3\u30fc\u30ab\u30c3\u30d7(\u4e2d)<\/a>\n\u3002\u307e\u3041\u305d\u3093\u306a\u306b\u771f\u9762\u76ee\u306b\u306f\u304b\u3089\u306a\u3044\u306e\u3067\u3001500ml\u306e\u6c34\u304c\u5165\u308b\u30ab\u30c3\u30d7\u3001\u4f4d\u306e\u4f7f\u308f\u308c\u65b9\u3092\u3057\u3066\u3044\u308b\u3002\u4e0d\u61ab\u3002<\/li>\n<li>\u30b4\u30e0\u3079\u3089: <a href=\"https:\/\/www.oxojapan.com\/products\/cooking-baking-34\/silicone-nylon-cooking-tools\/medium-silicone-spatula#raspberry\" target=\"_blank\" rel=\"noopener\">OXO \u30b7\u30ea\u30b3\u30f3\u30b9\u30d1\u30c1\u30e5\u30e9 M<\/a>\n<\/li>\n<li>\u307e\u306a\u677f: <a href=\"https:\/\/www.kitchentime.jp\/products\/detail\/4\" target=\"_blank\" rel=\"noopener\">\u30a2\u30b5\u30d2 \u30af\u30c3\u30ad\u30f3\u30ab\u30c3\u30c8<\/a>\n<\/li>\n<li>\u5305\u4e01: <a href=\"https:\/\/tsubaya.co.jp\/?pid=107802071\" target=\"_blank\" rel=\"noopener\">\u4e09\u5fb3(\u706b\u9020\u308a \u4e09\u5fb3)<\/a>\n\u3068<a href=\"https:\/\/tsubaya.co.jp\/?pid=107802057\" target=\"_blank\" rel=\"noopener\">\u30da\u30c6\u30a3(\u69cc\u76eeMV\u92fc\u5f37\u5316\u6728 \u30da\u30c6\u30a3)<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u308b\u3002\u3044\u305a\u308c\u3082\u5408\u7fbd\u6a4b \u3064\u3070\u5c4b\u3055\u3093\u306e\u3082\u306e\u3002<\/li>\n<\/ul>\n<h2 id=\"\u6d88\u8017\u54c1\u985e\">\u6d88\u8017\u54c1\u985e<\/h2>\n<ul>\n<li>\u98df\u5668\u6d17\u3044\u7528\u6d17\u5264: <a href=\"https:\/\/www.myrepi.com\/home\/cleaning\/joy-geltab\" target=\"_blank\" rel=\"noopener\">JOY GELTAB<\/a>\n\u3002\u6d17\u6d44\u529b\u306e\u9ad8\u3044\u7c89\u672b\u6d17\u5264\u3068\u6cb9\u6c5a\u308c\u306b\u304d\u304d\u3084\u3059\u3044\u30b8\u30a7\u30eb\u304c\u4e00\u3064\u306b\u307e\u3068\u3081\u3089\u308c\u305f\u30bf\u30a4\u30d7\u306e\u3059\u3054\u3044\u3084\u3064\u3002\u30b3\u30b9\u30d1\u3088\u308a\u6027\u80fd\u91cd\u8996\u3002Amazon\u3067\u30bb\u30fc\u30eb\u306e\u3068\u304d\u306f\u3060\u3044\u305f\u3044\u3053\u308c\u306e\u8d85\u7279\u5927\u30b5\u30a4\u30ba\u3068\u3044\u3046\u3084\u3064\u304c\u5272\u5f15\u3055\u308c\u3066\u304a\u5f97\u306a\u306e\u3067\u3001\u30bb\u30fc\u30eb\u306e\u5ea6\u306b\u8ffd\u52a0\u8cfc\u5165\u3059\u308b\u3068\u3060\u3044\u305f\u3044\u826f\u3044\u30da\u30fc\u30b9\u3002<\/li>\n<li>\u8863\u985e\u7528\u6d17\u5264: <a href=\"https:\/\/www.kao.co.jp\/attack\/products\/zero\/\" target=\"_blank\" rel=\"noopener\">\u30a2\u30bf\u30c3\u30af ZERO \u30c9\u30e9\u30e0\u5f0f\u5c02\u7528<\/a>\n\u3002\u30d7\u30c3\u30b7\u30e5\u30bf\u30a4\u30d7\u306e\u5bb9\u5668\u3067\u3001\u8efd\u91cf\u304c\u3059\u3054\u304f\u7c21\u5358\u3002<\/li>\n<li>\u8863\u985e\u7528\u67d4\u8edf\u5264(1): <a href=\"https:\/\/www.kao.co.jp\/flair-fragrance\/lineup\/\" target=\"_blank\" rel=\"noopener\">\u30d5\u30ec\u30a2\u30d5\u30ec\u30b0\u30e9\u30f3\u30b9 \u30c9\u30ec\u30c3\u30b7\u30fc\u30d9\u30ea\u30fc\u306e\u9999\u308a<\/a>\n\u3002\u7279\u306b\u6df1\u3044\u7406\u7531\u306f\u306a\u3044\u3051\u3069\u3001\u5b89\u304b\u3063\u305f\u3068\u304d\u306b\u4e00\u5ea6\u8cb7\u3063\u3066\u304b\u3089\u3001\u3053\u308c\u3082amazon\u306e\u30bb\u30fc\u30eb\u3067\u5b89\u304f\u306a\u308a\u304c\u3061\u306a\u306e\u3067\u7d99\u7d9a\u3057\u3066\u4f7f\u3063\u3066\u3044\u308b\u3002\u5302\u3044\u306f\u7d50\u69cb\u5f37\u3081\u3002<\/li>\n<li>\u8863\u985e\u7528\u67d4\u8edf\u5264(2): <a href=\"https:\/\/www.kao.co.jp\/humming\/linne\/\" target=\"_blank\" rel=\"noopener\">\u30cf\u30df\u30f3\u30b0 LINNE \u7121\u9999\u6027<\/a>\n\u3002\u524d\u8ff0\u306e\u30d5\u30ec\u30a2\u30d5\u30ec\u30b0\u30e9\u30f3\u30b9\u306f\u7d50\u69cb\u9999\u308a\u304c\u5f37\u304f\u3066\u3001\u30d0\u30b9\u30bf\u30aa\u30eb\u306b\u4f7f\u3046\u3068\u3061\u3087\u3063\u3068\u5fae\u5999\u306a\u611f\u3058\u3060\u3063\u305f\u306e\u3067\u30d0\u30b9\u30bf\u30aa\u30eb\u3092\u6d17\u3046\u3068\u304d\u306f\u3053\u3063\u3061\u3092\u4f7f\u3046\u3002<\/li>\n<li>\u624b\u6d17\u3044\u77f3\u3051\u3093: \u30df\u30e5\u30fc\u30ba\u30ce\u30fc\u30bf\u30c3\u30c1\u6ce1\u30cf\u30f3\u30c9\u30bd\u30fc\u30d7 \u9999\u308a\u304c\u6b8b\u3089\u306a\u3044\u30ad\u30c3\u30c1\u30f3\u7528\u3002amazon\u306e2\u6708\u306e\u30bb\u30fc\u30eb\u3067\u5b89\u304b\u3063\u305f\u306e\u3067\u3001\u524d\u3005\u304b\u3089\u4f7f\u3044\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u305f\u30ce\u30fc\u30bf\u30c3\u30c1\u30bf\u30a4\u30d7\u306e\u7269\u306b\u3057\u305f\u3002\u6599\u7406\u4e2d\u306b\u624b\u3092\u6d17\u3063\u3066\u3082\u9999\u308a\u304c\u6b8b\u3089\u306a\u3044\u30bf\u30a4\u30d7\u3067\u3001\u6599\u7406\u3092\u7d50\u69cb\u3059\u308b\u4eba\u9593\u306b\u306f\u7d50\u69cb\u304a\u52e7\u3081\u3002<\/li>\n<\/ul>\n<h2 id=\"pc\u5468\u8fba\u6a5f\u5668\u985e\">PC\/\u5468\u8fba\u6a5f\u5668\u985e<\/h2>\n<ul>\n<li>PC: <a href=\"https:\/\/www.apple.com\/jp\/macbook-pro-13\/\" target=\"_blank\" rel=\"noopener\">MacBook Pro 13inch<\/a>\n\u30022018\u5e74\u306e\u30e2\u30c7\u30eb\u3067\u3001Core i7 4\u30b3\u30a2 2.7GHz\u300116GB RAM\u3001256GB SSD\u306e\u69cb\u6210\u3002\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u4f7f\u3046\u30de\u30b7\u30f3\u3068\u3057\u3066\u306f\u826f\u304f\u3042\u308b\u69cb\u6210\u3060\u3057\u3001\u7279\u306b\u8a00\u3046\u3053\u3068\u306f\u306a\u3044\u3002<\/li>\n<li>\u30bf\u30d6\u30ec\u30c3\u30c8: <a href=\"https:\/\/www.apple.com\/jp\/ipad-pro\/\" target=\"_blank\" rel=\"noopener\">iPad Pro 11inch<\/a>\n+ <a href=\"https:\/\/www.apple.com\/jp\/apple-pencil\/\" target=\"_blank\" rel=\"noopener\">Apple Pencil<\/a>\n\u3002\u7d75\u3092\u63cf\u304d\u305f\u304f\u3066\u8cb7\u3063\u305f\u3002\u304c\u3001\u3042\u3093\u307e\u308a\u6d3b\u7528\u3067\u304d\u3066\u3044\u306a\u3044\u3002\u6700\u8fd1\u306f<a href=\"https:\/\/twitter.com\/search?q=from%3A%40nasa9084%20%23posemaniacs&amp;src=typed_query\" target=\"_blank\" rel=\"noopener\">#posemaniacs<\/a>\n\u63cf\u3044\u3066\u308b\u3051\u3069\u3001\u3078\u305f\u3002<\/li>\n<li>\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3: <a href=\"https:\/\/store.google.com\/jp\/product\/pixel_4\" target=\"_blank\" rel=\"noopener\">Pixel 4<\/a>\n\u3002\u30e2\u30d0\u30a4\u30ebPASMO\u4f7f\u3044\u305f\u3044\u3051\u3069\u3001PASMO\u4e00\u4f53\u578b\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3067\u306f\u30aa\u30fc\u30c8\u30c1\u30e3\u30fc\u30b8\u304c\u3067\u304d\u306a\u3044\u3089\u3057\u304f\u3001\u304a\u3053\u3002<\/li>\n<li>\u30e2\u30cb\u30bf: <a href=\"https:\/\/www.lg.com\/jp\/monitor\/lg-27UK850-W\" target=\"_blank\" rel=\"noopener\">LG 27UK-850-W<\/a>\n\u3002USB-PD\u5bfe\u5fdc\u306e4K\u30e2\u30cb\u30bf\u304c\u307b\u3057\u304f\u3066\u8cfc\u5165\u3057\u305f\u3082\u306e\u3002DP OUT\u306f\u3064\u3044\u3066\u3044\u306a\u3044\u3002amazon\u3067\u3081\u3063\u3061\u3083\u5b89\u304b\u3063\u305f\u306e\u3067\u3053\u308c\u306b\u3057\u305f\u3002<a href=\"https:\/\/www8.hp.com\/jp\/ja\/monitors\/product-details\/4285255\" target=\"_blank\" rel=\"noopener\">HP\u306e\u30b7\u30f3\u30b0\u30eb\u30e2\u30cb\u30bf\u30fc\u30a2\u30fc\u30e0<\/a>\n(\u30a8\u30eb\u30b4\u30c8\u30ed\u30f3\u306eOEM)\u3068\u5408\u308f\u305b\u3066\u4f7f\u7528\u3057\u3066\u3044\u308b\u3002<\/li>\n<li>\u30d7\u30ea\u30f3\u30bf: <a href=\"https:\/\/jpn.nec.com\/printer\/laser\/color\/5600c\/index.html\" target=\"_blank\" rel=\"noopener\">NEC MultiWriter 5600C<\/a>\n\u3002A4\u30ab\u30e9\u30fc\u30da\u30fc\u30b8\u30ec\u30fc\u30b6\u30fc\u30d7\u30ea\u30f3\u30bf\u3067\u3001Amazon\u3060\u3063\u305f\u304bNTT-X\u3060\u3063\u305f\u304b\u3001\u307e\u3041\u305d\u306e\u8fba\u3067\u6fc0\u5b89\u3060\u3063\u305f\u306e\u3067\u8cfc\u5165\u3057\u305f\u3002\u57fa\u672c\u7684\u306b\u5199\u771f\u3092\u5370\u5237\u3059\u308b\u3053\u3068\u304c\u306a\u3044\u306e\u3067\u3001\u30a4\u30f3\u30af\u30b8\u30a7\u30c3\u30c8\u30a4\u30f3\u30af\u30b8\u30a7\u30c3\u30c8\u3088\u308a\u4f7f\u3044\u3084\u3059\u3044(\u6c17\u304c\u3059\u308b)\u3002<\/li>\n<\/ul>"},{"title":"Bauhutte\u306e\u30c7\u30b9\u30af\u3054\u3068\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u3092\u8cfc\u5165\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/bauhutte-chairmat\/","pubDate":"Fri, 10 Apr 2020 15:44:39 +0000","guid":"https:\/\/blog.web-apps.tech\/bauhutte-chairmat\/","description":"<p>\u6628\u4eca\u306e\u60c5\u52e2\u3092\u53d7\u3051\u3001\u79c1\u3082\u304b\u308c\u3053\u308c\u4e00\u30f6\u6708\u4ee5\u4e0a\u81ea\u5b85\u3067\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3092\u3057\u3066\u3044\u307e\u3059\u3002\u81ea\u5b85\u3067\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3092\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u673a\u306b\u5411\u304b\u3046\u3001\u3059\u306a\u308f\u3061\u6905\u5b50\u306b\u5ea7\u308b\u6642\u9593\u304c\u5727\u5012\u7684\u306b\u5897\u3048\u308b(\u4e00\u65e5\u3042\u305f\u308a8\u6642\u9593\u304f\u3089\u3044\u5897\u3048\u3066\u3044\u307e\u3059\u306d)\u3053\u3068\u306b\u306a\u308b\u308f\u3051\u3067\u3059\u3002\u5f0a\u5b85\u306f\u8cc3\u8cb8\u304b\u3064\u5e8a\u304c(\u591a\u5206)\u6728\u88fd\u306e\u30d5\u30ed\u30fc\u30ea\u30f3\u30b0\u3067\u3001\u9577\u6642\u9593\u6905\u5b50\u306b\u5ea7\u308b\u3068\u306a\u308b\u3068\u6905\u5b50\u306e\u30ad\u30e3\u30b9\u30bf\u30fc\u306b\u3088\u308b\u5e8a\u306e\u50b7\u3064\u304d\u304c\u304d\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u306a\u306b\u304b\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u3092\u6577\u3044\u305f\u65b9\u304c\u3088\u304b\u308d\u3046\u3001\u7d50\u69cb\u6905\u5b50\u3092\u52d5\u304b\u3059\u30bf\u30a4\u30d7\u306e\u4eba\u9593\u3067\u3042\u308b\u304b\u3089\u3057\u3066\u5927\u304d\u3081\u306e\u7269\u3092\u9078\u3076\u3079\u304d\u3067\u3042\u308d\u3046\u3001\u3068\u3044\u3046\u5224\u65ad\u306e\u4e0b\u3001\u5927\u304d\u304f\u3001\u898b\u76ee\u3082\u3088\u308d\u3057\u305d\u3046\u3067\u3042\u3063\u305f<a href=\"https:\/\/amzn.to\/2XopY5x\" target=\"_blank\" rel=\"noopener\">Bauhutte\u306e\u30c7\u30b9\u30af\u3054\u3068\u30c1\u30a7\u30a2\u30de\u30c3\u30c8(160cmx130cm)<\/a>\n\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01N9AYNP1&linkId=f43dedb3463d9ba5eb51866fe66f4925\"><\/iframe>\n<p>\u306a\u304aamazon\u306e\u30ea\u30f3\u30af\u3092\u306f\u3063\u3066\u306f\u3044\u308b\u7269\u306e\u3001\u305f\u307e\u305f\u307e\u697d\u5929\u306e\u30dd\u30a4\u30f3\u30c8\u304c\u8caf\u307e\u3063\u3066\u3044\u305f\u306e\u3067\u697d\u5929\u3067\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5c4a\u3044\u3066\u307f\u3066\u3001\u78ba\u304b\u306b\u3053\u308c\u306f\u5927\u304d\u3044\u3002\u306a\u304b\u306a\u304b\u826f\u3044\u30b5\u30a4\u30ba\u3060\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3055\u3066\u6577\u3044\u3066\u307f\u3088\u3046\u3001\u3068\u3059\u308b\u3068\u5e45\u304c\u306a\u3093\u3068\u3082\u60dc\u3057\u3044\u611f\u3058\u3067\u3042\u308a\u307e\u3057\u305f(\u3053\u308c\u306f\u6211\u304c\u5bb6\u306e\u30c7\u30b9\u30af\u3068\u306e\u76f8\u6027\u3001\u3068\u3044\u3046\u8a71\u3067\u5546\u54c1\u81ea\u4f53\u304c\u60aa\u3044\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3067\u6ce8\u610f)\u3002\n\u673a\u306f\u30cb\u30c8\u30ea\u306e<a href=\"https:\/\/www.nitori-net.jp\/ec\/cat\/TableChair\/CombinationFreeTable\/1\/\" target=\"_blank\" rel=\"noopener\">\u7d44\u307f\u5408\u308f\u305b\u30c7\u30b9\u30af<\/a>\n\u3001<a href=\"https:\/\/www.nitori-net.jp\/ec\/product\/6240121s\/\" target=\"_blank\" rel=\"noopener\">\u5e45140cm\u306e\u5929\u677f<\/a>\n\u306b<a href=\"https:\/\/www.nitori-net.jp\/ec\/product\/6240134s\/\" target=\"_blank\" rel=\"noopener\">\u7279\u306b\u4f55\u306e\u5909\u54f2\u3082\u7121\u3044\u811a<\/a>\n\u3092\u4ed8\u3051\u3066\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u5de6\u811a\u306e\u5916\u5074\u304b\u3089\u53f3\u811a\u306e\u5916\u5074\u307e\u3067\u304c\u7d04135cm\u3001\u5de6\u8db3\u306e\u5185\u5074\u304b\u3089\u53f3\u811a\u306e\u5185\u5074\u307e\u3067\u304c\u7d04125cm\u306a\u306e\u3067\u3001\u5b8c\u5168\u306b\u4e21\u811a\u3067\u8e0f\u307e\u305b\u308b\u3053\u3068\u3082\u3001\u5185\u5074\u306b\u53ce\u3081\u308b\u3053\u3068\u3082\u3067\u304d\u306a\u3044\u3001\u304b\u3068\u3044\u3063\u3066\u9577\u8fba\u3092\u6a2a\u5411\u304d\u306b\u3059\u308b\u3068\u9577\u3059\u304e\u308b\u3068\u3044\u3046\u7a0b\u5ea6\u306e\u5e45\u3067\u3059\u3002\n\u524d\u8ff0\u306e\u69d8\u306b\u306a\u304b\u306a\u304b\u5927\u304d\u3044\u30b5\u30a4\u30ba\u3001\u9577\u8fba\u304c160\u3042\u308a\u307e\u3059\u304b\u3089\u3001\u304d\u308c\u3044\u306b\u30ab\u30c3\u30c8\u3059\u308b\u306e\u3082\u306a\u304b\u306a\u304b\u56f0\u96e3\u3067\u3059\u3002<\/p>\n<p>\u539a\u3055\u304c1.5mm\u3067\u3059\u304b\u3089\u3001\u307e\u3041\u305d\u308c\u81ea\u4f53\u306f\u305f\u3044\u3057\u305f\u554f\u984c\u3067\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u88cf\u9762\u306e\u6ed1\u308a\u6b62\u3081\u304c\u304f\u305b\u8005\u3067\u3059\u3002\u78ba\u304b\u306b\u6ed1\u3089\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u8868\u9762\u3082\u306a\u304b\u306a\u304b\u30b0\u30ea\u30c3\u30d7\u529b\u304c\u3042\u308b\u305b\u3044\u304b\u3001\u5ea7\u3063\u305f\u72b6\u614b\u3067\u6905\u5b50\u3092\u52d5\u304b\u3059\u3068\u30de\u30c3\u30c8\u304c\u6ce2\u6253\u3061\u3001\u673a\u306e\u811a\u306e\u3068\u3053\u308d\u3067\u5f15\u3063\u304b\u304b\u3063\u3066\u3001\u673a\u304c\u30ae\u30b7\u30ae\u30b7\u8a00\u3046\u306e\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3061\u3087\u3063\u3068\u306a\u3093\u3068\u304b\u3057\u305f\u3044\u3001\u3068\u601d\u3044\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u7528\u306e\u6ed1\u308a\u6b62\u3081\u3092\u5225\u9014amazon\u3067\u7269\u8272\u4e2d\u3067\u3059\u3002\n\u307e\u305f\u3001\u6765\u9031\u65b0\u3057\u3044\u6905\u5b50\u304c\u5c4a\u304f\u4e88\u5b9a\u306a\u306e\u3067\u3001\u6905\u5b50\u304c\u5909\u308f\u3063\u305f\u3089\u307e\u305f\u9055\u3046\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3001\u3068\u306f\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u7dcf\u3058\u3066\u3001\u73fe\u72b6\u3068\u3057\u3066\u306f\u300c\u60dc\u3057\u3044\u300d\u3068\u3044\u3046\u8a55\u4fa1\u3092\u3059\u308b\u3057\u304b\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u673a\u306e\u5e45\u306a\u3069\u306e\u6761\u4ef6\u304c\u6298\u308a\u5408\u3048\u3070\u3001\u5546\u54c1\u306e\u898b\u305f\u76ee\u3084\u3055\u308f\u308a\u5fc3\u5730\u306a\u3069\u306f\u306a\u304b\u306a\u304b\u60aa\u304f\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u3092\u63a2\u3057\u3066\u3044\u308b\u65b9\u306f\u691c\u8a0e\u3057\u3066\u307f\u3066\u306f\u3044\u304b\u304c\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<hr>\n<p>2020-04-11 \u8ffd\u8a18<\/p>\n<p><a href=\"https:\/\/www.nitori-net.jp\/ec\/product\/7160152s\/\" target=\"_blank\" rel=\"noopener\">\u30cb\u30c8\u30ea\u306e\u3059\u3079\u308a\u6b62\u3081\u30c6\u30fc\u30d7<\/a>\n\u3092\u8cbc\u3063\u305f\u3068\u3053\u308d\u3001\u6539\u5584\u3057\u307e\u3057\u305f\u3002\u4e09\u8fba(\u9577\u8fbax1\u3001\u77ed\u8fbax2)\u306b\u8cbc\u308b\u3068\u9577\u30554\u30e1\u30fc\u30c8\u30eb\u306e\u30c6\u30fc\u30d7\u3092\u3061\u3087\u3046\u3069\u826f\u3044\u5177\u5408\u306b\u4f7f\u3044\u5207\u308b\u611f\u3058\u3067\u3059\u3002\n\u73fe\u72b6\u306f\u673a\u306e\u811a\u306e\u4e00\u672c\u3060\u3051\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u306b\u306e\u3063\u3066\u3044\u308b\u72b6\u614b\u3067\u3001\u306e\u3063\u3066\u3044\u308b\u5074\u306e\u9577\u8fba\u3068\u524d\u5f8c\u306e\u77ed\u8fba\u306b\u3059\u3079\u308a\u6b62\u3081\u30c6\u30fc\u30d7\u3092\u8cbc\u3063\u3066\u3044\u307e\u3059\u3002\u5168\u304f\u30ae\u30b7\u30ae\u30b7\u8a00\u308f\u306a\u304f\u306a\u3063\u305f\u306e\u3067\u3001\u5927\u5909\u826f\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>2020-05-01\u8ffd\u8a18<\/p>\n<p>\u88cf\u9762\u306e\u6ed1\u308a\u6b62\u3081\u52a0\u5de5\u304c\u88cf\u76ee\u306b\u51fa\u305f\u306e\u304b\u3001\u30cb\u30c8\u30ea\u306e\u6ed1\u308a\u6b62\u3081\u30c6\u30fc\u30d7\u304c\u5265\u304c\u308c\u3066\u304d\u307e\u3057\u305f\u3002\u3064\u3089\u3044\u3002<\/p>"},{"title":"\u8a95\u751f\u65e5\u30d1\u30a8\u30ea\u30a2","link":"https:\/\/blog.web-apps.tech\/birthday-paella\/","pubDate":"Wed, 08 Apr 2020 15:38:24 +0000","guid":"https:\/\/blog.web-apps.tech\/birthday-paella\/","description":"<p>\u5148\u65e5\u3001\u7121\u4e8b\u8a95\u751f\u65e5\u306a\u308b\u3082\u306e\u3092\u4eca\u5e74\u3082\u8fce\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u305f\u306e\u3067\u3059\u304c\u3001twitter\u3084\u3089facebook\u3084\u3089\u306b<a href=\"https:\/\/www.amazon.jp\/hz\/wishlist\/ls\/901D5E6QYC2X?ref_=wl_share\" target=\"_blank\" rel=\"noopener\">\u6b32\u3057\u3044\u3082\u306e\u30ea\u30b9\u30c8<\/a>\n\u3092\u8cbc\u3063\u305f\u7d50\u679c\u3001\u7686\u69d8\u3044\u308d\u3044\u308d\u3068\u8d08\u3063\u3066\u304f\u3060\u3055\u308a\u3001\u672c\u5f53\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002<\/p>\n<p>\u3068\u3053\u308d\u3067\u3001\u6b32\u3057\u3044\u3082\u306e\u30ea\u30b9\u30c8\u306b\u30d1\u30a8\u30ea\u30a2\u30d1\u30f3\u306a\u3069\u5165\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u306a\u305c\u304b\u5c4a\u304d\u307e\u3057\u305f\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u5bb6\u5e83\u305d\u3046\u3060\u3057\u5165\u3063\u3066\u7121\u304f\u3066\u3082\u9001\u3063\u3066\u307f\u3063\u304b\u3068\u601d\u3063\u3066\u30dd\u30c1\u3063\u3066\u307f\u305f?<\/p>&mdash; T\u15e9K\u144c\u15f0I KO\u15f7\u15e9Y\u15e9\u1515\u157cI (@chamaharun) <a href=\"https:\/\/twitter.com\/chamaharun\/status\/1247704520060063745?ref_src=twsrc%5Etfw\">April 8, 2020<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u5168\u304f\u4ee5\u3066\u610f\u5473\u304c\u308f\u304b\u3089\u306a\u3044\u3067\u3059\u306d\u3002\u3057\u304b\u3057\u8d08\u3063\u3066\u304f\u308c\u305f\u306e\u306b\u4f7f\u308f\u306a\u3044\u3001\u3068\u3044\u3046\u306e\u3082\u306a\u3093\u306a\u306e\u3067\u3001\u30d1\u30a8\u30ea\u30a2\u3092\u4f5c\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u8a95\u751f\u65e5\u30d1\u30a8\u30ea\u30a2\u3068\u3044\u3046\u30bf\u30a4\u30c8\u30eb\u3067\u3059\u304c\u3001\u4eca\u65e5\u8a95\u751f\u65e5\u3001\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_195036_hu_f5edc3a92385f7af.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6750\u6599\u306f\u3053\u3061\u3089\u3002\u30a2\u30b5\u30ea\u5c0f\u30d1\u30c3\u30af\u3001\u30d1\u30d7\u30ea\u30ab\u4e00\u3064\u3001\u9d8f\u8089\u4e00\u679a\u3001\u30a8\u30d3\u3001\u30a4\u30ab\u3001\u30c8\u30de\u30c8\u3001\u7c73\u3001\u30b5\u30d5\u30e9\u30f3\u3001\u7389\u306d\u304e\u3001\u30cb\u30f3\u30cb\u30af\u3002\n\u9d8f\u8089\u306f\u4e00\u53e3\u5927\u306b\u5207\u3063\u3066\u8efd\u304f\u5869\u3053\u3057\u3087\u3046\u3057\u3066\u3042\u308a\u307e\u3059\u3002\n\u7389\u306d\u304e\u3068\u30cb\u30f3\u30cb\u30af\u306f\u307f\u3058\u3093\u5207\u308a\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002\n\u307e\u305f\u3001\u30a2\u30b5\u30ea\u306f\u7802\u629c\u304d\u3092\u3057\u307e\u3057\u305f(\u304c\u3001\u98df\u3079\u305f\u3089\u30ac\u30ea\u30c3\u3068\u3044\u3063\u305f\u3002\u306a\u3093\u3067\u3084\u3002)\n\u30c8\u30de\u30c8\u3001\u30d1\u30d7\u30ea\u30ab\u306f\u9069\u5f53\u306b\u5207\u308a\u307e\u3057\u3087\u3046\u3002\n\u30a4\u30ab\u306f\u30ab\u30c3\u30c8\u6e08\u307f\u306e\u3082\u306e\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u3061\u306a\u307f\u306b\u3053\u306e\u4e2d\u3067\u4e00\u756a\u9ad8\u304b\u3063\u305f\u306e\u306f(\u591a\u5206)\u30b5\u30d5\u30e9\u30f3\u3067\u3059\u3002\u30b5\u30d5\u30e9\u30f3\u9ad8\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_195341_hu_12d2769449a9587c.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3053\u3061\u3089\u304c\u4ef6\u306e\u30d1\u30a8\u30ea\u30a2\u30d1\u30f3\u3067\u3059\u3002\u56db\u4eba\u524d\u4f5c\u308c\u308b\u3089\u3057\u3044\u3002\u5927\u304d\u304f\u3066\u7aef\u306e\u65b9\u306b\u706b\u304c\u5165\u308a\u306b\u304f\u3044\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u5fc3\u914d\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_195709_hu_2b551104b35a42a9.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3055\u3073\u6b62\u3081\u306e\u6cb9\u304c\u5857\u3063\u3066\u3042\u308b\u3089\u3057\u3044\u306e\u3067\u305d\u308c\u3092\u98db\u3070\u3057\u305f\u5f8c\u3001\u30aa\u30ea\u30fc\u30d6\u30aa\u30a4\u30eb\u3092\u9069\u5f53\u306b\u71b1\u3057\u3066\u3001\u8089\u3084\u3089\u9b5a\u4ecb\u3084\u3089\u3092\u7092\u3081\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_200651_hu_afe99af707f217a7.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u706b\u304c\u901a\u3063\u305f\u3082\u306e\u304b\u3089\u4e00\u65e6\u3069\u3051\u3066\u304a\u304d\u307e\u3059\u3002\u7279\u306b\u30a2\u30b5\u30ea\u306f\u706b\u3092\u901a\u3057\u3059\u304e\u308b\u3068\u7e2e\u3093\u3067\u3057\u307e\u3046\u306e\u3067\u3001\u958b\u3044\u305f\u6642\u70b9\u3067\u3069\u3051\u3066\u304a\u3044\u305f\u65b9\u304c\u3044\u3044\u3067\u3057\u3087\u3046\u3002\u591a\u5206\u3002\n\u306a\u3093\u304b\u3059\u3067\u306b\u30d1\u30a8\u30ea\u30a2\u306e\u5302\u3044\u304c\u3059\u308b\u6c17\u304c\u3057\u3066\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_200842_hu_722600c0dc4a1e10.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u8ffd\u3044\u30aa\u30ea\u30fc\u30d6\u30aa\u30a4\u30eb\u3092\u3057\u3066\u3001\u7389\u306d\u304e\u3068\u30cb\u30f3\u30cb\u30af\u3092\u7092\u3081\u307e\u3059\u3002\u3061\u3087\u3063\u3068\u7126\u3052\u4ed8\u3044\u3066\u3044\u308b\uff1f\u3088\u3046\u306a\u3068\u3053\u308d\u306f\u3053\u305d\u3044\u3067\u304a\u3044\u305f\u65b9\u304c\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u591a\u5206\u3053\u308c\u304c\u3046\u307e\u5473\u3063\u3066\u3084\u3064\u3067\u3059\u3002\u591a\u5206\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_200913_hu_5a4a5c1e946ef2bc.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7389\u306d\u304e\u304c\u3057\u306a\u3063\u3068\u3057\u3066\u304d\u305f\u3089\u3001\u751f\u7c73\u3092\u7a81\u3063\u8fbc\u3093\u3067\u7092\u3081\u307e\u3059\u3002\u5927\u304d\u3044\u306e\u3067\u30d5\u30e9\u30a4\u30d1\u30f3\u306e\u69d8\u306b\u632f\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_201332_hu_9158dc12ac5ddc36.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3069\u3093\u306a\u72b6\u614b\u306b\u306a\u3063\u305f\u3089\u7c73\u306b\u706b\u304c\u901a\u3063\u3066\u304d\u305f\u3001\u3068\u3044\u3048\u308b\u306e\u304b\u306f\u3088\u304f\u308f\u304b\u3093\u306a\u3044\u3093\u3067\u3059\u3051\u3069\u3001\u305d\u308c\u3063\u307d\u3044\u611f\u3058\u306b\u306a\u3063\u305f\u3089\u6c34\u3068\u30b3\u30f3\u30bd\u30e1\u3001\u30b5\u30d5\u30e9\u30f3\u3092\u52a0\u3048\u3066\u4e00\u716e\u7acb\u3061\u3055\u305b\u307e\u3059\u3002\n\u30b3\u30f3\u30bd\u30e1\u306f\u591a\u5206\u4e88\u3081\u304a\u6e6f\u304b\u4f55\u304b\u3067\u6eb6\u3044\u3066\u304a\u304f\u304b\u3001\u9846\u7c92\u306e\u3082\u306e\u3092\u4f7f\u3063\u305f\u65b9\u304c\u826f\u304b\u3063\u305f\u6c17\u304c\u3059\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_201553_MP_hu_74fb6e5b18b5cd0a.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u716e\u7acb\u3063\u305f\u3089\u30d1\u30d7\u30ea\u30ab\u3092\u5165\u308c\u307e\u3059\u3002\u30a4\u30f3\u30b2\u30f3\u3092\u5165\u308c\u305f\u3044\u4eba\u306f\u3053\u3053\u3067\u5165\u308c\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u30c8\u30de\u30c8\u3055\u3093\u3092\u5165\u308c\u308b\u30bf\u30a4\u30df\u30f3\u30b0\u304c\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u300c\u30d1\u30d7\u30ea\u30ab\u3068\u540c\u3058\u8d64\u3060\u3057\u3044\u3051\u308b\u3063\u3057\u3087\u30fc\u300d\u3068\u3053\u3053\u3067\u6295\u5165\u3002\u307e\u3041\u5927\u4e08\u592b\u3002\u8d64\u3044\u3057\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_201812_hu_feb4758cb13d525b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5c11\u3057\u3050\u3064\u3050\u3064\u3055\u305b\u305f\u5f8c\u3001\u3088\u3051\u3066\u304a\u3044\u305f\u8089\u3084\u3089\u9b5a\u4ecb\u3084\u3089\u3092\u518d\u6295\u5165\u3057\u307e\u3059\u3002\u3053\u308c\u3082\u30bf\u30a4\u30df\u30f3\u30b0\u304c\u4e0d\u660e\u3060\u3063\u305f\u306e\u3067\u6c17\u5206\u3067\u5165\u308c\u307e\u3057\u305f\u3002\u3060\u3044\u305f\u3044\u306a\u3093\u3068\u304b\u306a\u308b\u3002<\/p>\n<p>\u3053\u306e\u72b6\u614b\u3067\u5341\u5206\u307b\u3069\u5f37\u706b\u3067\u716e\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_202849_MP_hu_d0de1a02bd9ddde.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5341\u5206\u7d4c\u3063\u305f\u3089\u5f31\u706b\u306b\u3057\u3066\u3001\u6c34\u304c\u306a\u304f\u306a\u308b\u3068\u3044\u3046\u304b\u3001\u3069\u308d\u3063\u3068\u3057\u305f\u611f\u3058\u306b\u306a\u308b\u307e\u3067\u716e\u307e\u3059\u3002\u3053\u308c\u3082\u306a\u3093\u3068\u306a\u304f\u96f0\u56f2\u6c17\u3067\u3002\u591a\u5206\u3084\u308a\u904e\u304e\u308b\u3068\u7126\u3052\u308b\u3002<\/p>\n<p>\u826f\u3044\u611f\u3058\u306b\u306a\u3063\u305f\u3089\u706b\u3092\u6b62\u3081\u3066\u3001\u9069\u5f53\u306a\u30a2\u30eb\u30df\u30db\u30a4\u30eb\u3068\u304b\u3067\u84cb\u3092\u3057\u3066(\u3067\u304d\u3066\u306a\u3044)\u4e94\u5206\u307b\u3069\u84b8\u3089\u3057\u307e\u3059\u3002\u7d50\u69cb\u3053\u308c\u3067\u96f0\u56f2\u6c17\u5909\u308f\u308b\u3093\u3067\u5927\u4e8b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_203457_MP_hu_39eb71783e602c02.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4e94\u5206\u7d4c\u3064\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u6c41\u3063\u6c17\u304c\u98db\u3073\u307e\u3059\u3002\u30de\u30b8\u3067\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/birthday-paella\/images\/IMG_20200408_203758_hu_f6fc4392d16c2714.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306b\u3088\u3057\u306a\u306b\u30d1\u30bb\u30ea\u30f3\u30b0\u3057\u3066\u5b8c\u6210\u3002\u3046\u307e\u3044\u3067\u3059\u3002\u3042\u3068\u7c21\u5358\u3002\n\u9b5a\u4ecb\u3068\u304b\u30b5\u30d5\u30e9\u30f3\u3068\u304b\u305d\u3053\u305d\u3053\u3059\u308b\u306e\u3067\u3001\u7d50\u69cb\u81ea\u708a\u3082\u306e\u3068\u3057\u3066\u306f\u304a\u9ad8\u3081\u3060\u3051\u3069\u3001\u307e\u3041\u4e00\u56de\u304f\u3089\u3044\u3084\u3063\u3066\u307f\u3066\u3082\u826f\u3044\u3093\u3058\u3083\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\n\u306a\u304a\u4e8c\u4eba\u3067\u56db\u4eba\u524d\u306f\u591a\u3044\u3067\u3059\u3002\u6ce8\u610f\u3002<\/p>"},{"title":"context.WithTimeout\u306b0\u3092\u4e0e\u3048\u308b\u3068\u3069\u3046\u306a\u308b\u306e\u304b","link":"https:\/\/blog.web-apps.tech\/context-withtimeout-with-zero\/","pubDate":"Wed, 08 Apr 2020 04:17:35 +0000","guid":"https:\/\/blog.web-apps.tech\/context-withtimeout-with-zero\/","description":"<p>\u5f53\u7136\u3068\u8a00\u3048\u3070\u5f53\u7136\u306a\u3093\u3067\u3059\u3051\u3069\u3001\u7279\u306b <code>panic<\/code> \u3068\u304b\u305d\u3046\u3044\u3046\u3053\u3068\u306f\u306a\u304f\u3001\u4e00\u77ac\u3067\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3059\u3002\u307e\u3041\u3001\u3069\u3046\u3068\u8a00\u3046\u3053\u3068\u306f\u7121\u3044\u3067\u3059\u304c\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068\u304b\u3067\u672a\u5b9a\u7fa9\u6642\u306b0\u304c\u6765\u308b\u3088\u3046\u306a\u5b9f\u88c5\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u306a\u3093\u304b\u51e6\u7406\u3059\u308b(0\u306e\u6642\u306f\u51e6\u7406\u3092\u3057\u306a\u3044\u3001\u3068\u3044\u3046\u306e\u306f\u591a\u5206\u3042\u3093\u307e\u308a\u306a\u3055\u305d\u3046\u3067\u3059\u3057)\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u306d\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">ctx<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">cancel<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">WithTimeout<\/span><span class=\"p\">(<\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">Background<\/span><span class=\"p\">(),<\/span><span class=\"w\"> <\/span><span class=\"nx\">time<\/span><span class=\"p\">.<\/span><span class=\"nf\">Duration<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nf\">cancel<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">&lt;-<\/span><span class=\"nx\">ctx<\/span><span class=\"p\">.<\/span><span class=\"nf\">Done<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Print<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;timeout&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><a href=\"https:\/\/play.golang.org\/p\/63DkfIEImjv\" target=\"_blank\" rel=\"noopener\">https:\/\/play.golang.org\/p\/63DkfIEImjv<\/a>\n<\/p>\n<h2 id=\"\u3082\u3046\u3061\u3087\u3063\u3068\u7d30\u304b\u3044\u8a71\">\u3082\u3046\u3061\u3087\u3063\u3068\u7d30\u304b\u3044\u8a71<\/h2>\n<p>\u3055\u3059\u304c\u306b\u77ed\u3059\u304e\u308b\u306e\u3067\u3001\u3082\u3046\u5c11\u3057\u7d30\u304b\u3044\u5b9f\u88c5\u306e\u8a71\u3002<\/p>\n<p><code>context.WithTimeout<\/code>\u306f\u5185\u90e8\u7684\u306b\u306f\u7279\u5225\u306a\u5b9f\u88c5\u306f\u7121\u304f\u3066\u3001<code>context.WithDeadline<\/code>\u3092<code>time.Now.Add(timeout)<\/code>\u306b\u5bfe\u3057\u3066\u547c\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<p>\u3067\u3001<code>context.WithDeadline<\/code>\u306f\u8fd4\u5024\u3092\u8fd4\u3059\u524d\u306b<code>time.Until<\/code>\u3092\u4f7f\u3063\u3066\u73fe\u5728\u6642\u523b\u3068\u30c7\u30c3\u30c9\u30e9\u30a4\u30f3\u307e\u3067\u306e\u5dee\u5206\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u3066\u3001\u3053\u308c\u304c0\u4ee5\u4e0b\u306a\u3089<a href=\"https:\/\/github.com\/golang\/go\/blob\/go1.14.1\/src\/context\/context.go#L437-L439\" target=\"_blank\" rel=\"noopener\">\u305d\u306e\u5834\u3067\u30ad\u30e3\u30f3\u30bb\u30eb\u95a2\u6570\u3092\u547c\u3093\u3067<\/a>\n\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u3041\u305d\u3093\u306a\u308f\u3051\u3067\u3001\u4f59\u5206\u306a\u5f85\u3061\u6642\u9593\u304c\u767a\u751f\u3059\u308b\u3053\u3068\u3082\u306a\u304f\u3001<code>time.WithTimeout<\/code>\u3092\u547c\u3093\u3060\u6642\u70b9\u3067\u3061\u3083\u3093\u3068\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3055\u308c\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3057\u305f\u3002\u3061\u3083\u3093\u3061\u3083\u3093\u3002<\/p>"},{"title":"Go\u3067(\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u3092\u7528\u610f\u305b\u305a\u306b)\u30e1\u30fc\u30eb\u3092\u9001\u308b","link":"https:\/\/blog.web-apps.tech\/go-smtp-sendmail-without-mailserver\/","pubDate":"Mon, 06 Apr 2020 10:13:42 +0000","guid":"https:\/\/blog.web-apps.tech\/go-smtp-sendmail-without-mailserver\/","description":"<p>\u5358\u7d14\u306a\u8208\u5473\u3068\u3044\u3046\u304b\u3001\u7279\u306b\u3053\u308c\u3067\u4f55\u304b\u3092\u4f5c\u308b\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3060\u3051\u308c\u3069\u3001\u3075\u3068\u601d\u3044\u7acb\u3063\u3066\u8abf\u3079\u3066\u307f\u305f\u3089\u610f\u5916\u3068\u60c5\u5831\u304c\u7121\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>Go\u3067\u30e1\u30fc\u30eb\u3092\u9001\u308a\u305f\u3044\u3001\u3068\u601d\u3063\u305f\u3068\u304d\u3001Google\u3067\u691c\u7d22\u3057\u3066\u307f\u308b\u3068\u3001<a href=\"https:\/\/pkg.go.dev\/net\/smtp\" target=\"_blank\" rel=\"noopener\">net\/smtp<\/a>\n\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u3063\u3066gmail\u306eSMTP\u30b5\u30fc\u30d0\u3092\u4f7f\u7528\u3059\u308b\u3001\u3068\u304bSendGrid\u3092\u4f7f\u7528\u3059\u308b\u3001\u3068\u304b\u305d\u3046\u3044\u3063\u305f\u4f8b\u3070\u304b\u308a\u304c\u76ee\u306b\u3064\u304d\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306f\u3082\u3061\u308d\u3093\u4fbf\u5229\u3067\u3042\u308b\u3053\u3068\u306f\u7591\u3044\u3088\u3046\u3082\u306a\u3044(\u81ea\u524d\u3067\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u306e\u7ba1\u7406\u3068\u304b\u3084\u3063\u3066\u3089\u308c\u306a\u3044\u3057)\u3093\u3067\u3059\u3051\u3069\u3001\u3053\u3046\u3044\u3063\u305fSMTP\u30b5\u30fc\u30d0\u3084\u3089sendmail\/postfix\u3084\u3089\u3092\u4f7f\u308f\u306a\u304f\u3066\u3082\u3001\u672c\u6765SMTP\u3067\u306f\u30e1\u30fc\u30eb\u3092\u7c21\u5358\u306b\u9001\u308c\u308b\u306f\u305a(\u306a\u3093\u3068\u8a00\u3063\u3066\u3082\u300cSimple Mail Transfer Protocol\u300d\u3067\u3059\u304b\u3089)\u3001\u3068\u601d\u3044\u307e\u3057\u305f\u3002\n\u3068\u306f\u3044\u3048\u3058\u3083\u3041\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u306e\u304b\u3001\u3068\u601d\u3063\u305f\u3068\u304d\u3001Go\u3092\u7528\u3044\u305f\u4f8b\u3068\u3044\u3046\u306e\u306f\u3071\u3063\u3068\u898b\u5f53\u305f\u3089\u306a\u3044\u306e\u3067\u3059\u3002\u4ed5\u65b9\u306a\u3044\u306e\u3067telnet\u3092\u4f7f\u7528\u3057\u305f\u4f8b\u3092\u898b\u306a\u304c\u3089\u3001telnet\u3067\u3069\u3046\u3084\u308c\u3070\u81ea\u5206\u306egmail\u5b9b\u3066\u306b\u30e1\u30fc\u30eb\u304c\u9001\u308c\u308b\u306e\u304b\u3001\u3068\u3044\u3046\u306e\u3092\u8a66\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5177\u4f53\u7684\u306a\u624b\u9806\u3068\u3044\u3046\u306e\u306f\u3001\u6b21\u306e\u69d8\u306a\u3082\u306e\u3067\u3059\u3002\u306a\u304a\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u306f(mac\u306btelnet\u304c\u5165\u3063\u3066\u304a\u3089\u305a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u74b0\u5883\u304c\u3054\u3061\u3083\u3054\u3061\u3083\u3059\u308b\u306e\u3082\u9762\u5012\u3060\u3063\u305f\u306e\u3067)centos:7\u306eDocker\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code># nslookup -type=mx gmail.com\nServer: 192.168.65.1\nAddress: 192.168.65.1#53\nNon-authoritative answer:\ngmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.\ngmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.\ngmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.\ngmail.com mail exchanger = 5 gmail-smtp-in.l.google.com.\ngmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com.\nAuthoritative answers can be found from:\n# telnet gmail-smtp-in.l.google.com 25\nTrying 74.125.204.26...\nConnected to gmail-smtp-in.l.google.com.\nEscape character is &#39;^]&#39;.\n220 mx.google.com ESMTP 6si12301456pjb.7 - gsmtp\nHELO smtp.gmail.com\n250 mx.google.com at your service\nMAIL FROM:&lt;nasa9084@example.com&gt;\n250 2.1.0 OK 6si12301456pjb.7 - gsmtp\nRCPT TO:&lt;XXXXXXXXXX@gmail.com&gt;\n250 2.1.5 OK 6si12301456pjb.7 - gsmtp\nDATA\n354 Go ahead 6si12301456pjb.7 - gsmtp\nSubject: Test via telnet\nFrom: nasa9084\nTo: nasa9084.gmail\nHello, world\n.\n250 2.0.0 OK 1586166529 6si12301456pjb.7 - gsmtp\nQUIT\n221 2.0.0 closing connection 6si12301456pjb.7 - gsmtp\nConnection closed by foreign host.\n<\/code><\/pre><p>\u7121\u4e8b\u81ea\u5206\u306egmail\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30e1\u30fc\u30eb\u304c\u5c4a\u304d\u307e\u3057\u305f\u3002\u3053\u306e\u624b\u9806\u3092Go\u3067\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>"},{"title":"Anker SoundCore Motion B","link":"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/","pubDate":"Wed, 01 Apr 2020 17:05:46 +0000","guid":"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/","description":"<p>\u81ea\u5b85\u3067\u306f(\u3082)\u8077\u5834\u3068\u540c\u3058\u304fMacBook Pro 13inch\u3092\u4f7f\u3063\u3066\u3044\u3066\u3001\u30c7\u30b9\u30af\u306b\u5411\u304b\u3046\u3068\u304d\u306fLG\u306e4K\u30e2\u30cb\u30bf\u3092\u30af\u30e9\u30e0\u30b7\u30a7\u30eb\u30e2\u30fc\u30c9\u3001USB type-C\u63a5\u7d9a\u3067\u4f7f\u3063\u3066\u3044\u308b\u3093\u3067\u3059\u304c\u3001\u307e\u3041\u666e\u901a\u30e2\u30cb\u30bf\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u3068\u3044\u3046\u306e\u306f\u3042\u307e\u308a\u3044\u3044\u97f3\u306f\u3057\u307e\u305b\u3093\u3002\u307e\u3041\u3001\u304a\u307e\u3051\u307f\u305f\u3044\u306a\u3082\u306e\u306a\u306e\u3067\u4ed5\u65b9\u306a\u3044\u3093\u3067\u3059\u3051\u3069\u3002\u305d\u3093\u306a\u308f\u3051\u3067\u30e2\u30cb\u30bf\u304b\u3089\u306f\u97f3\u3092\u51fa\u3055\u305a\u3001\u97f3\u306fPC\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u304b\u3089\u51fa\u3057\u3066\u307e\u3057\u305f\u3002<\/p>\n<p>\u79c1\u306f\u57fa\u672c\u7684\u306b\u3042\u307e\u308aPC\u3067\u97f3\u697d\u3092\u8074\u304f\u3001\u3068\u3044\u3046\u3053\u3068\u306f\u3057\u306a\u3044\u4eba\u9593\u306a\u306e\u3067\u3001\u7279\u306b\u305d\u308c\u3067\u3082\u4e0d\u6e80\u306f\u306a\u3044\u307e\u307e\u3053\u3053\u307e\u3067\u6765\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u5148\u6708\u304b\u3089\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7(COVID-19)\u6d41\u884c\u306e\u3042\u304a\u308a\u3092\u53d7\u3051\u3066\u30d8\u30a4\u30b7\u30e3\u3067\u3082\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3067\u4ed5\u4e8b\u3092\u3059\u308b\u3001\u3068\u3044\u3046\u5f62\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u305d\u3046\u3059\u308b\u3068\u3001\u3053\u308c\u307e\u3067\u306f\u5e30\u5b85\u5f8c\u98df\u4e8b\u3084\u3089\u98a8\u5442\u3084\u3089\u3001\u306e\u5f8c\u304f\u3089\u3044\u304b\u3089\u5bdd\u308b\u307e\u3067\u3057\u304b\u81ea\u5b85\u3067\u306fPC\u306b\u5411\u304b\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u304c\u4e00\u6c17\u306b\u4e00\u65e5\u4e2d\u3078\u3068\u4f38\u3073\u307e\u3057\u305f\u3002\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u985e\u3044\u3082zoom\u3067\u884c\u3046\u3053\u3068\u306b\u306a\u308a\u3001\u3053\u308c\u3092\u6a5f\u306b\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u3082\u8cb7\u304a\u3046\u304b\u306a\u3001\u306a\u3093\u3066\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u3001Anker\u304c<a href=\"https:\/\/www.ankerjapan.com\/category\/REMOTEWORKING\/\" target=\"_blank\" rel=\"noopener\">\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u7279\u96c6<\/a>\n\u3067\u3044\u304f\u3064\u304b\u306e\u5546\u54c1(\u5143\u3005\u306f4\u7a2e\u985e\u304b5\u7a2e\u985e\u304f\u3089\u3044\u5bfe\u8c61\u5546\u54c1\u304c\u3042\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u58f2\u308a\u5207\u308c\u305f\u306e\u304b\u73fe\u5728\u306f3\u7a2e\u985e\u306b\u306a\u3063\u3066\u307e\u3059\u306d)\u304c\u534a\u984d\u3001\u305d\u306e\u4e2d\u306bBluetooth\u30b9\u30d4\u30fc\u30ab\u30fc\u3082\u3042\u308b\u3001\u3068\u3044\u3046\u8a71\u3092\u805e\u304d\u307e\u3057\u3066\u3001\u8cfc\u5165\u306b\u8e0f\u307f\u5207\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u8cfc\u5165\u3057\u305f\u306e\u306f<a href=\"https:\/\/www.ankerjapan.com\/item\/A3109.html\" target=\"_blank\" rel=\"noopener\">SoundCore Motion B<\/a>\n\u3068\u3044\u3046\u5546\u54c1\u3067\u3059\u3002\u4e00\u5e74\u534a\u4f4d\u524d\u306b\u767a\u58f2\u3055\u308c\u305f\u5546\u54c1\u3067\u3001Bluetooth\u63a5\u7d9a\u3001IPX7\u898f\u683c\u306e\u9632\u6c34\u6027\u80fd\u3001\u6700\u592712\u6642\u9593\u9023\u7d9a\u518d\u751f\u53ef\u80fd\u306a\u30d0\u30c3\u30c6\u30ea\u30fc\u3068\u3044\u3046\u306e\u304c\u58f2\u308a\u306e\u5546\u54c1\u3067\u3059\u3002\n\u307e\u305f\u3001\u3053\u3061\u3089\u306e\u5546\u54c1\u306f\u4e8c\u53f0\u3092\u4e00\u53f0\u306ePC\u306b\u3064\u306a\u3050\u3053\u3068\u3067\u4e8c\u53f0\u3067\u4e00\u3064\u306e\u30b9\u30c6\u30ec\u30aa\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b(\u308f\u304b\u308a\u306b\u304f\u3044)\u3068\u3044\u3046\u6a5f\u80fd\u3082\u3042\u308a\u307e\u3059\u3002\n\u305b\u3063\u304b\u304f\u534a\u984d\u306a\u306e\u3060\u3057\u3001\u4e8c\u53f0\u8cb7\u3063\u3066\u3082\u4e00\u53f0\u5206\u3001\u4e8c\u53f0\u3067\u3064\u306a\u3050\u3068\u3069\u3093\u306a\u611f\u3058\u306a\u306e\u304b\u3082\u3061\u3087\u3063\u3068\u3084\u3063\u3066\u307f\u305f\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u4e8c\u53f0\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165119-1_hu_8db4e79e9ce60051.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5c4a\u3044\u305f\u5546\u54c1\u304c\u3053\u3061\u3089\u3002Anker\u3089\u3057\u304f\u3001\u5c0f\u67c4\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\u767a\u9001\u306fAmazon\u304c\u4ee3\u884c\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3001Amazon Japan\u304b\u3089\u306e\u8377\u7269\u3068\u3057\u3066\u5c4a\u304d\u307e\u3057\u305f(\u304c\u3001\u7bb1\u306fAmazon\u306e\u7bb1\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f)\u3002\u8f38\u9001\u7528\u306e\u6bb5\u30dc\u30fc\u30eb\u7bb1\u3082\u5c0f\u3055\u3081\u3060\u3063\u305f\u305f\u3081\u3001\u4e00\u77ac\u300c\u4e8c\u500b\u983c\u3093\u3060\u3088\u306a\u30fb\u30fb\u30fb\uff1f\u300d\u3068\u4e0d\u5b89\u306b\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u3061\u3083\u3093\u3068\u4e8c\u500b\u5165\u3063\u3066\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165158_hu_2ddd73de48b4592.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u306e\u4e0a\u9762\u306b\u306f\u5546\u54c1\u306e\u58f2\u308a\u3068\u5185\u5bb9\u7269\u304c\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\u5185\u5bb9\u7269\u304c\u5c11\u306a\u3059\u304e\u3066\u3001\u5de6\u5074\u306eWhat&rsquo;s In The Box\u3068\u53f3\u5074\u306e\u5185\u5bb9\u7269\u306e\u9593\u304c\u958b\u304d\u3059\u304e\u3066\u3044\u3066\u6238\u60d1\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165205_hu_9bb76e544a5375df.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165210_hu_d28dfd0d54b52368.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5074\u9762\u3002\u5b8c\u5168\u9632\u6c34\u306812\u6642\u9593\u518d\u751f\u3001\u3068\u306e\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u3002\u5b8c\u5168\u9632\u6c34\u3068\u306e\u3053\u3068\u3067\u3059\u3051\u3069\u3001\u4ed5\u69d8\u3068\u3057\u3066\u306fIPX7\u306a\u306e\u3067\u3001\u9632\u6c34\u7279\u6027\u3068\u3057\u3066\u306f1m\u306e\u6c34\u6df1\u306b30\u5206\u6d78\u304b\u3063\u3066\u3082OK\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165300_hu_31f4d0513254462b.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u7bb1\u4e0b\u90e8\u306e\u30c6\u30fc\u30d7(?)\u3092\u5265\u304c\u3057\u3066\u958b\u5c01\u3002\u98fe\u308a\u6c17\u306e\u306a\u3044\u767d\u3044\u7bb1\u304c\u59ff\u3092\u73fe\u3057\u307e\u3059\u3002\n\u53f3\u5074\u306b\u30d7\u30eb\u30bf\u30d6(?)\u304c\u3042\u308b\u306e\u3067\u3001\u4ed8\u5c5e\u54c1\u304c\u306f\u3044\u3063\u3066\u3044\u308b\u7bb1\u3067\u84cb\u3055\u308c\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u72b6\u614b\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165305_hu_6787847f353dd7a6.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u767d\u3044\u7bb1\u3092\u53d6\u308a\u51fa\u3059\u3068\u3001\u672c\u4f53\u304c\u59ff\u3092\u73fe\u3057\u307e\u3059\u3002\u5145\u96fb\u5668\u3068\u304b\u3068\u540c\u3058\u304f\u3001\u8584\u3044\u888b\u306b\u5165\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165358_hu_4ca8b1ced2fb8736.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5185\u5bb9\u54c1\u3092\u53d6\u308a\u51fa\u3057\u305f\u69d8\u5b50\u3002\u304a\u306a\u3058\u307fHappy? Not Happy?\u306e\u7d19\u3068User Manual\u3001\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u304c\u5165\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u306fMicro USB Micro-B\u3067\u3059\u3002User Manual\u306f\u3061\u3083\u3093\u3068\u5404\u56fd\u8a9e\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/IMG_20200401_165601_hu_d2609621a2da4372.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4e8c\u53f0\u7a4d\u3093\u3060\u69d8\u5b50\u3002\u308f\u304b\u308a\u306b\u304f\u3044\u3067\u3059\u3051\u3069\u3001\u4e0a\u90e8\u306b\u30dc\u30bf\u30f3\u304c\u3064\u3044\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u5145\u96fb\u30b1\u30fc\u30d6\u30eb\u3092\u633f\u3057\u3066\u3001\u5de6\u53f3\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/----------2020-04-02-1.59.33_hu_dc04ae28a9e8818f.png\" alt=\"\" \/>\n<\/p>\n<p>\u30b9\u30c6\u30ec\u30aa\u3067\u63a5\u7d9a\u3059\u308b\u5834\u5408\u306f\u307e\u305a\u4e21\u65b9\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u8d77\u52d5\u3057\u3001\u30b9\u30c6\u30ec\u30aa\u30e2\u30fc\u30c9\u306b\u3057\u307e\u3059\u3002\u30b9\u30d4\u30fc\u30ab\u30fc\u540c\u58eb\u304c\u3064\u306a\u304c\u3063\u305f\u5f8c(\u72b6\u614b\u5909\u5316\u304c\u308f\u304b\u308a\u306b\u304f\u3044\u30fb\u30fb\u30fb)\u3001PC\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002\nPC\u5074\u306e\u8868\u793a\u306f\u4e00\u53f0\u5206\u3068\u3057\u3066\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u4e8c\u53f0\u30d0\u30e9\u30d0\u30e9\u306b\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u306d\u3002<\/p>\n<p>\u3067\u3001\u809d\u5fc3\u306e\u97f3\u3067\u3059\u304c\u3001\u3082\u3061\u308d\u3093\u30e2\u30cb\u30bf\u3084PC\u672c\u4f53\u306e\u97f3\u3088\u308a\u5727\u5012\u7684\u306b\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u30b9\u30d4\u30fc\u30ab\u30fc\u3068\u3057\u3066\u306e\u97f3\u8cea\u304c\u3059\u3054\u304f\u826f\u3044\u304b\u3068\u3044\u3046\u3068\u3001\u307e\u3041Bluetooth\u306e\u6642\u70b9\u3067\u305d\u3053\u305d\u3053\u3001\u3068\u3044\u3046\u611f\u3058\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u79c1\u3068\u3057\u3066\u306f\u7279\u306b\u554f\u984c\u306a\u3044\u97f3\u8cea\u3067\u3059\u3002\n\u304d\u3061\u3093\u3068\u53f3\u3001\u5de6\u304b\u3089\u5225\u3005\u306b\u97f3\u304c\u51fa\u3066\u3044\u3066\u3001\u30bb\u30f3\u30bf\u30fc\u306e\u97f3\u306f\u30bb\u30f3\u30bf\u30fc\u3042\u305f\u308a\u304b\u3089\u805e\u3053\u3048\u3066\u3044\u308b\u69d8\u306a\u6c17\u304c\u3057\u307e\u3059\u3002\n\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3082Big Sound\u3068\u8a18\u8f09\u304c\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u97f3\u91cf\u306f\u5927\u304d\u3081\u3060\u3068\u601d\u3044\u307e\u3059\u3002\n\u97f3\u91cf\u8a2d\u5b9a\u3092\u4e0b\u8a18\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u304f\u3089\u3044\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u304c\u3001MBP\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u97f3\u91cf\u3092\u30d0\u30fc\u306e\u771f\u3093\u4e2d\u4f4d\u306b\u8a2d\u5b9a\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u304f\u3089\u3044\u306e\u97f3\u91cf\u304c\u3067\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/images\/----------2020-04-02-11.58.46_hu_55d49f9fd55c6ac7.png\" alt=\"\" \/>\n<\/p>\n<p>\u307e\u3041\u307f\u3093\u306a\u304c\u307f\u3093\u306a\u4e8c\u53f0\u8cb7\u3046\u306e\u304c\u3044\u3044\u304b\u3068\u3044\u3046\u3068\u3001\u305d\u308c\u306f\u3088\u304f\u308f\u304b\u3093\u306a\u3044\u3067\u3059\u3051\u3069\u3001\u3059\u3054\u304f\u9ad8\u3044\u3082\u306e\u3068\u3044\u3046\u8a33\u3067\u3082\u306a\u3044\u306e\u3067\u3001\u305d\u3053\u305d\u3053\u306ePC\u7528\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u63a2\u3057\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u304b\u305f\u306f\u3053\u308c\u3092\u6a5f\u306b\u4e8c\u53f0\u3048\u3044\u3063\u3068\u8cb7\u3063\u3066\u307f\u3066\u3082\u826f\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>"},{"title":"\u30b5\u30fc\u30e2\u30f3\u3092Anova\u3067\u3084\u308b","link":"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/","pubDate":"Tue, 03 Mar 2020 05:30:29 +0000","guid":"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/","description":"<p>\u6628\u6669\u306e\u6669\u3054\u98ef\u3068\u3057\u3066\u3001\u30b5\u30fc\u30e2\u30f3\u3092\u4f4e\u6e29\u8abf\u7406\u3067\u3084\u308a\u307e\u3057\u305f\u306e\u3067\u3001\u8a18\u9332\u306b\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\u306a\u304a\u3001\u4f7f\u7528\u3057\u305f\u30b5\u30fc\u30e2\u30f3\u306f\u523a\u8eab\u7528\u306e\u30b5\u30fc\u30e2\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u591a\u5206\u523a\u8eab\u7528\u3058\u3083\u306a\u304f\u3066\u3082\u826f\u3044\u3068\u306f\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u3061\u3087\u3063\u3068\u6016\u304b\u3063\u305f\u306e\u3067\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_204342_hu_3c7119b2b2b88ea9.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4f7f\u7528\u3059\u308b\u30b5\u30fc\u30e2\u30f3\u306f\u3053\u3061\u3089\u3002\u8fd1\u6240\u306e\u897f\u53cb\u3067\u5272\u5f15\u306b\u306a\u3063\u3066\u3044\u305f\u3082\u306e\u3067\u3001300g\u524d\u5f8c\u3067600\u5186\u5f31\u3060\u3063\u305f\u6c17\u304c\u3057\u307e\u3059\u3002\u4e8c\u4eba\u5206\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_204558_hu_8b10d411027d1041.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6c34\u6c17\u3092\u9069\u5f53\u306b\u62ed\u3044\u305f\u5f8c\u3001\u534a\u5206\u306b\u3056\u3063\u304f\u308a\u3068\u5207\u3063\u3066\u30b9\u30c6\u30f3\u30ec\u30b9\u306e\u30c8\u30ec\u30fc\uff1f\u30d0\u30c3\u30c8\uff1f\u306b\u7f6e\u304d\u307e\u3059\u3002\u5b9f\u5bb6\u306b\u306f\u30d0\u30c3\u30c8\u3068\u3044\u3046\u3082\u306e\u306f\u5b58\u5728\u3057\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u4f7f\u3063\u3066\u307f\u308b\u3068\u975e\u5e38\u306b\u4fbf\u5229\u3067\u3059\u3002100\u5747\u3067\u3082\u58f2\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u9069\u5f53\u306b\u6570\u679a\u305d\u308d\u3048\u3066\u304a\u304f\u3068\u306a\u3093\u3060\u304b\u3093\u3060\u91cd\u5b9d\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_204632_hu_479c60fd31d3c2e9.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_204720_hu_242b9a9d23fdc19f.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5869\u3068\u6c34\u3068\u7802\u7cd6\u3092\u4f55\u3084\u3089\u6df7\u305c\u5408\u308f\u305b\u305f\u3082\u306e\u306b\u6d78\u3057\u307e\u3059\u3002\u7d30\u304b\u3044\u5206\u91cf\u306f\u30aa\u30e9\u30a4\u30ea\u30fc\u3055\u3093\u306e\u300c<a href=\"https:\/\/amzn.to\/2TBYdTw\" target=\"_blank\" rel=\"noopener\">\u5bb6\u5ead\u306e\u4f4e\u6e29\u8abf\u7406<\/a>\n\u300d\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u306a\u304a\u3001\u79c1\u306f\u7d19\u306e\u672c\u3092\u8cb7\u3044\u307e\u3057\u305f\u304c\u3001\u96fb\u5b50\u66f8\u7c4d\u3067\u8cb7\u3063\u3066iPad\u304b\u306a\u3093\u304b\u306b\u8868\u793a\u3057\u306a\u304c\u3089\u8abf\u7406\u3059\u308b\u306e\u304c\u304a\u3059\u3059\u3081\u3067\u3059\u3002\u7d50\u69cb\u539a\u3044\u672c\u306a\u306e\u3067\u3001\u3068\u306b\u304b\u304f\u53d6\u308a\u56de\u3057\u304c\u3057\u306b\u304f\u3044\u306e\u3067\u3002<\/p>\n<p>\u6211\u304c\u5bb6\u306e\u30d0\u30c3\u30c8\u3067\u306f\u82e5\u5e72\u30b5\u30fc\u30e2\u30f3\u304c\u6db2\u4f53\u304b\u3089\u51fa\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u30ad\u30c3\u30c1\u30f3\u30da\u30fc\u30d1\u30fc\u7684\u306a\u3082\u306e\u306b\u6db2\u4f53\u3092\u3057\u307f\u3053\u307e\u305b\u3066\u4e0a\u304b\u3089\u304b\u3076\u305b\u3066\u304a\u304d\u307e\u3057\u305f\u3002\u3053\u306e\u72b6\u614b\u306720\u5206\u307b\u3069\u653e\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=487311862X&linkId=3e70bc4098a26c187997b670ad6c567e\"><\/iframe>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_204836_MP_hu_64b0d0a0930c6abe.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u305d\u306e\u9593\u306b\u6c34\u69fd(\u3068\u3044\u3046\u304b\u30d0\u30b1\u30c4\u3067\u3059\u3051\u3069)\u3092\u6696\u3081\u3066\u304a\u304d\u307e\u3059\u3002\u4eca\u56de\u306f52\u5ea6\u3067\u3084\u308a\u307e\u3059\u3002\u6c34\u9053\u304b\u3089\u666e\u901a\u306b\u304a\u6e6f(\u3067\u304d\u308c\u3070\u5c11\u3057\u6e29\u5ea6\u8a2d\u5b9a\u3092\u3042\u3052\u305f\u3082\u306e)\u3092\u305f\u3081\u308b\u3068\u3042\u305f\u305f\u3081\u6642\u9593\u304c\u77ed\u7e2e\u3067\u304d\u307e\u3059\u3002\u591a\u5206\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_212521_hu_30fd9e7ff734075e.jpg\" alt=\"\" \/>\n<\/p>\n<p>20\u5206\u7d4c\u904e\u3057\u305f\u3082\u306e\u304c\u3053\u3061\u3089\u3002\u3042\u3093\u307e\u308a\u898b\u305f\u76ee\u306f\u5909\u308f\u3063\u3066\u306a\u3044\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_212747_hu_e42053cceaaccf43.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u6d41\u6c34\u3067\u3055\u3063\u3068\u6d17\u3063\u3066\u4f59\u5206\u306a\u5869\u6c17\u3092\u843d\u3068\u3057\u3001\u30da\u30fc\u30d1\u30fc\u3067\u6c34\u5206\u3092\u3068\u308a\u307e\u3059\u3002\u306a\u3093\u304b\u7b4b\u304c\u30d4\u30ed\u30d4\u30ed\u3057\u3066\u3066\u30ad\u30e2\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_212959_hu_f4fa9d6f6d72765.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30ad\u30e3\u30ce\u30fc\u30e9\u6cb9\u3092\u307e\u3093\u3079\u3093\u306a\u304f\u307e\u3076\u3057\u3001\u30b8\u30c3\u30d1\u30fc\u3064\u304d\u306e\u888b\u306b\u6295\u5165\u3057\u307e\u3059\u3002\u5199\u771f\u306e\u3082\u306e\u306fIKEA\u306e\u888b\u3067\u3059\u3002\u307e\u3060\u888b\u306e\u53e3\u306f\u9589\u3058\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_213158_hu_139bd6156e5d7fe.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u3044\u308f\u3086\u308b\u6c34\u5727\u6cd5\u3067\u7a7a\u6c17\u3092\u629c\u304d\u3001\u888b\u306e\u53e3\u3092\u9589\u3058\u306652\u5ea6\u306720\u5206\u3084\u308a\u307e\u3059\u3002\u3042\u305f\u305f\u3081\u3066\u3044\u308b\u9593\u306b\u30bd\u30fc\u30b9\u3092\u4f5c\u3063\u305f\u308a\u3059\u308b\u306e\u3067\u3059\u304c\u3001\u6628\u65e5\u306f\u30d1\u30b9\u30bf\u3092\u4f5c\u3063\u305f\u308a\u3082\u3057\u305f\u306e\u3067\u3001\u7d50\u5c4040\u5206\u304f\u3089\u3044\u653e\u7f6e\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u300c\u5bb6\u5ead\u306e\u4f4e\u6e29\u8abf\u7406\u300d\u306b\u306f30\u5206\u307e\u3067\u3068\u66f8\u3044\u3066\u3042\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u307e\u304140\u5206\u3067\u3082\u5927\u4e08\u592b\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/images\/IMG_20200302_222037_hu_e269d4fb4e6f4505.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30bd\u30fc\u30b9\u5358\u4f53\u306e\u5199\u771f\u306f\u53d6\u308a\u5fd8\u308c\u3066\u3057\u307e\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u5473\u564c\u3068\u30c7\u30a3\u30b8\u30e7\u30f3\u30de\u30b9\u30bf\u30fc\u30c9\u3001\u8702\u871c\u3001\u30ec\u30e2\u30f3\u6c41\u3001\u3059\u308a\u304a\u308d\u3057\u305f\u751f\u59dc\u3001\u3054\u307e\u6cb9\u3068\u30ad\u30e3\u30ce\u30fc\u30e9\u6cb9\u3092\u3088\u3057\u306a\u306b\u6df7\u305c\u305f\u30e2\u30ce\u3067\u3059\u3002\u9069\u5f53\u306b\u30b9\u30d7\u30fc\u30f3\u3067\u6df7\u305c\u3066\u3082\u6848\u5916\u3061\u3083\u3093\u3068\u4e73\u5316\u3059\u308b\u3082\u3093\u3067\u3059\u306d\u3002<\/p>\n<p>\u30bd\u30fc\u30b9\u3092\u304b\u3051\u305f\u5f8c\u4e03\u5473\u3092\u304b\u3051\u3066\u3044\u307e\u3059\u304c\u3001\u8cb7\u3063\u3066\u304b\u3089\u5927\u5206\u305f\u3063\u305f\u4e03\u5473\u306a\u306e\u3067\u3001\u8f9b\u307f\u3082\u9999\u308a\u3082\u4f55\u3082\u306a\u3044\u7269\u4f53\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u304a\u3044\u3057\u304b\u3063\u305f\u3067\u3059\u3002\u307e\u308b\u3002<\/p>"},{"title":"emacs\/lsp-mode + gopls\u3067Go\u7528\u306eLSP\u74b0\u5883\u3092\u8a2d\u5b9a\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/lsp-mode-with-gopls\/","pubDate":"Fri, 07 Feb 2020 08:19:29 +0000","guid":"https:\/\/blog.web-apps.tech\/lsp-mode-with-gopls\/","description":"<p><a href=\"https:\/\/microsoft.github.io\/language-server-protocol\/\" target=\"_blank\" rel=\"noopener\">Language Server Protocol<\/a>\n(\u4ee5\u4e0bLSP)\u306f\u3053\u308c\u307e\u3067\u30a8\u30c7\u30a3\u30bf\/IDE\u304c\u72ec\u81ea\u306b\u5b9f\u88c5\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u3001\u88dc\u5b8c\u3084\u5b9a\u7fa9\u53c2\u7167\u3001\u9759\u7684\u89e3\u6790\u306b\u3088\u308b\u30a8\u30e9\u30fc\u5206\u6790\u306a\u3069\u3092\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002\nLSP\u3092\u5b9f\u88c5\u3057\u305f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001Language Server\u3092\u63d0\u4f9b\u3057\u3066\u3044\u308b\u8a00\u8a9e\u3067\u3042\u308c\u3070\u4f55\u3067\u3082\u88dc\u5b8c\u3084\u5b9a\u7fa9\u53c2\u7167\u3001\u9759\u7684\u89e3\u6790\u3068\u3044\u3063\u305f\u4fbf\u5229\u6a5f\u80fd\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>Microsoft\u304c2016\u5e74\u306b\u305d\u306e\u4ed5\u69d8\u3092\u516c\u958b\u3057\u3066\u304b\u3089\u3001\u591a\u304f\u306e\u30a8\u30c7\u30a3\u30bf\u7528\u306eLSP\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5b9f\u88c5\u304c\u4f5c\u3089\u308c\u3001\u307e\u305f\u5404\u7a2e\u8a00\u8a9e\u7528\u306eLanguage Server\u3082\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>Go\u8a00\u8a9e\u3082\u4f8b\u306b\u6f0f\u308c\u305aLanguage Server\u306e\u5b9f\u88c5\u304c\u3044\u304f\u3064\u304b\u5b58\u5728\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u6e96\u516c\u5f0f\u63d0\u4f9b\u306e<a href=\"golang.org\/x\/tools\/gopls\">gopls<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3059\u3002\n\u3082\u3061\u308d\u3093emacs\u306b\u3082\u8907\u6570\u306eLSP Client\u5b9f\u88c5\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u306f<a href=\"https:\/\/github.com\/emacs-lsp\/lsp-mode\" target=\"_blank\" rel=\"noopener\">lsp-mode<\/a>\n\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306femacs\u7528\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u6b21\u306e\u30e2\u30ce\u3092<code>package-install<\/code>\u304b<code>package-list-packages<\/code>\u304b\u3001\u305d\u306e\u3042\u305f\u308a\u3067\u3088\u3057\u306a\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li>lsp-mode<\/li>\n<li>lsp-ui<\/li>\n<li>company-lsp<\/li>\n<\/ul>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u3089\u3001(\u79c1\u306fuse-package\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067)\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306buse-package\u306e\u8a2d\u5b9a\u3092\u5165\u308c\u3066\u304a\u304d\u307e\u3059\u3002\u3064\u3044\u3067\u306bgo\u7528\u306e\u8a2d\u5b9a\u3082\u5165\u308c\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-lisp\" data-lang=\"lisp\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\">;; Golang<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nb\">defun<\/span> <span class=\"nv\">lsp-go-install-save-hooks<\/span><span class=\"p\">()<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">add-hook<\/span> <span class=\"ss\">&#39;before-save-hook<\/span> <span class=\"nf\">#&#39;<\/span><span class=\"nv\">lsp-format-buffer<\/span> <span class=\"no\">t<\/span> <span class=\"no\">t<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">add-hook<\/span> <span class=\"ss\">&#39;before-save-hook<\/span> <span class=\"nf\">#&#39;<\/span><span class=\"nv\">lsp-organize-imports<\/span> <span class=\"no\">t<\/span> <span class=\"no\">t<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nf\">use-package<\/span> <span class=\"nv\">go-mode<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:ensure<\/span> <span class=\"no\">t<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:mode<\/span> <span class=\"p\">((<\/span><span class=\"s\">&#34;\\\\.go\\\\&#39;&#34;<\/span> <span class=\"o\">.<\/span> <span class=\"nv\">go-mode<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:init<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">add-hook<\/span> <span class=\"ss\">&#39;go-mode-hook<\/span> <span class=\"nf\">#&#39;<\/span><span class=\"nv\">lsp-go-install-save-hooks<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">;; Language Server<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nf\">use-package<\/span> <span class=\"nv\">lsp-mode<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:ensure<\/span> <span class=\"no\">t<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:hook<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">(<\/span><span class=\"nv\">go-mode<\/span> <span class=\"o\">.<\/span> <span class=\"nv\">lsp-deferred<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:commands<\/span> <span class=\"p\">(<\/span><span class=\"nv\">lsp<\/span> <span class=\"nv\">lsp-deferred<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nf\">use-package<\/span> <span class=\"nv\">lsp-ui<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:ensure<\/span> <span class=\"no\">t<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:commands<\/span> <span class=\"nv\">lsp-ui-mode<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">(<\/span><span class=\"nf\">use-package<\/span> <span class=\"nv\">company-lsp<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:ensure<\/span> <span class=\"no\">t<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"ss\">:commands<\/span> <span class=\"nv\">company-lsp<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>gopls\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3082\u3057\u307e\u3057\u3087\u3046\u3002<\/p>"},{"title":"Flutter\u74b0\u5883\u69cb\u7bc9 with emacs","link":"https:\/\/blog.web-apps.tech\/flutter_setup_with_emacs\/","pubDate":"Sat, 18 Jan 2020 15:18:55 +0000","guid":"https:\/\/blog.web-apps.tech\/flutter_setup_with_emacs\/","description":"<p>\u3053\u3053\u6570\u65e5\u3001Flutter\u3067Android\u30a2\u30d7\u30ea\u3092\u66f8\u304f\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u5165\u9580\u3057\u3066\u307f\u3066\u3044\u307e\u3059\u3002\nAndroid\u30a2\u30d7\u30ea\u306e\u958b\u767a\u81ea\u4f53\u306f\u5927\u5206\u524d(\u7121\u5370Galaxy S\u3092\u4f7f\u3063\u3066\u3044\u305f\u9803\u306a\u306e\u3067\u3001Eclair\u3068\u304bFroyo\u3068\u304b\u306e\u9803)\u306b\u3059\u3053\u3057\u3060\u3051\u3084\u3063\u305f\u3053\u3068\u304c\u3042\u308b\u3093\u3067\u3059\u304c\u3001\u305d\u306e\u3053\u308d\u3068\u6bd4\u3079\u308b\u3068\u304b\u306a\u308a\u7c21\u5358\u306b\u3001\u304d\u308c\u3044\u306a\u30a2\u30d7\u30ea\u304c\u30b7\u30e5\u30c3\u3068\u52d5\u3044\u3066\u3001\u3061\u3087\u3063\u3068\u3070\u304b\u3057\u611f\u52d5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u6268\u3001Flutter\/Android\u958b\u767a\u306e\u74b0\u5883\u69cb\u7bc9\u3067\u3059\u304c\u3001\u307b\u3068\u3093\u3069\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304cAndroid Studio\u3092\u524d\u63d0\u3068\u3057\u3066\u304a\u308a\u3001\u79c1\u306e\u3088\u3046\u306aemacs\u30e6\u30fc\u30b6\u304c\u3069\u3046\u3057\u305f\u3089\u3044\u3044\u306e\u304b\u3001\u3061\u3087\u3063\u3068\u3070\u304b\u3057\u8e93\u304d\u305d\u3046\u306a\u306e\u3067\u3001\u30e1\u30e2\u304c\u3066\u3089\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u57fa\u672c\u7684\u306a\u624b\u9806\u306f<a href=\"https:\/\/flutter.dev\/docs\/get-started\/install\/macos\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u306b\u6e96\u3058\u307e\u3059\u3002\u307e\u305f\u3001\u74b0\u5883\u306fmacOS Catalina \u30d0\u30fc\u30b8\u30e7\u30f3 10.15.1\u3001emacs\u306fbrew\u3067\u5165\u308c\u308bemacs-mac 26.3\u3067\u3059\u3002\nFlutter\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u57f7\u7b46\u6642\u70b9\u3067v1.12.13+hotfix.5\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"flutter-sdk\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">Flutter SDK\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p><a href=\"https:\/\/flutter.dev\/docs\/get-started\/install\/macos\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30ea\u30f3\u30af\u304b\u3089Flutter SDK\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304d\u3066\u89e3\u51cd\u3001\u4efb\u610f\u306e\u5834\u6240\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002\u79c1\u306f\u306a\u3093\u3068\u306a\u304f\u3067<code>$HOME\/.local\/flutter<\/code>\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ wget https:\/\/storage.googleapis.com\/flutter_infra\/releases\/stable\/macos\/flutter_macos_v1.12.13+hotfix.5-stable.zip\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ unzip flutter_macos_v1.12.13+hotfix.5-stable.zip\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ mv flutter <span class=\"nv\">$HOME<\/span>\/.local\/\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u914d\u7f6e\u3067\u304d\u305f\u3089PATH\u3092\u901a\u3057\u307e\u3059\u3002\n\u79c1\u306fzsh\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3001<code>$HOME\/.zshrc<\/code>\u306b\u4ee5\u4e0b\u306e\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># Flutter SDK<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nb\">export<\/span> <span class=\"nv\">PATH<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;<\/span><span class=\"nv\">$PATH<\/span><span class=\"s2\">:<\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/.local\/flutter\/bin&#34;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>PATH\u3092\u901a\u3057\u305f\u3089\u3001<code>flutter --version<\/code>\u3067\u3061\u3083\u3093\u3068PATH\u304c\u901a\u3063\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"android-sdk\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">Android SDK\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p><a href=\"https:\/\/flutter.dev\/docs\/get-started\/install\/macos\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u306e\u624b\u9806\u3067\u306fAndroid Studio\u3092\u5165\u308c\u308d\u3068\u306e\u3053\u3068\u3067\u3059\u304c\u3001emacs\u3092\u4f7f\u3046\u4e88\u5b9a\u306a\u306e\u3067\u3001Android Studio\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u305b\u305a\u3001Android SDK\u306e\u307f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n<a href=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noopener\">Android Studio\u306e\u30b5\u30a4\u30c8<\/a>\n\u3078\u30a2\u30af\u30bb\u30b9\u3057\u3001<a href=\"https:\/\/developer.android.com\/studio#downloads\" target=\"_blank\" rel=\"noopener\">DOWNLOAD OPTIONS<\/a>\n\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066Command line tools only\u306e\u3068\u3053\u308d\u304b\u3089macOS\u7528\u306eCommand line tools\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001Flutter SDK\u3068\u540c\u69d8\u306b\u9069\u5b9c\u914d\u7f6e\u3057\u3066PATH\u3092\u901a\u3059\u304b\u3001\u7c21\u5358\u306b<code>brew cask install android-sdk<\/code>\u3068\u3057\u307e\u3059\u3002\n\u79c1\u306f\u4eca\u56de\u306fbrew\u3067\u5165\u308c\u307e\u3057\u305f\u3002(Flutter SDK\u3082brew\u3067\u914d\u5e03\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001Flutter SDK\u306f\u5c11\u3057\u53e4\u304b\u3063\u305f\u306e\u3067\u3001\u516c\u5f0f\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304d\u305f\u65b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059)<\/p>\n<p><code>brew cask install android-sdk<\/code>\u3092\u3057\u305f\u3068\u304d\u306b\u3082\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u307e\u3059\u304c\u3001android-sdk\u3092\u4f7f\u7528\u3059\u308b\u306b\u306fJDK 8\u304c\u5fc5\u8981\u306a\u306e\u3067\u3001<code>brew cask install adoptopenjdk8<\/code>\u3068\u3057\u3066JDK\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>"},{"title":"2019\u5e74\u306e\u632f\u308a\u8fd4\u308a","link":"https:\/\/blog.web-apps.tech\/2019-review\/","pubDate":"Wed, 08 Jan 2020 04:58:54 +0000","guid":"https:\/\/blog.web-apps.tech\/2019-review\/","description":"<p>\u200c<\/p>\n<p>2020\u5e74\u306b\u5165\u3063\u3066\u65e91\u9031\u9593\u304c\u7d4c\u904e\u3057\u307e\u3057\u305f\u304c\u3001\u7686\u69d8\u3044\u304b\u304c\u304a\u904e\u3054\u3057\u3067\u3057\u3087\u3046\u304b\u3002 \u4e00\u5e74\u306e\u632f\u308a\u8fd4\u308a\uff01\u307f\u305f\u3044\u306e\u306f\u3042\u3093\u307e\u308a\u3084\u308b\u3064\u3082\u308a\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3042\u307e\u308a\u306b\u3082\u307f\u3093\u306a\u3084\u3063\u3066\u3044\u3066\u76ee\u306b\u3064\u304f\u306e\u3067\u3001\u3053\u308c\u306f\u3084\u3063\u305f\u65b9\u304c\u826f\u3044\u7269\u306a\u306e\u304b\u30fb\u30fb\u30fb\u3068\u601d\u3044\u76f4\u3057\u3001\u9045\u308c\u3070\u305b\u306a\u304c\u3089\u632f\u308a\u8fd4\u3063\u3066\u307f\u3088\u3046\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h3 id=\"1\u6708\">1\u6708<\/h3>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u305d\u3046\u3044\u3048\u30702018\u5e74\u632f\u308a\u8fd4\u308a\u307f\u305f\u3044\u306a\u30d6\u30ed\u30b0\u66f8\u3044\u3066\u306a\u3044\u3093\u3067\u3059\u304c\u30012019\u5e74\u306f\u5fc3\u304a\u3060\u3084\u304b\u306b\u751f\u304d\u305f\u3044\u3068\u601d\u3063\u3066\u304a\u308a\u307e\u3059<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1080869672818335744?ref_src=twsrc%5Etfw\">January 3, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>twitter\u306b\u3088\u308b\u3068\u30012019\u5e74\u306f\u5fc3\u304a\u3060\u3084\u304b\u306b\u751f\u304d\u305f\u3044\u3068\u3044\u3046\u306e\u304c\u76ee\u6a19\u3060\u3063\u305f\u69d8\u5b50\u3002\u3042\u307e\u308a\u5fc3\u7a4f\u3084\u304b\u306b\u306f\u751f\u304d\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5408\u638c\u3002<\/p>\n<p>\u305d\u3046\u3044\u3048\u3070\u6628\u5e74\u306f\u5e74\u660e\u3051\u65e9\u3005\u30a4\u30f3\u30d5\u30eb\u30a8\u30f3\u30b6\u306b\u304b\u304b\u3063\u305f\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u4e00\u6708\u306fLOCAL\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u884c\u3063\u305f\u308a\u3001YAPC::Tokyo\u306b\u884c\u3063\u305f\u308a\u3057\u3066\u3044\u305f\u69d8\u5b50\u3002\u3053\u3053\u534a\u5e74\u306f\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\/\u52c9\u5f37\u4f1a\u53c2\u52a0\u6570\u3082\u6e1b\u3063\u3066\u304d\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u3053\u3089\u3067\u3061\u3087\u3063\u3068\u9811\u5f35\u308a\u305f\u3044\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<h3 id=\"2\u6708\">2\u6708<\/h3>\n<p>ONIcon\u3092\u3084\u3063\u305f\u308a\u3001\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb\u3092\u4f5c\u308a\u59cb\u3081\u305f\u308a\u3002<\/p>\n<p>gomaconf\u3084cookpadtechconf\u3082\u3053\u306e\u3042\u305f\u308a\u3060\u3063\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n<h3 id=\"3\u6708\">3\u6708<\/h3>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u30da\u30c6\u30a3\u30ca\u30a4\u30d5\u304c\u6b32\u3057\u3044<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1101339768116281344?ref_src=twsrc%5Etfw\">March 1, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u30da\u30c6\u30a3\u30ca\u30a4\u30d5\u3001\u30cd\u30c3\u30c8\u4e0a\u3067\u3082\u3044\u308d\u3093\u306a\u4eba\u304c\u300c\u4fbf\u5229\uff01\u300d\u3063\u3066\u8a00\u3063\u3066\u3066\u3001\u3057\u304b\u3057\u307e\u3041\u4e09\u5fb3\u3067\u4e0d\u81ea\u7531\u3057\u3066\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001\u8cb7\u3063\u3066\u307f\u305f\u3089\u5b9f\u969b\u30e1\u30c1\u30e3\u30af\u30c1\u30e3\u4fbf\u5229\u3067\u3001\u6b63\u76f4\u4e09\u5fb3\u3088\u308a\u30da\u30c6\u30a3\u3092\u4f7f\u3046\u3053\u3068\u306e\u65b9\u304c\u5727\u5012\u7684\u306b\u591a\u3044\u3002<\/p>\n<p>LINE.go\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3092\u958b\u50ac\u3057\u305f\u306e\u30823\u6708\u3067\u3057\u305f\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u671d\u3054\u98ef <a href=\"https:\/\/t.co\/PLRDDJEOCY\">pic.twitter.com\/PLRDDJEOCY<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1102716831599484928?ref_src=twsrc%5Etfw\">March 4, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u3054\u795e\u4f53\u306f\u4eca\u3082\u8077\u5834\u306e\u673a\u306b\u307e\u3064\u3089\u308c\u3066\u3044\u307e\u3059\u3002\u306a\u3093\u3068\u4eca\u306f\u9ce5\u5c45\u3082\u3064\u3044\u3066\u3044\u307e\u3059\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/2019-review\/images\/IMG_20200108_133705_hu_ba317fa691ed50a1.jpg\" alt=\"IMG_20200108_133705\" \/>\n<\/p>\n<h3 id=\"4\u6708\">4\u6708<\/h3>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u7686\u3055\u3093\u6280\u8853\u66f8\u5178\u306e\u9032\u6357\u3069\u3046\u3067\u3059\u304b<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1112944814541070337?ref_src=twsrc%5Etfw\">April 2, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u4eca\u3082\u307e\u305f\u3001\u6280\u8853\u66f8\u5178\u306e\u9032\u6357\u306b\u8ffd\u308f\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u305f\u3044\u3057\u305f\u610f\u5473\u3082\u306a\u304f\u8fd1\u6240\u306e\u30b3\u30a4\u30f3\u30e9\u30f3\u30c9\u30ea\u30fc\u3067\u6795\u3092\u6d17\u6fef\u3057\u305f\u7d50\u679c\u3001\u30c9\u30e9\u30e0\u5f0f\u6d17\u6fef\u4e7e\u71e5\u6a5f\u304c\u307b\u3057\u304f\u306a\u3063\u3066\u308b<\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1116727517849608193?ref_src=twsrc%5Etfw\">April 12, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u3053\u306e\u5f8c\u52e2\u3044\u3088\u304f\u30c9\u30e9\u30e0\u5f0f\u6d17\u6fef\u6a5f\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002\u6700\u9ad8\u3002<\/p>\n<h3 id=\"5\u6708\">5\u6708<\/h3>\n<p>PyCon mini sapporo\u304c5\u6708\u3060\u3063\u305f\u3089\u3057\u3044\u3067\u3059\u3002GoCon\u3067\u3057\u3083\u3079\u3063\u305f\u306e\u3082\u3053\u306e\u3042\u305f\u308a\u3060\u3063\u305f\u3089\u3057\u3044\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u6539\u3081\u3066\u3002\u3067\u304b\u3044\u3002 <a href=\"https:\/\/t.co\/zO9TLfdhy8\">pic.twitter.com\/zO9TLfdhy8<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1133758838824288258?ref_src=twsrc%5Etfw\">May 29, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>OSC19do\u30825\u672b\u301c6\u59cb\u3067\u3057\u305f\u306d<\/p>\n<h3 id=\"6\u6708\">6\u6708<\/h3>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u9c39\u7bc0\u98df\u3079\u653e\u984c <a href=\"https:\/\/t.co\/c6ouIwcHis\">pic.twitter.com\/c6ouIwcHis<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1138395750902054915?ref_src=twsrc%5Etfw\">June 11, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u3068\u3053\u308d\u3067\u3001\u307e\u3068\u3081\u3092\u66f8\u304f\u306e\u3082\u75b2\u308c\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"7\u6708\">7\u6708<\/h3>\n<p>Golang 101\u3092\u958b\u50ac\u3057\u305f\u306e\u304c7\u6708\u3060\u3063\u305f\u3088\u3046\u3059\u3002\u307e\u305f\u3084\u308a\u305f\u3044\u3093\u3067\u3059\u304c\u3001\u4f1a\u5834\u304c\u96e3\u3057\u3044\u3067\u3059\u306d\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u9032\u6357\u3067\u3059 <a href=\"https:\/\/t.co\/cbZGgdeHiA\">pic.twitter.com\/cbZGgdeHiA<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1155029202300628992?ref_src=twsrc%5Etfw\">July 27, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u6b21\u306e\u6280\u8853\u66f8\u5178\u306b\u5411\u3051\u3066\u3001\u3053\u308c\u306e\u7b2c\u4e8c\u5dfb\u3092\u66f8\u3044\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092\u518d\u69cb\u6210\u3057\u305f\u4ef6","link":"https:\/\/blog.web-apps.tech\/my-private-cloud-2019\/","pubDate":"Mon, 06 Jan 2020 09:06:45 +0000","guid":"https:\/\/blog.web-apps.tech\/my-private-cloud-2019\/","description":"<p>\u660e\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\n\u672c\u5e74\u3082\u3069\u3046\u305e\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n<p>\u6268\u3001\u3082\u3046\u4e00\u6628\u5e74\u306b\u306a\u308a\u307e\u3059\u304c\u3001<a href=\"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/\">\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6<\/a>\n\u3068\u3044\u3046\u8a18\u4e8b\u3092\u6295\u7a3f\u3057\u307e\u3057\u305f\u3002\n\u305d\u306e\u5f8c\u7d06\u4f59\u66f2\u6298\u3054\u3056\u3044\u307e\u3057\u3066\u3001\u3053\u308c\u3089\u3092\u518d\u69cb\u6210\u3057\u307e\u3057\u305f\u306e\u3067\u3001\u6539\u3081\u3066\u8a18\u9332\u306b\u6b8b\u3057\u3066\u304a\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u7d06\u4f59\u66f2\u6298\">\u7d06\u4f59\u66f2\u6298<\/h2>\n<p>\u307e\u305a\u306f\u7d06\u4f59\u66f2\u6298\u3068\u306f\uff1f\u3068\u3044\u3046\u8a71\u304b\u3089\u59cb\u3081\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u5f53\u6642\u3001Kubernetes\u7528\u306ePersistent Volume\u306fGlusterFS\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u6700\u521d\u306f\u3053\u308c\u3067\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4e00\u90e8\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3(\u5177\u4f53\u7684\u306b\u306fRedmine)\u3092\u52d5\u304b\u3057\u3066\u3044\u304f\u4e0a\u3067\u3001\u975e\u5e38\u306b\u901f\u5ea6\u304c\u9045\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u304c\u554f\u984c\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\u8abf\u67fb\u306e\u4e0a\u3001\u3069\u3046\u3084\u3089\u9045\u3044\u539f\u56e0\u304cGlusterFS\u3067\u3042\u308a\u3001Ceph\u306b\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u3042\u308b\u7a0b\u5ea6\u901f\u5ea6\u3092\u6539\u5584\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305d\u3046\u3060\u3001\u3068\u3044\u3046\u898b\u8fbc\u307f\u304c\u7acb\u3063\u305f\u305f\u3081\u3001\u524d\u8ff0\u306e\u8a18\u4e8b\u3092\u6295\u7a3f\u3057\u3066\u304b\u3089\u7d04\u4e8c\u30f6\u6708\u5f8c\u306bGlusterFS\u3092<a href=\"https:\/\/blog.web-apps.tech\/ceph-rbd-storageclass\/\">Ceph RBD\u3078\u3068\u7f6e\u304d\u63db\u3048\u307e\u3057\u305f<\/a>\n\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u3001<a href=\"https:\/\/nttxstore.jp\/\" target=\"_blank\" rel=\"noopener\">NTT-X Store<\/a>\n\u3067SSD\u304c\u5b89\u304b\u3063\u305f\u305f\u3081\u300112\u53f0\u307b\u3069SSD\u3092\u8cfc\u5165\u3001\u3059\u3079\u3066\u306e\u7269\u7406\u30dc\u30ea\u30e5\u30fc\u30e0\u3092HDD\u304b\u3089SSD\u306b\u7f6e\u304d\u63db\u3048\u3001RAID1+0\u3067\u518d\u69cb\u6210\u3057\u307e\u3057\u305f\u3002\n\u540c\u6642\u306b\u3001\u4ee5\u524d\u306f\u30ed\u30fc\u30ab\u30eb\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u76f4\u63a5\u4f7f\u7528\u3057\u3066\u3044\u305fOpenNebula\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u90e8\u3082\u5206\u6563\u69cb\u6210\u306b\u3059\u308b\u3079\u304f\u3001\u7269\u7406\u30de\u30b7\u30f3\u4e0a\u306b\u76f4\u63a5Ceph\u3092\u69cb\u6210\u3001\u3053\u308c\u3092OpenNebula\u3068Kubernetes\u3067\u30b7\u30a7\u30a2\u3059\u308b\u5f62\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u308c\u3067\u3046\u307e\u304f\u3044\u3063\u305f\u304b\uff1f\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3063\u3053\u3044\u3001\u3069\u3046\u3084\u3089DL360G6\u306eRAID\u30ab\u30fc\u30c9\u3068SSD\u306e\u76f8\u6027(\u3057\u304b\u3082\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u5358\u4f4d)\u304c\u60aa\u3044\u3089\u3057\u304f\u3001\u4e00\u9031\u9593\u301c\u4e00\u30f6\u6708\u7a0b\u5ea6\u3067\u3001\u6545\u969c\u3082\u306a\u3044\u306e\u306bRAID\u304b\u3089\u629c\u3051\u3066\u3057\u307e\u3046\u3001\u3068\u3044\u3046\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>on Kubernetes on OpenNebula\u3067\u7a3c\u50cd\u3057\u3066\u3044\u305f\u672c\u30d6\u30ed\u30b0\u306e\u904b\u7528\u306b\u3082\u5f71\u97ff\u304c\u51fa\u305f\u305f\u3081\u3001\u4e00\u65e6\u672c\u30d6\u30ed\u30b0\u3092(\u4eca\u306f\u4ea1\u304d)<a href=\"https:\/\/cloudgarage.jp\/\" target=\"_blank\" rel=\"noopener\">CloudGarage<\/a>\n\u3078\u3068\u9000\u907f\u3001SSD\u306e\u4ea4\u63db\u3092NTT-X Store\u3078\u3068\u7533\u8acb\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u7121\u4e8bSSD\u306f\u65b0\u54c1\u4ea4\u63db\u3055\u308c\u3001\u305d\u306e\u9593\u306b<a href=\"https:\/\/virtualtech.jp\/\" target=\"_blank\" rel=\"noopener\">\u67d0\u793e<\/a>\n\u304b\u3089\u5ec3\u68c4\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3044\u305f\u3060\u3044\u3066\u304d\u305fDL360G7\u304c\u4e09\u53f0\u307b\u3069\u5c0e\u5165\u3055\u308c\u305f\u305f\u3081\u3001\u3053\u308c\u3092\u57fa\u76e4\u3068\u3057\u3066\u518d\u5ea6\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30af\u30e9\u30a6\u30c9\u57fa\u76e4\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u3068\u76f8\u6210\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u73fe\u5728\u306e\u69cb\u6210\">\u73fe\u5728\u306e\u69cb\u6210<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-private-cloud-2019\/images\/private-cloud-diagram_hu_b52b17dddd4a31ed.png\" alt=\"private-cloud-diagram\" \/>\n<\/p>\n<p>\u518d\u69cb\u6210\u3057\u305f\u3001\u3068\u306f\u3044\u3048\u3001\u69cb\u6210\u306f\u5927\u304d\u304f\u306f\u5909\u308f\u3063\u3066\u3044\u307e\u305b\u3093\u3002\nIaaS\u57fa\u76e4\u3068\u3057\u3066OpenNebula\/KVM\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3082\u5909\u308f\u308a\u307e\u305b\u3093\u3057\u3001\u30b3\u30f3\u30c6\u30ca\u57fa\u76e4\u3068\u3057\u3066Kubernetes\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3082\u5909\u308f\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u5f37\u3044\u3066\u8a00\u3048\u3070\u3001\u672c\u30d6\u30ed\u30b0\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u6700\u8fd1\u307e\u3067SQLite\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u5916\u90e8MySQL\u3078\u3068\u79fb\u884c\u3057\u305f\u304f\u3089\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<h3 id=\"\u7269\u7406\u5c64\">\u7269\u7406\u5c64<\/h3>\n<p>\u7269\u7406\u30b5\u30fc\u30d0\u3068\u3057\u3066\u306f\u524d\u8ff0\u306e\u901a\u308a\u3001DL360G7\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u9069\u5f53\u306b\u30e1\u30e2\u30ea\u3092\u5897\u8a2d\u3057\u3066\u304a\u308a\u3001\u305d\u308c\u305e\u308c\u6b21\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300136GB<\/li>\n<li>8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300147GB<\/li>\n<li>8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300149GB<\/li>\n<\/ul>\n<p>\u30e1\u30e2\u30ea\u306e\u91cf\u306f\u3067\u304d\u308b\u3060\u3051\u305d\u308d\u3048\u305f\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001<del>\u8a08\u7b97\u304c\u9762\u5012<\/del>\u3046\u307e\u304f\u305d\u308d\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>OS\u306fCentOS 7\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u6700\u521d\u306fCentOS 8\u3067\u3084\u308d\u3046\u3068\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u3082\u308d\u3082\u308d\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3046\u307e\u304f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305a\u30017\u306b\u843d\u3061\u7740\u304d\u307e\u3057\u305f\u3002\u306a\u3093\u3068\u304b\u306a\u3063\u3066\u304f\u308c\u3002<\/p>\n<p>\u3053\u308c\u3089\u306b\u3001OpenNebula\u304a\u3088\u3073Ceph MIMIC\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3042\u308a\u307e\u3059\u3002Ceph Nautilus\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u305f\u3044\u3093\u3067\u3059\u304c\u3001\u5b89\u5b9a\u3057\u3066\u3044\u308b\u306e\u3060\u308d\u3046\u304b\u30fb\u30fb\u30fb<\/p>\n<h3 id=\"vm\u5c64\">VM\u5c64<\/h3>\n<p>OpenNebula\/KVM\u3092\u4f7f\u7528\u3057\u305fIaaS\u306e\u4e0a\u306bVM\u3092\u30dd\u30c1\u30dd\u30c1\u3068\u7acb\u3066\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002OpenNebula\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u306fCeph\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002VM\u3082\u57fa\u672c\u7684\u306b\u306fCentOS 7\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001DB\u3084Prometheus\u306a\u3069\u4e00\u90e8\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092VM\u3068\u3057\u3066\u69cb\u7bc9\u3057\u3066\u3042\u308a\u307e\u3059\u3002\n\u4ee5\u524d\u306fK8s\u4e0a\u3067Prometheus\u306a\u3069\u3082\u7ba1\u7406\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001(\u4e3b\u306b\u30b9\u30c8\u30ec\u30fc\u30b8\u306e)\u7ba1\u7406\u304c\u9762\u5012\u3060\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306fVM\u306bDocker\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u500b\u5225\u306b\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3 id=\"\u30b3\u30f3\u30c6\u30ca\u5c64\">\u30b3\u30f3\u30c6\u30ca\u5c64<\/h3>\n<p>\u30b3\u30f3\u30c6\u30ca\u57fa\u76e4\u306fKubernetes\u3067\u3001\u76f8\u3082\u5909\u308f\u3089\u305a<a href=\"https:\/\/github.com\/kubernetes-sigs\/kubespray\" target=\"_blank\" rel=\"noopener\">Kubespray<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u69cb\u7bc9\u3057\u3066\u3044\u307e\u3059\u3002\u4fbf\u5229\u4fbf\u5229\u3002\u73fe\u5728\u306fKubernetes 1.16.3\u3067\u3059\u3002<\/p>\n<p>PersistentVolume\u7528\u306eStorageClass\u306fPM\u4e0a\u306eCeph\u3092OpenNebula\u3068\u5171\u7528\u3067\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u624b\u524d\u5473\u564c\u3067\u3059\u304c\u3001<a href=\"https:\/\/blog.web-apps.tech\/ceph-rbd-storageclass\/\">Ceph RBD\u3092Kubernetes\u306eStorageClass\u3068\u3057\u3066\u767b\u9332\u3059\u308b<\/a>\n\u3092\u898b\u306a\u304c\u3089\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>Service type LoadBalancer\u306e\u5b9f\u88c5\u3068\u3057\u3066<a href=\"https:\/\/metallb.universe.tf\/\" target=\"_blank\" rel=\"noopener\">MetalLB<\/a>\n\u3092\u3001Ingress\u5b9f\u88c5\u3068\u3057\u3066<a href=\"https:\/\/kubernetes.github.io\/ingress-nginx\/\" target=\"_blank\" rel=\"noopener\">NGINX Ingress Controller<\/a>\n\u3092\u5c0e\u5165\u3057\u3066\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001HTTPS\u306e\u8a3c\u660e\u66f8\u3092\u81ea\u52d5\u8a2d\u5b9a\u3059\u308b\u305f\u3081\u3001<a href=\"https:\/\/github.com\/jetstack\/cert-manager\" target=\"_blank\" rel=\"noopener\">cert-manager<\/a>\n\u3092\u5c0e\u5165\u3057\u3066\u3044\u307e\u3059\u3002\u4ee5\u524d\u306f\u3046\u307e\u304f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u306a\u3044\u3053\u3068\u304c\u3042\u308a\u56f0\u3063\u305f\u308a\u3082\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u7279\u306b\u30c8\u30e9\u30d6\u30eb\u3082\u306a\u304f\u30b9\u30e0\u30fc\u30ba\u306b\u5c0e\u5165\u3067\u304d\u307e\u3057\u305f\u3002\u3060\u3044\u3076CRD\u306e\u69cb\u9020\u304c\u5909\u308f\u3063\u3066\u3044\u305f\u306e\u3067\u3001\u4ee5\u524d\u5c0e\u5165\u3057\u3066\u3044\u3066\u3001\u518d\u5ea6\u69cb\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u4eba\u306f\u6ce8\u610f\u304c\u5fc5\u8981\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u306fDNS01\u3067\u3001CloudFlare\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3082\u5909\u308f\u308a\u307e\u305b\u3093\u3002<\/p>"},{"title":"go-openapi \u3092\u66f8\u304d\u76f4\u3057\u3066\u3044\u307e\u3059","link":"https:\/\/blog.web-apps.tech\/nasa9084-go-openapi-rewriting\/","pubDate":"Fri, 20 Dec 2019 08:15:39 +0000","guid":"https:\/\/blog.web-apps.tech\/nasa9084-go-openapi-rewriting\/","description":"<p>\u672c\u8a18\u4e8b\u306f<a href=\"https:\/\/qiita.com\/advent-calendar\/2019\/go2\" target=\"_blank\" rel=\"noopener\">Go2 Advent Calendar<\/a>\n\u306e20\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002\u6628\u65e5\u306fyaegashi\u3055\u3093\u306b\u3088\u308b\u3001<a href=\"https:\/\/l0w.dev\/posts\/jsonex.go\/\" target=\"_blank\" rel=\"noopener\">jsonx.go<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u7686\u3055\u3093\u306f<a href=\"https:\/\/github.com\/OAI\/OpenAPI-Specification\" target=\"_blank\" rel=\"noopener\">OpenAPI Specification<\/a>\n\u3068\u3044\u3046\u30e2\u30ce\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\u3002OpenAPI Specification\u306fJSON\u307e\u305f\u306fYAML\u3067REST API\u3092\u8868\u73fe\u3059\u308b\u305f\u3081\u306e\u4ed5\u69d8\u3067\u3001\u73fe\u5728<a href=\"https:\/\/github.com\/OAI\/OpenAPI-Specification\/blob\/master\/versions\/3.0.2.md\" target=\"_blank\" rel=\"noopener\">\u30d0\u30fc\u30b8\u30e7\u30f33.0.2<\/a>\n\u304c\u6700\u65b0\u3067\u3059\u3002\u3044\u308f\u3086\u308b<a href=\"https:\/\/swagger.io\/\" target=\"_blank\" rel=\"noopener\">Swagger<\/a>\n\u306e\u5f8c\u7d99\u3067\u3001\u30d0\u30fc\u30b8\u30e7\u30f31\u7cfb\u30012\u7cfb\u304cSwagger\u30013\u7cfb\u4ee5\u964d\u304cOpenAPI\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u307e\u3059(Swagger\u306a\u3089\u805e\u3044\u305f\u3053\u3068\u304c\u3042\u308b\/\u4f7f\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u4eba\u3082\u591a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b)\u3002<\/p>\n<p>OpenAPI Specification\u306f\u4eba\u9593\u306b\u3082\u6a5f\u68b0\u306b\u3082(\u6bd4\u8f03\u7684)\u8aad\u307f\u3084\u3059\u3044\u4ed5\u69d8\u66f8\u3068\u3057\u3066\u3001\u30b3\u30fc\u30c9\u751f\u6210\u3084\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30da\u30fc\u30b8\u306e\u751f\u6210\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f\u5c02\u3089\u30b3\u30fc\u30c9\u751f\u6210\u306b\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001Go\u8a00\u8a9e\u5411\u3051\u306e\u5b9f\u88c5\u3068\u3057\u3066<a href=\"https:\/\/github.com\/nasa9084\/go-openapi\" target=\"_blank\" rel=\"noopener\">github.com\/nasa9084\/go-openapi<\/a>\n(\u4ee5\u4e0bgo-openapi)\u3092\u5b9f\u88c5\u30fb\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002\ngo-openapi\u306f2017\u5e74\u3054\u308d\u304b\u3089\u7d30\u3005\u3068\u5b9f\u88c5\u3092\u7d9a\u3051\u3066\u304a\u308a\u3001(\u591a\u5206)\u4e8c\u756a\u76ee\u304b\u4e09\u756a\u76ee\u306b\u306f\u53e4\u3044\u3068\u601d\u308f\u308c\u308bOpenAPI\u306eGo\u5b9f\u88c5\u3067\u3059\u3002<\/p>\n<p>\u57fa\u672c\u7684\u306b\u306f\u305f\u3060\u3072\u305f\u3059\u3089OpenAPI\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092Go\u306e\u69cb\u9020\u4f53\u3068\u3057\u3066\u5b9a\u7fa9\u3001\u5024\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u95a2\u6570\u3092\u7528\u610f\u3057\u3066\u3044\u308b\u3068\u3044\u3063\u305f\u3082\u306e\u3067\u3001\u7279\u5225\u306a\u6a5f\u80fd\u306f\u307b\u3068\u3093\u3069\u3042\u308a\u307e\u305b\u3093\u3002\nYAML\u306e\u30d1\u30fc\u30b5\u3082\u3001<a href=\"https:\/\/github.com\/go-yaml\/yaml\" target=\"_blank\" rel=\"noopener\">go-yaml\/yaml<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001\u81ea\u524d\u3067\u306f\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u305d\u3093\u306a\u4e2d\u3001<a href=\"https:\/\/twitter.com\/goccy54\" target=\"_blank\" rel=\"noopener\">@goccy<\/a>\n\u3055\u3093\u304c\u3001encoding\/json\u3068\u30b3\u30f3\u30d1\u30c1\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u6301\u3063\u305fYAML\u30d1\u30fc\u30b5\u3092\u958b\u767a\u3057\u305f\u3001\u3068\u3044\u3046\u8a71\u3092\u8033\u306b\u3057\u3001\u3053\u308c\u3092\u6a5f\u306b\u3001\u3068go-openapi\u306e\u5b9f\u88c5\u3092\u4e00\u304b\u3089\u66f8\u304d\u76f4\u3057\u59cb\u3081\u307e\u3057\u305f\u3002\n\u3082\u3068\u3082\u3068\u3001\u30d1\u30fc\u30b9\u306f\u5b8c\u5168\u306bgo-yaml\/yaml\u306b\u4f9d\u5b58\u3057\u3066\u304a\u308a\u3001Unmarshal\u7cfb\u306e\u30e1\u30bd\u30c3\u30c9\u3082\u5b9f\u88c5\u3057\u3066\u3044\u306a\u304b\u3063\u305f(\u9014\u4e2d\u304b\u3089\u5168\u90e8\u66f8\u304f\u306e\u306f\u3064\u3089\u304b\u3063\u305f\u306e\u3067\u30fb\u30fb\u30fb)\u305f\u3081\u3001\u4e00\u90e8\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306b\u5fc5\u8981\u306a\u95a2\u6570\u3092\u57cb\u3081\u8fbc\u3093\u3060\u308a\u3082\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u66f8\u304d\u76f4\u3057\u305f\u3044\u3068\u306f\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u3002<\/p>\n<p>\u73fe\u6642\u70b9\u3067\u306f\u307e\u3060<a href=\"https:\/\/github.com\/nasa9084\/go-openapi\/pull\/3\" target=\"_blank\" rel=\"noopener\">\u30de\u30fc\u30b8\u3057\u3066\u304a\u3089\u305a<\/a>\n\u3001\u66f8\u3044\u3066\u3044\u308b\u9014\u4e2d\u306a\u306e\u3067\u3059\u304c\u3001\u5927\u304d\u306a\u5909\u66f4\u70b9\u3068\u3057\u3066\u6b21\u306e\u69d8\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u3082\u3068\u3082\u3068\u30d1\u30d6\u30ea\u30c3\u30af\u3060\u3063\u305f\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u3059\u3079\u3066\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306b\u5909\u66f4\u3057\u3001\u30b2\u30c3\u30bf\u30fc\u3092\u306f\u3084\u3057\u305f<\/li>\n<li>\u5404\u69cb\u9020\u4f53\u306b\u5bfe\u5fdc\u3059\u308b<code>UnmarshalYAML()<\/code>\u30e1\u30bd\u30c3\u30c9\u3092\u3059\u3079\u3066\u30b3\u30fc\u30c9\u751f\u6210\u3059\u308b\u3088\u3046\u306b\u3057\u305f<\/li>\n<li>YAML\u30d1\u30fc\u30b5\u306f<a href=\"https:\/\/github.com\/goccy\/go-yaml\" target=\"_blank\" rel=\"noopener\">github.com\/goccy\/go-yaml<\/a>\n\u306b\u4e57\u308a\u63db\u3048\u305f<\/li>\n<li>root\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5404\u69cb\u9020\u4f53\u306b\u57cb\u3081\u8fbc\u3080\u3053\u3068\u3067\u3001\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u3068\u308a\u3084\u3059\u304f\u3057\u305f<\/li>\n<\/ul>\n<p>\u4eca\u5f8c\u306f\u3088\u308a\u30b3\u30fc\u30c9\u751f\u6210\u306b\u4fbf\u5229\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u6642\u9593\u306e\u90fd\u5408\u3067\u4eca\u65e5\u306f\u3053\u3053\u307e\u3067\u3002\u6280\u8853\u7684\u306a\u8a71\u304c\u5168\u7136\u7121\u3044\u8a18\u4e8b\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u30fb\u30fb\u30fb<\/p>"},{"title":"builderscon tokyo 2020\u3084\u308b\u305e\uff01\u3068\u3044\u3046\u8a71","link":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2020\/","pubDate":"Tue, 03 Dec 2019 09:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2020\/","description":"<p>builderscon\u306f\u300c\u77e5\u3089\u306a\u304b\u3063\u305f\u3001\u3092\u805e\u304f\u300d\u3042\u308b\u3044\u306f\u82f1\u8a9e\u3067 &ldquo;Discover Something New&quot;\u3092\u30b9\u30ed\u30fc\u30ac\u30f3\u3068\u3057\u305f\u3001IT\u6280\u8853\u8005\u5411\u3051\u306e\u6280\u8853\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3067\u3059\u30022016\u5e74\u30012017\u5e74\u30012018\u5e74\u30012019\u5e74\u3068<a href=\"https:\/\/twitter.com\/lestrrat\" target=\"_blank\" rel=\"noopener\">@lestrrat<\/a>\n\u3055\u3093\u304c\u4e3b\u50ac\u3068\u3057\u3066\u958b\u50ac\u3057\u3066\u304d\u3066\u3001\u79c1\u3082\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\u95a2\u308f\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3093\u306abuilderscon\u3067\u3059\u304c\u30012020\u5e74\u306f\u5b50\u80b2\u3066\u3067\u591a\u5fd9\u306a@lestrrat\u3055\u3093\u306b\u4ee3\u308f\u308a\u3001\u79c1(<a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">@nasa9084<\/a>\n)\u304c\u4e3b\u50ac\u3068\u3057\u3066\u958b\u50ac\u306b\u5411\u3051\u3066\u6e96\u5099\u3092\u9032\u3081\u3066\u3044\u304f\u3053\u3068\u306b\u306a\u308a\u307e\u3057\u305f\uff01<\/p>\n<p>\u307e\u3041\u3001\u4eca\u306e\u3068\u3053\u308d\u306f\u3084\u308b\u305e\uff01\u3068\u3044\u3046\u8a71\u3060\u3051\u3067\u7d30\u304b\u3044\u8a71\u306f\u3053\u308c\u304b\u3089\u3067\u3059\u304c\u3001\u7686\u3055\u3093\u3069\u3046\u305e\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002<\/p>"},{"title":"net\/http.Client\u306bHook\u3092\u304b\u3051\u308b","link":"https:\/\/blog.web-apps.tech\/hook-on-http-client\/","pubDate":"Fri, 01 Nov 2019 05:48:19 +0000","guid":"https:\/\/blog.web-apps.tech\/hook-on-http-client\/","description":"<p>\u6628\u65e5\u306e\u3053\u3068\u3002<a href=\"https:\/\/github.com\/jszwedko\/go-circleci\" target=\"_blank\" rel=\"noopener\">jszwedko\/go-circleci<\/a>\n\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066CircleCI Enterprize\u306eAPI\u3092\u53e9\u304f\u3068\u3044\u3046\u51e6\u7406\u3092\u5b9f\u88c5\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3046\u306b\u3082\u3046\u307e\u304f\u3044\u304b\u306a\u3044\u3002\u6b63\u76f4\u306b\u8a00\u3063\u3066\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u3057\u3063\u304b\u308a\u3057\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u8a33\u3067\u306f\u306a\u3044\u3057\u3001\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u898b\u3066\u3082\u4f55\u304c\u3060\u3081\u306a\u306e\u304b(\u305d\u3082\u305d\u3082\u73fe\u5728\u4f7f\u7528\u3057\u3066\u3044\u308bCircleCI Enterprise\u3067\u4f7f\u7528\u3067\u304d\u308b\u304b\u3082\u3088\u304f\u308f\u304b\u3063\u3066\u3044\u306a\u304b\u3063\u305f)\u308f\u304b\u3089\u306a\u3044\u3002<\/p>\n<p>\u3057\u304b\u3057\u307e\u3041\u3001\u81ea\u5206\u3067HTTP request\u3092\u4f5c\u3063\u305f\u308a\u3057\u3066\u3042\u308c\u3084\u3053\u308c\u3084\u3084\u308b\u306e\u3082\u307e\u3041\u9762\u5012\u3067\u3042\u308b\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u30c7\u30d0\u30c3\u30b0\u3057\u305f\u3044\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u5916\u90e8\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30d5\u30a9\u30fc\u30af\u3057\u3066\u5909\u66f4\u3092\u52a0\u3048\u3066\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u30fb\u30fb\u30fb\u3068\u3044\u3046\u69d8\u306a\u3053\u3068\u306f\u3082\u3061\u308d\u3093\u3084\u308a\u305f\u304f\u306a\u3044\u308f\u3051\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Client\" target=\"_blank\" rel=\"noopener\"><code>*http.Client<\/code><\/a>\n\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002<code>*http.Client<\/code>\u306f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u306f\u306a\u304f\u69cb\u9020\u4f53\u306a\u306e\u3067\u3001\u5225\u306e\u5b9f\u88c5\u306b\u7f6e\u304d\u63db\u3048\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u304c\u3001\u305d\u306e\u5b9f\u88c5\u306f\u307b\u307c\u307b\u307c\u5f8c\u8ff0\u3059\u308b<code>http.RoundTripper<\/code>\u306a\u305f\u3081\u3001<code>http.RoundTripper<\/code>\u3092\u30e9\u30c3\u30d7\u3057\u3066\u3001HTTP request\u3068HTTP response\u3092\u30ed\u30b0\u306b\u5410\u3051\u3070\u307e\u3041\u3001\u4f55\u304c\u554f\u984c\u304b\u308f\u304b\u308b\u3060\u308d\u3046\u3001\u3068\u8003\u3048\u307e\u3057\u305f\u3002\n\u305d\u3093\u306a\u30e2\u30ce\u306f\u8ab0\u304b\u304c\u3059\u3067\u306b\u66f8\u3044\u3066\u3044\u308b\u3060\u308d\u3046\u3001\u3068\u3044\u3046\u306e\u306f\u3055\u3066\u304a\u304d\u3001<code>http.RoundTripper<\/code>\u3092\u5b9f\u969b\u306b\u3044\u3058\u3063\u3066\u307f\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3084\u3063\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u52c9\u5f37\u304c\u3066\u3089<a href=\"https:\/\/github.com\/nasa9084\/go-logtransport\" target=\"_blank\" rel=\"noopener\">nasa9084\/go-logtransport<\/a>\n\u306a\u308b\u3082\u306e\u3092\u66f8\u304d\u307e\u3057\u305f\u3002\n\u66f8\u3044\u3066\u3044\u304f\u9014\u4e2d\u3067\u3001\u8003\u3048\u305f\u3053\u3068\u306a\u3069\u3001\u8a18\u9332\u306b\u6b8b\u3057\u3066\u304a\u304f\u306e\u3082\u826f\u3055\u305d\u3046\u3068\u601d\u3063\u305f\u305f\u3081\u3001\u672c\u8a18\u4e8b\u3068\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"httpclient\u3068httproundtripper\">http.Client\u3068http.RoundTripper<\/h2>\n<p>Go\u8a00\u8a9e\u3067HTTP\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u767a\u884c\u3059\u308b\u306b\u306f\u57fa\u672c\u3068\u3057\u3066<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Client\" target=\"_blank\" rel=\"noopener\"><code>*http.Client<\/code><\/a>\n\u3068\u3044\u3046\u3082\u306e\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u7c21\u4fbf\u306e\u305f\u3081\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Get\" target=\"_blank\" rel=\"noopener\">GET<\/a>\n\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Post\" target=\"_blank\" rel=\"noopener\">POST<\/a>\n\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Head\" target=\"_blank\" rel=\"noopener\">Head<\/a>\n\u306b\u3064\u3044\u3066\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u30b0\u30ed\u30fc\u30d0\u30eb\u306e\u95a2\u6570\u3082\u7528\u610f\u3055\u308c\u3066\u306f\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u3089\u3082\u5185\u90e8\u7684\u306b\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u30b0\u30ed\u30fc\u30d0\u30eb\u3067\u5ba3\u8a00\u3055\u308c\u305f<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#DefaultClient\" target=\"_blank\" rel=\"noopener\"><code>DefaultClient<\/code><\/a>\n\u3068\u3044\u3046<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Client\" target=\"_blank\" rel=\"noopener\"><code>*http.Client<\/code><\/a>\n\u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code>*http.Client<\/code>\u306f\u30bc\u30ed\u5024\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u307e\u3068\u3081\u3089\u308c\u305f\u69cb\u9020\u4f53\u3067\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#DefaultClient\" target=\"_blank\" rel=\"noopener\">DefaultClient<\/a>\n\u306f<code>*http.Client{}<\/code>\u3068\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u666e\u6bb5\u306f\u3053\u306e<code>*http.Client<\/code>\u3092\u4f7f\u7528\u3057\u3066HTTP\u306e\u901a\u4fe1\u3092\u884c\u3046\u308f\u3051\u3067\u3059\u304c\u3001\u5b9f\u306f<code>*http.Client<\/code>\u306f\u305d\u308c\u307b\u3069\u591a\u304f\u306e\u6a5f\u80fd\u306f\u6301\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u5b9f\u969b\u3001\u6301\u3063\u3066\u3044\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306f\u305f\u3063\u305f\u306e4\u3064(Go1.13\u6642\u70b9)\u3057\u304b\u306a\u3044\u306e\u3067\u3059\u3002<code>*http.Client<\/code>\u306f\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3084\u30af\u30c3\u30ad\u30fc\u306a\u3069\u306e\u4e00\u90e8\u306e\u51e6\u7406\u3060\u3051\u3092\u53d7\u3051\u6301\u3063\u3066\u3044\u3066\u3001\u5b9f\u969b\u306eHTTP\u901a\u4fe1\u306e\u307b\u3068\u3093\u3069\u306f\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u3057\u3066\u4fdd\u6301\u3057\u3066\u3044\u308b<code>http.RoudTripper<\/code>\u304c\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code>http.RoundTripper<\/code>\u306f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u3066\u3001\u81ea\u7531\u306b\u5dee\u3057\u66ff\u3048\u3092\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u6307\u5b9a\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f<code>*http.Transport<\/code>\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5b9f\u88c5\u3068\u3057\u3066\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\nGo\u306e\u4ed6\u306e\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f8b\u306b\u6f0f\u308c\u305a\u3001<code>http.RoundTripper<\/code>\u306f\u975e\u5e38\u306b\u30b7\u30f3\u30d7\u30eb\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3001\u6b21\u306e\u69d8\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">RoundTripper<\/span><span class=\"w\"> <\/span><span class=\"kd\">interface<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nf\">RoundTrip<\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"nx\">Request<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"nx\">Response<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>RoundTrip()<\/code>\u304cHTTP request\u3092\u53d7\u3051\u53d6\u308a\u3001HTTP response\u3092\u8fd4\u3057\u307e\u3059\u3002\u3064\u307e\u308a\u3001request\u306e\u30ed\u30b0\u3092\u3068\u308a\u3001\u5b50<code>RoundTripper<\/code>\u306e<code>RoundTrip()<\/code>\u3092\u5b9f\u884c\u3057\u3001<code>Response<\/code>\u306e\u30ed\u30b0\u3092\u3068\u3063\u3066\u305d\u306e\u307e\u307e\u8fd4\u3059\u3001\u3068\u3044\u3046\u69d8\u306a\u30e9\u30c3\u30d1\u30fc\u3092\u66f8\u3051\u3070\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Transport<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">RoundTrip<\/span><span class=\"p\">(<\/span><span class=\"nx\">r<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Request<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Response<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ Request\u306e\u30ed\u30b0\u3092\u3068\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">resp<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"p\">.<\/span><span class=\"nx\">Transport<\/span><span class=\"p\">.<\/span><span class=\"nf\">RoundTrip<\/span><span class=\"p\">(<\/span><span class=\"nx\">r<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ response\u306e\u30ed\u30b0\u3092\u3068\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">resp<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5b9f\u969b\u306brequest\u3068response\u306e\u30ed\u30b0\u3092\u3068\u308b\u306b\u306f\u3001<code>net\/http\/httputil<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306e<code>Dump<\/code>\u7cfb\u95a2\u6570\u304c\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u4eca\u56de\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u306e\u5b9f\u88c5\u306a\u306e\u3067\u3001<code>httputil.DumpRequestOut<\/code>\u3068<code>httputil.DumpResponse<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>"},{"title":"\u7a7a\u6587\u5b57\u5217\u78ba\u8a8d\u306f\u9577\u3055\u3092\u3068\u308b\u3079\u304d\u304b\uff1f","link":"https:\/\/blog.web-apps.tech\/how-to-check-empty-string\/","pubDate":"Wed, 09 Oct 2019 07:02:52 +0000","guid":"https:\/\/blog.web-apps.tech\/how-to-check-empty-string\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li><code>s == &quot;&quot;<\/code>\u3068<code>len(s) == 0<\/code>\u306f\u7b49\u4fa1<\/li>\n<\/ul>\n<h2 id=\"\u6587\u5b57\u5217\u6bd4\u8f03\u304b\u9577\u3055\u6bd4\u8f03\u304b\">\u6587\u5b57\u5217\u6bd4\u8f03\u304b\u3001\u9577\u3055\u6bd4\u8f03\u304b<\/h2>\n<p>Go\u8a00\u8a9e\u3067\u6587\u5b57\u5217\u304c\u7a7a\u304b\u3069\u3046\u304b\u3092\u8abf\u3079\u308b\u306b\u306f\u6b21\u306e\u4e8c\u3064\u306e\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ 1: \u6587\u5b57\u5217\u3092\u7a7a\u6587\u5b57\u5217\u3068\u6bd4\u8f03\u3059\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ do something<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ 2: \u6587\u5b57\u5217\u306e\u9577\u3055\u304c0\u304b\u3069\u3046\u304b\u8abf\u3079\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ do something<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u30fb\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u3082\u306b\u3001\u3069\u3061\u3089\u306e\u66f8\u304d\u65b9\u3082\u6563\u898b\u3055\u308c\u307e\u3059\u3002\n\u3069\u3061\u3089\u3092\u4f7f\u3046\u306e\u304c\u826f\u3044\u306e\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<p>\u7b54\u3048\u306f<strong>\u3069\u3061\u3089\u3067\u3082\u826f\u3044<\/strong>\u3060\u305d\u3046\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">benchmark_test<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;testing&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">somethingString<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;hogehogefugafuga&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkCompareString<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">somethingString<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkCompareStringByLength<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"nx\">somethingString<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u30b3\u30fc\u30c9\u306b\u5bfe\u3057\u3066 <code>go tool compile -S<\/code>\u3057\u305f\u7d50\u679c\u304c\u4ee5\u4e0b\u3002\n<code>BenchmarkCompareString<\/code>\u3068<code>BenchmarkCompareStringByLength<\/code>\u3067\u306f\u540c\u3058\u5185\u5bb9\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"Unubo\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b5\u30af\u30c3\u3068\u30c7\u30d7\u30ed\u30a4\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/first-impression-unubo\/","pubDate":"Thu, 26 Sep 2019 15:10:40 +0000","guid":"https:\/\/blog.web-apps.tech\/first-impression-unubo\/","description":"<p><a href=\"https:\/\/unubo.com\" target=\"_blank\" rel=\"noopener\">Unubo<\/a>\n\u3068\u3044\u3046PaaS\u3063\u307d\u3044\u3082\u306e\u304c\u51fa\u3066\u304d\u305f\u3088\u3046\u306a\u306e\u3067\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u307e\u3060\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3070\u304b\u308a\u306e\u3088\u3046\u3067\u3001\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u306e\u767b\u9332\u3082\u305b\u305a\u306b\u7121\u6599\u3067\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/first-impression-unubo\/images\/----------2019-09-26-23.31.15-2_hu_9fb3f6fed7d05c0d.png\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/first-impression-unubo\/images\/----------2019-09-26-23.34.02-2_hu_4571ad0487e60176.png\" alt=\"\" \/>\n<\/p>\n<p>\u3068\u308a\u3042\u3048\u305a\u9069\u5f53\u306b\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u3063\u3066\u52d5\u304b\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u767b\u9332\u30fb\u30ed\u30b0\u30a4\u30f3\u3092\u6e08\u307e\u305b\u305f\u3089\u3001\u4f7f\u7528\u3057\u305f\u3044\u6a5f\u80fd\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u4eca\u56de\u306fGo\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306a\u306e\u3067\u3001Apps\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u3042\u308bGo\u306e\u30a2\u30a4\u30b3\u30f3\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/first-impression-unubo\/images\/----------2019-09-26-23.41.18-2_hu_1c818b672f3fd913.png\" alt=\"\" \/>\n<\/p>\n<p>\u6b21\u306e\u753b\u9762\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u540d\u3092\u5165\u308c\u3001\u30c7\u30d7\u30ed\u30a4\u5148\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e\u3057\u307e\u3059\u3002 DB\u3068\u63a5\u7d9a\u3059\u308b\u5834\u5408\u306fDB\u3068\u540c\u4e00\u30ea\u30fc\u30b8\u30e7\u30f3\u3058\u3083\u306a\u304d\u3083\u63a5\u7d9a\u3067\u304d\u306a\u3044\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/first-impression-unubo\/images\/----------2019-09-26-23.42.09_hu_aa617e2abdfd6644.png\" alt=\"\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u7d30\u304b\u3044\u8a2d\u5b9a\u3092\u3067\u304d\u308b\u753b\u9762\u306b\u306a\u308a\u307e\u3059\u306e\u3067\u3001\u5fc5\u8981\u306a\u60c5\u5831\u3092\u5165\u529b\u3057\u307e\u3059\u3002\n\u3053\u3053\u3067\u306f\u3001\u3068\u308a\u3042\u3048\u305aGitHub\u3068\u306e\u9023\u643a\u3092\u3057\u3066\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u9078\u629e\u3059\u308b\u3060\u3051\u3067\u3042\u3068\u306f\u653e\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/first-impression-unubo\/images\/----------2019-09-26-23.43.11_hu_51dfb166af0b6576.png\" alt=\"\" \/>\n<\/p>\n<p>\u6700\u5f8c\u306bDeploy\u30dc\u30bf\u30f3\u3092\u30dd\u30c1\u30c3\u3068\u3057\u3066\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\u306e\u3092\u5f85\u3061\u307e\u3059\u3002\n\u3069\u3046\u3084\u3089\u3001Deploy\u6210\u529f\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u307e\u3067\u82e5\u5e72\u30bf\u30a4\u30e0\u30e9\u30b0\u304c\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u6c17\u9577\u306b\u5f85\u3061\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u6709\u6599\u30d7\u30e9\u30f3\u304c\u51fa\u3066\u304b\u3089\u4fa1\u683c\u8a2d\u5b9a\u3084\u7121\u6599\u67a0\u304c\u3069\u3046\u306a\u308b\u304b\u308f\u304b\u308a\u307e\u305b\u3093\u304c\u3001\u307e\u3041\u307c\u3061\u307c\u3061\u4fbf\u5229\u306b\u4f7f\u3048\u305d\u3046\u3067\u3059\u306d\u3002<\/p>"},{"title":"\u6280\u8853\u66f8\u51787\u3067Go\u8a00\u8a9e\u306e\u672c\u3092\u9812\u5e03\u3057\u307e\u3059","link":"https:\/\/blog.web-apps.tech\/techbookfest7\/","pubDate":"Thu, 19 Sep 2019 01:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/techbookfest7\/","description":"<p>\u4eca\u9031\u672b\u306f\u3044\u3088\u3044\u3088\u6280\u8853\u66f8\u51787\u3067\u3059\u306d\uff01<\/p>\n<p>\u4eca\u56de\u306fGo\u8a00\u8a9e\u306e\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u89e3\u8aac\u672c\u3092\u9812\u5e03\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p><a href=\"https:\/\/techbookfest.org\/event\/tbf07\/circle\/5694676325629952\" target=\"_blank\" rel=\"noopener\">web-apps.tech: \u30b5\u30fc\u30af\u30eb\u8a73\u7d30\u30da\u30fc\u30b8<\/a>\n<\/p>\n<p>\u5f53\u521d\u306e\u4e88\u5b9a\u3067\u306f\u5168\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8a73\u89e3\uff01\u307f\u305f\u3044\u306a\u4e88\u5b9a\u3060\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u30da\u30fc\u30b8\u6570\u304c\u5897\u3048\u307e\u304f\u3063\u305f\u7d50\u679c\u3001\u6b8b\u5ff5\u306a\u304c\u308926\u500b\u3057\u304b\u8a73\u89e3\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>108\u30da\u30fc\u30b8\u3067\u4e00\u518a1,000\u5186\u3001\u96fb\u5b50\u7248\u3082\u3042\u308b\u3088\u3001\u306e\u4e88\u5b9a\u3067\u3059(\u96fb\u5b50\u7248\u3068\u4e21\u65b9\u3067\u306e\u5272\u5f15\u3092\u3069\u3046\u3057\u3088\u3046\u304b\u4eca\u8003\u3048\u3066\u307e\u3059)\u3002\n\u30b5\u30fc\u30af\u30eb\u30b9\u30da\u30fc\u30b9\u306f\u300c\u304b11C\u300d\u3067\u3059\u3002<\/p>"},{"title":"\u793e\u7528Git\u30b5\u30fc\u30d0\u3067\u306f\u793e\u7528\u306e\u30e1\u30fc\u30eb\u3092\u3064\u304b\u3046.gitconfig \u301c\u793e\u5185\u30c9\u30e1\u30a4\u30f3\u3092\u5916\u306b\u6f0f\u3089\u3055\u306a\u3044\u7de8\u301c","link":"https:\/\/blog.web-apps.tech\/gitconfig-secret\/","pubDate":"Sat, 24 Aug 2019 04:36:12 +0000","guid":"https:\/\/blog.web-apps.tech\/gitconfig-secret\/","description":"<p>GitHub\u306e\u30b3\u30df\u30c3\u30c8\u30ed\u30b0\u3001\u30b3\u30df\u30c3\u30c8\u3057\u305f\u4eba\u306e\u30a2\u30a4\u30b3\u30f3\u304c\u51fa\u3066\u3044\u3066\u3068\u3066\u3082\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u3088\u306d\u3002\n\u30b3\u30df\u30c3\u30c8\u3068\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u7d10\u4ed8\u3051\u306b\u306f\u3069\u3046\u3084\u3089\u3001\u30b3\u30df\u30c3\u30c8\u306b\u7d10\u4ed8\u3051\u3089\u308c\u305f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\u305d\u3046\u306a\u308b\u3068\u3001\u30b3\u30df\u30c3\u30c8\u306b\u7d10\u4ed8\u3051\u308b(<code>git config user.email=...<\/code>\u3068\u304b\u3084\u308b\u30a2\u30ec\u3067\u3059)\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u767b\u9332\u3057\u3066\u3042\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306b\u3057\u305f\u3044\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u4f1a\u793e\u3067\u306fGitHub Enterprise(GHE)\u3001\u79c1\u7528\u3067\u306f<a href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">github.com<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u3001\u3068\u8a00\u3063\u305f\u5834\u5408\u306f\u3069\u3046\u3067\u3057\u3087\u3046\u304b\u3002\u30b3\u30df\u30c3\u30c8\u306b\u7d10\u4ed8\u3051\u305f\u3044\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u304c\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u3088\u3063\u3066\u5909\u308f\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p>\u8abf\u3079\u3066\u307f\u308b\u3068\u3001\u305d\u3046\u3044\u3063\u305f\u5834\u5408\u3001\u6b21\u306e\u69d8\u306b<code>.gitconfig<\/code>\u306b<code>IncludeIf<\/code>\u306e\u30d6\u30ed\u30c3\u30af\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3046\u307e\u304f\u56de\u907f\u304c\u3067\u304d\u305d\u3046\u3068\u3044\u3046\u3053\u3068\u304c\u308f\u304b\u308a\u3001\u3057\u3070\u3089\u304f\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3057\u305f<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[IncludeIf &#34;gitdir:~\/src\/GHE_DOMAIN&#34;]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">path<\/span> <span class=\"o\">=<\/span> <span class=\"s\">&#34;~\/.gitconfig.ghe&#34;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>~.gitconfig.ghe<\/code>\u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[user]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">email<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\u793e\u7528\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u79c1\u306fGo\u8a00\u8a9e\u3092\u3088\u304f\u66f8\u304f\u306e\u3068\u3001<a href=\"https:\/\/github.com\/motemen\/ghq\" target=\"_blank\" rel=\"noopener\">ghq<\/a>\n\u3092\u4f7f\u3063\u3066\u3044\u308b\u90fd\u5408\u4e0a\u3001git\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u914d\u7f6e\u3059\u308b\u30d1\u30b9\u304c<code>$(GOPATH)\/src\/GIT_DOMAIN\/USERNAME\/REPOSITORY<\/code>\u3068\u3044\u3046\u5f62\u5f0f\u306b\u306a\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u30ea\u30e2\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3046\u307e\u3044\u3053\u3068\u793e\u7528GHE\u306e\u6642\u3060\u3051\u8a2d\u5b9a\u3092\u4e0a\u66f8\u304d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u305f\u306e\u3067\u3057\u305f\u3002<\/p>\n<p>\u305d\u3057\u3066\u3053\u308c\u306f\u3001\u3069\u306ePC\u3067\u3082\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3001<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\" target=\"_blank\" rel=\"noopener\">dotfiles\u30ea\u30dd\u30b8\u30c8\u30ea<\/a>\n\u3068\u3057\u3066<a href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">github.com<\/a>\n\u306bpush\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u306e\u7d50\u679c\u3001\u4f1a\u793e\u306e\u4eba\u304b\u3089\u3001\u300c\u793e\u5185\u306e\u30b5\u30fc\u30d3\u30b9\u306eURL(\u3053\u306e\u5834\u5408\u306fGHE\u306eURL)\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7684\u306a\u7406\u7531\u304b\u3089\u5916\u306b\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u307b\u3057\u3044\u300d\u3068\u9023\u7d61\u3092\u53d7\u3051\u307e\u3057\u305f\u3002\u3059\u3050\u3055\u307e\u8a72\u5f53\u306e\u30d6\u30ed\u30c3\u30af\u306f\u6d88\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u3046\u3059\u308b\u3068\u30e1\u30fc\u30eb\u306e\u8a2d\u5b9a\u304c\u81ea\u52d5\u3067\u3055\u308c\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u4e0d\u4fbf\u3067\u3059\u3002\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30d1\u30b9\u3092\u5909\u66f4\u3059\u308b\u3068\u3044\u3046\u306e\u3082\u3001\u305b\u3063\u304b\u304f\u306e\u7d71\u4e00\u7684\u306a\u64cd\u4f5c\u306b\u9055\u3044\u304c\u51fa\u3066\u3057\u307e\u3044\u3001\u4e0d\u4fbf\u3067\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u601d\u3044\u3064\u3044\u305f\u306e\u304c\u3001\u3053\u3046\u3044\u3063\u305f\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u60c5\u5831\u3092\u5225\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u5206\u3051\u3001<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/blob\/master\/Makefile\" target=\"_blank\" rel=\"noopener\">Makefile<\/a>\n\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u81ea\u52d5\u5316\u3059\u308b\u3068\u3044\u3046\u65b9\u6cd5\u3067\u3059\u3002<\/p>\n<p>\u30d1\u30d6\u30ea\u30c3\u30af\u306a<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\" target=\"_blank\" rel=\"noopener\">dotfiles\u30ea\u30dd\u30b8\u30c8\u30ea<\/a>\n\u306b\u3042\u308b<a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/blob\/master\/.gitconfig\" target=\"_blank\" rel=\"noopener\"><code>.gitconfig<\/code><\/a>\n\u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>[include]\npath = ~\/.gitconfig.secret\n<\/code><\/pre><p><code>.gitconfig.secret<\/code>\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u79d8\u533f\u60c5\u5831\u3092\u542b\u3093\u3060<code>.gitconfig<\/code>\u3067\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u5316\u3055\u308c\u305fdotfiles-secret\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u304a\u3044\u3066\u3042\u308a\u307e\u3059\u3002dotfiles-secret\u30ea\u30dd\u30b8\u30c8\u30ea\u306f<code>make install<\/code>\u3068\u3057\u305f\u3068\u304d\u306b<code>git clone<\/code>\u3055\u308c\u3001\u3055\u3089\u306b\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e<code>Makefile<\/code>\u306b\u3088\u308a\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002<code>dotfiles-secret\/.gitconfig.secret<\/code>\u306b\u306f\u5148\u307b\u3069\u306e<code>IncludeIf<\/code>\u30d6\u30ed\u30c3\u30af\u304c\u66f8\u304b\u308c\u3066\u304a\u308a\u3001\u540c\u30ea\u30dd\u30b8\u30c8\u30ea\u5185\u306e<code>.gitconfig.secret.ghe<\/code>(\u540d\u524d\u3092\u5c11\u3057\u5909\u3048\u307e\u3057\u305f)\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3067\u3001\u5168\u4f53\u306e\u4f7f\u3044\u52dd\u624b\u3092\u307b\u3068\u3093\u3069\u640d\u306a\u3046\u3053\u3068\u306a\u304f\u3069\u306e\u30de\u30b7\u30f3\u3067\u3082(dotfiles\u304c\u914d\u5099\u6e08\u307f\u306a\u3089)\u540c\u69d8\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><code>Makefile<\/code>\u306f\u7279\u306bdotfiles\u306e\u30ea\u30b9\u30c8\u3092\u6301\u305f\u306a\u3044\u3088\u3046\u8a18\u8ff0\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u65b0\u3057\u3044dotfile\u304c\u5897\u3048\u3066\u3082\u3001\u7279\u306b<code>Makefile<\/code>\u306e\u5909\u66f4\u3092\u3059\u308b\u5fc5\u8981\u3082\u7121\u304f\u5b89\u5fc3\u3067\u3059\u3002<\/p>"},{"title":"hub\u30b3\u30de\u30f3\u30c9\u306bGitHub Enterprise\u74b0\u5883\u3092\u8ffd\u52a0\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/hub-with-github-enterprise\/","pubDate":"Thu, 22 Aug 2019 10:30:00 +0000","guid":"https:\/\/blog.web-apps.tech\/hub-with-github-enterprise\/","description":"<p><a href=\"https:\/\/github.com\/github\/hub\" target=\"_blank\" rel=\"noopener\"><code>hub<\/code><\/a>\n\u30b3\u30de\u30f3\u30c9\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066<code>alias git=hub<\/code>\u3068\u8a2d\u5b9a\u3059\u308b\u3060\u3051\u3067\u3001<code>git<\/code>\u30b3\u30de\u30f3\u30c9\u304b\u3089GitHub\u306e\u64cd\u4f5c\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u512a\u308c\u3082\u306e\u3067\u3059\u3002\u7279\u306b\u500b\u4eba\u7684\u306b\u306f<code>git create<\/code>\u3068\u3059\u308b\u3060\u3051\u3067GitHub\u4e0a\u306b\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u4f5c\u6210\u3055\u308c\u308b\u3001\u3068\u3044\u3046\u306e\u304c\u975e\u5e38\u306b\u4fbf\u5229\u3060\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3055\u3066\u3001\u7686\u3055\u3093\u306e\u4f1a\u793e\u3067\u306fgit\u30b5\u30fc\u30d0\u306f\u3069\u306e\u3088\u3046\u306b\u69cb\u7bc9\u3055\u308c\u3066\u3044\u308b\u3067\u3057\u3087\u3046\u304b\u3002\u3044\u308d\u3044\u308d\u306a\u9078\u629e\u80a2\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u305d\u308c\u306a\u308a\u306e\u898f\u6a21\u3060\u3068GitHub Enterprise(\u4ee5\u4e0bGHE)\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u4f1a\u793e\u3082\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u5b9f\u969b\u3001\u73fe\u8077\u3067\u306fGHE\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u3088\u3046\u306a\u5834\u5408\u3001\u8da3\u5473\/\u500b\u4eba\u306e\u958b\u767a\u3067\u306fgithub.com\u3001\u4f1a\u793e\u3067\u306fGHE\u3068\u4f7f\u3044\u5206\u3051\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u304c\u3001GHE\u3067<code>hub<\/code>\u304c\u4f7f\u3048\u306a\u3044\u3068\u3059\u308b\u3068\u975e\u5e38\u306b\u4e0d\u4fbf\u3067\u3059\u3002\u305d\u3046\u8003\u3048\u3066\u8abf\u3079\u3066\u307f\u308b\u3068\u3001Web\u4e0a\u3067\u306f\u3001<code>hub<\/code>\u3092GHE\u74b0\u5883\u3067\u4f7f\u3046\u306b\u306f\u74b0\u5883\u5909\u6570\u3092\u4f7f\u3046\u3068\u3059\u308b\u8a2d\u5b9a\u4f8b\u304c\u6563\u898b\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u5b9f\u306f\u3001<code>hub<\/code>\u306f\u8907\u6570\u74b0\u5883\u3067\u306e\u4f7f\u7528\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u3093\u3067\u3059\u3002\n\u8a2d\u5b9a\u65b9\u6cd5\u306f\u81f3\u3063\u3066\u7c21\u5358\u3067\u3001<code>$HOME\/.config\/hub<\/code>\u306b\u8a2d\u5b9a\u3092\u66f8\u304d\u8db3\u3059\u3060\u3051\u3067\u3059\u3002\u5b9f\u969b\u306b\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u3059\u3067\u306b<code>hub<\/code>\u3092\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u3001<code>cat $HOME\/.config\/hub<\/code>\u3067\u8a2d\u5b9a\u3092\u898b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u79c1\u306e\u5834\u5408\u3001\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f(<code>oauth_token<\/code>\u306f\u6f70\u3057\u3066\u3042\u308a\u307e\u3059\u304c\u3001\u5b9f\u969b\u306b\u306f\u30c8\u30fc\u30af\u30f3\u304c\u5165\u3063\u3066\u3044\u307e\u3059)\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">github.com<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\">- <span class=\"nt\">user<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">nasa9084<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">oauth_token<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">protocol<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">https<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3069\u3093\u306a\u9805\u76ee\u304b\u306f\u660e\u3089\u304b\u3067\u3059\u306d\u3002\u3053\u3053\u306b\u4f1a\u793e\u306eGHE\u306e\u74b0\u5883\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8ffd\u8a18\u3057\u307e\u3059\u3002\n\u307e\u305a\u3001\u81ea\u793e\u306eGHE\u306e\u30a2\u30c9\u30ec\u30b9\u4ee5\u4e0b<code>\/settings\/tokens<\/code>\u3092\u958b\u304d\u307e\u3059\u3002<strong>Generate new token<\/strong>\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u65b0\u898f\u3067Personal access token\u3092\u767a\u884c\u3057\u307e\u3059\u3002\u540d\u79f0\u306f\u308f\u304b\u308a\u3084\u3059\u3044\u7269\u3092\u4efb\u610f\u3067\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044\u3002<code>hub<\/code>\u306f\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u64cd\u4f5c\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3067\u3059\u304b\u3089\u3001scope\u306f<strong>repo<\/strong>\u3092\u4e0e\u3048\u308c\u3070\u5341\u5206\u3067\u3057\u3087\u3046\u3002\u753b\u9762\u4e0b\u90e8\u306e<strong>Generate token<\/strong>\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u30c8\u30fc\u30af\u30f3\u304c\u767a\u884c\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u30b3\u30d4\u30fc\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u624b\u5143\u306e\u30a8\u30c7\u30a3\u30bf(\u304a\u597d\u307f\u306e\u7269\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)\u3067<code>$HOME\/.config\/hub<\/code>\u3092\u958b\u304d\u3001\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">YOUR_GHE_DOMAIN<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\">- <span class=\"nt\">user<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">YOUR_USERNAME<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">oauth_token<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">YOUR_TOKEN<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">protocol<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">https<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ad\u30fc\u3068\u3057\u3066GHE\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u3001<code>user<\/code>\u306fGHE\u3067\u30ed\u30b0\u30a4\u30f3\u306b\u4f7f\u7528\u3059\u308b\u30e6\u30fc\u30b6\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<code>oauth_token<\/code>\u306b\u5148\u307b\u3069\u751f\u6210\u3057\u305fPersonal access token\u3092\u8a2d\u5b9a\u3057\u3001\u4fdd\u5b58\u3057\u307e\u3059\u3002\u4fdd\u5b58\u3067\u304d\u305f\u3089\u3001<code>hub<\/code>\u3067GHE\u306b\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<p>\u5b9f\u969b\u306b\u4f7f\u3046\u3068\u3001\u6b21\u306e\u69d8\u306b\u3069\u306e\u30db\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u304b\u805e\u304b\u308c\u3001\u597d\u304d\u306a\u65b9\u3092\u9078\u3079\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ git create\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Select host:\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> 1. github.com\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> 2. YOUR_GHE_DOMAIN\n<\/span><\/span><span class=\"line\"><span class=\"cl\">&gt; <span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Updating origin\n<\/span><\/span><span class=\"line\"><span class=\"cl\">https:\/\/github.com\/nasa9084\/REPOSITORY_NAME\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"Raspberry Pi zero W + IR","link":"https:\/\/blog.web-apps.tech\/raspberry-pi-zero-w-ir\/","pubDate":"Tue, 30 Jul 2019 15:11:28 +0000","guid":"https:\/\/blog.web-apps.tech\/raspberry-pi-zero-w-ir\/","description":"<p>\u5bb6\u3067<del>\u8ee2\u304c\u3063\u3066\u3044\u305f<\/del>\u4f7f\u308f\u308c\u306a\u3044\u3067\u3044\u305fRaspberry Pi zero W\u3092\u4f7f\u3063\u3066\u3001\u5bb6\u5ead\u5185\u306e\u30ea\u30e2\u30b3\u30f3\u6a5f\u5668\u3092\u81ea\u52d5\u5316\u3057\u3088\u3046\u3068\u601d\u3044\u7acb\u3061\u3001\u79cb\u8449\u539f\u304f\u3093\u3060\u308a\u307e\u3067\u884c\u3063\u3066\u8af8\u3005\u90e8\u54c1\u3092\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u30b4\u30df\u3092\u4e8c\u3064\u307b\u3069\u751f\u6210\u3057\u305f\u306e\u3061\u3001\u6700\u7d42\u7684\u306b\u52d5\u304f\u30e2\u30ce\u304c\u3067\u304d\u307e\u3057\u305f\u306e\u3067\u5099\u5fd8\u9332\u7684\u306b\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"und\" dir=\"ltr\"><a href=\"https:\/\/t.co\/e55qxX5GL6\">pic.twitter.com\/e55qxX5GL6<\/a><\/p>&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) <a href=\"https:\/\/twitter.com\/nasa9084\/status\/1155835409131196419?ref_src=twsrc%5Etfw\">July 29, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p>\u4e3b\u306b\u300c<a href=\"https:\/\/qiita.com\/takjg\/items\/e6b8af53421be54b62c9\" target=\"_blank\" rel=\"noopener\">\u683c\u5b89\u30b9\u30de\u30fc\u30c8\u30ea\u30e2\u30b3\u30f3\u306e\u4f5c\u308a\u65b9<\/a>\n\u300d\u3092\u53c2\u8003\u306b\u3057\u307e\u3057\u305f\u3002\u90e8\u54c1\u3092\u8cfc\u5165\u3057\u305f\u5e97\u306f\u79cb\u6708\u96fb\u5b50\u3067\u3001\u5546\u54c1\u30da\u30fc\u30b8\u306e\u4e0b\u306e\u65b9\u306b\u3042\u308b\u300c\u5e97\u8217\u60c5\u5831\u300d\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u5e97\u5185\u306e\u3069\u306e\u68da\u306b\u5546\u54c1\u304c\u3042\u308b\u306e\u304b\u308f\u304b\u308a\u4fbf\u5229\u3067\u3059\u3002\u3069\u306e\u90e8\u54c1\u3082\u7279\u306b\u73cd\u3057\u3044\u90e8\u54c1\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u5546\u54c1\u81ea\u4f53\u304c\u306a\u304f\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u306a\u3053\u3068\u306f(Pi zero\u7528\u30e6\u30cb\u30d0\u30fc\u30b5\u30eb\u57fa\u677f\u3092\u306e\u305e\u304d)\u307e\u305a\u7121\u3044\u3088\u3046\u306b\u601d\u3048\u307e\u3059\u3002\u307e\u305f\u3001\u624b\u6301\u3061\u30670\u03a9\u62b5\u6297\u304c(\u306a\u305c\u304b)\u5728\u5eab\u3057\u3066\u3042\u3063\u305f\u305f\u3081\u3001\u30b8\u30e3\u30f3\u30d1\u7dda\u4ee3\u308f\u308a\u306b\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\u4e00\u756a\u898b\u3064\u3051\u3065\u3089\u304b\u3063\u305f\u306e\u304cPi zero\u7528\u30e6\u30cb\u30d0\u30fc\u30b5\u30eb\u57fa\u677f\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u5e97\u306e\u4e2d\u3067\u306f\u306a\u304f\u3001\u5916\u306eRaspberry Pi\u95a2\u9023\u90e8\u54c1\u304c\u7f6e\u3044\u3066\u3042\u308b\u3068\u3053\u308d\u306b\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4e0a\u8a18\u306eQiita\u8a18\u4e8b\u306f\u3055\u307b\u3069\u53e4\u3044\u30e2\u30ce\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u4fa1\u683c\u3082\u5909\u308f\u3063\u3066\u306a\u304b\u3063\u305f\u3088\u3046\u306b\u601d\u3048\u307e\u3059\u304c\u3001\u52d5\u304f\u30e2\u30ce\u304c\u3067\u304d\u308b\u307e\u3067\u306b\u30b4\u30df\u3092\u4e8c\u3064\u307b\u3069\u751f\u6210\u3057\u305f\u90fd\u5408\u4e0a\u3001\u4e09\u500d\u7a0b\u5ea6\u306e\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308a\u307e\u3057\u305f\u3002\u56de\u8def\u5468\u308a\u3084\u534a\u7530\u4ed8\u3051\u304c\u3042\u307e\u308a\u5f97\u610f\u3067\u306f\u306a\u3044\u4eba\u306f\u899a\u609f(\u3068\u3044\u3046\u307b\u3069\u306e\u984d\u3067\u306f\u306a\u3044\u3067\u3059\u304c)\u3057\u3066\u304a\u3044\u305f\u65b9\u304c(\u6750\u6599\u3092\u4f59\u5206\u306b\u8cb7\u3063\u3066\u304a\u3044\u305f\u65b9\u304c)\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u4f59\u8ac7\u3067\u3059\u304c\u90e8\u54c1\u3092\u8cfc\u5165\u3057\u305f\u969b\u3001\u8fd1\u304f\u306e\u3042\u304d\u3070\u304a\u30fc\u3067Transcend\u306emicro SD\u304c\u5b89\u304f\u306a\u3063\u3066\u3044\u305f\u305f\u3081\u3001\u5927\u3057\u3066\u4f7f\u3044\u9053\u3082\u8003\u3048\u305a\u306b32GB\u306e\u30e2\u30ce\u30925\u679a\u307b\u3069\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/raspberry-pi-zero-w-ir\/images\/P_20190730_233921_hu_4fa858ee4cbb1cc2.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u307b\u3068\u3093\u3069\u306e\u60c5\u5831\u306f\u53c2\u8003\u306b\u3057\u305fQiita\u8a18\u4e8b\u306b\u307e\u3068\u307e\u3063\u3066\u3044\u308b\u305f\u3081\u8a73\u7d30\u306f\u7aef\u6298\u308a\u307e\u3059\u304c\u3001\u5909\u66f4\u70b9\u3068\u3057\u3066\u8d64LED\u3092\u8db3\u3057\u3066\u3042\u308a\u307e\u3059\u3002\u30d4\u30ab\u30c3\u3068\u53ef\u8996\u5149\u304c\u5149\u308b\u306e\u3067\u3001\u5b9f\u884c\u3055\u308c\u305f\u3068\u3044\u3046\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u306e\u306b\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<p>\u53c2\u8003\u8a18\u4e8b\u306b\u306f\u5b9f\u969b\u306e\u914d\u7dda\u56f3\u3060\u3051\u306f\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/raspberry-pi-zero-w-ir\/images\/wiring_hu_fda5d3d66e4241bf.png\" alt=\"\" \/>\n<\/p>\n<p>\u4e0a\u56f3\u304c\u90e8\u54c1\u9762\u3001\u4e0b\u56f3\u304c\u534a\u7530\u9762\u3067\u3059\u3002MOSFET 2N7000\u306f\u5e73\u3089\u306a\u9762\u304c\u56f3\u306e\u4e0a\u5074\u3001MOSFET IRFU9024NPBF\u306f\u653e\u71b1\u677f(?)\u304c\u56f3\u306e\u4e0b\u5074\u3001\u8d64\u5916\u7ddaLED\u306f\u6b20\u3051\u3066\u3044\u308b\u5074(\u30ab\u30bd\u30fc\u30c9\uff1f)\u304c\u56f3\u306e\u53f3\u5074\u3001\u8d64LED\u306f\u6b20\u3051\u3066\u3044\u308b\u5074\u304c\u56f3\u306e\u5de6\u5074\u3001\u8d64\u5916\u7dda\u53d7\u5149\u30e2\u30b8\u30e5\u30fc\u30ebOSRB38C9AA\u306f\u53d7\u5149\u90e8\u304c\u56f3\u306e\u4e0a\u5074\u3092\u5411\u304f\u3088\u3046\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002\u79c1\u306f\u53d7\u5149\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u56f3\u306e\u4e0b\u65b9\u5411\u306b\u5411\u3051\u3066\u6298\u308a\u3001\u53d7\u5149\u90e8\u304c\u5929\u3092\u5411\u304f\u3088\u3046\u306a\u5f62\u306b\u3057\u307e\u3057\u305f\u3002\n\u30d6\u30ec\u30c3\u30c9\u30dc\u30fc\u30c9\u4e0a\u3067\u914d\u7dda\u3057\u3066\u305d\u306e\u307e\u307e\u57fa\u677f\u306b\u79fb\u690d\u3057\u305f\u3088\u3046\u306a\u5f62\u306b\u306a\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u8907\u96d1\u306a\u914d\u7dda\u3082\u306a\u304f\u6bd4\u8f03\u7684\u7c21\u5358\u304b\u3068\u601d\u3044\u307e\u3059\u3002\nIRFU9024NPBF\u306e\u5de6\u4e0b\u306f\u30b8\u30e3\u30f3\u30d1\u306a\u306e\u3067\u3001\u534a\u7530\u9762\u3067\u914d\u7dda\u3057\u3066\u3082\u304b\u307e\u3044\u307e\u305b\u3093(\u79c1\u306f0\u03a9\u62b5\u6297\u3092\u4f7f\u7528\u3057\u305f\u95a2\u4fc2\u3067\u90e8\u54c1\u9762\u3092\u901a\u3057\u3066\u3044\u307e\u3059)\u3002<\/p>\n<figure class=\"kg-gallery-card kg-width-wide\">\n<div class=\"kg-gallery-container\">\n<div class=\"kg-gallery-row\">\n<div class=\"kg-gallery-image\">\n<img src=\"https:\/\/blog.web-apps.tech\/images\/2019\/07\/P_20190730_232741.jpg\" width=\"2094\" height=\"1078\">\n<\/div>\n<div class=\"kg-gallery-image\">\n<img src=\"https:\/\/blog.web-apps.tech\/images\/2019\/07\/P_20190730_232759.jpg\" width=\"2187\" height=\"1012\">\n<\/div>\n<\/div>\n<\/div>\n<figcaption>\u5b9f\u969b\u306b\u914d\u7dda\u3057\u305f\u3082\u306e\u3002\u53f3\u5074\u306b\u6e29\u5ea6\u30bb\u30f3\u30b5\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059<\/figcaption>\n<\/figure>\n<p>\u8d64\u5916\u7dda\u30b3\u30fc\u30c9\u306e\u5b66\u7fd2\u30fb\u5b9f\u884c\u3082\u53c2\u8003\u8a18\u4e8b\u901a\u308apigpio\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u6bce\u5ea6SSH\u3057\u3066\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u306e\u306f\u9762\u5012\u306a\u305f\u3081\u3001Go\u3067API\u30b5\u30fc\u30d0\u3092\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002Go\u3067\u8d64\u5916\u7dda\u3092GPIO\u3067\u3044\u3044\u611f\u3058\u306b\u30a2\u30ec\u3059\u308b\u3088\u3046\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u898b\u5f53\u305f\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3001Go\u304b\u3089Python\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u53e9\u304f\u3068\u3044\u3046\u6b8b\u5ff5\u306a\u30b3\u30fc\u30c9\u306b\u306a\u3063\u3066\u304a\u308a\u307e\u3059\u3002\u3044\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308c\u3070\u8ab0\u304b\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<script src=\"https:\/\/gist.github.com\/nasa9084\/c482f43cc9ee0644782f8c75013fc778.js\"><\/script>\n<p>systemd\u304b\u306a\u3093\u304b\u3067\u30c7\u30fc\u30e2\u30f3\u5316\u3057\u305f\u308a\u306a\u3093\u304b\u3057\u3066\u8d77\u52d5\u3057\u3066\u304a\u304f\u3068\u3001\u4f8b\u3048\u3070\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ curl http:\/\/raspberrypi.local\/playback?key<span class=\"o\">=<\/span>light:off\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3068\u304b\u3059\u308b\u3068\u90e8\u5c4b\u306e\u96fb\u6c17\u304c\u6d88\u305b\u307e\u3059\u3002\u7d20\u6674\u3089\u3057\u3044\u3002<\/p>\n<p>\u4eca\u306e\u3068\u3053\u308d\u5916\u90e8\u306b\u516c\u958b\u3057\u3066\u306f\u3044\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u5916\u90e8\u306b\u516c\u958b\u3059\u308b\u3068\u4ed6\u306e\u30b5\u30fc\u30d3\u30b9\u3068\u306e\u9023\u643a(\u4f8b\u3048\u3070IFTTT)\u304c\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u516c\u958b\u3057\u305f\u3044\u6c17\u6301\u3061\u304c\u3042\u308a\u307e\u3059\u3002\u3068\u306f\u3044\u3048\u3001\u5916\u304b\u3089\u3080\u3084\u307f\u306b\u90e8\u5c4b\u306e\u96fb\u6c17\u3092\u3042\u308c\u3053\u308c\u3055\u308c\u3066\u3082\u56f0\u308b\u3057(\u3060\u308c\u3082\u3084\u3089\u306a\u3044\u3068\u306f\u601d\u3044\u307e\u3059\u304c)\u3001\u305d\u306e\u307e\u307e\u516c\u958b\u3059\u308b\u306e\u3082\u96e3\u3057\u3044\u306a\u3001\u3068\u601d\u3063\u3066\u3044\u308b\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>\u3068\u308a\u3042\u3048\u305a\u306f\u6247\u98a8\u6a5f\u3068\u304b\u3001\u305d\u306e\u3042\u305f\u308a\u3092\u306a\u3093\u304b\u3044\u3044\u611f\u3058\u306b\u30a2\u30ec\u3057\u305f\u3044\u3067\u3059\u306d\u3002<\/p>"},{"title":"NATS\u3092\u89e6\u3063\u3066\u307f\u305f","link":"https:\/\/blog.web-apps.tech\/messaging-system-nats\/","pubDate":"Wed, 06 Feb 2019 07:52:05 +0000","guid":"https:\/\/blog.web-apps.tech\/messaging-system-nats\/","description":"<p><a href=\"https:\/\/nats.io\/\" target=\"_blank\" rel=\"noopener\">NATS<\/a>\n\u306f<a href=\"https:\/\/www.cncf.io\" target=\"_blank\" rel=\"noopener\">CNCF<\/a>\n(Cloud Native Computing Foundation)\u306b\u3088\u3063\u3066\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u3055\u308c\u3066\u3044\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3067\u3059\u3002\u8efd\u91cf\u3067\u9ad8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304b\u3064\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u306e\u304c\u7279\u5fb4\u3060\u305d\u3046\u3067\u3059\u3002\u30aa\u30e9\u30f3\u30c0\u306eSynadia\u793e\u304c\u4e2d\u5fc3\u3068\u306a\u3063\u3066\u958b\u767a\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306a\u306e\u3067<a href=\"https:\/\/github.com\/nats-io\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>\n\u4e0a\u3067\u4eca\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\nGo\u3001NodeJS\u3001Ruby\u3001Java\u3001C\u3001C#\u3001Nginx\u7528\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u306fSynadia\u306b\u3088\u3063\u3066\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u304a\u308a\u3001\u305d\u306e\u307b\u304b\u306b\u3082Python\u3084Elixir\u7528\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306a\u3069\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\nNATS\u306e\u30b5\u30fc\u30d0\u81ea\u4f53(gnatsd)\u306f<a href=\"https:\/\/github.com\/nats-io\/gnatsd\" target=\"_blank\" rel=\"noopener\">Go\u3067\u66f8\u304b\u308c\u3066\u3044\u308b<\/a>\n\u305f\u3081\u3001\u30d0\u30a4\u30ca\u30ea\u4e00\u3064\u3067\u8d77\u52d5\u3067\u304d\u308b\u307b\u304b\u3001\u3001<a href=\"https:\/\/hub.docker.com\/_\/nats\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0fDocker\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8<\/a>\n\u3084<a href=\"https:\/\/github.com\/nats-io\/nats-operator\" target=\"_blank\" rel=\"noopener\">Kubernetes\u7528\u306eOperator<\/a>\n\u3082\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u7c21\u5358\u306b\u69cb\u7bc9\u30fb\u904b\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u672c\u8a18\u4e8b\u3067\u3082\u3001Docker\u3067\u8d77\u52d5\u3057\u305f\u30b5\u30fc\u30d0\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>NATS\u3067\u306f3\u7a2e\u985e\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30e2\u30c7\u30eb\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li>Publish\/Subscribe<\/li>\n<li>Request\/Reply<\/li>\n<li>Queueing<\/li>\n<\/ul>\n<p>\u4eca\u56de\u306fPub\/Sub\u3068Request\/Reply\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<h2 id=\"\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b\">\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b<\/h2>\n<p>\u5b9f\u9a13\u306b\u5148\u99c6\u3051\u3066\u3001\u307e\u305a\u306f\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u307e\u3059\u3002\u4eca\u56de\u306fmacOS High Sierra\u74b0\u5883\u306e\u305f\u3081\u3001docker for mac\u3067\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ docker run --rm -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 nats:1.4.0-linux\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>nats:1.4.0-linux<\/code>\u306f\u57f7\u7b46\u6642\u70b9(2019-02-06)\u3067<code>nats:latest<\/code>\u3067\u3059\u3002\n\u3053\u3053\u3067\u4e09\u3064\u306e\u30dd\u30fc\u30c8\u3092\u7a7a\u3051\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u308c\u305e\u308c\u7528\u9014\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<ul>\n<li><code>:4222<\/code>: client port<\/li>\n<li><code>:6222<\/code>: route port<\/li>\n<li><code>:8222<\/code>: http port<\/li>\n<\/ul>\n<p>\u305d\u308c\u305e\u308c\u306e\u8a73\u7d30\u306a\u8aac\u660e\u306f\u5272\u611b\u3057\u307e\u3059\u304c\u3001\u672c\u8a18\u4e8b\u3067\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089\u306e\u63a5\u7d9a\u3060\u3051\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u306e\u3067\u30014222\u756a\u30dd\u30fc\u30c8\u3060\u3051\u306e\u958b\u653e\u3067\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<h2 id=\"publishsubscribe\">Publish\/Subscribe<\/h2>\n<p>\u307e\u305a\u306f\u6a19\u6e96\u7684\u306aPub\/Sub\u30e2\u30c7\u30eb\u304b\u3089\u8a66\u3057\u3066\u307f\u307e\u3059\u3002NATS\u306ePub\/Sub\u306fRedis\u306a\u3069\u3068\u540c\u69d8\u3001<a href=\"https:\/\/ja.wikipedia.org\/wiki\/%E5%87%BA%E7%89%88-%E8%B3%BC%E8%AA%AD%E5%9E%8B%E3%83%A2%E3%83%87%E3%83%AB\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>\n\u3067\u3044\u3046\u3068\u3053\u308d\u306e\u300c\u30c8\u30d4\u30c3\u30af\u30d9\u30fc\u30b9\u300d\u306aPub\/Sub\u3067\u3059\u3002NATS\u3067\u306f\u30c8\u30d4\u30c3\u30af\u306e\u3053\u3068\u3092<strong>Subject<\/strong>\u3068\u3088\u3073\u307e\u3059\u3002\nNATS\u306eSubject\u306f\u968e\u5c64\u69cb\u9020\u3092\u3068\u308b\u3053\u3068\u304c\u3067\u304d\u3001<code>.<\/code>(\u30c9\u30c3\u30c8)\u3067\u533a\u5207\u3063\u3066\u8868\u73fe\u3057\u307e\u3059\u3002Subscriber\u306f\u3053\u306e\u968e\u5c64\u69cb\u9020\u306e\u4e00\u90e8\u306b\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3068\u3057\u3066<code>*<\/code>(\u30a2\u30b9\u30bf\u30ea\u30b9\u30af)\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001<code>&gt;<\/code>\u3092\u4f7f\u7528\u3057\u3066\u4e0b\u306e\u968e\u5c64\u3059\u3079\u3066\u3001\u3092\u8868\u73fe\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001Subscriber\u304c<code>foo.bar.*<\/code>\u3092\u8cfc\u8aad\u3057\u3066\u3044\u308b\u5834\u5408\u3001<code>foo.bar.baz<\/code>\u3084<code>foo.bar.qux<\/code>\u306a\u3069\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001<code>foo.bar.baz.qux<\/code>\u306f\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u4e00\u65b9\u3001<code>foo.bar.&gt;<\/code>\u3092\u8cfc\u8aad\u3057\u3066\u3044\u308b\u5834\u5408\u3001<code>foo.bar.baz.qux<\/code>\u3082\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3068\u3057\u3066\u3001\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"publisher\">Publisher<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">main<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;log&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">nats<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/nats-io\/go-nats&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">nats<\/span><span class=\"p\">.<\/span><span class=\"nf\">Connect<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;localhost:4222&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fatal<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">.<\/span><span class=\"nf\">Publish<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;subjectFoo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;bodyBar&#34;<\/span><span class=\"p\">));<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fatal<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"subscriber\">Subscriber<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">main<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;log&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">nats<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/nats-io\/go-nats&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">nats<\/span><span class=\"p\">.<\/span><span class=\"nf\">Connect<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;localhost:4222&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fatal<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">sub<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">nc<\/span><span class=\"p\">.<\/span><span class=\"nf\">Subscribe<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;subjectFoo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">callback<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fatal<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;Subject: %s&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">sub<\/span><span class=\"p\">.<\/span><span class=\"nx\">Subject<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;Queue: %s&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">sub<\/span><span class=\"p\">.<\/span><span class=\"nx\">Queue<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ch<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">ch<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">callback<\/span><span class=\"p\">(<\/span><span class=\"nx\">message<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">nats<\/span><span class=\"p\">.<\/span><span class=\"nx\">Msg<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Print<\/span><span class=\"p\">(<\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">message<\/span><span class=\"p\">.<\/span><span class=\"nx\">Data<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u305d\u308c\u305e\u308c\u3001\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u3001<code>go run<\/code>\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002\u3042\u3089\u304b\u3058\u3081Subscriber\u5074\u3092\u8d77\u52d5\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u3001Publisher\u3092\u8d77\u52d5\u3057\u305f\u969b\u306b\u30e1\u30c3\u30bb\u30fc\u30b8(\u4eca\u56de\u306f&quot;bodyBar&quot;)\u304c(Subscriber\u5074\u3067)Print\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002\n\u30dd\u30a4\u30f3\u30c8\u306f<code>*nats.Conn.Subscribe<\/code>\u304c\u975e\u540c\u671f\u306a\u95a2\u6570\u3067\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u3063\u305f\u969b\u306bcallback\u95a2\u6570\u304c\u547c\u3070\u308c\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3059\u3002\n\u4eca\u56de\u306e\u30b5\u30f3\u30d7\u30eb\u4e2d\u3067\u306f<code>&lt;-ch<\/code>\u3068\u3057\u3066\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u30d6\u30ed\u30c3\u30af\u3057\u306a\u3044\u3068\u3001\u53d7\u3051\u53d6\u308b\u524d\u306bmain\u304c\u7d42\u308f\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\n\u540c\u671f\u51e6\u7406\u3057\u305f\u3044\u5834\u5408\u306b\u306f\u3001<code>*nats.Conn.SubscribeSync<\/code>\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u6b21\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3089\u308c\u307e\u3059\u3002<\/p>"},{"title":"\u521d\u3081\u3066\u306e\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb","link":"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/","pubDate":"Mon, 04 Feb 2019 17:00:46 +0000","guid":"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/","description":"<p>\u3053\u3093\u3070\u3093\u306f\u3002<a href=\"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/\">\u4ee5\u524d\u8a18\u4e8b\u306b\u3057\u305f<\/a>\n\u3088\u3046\u306b\u3001\u73fe\u5728\u3001\u8077\u5834\u3067<a href=\"https:\/\/ergodox-ez.com\/\" target=\"_blank\" rel=\"noopener\">Ergodox EZ<\/a>\n\u3068\u3044\u3046\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u5143\u3005\u306f\u81ea\u4f5c\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u4e00\u7a2e\u3067\u3001\u5de6\u53f3\u5206\u5272\u578b\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<p>Ergodox EZ\u3067\u306f\u3001\u53f3\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u3068\u5de6\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u306f<a href=\"https:\/\/ja.wikipedia.org\/wiki\/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%B3%E3%83%97%E3%83%A9%E3%82%B0#4%E6%A5%B5_%28TRRS%29\" target=\"_blank\" rel=\"noopener\">TRRS\u30b1\u30fc\u30d6\u30eb<\/a>\n\u3068\u3044\u3046\u30014\u6975\u306e\u30a4\u30e4\u30db\u30f3\u30b1\u30fc\u30d6\u30eb\u307f\u305f\u3044\u306a\u30b1\u30fc\u30d6\u30eb\u3067\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4eca\u307e\u3067\u306f\u3068\u308a\u3042\u3048\u305a\u8cfc\u5165\u6642\u306b\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u30b1\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u3060\u3093\u3060\u3093\u80a9\u304c\u958b\u3044\u3066\u304d\u3066\u3001\u9577\u3055\u304c\u8db3\u308a\u306a\u3044\u306a\u30fc\u3068\u3044\u3046\u304a\u6c17\u6301\u3061\u306b\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u3069\u3046\u305b\u306a\u3089\u304a\u3057\u3083\u308c\u306a\u30b1\u30fc\u30d6\u30eb\u304c\u3044\u3044\u306a\u3041\u3068\u601d\u3044\u306a\u304c\u3089\u901a\u8ca9\u30b5\u30a4\u30c8\u3067\u63a2\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u306eTRRS\u30b1\u30fc\u30d6\u30eb\u3001\u3042\u307e\u308a\u9700\u8981\u304c\u306a\u3044\u306e\u304b\u3001\u7a2e\u985e\u304c\u591a\u304f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u3058\u3083\u3041\u81ea\u4f5c\u30ad\u30fc\u30dc\u30fc\u30c9\u52e2\u306f\u3069\u3046\u3057\u3066\u308b\u306e\u3060\u308d\u3046\u304b\u3001\u3068\u601d\u3063\u3066\u8abf\u67fb\u3057\u305f\u3068\u3053\u308d\u3001\u8ae6\u3081\u3066\u58f2\u3063\u3066\u3044\u308b\u3082\u306e\u304b\u3089\u9078\u3076\u304b\u3001\u81ea\u4f5c\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u9078\u629e\u80a2\u306e\u3088\u3046\u3067\u3057\u305f\u3002\u81ea\u4f5c\u3059\u308c\u3070\u81ea\u5206\u597d\u307f\u306e\u8272\u3084\u9577\u3055\u3067\u4f5c\u308c\u308b\u3057\u3001\u30b1\u30fc\u30d6\u30eb\u304f\u3089\u3044\u306a\u3089\u4f5c\u308c\u305d\u3046\uff01\u3068\u3044\u3046\u3053\u3068\u3067\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb\u6cbc\u306b\u5165\u9580\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/cable_kit_hu_caa6992ed294a75d.jpg\" alt=\"cable_kit\" \/>\n\u4eca\u56de\u4f5c\u3063\u305f\u306e\u306f\u3053\u3061\u3089\u3002<a href=\"https:\/\/yushakobo.jp\" target=\"_blank\" rel=\"noopener\">\u904a\u820e\u5de5\u623f<\/a>\n\u3055\u3093\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u3001\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb\u30ad\u30c3\u30c8\u3067\u3059\u3002\u306f\u3058\u3081\u306f\u90e8\u6750\u3092\u500b\u5225\u306b\u305d\u308d\u3048\u3066\u4f5c\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001<a href=\"http:\/\/biacco42.hatenablog.com\/entry\/2017\/11\/17\/093000\" target=\"_blank\" rel=\"noopener\">\u81ea\u4f5c\u30ad\u30fc\u30dc\u30fc\u30c9\u754c\u9688\u306eDiscord\u30b5\u30fc\u30d0<\/a>\n\u3067\u805e\u3044\u305f\u3068\u3053\u308d\u3001\u6700\u521d\u306f\u3053\u3061\u3089\u306e\u30b1\u30fc\u30d6\u30eb\u30ad\u30c3\u30c8\u304c\u500b\u5225\u306b\u30d1\u30fc\u30c4\u3092\u305d\u308d\u3048\u308b\u3088\u308a\u3082\u5b89\u304f\u3066\u304a\u3059\u3059\u3081\u3001\u3068\u8a00\u3046\u3053\u3068\u306a\u306e\u3067\u65e9\u901f\u904a\u820e\u5de5\u623f\u3055\u3093\u306b\u5411\u304b\u3044\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/plug_hu_25642b0259de604d.jpg\" alt=\"plug\" \/>\n\u30bb\u30c3\u30c8\u306e\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u307e\u305a\u306f\u30d7\u30e9\u30b0\u30024\u6975\u306e3.5mm\u30d5\u30a9\u30fc\u30f3\u30d7\u30e9\u30b0\u3067\u3059\u3002Ergodox EZ\u306f\u5411\u304b\u3063\u3066\u5965\u306e\u65b9\u306b\u30b8\u30e3\u30c3\u30af\u304c\u3042\u308b\u305f\u3081\u3001L\u5b57\u578b\u306a\u306e\u306f\u3046\u308c\u3057\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/tube_hu_61162d315f658ad9.jpg\" alt=\"tube\" \/>\n\u6b21\u306f\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3002\u3053\u3061\u3089\u306f\u8cfc\u5165\u6642\u306b\u8272\u3092\u9078\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4eca\u56de\u306f\u7121\u96e3\u306b\u767d\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/paracode_hu_d51bcc1d73d1cd81.jpg\" alt=\"paracode\" \/>\n\u3053\u3061\u3089\u306f\u30d1\u30e9\u30b3\u30fc\u30c9\u3002\u5143\u3005\u306f\u30d1\u30e9\u30b7\u30e5\u30fc\u30c8\u306a\u3069\u306e\u3072\u3082\u306b\u4f7f\u308f\u308c\u308b\u3089\u3057\u3044\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u30b1\u30fc\u30d6\u30eb\u30ab\u30d0\u30fc\u7684\u306a\u3082\u306e\u3068\u3057\u3066\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u3061\u3089\u3082\u8272\u3092\u9078\u3076\u3053\u3068\u304c\u3067\u304d\u3001\u9ed2\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/sleeve_hu_6463b4cfab96bfa2.jpg\" alt=\"sleeve\" \/>\n\u3053\u308c\u306f\u30b9\u30ea\u30fc\u30d6\u3067\u3059\u3002\u30d1\u30e9\u30b3\u30fc\u30c9\u306e\u4e0a\u304b\u3089\u304b\u3076\u305b\u3066\u304a\u3057\u3083\u308c\u611f\u3092\u6f14\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u3001\u306a\u3093\u3066\u8abf\u3079\u305f\u3089\u58f2\u3063\u3066\u308b\u306e\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3093\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/rawcable_hu_33fac70bc491e4e0.jpg\" alt=\"rawcable\" \/>\n\u6700\u5f8c\u306b\u30b1\u30fc\u30d6\u30eb\u672c\u4f53\u300250cm\u3067\u3059\u3002\u4e0a\u304b\u3089\u30d1\u30e9\u30b3\u30fc\u30c9\u3092\u304b\u3076\u305b\u308b\u305f\u3081\u3001\u306a\u3093\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u8272\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/insert_paracode_hu_6da8ccd0778aad91.jpg\" alt=\"insert_paracode\" \/>\n\u5b9f\u969b\u306b\u4f5c\u696d\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u307e\u305a\u306f\u30d1\u30e9\u30b3\u30fc\u30c9\u306e\u4e2d\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u901a\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u30d1\u30e9\u30b3\u30fc\u30c9\u306e\u4e2d\u306b\u306f\u767d\u3044\u3072\u3082\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u308c\u3092\u629c\u3044\u3066\u3042\u3044\u305f\u30b9\u30da\u30fc\u30b9\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u901a\u3057\u307e\u3059\u3002\u3061\u3087\u3063\u3068\u305a\u3064\u3001\u30d1\u30e9\u30b3\u30fc\u30c9\u3092\u7e2e\u3081\u3066\u3072\u3063\u3071\u3063\u3066\u3092\u7e70\u308a\u8fd4\u3057\u3066\u3001\u30b1\u30fc\u30d6\u30eb\u304c\u5168\u90e8\u5165\u308a\u304d\u308b\u307e\u3067\u5dee\u3057\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/inserted_hu_745b85496088022e.jpg\" alt=\"inserted\" \/>\n\u3053\u3061\u3089\u304c\u633f\u5165\u3057\u7d42\u308f\u3063\u305f\u3082\u306e\u3002\u30d1\u30e9\u30b3\u30fc\u30c9\u306f\u30b1\u30fc\u30d6\u30eb\u3088\u308a\u9577\u3081\u306b\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3059\u3063\u307d\u308a\u96a0\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/inserted_sleeve_hu_3ca6054e0d42996f.jpg\" alt=\"inserted_sleeve\" \/>\n\u3055\u3089\u306b\u4e0a\u304b\u3089\u30b9\u30ea\u30fc\u30d6\u3092\u304b\u3076\u305b\u307e\u3059\u3002\u30b9\u30ea\u30fc\u30d6\u306e\u7aef\u306f\u975e\u5e38\u306b\u307b\u3069\u3051\u3084\u3059\u304f\u3001\u6700\u521d\u5165\u308c\u308b\u306e\u304c\u96e3\u3057\u304b\u3063\u305f\u3067\u3059\u3002\u8981\u6ce8\u610f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/cut_hu_312ca3d20ff43fe9.jpg\" alt=\"cut\" \/>\n\u7247\u65b9\u306e\u6065\u3092\u30c6\u30fc\u30d7\u3067\u7559\u3081\u3001\u30b1\u30fc\u30d6\u30eb\u3092\u9732\u51fa\u3055\u305b\u307e\u3057\u305f\u3002\u9732\u51fa\u3055\u305b\u305f\u9577\u3055\u306f\u30d7\u30e9\u30b0\u306b\u5408\u308f\u305b\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/open_hu_44d249cdcec9f51c.jpg\" alt=\"open\" \/>\n\u88ab\u8986\u3092\u5265\u3044\u305f\u72b6\u614b\u3002\u56db\u8ef8\u306e\u30b1\u30fc\u30d6\u30eb\u3067\u3059\u3002\u975e\u5e38\u306b\u7d30\u3044\u305f\u3081\u3001\u88ab\u8986\u3092\u5265\u304f\u6642\u306b\u5207\u3063\u3066\u3057\u307e\u308f\u306a\u3044\u304b\u30c9\u30ad\u30c9\u30ad\u3067\u3057\u305f\u3002\u4e88\u7b97\u306b\u4f59\u88d5\u304c\u3042\u308c\u3070\u30b1\u30fc\u30d6\u30eb\u30b9\u30c8\u30ea\u30c3\u30d1\u30fc\u3092\u7528\u610f\u3057\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/connector_hu_261943b086e7f397.jpg\" alt=\"connector\" \/>\n\u30b1\u30fc\u30d6\u30eb\u3092\u7aef\u5b50\u306b\u534a\u7530\u4ed8\u3051\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u5192\u982d\u306b\u3082\u66f8\u3044\u305f\u3088\u3046\u306b\u3001\u300c\u30b1\u30fc\u30d6\u30eb\u304f\u3089\u3044\u306a\u3089\u4f5c\u308c\u305d\u3046\uff01\u300d\u3068\u304b\u601d\u3063\u3066\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u3081\u3063\u3061\u3083\u96e3\u3057\u3044\u3067\u3059\u30023.5mm\u30d5\u30a9\u30fc\u30f3\u30d7\u30e9\u30b0\u306a\u3093\u3067\u3001\u7aef\u5b50\u3082\u3081\u3063\u3061\u3083\u5c0f\u3055\u3044\u3067\u3059\u3002\u4e0a\u306e\u65b9(\u5199\u771f\u4e2d\u9ec4\u8272\u306e\u7dda)\u304b\u3089\u4ed8\u3051\u59cb\u3081\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u4f59\u8a08\u96e3\u6613\u5ea6\u304c\u5897\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/connector_2_hu_b764f3ce2ccd6990.jpg\" alt=\"connector_2\" \/>\n\u53cd\u5bfe\u5074\u306e\u534a\u7530\u4ed8\u3051\u3002\u3053\u308c\u3092\u59cb\u3081\u308b\u524d\u306b\u7aef\u5b50\u306e\u30ab\u30d0\u30fc\u3068\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u30b1\u30fc\u30d6\u30eb\u306b\u901a\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u305d\u3057\u3066\u4e8c\u5ea6\u76ee\u306f\u3055\u3059\u304c\u306b\u5b66\u3073\u3001\u304d\u3061\u3093\u3068\u30b1\u30fc\u30d6\u30eb\u306e\u9577\u3055\u3092\u7aef\u5b50\u306b\u305d\u308d\u3048\u308b\u3001\u4e0b\u304b\u3089\u534a\u7530\u4ed8\u3051\u3092\u59cb\u3081\u308b\u3001\u306a\u3069\u306b\u3088\u308a\u5c11\u3057\u304d\u308c\u3044\u306b\u3064\u3051\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6b8b\u5ff5\u306a\u3053\u3068\u306b\u30c6\u30b9\u30bf\u30fc\u3092\u7528\u610f\u3057\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u30c6\u30b9\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u304c(\u5927\u4e08\u592b\u304b\uff1f)\u3001\u3053\u306e\u6642\u70b9\u3067\u5c0e\u901a\u3068\u30b7\u30e7\u30fc\u30c8\u3057\u3066\u306a\u3044\u304b\u3092\u30c6\u30b9\u30c8\u3057\u3066\u304a\u304f\u3079\u304d\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/heated_tube_hu_552812bc996ad01c.jpg\" alt=\"heated_tube\" \/>\n\u534a\u7530\u4ed8\u3051\u304c\u7d42\u308f\u3063\u305f\u3089\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u30cd\u30b8\u306e\u76f4\u524d\u307e\u3067\u6301\u3063\u3066\u304d\u3066\u6e29\u3081\u307e\u3059\u3002\u6700\u521d\u306f\u30d2\u30fc\u30c8\u30ac\u30f3\u3092\u8cb7\u304a\u3046\u3068\u601d\u3063\u3066\u305f\u306e\u3067\u3059\u304c\u3001\u79cb\u8449\u539f\u3067\u58f2\u3063\u3066\u3044\u305f\u3082\u306e\u306famazon\u3067\u58f2\u3063\u3066\u308b\u5b89\u3044\u3084\u3064\u3088\u308a\u9ad8\u304b\u3063\u305f\u306e\u3068\u3001\u601d\u3063\u305f\u3088\u308a\u30b5\u30a4\u30ba\u304c\u3042\u3063\u3066\u3073\u3073\u3063\u305f\u306e\u3067\u8cfc\u5165\u306b\u306f\u81f3\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002Discord\u3067\u805e\u3044\u305f\u3068\u3053\u308d\u306b\u3088\u308b\u3068\u30c9\u30e9\u30a4\u30e4\u30fc\u3067\u3082\u3044\u3051\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u30c9\u30e9\u30a4\u30e4\u30fc\u3067\u6311\u6226\u3057\u307e\u3057\u305f\u304c\u3001\u5341\u5206\u53ce\u7e2e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/images\/cable_hu_4d50522141f89e1e.jpg\" alt=\"cable\" \/>\n\u6700\u5f8c\u306b\u30b1\u30fc\u30d6\u30eb\u306e\u7aef\u5b50\u30ab\u30d0\u30fc\u3092\u306f\u3081\u3066(\u3074\u3063\u305f\u308a\u306e\u30b5\u30a4\u30ba\u306a\u306e\u3067\u3001\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u3064\u3051\u305f\u5f8c\u306f\u975e\u5e38\u306b\u901a\u3057\u306b\u304f\u3044)\u5b8c\u6210\u3067\u3059\u3002\u4f1a\u793e\u306b\u884c\u304b\u306a\u3044\u3068Ergodox\u304c\u306a\u3044\u306e\u3067\u52d5\u4f5c\u78ba\u8a8d\u304c\u3067\u304d\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u7121\u4e8b\u4f7f\u3048\u308b\u3053\u3068\u3092\u7948\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u307b\u304b\u306b\u3082\u90e8\u6750\u3092\u3044\u304f\u3064\u304b\u8cfc\u5165\u3057\u3066\u304d\u3066\u3042\u308b\u306e\u3067\u3001\u3082\u3046\u5c11\u3057\u30b1\u30fc\u30d6\u30eb\u4f5c\u308a\u3092\u3084\u3063\u3066\u884c\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p><insert datetime=2019-02-06>\u8ffd\u8a18: \u4f7f\u3048\u307e\u305b\u3093\u3067\u3057\u305f<\/insert><\/p>"},{"title":"zero memory allocation slice filtering","link":"https:\/\/blog.web-apps.tech\/zero-memory-allocation-slice-filtering\/","pubDate":"Mon, 04 Feb 2019 07:30:29 +0000","guid":"https:\/\/blog.web-apps.tech\/zero-memory-allocation-slice-filtering\/","description":"<p>\u6b21\u306e\u3088\u3046\u306b\u3001\u3042\u308b\u30b9\u30e9\u30a4\u30b9\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u95a2\u6570\u3092\u66f8\u304f\u3053\u3068\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">FilterFoo<\/span><span class=\"p\">(<\/span><span class=\"nx\">arr<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">e<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"k\">range<\/span><span class=\"w\"> <\/span><span class=\"nx\">arr<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nf\">IsFoo<\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"nb\">append<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u7c21\u5358\u306a\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u66f8\u304f\u3068\u308f\u304b\u308b\u3088\u3046\u306b\u3001\u3053\u306e\u95a2\u6570\u306f\u8fd4\u5024\u3068\u306a\u308b\u30b9\u30e9\u30a4\u30b9\u306e\u9577\u3055+1\u56de\u306e\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3044\u307e\u3059\u3002\u4e00\u822c\u306b\u3001\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u56de\u6570\u306f\u5c11\u306a\u3044\u65b9\u304c\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u3088\u304f\u3001\u53ef\u80fd\u306a\u3089\u3070\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u56de\u65700\u3092\u76ee\u6307\u3057\u305f\u3044\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306e\u5834\u5408\u3001\u6b21\u306e\u3088\u3046\u306b\u66f8\u304f\u3068\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u56de\u65700\u56de\u306e\u95a2\u6570\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><ins datetime=2019-02-05><em>\u8ffd\u8a18<\/em>\n<code>b := arr[:0]<\/code>\u3068\u3059\u308b\u3068\u3001\u57fa\u5e95\u914d\u5217\u306b\u5f71\u97ff\u304c\u51fa\u308b\u306e\u3067\u4e00\u6982\u306b\u6bd4\u8f03\u3067\u304d\u306a\u3044\u3001\u3068\u3054\u6307\u6458\u3092\u53d7\u3051\u307e\u3057\u305f\u3002\u5b9f\u969b\u306b\u4f7f\u7528\u3059\u308b\u969b\u306f\u526f\u4f5c\u7528\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u3053\u306e\u3084\u308a\u304b\u305f\u3063\u3066\u5f15\u6570\u306b\u526f\u4f5c\u7528\u3042\u308b\u306e\u3067\u3001\u308f\u304b\u3063\u3066\u306a\u3044\u3067\u4f7f\u3046\u3068\u5371\u306a\u3044\u3088\u3046\u306a\u2026<a href=\"https:\/\/t.co\/iKXrXHUD3N\">https:\/\/t.co\/iKXrXHUD3N<\/a> <a href=\"https:\/\/t.co\/CMrAYGJrdA\">https:\/\/t.co\/CMrAYGJrdA<\/a><\/p>&mdash; Yoichiro Shimizu (@budougumi0617) <a href=\"https:\/\/twitter.com\/budougumi0617\/status\/1092566248242569216?ref_src=twsrc%5Etfw\">February 4, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">append \u306f\u5f15\u6570\u3092\u5f04\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u52d5\u4f5c\u304c\u7570\u306a\u308a\u307e\u3059\u306d\u3002 \/ \u201czero memory allocation slice filtering\u201d <a href=\"https:\/\/t.co\/JFFDJlfIQA\">https:\/\/t.co\/JFFDJlfIQA<\/a><\/p>&mdash; mattn (@mattn_jp) <a href=\"https:\/\/twitter.com\/mattn_jp\/status\/1092581160339726336?ref_src=twsrc%5Etfw\">February 5, 2019<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<p><em>\u8ffd\u8a18\u7d42\u308f\u308a<\/em><\/ins><\/p>"},{"title":"Majextand","link":"https:\/\/blog.web-apps.tech\/majextand\/","pubDate":"Mon, 28 Jan 2019 08:55:49 +0000","guid":"https:\/\/blog.web-apps.tech\/majextand\/","description":"<p>\u30e9\u30c3\u30d7\u30c8\u30c3\u30d7\u30b9\u30bf\u30f3\u30c9\u3001\u3068\u3044\u3046\u3082\u306e\u3092\u3054\u5b58\u77e5\u3067\u3057\u3087\u3046\u304b\u3002\u3044\u308f\u3086\u308b\u30ce\u30fc\u30c8PC\u3092\u50be\u3051\u305f\u308a\u3001\u9ad8\u3055\u3092\u5909\u3048\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u30a2\u30a4\u30c6\u30e0\u3067\u3059\u3002\u6298\u308a\u305f\u305f\u307f\u304c\u3067\u304d\u308b\u3082\u306e\u3084\u3001PC\u306b\u8cbc\u308a\u4ed8\u3051\u308b\u5c0f\u578b\u306e\u3082\u306e\u306a\u3093\u304b\u3082\u3042\u308a\u307e\u3059\u3002\n\u8cbc\u308a\u4ed8\u3051\u578b\u306e\u3082\u306e\u3068\u3057\u3066\u306f\u3001<a href=\"https:\/\/amzn.to\/2CRmzAv\" target=\"_blank\" rel=\"noopener\">Kickflip<\/a>\n\u304c\u4eba\u6c17\u3067\u3059\u3002\n\u4eca\u56de\u7d39\u4ecb\u3059\u308b\u306e\u3082\u8cbc\u308a\u4ed8\u3051\u578b\u3067\u3001\u305d\u306e\u540d\u3082<a href=\"https:\/\/amzn.to\/2CNbNeD\" target=\"_blank\" rel=\"noopener\">Majextand<\/a>\n\u3068\u3044\u3044\u307e\u3059\u3002\n\u7279\u5fb4\u3068\u3057\u3066\u306f\u3068\u306b\u304b\u304f\u8584\u3044\u3002\u305d\u3057\u3066\u305d\u306e\u8584\u3055\u306b\u3082\u95a2\u308f\u3089\u305a\u30016\u6bb5\u968e\u306e\u9ad8\u3055\u8abf\u6574\u304c\u3067\u304d\u308b\u3001\u3068\u3044\u3046\u70b9\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/package_hu_5a9573fe260553ac.jpg\" alt=\"package\" \/>\n\u307e\u305a\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u3002\u3059\u3063\u304d\u308a\u3068\u3057\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\u5546\u54c1\u540d\u3092gg\u3063\u3066\u51fa\u3066\u304f\u308b\u30d6\u30ed\u30b0\u306b\u63b2\u8f09\u3055\u308c\u305f\u5199\u771f\u3067\u306f\u4f55\u3084\u3089\u7b46\u6587\u5b57\u3067\u66f8\u304b\u308c\u3066\u3044\u308b\u3088\u3046\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u898b\u3089\u308c\u307e\u3059\u304c\u3001\u73fe\u884c\u54c1\u3067\u306f\u306a\u304f\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/P_20190127_163214_hu_bea996b796076745.jpg\" alt=\"package_2\" \/>\n\u88cf\u9762\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30b9\u30bf\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u753b\u9762\u3092\u9ad8\u304f\u3059\u308b\u3053\u3068\u3067\u732b\u80cc\u3092\u9632\u304e\u3001\u981a\u690e\u306e\u59ff\u52e2\u3092\u6b63\u3057\u307e\u3059\u3002\u307e\u305f\u300118\u30a4\u30f3\u30c1\u4ee5\u4e0b\u306e\u30e9\u30c3\u30d7\u30c8\u30c3\u30d7\u3067\u3042\u308c\u3070\u57fa\u672c\u7684\u306b\u306f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u975e\u5e38\u306b\u8584\u3044\u305f\u3081\u3001\u30a4\u30f3\u30ca\u30fc\u30b1\u30fc\u30b9\u306a\u3069\u306b\u5165\u308c\u308b\u5834\u5408\u306b\u3082\u5f15\u3063\u304b\u304b\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/P_20190127_163242_hu_2b87ec2f4ebd8ca.jpg\" alt=\"package_3\" \/>\n\u30d1\u30c3\u30b1\u30fc\u30b8\u81ea\u4f53\u306b\u30c6\u30fc\u30d7\u306a\u3069\u306f\u4f7f\u7528\u3055\u308c\u3066\u304a\u3089\u305a\u3001Majextand\u672c\u4f53\u3068\u540c\u3058\u3088\u3046\u306b\u5f15\u304d\u51fa\u3059\u5f62\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u81ea\u4f53\u304c\u672c\u4f53\u3068\u540c\u3058\u3088\u3046\u306a\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u7d20\u6575\u306a\u611f\u3058\u304c\u3057\u307e\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/P_20190127_163336_hu_e37445e857a184a5.jpg\" alt=\"majextand_1\" \/>\n\u672c\u4f53\u3092\u53d6\u308a\u51fa\u3057\u307e\u3057\u305f\u3002\u975e\u5e38\u306b\u8584\u304f\u3001\u5207\u308c\u76ee\u304c\u5165\u3063\u305f\u305f\u3060\u306e\u9244\u677f\u3068\u8a00\u308f\u308c\u3066\u3082\u4fe1\u3058\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u3059\u3002\u6e2c\u3063\u3066\u306f\u3044\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u4ed6\u306e\u30ec\u30d3\u30e5\u30fc\u8a18\u4e8b\u306b\u3088\u308b\u3068\u3060\u3044\u305f\u304410\u5186\u7389\u3068\u540c\u3058\u539a\u3055\u3068\u306e\u3053\u3068\u3002\u8584\u3044\u3002\n\u3057\u304b\u3057\u3001\u8584\u3055\u306b\u5bfe\u3057\u3066\u3001\u82e5\u5e72\u91cd\u3044\u6c17\u306f\u3057\u307e\u3059\u3002\u30b9\u30bf\u30f3\u30c9\u3068\u3044\u3046\u7528\u9014\u3067\u3059\u304b\u3089\u3001\u5f37\u5ea6\u3092\u78ba\u4fdd\u3059\u308b\u306b\u306f\u4ed5\u65b9\u306a\u3044\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/P_20190127_163346_hu_e4006fd7822975fc.jpg\" alt=\"majextand_2\" \/>\n\u3053\u306e\u3088\u3046\u306b\u5f15\u304d\u51fa\u3057\u3066\u4f7f\u3044\u307e\u3059\u3002(\u672c\u5f53\u306f\u624b\u524d\u3092\u307e\u305a\u5f15\u304d\u51fa\u3057\u3066\u3001\u5965\u5074\u306f\u9ad8\u3055\u8abf\u6574\u306e\u305f\u3081\u306b\u4f7f\u3046)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/majextand\/images\/P_20190127_165642_hu_77da7e0869447e0c.jpg\" alt=\"majextand_3\" \/>\nMacBook Pro (13-inch, 2018)\u306e\u30b9\u30da\u30fc\u30b9\u30b0\u30ec\u30fc\u306e\u5e95\u9762\u306b\u8cbc\u308a\u4ed8\u3051\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3002\u4e21\u9762\u30c6\u30fc\u30d7\u306f\u975e\u5e38\u306b\u5f37\u304f\u3001\u610f\u56f3\u7684\u306b\u5265\u304c\u3055\u306a\u3051\u308c\u3070\u5265\u304c\u308c\u3066\u3057\u307e\u3046\u3068\u3044\u3046\u3053\u3068\u306f\u306a\u3055\u305d\u3046\u3067\u3059\u3002\n\u4eca\u56de\u8cfc\u5165\u3057\u305fMajextand\u306f\u30b0\u30ec\u30fc\u3067\u3001MacBook\u306e\u30b9\u30da\u30fc\u30b9\u30b0\u30ec\u30fc\u3068\u306f\u82e5\u5e72\u8272\u5473\u304c\u9055\u3044\u307e\u3059\u304c\u3001\u3059\u3054\u304f\u76ee\u7acb\u3064\u3068\u3044\u3046\u3053\u3068\u306f\u306a\u304f\u3001\u5b89\u5fc3\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u8cfc\u5165\u3057\u305f\u3070\u304b\u308a\u3067\u307e\u3060\u6d3b\u7528\u3067\u304d\u3066\u3044\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u304b\u3089\u4f7f\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>"},{"title":"\u5e74\u8d8a\u3057\u9d28\u5357\u86ee","link":"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/","pubDate":"Sat, 19 Jan 2019 05:27:16 +0000","guid":"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/","description":"<p>\u3082\u30461\u6708\u3082\u534a\u3070\u3092\u904e\u304e\u3001\u307e\u3082\u306a\u304f2\u6708\u304c\u6765\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u4eca\u66f4\u611f\u3092\u62ed\u3046\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u8a71\u984c\u306a\u306e\u3067\u3059\u304c\u30012018\u5e74\u672b(\u5b9f\u306f\u6642\u9593\u7684\u306b\u306f\u5e74\u304c\u660e\u3051\u3066\u3044\u305f\u304c)\u306b\u5e74\u8d8a\u3057\u305d\u3070\u3068\u3057\u3066\u9d28\u5357\u86ee\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3055\u3066\u3001\u9d28\u5357\u86ee\u306a\u306e\u3067\u9d28\u8089\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u56de\u306f<a href=\"https:\/\/builderscon.io\" target=\"_blank\" rel=\"noopener\">builderscon<\/a>\n\u306e\u8089\u4f1a\u306a\u3069\u3067\u304a\u4e16\u8a71\u306b\u306a\u3063\u3066\u3044\u308b<a href=\"https:\/\/www.themeatguy.jp\/ja\/\" target=\"_blank\" rel=\"noopener\">\u30df\u30fc\u30c8\u30ac\u30a4<\/a>\n\u3055\u3093\u304b\u3089<a href=\"https:\/\/www.themeatguy.jp\/ja\/d002.html\" target=\"_blank\" rel=\"noopener\">\u9d28\u306e\u80f8\u8089<\/a>\n\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/65D353F9-A9FD-47C3-B668-9C2187DE6265-1_hu_2a2c7b18b5a69b52.jpg\" alt=\"65D353F9-A9FD-47C3-B668-9C2187DE6265-1\" \/>\n\u3053\u3061\u3089\u304c\u56de\u7b54\u3057\u305f\u9d28\u8089\u3092Anova\u3067\u3084\u3063\u305f\u3084\u3064\u3067\u3059\u3002\u6e29\u5ea6\u306f\u5fd8\u308c\u305f\u3093\u3067\u3059\u304c\u3001\u5927\u4f531~2\u6642\u9593\u304f\u3089\u3044\u3084\u3063\u305f\u3084\u3064\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/FAA9912D-0EA6-4E9E-A5A5-8A5560D26F7A_hu_e74ff4e617b6b12c.jpg\" alt=\"FAA9912D-0EA6-4E9E-A5A5-8A5560D26F7A\" \/>\n\u8efd\u304f\u5869\u3092\u3057\u305f\u5f8c\u3001\u71b1\u3057\u305f\u30d5\u30e9\u30a4\u30d1\u30f3\u3067\u713c\u304d\u76ee\u3092\u3064\u3051\u3066\u3044\u304d\u307e\u3059\u3002\u76ae\u3092\u4e0b\u306b\u3057\u3066\u3001\u9ad8\u3081\u306e\u6e29\u5ea6\u3067\u3055\u3063\u3068\u3084\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/4DB89241-70A4-4DE2-B504-0002B24C59CF_hu_8013807027b20a62.jpg\" alt=\"4DB89241-70A4-4DE2-B504-0002B24C59CF\" \/>\n\u713c\u304d\u76ee\u3092\u3064\u3051\u305f\u9d28\u8089\u3067\u3059\u3002\u3044\u3044\u8272\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/9204407A-C125-4EE4-A3DB-D7782D468D2C_hu_37717e0a9c42e881.jpg\" alt=\"9204407A-C125-4EE4-A3DB-D7782D468D2C\" \/>\n\u6cb9\u304c\u305f\u304f\u3055\u3093\u51fa\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/91CA617A-F212-4EDC-BF36-C9E200797540_hu_ddb213c4cda990c6.jpg\" alt=\"91CA617A-F212-4EDC-BF36-C9E200797540\" \/>\n\u9d28\u304b\u3089\u51fa\u305f\u6cb9\u3067\u30cd\u30ae\u3092\u713c\u304d\u307e\u3057\u3087\u3046<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/8CD6FB38-023B-49D9-A306-AB7976FF40DA_hu_3042ff3553c100e7.jpg\" alt=\"8CD6FB38-023B-49D9-A306-AB7976FF40DA\" \/>\n\u30cd\u30ae\u3092\u713c\u3044\u3066\u3044\u308b\u9593\u306b\u9d28\u3092\u5207\u308a\u307e\u3059\u3002\u5e78\u305b\u306e\u305f\u3081\u5c11\u3057\u539a\u5207\u308a\u306b\u3057\u307e\u3057\u305f\u304c\u3001\u9d28\u306f\u3059\u3053\u3057\u8584\u3081\u3067\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/images\/A8BD9816-5A62-4776-B407-DF886C5677F8-1_hu_ce4ec685f388fadf.jpg\" alt=\"A8BD9816-5A62-4776-B407-DF886C5677F8-1\" \/>\n\u6700\u5f8c\u306b\u305d\u3070\u306e\u4e0a\u306b\u76db\u308a\u4ed8\u3051\u3066\u5b8c\u6210\u3002\u3046\u307e\u3044\u3002<\/p>"},{"title":"jessevdk\/go-assets\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u57cb\u3081\u8fbc\u3080","link":"https:\/\/blog.web-apps.tech\/jessevdk-go-assets\/","pubDate":"Thu, 17 Jan 2019 07:47:13 +0000","guid":"https:\/\/blog.web-apps.tech\/jessevdk-go-assets\/","description":"<p>Go\u8a00\u8a9e\u306e\u7d20\u6575\u306a\u3068\u3053\u308d\u306e\u4e00\u3064\u3068\u3057\u3066\u3001\u6700\u7d42\u7684\u306a\u6210\u679c\u7269\u30921\u30d0\u30a4\u30ca\u30ea\u306b\u53ce\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3001\u3068\u3044\u3046\u70b9\u306b\u3042\u308b\u3068\u601d\u3046\u3002\u7d50\u679c\u3068\u3057\u3066\u3001\u975e\u5e38\u306b\u7c21\u5358\u306b\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u306a\u3069\u3092\u914d\u5e03\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\n\u3057\u304b\u3057\u3001\u4f8b\u3048\u3070\u30b3\u30fc\u30c9\u751f\u6210\u3092\u884c\u3046\u3088\u3046\u306a\u30c4\u30fc\u30eb\u3067\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u5225\u9014\u6301\u3063\u3066\u3044\u308b\u3088\u3046\u306a\u5834\u5408\u3084\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e2d\u3067\u4f7f\u3046\u753b\u50cf\u306a\u3069\u3092\u542b\u3080\u5834\u5408\u306a\u3069\u3001Go\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u4ee5\u5916\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5fc5\u8981\u3068\u3059\u308b\u5834\u5408\u3001\u5168\u3066\u30921\u30d5\u30a1\u30a4\u30eb\u3067\u3001\u3068\u306f\u3044\u304b\u306a\u3044\u3002<\/p>\n<p>\u305d\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u4fbf\u5229\u306a\u306e\u304c<a href=\"https:\/\/github.com\/jessevdk\/go-assets\" target=\"_blank\" rel=\"noopener\">jessevdk\/go-assets<\/a>\n\u3067\u3042\u308b\u3002\u4ee5\u524d\u306f\u591a\u304f\u306e\u4eba\u304cgo-bindata\u3092\u4f7f\u7528\u3057\u3066\u3044\u305f\u3068\u601d\u308f\u308c\u308b\u304c\u3001\u4f5c\u8005\u304c\u3084\u3081\u3066\u3057\u307e\u3063\u305f\u305f\u3081\u3001\u4f7f\u3048\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u3002\u4ee3\u66ff\u3068\u3057\u3066\u3053\u308c\u304c\u4fbf\u5229\u3002\njessevdk\/go-assets\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u307e\u305a<a href=\"https:\/\/gibhut.com\/jessevdk\/go-assets-builder\" target=\"_blank\" rel=\"noopener\">jessevdk\/go-assets-builder<\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u3002\u3053\u308c\u306f\u3001\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092Go\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u57cb\u3081\u8fbc\u3093\u3067\u3001\u305d\u308c\u3089\u3092\u6271\u3046\u305f\u3081\u306e<code>Assets<\/code>\u3068\u3044\u3046\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u308c\u308b\u30c4\u30fc\u30eb\u3067\u3042\u308b\u3002<\/p>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u7c21\u5358\u3067\u3001<code>go get<\/code>\u3059\u308b\u3060\u3051\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ go get github.com\/jessevdk\/go-assets-builder\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u3089\u3001\u6b21\u306e\u3088\u3046\u306b\u4f7f\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ ls assets\/\n<\/span><\/span><span class=\"line\"><span class=\"cl\">foo.html.tmpl bar.png\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ go-assets-builder assets -o assets.go\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3059\u308b\u3068\u3001<code>assets<\/code>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5185\u5bb9\u304c\u57cb\u3081\u8fbc\u307e\u308c\u305f<code>assets.go<\/code>\u304c\u751f\u6210\u3055\u308c\u308b\u3002\u4eca\u56de\u306f\u7279\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3092\u6307\u5b9a\u3057\u3066\u3044\u306a\u3044\u306e\u3066\u3001<code>package main<\/code>\u3068\u3057\u3066\u4f5c\u6210\u3055\u308c\u305f\u3002\u5fc5\u8981\u306a\u3089<code>-p<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002\n\u751f\u6210\u3055\u308c\u305f\u3042\u3068\u306f\u3001\u5b9f\u969b\u306b\u4f7f\u3044\u305f\u3044\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u5185\u3067\u6b21\u306e\u3088\u3046\u306b\u4f7f\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">f<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">Assets<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;\/assets\/foo.html.tmpl&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ in production, need to handle error<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">f<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ Do something with f<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u3053\u3067\u4f5c\u6210\u3055\u308c\u305f<code>f<\/code>\u306f<code>os.File<\/code>\u3068\u540c\u3058\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5099\u3048\u3066\u3044\u308b\u3002\u8981\u3059\u308b\u306b\u3001<code>os.Open<\/code>\u3092\u4f7f\u7528\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u3088\u3046\u306b\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n<p>\u307e\u305f\u3001<code>Assets<\/code>\u3068\u3044\u3046\u5909\u6570\u3092\u5225\u306b\u4f7f\u3044\u305f\u3044\u3068\u304d\u306f\u3001go-assets-builder\u3067\u30d1\u30c3\u30ad\u30f3\u30b0\u3059\u308b\u3068\u304d\u306b<code>-v<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u5909\u6570\u540d\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5168\u4f53\u3067\u306f\u306a\u304f\u3001\u500b\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002<\/p>"},{"title":"\u304d\u3061\u3093\u3068\u3084\u308bnet\/http","link":"https:\/\/blog.web-apps.tech\/net-http-for-valid\/","pubDate":"Tue, 08 Jan 2019 07:31:50 +0000","guid":"https:\/\/blog.web-apps.tech\/net-http-for-valid\/","description":"<p>\u7686\u3055\u3093\u3001<code>net\/http<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\uff1f\nGo\u8a00\u8a9e\u306e\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3042\u308b<code>net\/http<\/code>\u306fPython\u306a\u3069\u306e\u6a19\u6e96HTTP\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u6bd4\u3079\u3001\u4eba\u9593\u306b\u3068\u3063\u3066\u3082\u53d6\u308a\u6271\u3044\u304c\u3057\u3084\u3059\u3044\u305f\u3081\u3001\u305d\u306e\u307e\u307e\u4f7f\u7528\u3057\u3066\u3044\u308b\u65b9\u304c\u591a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\u3002\n\u3057\u304b\u3057\u3001\u3053\u306e<code>net\/http<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u7c21\u5358\u306b\u4f7f\u3048\u308b\u3088\u3046\u306b\u898b\u3048\u3066\u7d50\u69cb\u843d\u3068\u3057\u7a74\u304c\u591a\u3044\u306e\u3067\u3059\u3002<\/p>\n<h2 id=\"1-response-body\u306f\u30af\u30ed\u30fc\u30ba\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\">1. Response Body\u306f\u30af\u30ed\u30fc\u30ba\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b<\/h2>\n<p>\u6b21\u306e\u30b3\u30fc\u30c9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">resp<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Get<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;https:\/\/example.com\/api&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"nx\">T<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">json<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewDecoder<\/span><span class=\"p\">(<\/span><span class=\"nx\">resp<\/span><span class=\"p\">.<\/span><span class=\"nx\">Body<\/span><span class=\"p\">).<\/span><span class=\"nf\">Decode<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">t<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">t<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u306a\u3069\u3067\u3088\u304f\u66f8\u304d\u305d\u3046\u306a\u51e6\u7406\u3067\u3059\u306d\u3002\u4f55\u3082\u554f\u984c\u306a\u3044\u3068\u601d\u3044\u307e\u3057\u305f\u304b\uff1f\n<a href=\"https:\/\/golang.org\/pkg\/net\/http\/#Response.Body\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<blockquote>\n<p>It is the caller&rsquo;s responsibility to close Body.<\/p>\n<\/blockquote>\n<p>Body\u3092\u30af\u30ed\u30fc\u30ba\u3059\u308b\u306e\u306f\u95a2\u6570\u3092\u547c\u3093\u3060\u4eba\u306e\u8cac\u4efb\u3001\u3068\u3042\u308a\u307e\u3059\u3002\u305d\u3046\u3067\u3059\u3002<code>Response.Body<\/code>\u306f <code>Close()<\/code>\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u306e\u3067\u3059\u3002\u3061\u3083\u3093\u3068\u30af\u30ed\u30fc\u30ba\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u6b21\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3067keepalive\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u306e\u518d\u5229\u7528\u304c\u3055\u308c\u305a\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u60aa\u5316\u3084\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u30ea\u30fc\u30af\u3092\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"2-response-body\u3092\u6700\u5f8c\u307e\u3067\u8aad\u3080\">2. Response Body\u3092\u6700\u5f8c\u307e\u3067\u8aad\u3080<\/h2>\n<p>Response Body\u3092\u304d\u3061\u3093\u3068\u30af\u30ed\u30fc\u30ba\u3059\u308b\u3088\u3046\u306b\u4fee\u6b63\u3057\u305f\u30b3\u30fc\u30c9\u304c\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">resp<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">Get<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;https:\/\/example.com\/api&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">resp<\/span><span class=\"p\">.<\/span><span class=\"nx\">Body<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"nx\">T<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">json<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewDecoder<\/span><span class=\"p\">(<\/span><span class=\"nx\">resp<\/span><span class=\"p\">.<\/span><span class=\"nx\">Body<\/span><span class=\"p\">).<\/span><span class=\"nf\">Decode<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">t<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">t<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>defer<\/code>\u3092\u4f7f\u3046\u3053\u3068\u3067\u304d\u3061\u3093\u3068\u30af\u30ed\u30fc\u30ba\u3067\u304d\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\n\u3055\u3066\u3001\u554f\u984c\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\uff1f\u3044\u3044\u3048\u3001\u3053\u308c\u3060\u3051\u3060\u3068\u307e\u3060keepalive\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u306e\u518d\u5229\u7528\u304c\u3055\u308c\u306a\u3044\u6050\u308c\u304c\u3042\u308a\u307e\u3059\u3002<\/p>"},{"title":"git\u306b\u3082alias\u306e\u6307\u5b9a\u304c\u3067\u304d\u308b\u4ef6","link":"https:\/\/blog.web-apps.tech\/git-aliases\/","pubDate":"Wed, 12 Dec 2018 06:16:37 +0000","guid":"https:\/\/blog.web-apps.tech\/git-aliases\/","description":"<h2 id=\"tldr\">tl;dr<\/h2>\n<ul>\n<li><code>.gitconfig<\/code>\u306b\u3082alias\u306e\u767b\u9332\u304c\u3067\u304d\u308b\n<ul>\n<li><code>[alias]<\/code>\u30d6\u30ed\u30c3\u30af\u306balias\u3092\u767b\u9332\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n<li><code>tags<\/code>\u3067\u5358\u6570\u30fb\u8907\u6570\u306e\u60a9\u307f\u3092\u89e3\u6d88\u3059\u308b<\/li>\n<li><code>discard<\/code>\u3067\u5909\u66f4\u3092\u53d6\u308a\u6d88\u3059<\/li>\n<li><code>unstage<\/code>\u3067add\u3092\u53d6\u308a\u6d88\u3059<\/li>\n<li><code>uncommit<\/code>\u3067commit\u3092\u53d6\u308a\u6d88\u3059<\/li>\n<li><code>ignore<\/code>\u3067<code>.gitignore<\/code>\u3092\u751f\u6210\u3059\u308b<\/li>\n<\/ul>\n<h2 id=\"git-aliases\">git aliases<\/h2>\n<p>\u3053\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/qiita.com\/advent-calendar\/2018\/yumemi01_one-liner\" target=\"_blank\" rel=\"noopener\">\u4eca\u3059\u3050alias\u767b\u9332\u3059\u3079\u304d\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc by \u3086\u3081\u307f\u2460 Advent Calendar 2018<\/a>\n\u306e6\u65e5\u76ee\u306e\u7a74\u57cb\u3081\u8a18\u4e8b\u3067\u3059\u3002\n\u3053\u3061\u3089\u306e\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306f\u4eca\u3059\u3050alias\u767b\u9332\u3079\u304d\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u307f\u306a\u3055\u3093<code>.bashrc<\/code>\u3084<code>.zshrc<\/code>\u306ealias\u306b\u3064\u3044\u3066\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3089\u3063\u3057\u3083\u3044\u307e\u3059\u304c\u3001\u5b9f\u306f<code>.gitconfig<\/code>\u3068\u3044\u3046\u3001<code>git<\/code>\u30b3\u30de\u30f3\u30c9\u306e\u8a2d\u5b9a\u3092\u66f8\u3044\u3066\u304a\u304f\u30d5\u30a1\u30a4\u30eb\u306b\u3082alias\u306e\u6307\u5b9a\u304c\u3067\u304d\u307e\u3059\u3002\n\u8ab0\u3082shell\u306ealias\u3068\u306f\u8a00\u3063\u3066\u306a\u3044\uff01(\u30fb\u30fb\u30fb\u306f\u305a)\u306e\u3067\u3001\u3044\u304f\u3064\u304b<code>.gitconfig<\/code>\u7528\u306b\u4fbf\u5229\u306aalias\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046<\/p>\n<h3 id=\"alias\u306e\u767b\u9332\u65b9\u6cd5\">alias\u306e\u767b\u9332\u65b9\u6cd5<\/h3>\n<p><code>.gitconfig<\/code>\u306f\u57fa\u672c\u7684\u306bini\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u6b21\u306e\u3088\u3046\u306b\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[alias]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">aliasname1<\/span> <span class=\"o\">=<\/span> <span class=\"s\">some command 1st<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">aliasname2<\/span> <span class=\"o\">=<\/span> <span class=\"s\">some command 2nd<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u7c21\u5358\u3067\u3059\u306d\uff1f <code>[alias]<\/code>\u3068\u3044\u3046\u30d6\u30ed\u30c3\u30af\u3092\u4f5c\u6210\u3057\u3001alias\u540d=\u30b3\u30de\u30f3\u30c9\u306e\u5f62\u3067\u8a18\u8ff0\u3057\u307e\u3059\u3002\n\u3053\u306e\u3068\u304d\u30b3\u30de\u30f3\u30c9\u306f<code>git xxx<\/code>\u306e\u5f62\u3067\u5b9f\u884c\u3055\u308c\u308b\u3001<code>xxx<\/code>\u306e\u90e8\u5206\u306e\u307f\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[alias]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">stat<\/span> <span class=\"o\">=<\/span> <span class=\"s\">git status<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3068\u6307\u5b9a\u3059\u308b\u3068\u5b9f\u969b\u306e\u5b9f\u884c\u6642\u306b\u306f<code>git git status<\/code>\u3068\u3044\u3046\u5f62\u3067\u5b9f\u884c\u3055\u308c\u3066\u3057\u307e\u3044\u30a8\u30e9\u30fc\u306b\u306a\u308b\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002\n<code>git<\/code>\u306e\u3064\u304b\u306a\u3044\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306f\u982d\u306b<code>!<\/code>\u3092\u3064\u3051\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[alias]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">ls<\/span> <span class=\"o\">=<\/span> <span class=\"s\">!ls<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306b\u8a18\u8f09\u3059\u308b\u3068\u3001<code>git ls<\/code>\u3067<code>ls<\/code>\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n<h3 id=\"git-tags\"><code>git tags<\/code><\/h3>\n<p><code>git tag<\/code>\u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u304c\u3042\u308a\u307e\u3057\u3066\u3002\u307e\u3041\u307f\u306a\u3055\u3093\u3054\u5b58\u77e5\u3067\u3057\u3087\u3046\u304c\u3001tag\u306e\u4e00\u89a7\u3092\u51fa\u3057\u305f\u308a\u3001\u65b0\u3057\u3044tag\u3092\u4f5c\u3063\u305f\u308a\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3067\u3059\u3002\u3053\u308c\u5358\u4f53\u3067\u306f\u7279\u306b\u554f\u984c\u304c\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u30ea\u30e2\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u3068\u5408\u308f\u305b\u3066\u4f7f\u3046\u3068\u3001\u3061\u3087\u3063\u3068\u60a9\u307f\u304c\u767a\u751f\u3057\u307e\u3059\u3002\n<code>git tag<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u30bf\u30b0\u3092\u3064\u3051\u305f\u5f8c\u3001\u30ea\u30e2\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306bpush\u3059\u308b\u3068\u304d\u306e\u30b3\u30de\u30f3\u30c9\u306f<code>git push --tags<\/code>\u3067\u3059\u3002\u3053\u308c\u306ftag\u3092\u307e\u3068\u3081\u3066push\u3059\u308b\u306e\u3067\u3001\u8907\u6570\u5f62\u306a\u3093\u3067\u3057\u3087\u3046\u3002\u3057\u304b\u3057\u3067\u3059\u3002tag\u306e\u4e00\u89a7\u3092\u51fa\u3059\u3068\u304d\u306b\u4f7f\u3046\u306e\u3082<code>git tag<\/code>\u3068\u5358\u6570\u5f62\u306a\u3093\u3067\u3059\u306d\u3002\n\u3064\u3044\u3064\u3044<code>git tags<\/code>\u3068\u6253\u3063\u3066\u3057\u307e\u3044\u307e\u305b\u3093\u304b\uff1f<\/p>\n<p>\u305d\u3093\u306a\u3042\u306a\u305f\u306f\u3053\u3093\u306aalias\u3092\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[alias]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">tags<\/span> <span class=\"o\">=<\/span> <span class=\"s\">tag<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5730\u5473\u3067\u3059\u304c\u3001\u3053\u308c\u3067\u5358\u6570\u5f62\u304b\u8907\u6570\u5f62\u304b\u60a9\u307e\u305a\u306b\u6e08\u307f\u307e\u3059\u3002<\/p>"},{"title":"git repository\u306e\u521d\u671f\u5316\u30eb\u30fc\u30c1\u30f3","link":"https:\/\/blog.web-apps.tech\/routine-make-git-repo\/","pubDate":"Fri, 07 Dec 2018 03:19:52 +0000","guid":"https:\/\/blog.web-apps.tech\/routine-make-git-repo\/","description":"<p>\u304a\u305d\u3089\u304f\u307f\u306a\u3055\u3093\u3082git repository\u3092\u4f5c\u308b\u6642\u3001\u6bce\u56de\u3060\u3044\u305f\u3044\u540c\u3058\u3088\u3046\u306a\u624b\u9806\u3067\u521d\u671f\u5316\u3092\u3059\u308b\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\n\u30e1\u30e2\u304c\u3066\u3089\u3001\u81ea\u5206\u306e\u521d\u671f\u5316\u30eb\u30fc\u30c1\u30f3\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059<\/p>\n<h2 id=\"tools\">tools<\/h2>\n<p>\u4f7f\u7528\u3057\u3066\u3044\u308b\u30c4\u30fc\u30eb\u306f\u4ee5\u4e0b\u306e\u901a\u308a:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/github\/hub\" target=\"_blank\" rel=\"noopener\"><code>hub<\/code><\/a>\n: <a href=\"https:\/\/github.com\/nasa9084\/dotfiles\/blob\/master\/.zshrc#L152\" target=\"_blank\" rel=\"noopener\"><code>.zshrc<\/code><\/a>\n\u3067<code>git<\/code>\u30b3\u30de\u30f3\u30c9\u306b\u30a8\u30a4\u30ea\u30a2\u30b9\u3092\u5f35\u3063\u3066\u307e\u3059<\/li>\n<li><a href=\"https:\/\/gitignore.io\" target=\"_blank\" rel=\"noopener\">gitignore.io<\/a>\n: <a href=\"https:\/\/blog.web-apps.tech\/gitignore-from-cli\/\">\u5148\u65e5\u8a18\u4e8b\u3092\u66f8\u3044\u305f\u3088\u3046\u306b<\/a>\n\u3001<code>git ignore<\/code>\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u4f7f\u3063\u3066\u307e\u3059<\/li>\n<li><a href=\"https:\/\/github.com\/nasa9084\/git-license\" target=\"_blank\" rel=\"noopener\">git-license<\/a>\n: \u81ea\u4f5c\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3067\u3059<\/li>\n<\/ul>\n<h2 id=\"routine\">routine<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># \u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u7528\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ mkdir new-repository\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> new-repository\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git init\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># GitHub\u4e0a\u306bnasa9084\/new-repository\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># hub\u30b3\u30de\u30f3\u30c9\u306e\u6a5f\u80fd<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git create\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># \u307e\u305a\u306f\u7a7a\u306e\u72b6\u614b\u3067\u521d\u56de\u30b3\u30df\u30c3\u30c8<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git commit -m <span class=\"s1\">&#39;initial commit&#39;<\/span> --allow-empty\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># .gitignore\u3092\u4f5c\u6210(\u4eca\u56de\u306fgo\u8a00\u8a9e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git ignore emacs,macos,go &gt; .gitignore\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git add .gitignore\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git commit -m <span class=\"s1\">&#39;add .gitignore for emacs,macos,go&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># LICENSE\u3092\u4f5c\u6210<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git license -u nasa9084 mit &gt; LICENSE\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git add LICENSE\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git commit -m <span class=\"s1\">&#39;add MIT License&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git push -u origin master\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u3053\u307e\u3067\u304c\u30eb\u30fc\u30c1\u30f3\u3067\u3001\u3053\u3053\u304b\u3089<code>Makefile<\/code>\u3092\u4f5c\u3063\u305f\u308a\u958b\u767a\u3057\u305f\u308a\u3057\u307e\u3059\u3002<\/p>"},{"title":"x\/crypto\/openpgp\u3067\u30c7\u30fc\u30bf\u3092\u6697\u53f7\u5316\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/x-crypto-openpgp\/","pubDate":"Mon, 26 Nov 2018 10:15:09 +0000","guid":"https:\/\/blog.web-apps.tech\/x-crypto-openpgp\/","description":"<p>OpenPGP\u306fPGP(Pretty Good Privacy)\u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f\u6697\u53f7\u5316\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u3059\u3002\nGo\u8a00\u8a9e\u3067\u3082<a href=\"https:\/\/godoc.org\/golang.org\/x\/crypto\/openpgp\" target=\"_blank\" rel=\"noopener\"><code>golang.org\/x\/crypto\/openpgp<\/code><\/a>\n\u3068\u3044\u3046\u6e96\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>PGP\u306f\u516c\u958b\u9375\u6697\u53f7\u3068\u3057\u3066\u30e1\u30fc\u30eb\u306e\u6697\u53f7\u5316\u7b49\u3067\u3088\u304f\u4f7f\u7528\u3055\u308c\u307e\u3059\u304c\u3001\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u7528\u3044\u305f\u5bfe\u79f0\u6697\u53f7\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u306e\u3067\u3001\u4eca\u56de\u306f\u3053\u3061\u3089\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li>\u6697\u53f7\u5316\u306b\u306f<code>SymmetricallyEncrypt()<\/code>\u3092\u4f7f\u7528\u3059\u308b<\/li>\n<li>\u5fa9\u53f7\u306b\u306f<code>ReadMessage()<\/code>\u3092\u4f7f\u7528\u3059\u308b\n<ul>\n<li><code>prompt<\/code>\u6b21\u7b2c\u3067\u7121\u9650\u30eb\u30fc\u30d7\u3059\u308b\u6050\u308c\u304c\u3042\u308b\u306e\u3067\u6ce8\u610f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"\u6697\u53f7\u5316\">\u6697\u53f7\u5316<\/h2>\n<p><code>x\/crypto\/openpgp<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u7528\u3044\u3066\u30d5\u30a1\u30a4\u30eb\u3092\u6697\u53f7\u5316\u3059\u308b\u306b\u306f\u3001<code>SymmetricallyEncrypt<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u30b7\u30b0\u30cd\u30c1\u30e3\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">SymmetricallyEncrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">ciphertext<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">passphrase<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">byte<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">hints<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">FileHints<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">config<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">packet<\/span><span class=\"p\">.<\/span><span class=\"nx\">Config<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">plaintext<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">WriteCloser<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u9806\u756a\u306b\u898b\u3066\u884c\u304d\u307e\u3059\u3002\u307e\u305a\u306f\u5f15\u6570\u304b\u3089\u3002<\/p>\n<p>\u7b2c\u4e00\u5f15\u6570\u3067\u3042\u308b<code>ciphertext<\/code>\u306b\u306f\u3001\u6697\u53f7\u5316\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u51fa\u529b\u3059\u308b<code>io.Writer<\/code>\u3092\u4e0e\u3048\u307e\u3059\u3002<code>*os.File<\/code>\u306a\u3069\u3092\u4e0e\u3048\u3066\u3082\u3044\u3044\u3067\u3059\u304c\u3001<code>*bytes.Buffer<\/code>\u306a\u3069\u3092\u4e0e\u3048\u3066\u305d\u306e\u5f8c<code>*os.File<\/code>\u306b\u30b3\u30d4\u30fc\u3059\u308b\u65b9\u304c\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u53ef\u8aad\u306a\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u306a\u304f\u3001\u30d0\u30a4\u30c8\u5217\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u7b2c\u4e8c\u5f15\u6570\u306e<code>passphrase<\/code>\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u4e0e\u3048\u307e\u3059\u3002<\/p>\n<p>\u7b2c\u4e09\u5f15\u6570\u306e<code>hints<\/code>\u306b\u306f\u6697\u53f7\u5316\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u306a\u3069\u3092\u542b\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001\u5358\u7d14\u306b<code>nil<\/code>\u3092\u4e0e\u3048\u3066\u3082\u826f\u3044\u3067\u3059\u3002<\/p>\n<p>\u7b2c\u56db\u5f15\u6570\u306e<code>config<\/code>\u3067\u6697\u53f7\u5316\u65b9\u5f0f\u3084\u4e71\u6570\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u30bd\u30fc\u30b9\u3001\u5727\u7e2e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306a\u3069\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u8a2d\u5b9a\u3057\u306a\u3051\u308c\u3070\u4e71\u6570\u3068\u3057\u3066<code>crypto\/rand.Reader<\/code>\u304c\u3001\u30cf\u30c3\u30b7\u30e5\u95a2\u6570\u3068\u3057\u3066SHA-256\u304c\u3001\u6697\u53f7\u5316\u95a2\u6570\u3068\u3057\u3066AES-128\u304c\u3001\u73fe\u5728\u6642\u523b\u3068\u3057\u3066<code>time.Now<\/code>\u304c\u3001RSA\u306e\u30d3\u30c3\u30c8\u6570\u3068\u3057\u30662048\u304c\u305d\u308c\u305e\u308c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u5727\u7e2e\u306f\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u8fd4\u308a\u5024\u306f\u4e8c\u5024\u3067\u3001<code>io.WriteCloser<\/code>\u3068<code>error<\/code>\u3067\u3059\u3002\u8fd4\u308a\u5024\u306e<code>io.WriteCloser<\/code>\u306b\u6697\u53f7\u5316\u3057\u305f\u3044\u5185\u5bb9\u3092\u66f8\u304d\u8fbc\u3080\u3053\u3068\u3067\u6697\u53f7\u5316\u304c\u884c\u308f\u308c\u307e\u3059\u3002\u5fc5\u305a<code>Close<\/code>\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3 id=\"\u4f7f\u7528\u4f8b\">\u4f7f\u7528\u4f8b<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">encrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">in<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Reader<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">passphrase<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">byte<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ omit error handling<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">openpgp<\/span><span class=\"p\">.<\/span><span class=\"nf\">SymmetricallyEncrypt<\/span><span class=\"p\">(<\/span><span class=\"nx\">out<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">passphrase<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nf\">Copy<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">in<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u5fa9\u53f7\">\u5fa9\u53f7<\/h2>\n<p>\u6697\u53f7\u5316\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5fa9\u53f7\u3059\u308b\u306b\u306f\u3001<code>ReadMessage<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002Decrypt\u301c\u306e\u3088\u3046\u306a\u95a2\u6570\u3067\u306f\u306a\u3044\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3057\u3087\u3046\u3002\u95a2\u6570\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"Generator Pattern","link":"https:\/\/blog.web-apps.tech\/generator-pattern\/","pubDate":"Wed, 21 Nov 2018 08:09:23 +0000","guid":"https:\/\/blog.web-apps.tech\/generator-pattern\/","description":"<p>Generator Pattern\u306fGo\u8a00\u8a9e\u306b\u304a\u3051\u308b\u4e26\u5217\u51e6\u7406\u30d1\u30bf\u30fc\u30f3\u306e\u4e00\u3064\u3067\u3001goroutine-safe\u306a\u5024\u5217\u306e\u751f\u6210\u306a\u3069\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u30b3\u30fc\u30c9\u3092\u898b\u305f\u65b9\u304c\u65e9\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u30b3\u30fc\u30c9\u3092\u63b2\u8f09\u3057\u307e\u3057\u3087\u3046\u3002\n\u6b21\u306e\u4f8b\u306f\u8907\u6570\u306egoroutine\u304b\u3089\u5171\u901a\u306e\u9023\u756a\u3092\u63a1\u756a\u3057\u305f\u3044\u3068\u304d\u306b\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">GenInt<\/span><span class=\"p\">(<\/span><span class=\"nx\">ctx<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">max<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ch<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">ch<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">max<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">select<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">case<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">ctx<\/span><span class=\"p\">.<\/span><span class=\"nf\">Done<\/span><span class=\"p\">():<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">case<\/span><span class=\"w\"> <\/span><span class=\"nx\">ch<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">ch<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8fd4\u3055\u308c\u305f<code>&lt;-chan int<\/code>\u304b\u3089<code>int<\/code>\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u91cd\u8907\u306e\u306a\u3044\u9023\u756a\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nGo\u8a00\u8a9e\u306b\u304a\u3044\u3066\u3001<code>chan<\/code>\u306f\u8907\u6570\u7b87\u6240\u304b\u3089\u5024\u306e\u53d6\u308a\u51fa\u3057\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001<code>chan<\/code>\u306b\u5165\u529b\u3055\u308c\u305f\u4e00\u3064\u306e\u5024\u306f\u3069\u3053\u304b\u4e00\u7b87\u6240\u304b\u3089\u3057\u304b\u53d6\u308a\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001lock\u7b49\u3092\u4f7f\u7528\u3057\u306a\u304f\u3068\u3082\u3001\u5fc5\u305a\u91cd\u8907\u7121\u304f\u9023\u756a\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nlock\u3092\u4f7f\u7528\u3057\u305f\u5834\u5408\u3001\u82e5\u5e72\u52d5\u4f5c\u304c\u9045\u3044\u305f\u3081\u3001\u53ef\u80fd\u3067\u3042\u308c\u3070lock\u3092\u4f7f\u7528\u3057\u306a\u3044\u3067\u3001<code>chan<\/code>\u3092\u4f7f\u7528\u3057\u3066\u5b9f\u88c5\u3067\u304d\u308b\u3068\u3088\u308a\u9ad8\u901f\u306a\u3001Go\u3089\u3057\u3044\u30b3\u30fc\u30c9\u3068\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>"},{"title":"LINE DEVELOPER DAY 2018\u306b\u53c2\u52a0\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/","pubDate":"Wed, 21 Nov 2018 02:51:41 +0000","guid":"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/","description":"<p><a href=\"https:\/\/linedevday.linecorp.com\/jp\/2018\/\" target=\"_blank\" rel=\"noopener\">LINE DEVELOPER DAY 2018<\/a>\n\u306fLINE\u306e\u6280\u8853\u306b\u95a2\u3057\u3066\u7d39\u4ecb\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u3067\u30012018\u5e7411\u670821\u65e5\u306b\u958b\u50ac\u3055\u308c\u305f\u306e\u3067\u3001\u53c2\u52a0\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/happoen_hu_25c588cb9e646618.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u958b\u50ac\u5730\u306f\u767d\u91d1\u53f0\u306e\u516b\u82b3\u5712\u3067\u3059\u3002\u521d\u3081\u3066\u6765\u305f\u306e\u3067\u3059\u304c\u3001\u53b3\u304b\u306a\u65e5\u672c\u5ead\u5712\u306a\u3093\u3067\u3059\u306d\u3002\u3061\u3087\u3063\u3068\u6c17\u5f8c\u308c\u3057\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/noren_hu_140241878cb99671.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u516b\u82b3\u5712\u306e\u5165\u308a\u53e3\u306b\u306fDEVELOPER DAY\u306e\u30ed\u30b4\u5165\u308a\u6696\u7c3e\u304c\u4e0b\u304c\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/E481DC13-1BD6-488D-A8AE-BEDA3FA84C3E_hu_6049a50fba5e2268.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/46F96701-3EE9-45B4-88CB-7C766867748A_hu_d5c0f33866326fd8.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u4f1a\u5834\u306e\u5efa\u7269\u306b\u5411\u304b\u3046\u306b\u306f\u5ead\u5712\u3092\u629c\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u516b\u82b3\u5712\u3092\u5c11\u3057\u3067\u3059\u304c\u697d\u3057\u3081\u308b\u306e\u306f\u306a\u304b\u306a\u304b\u826f\u304b\u3063\u305f\u3088\u3046\u306b\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/B5755916-5A4B-4D09-B0EB-F5EFD469E2B0_hu_2c3a72f5f9fa172d.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/957469D0-DA94-4716-9EAE-F347E45E75EE_hu_d7b2321c6a6e4669.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/83CC9462-2532-4EB2-B2B8-6D44CA3F1484_hu_925bae259d849b93.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u53d7\u4ed8\u306f\u5916\u306b\u3042\u308a\u3001\u975e\u5e38\u306b\u826f\u3044\u96f0\u56f2\u6c17\u3067\u3057\u305f\u3002\u96e8\u3060\u3063\u305f\u3068\u3057\u3066\u3082\u5efa\u7269\u306e\u4e2d\u3067\u3084\u308c\u308b\u69d8\u306a\u30d7\u30e9\u30f3\u306f\u3042\u3063\u305f\u306e\u3067\u3057\u3087\u3046\u304c\u3001\u96f0\u56f2\u6c17\u304c\u5927\u304d\u304f\u5909\u308f\u3063\u3066\u3044\u305f\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u96e8\u3058\u3083\u7121\u304f\u3066\u826f\u304b\u3063\u305f\u3067\u3059\u306d\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/E21B0720-C9B3-4F2A-A7DD-49E4E3DF520C_hu_35475da245027c01.jpg\" alt=\"\" \/>\n<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/B4E9E049-B536-45E1-B9A8-3DB30B5F6402_hu_34c2a254947bc32e.jpg\" alt=\"\" \/>\n<\/p>\n<p>GitHub\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u884c\u3063\u305f\u3068\u304d\u306a\u3093\u304b\u3082\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4f1a\u5834\u306e\u58c1\u3067\u3053\u3046\u3044\u3046\u3053\u3068\u3092\u3067\u304d\u308b\u306e\u306f\u4f01\u696d\u4e3b\u4f53\u306e\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306e\u3059\u3054\u3044\u3068\u3053\u308d\u3060\u306a\u30fc\u3068\u601d\u3044\u307e\u3059\u3002\n\u3053\u308c\u3060\u3051\u3067\u96f0\u56f2\u6c17\u304c\u7d50\u69cb\u9055\u3046\u3068\u306f\u601d\u3046\u3093\u3067\u3059\u304c\u3001\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u4e3b\u4f53\u3060\u3068\u3053\u3053\u306b\u304a\u91d1\u3092\u304b\u3051\u308b\u610f\u5473\u306f\u3042\u3093\u307e\u308a\u7121\u3044\u306e\u3067\u3001\u3084\u308d\u3046\u3068\u3044\u3046\u8a71\u306b\u3082\u306a\u3089\u306a\u3044\u3053\u3068\u304c\u591a\u3044\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/3AEEF842-8CD5-4AF6-B8CC-2D1691B06EAF_hu_43f95548cc4d8f42.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u5199\u771f\u3092\u64ae\u3063\u305f\u6642\u70b9\u3067\u306f\u307e\u3060\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u6700\u4e2d\u3060\u3063\u305f\u306e\u3067\u7a3c\u50cd\u306f\u3057\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4f1a\u5834\u3067\u306f\u901a\u5e38\u306e\u767a\u8868\u306e\u4ed6\u3001\u30dd\u30b9\u30bf\u30fc\u30bb\u30c3\u30b7\u30e7\u30f3\u3082\u884c\u308f\u308c\u308b\u3088\u3046\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/images\/4C617425-0074-4632-B87A-5DD1905C37F0-1_hu_59944867a9ec0a32.jpg\" alt=\"\" \/>\n<\/p>\n<p>\u30ab\u30e1\u30e9\u3092\u5411\u3051\u3066\u3082\u6b62\u307e\u3063\u3066\u306f\u304f\u308c\u306a\u304b\u3063\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u3076\u308c\u3061\u3083\u3063\u3066\u307e\u3059\u304c\u3001\u6b74\u6226\u306e\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u30b9\u30bf\u30c3\u30d5\u3067\u3042\u308b\u3068\u308a\u3044\u3055\u3093\u3082\u30b9\u30bf\u30c3\u30d5\u53c2\u52a0\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>LINE DEVELOPER DAY 2018\u306f\u53c2\u52a0\u8cbb\u7121\u6599\u3067\u3001\u7d041300\u4eba\u306e\u52d5\u54e1(\u4e88\u5b9a)\u3060\u305d\u3046\u3067\u3059\u3002<\/p>"},{"title":"git ignore\u30b3\u30de\u30f3\u30c9\u3067.gitignore\u3092\u53d6\u5f97\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/gitignore-from-cli\/","pubDate":"Tue, 13 Nov 2018 02:07:39 +0000","guid":"https:\/\/blog.web-apps.tech\/gitignore-from-cli\/","description":"<p>\u5272\u3068\u307f\u3093\u306a\u77e5\u3063\u3066\u308b\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u304c\u3002<\/p>\n<p><code>git-xxx<\/code>\u3068\u3044\u3046\u540d\u79f0\u3067\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u3092\u30d1\u30b9\u306e\u901a\u3063\u305f\u3068\u3053\u308d\u306b\u914d\u7f6e\u3059\u308b\u3068\u3001<code>git xxx<\/code>\u3068\u3044\u3046<code>git<\/code>\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306e\u5f62\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u3092\u5229\u7528\u3057\u305f\u306e\u304c\u62d9\u4f5c<a href=\"https:\/\/github.com\/nasa9084\/git-license\" target=\"_blank\" rel=\"noopener\">git-license<\/a>\n\u3067\u3001<code>git license [option] license_name &gt; LICENSE<\/code>\u306e\u5f62\u3067\u5b9f\u884c\u3059\u308b\u3068<code>LICENSE<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u7c21\u5358\u306b\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u305d\u306e\u4ed6\u3001<code>git config<\/code>\u3067\u30a8\u30a4\u30ea\u30a2\u30b9\u3092\u6307\u5b9a\u3057\u3066\u3001\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u767b\u9332\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u540c\u69d8\u306b\u3057\u3066\u3001<code>git ignore<\/code>\u3067`.gitignore\u30d5\u30a1\u30a4\u30eb\u3092\u7c21\u5358\u306b\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u304a\u305d\u3089\u304f\u73fe\u4ee3\u3067\u306f\u591a\u304f\u306e\u4eba\u304c<code>.gitignore<\/code>\u306e\u751f\u6210\u3084\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u5316\u3092\u3057\u3066\u3001\u3042\u308b\u3044\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u5316\u3055\u308c\u305f\u3082\u306e\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002GitHub\u306eWUI\u4e0a\u3067\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b\u3068\u304d\u306b\u3082\u751f\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3057\u3001\u305d\u306e\u3055\u3044\u4f7f\u7528\u3055\u308c\u308b<code>.gitignore<\/code>\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066<a href=\"https:\/\/github.com\/github\/gitignore\" target=\"_blank\" rel=\"noopener\">github\/gitignore<\/a>\n\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u7d39\u4ecb\u3059\u308b\u306e\u306f<a href=\"https:\/\/www.gitignore.io\" target=\"_blank\" rel=\"noopener\">gitignore.io<\/a>\n\u3068\u3044\u3046\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/gitignore-from-cli\/images\/gitignoreio_hu_eeab6e18475409ab.png\" alt=\"gitignore.io\" \/>\n<\/p>\n<p>gitignore.io\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001<code>.gitignore<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002\n\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306f\u975e\u5e38\u306b\u7c21\u5358\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3001\u30c6\u30ad\u30b9\u30c8\u30dc\u30c3\u30af\u30b9\u306b\u5fc5\u8981\u306a\u8a00\u8a9e\u3001OS\u3001\u30a8\u30c7\u30a3\u30bf\u3084IDE\u306a\u3069\u3092\u6307\u5b9a\u3057\u3066\u3044\u304f\u3060\u3051\u3067\u3059\u3002\u6307\u5b9a\u304c\u7d42\u308f\u3063\u305f\u3089<strong>Create<\/strong>\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3053\u3068\u3067\u3001\u9078\u629e\u3057\u305f\u5bfe\u8c61\u7528\u306e<code>.gitignore<\/code>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u5168\u3066\u542b\u3093\u3060<code>.gitignore<\/code>\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u3092\u4fdd\u5b58\u3059\u308c\u3070\u826f\u3044\u3067\u3059\u306d\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u305d\u306e\u4ed6\u306e\u4f5c\u696d\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u884c\u306a\u3063\u3066\u3044\u308b\u3068\u3001\u3044\u3061\u3044\u3061\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3001\u30de\u30a6\u30b9\u3067\u64cd\u4f5c\u3057\u3066\u30fb\u30fb\u30fb\u3068\u3044\u3046\u306e\u304c\u975e\u5e38\u306b\u9762\u5012\u306b\u611f\u3058\u307e\u3059\u3002<\/p>\n<p>\u5927\u4e08\u592b\u3067\u3059\uff01gitignore.io\u3067\u306f\u3082\u3061\u308d\u3093API\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059(\u3068\u3044\u3046\u304b\u3001WUI\u3067\u751f\u6210\u3055\u308c\u305f<code>.gitignore<\/code>\u306eURL\u304c\u305d\u306e\u307e\u307eAPI\u306eURL)\u3002\n\u6b21\u306e\u3088\u3046\u306b\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ curl https:\/\/www.gitignore.io\/api\/go,emacs,macos\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>https:\/\/www.gitignore.io\/api\/<\/code>\u306e\u5f8c\u308d\u306b\u3001\u30ab\u30f3\u30de\u533a\u5207\u308a\u3067\u5fc5\u8981\u306a\u3082\u306e\u3092\u5217\u6319\u3057\u3066\u884c\u304f\u3060\u3051\u3067\u3001\u7c21\u5358\u306b\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089<code>.gitignore<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u3053\u307e\u3067\u3084\u3063\u305f\u3089\u3082\u3046\u5c11\u3057\u7c21\u5358\u306b\u3057\u305f\u3044\u3067\u3059\u306d\uff1f\u3044\u3061\u3044\u3061URL\u3092\u6253\u3064\u306e\u306f\u9762\u5012\u3067\u3059\u3057\u3001\u5fd8\u308c\u3066\u3057\u307e\u3046\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u305b\u3063\u304b\u304f\u306a\u306e\u3067<code>git<\/code>\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066<code>git ignore<\/code>\u3068\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ git config --global alias.ignore <span class=\"s1\">&#39;!gi() { curl -L -s https:\/\/www.gitignore.io\/api\/$@ ;}; gi&#39;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3082\u3057\u304f\u306f\u3001<code>~\/.gitconfig<\/code>\u30d5\u30a1\u30a4\u30eb\u306e<code>[alias]<\/code>\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u6b21\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ini\" data-lang=\"ini\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">[alias]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"na\">ignore<\/span> <span class=\"o\">=<\/span> <span class=\"s\">!curl -L -s https:\/\/www.gitignore.io\/api\/$@<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>$@<\/code>\u306f\u5f15\u6570\u3092\u305d\u306e\u307e\u307e\u6e21\u3059\u3068\u3044\u3046\u5909\u6570\u3067\u3059\u3002\u3053\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3092\u3059\u308b\u3053\u3068\u3067\u3001<code>git ignore<\/code>\u3068\u3057\u3066gitignore.io\u306eAPI\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u5b9f\u969b\u306b\u4f7f\u7528\u3059\u308b\u6642\u306f\u6b21\u306e\u3088\u3046\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ git ignore go,emacs,macos\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8a00\u8a9e\u3084\u74b0\u5883\u306e\u30ea\u30b9\u30c8\u306f\u5168\u3066\u307e\u3068\u3081\u3066\u4e00\u3064\u306e\u5f15\u6570\u306e\u305f\u3081\u3001\u30ab\u30f3\u30de\u306e\u5f8c\u306b\u30b9\u30da\u30fc\u30b9\u3092\u5165\u308c\u306a\u3044\u3053\u3068\u306b\u6ce8\u610f\u3067\u3059\u3002\u6307\u5b9a\u3067\u304d\u308b\u74b0\u5883\u306e\u4e00\u89a7\u306f<code>git ignore list<\/code>\u3068\u3059\u308b\u3053\u3068\u3067\u8868\u793a\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u6a19\u6e96\u51fa\u529b\u3092\u305d\u306e\u307e\u307e\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3057\u3066\u3001<code>.gitignore<\/code>\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3081\u3070\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u521d\u671f\u8a2d\u5b9a\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b\u3067\u3057\u3087\u3046\u3002<\/p>"},{"title":"jessevdk\/go-flags\u3067\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u88c5\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/subcommand-using-jessevdk-go-flags\/","pubDate":"Tue, 06 Nov 2018 05:01:49 +0000","guid":"https:\/\/blog.web-apps.tech\/subcommand-using-jessevdk-go-flags\/","description":"<p>Go\u8a00\u8a9e\u3092\u7528\u3044\u3066\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u3092\u958b\u767a\u3059\u308b\u969b\u3001\u7686\u3055\u3093\u306f\u30d5\u30e9\u30b0\u306e\u30d1\u30fc\u30b9\u3084\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u88c5\u306b\u3069\u3093\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u304b\uff1f\u6a19\u6e96\u306e<code>flag<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u307b\u304b\u3001\u3001<a href=\"https:\/\/github.com\/spf13\/cobra\" target=\"_blank\" rel=\"noopener\"><code>spf13\/cobra<\/code><\/a>\n\u3001<a href=\"https:\/\/github.com\/alecthomas\/kingpin\" target=\"_blank\" rel=\"noopener\"><code>alecthomas\/kingpin<\/code><\/a>\n\u306a\u3069\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\n\u79c1\u306f\u5c02\u3089\u3001<a href=\"https:\/\/github.com\/jessevdk\/go-flags\" target=\"_blank\" rel=\"noopener\"><code>jessevdk\/go-flags<\/code><\/a>\n(\u4ee5\u4e0b<code>go-flags<\/code>)\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n<code>go-flags<\/code>\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u57fa\u672c\u7684\u306b\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\/\u30d5\u30e9\u30b0\u306e\u89e3\u6790\u7528\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3001<a href=\"https:\/\/godoc.org\/github.com\/jessevdk\/go-flags\" target=\"_blank\" rel=\"noopener\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u3082\u30d5\u30e9\u30b0\u89e3\u6790\u306b\u95a2\u3059\u308b\u3082\u306e\u304c\u307b\u3068\u3093\u3069\u3067\u3059\u3002\n\u3057\u304b\u3057\u3001<code>go-flags<\/code>\u3067\u306f\u3001\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u88c5\u3082\u53ef\u80fd\u3067\u3059\u3002\u4eca\u56de\u306f\u3053\u308c\u306b\u7126\u70b9\u3092\u5f53\u3066\u3066\u3054\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p><code>go-flags<\/code>\u3067\u306f\u3001\u89aa\u30b3\u30de\u30f3\u30c9\u306b\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u767b\u9332\u3059\u308b\u3001\u3068\u3044\u3046\u5f62\u3067\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306f\u69cb\u9020\u4f53\u3068\u3057\u3066\u5b9f\u88c5\u3057\u3001\u305d\u308c\u305e\u308c\u304c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u683c\u7d0d\u3059\u308b\u69cb\u9020\u4f53\u3092\u517c\u306d\u308b\u5f62\u3068\u306a\u308a\u307e\u3059\u3002\n\u7d42\u7aef\u306e\u3001\u5b9f\u969b\u306b\u4f55\u304b\u306e\u52d5\u4f5c\u3092\u3059\u308b\u30b3\u30de\u30f3\u30c9\u306f <code>Commander<\/code> interface\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4e2d\u9593\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9(<code>docker container<\/code>\u306e\u3088\u3046\u306a\u3001\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u306e\u305f\u3081\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9)\u306f\u3053\u308c\u3092\u5b9f\u88c5\u3057\u3066\u3044\u306a\u304f\u3066\u3082\u69cb\u3044\u307e\u305b\u3093\u3002\n<code>Commander<\/code> interface\u306e\u5b9a\u7fa9\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">Commander<\/span><span class=\"w\"> <\/span><span class=\"kd\">interface<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nf\">Execute<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u975e\u5e38\u306b\u5358\u7d14\u3067\u3059\u306d\u3002<code>args<\/code>\u306b\u306f\u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30fc\u30b9\u3055\u308c\u306a\u304b\u3063\u305f\u3042\u307e\u308a\u306e\u5f15\u6570\u304c\u6e21\u3055\u308c\u307e\u3059\u3002\n\u5b9f\u969b\u306e\u5b9f\u88c5\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">subcommand<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">verbose<\/span><span class=\"w\"> <\/span><span class=\"kt\">bool<\/span><span class=\"w\"> <\/span><span class=\"s\">`short:&#34;v&#34; long:&#34;verbose&#34;`<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">cmd<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">subcommand<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">Execute<\/span><span class=\"p\">(<\/span><span class=\"nx\">args<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ some exec<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u88c5\u3057\u305f\u3089\u3001\u89aa\u306e\u30b3\u30de\u30f3\u30c9\u306b\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u767b\u9332\u3057\u307e\u3059\u3002\n\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u898b\u308b\u3068\u3001<code>Command<\/code>\u69cb\u9020\u4f53\u306b\u767b\u9332\u3059\u308b\u95a2\u6570\u304c\u3042\u308b\u3053\u3068\u3001<code>Parser<\/code>\u69cb\u9020\u4f53\u306f<code>Command<\/code>\u69cb\u9020\u4f53\u304c\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u308b\u3053\u3068\u3001\u304c\u308f\u304b\u308a\u307e\u3059\u3002\n\u901a\u5e38\u3001<code>go-flags<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u30b0\u30ed\u30fc\u30d0\u30eb\u306e<code>Parse<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u88c5\u3059\u308b\u5834\u5408\u306f\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u306e\u30d1\u30fc\u30b5\u30fc\u3092\u81ea\u5206\u3067\u4f5c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">options<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ ...<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">opts<\/span><span class=\"w\"> <\/span><span class=\"nx\">options<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ global option<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">parser<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"nx\">flags<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewParser<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">opts<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">flags<\/span><span class=\"p\">.<\/span><span class=\"nx\">Default<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">subcmd<\/span><span class=\"w\"> <\/span><span class=\"nx\">subcommand<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">init<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">parser<\/span><span class=\"p\">.<\/span><span class=\"nf\">AddCommand<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;subcmd&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;subcommand&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">subcmd<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">parser<\/span><span class=\"p\">.<\/span><span class=\"nf\">Parse<\/span><span class=\"p\">();<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">fe<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"p\">.(<\/span><span class=\"o\">*<\/span><span class=\"nx\">flags<\/span><span class=\"p\">.<\/span><span class=\"nx\">Error<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"nx\">fe<\/span><span class=\"p\">.<\/span><span class=\"nx\">Type<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"nx\">flags<\/span><span class=\"p\">.<\/span><span class=\"nx\">ErrHelp<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nf\">Exit<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Print<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nf\">Exit<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3059\u308b\u3053\u3068\u3067\u3001<code>subcmd<\/code>\u3068\u3044\u3046\u540d\u524d\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u304c\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<code>go run main.go subcmd<\/code>\u306a\u3069\u3068\u3059\u308b\u3068\u3001<code>subcommand.Execute<\/code>\u95a2\u6570\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n\u5b9f\u969b\u306b\u306f<code>Parser.AddSubCommand<\/code>\u306e\u30a8\u30e9\u30fc\u3092\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3057\u305f\u308a\u306a\u3069\u3001\u3082\u3046\u5c11\u3057\u3084\u3089\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3053\u3068\u306f\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u57fa\u672c\u7684\u306b\u306f\u4ee5\u4e0a\u3067\u3059\u3002<\/p>"},{"title":"Ergodox EZ\u3092\u8cfc\u5165\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/","pubDate":"Wed, 31 Oct 2018 05:57:26 +0000","guid":"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/","description":"<p>\u5272\u3068\u4eca\u66f4\u611f\u3082\u306a\u304f\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u3001Ergodox EZ\u3068\u3044\u3046\u5206\u5272\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\nErgodox\u306f\u57fa\u672c\u7684\u306b\u306f\u81ea\u5206\u3067\u30d1\u30fc\u30c4\u3092\u63c3\u3048\u3066\u7d44\u307f\u7acb\u3066\u308b\u3001\u3044\u308f\u3086\u308b\u81ea\u4f5c\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u4e00\u3064\u3067\u3059\u304c\u3001\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u8a2d\u8a08\u306a\u3069\u304c\u516c\u958b\u3055\u308c\u3066\u304a\u308a\u3001\u305d\u306e\u8a2d\u8a08\u3092\u4f7f\u3063\u3066\u5b8c\u6210\u54c1\u3092\u8ca9\u58f2\u3057\u3066\u3044\u308b\u306e\u304cErgodox EZ\u3067\u3059\u3002\n\u4eca\u56de\u306f<a href=\"https:\/\/ergodox-ez.com\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u304b\u3089\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u69cb\u6210\u306f\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002<\/p>\n<ul>\n<li>Color: BLACK<\/li>\n<li>Tilt kit\/Wing Rest: YES<\/li>\n<li>Keycap: Blank<\/li>\n<li>Switches: Cherry MX Blue<\/li>\n<\/ul>\n<p>\u4ee5\u4e0a\u3067$325\u3001\u65e5\u672c\u5186\u306737,125\u5186\u3067\u3057\u305f\u3002\u9001\u6599\u304c\u304b\u304b\u308b\u3068\u3044\u3046\u60c5\u5831\u3082\u591a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u9001\u6599\u306f\u7121\u6599\u3067\u3001\u95a2\u7a0e\u304c2000\u5186\u3061\u3087\u3044\u304f\u3089\u3044\u304b\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/images\/56e74246-0485-4121-9391-285ebb6957fe_hu_3239ada060adf5b9.jpg\" alt=\"box of wing rest\" \/>\n<\/p>\n<p>wing rest\u306e\u7bb1\u306f\u51f9\u3093\u3067\u3044\u307e\u3057\u305f\u3002\u3002\u3002\n\u307e\u3041\u3001\u30da\u30e9\u30c3\u30da\u30e9\u306e\u30d3\u30cb\u30fc\u30eb\u3060\u3051\u306e\u72b6\u614b\u3067\u6e21\u822a\u3057\u3066\u6765\u305f\u306e\u3067\u3001\u3053\u3093\u306a\u3082\u306e\u3067\u3057\u3087\u3046\u3002\n\u7bb1\u81ea\u4f53\u306f\u3057\u3063\u304b\u308a\u3057\u3066\u304a\u308a\u3001\u591a\u5c11\u51f9\u3093\u3067\u3082\u4e2d\u306e\u672c\u4f53\u306b\u306f\u5f71\u97ff\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/images\/2e827bb4-bf25-4a2a-9a6b-f21fd9e944cb_hu_c8990acddaf5aa47.jpg\" alt=\"ergodox ez\" \/>\n<\/p>\n<p>\u3044\u3064\u4f7f\u3046\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u30ef\u30c3\u30b7\u30e3\u30fc\u3068\u3001\u30ad\u30fc\u30c8\u30c3\u30d7\u30fb\u30b9\u30a4\u30c3\u30c1\u306e\u4ea4\u63db\u306b\u4f7f\u3046\u9053\u5177\u3001\u8b0e\u306e\u30b9\u30c6\u30c3\u30ab\u30fc\u304c\u3064\u3044\u3066\u3044\u307e\u3057\u305f\u3002\nweb\u4e0a\u306b\u306f\u65e5\u672c\u8a9e\u306e\u60c5\u5831\u304c\u306a\u304f\u3001\u3054\u304f\u6700\u8fd1\u306e\u3053\u3068\u3060\u3068\u601d\u3046\u306e\u3067\u3059\u304c\u3001\u73fe\u5728\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308bErgodox EZ\u306b\u306f<a href=\"https:\/\/ergodox-ez.com\/pages\/change-it-yourself\" target=\"_blank\" rel=\"noopener\">CIY<\/a>\n\u3068\u3044\u3046\u6a5f\u69cb\u304c\u7d44\u307f\u5165\u308c\u3089\u308c\u3066\u3044\u307e\u3059\u3002\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u304c\u534a\u7530\u4ed8\u3051\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u3044\u308f\u3086\u308b\u30bd\u30b1\u30c3\u30c8\u306e\u3088\u3046\u306a\u3082\u306e\u306b\u523a\u3055\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u81ea\u5206\u3067\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u4ea4\u63db\u3067\u304d\u308b\u3001\u3068\u3044\u3046\u3082\u306e\u3067\u3059\u3002\n\u3053\u306e\u305f\u3081\u3001\u81ea\u4f5c\u306eErgodox\u304b\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u6545\u969c\u3092\u899a\u609f\u306e\u4e0a\u3067\u306e\u6539\u9020\u306e\u307f\u3067\u53ef\u80fd\u3060\u3063\u305f\u3001\u4e00\u90e8\u306e\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u306e\u307f\u4ea4\u63db\u3059\u308b\u3001\u306a\u3069\u304c\u7c21\u5358\u306b\u884c\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/images\/cb36c90a-91ab-434e-92e3-b0b7ece0ae2d_hu_6b338b844d085653.jpg\" alt=\"ergodox in office\" \/>\n<\/p>\n<p>\u73fe\u5728\u306f\u4f1a\u793e\u3067\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\n\u3084\u306f\u308a\u30a8\u30f3\u30bf\u30fc\u30ad\u30fc\u5468\u308a\u304c\u306a\u308c\u305a\u3001slack\u3067\u3061\u3087\u3044\u3061\u3087\u3044\u8aa4\u7206\u3057\u307e\u3059\u306d\u3002\n\u3067\u304d\u308b\u3060\u3051JIS\u914d\u5217\u306b\u8fd1\u3065\u3051\u305f\u69cb\u6210\u306b\u3057\u3066\u304a\u308a\u3001\u73fe\u5728\u306e\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u306f<a href=\"https:\/\/github.com\/nasa9084\/qmk_firmware\" target=\"_blank\" rel=\"noopener\">nasa9084\/qmk_firmware<\/a>\n\u306edevelop\u30d6\u30e9\u30f3\u30c1\u3067\u7ba1\u7406\u3057\u3066\u3044\u307e\u3059\u3002\n\u4eca\u306e\u6240\u30ec\u30a4\u30e4\u30fc\u306f\u3046\u307e\u304f\u4f7f\u3044\u3053\u306a\u305b\u3066\u3044\u306a\u3044\u305f\u3081\u3001\u3044\u3044\u304b\u3093\u3058\u306e\u77e5\u898b\u304c\u3042\u308c\u3070\u6559\u3048\u3066\u307b\u3057\u3044\u3068\u3053\u308d\u3067\u3059\u3002<\/p>\n<p>\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u3001arch linux\u306e\u5834\u5408\u3001<code>sudo pacman -S avr-libc<\/code>\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u307b\u304b\u3001macos\u306e\u5834\u5408\u3001<code>brew install avr-gcc<\/code>\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u306e\u3067\u3059\u3053\u3057\u30cf\u30de\u308a\u307e\u3057\u305f<\/p>"},{"title":"Ceph RBD\u3092Kubernetes\u306eStorageClass\u3068\u3057\u3066\u767b\u9332\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/ceph-rbd-storageclass\/","pubDate":"Tue, 23 Oct 2018 07:08:35 +0000","guid":"https:\/\/blog.web-apps.tech\/ceph-rbd-storageclass\/","description":"<p>Kubernetes\u3067\u4f55\u3089\u304b\u306e\u6c38\u7d9a\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u5834\u5408\u3001\u901a\u5e38PersistentVolume\u3068\u547c\u3070\u308c\u308b\u6c38\u7d9a\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002Persistent Volume\u306fNFS\u306a\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u76f4\u63a5\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u624b\u52d5\u3067\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u975e\u5e38\u306b\u9762\u5012\u3067\u3059\u3002\n\u305d\u306e\u305f\u3081\u3001\u30d6\u30ed\u30c3\u30af\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u3092\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u3057\u3066dynamic provisioning\u3068\u547c\u3070\u308c\u308b\u3001\u81ea\u52d5\u3067\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u4f5c\u6210\u3059\u308b\u6a5f\u80fd\u3082\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>dynamic provisioning\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306eprovisioner\u3092StorageClass\u3068\u547c\u3070\u308c\u308b\u30ea\u30bd\u30fc\u30b9\u306b\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u30af\u30e9\u30a6\u30c9\u3067Kubernetes\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306fAWS EBS\u306a\u3069\u3092\u4f7f\u7528\u3059\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u3084\u81ea\u5b85\u3067Kubernetes\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001GlusterFS\u3084Ceph RBD\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4eca\u56de\u306fCeph\u3092\u4f7f\u7528\u3057\u3066PersistentVolume\u3092\u4f5c\u6210\u3059\u308b\u307e\u3067\u306e\u6d41\u308c\u3092\u8aac\u660e\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"\u4e0b\u6e96\u5099\">\u4e0b\u6e96\u5099<\/h2>\n<p>\u4eca\u56de\u306fOpenNebula\u4e0a\u306bCentOS 7\u306eVM(2GB RAM\/1Core CPU)\u30923\u53f0\u7528\u610f\u3057\u3001\u69cb\u7bc9\u3092\u884c\u3044\u307e\u3057\u305f\u3002\u30d0\u30fc\u30b8\u30e7\u30f3\u306fmimic\u3067\u3059\u3002<code>\/dev\/vdb<\/code>\u306bCeph\u7528\u306e\u30c7\u30a3\u30b9\u30af\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002\n\u305d\u308c\u305e\u308c\u3001Chrony\u3067\u6642\u523b\u540c\u671f\u306e\u8a2d\u5b9a\u3001firewalld\u7121\u52b9\u5316\u3001SELinux\u7121\u52b9\u5316\u72b6\u614b\u3067\u69cb\u6210\u3057\u307e\u3057\u305f(\u672c\u756a\u3067\u306f\u3061\u3083\u3093\u3068\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u306d\uff01)\u3002\n\u307e\u305f\u3001<code>ceph-1<\/code> <code>ceph-2<\/code> <code>ceph-3<\/code>\u3068\u3044\u3046\u540d\u79f0\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u3001hosts\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u3044\u3066\u3001SSH\u306e\u9375\u3082\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>\u307e\u305a\u306f<a href=\"http:\/\/docs.ceph.com\/docs\/mimic\/install\/get-packages\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u3092\u53c2\u8003\u306b\u5404\u30b5\u30fc\u30d0\u3078\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u8ffd\u52a0\u3092\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">\/root@ceph-N# rpm --import <span class=\"s1\">&#39;https:\/\/download.ceph.com\/keys\/release.asc&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\/root@ceph-N# cat &lt; EOF &gt; \/etc\/repos.d\/ceph.repo\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">[<\/span>ceph<span class=\"o\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">name<\/span><span class=\"o\">=<\/span>Ceph packages <span class=\"k\">for<\/span> <span class=\"nv\">$basearch<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">baseurl<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/rpm-mimic\/el7\/<span class=\"nv\">$basearch<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">enabled<\/span><span class=\"o\">=<\/span><span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">priority<\/span><span class=\"o\">=<\/span><span class=\"m\">2<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgcheck<\/span><span class=\"o\">=<\/span><span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgkey<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/keys\/release.asc\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">[<\/span>ceph-noarch<span class=\"o\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">name<\/span><span class=\"o\">=<\/span>Ceph noarch packages\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">baseurl<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/rpm-mimic\/el7\/noarch\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">enabled<\/span><span class=\"o\">=<\/span><span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">priority<\/span><span class=\"o\">=<\/span><span class=\"m\">2<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgcheck<\/span><span class=\"o\">=<\/span><span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgkey<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/keys\/release.asc\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">[<\/span>ceph-source<span class=\"o\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">name<\/span><span class=\"o\">=<\/span>Ceph <span class=\"nb\">source<\/span> packages\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">baseurl<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/rpm-mimic\/el7\/SRPMS\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">enabled<\/span><span class=\"o\">=<\/span><span class=\"m\">0<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">priority<\/span><span class=\"o\">=<\/span><span class=\"m\">2<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgcheck<\/span><span class=\"o\">=<\/span><span class=\"m\">1<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">gpgkey<\/span><span class=\"o\">=<\/span>https:\/\/download.ceph.com\/keys\/release.asc\n<\/span><\/span><span class=\"line\"><span class=\"cl\">EOF\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u8ffd\u52a0\u304c\u3067\u304d\u305f\u3089\u3001\u5404\u30b5\u30fc\u30d0\u3078<code>ceph-deploy<\/code>\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>"},{"title":"\u8abf\u5e03\u6280\u7814\u3067Kubernetes\u306e\u8584\u3044\u672c\u3092\u51fa\u3057\u307e\u3059","link":"https:\/\/blog.web-apps.tech\/chofu-tech-k8s-book\/","pubDate":"Tue, 25 Sep 2018 11:04:55 +0000","guid":"https:\/\/blog.web-apps.tech\/chofu-tech-k8s-book\/","description":"<p>\u8abf\u5e03\u6280\u7814\u3001\u3068\u3044\u3046\u602a\u3057\u3044\u56e3\u4f53\u304c\u3042\u308a\u307e\u3057\u3066\u3001\u79c1\u306f\u305d\u3053\u306b\u6240\u5c5e\u3057\u3066\u3044\u307e\u3059\u3002\u8abf\u5e03\u6280\u7814\u306f\u4e3b\u306bSlack\u4e0a\u3067\u4e0e\u592a\u8a71\u3092\u3057\u3066\u3044\u308b\u96c6\u56e3\u3067\u3001\u30a4\u30f3\u30d5\u30e9\u3068\u304b\u306e\u691c\u8a3c\u306a\u3093\u304b\u3092\u5171\u540c\u3067\u3084\u3063\u3066\u3044\u305f\u308a\u3057\u307e\u3059\u3002<\/p>\n<p>\u6765\u308b10\u670808\u65e5\u306b\u3001<a href=\"https:\/\/techbookfest.org\/\" target=\"_blank\" rel=\"noopener\">\u6280\u8853\u66f8\u5178<\/a>\n\u3068\u3044\u3046\u3001\u6280\u8853\u7cfb\u540c\u4eba\u8a8c\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u958b\u50ac\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u305d\u3053\u3067\u300c<a href=\"https:\/\/techbookfest.org\/event\/tbf05\/circle\/53000003\" target=\"_blank\" rel=\"noopener\">\u8272\u3093\u306a\u3068\u3053\u308d\u3067Kubernetes\u3092\u52d5\u304b\u3059\u672c<\/a>\n\u300d\u3068\u3044\u3046\u540c\u4eba\u8a8c\u3092\u51fa\u3059\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p>\u5148\u307b\u3069\u3001\u7121\u4e8b\u5165\u7a3f\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u79c1\u306f\u300c\u304a\u3046\u3061Kubernetes\u306e\u4f5c\u308a\u65b9\u300d\u3068\u984c\u3057\u3066\u3001\u81ea\u5b85\u3092\u542b\u3080\u30aa\u30f3\u30d7\u30ec\u3067Kubernetes\u74b0\u5883\u3092\u4f5c\u308b\u305f\u3081\u306e\u3042\u308c\u3084\u3053\u308c\u3084\u3092\u57f7\u7b46\u3057\u307e\u3057\u305f\u3002\u30d9\u30fc\u30b9\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u300c<a href=\"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/\">\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6<\/a>\n\u300d\u3067\u3082\u3054\u7d39\u4ecb\u3057\u305f\u79c1\u306e\u81ea\u5b85Kubernetes\u74b0\u5883\u3067\u3001\u5c0f\u898f\u6a21\u306a\u3089\u3070\u30d7\u30ed\u30c0\u30af\u30b7\u30e7\u30f3\u306b\u3082\u4f7f\u3048\u308b\u74b0\u5883\u3067\u3059\u3002<\/p>\n<p>\u7269\u7406\u672c1\u518a500\u5186(\u96fb\u5b50\u7248\u3064\u304d)\u3001\u96fb\u5b50\u7248\u306e\u307f\u306f400\u5186\u3067\u306e\u9812\u5e03\u3068\u306a\u308b\u4e88\u5b9a\u3067\u3059\u306e\u3067\u3001\u305c\u3072\u304a\u8cb7\u3044\u6c42\u3081\u304f\u3060\u3055\u3044\u3002\u5834\u6240\u306f<strong>\u304b16<\/strong>\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u5192\u982d\u306e\u753b\u50cf\u306f\u30bf\u30a4\u30c8\u30eb\u3092\u30df\u30b9\u3063\u305f\u8868\u7d19\u3067\u3059\u3002<\/p>"},{"title":"\u65e5\u672c\u4eee\u60f3\u5316\u6280\u8853(\u682a)\u3092\u9000\u8077\u3057\u307e\u3059","link":"https:\/\/blog.web-apps.tech\/change-job-2018\/","pubDate":"Tue, 18 Sep 2018 09:19:26 +0000","guid":"https:\/\/blog.web-apps.tech\/change-job-2018\/","description":"<h2 id=\"\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\">\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/h2>\n<blockquote class=\"twitter-tweet\"><p lang=\"ja\" dir=\"ltr\">\u30bf\u30a4\u30c8\u30eb\u3067\u717d\u3089\u306a\u3044\u3001\u304b\u3057\u3053\u307e\u3063\u305f\u898b\u51fa\u3057\u3082\u3064\u3051\u306a\u3044\u3001\u30a6\u30a3\u30c3\u30b7\u30e5\u30ea\u30b9\u30c8\u306e\u305b\u306a\u3044\u3001\u6771\u4e9c\u98ef\u5e97\u5f35\u3089\u306a\u3044\u3001from\u3068to\u3092\u4e21\u65b9\u66f8\u304f\u3002\u8077\u5834\u5d29\u58ca\u3092\u66b4\u9732\u3057\u306a\u3044\u3002\u30ad\u30e9\u30ad\u30e9\u3057\u306a\u3044\u3002\u3053\u308c\u304c\u79c1\u306e\u6c42\u3081\u308b\u9000\u8077\u30a8\u30f3\u30c8\u30ea\u3067\u3059\u3002<\/p>&mdash; laiso?? (@laiso) <a href=\"https:\/\/twitter.com\/laiso\/status\/892403727079923712?ref_src=twsrc%5Etfw\">August 1, 2017<\/a><\/blockquote>\n<script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<h2 id=\"\u672c\u984c\">\u672c\u984c<\/h2>\n<p>\u79c1\u4e8b\u3067\u3059\u304c\u30012018-09-20\u3092\u4ee5\u3066\u65e5\u672c\u4eee\u60f3\u5316\u6280\u8853\u682a\u5f0f\u4f1a\u793e\u3092\u9000\u8077\u3057\u30012018-10-01\u4ed8\u3051\u3067LINE\u682a\u5f0f\u4f1a\u793e\u3078\u5c31\u8077\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3002<\/p>"},{"title":"ingress-nginx\u3067\u8af8\u3005\u8a2d\u5b9a\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/configure-ingress-nginx\/","pubDate":"Sun, 16 Sep 2018 17:06:14 +0000","guid":"https:\/\/blog.web-apps.tech\/configure-ingress-nginx\/","description":"<p><a href=\"https:\/\/github.com\/kubernetes\/ingress-nginx\" target=\"_blank\" rel=\"noopener\">ingress-nginx<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u969b\u306b\u3001nginx\u306b\u4f55\u304b\u8a2d\u5b9a\u3092\u3057\u305f\u3044\u3068\u601d\u3063\u305f\u3068\u304d\u3002\n\u4f8b\u3048\u3070\u3001nginx\u306f\u521d\u671f\u72b6\u614b\u3067\u306f\u3001\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u4e0a\u9650\u306f1MB\u306a\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u3092\u3082\u3063\u3068\u5927\u304d\u304f\u3057\u305f\u3044\u3068\u304d\u3001nginx\u3067\u306f\u6b21\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code class=\"language-conf\" data-lang=\"conf\">client-max-body-size 5m;\n<\/code><\/pre><p>\u3053\u308c\u3092ingress-nginx\u3067\u3082\u8a2d\u5b9a\u3057\u305f\u3044\u3068\u601d\u3063\u305f\u3068\u304d\u3001\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u304b\u3002<\/p>\n<p>\u307e\u3041\u3001\u7c21\u5358\u306a\u8a71\u3067\u3001<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/annotations\/\" target=\"_blank\" rel=\"noopener\">annotation<\/a>\n\u3067\u8a2d\u5b9a\u5024\u3092\u4e0e\u3048\u3066\u3042\u3052\u308c\u3070\u826f\u3044\u3067\u3059\u3002\n\u3053\u306e\u5834\u5408\u3060\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">annotations<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">nginx.ingress.kubernetes.io\/proxy-body-size<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">5m<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u8a2d\u5b9a\u3067\u304d\u308b\u5024\u306f<a href=\"https:\/\/kubernetes.github.io\/ingress-nginx\/user-guide\/nginx-configuration\/annotations\/\" target=\"_blank\" rel=\"noopener\">ingress-nginx\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n<code>client-max-body-size<\/code>\u3092\u6307\u5b9a\u3059\u308b\u306e\u306b<code>proxy-body-size<\/code>\u3068\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306b\u6ce8\u610f\u3067\u3059\u3002<\/p>"},{"title":"builderscon tokyo 2018","link":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2018\/","pubDate":"Mon, 10 Sep 2018 06:10:44 +0000","guid":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2018\/","description":"<p>\u904e\u65e5\u3001\u304b\u306d\u3066\u3088\u308a\u6e96\u5099\u3057\u3066\u304d\u305f<a href=\"https:\/\/builderscon.io\/tokyo\/2018\" target=\"_blank\" rel=\"noopener\">builderscon tokyo 2018<\/a>\n\u304c\u958b\u50ac\u3055\u308c\u3001\u305d\u3057\u3066\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"opening\">Opening<\/h3>\n<p>\u4f8b\u5e74\u3001builderscon\u3067\u306f\u4e3b\u50ac\u306e<a href=\"https:\/\/twitter.com\/lestrrat\" target=\"_blank\" rel=\"noopener\">@lestrrat<\/a>\n\u3055\u3093\u304c\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u3067\u304a\u8a71\u3092\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u4eca\u5e74\u306f\u306a\u3093\u3068\u52d5\u753b\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u308c\u304c\u3053\u3061\u3089\u3002<\/p>\n<iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/82T0XpODXyw?rel=0\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe>\n<p>\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u30e0\u30fc\u30d3\u30fc\u306a\u306e\u30677\u5206\u7a0b\u5ea6\u3067\u3059\u304c\u3001\u304b\u306a\u308a\u6c17\u5408\u3044\u306e\u5165\u3063\u305f\u52d5\u753b\u3068\u306a\u3063\u3066\u304a\u308a\u307e\u3059\u3002\u8a73\u3057\u3044\u60c5\u5831\u306f<a href=\"https:\/\/medium.com\/@lestrrat\/builderscon-tokyo-2018-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%8B%E3%83%B3%E3%82%B0%E4%BD%9C%E6%88%90%E3%81%AE%E8%A3%8F%E5%81%B4-b8fac8390aca\" target=\"_blank\" rel=\"noopener\">\u300cbuilderscon tokyo 2018 \u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u4f5c\u6210\u306e\u88cf\u5074\u300d<\/a>\n\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u8a18\u4e8b\u4e2d\u3067\u3082\u89e3\u8aac\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u306e\u52d5\u753b\u3001\u300cThe Stanley Parable\u300d\u3068\u3044\u3046\u30b2\u30fc\u30e0\u306e\u30aa\u30de\u30fc\u30b8\u30e5\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u6b8b\u5ff5\u306a\u304c\u3089\u958b\u50ac\u6642\u70b9\u3067\u79c1\u306f\u30d7\u30ec\u30a4\u3057\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u6628\u65e5\u30d7\u30ec\u30a4\u3057\u307e\u3057\u305f\u3002\u9762\u767d\u3044\u3002\u30ca\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u30ca\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u304f\u305b\u306b\u3053\u3046\u3001\u611f\u60c5\u7684\u306a\u3093\u3067\u3059\u3088\u306d\u3002\u6012\u3063\u305f\u308a\u3001\u60b2\u3057\u3093\u3060\u308a\u3002\u662f\u975e\u7686\u3055\u3093\u3082\u30d7\u30ec\u30a4\u3057\u3066(\u3082\u3057\u304f\u306fYoutube\u3068\u304b\u3067\u30d7\u30ec\u30a4\u52d5\u753b\u3092\u307f\u3066)\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3 id=\"talk\">Talk<\/h3>\n<p>2016\u5e74\u306e\u521d\u958b\u50ac\u304b\u3089\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\u3084\u3063\u3066\u304d\u305f\u79c1\u3067\u3059\u304c\u3001\u4eca\u5e74\u306f<a href=\"https:\/\/builderscon.io\/tokyo\/2018\/session\/0e224762-b349-4d44-9ece-6f2d8b2f2e4b\" target=\"_blank\" rel=\"noopener\">\u30b9\u30d4\u30fc\u30ab\u30fc\u3068\u3057\u3066\u3082\u53c2\u52a0\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f<\/a>\n(\u30b9\u30e9\u30a4\u30c9\u306f<a href=\"https:\/\/gitpitch.com\/nasa9084\/slides\/builderscon18\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089<\/a>\n)\u3002\u6b8b\u5ff5\u306a\u304c\u3089\u4e00\u5ea6\u306f\u843d\u9078\u3057\u3066\u304a\u308a\u3001\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u305f\u67a0\u306b\u6ed1\u308a\u8fbc\u3080\u5f62\u3067\u3057\u305f\u304c\u30012016\u5e74\u306fCfP\u843d\u9078\u30012017\u5e74\u306f\u696d\u52d9\u90fd\u5408\u3067\u5f53\u65e5\u53c2\u52a0\u51fa\u6765\u305a\u3001\u305d\u3057\u30662018\u5e74\u306f\u7a74\u57cb\u3081\u767b\u58c7\u3068\u3001\u7740\u5b9f\u306b\u9032\u6b69\u3057\u3066\u3044\u307e\u3059\u3002\u6765\u5e74\u306f\u662f\u975e\u3001\u304d\u3061\u3093\u3068\u300c\u901a\u3063\u305f\u300d\u30b9\u30d4\u30fc\u30ab\u30fc\u3068\u3057\u3066\u53c2\u52a0\u3057\u305f\u3044\u30fb\u30fb\u30fb\uff01<\/p>\n<p>twitter\u3067\u79c1\u304c\u8a71\u3057\u3066\u3044\u308b\u6642\u9593\u5e2f\u306e\u30c4\u30a4\u30fc\u30c8\u3092\u898b\u308b\u3068\u3001\u300cKubernetes\u304c\u30b2\u30b7\u30e5\u30bf\u30eb\u30c8\u5d29\u58ca\u300d\u3068\u8907\u6570\u306e\u65b9\u306b\u66f8\u304b\u308c\u3066\u3044\u3066\u3001\u30e1\u30c0\u30d1\u30cb\u3092\u66f8\u3051\u3066\u3057\u307e\u3063\u305f\u6c17\u5206\u3067\u3059\u3002\u3057\u304b\u3057\u8a71\u984c\u304c\u8a71\u984c\u306a\u3060\u3051\u306b\u4ed5\u65b9\u306a\u304b\u3063\u305f\u3093\u3084\uff01<\/p>\n<h3 id=\"\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\">\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066<\/h3>\n<p>\u4e0a\u3067\u3082\u66f8\u304d\u307e\u3057\u305f\u304c\u3001\u4eca\u5e74\u306f\u4e09\u5e74\u76ee\u306e\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5\u53c2\u52a0\u3067\u3057\u305f\u3002\u521d\u5e74\u306f\u5317\u6d77\u9053\u304b\u3089\u306e\u30ea\u30e2\u30fc\u30c8\u53c2\u52a0\u3001\u53bb\u5e74\u306f\u5f53\u65e5\u306b\u7d61\u3080\u4ed5\u4e8b\u306f\u51fa\u6765\u305a\u3001\u3060\u3063\u305f\u306e\u3067\u3001\u5b9f\u8cea\u307e\u3068\u3082\u306b\u53c2\u52a0\u3057\u305f\u306e\u306f\u521d\u3081\u3066\u3067\u3059\u3002\n\u3044\u304f\u3064\u304boctav(builderscon\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9API\u30b5\u30fc\u30d0)\u306e\u4fee\u6b63\u3092\u66f8\u304d(\u30de\u30fc\u30b8\u3055\u308c\u305f\u3068\u306f\u8a00\u3063\u3066\u3044\u306a\u3044)\u3001\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u306e\u307e\u3068\u3081\u5f79\u3092\u3057\u305f\u308a\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u306e\u307e\u3068\u3081\u306f\u6b63\u76f4\u4e0a\u624b\u304f\u51fa\u6765\u305f\u3068\u306f\u8a00\u3048\u305a\u3001\u4ed6\u306e\u30b9\u30bf\u30c3\u30d5(Discord\u306e\u8a2d\u5b9a\u3068\u304b\u5f53\u65e5\u30b9\u30bf\u30c3\u30d5\u306e\u62c5\u5f53\u5272\u308a\u306e\u7d30\u304b\u3044\u8abf\u6574\u3092\u3057\u3066\u304f\u308c\u305ftorii\u3055\u3093\u3001\u8af8\u3005\u5370\u5237\u306a\u3069\u3057\u3066\u304f\u308c\u305fuessy\u3055\u3093\u306b\u591a\u5927\u306a\u308b\u611f\u8b1d\u3092\u30fb\u30fb\u30fb)\u306e\u52a9\u3051\u3092\u5f97\u3066\u306a\u3093\u3068\u304b\u5927\u304d\u306a\u554f\u984c\u7121\u304f\u7d42\u3048\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n<p>\u30bf\u30b9\u30af\u306f\u307e\u3060\u6b8b\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u304b\u3089\u4e00\u9031\u9593\u304f\u3089\u3044\u304b\u3051\u3066\u304c\u3057\u304c\u3057\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u6765\u5e74\u306f\u4eca\u5e74\u3088\u308a\u3082\u3082\u3063\u3068\u30b3\u30df\u30c3\u30c8\u3057\u3066\u3044\u304d\u305f\u3044\u6240\u5b58\u3067\u3059\u3002<\/p>\n<h3 id=\"\u6765\u5e74\u306b\u5411\u3051\u3066\">\u6765\u5e74\u306b\u5411\u3051\u3066<\/h3>\n<p>builderscon\u306e\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5Slack\u3067\u306f\u3001\u3059\u3067\u306b\u6765\u5e74\u306e\u4f01\u753b\u306b\u5411\u3051\u3066\u4f83\u3005\u8ae4\u3005\u3068\u3044\u3063\u305f\u69d8\u76f8\u3067\u3059\u3002builderscon\u306f\u4ed6\u306e\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306b\u6bd4\u3079\u3001\u81ea\u7531\u5ea6\u304c\u9ad8\u3044(\u3068\u601d\u3063\u3066\u3044\u307e\u3059)\u306e\u3067\u3001\u4f55\u304b\u9762\u767d\u3044\u3053\u3068\u3092\u3084\u308a\u305f\u3044\u3001\u3068\u601d\u3063\u305f\u304b\u305f\u306f\u662f\u975e\u30b9\u30bf\u30c3\u30d5\u306b\u53c2\u52a0\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002(\u305d\u306e\u3046\u3061\u30b9\u30bf\u30c3\u30d5\u52df\u96c6\u304c\u59cb\u307e\u308b\u30fb\u30fb\u30fb\u306f\u305a)<\/p>"},{"title":"fitbit versa\u4e09\u65e5\u76ee\u30ec\u30d3\u30e5\u30fc","link":"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/","pubDate":"Tue, 04 Sep 2018 14:46:50 +0000","guid":"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/","description":"<p><a href=\"https:\/\/www.fitbit.com\/jp\/versa\" target=\"_blank\" rel=\"noopener\">fitbit versa<\/a>\n\u3092<a href=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/\">\u4f7f\u3044\u59cb\u3081\u3066<\/a>\n3\u65e5\u307b\u3069\u7d4c\u3063\u305f\u306e\u3067\u3001\u73fe\u6642\u70b9\u3067\u306e\u611f\u60f3\u3092\u3070\u3002<\/p>\n<ul>\n<li>\u96fb\u6c60\u306e\u6301\u3061\u306f\u524d\u60c5\u5831\u901a\u308a1\u65e5\u306720%\u301c25%\u6e1b\u308b\u7a0b\u5ea6\n<ul>\n<li>\u5e38\u6642\u63a5\u7d9a\u30fbKeep-Alive\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306f\u3068\u3082\u306bON<\/li>\n<li>\u591c\u306b\u304a\u98a8\u5442\/\u30b7\u30e3\u30ef\u30fc\u4e0a\u304c\u3063\u3066\u304b\u3089\u3001\u7fcc\u65e5\u304a\u98a8\u5442\/\u30b7\u30e3\u30ef\u30fc\u306b\u5165\u308b\u307e\u3067\u3001\u30671\u65e5\u3002\n<ul>\n<li>\u304a\u98a8\u5442\/\u30b7\u30e3\u30ef\u30fc\u306e\u9593\u306b\u5145\u96fb100%<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u753b\u9762\u3064\u3051\u308b\u52d5\u4f5c\u306e\u53cd\u5fdc\u304c\u60aa\u3044\u3001\u3068\u3044\u3046\u60c5\u5831\u304c\u3042\u3063\u305f\u304c\u3001\u305d\u3093\u306a\u306b\u6c17\u306b\u306a\u3089\u306a\u3044<\/li>\n<li>\u6b69\u6570\u8a08\u306f\u5c11\u3057\u904e\u654f\u306a\u69d8\u3067\u3001\u5b9f\u969b\u6b69\u3044\u305f\u6b69\u6570\u3088\u308a\u591a\u3044\u6c17\u304c\u3059\u308b\n<ul>\n<li>PC\u3067\u306e\u4f5c\u696d\u3067\u3082\u53cd\u5fdc\u3057\u3066\u308b\u6c17\u304c\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n<li>\u672c\u4f53\u304c\u9632\u6c34\u3067\u3082\u3001\u30d0\u30f3\u30c9\u304c\u6c34\u3092\u5438\u3046\u3068\u6c34\u306b\u904e\u654f\u306b\u306a\u308b\n<ul>\n<li>\u660e\u65e5\u304b\u3089\u306fCLASSIC BAND\u306b\u53d6\u308a\u66ff\u3048\u3066\u307f\u308b<\/li>\n<\/ul>\n<\/li>\n<li>\u7d50\u69cb\u5909\u306a\u65b9\u5411\u3092\u5411\u3044\u3066\u3057\u307e\u3046\n<ul>\n<li>\u30d9\u30eb\u30c8\u3092\u3082\u3046\u4e00\u3064\u7de0\u3081\u308c\u3070\u56de\u3089\u306a\u304f\u306a\u308b\u3051\u3069\u3001\u4eca\u5ea6\u306f\u5c11\u3057\u304d\u3064\u3044<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/amzn.to\/2LVLB40\" target=\"_blank\" rel=\"noopener\">\u5b89\u3044\u753b\u9762\u4fdd\u8b77\u30ac\u30e9\u30b9\u30d5\u30a3\u30eb\u30e0<\/a>\n\u3092\u8cb7\u3063\u305f\n<ul>\n<li>\u4e00\u90e8\u306e\u30ec\u30d3\u30e5\u30fc\u901a\u308a\u3001\u7e01\u304c\u82e5\u5e72\u6d6e\u3044\u3066\u3044\u308b\u69d8\u3060\u3051\u3069\u3001\u6c17\u306b\u306a\u3089\u306a\u3044\u30ec\u30d9\u30eb<\/li>\n<\/ul>\n<\/li>\n<li>\u8155\u6642\u8a08\u3092\u3064\u3051\u308b\u7fd2\u6163\u304c\u7121\u304b\u3063\u305f\u3053\u3068\u306f\u3001\u304a\u98a8\u5442\u306e\u6642\u4ee5\u5916\u5e38\u6642\u3064\u3051\u3066\u3044\u308b\u3068\u6848\u5916\u6c17\u306b\u306a\u3089\u306a\u3044<\/li>\n<li>Android\u30a2\u30d7\u30ea\u306f\u82e5\u5e72\u30d0\u30b0\u3063\u3066\u308b\n<ul>\n<li>\u5f8c\u8ff0\u3002<\/li>\n<\/ul>\n<\/li>\n<li>versa\u4e0a\u3067\u52d5\u304f\u30a2\u30d7\u30ea\u306f\u3042\u3093\u307e\u308a\u7121\u3044\n<ul>\n<li>\u3082\u3063\u3068\u5897\u3048\u305f\u3089\u697d\u3057\u3044\u306e\u306b\u30fb\u30fb\u30fb\u30fb(\u3057\u304b\u3057\u3069\u3093\u306a\u30a2\u30d7\u30ea\u304c\u6b32\u3057\u3044\u304b\u3068\u3044\u3046\u3068\u601d\u3044\u3064\u304b\u306a\u3044)<\/li>\n<\/ul>\n<\/li>\n<li>versa\u306e\u6642\u8a08\u76e4\u306e\u7a2e\u985e\u3082(\u3088\u3055\u3052\u306a\u306e\u306f)\u305d\u3093\u306a\u306b\u591a\u304f\u306a\u3044\n<ul>\n<li>\u307e\u3041\u3001\u9811\u5f35\u308d\u3046<\/li>\n<\/ul>\n<\/li>\n<li>\u968e\u6570\u30ab\u30a6\u30f3\u30c8\u306f\u4f55\u3092\u57fa\u6e96\u306b\u30ab\u30a6\u30f3\u30c8\u3057\u3066\u308b\u306e\u304b\u8b0e\u3002<\/li>\n<li>\u5929\u6c17\u4e88\u5831\u3001\u30b9\u30de\u30db\u5074\u3067\u8a2d\u5b9a\u3067\u304d\u308b\u753b\u9762\u304c\u3042\u308b\u3051\u3069\u7d50\u5c40\u73fe\u5728\u5730\u3057\u304b\u8868\u793a\u3067\u304d\u3066\u306a\u3044\u3002\n<ul>\n<li>\u3088\u304f\u308f\u304b\u3089\u3093\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u30a2\u30e9\u30fc\u30e0\u3001\u3082\u3046\u5c11\u3057\u9577\u304f\u9cf4\u3063\u3066\u6b32\u3057\u3044<\/li>\n<\/ul>\n<h2 id=\"android\u30a2\u30d7\u30ea\u306e\u30d0\u30b0\">Android\u30a2\u30d7\u30ea\u306e\u30d0\u30b0<\/h2>\n<p>Android\u7528\u306efitbit\u30a2\u30d7\u30ea\u304c\u82e5\u5e72\u30d0\u30b0\u3063\u3066\u307e\u3057\u305f\u3002\u3059\u3067\u306b\u5831\u544a\u6e08\u307f\u3067\u3059\u304c\u3001\u307e\u3041\u30d1\u30c3\u3068\u306f\u6cbb\u3089\u306a\u3044\u69d8\u5b50\u3002\u4ed5\u65b9\u306a\u3044\u3002\n\u5177\u4f53\u7684\u306b\u306f\u3001\u7761\u7720\u306e\u30da\u30fc\u30b8\u3092\u958b\u304d(\u3053\u306e\u3068\u304d\u306f\u554f\u984c\u306a\u3044)\u3001\u7761\u7720\u306e\u65e5\u5225\u8a73\u7d30\u3092\u958b\u3044\u3066\u623b\u308b\u3068\u3001\u306a\u3093\u3068\u30c7\u30fc\u30bf\u306e\u4e00\u89a7\u304c\u5897\u6b96\u3059\u308b\u3002\n\u5c1a\u52d5\u4f5c\u74b0\u5883\u306fZenfone 5Z\u3001Android 8.0.0\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/images\/1_hu_6ef88615a20c9bfd.jpg\" alt=\"1\" \/>\n\u7761\u7720\u306e\u30da\u30fc\u30b8\u3002\u554f\u984c\u306f\u306a\u3055\u305d\u3046\u306b\u898b\u3048\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/images\/2_hu_fa986494560f6c2c.jpg\" alt=\"2\" \/>\n\u7761\u7720\u306e\u65e5\u5225\u8a73\u7d30\u30da\u30fc\u30b8\u3092\u958b\u3044\u3066\u623b\u3063\u3066\u304d\u305f\u753b\u9762\u3002\u540c\u3058\u30c7\u30fc\u30bf\u3060\u304c\u3001\u753b\u9762\u8868\u793a\u304c\u5897\u3048\u3066\u3044\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/images\/3_hu_2407ae9733563c3d.jpg\" alt=\"3\" \/>\n\u3082\u3046\u4e00\u5ea6\u8a73\u7d30\u3092\u958b\u3044\u3066\u623b\u3063\u3066\u304d\u305f\u753b\u9762\u3002\u5897\u3048\u308b\u3002\u5897\u3048\u308b\u30fb\u30fb\u30fb\u3002<\/p>"},{"title":"EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304b\u3089EKS\u4e0a\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30a2\u30af\u30bb\u30b9\u3057\u305f\u3044","link":"https:\/\/blog.web-apps.tech\/eks-internal-lb\/","pubDate":"Sun, 02 Sep 2018 03:04:50 +0000","guid":"https:\/\/blog.web-apps.tech\/eks-internal-lb\/","description":"<h2 id=\"trdr\">TR;DR<\/h2>\n<ul>\n<li>Kubernetes\u306e<code>Service<\/code>\u3067\u3001Internal LoadBalancer\u3063\u3066\u306e\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u308c\u3092\u4f7f\u3046\u3068\u826f\u3044<\/li>\n<\/ul>\n<h2 id=\"internal-loadbalancer\">Internal LoadBalancer<\/h2>\n<p>\u7686\u3055\u3093\u306fEKS\u3001\u3082\u3046\u4f7f\u3063\u3066\u307e\u3059\u304b\uff1f\u79c1\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\u696d\u52d9\u30b7\u30b9\u30c6\u30e0\u3092\u30ea\u30d7\u30ec\u30fc\u30b9\u3067\u65b0\u898f\u958b\u767a\u3059\u308b\u7684\u306a\u6848\u4ef6\u3067\u3001\u65b0\u30b7\u30b9\u30c6\u30e0\u306e\u57fa\u76e4\u304cEKS\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u3002EKS\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u7d20\u6575\u306b\u6c17\u6301\u3061\u60aa\u3044\u611f\u3058\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u666e\u901a\u306fKubernetes\u306e\u30af\u30e9\u30b9\u30bf\u5185\u90e8\u3063\u3066\u3044\u3046\u306e\u306f\u3001\u5916\u5074\u3068\u5225\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u4f5c\u308b\u8a33\u306a\u3093\u3067\u3059\u304c\u3001\u306a\u3093\u3068EKS\u304c\u6240\u5c5e\u3059\u308bVPC\u3068\u540c\u3058\u30b5\u30d6\u30cd\u30c3\u30c8\u3067\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u3093\u306a\u308f\u3051\u3067\u3001\u540c\u4e00VPC\u306b\u5b58\u5728\u3057\u305f\u308a\u3001VPC Peering\u3057\u305f\u308a\u306a\u3093\u304b\u3057\u3061\u3083\u3063\u3066\u308bEC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3068EKS\u4e0a\u306e<code>Pod<\/code>\u306fIP\u30a2\u30c9\u30ec\u30b9\u30d9\u30fc\u30b9\u3067\u306f\u666e\u901a\u306b\u63a5\u7d9a\u304c\u3068\u308c\u3061\u3083\u3063\u305f\u308a\u3059\u308b\u3093\u3067\u3059\u3002\nEKS\u4e0a\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u3001EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3078\u30a2\u30af\u30bb\u30b9\u3057\u305f\u3044\u3068\u304d\u306f\u3001\u666e\u901a\u306bEC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306eIP\u30a2\u30c9\u30ec\u30b9\u3084\u3089\u5185\u90e8\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3078\u30a2\u30af\u30bb\u30b9\u3059\u308c\u3070\u826f\u3044\u3067\u3059\u306d\u3002EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u52d5\u304d\u3063\u3071\u306a\u3057\u306a\u3089\u307e\u3041\u3055\u307b\u3069IP\u3082\u5909\u308f\u3089\u3093\u3067\u3057\u3087\u3046(\u96d1)\u3002<\/p>\n<p>\u3057\u304b\u3057\u9006\u306f\u554f\u984c\u3067\u3059\u3002<code>Pod<\/code>\u306eIP\u306f\u52ff\u8ad6\u5272\u308a\u632f\u3089\u308c\u3066\u306f\u3044\u307e\u3059\u3051\u308c\u3069\u3001\u3053\u308c\u306f<code>Pod<\/code>\u304c\u518d\u751f\u6210\u3055\u308c\u308b\u3068\u52ff\u8ad6\u5909\u308f\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u52d5\u304d\u3063\u3071\u306a\u3057\u3060\u304b\u3089\u5909\u308f\u3089\u306a\u3044\u3001\u306a\u3093\u3066\u8a00\u3046\u3053\u3068\u3082\u3067\u304d\u306a\u3044\u3067\u3059\u3002EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u4e0a\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u66f4\u65b0\u306a\u3093\u304b\u3082\u3057\u3061\u3083\u3046\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u3051\u3069\u3001EKS\u4e0a\u306e<code>Pod<\/code>\u306b\u4e57\u3063\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u66f4\u65b0\u306f\u666e\u901a\u3001<code>Pod<\/code>\u306e\u518d\u4f5c\u6210\u304c\u4f34\u3044\u307e\u3059\u3002<code>Pod<\/code>\u306e\u518d\u4f5c\u6210\u304c\u8d77\u304d\u308b\u3068\u3001\u52ff\u8ad6IP\u304c\u5909\u308f\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u3046\u3059\u308b\u3068\u3001\u3084\u306f\u308a\u8003\u3048\u308b\u306e\u306f<code>Service<\/code>\u3092\u3064\u304f\u308b\u3053\u3068\u3067\u3059\u306d\u3002\u5916\u90e8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306b\u306f\u305d\u3046\u3057\u307e\u3059\u304b\u3089\u3001\u540c\u3058\u3088\u3046\u306b\u8003\u3048\u308b\u306e\u304c\u666e\u901a\u3067\u3059\u3002\n\u3057\u304b\u3057\u3001\u3053\u3053\u3067\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3059\u3002\u666e\u901a\u306b\u5916\u90e8\u5411\u3051\u306b\u516c\u958b\u3059\u308b\u306e\u3068\u540c\u3058\u3088\u3046\u306b<code>Service<\/code>\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001\u30b0\u30ed\u30fc\u30d0\u30ebIP\u304c\u5f53\u305f\u3063\u3066\u3057\u307e\u3044\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8IP\u30d9\u30fc\u30b9\u3067\u63a5\u7d9a\u3067\u304d\u308b\u72b6\u6cc1\u3067\u306f\u63a5\u7d9a\u304c\u3067\u304d\u306a\u3044\u306e\u3067\u3059\u3002\u56f0\u3063\u305f\u3002<\/p>\n<p>\u307e\u3041\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3061\u3083\u3093\u3068\u8aad\u3081\u3088\u3063\u3066\u8a71\u306a\u3093\u3067\u3059\u304c\u3001<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/service\/\" target=\"_blank\" rel=\"noopener\">Kubernetes\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u3092\u8aad\u3080\u3068\u3001Internal LoadBalancer\u3063\u3066\u306e\u304c\u3061\u3083\u3093\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002AWS\u306e\u65b9\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u7121\u304b\u3063\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u76f2\u70b9\u3067\u3057\u305f\u3002annotation\u3067\u6b21\u306e\u69d8\u306b\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"c\"># ...<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">my-service<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">annotations<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">service.beta.kubernetes.io\/aws-load-balancer-internal<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">0.0.0.0<\/span><span class=\"l\">\/0<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c\"># ...<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u3060\u3051\u3067\u3001<code>type: LoadBalancer<\/code>\u3067\u4f5c\u6210\u3055\u308c\u308bELB\u304c\u5185\u90e8\u5411\u3051\u306e\u3082\u306e\u306b\u306a\u308a\u307e\u3059\u3002internal-\u306a\u3093\u3061\u3083\u3089\u307f\u305f\u3044\u306a\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002IP\u30a2\u30c9\u30ec\u30b9\u3082\u3057\u3063\u304b\u308a\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8IP\u3067\u3059\u3002\u6700\u9ad8\u3002\u5f8c\u308d\u306e<code>0.0.0.0\/0<\/code>\u306e\u3068\u3053\u308d\u3067\u3001\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308bIP\u30ec\u30f3\u30b8\u5236\u9650\u3067\u304d\u308b\u306e\u304b\u306a\u30fc\u306a\u3093\u3066\u5e0c\u671b\u7684\u89b3\u6e2c\u3092\u6301\u3061\u307e\u3057\u305f\u304c\u3001\u5168\u7136\u95a2\u4fc2\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u3061\u3087\u3063\u3068\u6c17\u6301\u3061\u60aa\u3044\u306e\u306f\u3001\u666e\u901a\u306b\u30d1\u30d6\u30ea\u30c3\u30afDNS\u3067\u540d\u524d\u5f15\u304d\u304c\u3067\u304d\u3066\u3057\u307e\u3046\u3053\u3068\u3067\u3059\u304b\u306d\u3002\u5168\u7136\u95a2\u4fc2\u306a\u3044\u5916\u90e8\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u304b\u3067\u3082(\u30d1\u30d6\u30ea\u30c3\u30afDNS\u306b\u540d\u524d\u304c\u3042\u308b\u306e\u3067)\u540d\u524d\u89e3\u6c7a\u304c\u3067\u304d\u3066\u3057\u307e\u3063\u3066\u3001\u304b\u3064\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u5e30\u3063\u3066\u6765\u308b\u3068\u3044\u3046\u4e0d\u601d\u8b70\u306a\u4f53\u9a13\u3092\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ nslookup internal-xxxxx.us-west-2.elb.amazonaws.com 1.1.1.1\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Server: 1.1.1.1\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Address: 1.1.1.1#53\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Non-authoritative answer:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Name: internal-xxxxx.us-west-2.elb.amazonaws.com\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Address: 192.168.187.214\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Name: internal-xxxxx.us-west-2.elb.amazonaws.com\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Address: 192.168.222.128\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Name: internal-xxxxx.us-west-2.elb.amazonaws.com\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Address: 192.168.109.84\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3046\u30fc\u3093\u3001\u307e\u3041\u5b9f\u5bb3\u306f\u7121\u3044\u3093\u3067\u3057\u3087\u3046\u3051\u3069\u3002<\/p>"},{"title":"fitbit versa\u3092\u8cfc\u5165\u3057\u305f\u306e\u3067\u958b\u5c01\u306e\u5100","link":"https:\/\/blog.web-apps.tech\/fitbit-versa\/","pubDate":"Sat, 01 Sep 2018 14:48:35 +0000","guid":"https:\/\/blog.web-apps.tech\/fitbit-versa\/","description":"<p>\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u7684\u306a\u3082\u306e\u304c\u6b32\u3057\u3044\u306a\u30fc\u3068\u601d\u3063\u305f\u306e\u3067\u3001<a href=\"https:\/\/www.fitbit.com\/jp\/versa\" target=\"_blank\" rel=\"noopener\">fitbit versa<\/a>\n\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\nfitbit versa\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001<a href=\"https:\/\/www.fitbit.com\/jp\/home\" target=\"_blank\" rel=\"noopener\">fitbit<\/a>\n\u304c\u4eca\u5e74(2018)\u306e6\u6708\u306b\u767a\u58f2\u3057\u305f\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u3067\u3059\u3002\u30c8\u30c3\u30d7\u306e\u5199\u771f\u304b\u3089\u3082\u308f\u304b\u308b\u3088\u3046\u306b\u3001\u82e5\u5e72<a href=\"https:\/\/www.apple.com\/jp\/watch\/\" target=\"_blank\" rel=\"noopener\">Apple Watch<\/a>\n\u306b\u4f3c\u3066\u3044\u307e\u3059\u3002\n\u5143\u3005\u3001<a href=\"https:\/\/www.google.com\/search?q=Huawei&#43;Watch&#43;1&amp;safe=off&amp;client=firefox-b-ab&amp;source=lnms&amp;tbm=isch&amp;sa=X&amp;ved=0ahUKEwibufDF_ZndAhVGGsAKHd0QA0oQ_AUICygC&amp;biw=1366&amp;bih=706\" target=\"_blank\" rel=\"noopener\">Huawei Watch<\/a>\n\u304c\u6b32\u3057\u3044\u306a\u30fc\u3068\u6570\u5e74\u524d\u306b\u601d\u3063\u3066\u3044\u305f\u3093\u3067\u3059\u304c\u3001(\u5f53\u7136\u306a\u304c\u3089)<a href=\"https:\/\/consumer.huawei.com\/jp\/wearables\/watch2\/\" target=\"_blank\" rel=\"noopener\">\u65b0\u3057\u3044\u30e2\u30c7\u30eb<\/a>\n\u304c\u51fa\u3066\u304a\u308a\u3001\u3053\u308c\u304c\u307e\u305f\u521d\u4ee3\u306eHuawei Watch\u3068\u306f\u5168\u304f\u65b9\u5411\u6027\u306e\u9055\u3046\u30b9\u30dd\u30fc\u30c4\u30bf\u30a4\u30d7\u3002\u3053\u308c\u306f\u3061\u3087\u3063\u3068\u30fb\u30fb\u30fb\u3068\u8a00\u3046\u3053\u3068\u3067<a href=\"https:\/\/gigazine.net\/news\/20151004-pebble-time-round\/\" target=\"_blank\" rel=\"noopener\">Pebble<\/a>\n\u3082\u3044\u3044\u306a\u3001\u3068\u63a2\u3057\u3066\u307f\u308b\u3068\u3001\u3044\u3064\u306e\u9593\u306b\u3084\u3089\u30b5\u30dd\u30fc\u30c8\u304c\u7d42\u308f\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u3088\u304f\u3088\u304f\u8abf\u3079\u308b\u3068\u3001Pebble\u306f<a href=\"http:\/\/healthcare.itmedia.co.jp\/hc\/articles\/1612\/23\/news005.html\" target=\"_blank\" rel=\"noopener\">fitbit\u306b\u8cb7\u53ce\u3055\u308c\u305f<\/a>\n\u3068\u306e\u3053\u3068\u3067\u3057\u305f\u3002\u304b\u3068\u3044\u3063\u3066Apple Watch\u3092\u8cb7\u3046\u304b\u3068\u3044\u3046\u3068\u3001\u79c1\u306f<a href=\"https:\/\/www.android.com\/\" target=\"_blank\" rel=\"noopener\">Android<\/a>\n\u30e6\u30fc\u30b6\u3067\u3059\u304b\u3089\u3001\u305d\u3046\u3044\u3046\u9078\u629e\u80a2\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u305d\u3046\u3053\u3046\u8003\u3048\u306a\u304c\u3089\u3044\u308d\u3044\u308d\u691c\u7d22\u3057\u305f\u308a\u306a\u3093\u304b\u3057\u3066\u3044\u305f\u3093\u3067\u3059\u304c\u3001fitbit versa\u304c\u5b9f\u8cea\u7684\u306bPebble\u306e\u5f8c\u7d99\u3067\u3042\u308b\u3068\u3044\u3046\u60c5\u5831\u3092\u898b\u305f\u308a<a href=\"http:\/\/rebuild.fm\/209\/\" target=\"_blank\" rel=\"noopener\">\u805e\u3044\u305f\u308a<\/a>\n\u3057\u307e\u3057\u305f\u3002\u304a\u5024\u6bb5\u3082\u304a\u624b\u9803\u3067\u3001\u3053\u308c\u306a\u3089\u307e\u3041\u3044\u3056\u5fae\u5999\u3067\u3082\u3001\u8cb7\u3044\u63db\u3048\u3082\u3067\u304d\u308b\u304b\u306a\u3001\u3068\u3044\u3046\u6c17\u6301\u3061\u3082\u3042\u308a\u3001\u8cfc\u5165\u306b\u8e0f\u307f\u5207\u308a\u307e\u3057\u305f\u3002(fossil\u306e\u65b0\u3057\u3044\u3084\u3064\u3082\u3088\u3055\u3052\u306a\u3093\u3067\u3059\u304c\u3001\u30c9\u30eb\u3067\u898b\u305f\u91d1\u984d\u3068\u5186\u3067\u898b\u305f\u91d1\u984d\u304c\u5927\u5e45\u306b\u9055\u3063\u3066\u840e\u3048\u307e\u3057\u305f)<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/images\/4F3EBB43-D9E2-4D2D-A408-8CB751ACFDFE_hu_8b74a992efbf28c2.jpg\" alt=\"outsitde_box\" \/>\n\u5916\u7bb1\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002fitbit versa\u306f\u3001\u901a\u5e38\u30e2\u30c7\u30eb(\u30b7\u30ea\u30b3\u30f3\uff1f\u30b4\u30e0\uff1f\u306e\u30d0\u30f3\u30c9)\u304c3\u7a2e\u985e\u3068\u3001SPECIAL EDITION(\u5e03\u30d0\u30f3\u30c9)\u304c2\u7a2e\u985e\u306e\u8a085\u7a2e\u985e\u3067\u5c55\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u5143\u3005\u6d77\u5916\u30e2\u30c7\u30eb\u3067\u306fSPECIAL EDITION\u306b\u306e\u307fNFC\u304c\u642d\u8f09\u3055\u308c\u3066\u3044\u308b\u3068\u3044\u3046\u9055\u3044\u304c\u3042\u3063\u305f\u3088\u3046\u306a\u306e\u3067\u3059\u304c\u3001\u65e5\u672c\u7248\u3067\u306f\u6a5f\u80fd\u7684\u9055\u3044\u306f\u7121\u3044\u3088\u3046\u3067\u3059\u3002\n\u901a\u5e38\u30e2\u30c7\u30eb\u306e\u9ed2\u3068\u3001SPECIAL EDITION\u306e\u30b0\u30ec\u30fc\u3067\u3059\u3054\u304f\u60a9\u307f\u307e\u3057\u305f\u3002\u672c\u4f53\u306e\u8272\u306f\u30b0\u30e9\u30d5\u30a1\u30a4\u30c8\u306e\u65b9\u304c\u826f\u3055\u305d\u3046\u3060\u3057\u3001\u30d0\u30f3\u30c9\u3082\u5e03\u306e\u65b9\u304c\u3088\u3055\u3052\u306b\u898b\u3048\u305f\u3093\u3067\u3059\u304c\u3001\u5e03\u30d0\u30f3\u30c9\u306f\u6fe1\u308c\u305f\u3089\u4e7e\u304f\u307e\u3067\u6642\u9593\u304b\u304b\u308a\u305d\u3046\u306a\u306e\u3067\u3001\u30b4\u30e0\u30d0\u30f3\u30c9\u306e\u307b\u3046\u304c\u826f\u3044\u306e\u304b\u306a\u30fb\u30fb\u30fb\u3068\u30fb\u30fb\u30fb(\u5e97\u982d\u3067\u60a9\u307f\u7d9a\u3051\u305f\u306e\u3067\u82e5\u5e72\u602a\u3057\u304b\u3063\u305f\u304b\u3082\uff1f)\u3002\u3067\u3082\u307e\u3041\u3001\u672c\u4f53\u306e\u8272\u306f\u30d6\u30e9\u30c3\u30af\u3088\u308a\u30b0\u30e9\u30d5\u30a1\u30a4\u30c8\u306e\u65b9\u304c\u3088\u3055\u3052\u3067\u3057\u305f\u3057\u3001\u30b4\u30e0\u30d0\u30f3\u30c9\u306f\u7d14\u6b63\u306e\u4ea4\u63db\u30d0\u30f3\u30c9\u3068\u3057\u3066\u58f2\u3063\u3066\u308b\u304b\u3089\u3001\u5f8c\u3067\u8cb7\u3046\u3053\u3068\u3082\u3067\u304d\u308b\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u3067SPECIAL EDITION\u306e\u30b0\u30ec\u30fc\u306b\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u30d3\u30c3\u30af\u30ab\u30e1\u30e9\u3067\u8cb7\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u30d3\u30c3\u30af\u30ab\u30e1\u30e9\u3067\u306f\u30ab\u30fc\u30c9\u306e\u69d8\u306a\u3082\u306e\u3092\u30ec\u30b8\u306b\u6301\u3063\u3066\u884c\u304f\u3093\u3067\u3059\u3002\u3067\u3001\u5546\u54c1\u3092\u53d7\u3051\u53d6\u3063\u3066\u307f\u305f\u3089\u7bb1\u306e\u53f3\u4e0b\u306b\u300cPLUS EXTRA CLASSIC BAND\u300d\u306e\u6587\u5b57\u30fb\u30fb\u30fb\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/images\/492831AA-30E8-443F-ACD3-5C530E3F572E_hu_ddd92d37e4d8cc0f.jpg\" alt=\"EXTRA BAND\" \/>\n\u5e30\u3063\u3066\u304b\u3089\u958b\u5c01\u3057\u3066\u307f\u305f\u3089\u3001\u6848\u306e\u5b9a\u901a\u5e38\u30e2\u30c7\u30eb\u3068\u540c\u3058\u30af\u30e9\u30b7\u30c3\u30af\u30d0\u30f3\u30c9\u304c\u4ed8\u5c5e\u3057\u3066\u307e\u3057\u305f\u3002\u3064\u3044\u3066\u308b\u306a\u3089\u65e9\u3081\u306b\u8a00\u3063\u3066\u307b\u3057\u304b\u3063\u305f\u30fb\u30fb\u30fb\u3042\u308c\u3060\u3051\u5e97\u982d\u3067\u60a9\u3093\u3060\u79c1\u306e\u6642\u9593\u3068\u306f\u30fb\u30fb\u30fb\u3002!<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/images\/B658E26C-E76D-43C2-AC7E-44FC69657626_hu_66988d8ea9dbd35e.jpg\" alt=\"film\" \/>\n\u672c\u4f53\u306e\u753b\u9762\u3092\u4fdd\u8b77\u3057\u3066\u3044\u305f\u30d5\u30a3\u30eb\u30e0\u3092\u53d6\u3063\u3066\u307f\u3066\u6c17\u3065\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u5c0f\u3055\u306a\u30af\u30c3\u30b7\u30e7\u30f3\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3064\u3044\u3066\u307e\u3057\u305f\u3002\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u3055\u3089\u306a\u3044\u69d8\u306b\u3068\u306e\u914d\u616e\u306a\u3093\u3067\u3057\u3087\u3046\u3051\u3069\u3001\u3053\u3046\u3044\u3046\u7d30\u304b\u3044\u6c17\u9063\u3044\u306f\u521d\u3081\u3066\u898b\u305f\u306e\u3067\u5c11\u3057\u3060\u3051\u611f\u52d5\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/fitbit-versa\/images\/10D458F1-4F09-451B-B04D-3A1DFA129DFB_hu_c39158a3f590365b.jpg\" alt=\"versa\" \/>\n\u975e\u5e38\u306b\u8efd\u304f\u3001\u305d\u3057\u3066\u30a8\u30c3\u30b8\u304c\u524a\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u8584\u304f\u898b\u3048\u308b\u305f\u3081\u3001\u975e\u5e38\u306b\u30b9\u30de\u30fc\u30c8\u3067\u3059\u3002\u5199\u771f\u3067\u898b\u308b\u9650\u308a\u3067\u306f\u30d9\u30bc\u30eb\u304c\u7d50\u69cb\u5e45\u5e83\u306a\u306e\u304c\u6c17\u306b\u304b\u304b\u3063\u305f(\u6700\u8fd1\u306fZenfone 5Z\u3092\u4f7f\u3063\u3066\u3044\u308b\u3053\u3068\u3082\u3042\u308a\u3001\u30d9\u30bc\u30eb\u306f\u5c0f\u3055\u3044\u65b9\u304c\u3044\u3044\u306a\u30fc\u3068\u601d\u3063\u3066\u3044\u305f)\u306e\u3067\u3059\u304c\u3001\u5b9f\u969b\u753b\u9762\u3092\u3064\u3051\u3066\u307f\u308b\u3068\u3001\u610f\u5916\u3068\u6c17\u306b\u306a\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u5143\u3005\u8155\u6642\u8a08\u306a\u3069\u3001\u8155\u306b\u4f55\u304b\u3092\u3064\u3051\u308b\u3068\u3044\u3046\u7fd2\u6163\u304c\u306a\u3044\u306e\u3067\u3001\u3069\u3046\u306a\u308b\u304b\u308f\u304b\u308a\u307e\u305b\u3093\u304c\u3001\u3057\u3070\u3089\u304f\u4f7f\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>"},{"title":"\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6","link":"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/","pubDate":"Thu, 23 Aug 2018 04:53:46 +0000","guid":"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/","description":"<p>\u8da3\u5473\u3067\u30b5\u30fc\u30d0\u30fc\u904b\u7528\u3092\u3057\u3066\u3044\u307e\u3059\u3002\u672d\u5e4c\u5728\u4f4f\u306e\u5927\u5b66\u751f\u6642\u4ee3\u304b\u3089\u904b\u7528\u3092\u958b\u59cb\u3057\u3001\u5f15\u3063\u8d8a\u3057\u306b\u4f34\u3044\u671d\u971e\u3078\u79fb\u8a2d\u3001\u73fe\u5728\u306f\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u81ea\u5b85\u5916\u306e\u30e9\u30c3\u30af\u3078\u79fb\u8a2d\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u5909\u308f\u3089\u305a\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\n\u3053\u306e\u300c\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u300d\u306f\u8cfc\u5165\u5f53\u521d\u304b\u3089KVM\u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f(<a href=\"https:\/\/opennebula.org\/\" target=\"_blank\" rel=\"noopener\">OpenNebula<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059)\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30af\u30e9\u30a6\u30c9\u57fa\u76e4\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u4eca\u3082\u5909\u308f\u3089\u305a\u30d9\u30fc\u30b9\u306fOpenNebula\/KVM\u306a\u306e\u3067\u3059\u304c\u3001\u3053\u306e\u5ea6\u6674\u308c\u3066<a href=\"https:\/\/kubernetes.io\/\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u3092\u4e2d\u5fc3\u3068\u3057\u305f\u69cb\u6210\u306b\u7d44\u307f\u66ff\u3048\u305f\u306e\u3067\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002\n\u5c1a\u3001\u30b5\u30fc\u30d0\u53f0\u30fb\u96fb\u6c17\u4ee3\u30fb\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4ee3\u3092\u9664\u304f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u6599\u91d1\u306f\u57fa\u672c\u7684\u306b\u7121\u6599\u3067\u6e08\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u7269\u7406\u5c64\">\u7269\u7406\u5c64<\/h2>\n<p>\u3053\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30af\u30e9\u30a6\u30c9\u57fa\u76e4\u306f3\u5c64\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/images\/3-layered_hu_a476b73faa0136e1.png\" alt=\"3-layered\" \/>\n<\/p>\n<p>\u305d\u306e\u6700\u3082\u4e0b\u306e\u5c64\u304c\u7269\u7406\u5c64\u3067\u3059\u3002\u305d\u306e\u540d\u306e\u901a\u308a\u7269\u7406\u30b5\u30fc\u30d0\u305d\u306e\u3082\u306e\u3067\u3059\u306d\u3002\u7269\u7406\u30b5\u30fc\u30d0\u3068\u3057\u3066DELL\u306eR410(\u30e4\u30d5\u30aa\u30af\u30671\u4e07\u5f31\u3067\u8cfc\u5165\u30fb4\u30b3\u30a28\u30b9\u30ec\u30c3\u30c9\u00d72\u3001\u30e1\u30e2\u30ea16GB)\u3068DL360Gen6\u4e00\u53f7\u6a5f(\u4f1a\u793e\u306e\u51e6\u5206\u54c1\u3092\u3082\u3089\u3063\u3066\u304d\u305f\u30fb4\u30b3\u30a24\u30b9\u30ec\u30c3\u30c9\u00d72\u3001\u30e1\u30e2\u30ea24GB)\u3001DL360Gen6\u4e8c\u53f7\u6a5f(\u4f1a\u793e\u306e\u51e6\u5206\u54c1\u3092\u3082\u3089\u3063\u3066\u304d\u305f\u30fb4\u30b3\u30a28\u30b9\u30ec\u30c3\u30c9\u00d72\u3001\u30e1\u30e2\u30ea24GB)\u306e\u4e09\u53f0\u3067\u3001\u305d\u308c\u305e\u308cubuntu 16.04LTS\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u843d\u3061\u7740\u3044\u305f\u308918.04LTS\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u305f\u3044\u3002\n\u57fa\u672c\u7684\u306b\u96fb\u6e90\u3084LAN\u306f\u5197\u9577\u5316\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u96fb\u6e90\u3084NIC\u306b\u554f\u984c\u304c\u3042\u308b\u3068\u5373\u6b7b\u4ea1\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"vm\u5c64\">VM\u5c64<\/h2>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/images\/vms_hu_660e7a7175f46733.png\" alt=\"vms\" \/>\n<\/p>\n<p>\u7269\u7406\u5c64\u306e\u4e0a\u306b\u69cb\u6210\u3055\u308c\u3066\u3044\u308b\u306e\u304cVM\u5c64\u3067\u3059\u3002OpenNebula\/KVM\u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001Web UI\u304b\u3089\u30dd\u30c1\u30dd\u30c1\u30c3\u3068VM\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4eca\u56deKubernetes\u3067\u6574\u3048\u308b\u524d\u306f\u3001VM\u3068\u3057\u3066<a href=\"https:\/\/nginx.org\/en\/\" target=\"_blank\" rel=\"noopener\">nginx<\/a>\n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3057\u3001\u5916\u304b\u3089\u306e80\/443\u30dd\u30fc\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u634c\u304f\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u672c\u30d6\u30ed\u30b0\u3082\u9577\u3089\u304f\u5358\u4f53VM\u4e0a\u306e<a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker<\/a>\n\u30b3\u30f3\u30c6\u30ca\u3068\u3057\u3066\u7a3c\u50cd\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u57fa\u672c\u7684\u306bVM\u306b\u306fCentOS 7\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u307e\u3059\u3002\n\u4eca\u56de\u306e\u69cb\u6210\u5909\u66f4\u3067\u3001VM\u306f\u57fa\u672c\u7684\u306bKubernetes\u306e\u30ce\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u3046\u3088\u3046\u306b\u5909\u66f4\u3001\u76f4\u63a5VM\u4e0a\u3067\u52d5\u4f5c\u3057\u3066\u3044\u308b\u306e\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u63d0\u4f9b\u3059\u308b<a href=\"https:\/\/www.minio.io\/\" target=\"_blank\" rel=\"noopener\">minio<\/a>\n\u3068\u30d6\u30ed\u30c3\u30af\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u63d0\u4f9b\u3059\u308b<a href=\"https:\/\/github.com\/gluster\/glusterdocs\/\" target=\"_blank\" rel=\"noopener\">GlusterFS<\/a>\n\u306e\u307f\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\u5c1a\u3001GlusterFS\u30af\u30e9\u30b9\u30bf\u306e\u69cb\u6210\u306b\u306f<a href=\"https:\/\/github.com\/heketi\/heketi\" target=\"_blank\" rel=\"noopener\">heketi<\/a>\n\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30b3\u30f3\u30c6\u30ca\u5c64\">\u30b3\u30f3\u30c6\u30ca\u5c64<\/h2>\n<p>\u6700\u3082\u4e0a\u306e\u5c64\u304c\u30b3\u30f3\u30c6\u30ca\u5c64\u3067\u3059\u3002\u3053\u3053\u307e\u3067\u306e\u8a71\u304b\u3089\u308f\u304b\u308b\u3088\u3046\u306b\u3001Kubernetes\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u56db\u53f0\u306eCentOS 7\u3092\u30af\u30e9\u30b9\u30bf\u30ce\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3001Kubernetes\u81ea\u4f53\u306e\u69cb\u6210\u7ba1\u7406\u306f<a href=\"https:\/\/github.com\/kubernetes-incubator\/kubespray\" target=\"_blank\" rel=\"noopener\">kubespray<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u73fe\u5728\u306fKubernetes 1.11.1\u3067\u3059\u3002\u672c\u30d6\u30ed\u30b0\u3082Kubernetes\u4e0a\u306e\u30b3\u30f3\u30c6\u30ca\u3068\u3057\u3066\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\nPersistent Volume\u3068\u3057\u3066VM\u4e0a\u306b\u69cb\u6210\u3057\u305fGlusterFS\u3092\u4f7f\u7528\u3001\u672c\u30d6\u30ed\u30b0\u7b49\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u5148\u3068\u3057\u3066minio\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\u5f53\u521d\u306fVM\u4e0a\u306b\u69cb\u6210\u3057\u305fnginx\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u305d\u306e\u307e\u307e\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u672c\u30d6\u30ed\u30b0\u3092\u542b\u3081\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u9806\u6b21Kubernetes\u30af\u30e9\u30b9\u30bf\u4e0a\u306e\u30b3\u30f3\u30c6\u30ca\u3068\u3057\u3066\u79fb\u8a2d\u3057\u3066\u3044\u3063\u305f\u7d50\u679c\u3001nginx\u306eVM\u3060\u3051\u5225\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u306b\u4e0d\u4fbf\u3092\u611f\u3058\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f(\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306e\u8a2d\u5b9a\u306f\u624b\u4f5c\u696d\u3067\u8a2d\u5b9a\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3057\u30fb\u30fb\u30fb)\u3002\u3057\u304b\u3057\u3001VM\u4e0a\u306enginx\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3092\u5ec3\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u4e8c\u3064\u306e\u554f\u984c\u70b9\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<ul>\n<li>\u7d20Kubernetes\u3067\u306f<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/ingress\/\" target=\"_blank\" rel=\"noopener\"><code>Ingress<\/code><\/a>\n\u304c\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u30db\u30b9\u30c8\u540d\u30d9\u30fc\u30b9\u306e\u632f\u308a\u5206\u3051\u304c\u51fa\u6765\u306a\u3044<\/li>\n<li><a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener\">Let&rsquo;s Encrypt<\/a>\n\u306e\u8a3c\u660e\u66f8\u3092\u7ba1\u7406\u3059\u308bVM\u304c\u3044\u306a\u304f\u306a\u308b<\/li>\n<\/ul>\n<p>\u3053\u308c\u3089\u3092\u89e3\u6c7a\u3057\u306a\u3044\u3053\u3068\u306b\u306fnginx VM\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002\n\u89e3\u6c7a\u306e\u305f\u3081\u306b\u307e\u305a\u3001<code>kind: Ingress<\/code>\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u5b9f\u88c5\u3068\u3057\u3066<a href=\"https:\/\/kubernetes.github.io\/ingress-nginx\/\" target=\"_blank\" rel=\"noopener\">ingress-nginx<\/a>\n\u3092<a href=\"https:\/\/blog.web-apps.tech\/ingress-nginx-on-prem\/\">\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f<\/a>\n\u3002<code>Ingress<\/code>\u304c\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3053\u3068\u3067\u3001\u30af\u30e9\u30b9\u30bf\u5916\u306e\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3092\u631f\u307e\u305a\u3068\u3082\u30db\u30b9\u30c8\u540d\u30d9\u30fc\u30b9\u306e\u632f\u308a\u5206\u3051\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\ningress-nginx\u306f<code>Service type: NodePort<\/code>\u3067\u3082\u4f7f\u7528\u3067\u304d\u308b\u306e\u3067\u3059\u304c\u3001\u6298\u89d2\u306a\u306e\u3067<code>Service type: LoadBalancer<\/code>\u3092\u4f7f\u7528\u3057\u305f\u3044\u3067\u3059\u3088\u306d\uff1f<code>type: LoadBalancer<\/code>\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u5b9f\u88c5\u3068\u3057\u3066<a href=\"https:\/\/metallb.universe.tf\/\" target=\"_blank\" rel=\"noopener\">MetalLB<\/a>\n\u3092<a href=\"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/\">\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f<\/a>\n\u3002\u3053\u308c\u306b\u3088\u308a\u3001ingress-nginx\u306b\u5bfe\u3057\u3066\u30af\u30e9\u30b9\u30bf\u5916\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001Let&rsquo;s Encrypt\u306e\u8a3c\u660e\u66f8\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u3001<a href=\"https:\/\/github.com\/jetstack\/cert-manager\" target=\"_blank\" rel=\"noopener\">cert-manager<\/a>\n\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\u3002cert-manager\u306fkubespray\u306e\u5c0e\u5165\u6642\u306b\u30a2\u30c9\u30aa\u30f3\u3068\u3057\u3066\u3082\u5c0e\u5165\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u3001\u4eca\u56de\u306fkubespray\u306e\u30a2\u30c9\u30aa\u30f3\u3068\u3057\u3066\u5c0e\u5165\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u8a3c\u660e\u66f8\u3092Kubernetes\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002\u6700\u521d\u306fLet&rsquo;s Encrypt\u306eacme api v02\u306b\u4e0a\u624b\u304f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u3001\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3067\u306e\u8a3c\u660e\u66f8\u53d6\u5f97\u304c\u51fa\u6765\u306a\u3044\u306a\u3069\u8e93\u304d\u307e\u3057\u305f\u304c\u3001Let&rsquo;s Encrypt\u306b\u4e0a\u624b\u304f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u554f\u984c\u306f\u6700\u8fd1\u306ekubespray\u3067\u6bd4\u8f03\u7684\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306ecert-manager\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u89e3\u6c7a\u3067\u304d\u307e\u3057\u305f\u3002\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3067\u306e\u8a3c\u660e\u66f8\u304c\u53d6\u5f97\u3067\u304d\u306a\u3044\u554f\u984c\u306f\u3001\u5143\u3005webroot(HTTP01)\u3067\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3057\u3066\u3044\u305f\u306e\u304c\u539f\u56e0\u306e\u305f\u3081\u3001DNS01\u3078\u5207\u308a\u66ff\u3048\u307e\u3057\u305f\u3002<a href=\"https:\/\/www.gehirn.jp\/dns\/\" target=\"_blank\" rel=\"noopener\">Gehirn DNS<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u4e0a\u624b\u304f\u3044\u304b\u306a\u304b\u3063\u305f\u305f\u3081<a href=\"https:\/\/www.cloudflare.com\/ja-jp\/\" target=\"_blank\" rel=\"noopener\">Cloudflare DNS<\/a>\n\u306b\u5207\u308a\u66ff\u3048\u3001\u4e8b\u306a\u304d\u3092\u5f97\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u308c\u3089\u306b\u3088\u308a\u3001nginx VM\u3092\u5ec3\u3057\u3001\u30eb\u30fc\u30bf\u30fc\u3067\u306e80\/443\u306eNAPT\u8a2d\u5b9a\u3092\u3059\u3079\u3066Kubernetes\u30af\u30e9\u30b9\u30bf\u3078\u3068\u5411\u3051\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f(OpenNebula\u3084minio\u7b49\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f<code>type: ExternalName<\/code>\u3092\u4f7f\u7528)\u3002\nVM\u304c\u3050\u3063\u3068\u6e1b\u308a\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u7528\u9014\u4ee5\u5916\u306eVM\u3092\u76f4\u63a5\u89e6\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u3053\u3068\u3082\u6e1b\u308a\u307e\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002<\/p>\n<h2 id=\"\u4f7f\u3063\u3066\u3044\u308b\u3082\u306e\u307e\u3068\u3081\">\u4f7f\u3063\u3066\u3044\u308b\u3082\u306e\u307e\u3068\u3081<\/h2>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.ubuntulinux.jp\/home\" target=\"_blank\" rel=\"noopener\">Ubuntu<\/a>\n<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.centos.org\/\" target=\"_blank\" rel=\"noopener\">CentOS<\/a>\n<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n(<a href=\"https:\/\/github.com\/kubernetes\/kubernetes\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>\n)<\/p>"},{"title":"confd + initContainer\u3067Alertmanager\u306e\u8a2d\u5b9a\u3092Secret\u306b\u9003\u304c\u3059","link":"https:\/\/blog.web-apps.tech\/alertmanager-config-to-secret-with-confd\/","pubDate":"Mon, 20 Aug 2018 08:06:47 +0000","guid":"https:\/\/blog.web-apps.tech\/alertmanager-config-to-secret-with-confd\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li>Alertmanager\u306e\u8a2d\u5b9a\u306b\u306f\u4e00\u90e8Secret\u304c\u542b\u307e\u308c\u308b\n<ul>\n<li>\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u5165\u308c\u305f\u304f\u306a\u3044<\/li>\n<\/ul>\n<\/li>\n<li>initContainer\u3067confd\u3092\u4f7f\u3063\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\n<ul>\n<li>Alertmanager\u306e\u8a2d\u5b9a\u306e\u4e00\u90e8\u3092Secret\u306b\u683c\u7d0d\u3067\u304d\u308b<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"confd\">confd<\/h2>\n<p><a href=\"https:\/\/github.com\/kelseyhightower\/confd\" target=\"_blank\" rel=\"noopener\">kelseyhightower\/confd<\/a>\n\u306f\u975e\u5e38\u306b\u8efd\u91cf\u306a\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7ba1\u7406\u30c4\u30fc\u30eb\u3067\u3059\u3002\u57fa\u672c\u7684\u306b\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30a8\u30f3\u30b8\u30f3\u3067\u3059\u304c\u3001\u591a\u304f\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u304b\u3089\u30c7\u30fc\u30bf\u3092\u6301\u3063\u3066\u304d\u3066\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3059\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\n\u307e\u305f\u3001\u4e8b\u524d\u51e6\u7406\u3084\u4e8b\u5f8c\u51e6\u7406\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u308b\u306e\u3067\u3001\u4f8b\u3048\u3070\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u63db\u3048\u305f\u3042\u3068\u3001\u30ea\u30ed\u30fc\u30c9\u3059\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u307e\u3067<code>confd<\/code>\u3067\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<h3 id=\"install\">Install<\/h3>\n<p>Go\u8a00\u8a9e\u3067\u66f8\u304b\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u975e\u5e38\u306b\u7c21\u5358\u3067\u3001\u30d0\u30a4\u30ca\u30ea\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304d\u3066\u5b9f\u884c\u6a29\u9650\u3092\u4e0e\u3048\u3001\u30d1\u30b9\u306e\u901a\u3063\u305f\u3068\u3053\u308d\u306b\u7f6e\u304f\u3060\u3051\u3067\u3059\u3002\u30d0\u30a4\u30ca\u30ea\u306f<a href=\"https:\/\/github.com\/kelseyhightower\/confd\/releases\" target=\"_blank\" rel=\"noopener\">\u30ea\u30ea\u30fc\u30b9\u30da\u30fc\u30b8<\/a>\n\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<h3 id=\"\u4f7f\u7528\u65b9\u6cd5\">\u4f7f\u7528\u65b9\u6cd5<\/h3>\n<p><code>confd<\/code>\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u4e09\u3064\u306e\u3082\u306e\u3092\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9<\/li>\n<li>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/li>\n<li>\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2<\/li>\n<\/ul>\n<h4 id=\"\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9<\/h4>\n<p>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9\u306b\u306f\u3001\u3069\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u3069\u3093\u306a\u30ad\u30fc\u3067\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u51fa\u3057\u3001\u5b8c\u6210\u3057\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u3069\u3053\u306b\u7f6e\u304f\u306e\u304b\u3001\u4e8b\u524d\u51e6\u7406\u30fb\u4e8b\u5f8c\u51e6\u7406\u306f\u3069\u3093\u306a\u3082\u306e\u304b\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002\u66f8\u5f0f\u306fTOML\u3067\u3001\u6163\u308c\u89aa\u3057\u3093\u3060(\u6163\u308c\u89aa\u3057\u3093\u3067\u306a\u3044\uff1f)ini\u30d5\u30a1\u30a4\u30eb\u306e\u69d8\u306b\u6c17\u8efd\u306b\u66f8\u304f\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<code>\/etc\/confd\/conf.d<\/code>\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<h4 id=\"\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/h4>\n<p>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u3059\u3002\u3053\u3053\u306b\u3001\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u304b\u3089\u53d6\u308a\u51fa\u3057\u305f\u30c7\u30fc\u30bf\u3092\u5408\u308f\u305b\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u66f8\u5f0f\u306fGo\u8a00\u8a9e\u306e<a href=\"https:\/\/golang.org\/pkg\/text\/template\/#pkg-overview\" target=\"_blank\" rel=\"noopener\"><code>text\/template<\/code><\/a>\n\u306b\u6e96\u3058\u307e\u3059\u3002<code>\/etc\/confd\/templates<\/code>\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<h4 id=\"\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\">\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2<\/h4>\n<p>\u305d\u3057\u3066\u3001\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u306b\u30c7\u30fc\u30bf\u3092\u5165\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><code>confd<\/code>\u306f\u3001\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u3068\u3057\u3066\u3001\u6b21\u306e\u3082\u306e\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059(2018\/08\/20\u73fe\u5728)<\/p>\n<ul>\n<li><a href=\"https:\/\/coreos.com\/etcd\/\" target=\"_blank\" rel=\"noopener\">etcd<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/coreos\/etcd\" target=\"_blank\" rel=\"noopener\">coreos\/etcd<\/a>\n)<\/li>\n<li><a href=\"https:\/\/www.consul.io\/\" target=\"_blank\" rel=\"noopener\">consul<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/hashicorp\/consul\" target=\"_blank\" rel=\"noopener\">hashicorp\/consul<\/a>\n)<\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/jp\/dynamodb\/\" target=\"_blank\" rel=\"noopener\">dynamodb<\/a>\n<\/li>\n<li><a href=\"https:\/\/redis.io\" target=\"_blank\" rel=\"noopener\">redis<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/antirez\/redis\" target=\"_blank\" rel=\"noopener\">antirez\/redis<\/a>\n)<\/li>\n<li><a href=\"https:\/\/www.vaultproject.io\/\" target=\"_blank\" rel=\"noopener\">vault<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/hashicorp\/vault\" target=\"_blank\" rel=\"noopener\">hashicorp\/vault<\/a>\n)<\/li>\n<li><a href=\"https:\/\/zookeeper.apache.org\/\" target=\"_blank\" rel=\"noopener\">zookeeper<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/apache\/zookeeper\" target=\"_blank\" rel=\"noopener\">apache\/zookeeper<\/a>\n)<\/li>\n<li><a href=\"https:\/\/rancher.com\/\" target=\"_blank\" rel=\"noopener\">rancher<\/a>\n<a href=\"https:\/\/github.com\/rancher\/metadata\" target=\"_blank\" rel=\"noopener\">metadata-service<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/rancher\/rancher\" target=\"_blank\" rel=\"noopener\">rancher\/rancher<\/a>\n, <a href=\"https:\/\/github.com\/rancher\/metadata\" target=\"_blank\" rel=\"noopener\">rancher\/metadata<\/a>\n)<\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/jp\/systems-manager\/\" target=\"_blank\" rel=\"noopener\">AWS Systems Manager \u30d1\u30e9\u30e1\u30fc\u30bf\u30b9\u30c8\u30a2<\/a>\n<\/li>\n<li>\u74b0\u5883\u5909\u6570<\/li>\n<li>\u30d5\u30a1\u30a4\u30eb<\/li>\n<\/ul>\n<h2 id=\"alertmanager\">Alertmanager<\/h2>\n<p><a href=\"https:\/\/github.com\/prometheus\/alertmanager\" target=\"_blank\" rel=\"noopener\">Alertmanager<\/a>\n\u306f<a href=\"https:\/\/github.com\/prometheus\/prometheus\" target=\"_blank\" rel=\"noopener\">Prometheus<\/a>\n\u304b\u3089\u306e\u30a2\u30e9\u30fc\u30c8\u3092\u53d7\u3051\u53d6\u308a\u3001\u9069\u5207\u306b\u30cf\u30f3\u30c9\u30eb\u3059\u308b\u305f\u3081\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002Alertmanager\u306e\u8a2d\u5b9a\u306fYAML\u3067\u8a18\u8ff0\u3059\u308b\u306e\u3067\u3059\u304c\u3001SMTP\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3084<a href=\"https:\/\/slack.com\" target=\"_blank\" rel=\"noopener\">Slack<\/a>\n\u306e<a href=\"https:\/\/api.slack.com\/incoming-webhooks\" target=\"_blank\" rel=\"noopener\">Incoming Webhook URL<\/a>\n\u7b49\u3001\u5e73\u6587\u3067\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u5165\u308c\u308b\u306e\u306f\u8e8a\u8e87\u308f\u308c\u308b\u30c7\u30fc\u30bf\u3092\u542b\u307f\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u74b0\u5883\u5909\u6570\u306a\u3069\u304b\u3089\u8a2d\u5b9a\u3092\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u306a\u3044\u305f\u3081\u3001\u5e73\u6587\u3067\u8a18\u8ff0\u3059\u308b\u304b\u3001\u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u3066\u304b\u3089\u4f7f\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\u7279\u306b\u3001Prometheus\/Alertmanager\u306f<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u3068\u4f75\u305b\u3066\u4f7f\u7528\u3055\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u305f\u3081\u3001\u51fa\u6765\u308c\u3070Kubernetes\u306eSecret\u6a5f\u80fd\u3092\u4f7f\u7528\u3057\u305f\u3044\u3068\u3053\u308d\u3067\u3059\u3002\n\u305d\u3053\u3067<code>confd<\/code>\u3092initContainer\u3067\u4f7f\u7528\u3057\u3066\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002Alertmanager\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\u3001\u5f8c\u304b\u3089\u633f\u5165\u3057\u305f\u3044\u90e8\u5206\u3092\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6587\u5b57\u5217\u3067\u7f6e\u63db\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">global<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">slack_api_url<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span>{{<span class=\"l\">getenv &#34;ALERTMANAGER_SLACK_URL&#34;}}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">route<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">receiver<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">slack<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">receivers<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">slack<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">slack_configs<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">channel<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">&#34;#alert&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4eca\u56de\u306f\u4f8b\u306a\u306e\u3067\u3001\u7d30\u304b\u3044\u8a2d\u5b9a\u306e\u4e00\u5207\u3092\u7701\u3044\u305f\u5f62\u306b\u3057\u307e\u3057\u305f\u3002\u4e0a\u8a18\u306e\u5185\u5bb9\u3067\u3001<code>alertmanager.yml.tmpl<\/code>\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002<\/p>"},{"title":"\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30c4\u30ab\u30ec\u30fc\u3092\u3064\u304f\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/final-katsu-curry\/","pubDate":"Wed, 15 Aug 2018 14:04:46 +0000","guid":"https:\/\/blog.web-apps.tech\/final-katsu-curry\/","description":"<p>\u9023\u4f11\u3082\u7d42\u308f\u308a\u3067\u3001\u660e\u65e5\u304b\u3089\u51fa\u793e\u3059\u308b\u306e\u304c\u3064\u3089\u3044\u306e\u3067\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30c4\u30ab\u30ec\u30fc\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002\n\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30c4\u30ab\u30ec\u30fc\u306f\u8981\u3059\u308b\u306b\u3001\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30ec\u30fc\u306b\u30ab\u30c4\u3092\u4e57\u305b\u305f\u3082\u306e\u3067\u3059\u3002\n\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30ec\u30fc\u306f<a href=\"https:\/\/amzn.to\/2BdlmG1\" target=\"_blank\" rel=\"noopener\">\u3044\u3061\u3070\u3093\u304a\u3044\u3057\u3044\u5bb6\u30ab\u30ec\u30fc\u3092\u3064\u304f\u308b<\/a>\n\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u30ab\u30ec\u30fc\u3067\u3001\u6211\u3089\u304c\u30d0\u30a4\u30d6\u30eb\u3067\u3042\u308b<a href=\"https:\/\/amzn.to\/2BcQ3en\" target=\"_blank\" rel=\"noopener\">\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046(4)<\/a>\n\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u7d20\u6674\u3089\u3057\u3044\u30ab\u30ec\u30fc\u3067\u3042\u308b\u3068\u306e\u3053\u3068\u306a\u306e\u3067\u3001\u3084\u306f\u308a\u30ab\u30c4\u306f\u7d20\u6674\u3089\u3057\u3044\u30ab\u30c4\u3092\u4e57\u305b\u305f\u3044\u3082\u306e\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001<a href=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/\">\u8d85\u7d1a\u30ab\u30c4\u4e3c<\/a>\n\u306e\u6642\u306b\u3082\u3084\u3063\u305f\u3001\u4f4e\u6e29\u8abf\u7406\u30ab\u30c4\u3067\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_191603_hu_4c5389e64f56ab41.jpg\" alt=\"onion\" \/>\n<\/p>\n<p>\u307e\u305a\u306f\u30bf\u30de\u30cd\u30ae\u3092\u7092\u3081\u3066\u3044\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u4e00\u500b\u5206\u3067\u3059\u3002\u7d50\u69cb\u5927\u304d\u3081\u306e\u30bf\u30de\u30cd\u30ae\u3092\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u5272\u3068\u3056\u3063\u304f\u308a\u3057\u305f\u7c97\u307f\u3058\u3093\u5207\u308a\u3067\u3059\u3002\u6628\u65e5\u5305\u4e01\u3092\u7814\u3044\u3060\u306e\u3067\u76ee\u304c\u75db\u304f\u306a\u3044\u3002\n\u5f37\u706b\u3067\u7092\u3081\u3066\u3001\u7126\u3052\u4ed8\u304d\u305d\u3046\u306b\u306a\u3063\u305f\u3089\u5c11\u3057\u6c34\u3092\u8db3\u3059\u3001\u3068\u3044\u3046\u4f5c\u696d\u3092\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_193217_hu_51727066a38e4cb0.jpg\" alt=\"add-vegi\" \/>\n<\/p>\n<p>\u826f\u3044\u611f\u3058\u306b\u306a\u3063\u305f\u3089\u9999\u5473\u91ce\u83dc\u985e\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u306b\u3093\u3058\u3093\u30fb\u30bb\u30ed\u30ea\u30fb\u30cb\u30f3\u30cb\u30af\u30fb\u30b7\u30e7\u30a6\u30ac\u30fb\u30db\u30fc\u30eb\u30c8\u30de\u30c8\u3067\u3059\u306d\u3002\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046\u3067\u306f\u30df\u30ad\u30b5\u30fc\u3067\u3084\u3063\u3066\u3044\u304f\u98a8\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u6211\u304c\u5bb6\u306b\u306f\u30df\u30ad\u30b5\u30fc\u304c\u7121\u304f\u3001\u3053\u306e\u305f\u3081\u306b\u8cb7\u3046\u306e\u3082\u4f55\u304b\u3068\u601d\u3063\u305f\u306e\u3067\u3001\u306b\u3093\u3058\u3093\u306f\u307f\u3058\u3093\u5207\u308a\u3001\u30bb\u30ed\u30ea\u3068\u30cb\u30f3\u30cb\u30af\u30fb\u30b7\u30e7\u30a6\u30ac\u306f\u3059\u308a\u304a\u308d\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u30cb\u30f3\u30cb\u30af\u3092\u3059\u308a\u304a\u308d\u3059\u5c0f\u3055\u3044\u304a\u308d\u3057\u91d1\u3067\u30bb\u30ed\u30ea\u307f\u305f\u3044\u306a\u5927\u304d\u3044\u3082\u306e\u3092\u3059\u308a\u304a\u308d\u3059\u306e\u306f\u3064\u3089\u3044\u3067\u3059\u3002\u30db\u30fc\u30eb\u30c8\u30de\u30c8\u306f\u7f36\u3067\u3057\u304b\u58f2\u3063\u3066\u306a\u304b\u3063\u305f\u306e\u3067\u4f59\u308a\u307e\u3057\u305f\u3002\u3069\u3046\u3057\u3088\u3046\u3002\n\u3053\u3053\u3067\u30d0\u30bf\u30fc\u3092\u3061\u3087\u3044\u3068\u52a0\u3048\u307e\u3059\u3002\u5207\u308c\u3066\u308b\u30d0\u30bf\u30fc\u304c\u4fbf\u5229\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_193459_hu_9b129dfce4df6bd4.jpg\" alt=\"spice\" \/>\n<\/p>\n<p>\u6c34\u5206\u304c\u98db\u3093\u3067\u304d\u305f\u3089\u30b9\u30d1\u30a4\u30b9\u3092\u8db3\u3057\u307e\u3059\u3002\u30bf\u30fc\u30e1\u30ea\u30c3\u30af\u30fb\u30ec\u30c3\u30c9\u30c1\u30ea\u30fb\u30af\u30df\u30f3\u30fb\u30b3\u30ea\u30a2\u30f3\u30c0\u30fc\u3067\u3059\u3002\u3053\u308c\u3089\u306f<a href=\"https:\/\/getnews.jp\/archives\/1781558\" target=\"_blank\" rel=\"noopener\">\u57fa\u672c\u306e\u30ab\u30ec\u30fc<\/a>\n\u3092\u4f5c\u308b\u306e\u306b\u3082\u4f7f\u3048\u308b\u3001\u57fa\u672c\u7684\u306a\u30b9\u30d1\u30a4\u30b9\u306a\u306e\u3067\u3001\u307e\u3041\u8cb7\u3063\u3066\u304a\u3044\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u6211\u304c\u5bb6\u306f\u4ee5\u524d\u57fa\u672c\u306e\u30ab\u30ec\u30fc\u3092\u4f5c\u308b\u306e\u306b\u8cb7\u3063\u305f\u306e\u3067\u3001\u51b7\u8535\u5eab\u306b\u5165\u3063\u3066\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_193604_hu_b62a63ed0992ec7d.jpg\" alt=\"paste\" \/>\n<\/p>\n<p>\u3082\u3046\u30da\u30fc\u30b9\u30c8\u3067\u3059\u3002\u30c9\u30e9\u30a4\u30ab\u30ec\u30fc\u3068\u304b\u306e\u65b9\u304c\u8fd1\u3044\u898b\u305f\u76ee\u3002\u934b\u3092\u632f\u308b\u3068\u3072\u3063\u304f\u308a\u8fd4\u305b\u307e\u3059<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_193707_hu_fbf2440965fa3b9e.jpg\" alt=\"pork\" \/>\n<\/p>\n<p>\u8089\u3067\u3059\u3002\u8c5a\u80a9\u30ed\u30fc\u30b9\u3092\u9069\u5f53\u306a\u5927\u304d\u3055\u306b\u5207\u308a\u3001\u6885\u9152\u3068\u5c11\u3005\u306e\u91a4\u6cb9\u306b\u3064\u3051\u305f\u3082\u306e\u3067\u3059\u30021\u6642\u9593\u304f\u3089\u3044\u524d\u306b\u3064\u3051\u3066\u51b7\u8535\u5eab\u306b\u3076\u3061\u8fbc\u307f\u307e\u3057\u305f\u3002\u6885\u9152\u306f\u81ea\u5bb6\u88fd\u3067\u3059\u3002\u4eca\u5e74\u3064\u3051\u305f\u306e\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\u30ab\u30c4\u3092\u4e57\u305b\u308b\u306e\u3067\u8089\u306f\u3044\u3089\u306a\u3044\u304b\u3068\u3082\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4e00\u5fdc\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_193819_hu_d6b9bbb0bc191e49.jpg\" alt=\"add-pork\" \/>\n<\/p>\n<p>\u30da\u30fc\u30b9\u30c8\u306b\u8089\u3092\u3076\u3061\u8fbc\u307f\u307e\u3059\u3002\u3064\u3051\u6c41\u3082\u305d\u306e\u307e\u307e\u3002\u3061\u3087\u3063\u3068\u7de9\u304f\u306a\u308a\u307e\u3059\u3002\n\u3053\u306e\u307e\u307e\u5c11\u3057\u7092\u3081\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_194220_hu_16d0ae33c8063f02.jpg\" alt=\"consome\" \/>\n<\/p>\n<p>\u826f\u3044\u611f\u3058\u306b\u306a\u3063\u305f\u306e\u3067\u30b3\u30f3\u30bd\u30e1\u6c41\u3092\u6295\u5165\u3002300ml\u306e\u304a\u6e6f\u306b\u30b3\u30f3\u30bd\u30e1\u30ad\u30e5\u30fc\u30d6\u3092\u6eb6\u304b\u3057\u305f\u3082\u306e\u3067\u3059\u3002300ml\u5165\u308b\u826f\u3044\u611f\u3058\u306e\u30de\u30b0\u30ab\u30c3\u30d7\u304c\u7121\u304f\u3066\u96e3\u5100\u3002\u30ed\u30fc\u30ea\u30a8\u3068\u306f\u3061\u307f\u3064\u3001\u91a4\u6cb9\u3092\u52a0\u3048\u3066\u716e\u8fbc\u307f\u307e\u3059\u300245\u5206\u307b\u3069\u716e\u8fbc\u3093\u3060\u3089\u3001\u30ab\u30ec\u30fc\u30eb\u30a5\u3092\u9069\u5f53\u306b\u7a81\u3063\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_203038_hu_439a4290ea759c8c.jpg\" alt=\"pork_sous\" \/>\n<\/p>\n<p>\u716e\u8fbc\u3093\u3067\u3044\u308b\u9593\u306b\u30ab\u30c4\u3092\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002\u30ab\u30ec\u30fc\u306b\u30ab\u30c4\u3092\u306e\u305b\u308b\u3053\u3068\u3067\u4eba\u9593\u306f\u5e78\u305b\u306b\u306a\u308b\u306e\u3067\u3059\u3002\u3053\u308c\u306f\u6628\u6669\u4ed5\u8fbc\u3093\u3060\u8c5a\u80a9\u30ed\u30fc\u30b9\u3067\u3001<a href=\"https:\/\/anovaculinary.com\/\" target=\"_blank\" rel=\"noopener\">Anova<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u300162\u5ea6\u306724\u6642\u9593\u3084\u3063\u305f\u3082\u306e\u3067\u3059\u3002\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046\u3067\u306f\u30ab\u30c4\u3092\u3084\u308b\u306e\u306b63\u5ea612\u6642\u9593\u3067\u3057\u305f\u304c\u300124\u6642\u9593\u3084\u308b\u3064\u3082\u308a\u3060\u3063\u305f\u306e\u30671\u5ea6\u4e0b\u3052\u307e\u3057\u305f\u3002\u305d\u308c\u306b\u3057\u3066\u3082\u307e\u305a\u305d\u3046\u3067\u3042\u308b\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_203129_hu_f056a21263ae535a.jpg\" alt=\"cut_pork\" \/>\n<\/p>\n<p>\u5207\u3063\u305f\u3082\u306e\u3002\u65ad\u9762\u306f\u7d20\u6674\u3089\u3057\u3044\u3067\u3059\u306d\u3002\u30ab\u30c4\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_204726_hu_2c2e1af96477bb60.jpg\" alt=\"fried\" \/>\n<\/p>\n<p>\u30ab\u30c4\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_204804_hu_a5d9ebc502c7dfce.jpg\" alt=\"cut_fried\" \/>\n<\/p>\n<p>\u65ad\u9762\u3002\u30b9\u30de\u30db\u3067\u3059\u3002\u3080\u3057\u308d\u3053\u306e\u307e\u307e\u98df\u3079\u305f\u304f\u306a\u3063\u3066\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/final-katsu-curry\/images\/P_20180815_205622_hu_29feab3a5c339c92.jpg\" alt=\"curry\" \/>\n<\/p>\n<p>\u5b9f\u306f\u4ee5\u524d\u306b\u3082\u4e00\u5ea6\u3001<a href=\"http:\/\/www.gotoken.hakodate.jp\/\" target=\"_blank\" rel=\"noopener\">\u4e94\u5cf6\u8ed2<\/a>\n\u306e\u30ab\u30ec\u30fc\u7f36\u3092\u4f7f\u3063\u3066\u30ab\u30c4\u30ab\u30ec\u30fc\u3092\u4f5c\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u8d85\u7d1a\u30ab\u30c4\u3092\u4e57\u305b\u308b\u3068\u30ab\u30ec\u30fc\u304c\u898b\u3048\u306a\u304f\u306a\u308b\u306e\u304c\u6b20\u70b9\u3067\u3059\u3002\u5de6\u4e0a\u306e\u304a\u8336\u306f\u30b8\u30e3\u30b9\u30df\u30f3\u8336\u3067\u3059\u3002\u6c96\u7e04\u3067\u3055\u3093\u3074\u3093\u8336\u3092\u98f2\u3093\u3067\u304b\u3089\u98f2\u3081\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3068\u3044\u3046\u304b\u3080\u3057\u308d\u30cf\u30de\u3063\u3066\u307e\u3059\u3002<\/p>\n<p>\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30c4\u30ab\u30ec\u30fc\u306f\u3001\u7f6a\u306e\u5473\u304c\u3057\u307e\u3059\u3002\u4eba\u9593\u304c\u5e78\u305b\u306b\u306a\u308b\u305f\u3081\u306b\u306f\u3084\u306f\u308a\u30ab\u30ec\u30fc\u306b\u30ab\u30c4\u3092\u306e\u305b\u306d\u3070\u306a\u3089\u306a\u3044\u3068\u3001\u305d\u3046\u611f\u3058\u308b\u3082\u306e\u3067\u3059\u3002\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30ec\u30fc\u81ea\u4f53\u306f\u5c11\u3057\u8584\u3044\u5473\u3068\u3044\u3046\u304b\u3001\u3082\u3046\u3044\u3063\u3053\u30ab\u30ec\u30fc\u30eb\u30a5\u3092\u8db3\u3057\u3066\u3082\u3088\u304b\u3063\u305f\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u3002<\/p>"},{"title":"\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092Ingress backend\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/use-external-service-for-ingress-backend\/","pubDate":"Tue, 07 Aug 2018 02:20:57 +0000","guid":"https:\/\/blog.web-apps.tech\/use-external-service-for-ingress-backend\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li><code>Service type: ExternalName<\/code>\u3092\u4f7f\u7528\u3059\u308b<\/li>\n<\/ul>\n<h2 id=\"external-service\">External Service<\/h2>\n<p><a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u3067\u306f\u3001<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/ingress\/\" target=\"_blank\" rel=\"noopener\"><code>Ingress<\/code><\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30db\u30b9\u30c8\u540d\u30d9\u30fc\u30b9\u306e\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\/\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u30d7\u30ed\u30ad\u30b7\u5148\u3068\u3057\u3066Kubernetes\u4e0a\u306e<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/service\/\" target=\"_blank\" rel=\"noopener\"><code>Service<\/code><\/a>\n\u3092\u6307\u5b9a\u3059\u308b\u306e\u3067\u3059\u304c\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306fKubernetes\u30af\u30e9\u30b9\u30bf\u5916\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u30d7\u30ed\u30ad\u30b7\u5148\u3068\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001\u5f0a\u5b85\u306e\u74b0\u5883\u3067\u306f\u3001\u6b21\u306e\u69d8\u306b\u30d7\u30ed\u30ad\u30b7\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/use-external-service-for-ingress-backend\/images\/arch-1_hu_47ef548059485d87.png\" alt=\"arch-1\" \/>\n<\/p>\n<p>\u57fa\u76e4\u3067\u3042\u308bOpenNebula\u306e\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u4ee5\u5916\u306f<code>*.web-apps.tech<\/code>\u3068\u3057\u3066\u3001Kubernetes\u3078\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3068\u3053\u308d\u3067\u3001\u672c\u30d6\u30ed\u30b0\u306f\u73fe\u5728Kubernetes\u4e0a\u3078\u79fb\u884c\u4f5c\u696d\u4e2d\u3067\u3059\u3002\u4eca\u306e\u3068\u3053\u308d\u306f\u307e\u3060\u3001Kubernetes\u4e0a\u3078\u8f09\u305b\u3066\u3044\u307e\u305b\u3093\u3002\u3057\u304b\u3057\u3001\u6298\u89d2\u30d7\u30ed\u30ad\u30b7\u306e\u8a2d\u5b9a\u304c\u6e1b\u3063\u3066\u3044\u308b\u306e\u3067\u3001<code>blog.web-apps.tech<\/code>\u3082<code>Ingress<\/code>\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u7ba1\u7406\u3057\u305f\u3044\u3067\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304c<code>Service type: ExternalName<\/code>\u3067\u3059\u3002<code>ExternalName<\/code>\u3068\u3057\u3066\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092\u767b\u9332\u3059\u308b\u3053\u3068\u3067\u3001<code>Ingress<\/code>\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"\u8a2d\u5b9a\">\u8a2d\u5b9a<\/h2>\n<p>\u8a2d\u5b9a\u306f\u3054\u304f\u7c21\u5358\u3067\u3001\u6b21\u306e\u69d8\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nn\">---<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Namespace<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">external-services<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nn\">---<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Service<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">ghost<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">namespace<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">external-services<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">type<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">ExternalName<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">externalName<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">192.168.1.41<\/span><span class=\"w\"> <\/span><span class=\"c\"># \u672c\u30d6\u30ed\u30b0\u306e\u30ed\u30fc\u30ab\u30ebIP<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4eca\u5f8c\u3082\u4f55\u304b\u306e\u62cd\u5b50\u3067Kubernetes\u306b\u8f09\u305b\u305f\u304f\u306a\u3044\u30b5\u30fc\u30d3\u30b9\u304c\u5897\u3048\u308b\u53ef\u80fd\u6027\u3082\u3042\u308b\u305f\u3081\u3001<code>external-services<\/code>\u3068\u3057\u3066\u540d\u524d\u7a7a\u9593\u3092\u5206\u96e2\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001<code>kubectl<\/code>\u304b\u3089\u306f\u6b21\u306e\u69d8\u306b\u898b\u3048\u307e\u3059\u3002<\/p>"},{"title":"ingress-nginx\u3092\u4f7f\u7528\u3057\u3066\u30aa\u30f3\u30d7\u30ec\u3067\u3082Ingress\u3092\u4f7f\u7528\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/ingress-nginx-on-prem\/","pubDate":"Mon, 06 Aug 2018 05:37:02 +0000","guid":"https:\/\/blog.web-apps.tech\/ingress-nginx-on-prem\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li>ingress-nginx\u3092\u4f7f\u7528\u3059\u308b\u3068\u30aa\u30f3\u30d7\u30ec\u3067\u3082<code>Ingress<\/code>\u3092\u4f7f\u7528\u51fa\u6765\u308b<\/li>\n<li>MetalLB\u3068\u7d44\u307f\u5408\u308f\u305b\u308b<\/li>\n<\/ul>\n<h2 id=\"ingress\">Ingress<\/h2>\n<p>Ingress\u306f<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u306e\u6a5f\u80fd\u306e\u4e00\u3064\u3067\u3001L7 LoadBalancer\u306e\u6a5f\u80fd\u3092\u6301\u3061\u307e\u3059\u3002<a href=\"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/\">\u5148\u65e5\u7d39\u4ecb\u3057\u305f<\/a>\n<code>type LoadBalancer<\/code>\u306f\u3001L4 LoadBalancer\u3067\u3001\u30af\u30e9\u30b9\u30bf\u5185\u306eDNS\u3067\u540d\u524d\u89e3\u6c7a\u3092\u3057\u3001IP\u5236\u9650\u306a\u3069\u3092\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\u305d\u308c\u306b\u5bfe\u3057\u3001<code>Ingress<\/code>\u3067\u306f\u3001HTTPS\u306e\u7d42\u7aef\u3068\u306a\u308b\u3053\u3068\u304c\u51fa\u6765\u3001\u30db\u30b9\u30c8\u540d\u30d9\u30fc\u30b9\u30fb\u30d1\u30b9\u30d9\u30fc\u30b9\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p>\u901a\u5e38\u3001\u30aa\u30f3\u30d7\u30ec\u3067Kubernetes\u3092\u69cb\u7bc9\u3057\u305f\u5834\u5408\u3001Ingress Controller\u3068\u547c\u3070\u308c\u308b\u3001Ingress\u3092\u4f5c\u6210\u3059\u308b\u6a5f\u80fd\u304c\u7121\u3044\u305f\u3081\u306b<code>Ingress<\/code>\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u305b\u3093\u3002\n\u3057\u304b\u3057\u3001\u6298\u89d2Kubernetes\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u306b\u3001\u30db\u30b9\u30c8\u540d\u30d9\u30fc\u30b9\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u30af\u30e9\u30b9\u30bf\u5916\u306e\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u30fc\u306b\u8a2d\u5b9a\u3059\u308b\u306e\u306f\u9762\u5012\u3067\u3059\u3002\n\u3069\u3046\u305b\u306a\u3089<code>Ingress<\/code>\u3001\u4f7f\u3044\u305f\u3044\u3067\u3059\u306d\uff1f<\/p>\n<p>\u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304c<a href=\"https:\/\/kubernetes.github.io\/ingress-nginx\/\" target=\"_blank\" rel=\"noopener\">ingress-nginx<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/kubernetes\/ingress-nginx\" target=\"_blank\" rel=\"noopener\">kubernetes\/ingress-nginx<\/a>\n)\u3067\u3059\u3002ingress-nginx\u306f\u305d\u306e\u540d\u306e\u3068\u304a\u308a\u3001nginx\u3092\u4f7f\u7528\u3057\u305fIngress Controller\u3067\u3059\u3002<code>Ingress<\/code>\u30ea\u30bd\u30fc\u30b9\u306e\u4f5c\u6210\u6642\u306b\u3001nginx\u306e\u8a2d\u5b9a\u3092<code>ConfigMap<\/code>\u3068\u3057\u3066\u4fdd\u5b58\u3059\u308b\u3053\u3068\u3067<code>Ingress<\/code>\u306e\u4f5c\u6210\u3092\u5b9f\u73fe\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"install\">Install<\/h2>\n<p><a href=\"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/\">MetalLB\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a>\n\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u6b21\u306e\u4e8c\u3064\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/ingress-nginx\/master\/deploy\/mandatory.yaml\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/ingress-nginx\/master\/deploy\/provider\/cloud-generic.yaml\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e8c\u884c\u76ee\u306e\u30b3\u30de\u30f3\u30c9\u306f<a href=\"https:\/\/kubernetes.github.io\/ingress-nginx\/deploy\/\" target=\"_blank\" rel=\"noopener\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4e0a\u3067\u306f<\/a>\ndocker for mac\u306e\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001<code>type: LoadBalancer<\/code>\u304c\u4f7f\u7528\u3067\u304d\u308b\u30af\u30e9\u30b9\u30bf\u4e00\u822c\u3067\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001ingress-nginx\u306e\u30b5\u30fc\u30d3\u30b9\u306bIP\u30a2\u30c9\u30ec\u30b9\u304c\u5272\u5f53\u305f\u308a\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ kubectl get svc -n ingress-nginx\n<\/span><\/span><span class=\"line\"><span class=\"cl\">NAME TYPE CLUSTER-IP EXTERNAL-IP PORT<span class=\"o\">(<\/span>S<span class=\"o\">)<\/span> AGE\n<\/span><\/span><span class=\"line\"><span class=\"cl\">default-http-backend ClusterIP 10.233.50.56 &lt;none&gt; 80\/TCP 2d\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ingress-nginx LoadBalancer 10.233.47.246 192.168.1.100 80:30431\/TCP,443:30017\/TCP 2d\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5b9f\u969b\u306b\u30d6\u30e9\u30a6\u30b6\u3067ingress-nginx\u306eIP\u30a2\u30c9\u30ec\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u3066\u3001<strong>default backend - 404<\/strong>\u3068\u8868\u793a\u3055\u308c\u308c\u3070\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"MetalLB\u3092\u4f7f\u7528\u3057\u3066\u30aa\u30f3\u30d7\u30ec\u3067\u3082type: LoadBalancer\u3092\u4f7f\u7528\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/","pubDate":"Sun, 05 Aug 2018 15:02:11 +0000","guid":"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<p>MetalLB\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u30aa\u30f3\u30d7\u30ec(not on OpenStack)\u306b\u69cb\u7bc9\u3057\u305fk8s\u3067\u3082<code>type: LoadBalancer<\/code>\u3092\u4f7f\u7528\u3067\u304d\u308b<\/p>\n<h2 id=\"type-loadbalancer\">type: LoadBalancer<\/h2>\n<p><a href=\"https:\/\/github.com\/kubernetes-incubator\/kubespray\" target=\"_blank\" rel=\"noopener\">kubespray<\/a>\n\u7b49\u3092\u4f7f\u7528\u3057\u3066\u3001<a href=\"https:\/\/k8s.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u3092\u30aa\u30f3\u30d7\u30ec(on OpenStack\u3092\u9664\u304f)\u3067\u69cb\u7bc9\u3057\u305f\u5834\u5408\u3001\u901a\u5e38\u3001<a href=\"https:\/\/k8s.io\/docs\/concepts\/services-networking\/service\/#loadbalancer\" target=\"_blank\" rel=\"noopener\">type: LoadBalancer<\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001<code>type: LoadBalancer<\/code>\u306f\u901a\u5e38CloudProvider\u306b\u3088\u308a\u7ba1\u7406\u3055\u308c\u3066\u304a\u308a\u3001\u30aa\u30f3\u30d7\u30ec(on OpenStack\u3092\u9664\u304f)\u3067k8s\u3092\u69cb\u7bc9\u3057\u305f\u5834\u5408\u306b\u306fCloudProvider\u9023\u643a\u304c\u7121\u3044\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001k8s\u3092\u4f7f\u7528\u3059\u308b\u304b\u3089\u306b\u306f<code>type: LoadBalancer<\/code>\u3082\u4f7f\u7528\u3057\u305f\u3044\u3067\u3059\u3088\u306d\uff1fNodePort\u306a\u3069\u3067\u4ee3\u7528\u3059\u308b\u306b\u3082\u3001\u30dd\u30fc\u30c8\u304c\u30d0\u30e9\u30d0\u30e9\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u9762\u5012\u3067\u3059\u3002\n\u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304c<a href=\"https:\/\/metallb.universe.tf\/\" target=\"_blank\" rel=\"noopener\">MetalLB<\/a>\n(GitHub: <a href=\"https:\/\/github.com\/google\/metallb\" target=\"_blank\" rel=\"noopener\">google\/metallb<\/a>\n)\u3067\u3059\u3002\nMetalLB\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001<code>type LoadBalancer<\/code>\u306e\u4f5c\u6210\u3092\u30d5\u30c3\u30af\u3057\u3066\u30a2\u30c9\u30ec\u30b9\u5272\u308a\u5f53\u3066\u3068\u30a2\u30c9\u30ec\u30b9\u306e\u5e83\u5831\u3092\u884c\u3063\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n<h2 id=\"layer-2-mode\">Layer 2 mode<\/h2>\n<p>MetalLB\u306b\u306fLayer 2 mode(\u4ee5\u4e0bL2 mode)\u3068BGP mode\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30e2\u30fc\u30c9\u306f\u30a2\u30c9\u30ec\u30b9\u5e83\u5831\u306e\u4ed5\u65b9\u304c\u9055\u3044\u3001L2 mode\u3067\u306fARP\/NDP\u3067\u3001BGP mode\u3067\u306f\u305d\u306e\u540d\u306e\u901a\u308aBGP\u3067\u30a2\u30c9\u30ec\u30b9\u306e\u5e83\u5831\u3092\u884c\u3044\u307e\u3059\u3002\u901a\u5e38\u3001\u81ea\u5b85\u3092\u542b\u3080\u30aa\u30f3\u30d7\u30ec\u74b0\u5883\u3067\u306fBGP\u3092\u4f7f\u7528\u3057\u3066\u3044\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001L2 mode\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n<p>L2 mode\u3067\u306f\u3001\u7279\u5b9a\u306e\u30ce\u30fc\u30c9\u3078\u30a2\u30af\u30bb\u30b9\u3092\u96c6\u4e2d\u3055\u305b\u3001kube-proxy\u306b\u3088\u3063\u3066\u5404\u30b5\u30fc\u30d3\u30b9\u3078\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u5206\u914d\u3057\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u5b9f\u614b\u3068\u3057\u3066\u306f\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u30fc\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u8a33\u3067\u306f\u306a\u3044\u3053\u3068\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\u5358\u4f53\u30ce\u30fc\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u304c\u96c6\u4e2d\u3059\u308b\u305f\u3081\u3001\u3053\u308c\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3068\u306a\u308a\u5f97\u307e\u3059\u3057\u3001\u30a2\u30af\u30bb\u30b9\u304c\u96c6\u4e2d\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u30ce\u30fc\u30c9\u304c\u4f55\u3089\u304b\u306e\u7406\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u5834\u5408\u3001\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u306b10\u79d2\u7a0b\u5ea6\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3 id=\"requirements--installation\">requirements &amp; installation<\/h3>\n<p>\u5c0e\u5165\u306f\u975e\u5e38\u306b\u7c21\u5358\u3067\u3059\u304c\u3001\u4ee5\u4e0b\u306e\u8981\u4ef6\u3092\u6e80\u305f\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u4ed6\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u306e\u6a5f\u80fd\u304c\u7121\u3044Kubernetes 1.9.0\u4ee5\u964d<\/li>\n<li><a href=\"https:\/\/metallb.universe.tf\/installation\/network-addons\/\" target=\"_blank\" rel=\"noopener\">MetalLB\u5bfe\u5fdc\u8868<\/a>\n\u306b\u8a18\u8f09\u306e\u3042\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068<\/li>\n<\/ul>\n<p>\u3053\u308c\u306b\u52a0\u3048\u3001MetalLB\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u306e\u3067\u304d\u308bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u7528\u610f\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\u79c1\u306e\u74b0\u5883\u3067\u306fk8s\u306e\u30ce\u30fc\u30c9\u304c<code>192.168.1.0\/24<\/code>\u306b\u3042\u308b\u305f\u3081\u3001<code>192.168.1.100<\/code>\u304b\u3089<code>192.168.1.159<\/code>\u307e\u3067\u306e60\u500b\u306e\u30a2\u30c9\u30ec\u30b9\u3092MetalLB\u7528\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u8981\u4ef6\u3092\u6e80\u305f\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u305f\u3089\u3001MetalLB\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3044\u307e\u3059\u3002\nMetalLB\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ kubectl apply -f https:\/\/raw.githubusercontent.com\/google\/metallb\/v0.7.2\/manifests\/metallb.yaml\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><a href=\"https:\/\/helm.sh\/\" target=\"_blank\" rel=\"noopener\">Helm<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001Chart\u304c\u6700\u65b0\u7248\u3067\u306f\u306a\u3044\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u6b21\u306b\u3001\u6b21\u306e\u3088\u3046\u306aConfigMap\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">ConfigMap<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">namespace<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">metallb-system<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">config<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">data<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">config<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">|<\/span><span class=\"sd\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"sd\"> address-pools:\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"sd\"> - name: default\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"sd\"> protocol: layer2\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"sd\"> addresses:\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"sd\"> - 192.168.1.100-192.168.1.159<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u3067MetalLB\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306f\u5b8c\u4e86\u3067\u3059\u3002\u30d1\u30d6\u30ea\u30c3\u30af\u30af\u30e9\u30a6\u30c9\u3067\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u3001<code>type: LoadBalancer<\/code>\u3092\u4f5c\u6210\u3059\u308b\u3068\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u304b\u3089IP\u30a2\u30c9\u30ec\u30b9\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u3001\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u306f\u8907\u6570\u7528\u610f\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u7279\u5b9a\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u304b\u3089IP\u3092\u5272\u308a\u5f53\u3066\u305f\u3044\u5834\u5408\u306f<code>type: LoadBalancer<\/code>\u306e\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306b<code>metallb.universe.tf\/address-pool: &lt;ADDRESS_POOL_NAME&gt;<\/code>\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>"},{"title":"Liveness\/Readiness Probe","link":"https:\/\/blog.web-apps.tech\/liveness-readiness-probe\/","pubDate":"Thu, 26 Jul 2018 05:09:35 +0000","guid":"https:\/\/blog.web-apps.tech\/liveness-readiness-probe\/","description":"<p><a href=\"https:\/\/kubernetes.io\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a>\n\u306b\u3088\u308b\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u306b\u306f\u3001Liveness Probe\u3068Readiness Probe\u3068\u547c\u3070\u308c\u308b\u4e8c\u3064\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306f\u6df7\u4e71\u3057\u304c\u3061\u306a\u4e00\u65b9\u3001\u65e5\u672c\u8a9e\u306b\u3088\u308b\u60c5\u5831\u304c\u591a\u304f\u306a\u3044(2018\/07\/26\u73fe\u5728\u3067\u3001Google\u691c\u7d22\u306e1\u30da\u30fc\u30b8\u76ee\u306b\u30d2\u30c3\u30c8\u3059\u308b\u306e\u304c4\u4ef6\u307b\u3069)\u305f\u3081\u3001\u3053\u3053\u3067\u4e00\u3064\u60c5\u5831\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"\u5171\u901a\">\u5171\u901a<\/h2>\n<p>Liveness Probe\u3068Readiness Probe\u306e\u8a2d\u5b9a\u306f\u5171\u901a\u3067\u3001<code>Deployment<\/code>\u3084<code>Pod<\/code>\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5185\u3067\u3001<code>containers<\/code>\u306e\u4e2d\u306b<code>livenessProbe<\/code>\u3068<code>readinessProbe<\/code>\u3068\u3057\u3066\u305d\u308c\u305e\u308c<a href=\"https:\/\/v1-10.docs.kubernetes.io\/docs\/reference\/generated\/kubernetes-api\/v1.10\/#probe-v1-core\" target=\"_blank\" rel=\"noopener\"><code>Probe<\/code> spec<\/a>\n\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306e\u9805\u76ee\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<ul>\n<li><code>failureThreshold<\/code>\n<ul>\n<li><code>Success<\/code>\u72b6\u614b\u306e\u6642\u3001\u4f55\u56de\u5931\u6557\u3057\u305f\u3089<code>Failure<\/code>\u306b\u306a\u308b\u304b\u3002\u6700\u5c0f\u30671\u56de\u3002<\/li>\n<li>Default: 3<\/li>\n<\/ul>\n<\/li>\n<li><code>initialDelaySeconds<\/code>\n<ul>\n<li>\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u3066\u304b\u3089\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u3092\u59cb\u3081\u308b\u307e\u3067\u306e\u79d2\u6570\u3002<\/li>\n<li>Default: 0<\/li>\n<\/ul>\n<\/li>\n<li><code>periodSeconds<\/code>\n<ul>\n<li>\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u306e\u9593\u9694\u3002\u6700\u5c0f\u30671\u79d2<\/li>\n<li>Default: 10<\/li>\n<\/ul>\n<\/li>\n<li>successThreshold\n<ul>\n<li><code>Failure<\/code>\u72b6\u614b\u306e\u6642\u3001\u4f55\u56de\u6210\u529f\u3057\u305f\u3089<code>Success<\/code>\u306b\u306a\u308b\u304b\u3002\u6700\u5c0f\u30671\u56de\u3002<\/li>\n<li>Default: 1<\/li>\n<\/ul>\n<\/li>\n<li>timeoutSeconds\n<ul>\n<li>\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u79d2\u6570\u3002\u6700\u5c0f\u30671\u79d2\u3002<\/li>\n<li>Default: 1<\/li>\n<\/ul>\n<\/li>\n<li>httpGet\n<ul>\n<li>\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308bhttp\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u60c5\u5831\u3092\u66f8\u304f\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><code>httpGet<\/code>\u306e\u9805\u76ee\u306f\u6b21\u306e\u69d8\u306a\u9805\u76ee\u3092\u6301\u3063\u305fobject\u3092\u66f8\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li><code>host<\/code>\n<ul>\n<li>\u5bfe\u8c61\u306e\u30db\u30b9\u30c8\u540d\u3002<\/li>\n<li>Default: Pod\u306eIP<\/li>\n<\/ul>\n<\/li>\n<li><code>httpHeaders<\/code>\n<ul>\n<li>\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30ab\u30b9\u30bf\u30e0\u30d8\u30c3\u30c0\u6307\u5b9a\u3002<code>{name: HEADER_NAME, value: HEADER_VALUE}<\/code>\u306e\u5f62\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\u3067\u66f8\u304f\u3002<\/li>\n<\/ul>\n<\/li>\n<li><code>port<\/code>\n<ul>\n<li>\u30a2\u30af\u30bb\u30b9\u3059\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u307e\u305f\u306f\u540d\u79f0<\/li>\n<\/ul>\n<\/li>\n<li><code>path<\/code>\n<ul>\n<li>\u30a2\u30af\u30bb\u30b9\u3059\u308b\u30d1\u30b9\u3002<\/li>\n<\/ul>\n<\/li>\n<li><code>scheme<\/code>\n<ul>\n<li>\u30a2\u30af\u30bb\u30b9\u3059\u308b\u969b\u306e\u30b9\u30ad\u30fc\u30e0\u3002<\/li>\n<li>Default: HTTP<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"liveness-probe\">Liveness Probe<\/h2>\n<p>\u4e00\u3064\u76ee\u306f<strong>Liveness Probe<\/strong>\u3067\u3059\u3002<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod-lifecycle\/#container-probes\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n<blockquote>\n<p><code>livenessProbe<\/code>: Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod-lifecycle\/#restart-policy\" target=\"_blank\" rel=\"noopener\">restart policy<\/a>\n. If a Container does not provide a liveness probe, the default state is <code>Success<\/code>.<\/p>"},{"title":"Future Pattern","link":"https:\/\/blog.web-apps.tech\/future-pattern\/","pubDate":"Wed, 04 Jul 2018 15:33:02 +0000","guid":"https:\/\/blog.web-apps.tech\/future-pattern\/","description":"<p>Future Pattern\u306f\u975e\u540c\u671f\u51e6\u7406\u30d1\u30bf\u30fc\u30f3\u306e\u4e00\u3064\u3067\u3001\u3042\u308b\u51e6\u7406\u3092\u5225\u306e\u30b9\u30ec\u30c3\u30c9\u306a\u3069\u3067\u5b9f\u884c\u3057\u3001\u7d50\u679c\u3092\u5f8c\u3067(=\u672a\u6765\u3067)\u53d7\u3051\u53d6\u308b\u3088\u3046\u306a\u51e6\u7406\u306b\u7528\u3044\u3089\u308c\u308b\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002\n\u7279\u5fb4\u3068\u3057\u3066\u306f\u3001\u5916\u5074\u306b\u898b\u3048\u3066\u3044\u308b\u95a2\u6570\u306a\u3069\u306e\u51e6\u7406\u3092\u5b9f\u884c\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u51e6\u7406\u3092\u5225\u30b9\u30ec\u30c3\u30c9\u306b\u59d4\u8b72\u3057\u3001\u5f8c\u3067\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u306e\u51fa\u6765\u308bFuture\u3068\u547c\u3070\u308c\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5373\u5ea7\u306b\u30e1\u30a4\u30f3\u30ed\u30b8\u30c3\u30af\u3078\u3068\u8fd4\u5374\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u8a00\u8449\u3067\u66f8\u3044\u3066\u3082\u3001\u4f55\u3060\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3001\u30b3\u30fc\u30c9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"cm\">\/* package, import part *\/<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">in<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nf\">Double<\/span><span class=\"p\">(<\/span><span class=\"nx\">in<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u3053\u306e\u6642\u70b9\u3067\u306f\u7d50\u679c\u306f\u5f97\u3089\u308c\u306a\u3044<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"mi\">10<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">in<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">in<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">d<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"k\">range<\/span><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">d<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u3053\u3053\u3067\u7d50\u679c\u3092\u5f97\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">Double<\/span><span class=\"p\">(<\/span><span class=\"nx\">in<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"k\">range<\/span><span class=\"w\"> <\/span><span class=\"nx\">in<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"w\"> <\/span><span class=\"mi\">2<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">out<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">out<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ Future\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>main<\/code>\u95a2\u6570\u304b\u3089\u547c\u3073\u51fa\u3055\u308c\u305f<code>Double<\/code>\u95a2\u6570\u306f\u3001\u4e0e\u3048\u3089\u308c\u305f\u6570\u3092\u4e8c\u500d\u3059\u308b\u95a2\u6570\u3067\u3059\u304c\u3001\u4e8c\u500d\u3059\u308b\u51e6\u7406\u306f\u547c\u3073\u51fa\u3055\u308c\u305f\u6642\u70b9\u3067\u306f\u5b9f\u884c\u305b\u305a\u3001\u5373\u5ea7\u306bchannel\u3092\u8fd4\u3057\u307e\u3059\u3002\u3053\u306e\u3001\u5909\u6570\u540d<code>out<\/code>\u306echannel\u304c<strong>Future\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/strong>\u3067\u3059\u3002\n\u305d\u306e\u305f\u3081\u3001\u6570\u3092\u4e8c\u500d\u3057\u305f\u7d50\u679c\u306f\u3001Double\u95a2\u6570\u3092\u547c\u3073\u51fa\u3057\u305f\u6642\u70b9\u3067\u306f\u5f97\u3089\u308c\u305a\u3001\u5f8c\u3067<code>out<\/code>channel\u304b\u3089\u5f97\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u3002<\/p>"},{"title":"array\/slice\u306b\u5bfe\u3059\u308b\u5b58\u5728\u78ba\u8a8d\u95a2\u6570\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af","link":"https:\/\/blog.web-apps.tech\/benchmark_in_func\/","pubDate":"Tue, 26 Jun 2018 08:30:22 +0000","guid":"https:\/\/blog.web-apps.tech\/benchmark_in_func\/","description":"<p>Python\u3067\u3044\u3046\u3068\u3053\u308d\u306e\u3001\u6b21\u306e\u69d8\u306a\u6761\u4ef6\u5f0f\u3092\u5b9f\u73fe\u3059\u308b\u95a2\u6570\u3092\u66f8\u304d\u305f\u304b\u3063\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-python\" data-lang=\"python\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">ls<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;foo&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;bar&#34;<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;baz&#34;<\/span><span class=\"p\">]<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"n\">s<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;baz&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">if<\/span> <span class=\"n\">s<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">ls<\/span><span class=\"p\">:<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;FOOBAR!&#34;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5bfe\u8c61\u304c\u30ea\u30b9\u30c8\u306e\u6642\u3001\u666e\u6bb5\u306a\u3089\u666e\u901a\u306bfor\u6587\u3092\u56de\u3059\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u3084\u308a\u305f\u304b\u3063\u305f\u306e\u306f\u5b9a\u6570\u5024\u306e\u4e00\u89a7\u306b\u3042\u308b\u304b\u3069\u3046\u304b\u3001\u3060\u3063\u305f\u306e\u3068\u3001\u5b9a\u6570\u306e\u6570\u3082\u5c11\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u3068\u308a\u3042\u3048\u305a\u3067\u4ee5\u4e0b\u306e\u69d8\u306b\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">something<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;foo&#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;bar&#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;baz&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">errors<\/span><span class=\"p\">.<\/span><span class=\"nf\">New<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;value invalid&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6d41\u77f3\u306b\u96d1\u3059\u304e\u308b\u306e\u3067\u3001\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3057\u3088\u3046\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u300c\u306f\u3066\u3001for\u6587\u631f\u3093\u3060\u3089\u9045\u304f\u306a\u3063\u305f\u308a\u3057\u306a\u3044\u3060\u308d\u3046\u304b\u300d\u306a\u3069\u3068\u8003\u3048\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u53d6\u308a\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"tl-dr\">TL; DR<\/h3>\n<p>\u7d20\u76f4\u306bfor\u6587\u3092\u56de\u3057\u3066\u3082\u5927\u3057\u3066\u554f\u984c\u306f\u306a\u3055\u305d\u3046<\/p>\n<h3 id=\"result\">result<\/h3>\n<p>\u4eca\u56de\u53d6\u3063\u305f\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u306f6\u7a2e\u985e\u3067\u3059\u3002<\/p>\n<ul>\n<li>for-range\u6587\u3092\u56de\u3059<\/li>\n<li>for\u6587\u3092\u56de\u3059<\/li>\n<li><code>map[string]struct{}<\/code>\u3092\u96c6\u5408\u3068\u3057\u3066\u53d6\u308a\u6271\u3063\u3066\u307f\u308b<\/li>\n<li><code>&amp;&amp;<\/code>, <code>||<\/code>\u3067\u3064\u306a\u3050<\/li>\n<li>switch\u6587\u3092\u4f7f\u3046<\/li>\n<li><code>sort.SearchStrings()<\/code>\u3092\u4f7f\u3046<\/li>\n<\/ul>\n<p>6\u756a\u76ee\u306e<code>sort.SearchStrings()<\/code>\u3092\u4f7f\u3046\u65b9\u6cd5\u306f<a href=\"https:\/\/stackoverflow.com\/questions\/15323767\/does-golang-have-if-x-in-construct-similar-to-python\" target=\"_blank\" rel=\"noopener\">stackoverflow<\/a>\n\u306b\u66f8\u3044\u3066\u3042\u3063\u305f\u65b9\u6cd5\u3067\u3001\u4e8c\u5206\u63a2\u7d22\u3092\u3057\u3066\u304f\u308c\u308b\u3068\u3044\u3046\u306e\u3067\u3084\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u7d50\u679c\u306f\u6b21\u306e\u901a\u308a\u3002<\/p>\n<pre tabindex=\"0\"><code>BenchmarkInByForRange-4 200000000 9.34 ns\/op 0 B\/op 0 allocs\/op\nBenchmarkInByFor-4 100000000 10.1 ns\/op 0 B\/op 0 allocs\/op\nBenchmarkInByMap-4 200000000 7.79 ns\/op 0 B\/op 0 allocs\/op\nBenchmarkInByAnd-4 1000000000 2.85 ns\/op 0 B\/op 0 allocs\/op\nBenchmarkInBySwitch-4 2000000000 1.39 ns\/op 0 B\/op 0 allocs\/op\nBenchmarkInBySortSearchStrings-4 10000000 179 ns\/op 32 B\/op 1 allocs\/op\n<\/code><\/pre><p>\u307e\u3041\u4e88\u60f3\u901a\u308a\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u3001<code>sort.SearchStrings()<\/code>\u3092\u4f7f\u3046\u65b9\u6cd5\u306f\u9045\u3044\u3067\u3059\u306d\u3002\u3053\u308c\u306f\u3053\u306e\u95a2\u6570\u306e\u300c\u4e8b\u524d\u306b\u30ea\u30b9\u30c8\u304c\u30bd\u30fc\u30c8\u6e08\u307f\u3067\u3042\u308b\u3053\u3068\u300d\u3068\u3044\u3046\u6761\u4ef6\u306e\u305f\u3081\u306b\u95a2\u6570\u5185\u3067\u30bd\u30fc\u30c8\u3092\u3057\u3066\u308b\u304b\u3089\u3060\u3068\u601d\u308f\u308c\u307e\u3059\u3002(\u5b9f\u969b\u3001\u30bd\u30fc\u30c8\u6e08\u307f\u306e\u30ea\u30b9\u30c8\u3092\u4f7f\u3063\u3066\u3001\u95a2\u6570\u5185\u3067\u30bd\u30fc\u30c8\u3092\u3057\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u30681\/4\u304f\u3089\u3044\u306b\u306f\u306a\u308b)<\/p>"},{"title":"Amazon EKS\u304cGA\u3060\u3068\u8a00\u3046\u306e\u3067\u89e6\u3063\u3066\u307f\u305f","link":"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/","pubDate":"Wed, 06 Jun 2018 02:52:04 +0000","guid":"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/","description":"<p>AWS\u306emanaged Kubernetes\u3067\u3001\u3053\u308c\u307e\u3067\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d9\u30fc\u30bf\u3060\u3063\u305f<a href=\"https:\/\/console.aws.amazon.com\/eks\" target=\"_blank\" rel=\"noopener\">Elastic Container Service for Kubernetes<\/a>\n\u304c<a href=\"https:\/\/aws.amazon.com\/jp\/about-aws\/whats-new\/2018\/06\/amazon-elastic-container-service-for-kubernetes-eks-now-ga\/\" target=\"_blank\" rel=\"noopener\">GA\u306b\u306a\u3063\u305f<\/a>\n\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u3055\u304f\u3063\u3068\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u305f\u3002<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup><\/p>\n<p>\u53c2\u8003\u306b\u3057\u305f\u306e\u306fAWS\u516c\u5f0f\u3001<a href=\"https:\/\/docs.aws.amazon.com\/eks\/latest\/userguide\/getting-started.html\" target=\"_blank\" rel=\"noopener\">EKS\u306eGetting Started Guide<\/a>\n\u3067\u3059\u3002<\/p>\n<p>\u307e\u305a\u306fEKS\u306e\u30da\u30fc\u30b8\u3092\u898b\u3066\u307f\u3088\u3046\u3068\u3057\u305f\u3068\u3053\u308d\u30fb\u30fb\u30fb\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/eks_top_ja_hu_142539013442122f.png\" alt=\"eks_top_ja\" \/>\n\u3076\u3063\u58ca\u308c\u3066\u307e\u3059\u306d\uff01\u3053\u308c\u306f\u306a\u3093\u304b\u30a2\u30ec\u3067\u3059\u306d\u3002\ngettext\u7684\u306a\u306e\u304c\u4e0a\u624b\u304f\u3044\u3063\u3066\u3044\u306a\u3044\u3088\u3046\u306b\u898b\u3048\u308b\u306e\u3067\u3001\u753b\u9762\u4e0b\u304b\u3089\u82f1\u8a9e\u306b\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/eks_top_en_hu_efabeb0e93cc05b8.png\" alt=\"eks_top_en\" \/>\n\u7121\u4e8b\u3001\u6b63\u3057\u3044\u3068\u601d\u308f\u308c\u308b\u30da\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3057\u305f\u3002\n\u306a\u3093\u304b\u3001How it works\u306e\u8aac\u660e\u306e\u56f3\u304c\u3061\u3087\u3063\u3068\u307c\u3084\u3051\u3066\u898b\u3048\u308b\u306e\u306f\u74b0\u5883\u306e\u305b\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u6268\u3001\u3053\u3053\u304b\u3089Getting Started\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/create_iam_hu_474e39e25d8b4d61.png\" alt=\"create_iam\" \/>\n\u307e\u305a\u306fEKS\u7528\u306eIAM\u30ed\u30fc\u30eb\u3092\u4f5c\u3063\u3066\u3044\u304d\u307e\u3059\u3002\nIAM\u30ed\u30fc\u30eb\u4f5c\u6210\u753b\u9762\u306e\u30b5\u30fc\u30d3\u30b9\u30ea\u30b9\u30c8\u306bEKS\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/eks_usecase_hu_a82e04adad2afb58.png\" alt=\"eks_usecase\" \/>\n\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306f\u4e00\u3064\u3057\u304b\u306a\u304f\u3001\u9078\u629e\u6e08\u307f\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/eks_permission_hu_ef58f8b87462b9c7.png\" alt=\"eks_permission\" \/>\n\u30d5\u30e0\u30fc\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/iam_created_hu_59efb1ae8bfed64c.png\" alt=\"iam_created\" \/>\nIAM\u30ed\u30fc\u30eb\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/cf_template_hu_5c0fe8db095f3750.png\" alt=\"cf_template\" \/>\nCloudFormation\u3067\u30af\u30e9\u30b9\u30bf\u3092\u7d44\u3093\u3067\u3044\u304d\u307e\u3059\u3002\n\u4eca\u306e\u3068\u3053\u308d\u3001EKS\u304c\u4f7f\u3048\u308b\u30ea\u30fc\u30b8\u30e7\u30f3\u306fUS West(Oregon) (us-west-2)\u3068US East(N.Virginia) (us-east-1)\u306e\u4e8c\u30ab\u6240\u3067\u3059\u3002\u4eca\u56de\u306fUS East\u3067\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>CloudFormation\u3067Create Stack\u3092\u3084\u3063\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\nS3 template URL\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u5165\u529b\u3057\u307e\u3059\u3002\ntemplate URL\u306f<code>https:\/\/amazon-eks.s3-us-west-2.amazonaws.com\/1.10.3\/2018-06-05\/amazon-eks-vpc-sample.yaml<\/code>\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/cf_template_view_hu_8b1b3f4b587d21df.png\" alt=\"cf_template_view\" \/>\nView\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u306a\u308b\u307b\u3069\u3002<\/p>\n<p>\u7d30\u304b\u3044\u8a2d\u5b9a\u7684\u306a\u3068\u3053\u308d\u306f\u5168\u304f\u3044\u3058\u3089\u305a\u3001\u3055\u304f\u3055\u304f\u9032\u3081\u3066\u3044\u304d\u307e\u3059\u3002Stack name\u306f<code>GettingStarted<\/code>\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/cf_stack_complete_hu_f1ae54b26c86216a.png\" alt=\"cf_stack_complete\" \/>\n\u3067\u304d\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/images\/cf_stack_output-1_hu_2a1833050cb6e1db.png\" alt=\"cf_stack_output-1\" \/>\nOutput\u306e\u30bf\u30b0\u3092\u9078\u629e\u3057\u3066\u3001SecurityGroups\u3068VpcId\u3068SubnetIds\u3092(\u4e00\u5fdc)\u30e1\u30e2\u3063\u3066\u304a\u304d\u307e\u3059\u3002<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup><\/p>\n<p>\u6b21\u306bkubectl\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\u6700\u65b0\u306ekubectl(1.10\u4ee5\u964d)\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u3060\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306fEKS\u5074\u3067\u3082\u914d\u4fe1\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u305d\u308c\u3092\u4f7f\u3063\u3066\u3082OK\u3067\u3059\u3002<\/p>\n<p>EKS\u3067\u306f\u8a8d\u8a3c\u306bheptio-authenticator-aws\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u3053\u3061\u3089\u3082\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5f93\u3044\u5c0e\u5165\u3057\u307e\u3059\u3002\n\u79c1\u306f\u3044\u308d\u3044\u308d\u8003\u3048\u308b\u306e\u304c\u9762\u5012\u3060\u3063\u305f\u305f\u3081\u3001<code>go get<\/code>\u3057\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ go get -u -v github.com\/heptio\/authenticator\/cmd\/heptio-authenticator-aws\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u3066\u3001\u6b63\u5e38\u306b\u5c0e\u5165\u51fa\u6765\u305f\u304b\u3056\u3063\u304f\u308a\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ heptio-authenticator-aws <span class=\"nb\">help<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u3053\u3067\u6ce8\u610f\u306a\u306e\u3067\u3059\u304c\u3001\u30ac\u30a4\u30c9\u3067\u306f<strong>Download and Install the Latest AWS CLI<\/strong>\u306e\u3068\u3053\u308d\u306b<strong>Optional<\/strong>\u3063\u3066\u3064\u3044\u3066\u308b\u3093\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u307b\u307c\u5fc5\u9808\u3067\u3059\u3002\nAWS CLI\u304c\u306a\u3044\u3068\u30af\u30e9\u30b9\u30bf\u306b\u63a5\u7d9a\u51fa\u6765\u306a\u3044\u306e\u3067\u3001AWS CLI\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>"},{"title":"\u8d85\u7d1a\u30ab\u30c4\u4e3c\u3092Anova\u3067\u3084\u3063\u305f","link":"https:\/\/blog.web-apps.tech\/super-katsudoon\/","pubDate":"Mon, 04 Jun 2018 10:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/super-katsudoon\/","description":"<p><a href=\"https:\/\/amzn.to\/2J8onek\" target=\"_blank\" rel=\"noopener\">\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046<\/a>\n\u306b\u51fa\u3066\u3044\u305f\u3001\u8d85\u7d1a\u30ab\u30c4\u4e3c\u3092Anova\u3092\u4f7f\u3063\u3066\u3084\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01N8Q8DA7&linkId=acf882d00d695d1ad1796d9ee199c920\"><\/iframe>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180530_211744_hu_918f91472ac87646.jpg\" alt=\"preheating\" \/>\n\u307e\u305a\u306f\u304a\u6e6f\u3092\u4e88\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u300258\u5ea6\u3067\u3059\u3002\n\u7d66\u6e6f\u5668\u3067\u6e29\u5ea6\u3092\u4e0a\u3052\u305f\u304a\u6e6f\u3092\u4f7f\u3046\u3068\u8abf\u7406\u958b\u59cb\u304c\u65e9\u304f\u306a\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3092\u5b66\u3073\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180530_211854_hu_6599f116446869e2.jpg\" alt=\"pork\" \/>\n\u4eca\u56de\u306e\u304a\u8089\u306f\u3053\u3061\u3089\u3002\u8fd1\u6240\u306e\u897f\u53cb\u306797\u5186\/100g\u306e\u30a2\u30e1\u30ea\u30ab\u7523\u8c5a\u80a9\u30ed\u30fc\u30b9522g\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180530_212656_hu_defa8b36b4d7205e.jpg\" alt=\"packing\" \/>\n\u9069\u5f53\u306bIKEA\u306e\u30b8\u30c3\u30d7\u30ed\u30c3\u30af\u3063\u307d\u3044\u3084\u3064\u306b\u5165\u308c\u3066\u7a7a\u6c17\u3092\u629c\u3044\u3066\u304a\u304d\u307e\u3059\u3002\n<a href=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/\">\u524d\u56de<\/a>\n\u306b\u6bd4\u3079\u3066\u91cd\u3044\u305b\u3044\u304b\u5927\u304d\u3044\u305b\u3044\u304b\u3001\u3042\u307e\u308a\u4e0a\u624b\u304f\u7a7a\u6c17\u3092\u629c\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u3061\u3087\u3063\u3068\u4e0d\u5b89\u3060\u3063\u305f\u3082\u306e\u306e\u3001\u307e\u3041\u30a4\u30b1\u308b\u3067\u3057\u3087\u3068\u305d\u306e\u307e\u307e\u3084\u3063\u3066\u3044\u304d\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180530_212807_hu_71c3643f3473c6c0.jpg\" alt=\"heating\" \/>\n\u6295\u5165\u3002\u4eca\u56de\u306f24\u6642\u9593(!)\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_205323_hu_ce6ac3eb617c997b.jpg\" alt=\"heated\" \/>\n24\u6642\u9593\u305f\u3063\u305f\u304a\u8089\u304c\u3053\u3061\u3089\u3002\u304a\u3044\u3057\u304f\u306a\u3055\u305d\u3046\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_202055_hu_2a6e3039c01ae7b8.jpg\" alt=\"onion\" \/>\n\u30bf\u30de\u30cd\u30ae\u3092\u30b9\u30e9\u30a4\u30b9(\u30b9\u30e9\u30a4\u30b5\u30fc\u306a\u3069\u306a\u3044\u306e\u3067\u5305\u4e01\u3067\u8584\u5207\u308a)\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u6307\u3092\u5c11\u3057\u305d\u304e\u307e\u3057\u305f\u3002\u75db\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_205431_hu_8eb07bc18245a41.jpg\" alt=\"cut_pork\" \/>\n\u8089\u306f\u56db\u5206\u5272\u3057\u307e\u3057\u305f\u3002\n\u30d6\u30ed\u30c3\u30af\u306e\u5411\u304d\u306b\u3088\u3063\u3066\u306f\u4e8c\u679a\u3067\u3082\u826f\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u6cb9\u306e\u65b9\u5411\u7684\u306b\u3053\u3046\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_210933_hu_9b7de65f9187824b.jpg\" alt=\"coating\" \/>\n\u8863\u3092\u3064\u3051\u305f\u69d8\u5b50\u3002\u5869\u3053\u3057\u3087\u3046\u3092\u632f\u3063\u3066\u3001\u5c0f\u9ea6\u7c89\u2192\u5375\u2192\u30d1\u30f3\u7c89\u2192\u5375\u2192\u30d1\u30f3\u7c89\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_211840_hu_f6c42dc22db61c58.jpg\" alt=\"fried\" \/>\n\u63da\u3052\u307e\u3057\u305f\u3002200\u5ea6\u306e\u6cb9\u306720\u79d2\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_212641_hu_2a4cad52df0237d8.jpg\" alt=\"done\" \/>\n\u5375\u3067\u3068\u3058\u3066\u5fa1\u98ef\u306e\u4e0a\u306b\u30c9\u30fc\u30f3\u3057\u305f\u306e\u304c\u3053\u3061\u3089\u3002\u5375\u3067\u3068\u3058\u308b\u4f5c\u696d\u306f\u6226\u4e89\u306a\u306e\u3067\u5199\u771f\u3092\u64ae\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/super-katsudoon\/images\/IMG_20180531_213153_hu_79d119afc109097a.jpg\" alt=\"thick\" \/>\n\u30a2\u30c4\u3044\u3002<\/p>\n<p>\u5927\u5909\u67d4\u3089\u304b\u304f\u3001\u304a\u3044\u3057\u304b\u3063\u305f\u3067\u3059\u3002\n\u4e00\u90e8\u7b4b\u3063\u307d\u3044\u306e\u304c\u6b8b\u3063\u3066\u305f\u3068\u3053\u308d\u3082\u3042\u3063\u305f\u306e\u3067\u3001\u4e0b\u51e6\u7406\u3068\u304b\u3057\u305f\u65b9\u304c\u826f\u304b\u3063\u305f\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\u3002\n\u3042\u3068\u3001\u4e8c\u4eba\u5206\u306b\u3057\u3066\u306f\u591a\u304b\u3063\u305f\u306e\u3067\u6b21\u306f\u3082\u3046\u5c11\u3057\u4eba\u6570\u3092\u78ba\u4fdd\u3057\u305f\u65b9\u304c\u3088\u3044\u3068\u601d\u3044\u307e\u3057\u305f\u3002<\/p>"},{"title":"Anova\u304c\u5c4a\u3044\u305f\u306e\u3067Hello World\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/anova-hello-world\/","pubDate":"Wed, 30 May 2018 13:24:37 +0000","guid":"https:\/\/blog.web-apps.tech\/anova-hello-world\/","description":"<p>\u53bb\u308b5\u670812\u65e5\u3001\u8089\u306e\u796d\u5178\u3067\u3042\u308b\u3068\u3053\u308d\u306e<a href=\"https:\/\/medium.com\/@lestrrat\/builderscon-%E4%BD%8E%E6%B8%A9%E8%AA%BF%E7%90%86%E8%82%89%E4%BC%9A-2018-spring-8c09ea955372\" target=\"_blank\" rel=\"noopener\">builderscon \u4f4e\u6e29\u8abf\u7406\u8089\u4f1a 2018 Spring<\/a>\n\u304c\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002\n\u305d\u306e\u540d\u306e\u901a\u308a\u3001Anova\u3067\u4f4e\u6e29\u8abf\u7406\u3055\u308c\u305f\u8089\u3092\u3072\u305f\u3059\u3089\u98df\u3046\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3067\u3001\u5927\u5909\u306b\u697d\u3057\u307f\u306b\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\u304c\u3001\u5bb6\u3092\u51fa\u308b\u305e\uff01\u3068\u3044\u3046\u6bb5\u306b\u306a\u3063\u3066<a href=\"https:\/\/blog.web-apps.tech\/i-went-to-kubecon-cloudnativecon-eu-2018\/\">KubeCon<\/a>\n\u306e\u6642\u306b\u3084\u3089\u304b\u3057\u305f\u304e\u3063\u304f\u308a\u8170\u3092\u518d\u767a\u3057\u3001\u884c\u304f\u3053\u3068\u304b\u306a\u308f\u305a\u3001\u6c17\u3065\u3044\u305f\u3089<a href=\"https:\/\/amzn.to\/2IXM4Gc\" target=\"_blank\" rel=\"noopener\">Anova<\/a>\n\u3092\u30dd\u30c1\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/rcm-fe.amazon-adsystem.com\/e\/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=nasa9084-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B00XV556OQ&linkId=1a430911d48ae55d1c7045f4c8dc0b6f\"><\/iframe>[^amzn]\n<p>\u305d\u306eAnova\u304c\u6211\u304c\u5bb6\u306b\u5c4a\u3044\u305f\u306e\u3067\u3001\u771f\u7a7a\u4f4e\u6e29\u8abf\u7406\u306eHello World\u3068\u3082\u8a00\u3048\u308b\u30ed\u30fc\u30b9\u30c8\u30d3\u30fc\u30d5\u3092\u3064\u304f\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_155448_hu_d07e9171c92ee391.jpg\" alt=\"anova_box\" \/>\n<\/p>\n<p>\u30cd\u30c3\u30c8\u4e0a\u3067\u30d6\u30ed\u30b0\u8a18\u4e8b\u3068\u304b\u898b\u3066\u308b\u3068\u3001\u7b52\u72b6\u306e\u7bb1\u306b\u5165\u3063\u3066\u3044\u308b\u5199\u771f\u3082\u591a\u3044\u306e\u3067\u3059\u304c\u3001\u6700\u8fd1\u306f\u666e\u901a\u306e\u7bb1\u306b\u5165\u3063\u3066\u304f\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_155529_hu_ea79f3a0250a18e6.jpg\" alt=\"anova_paper\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_155548_hu_8db01c10c1ebcc9d.jpg\" alt=\"anova_paper_rev\" \/>\n\u4e2d\u306b\u5165\u3063\u3066\u305f\u7d19\u306b\u306f\u57fa\u672c\u7684\u306a\u52a0\u71b1\u6642\u9593\u306a\u3093\u304b\u3082\u66f8\u3044\u3066\u3042\u308a\u307e\u3059<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_155614_hu_e696ee7568c6a0c3.jpg\" alt=\"anova1\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_155705_hu_2f972f364266df3f.jpg\" alt=\"anova2\" \/>\nAnova\u3055\u3093\u3068\u3054\u5bfe\u9762\u3002\u304b\u308c\u3053\u308c\u4e00\u5e74\u8fd1\u304f\u8cb7\u3046\u304b\u60a9\u3093\u3067\u305f\u306e\u3067\u3001\u3088\u3046\u3084\u304f\u3001\u3068\u3044\u3063\u305f\u304a\u6c17\u6301\u3061\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_184843_hu_7037e6191a136cdf.jpg\" alt=\"bucket\" \/>\n\u6211\u304c\u5bb6\u306b\u3042\u3063\u305f\u934b\u3060\u3068\u3001\u4f7f\u3048\u306a\u304f\u306f\u306a\u3044\u306e\u3067\u3059\u304c\u3082\u3046\u5c11\u3057\u4f59\u88d5\u304c\u307b\u3057\u3044\u3068\u611f\u3058\u305f\u306e\u3067Anova\u3055\u3093\u306e\u7570\u540d\u3092\u6301\u3064<a href=\"https:\/\/twitter.com\/lestrrat\" target=\"_blank\" rel=\"noopener\">@lestrrat\u3055\u3093<\/a>\n\u306e<a href=\"https:\/\/medium.com\/makisanch\/%E3%83%91%E3%83%B3%E3%83%89%E3%83%A9%E3%81%AE%E7%AE%B1-anova%E3%81%AB%E3%82%88%E3%82%8B%E4%BD%8E%E6%B8%A9%E8%AA%BF%E7%90%86-%E3%82%92%E9%96%8B%E3%81%91%E3%81%9F-a619877bd388\" target=\"_blank\" rel=\"noopener\">\u30d6\u30ed\u30b0\u8a18\u4e8b\u3092\u53c2\u8003<\/a>\n\u306b\u3057\u3066\u3001\u30d0\u30b1\u30c4\u3092\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002\n\u8fd1\u6240(\u3068\u8a00\u3063\u3066\u3082\u5f92\u6b6910\u5206\u304b\u3089\u306e\u30d0\u30b9\u306710\u5206\u7a0b\u5ea6\u304b\u304b\u308b)\u30db\u30fc\u30e0\u30bb\u30f3\u30bf\u30fc\u3067\u3001<a href=\"https:\/\/amzn.to\/2slSuDG\" target=\"_blank\" rel=\"noopener\">\u30c8\u30f3\u30dc \u30cb\u30e5\u30fc\u30bb\u30ec\u30af\u30c8\u30d0\u30b1\u30c415L<\/a>\n\u3092\u8cfc\u5165(\u4f59\u8ac7\u3067\u3059\u304c\u3001\u3053\u306e\u30d0\u30b1\u30c4\u306f\u98df\u54c1\u885b\u751f\u6cd5\u9069\u5408\u5546\u54c1\u306a\u306e\u3067\u8abf\u7406\u306b\u4f7f\u3046\u3053\u3068\u306b\u4f55\u306e\u554f\u984c\u3082\u3042\u308a\u307e\u305b\u3093)\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_185535_hu_bb955213631e8687.jpg\" alt=\"set_anova\" \/>\n\u304a\u6e6f\u3092\u5f35\u3063\u3066anova\u3092\u30bb\u30c3\u30c8\u3002\u6e29\u5ea6\u8868\u793a\u3082\u6442\u6c0f\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\u3002\n58\u5ea6\u306b\u30bb\u30c3\u30c8\u3057\u3066\u4f59\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_185617_hu_c91e9ca27a0bb080.jpg\" alt=\"beef_pack\" \/>\n\u4eca\u56de\u8abf\u7406\u3057\u305f\u306e\u306f\u3053\u3061\u3089\u306e\u725b\u8089\u30e2\u30e2\u30d6\u30ed\u30c3\u30af862\u5186\u3002\u8fd1\u6240\u306e\u897f\u53cb\u3067\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_190114_hu_ddc794ab751e7add.jpg\" alt=\"beef_spice\" \/>\n\u9069\u5f53\u306b\u7b4b\u3092\u53d6\u3063\u3066\u304b\u3089\u30b9\u30d1\u30a4\u30b9\u3092\u307e\u3076\u3057\u3066\u3044\u304d\u307e\u3059\u3002\n\u4eca\u56de\u306f\u30ed\u30fc\u30b9\u30c8\u30d3\u30fc\u30d5\u7528\u30b9\u30d1\u30a4\u30b9\u306a\u308b\u3082\u306e\u304c\u725b\u8089\u306b\u4ed8\u5c5e\u3057\u3066\u3044\u305f\u306e\u3067\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_190535_hu_8ddc6aecd779cb19.jpg\" alt=\"packing\" \/>\n<a href=\"https:\/\/www.ikea.com\/jp\/ja\/catalog\/products\/60340412\/\" target=\"_blank\" rel=\"noopener\">IKEA\u306e\u30b8\u30c3\u30d7\u30ed\u30c3\u30af\u7684\u306a\u888b<\/a>\n\u306b\u5165\u308c\u3066\u3001\u7a7a\u6c17\u3092\u9069\u5f53\u306b\u629c\u304d\u307e\u3057\u305f\u3002<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup><\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_200038_hu_9b81f39bea95733a.jpg\" alt=\"warming\" \/>\n\u8089\u3092\u6295\u5165\u3002\u30af\u30ea\u30c3\u30d7\u306a\u3093\u304b\u3067\u888b\u3092\u6b62\u3081\u308b\u3068\u826f\u3044\u3001\u307f\u305f\u3044\u306a\u8a18\u4e8b\u304c\u591a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3071\u3063\u3068\u4f7f\u3048\u305d\u3046\u306a\u30af\u30ea\u30c3\u30d7\u304c\u7121\u304b\u3063\u305f\u306e\u3067\u3069\u3053\u306e\u3054\u5bb6\u5ead\u306b\u3082\u3042\u308b\u3067\u3042\u308d\u3046\u7dd1\u306e\u990a\u751f\u30c6\u30fc\u30d7\u3067\u3068\u3081\u3066\u304a\u304d\u307e\u3057\u305f\u3002\n\u3053\u306e\u72b6\u614b\u30672\u6642\u9593\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_220439_hu_8043ba025c5b34cb.jpg\" alt=\"warmed\" \/>\n\u3067\u304d\u3042\u304c\u3063\u305f\u3082\u306e\u304c\u3053\u3061\u3089\u3002\u898b\u305f\u76ee\u306f\u826f\u304f\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180526_221028_hu_67ff521190f2b56f.jpg\" alt=\"fire\" \/>\n\u30d5\u30e9\u30a4\u30d1\u30f3\u3067\u713c\u304d\u76ee\u3092\u3064\u3051\u3066\u3044\u304d\u307e\u3059\u3002\n\u30ac\u30b9\u30d0\u30fc\u30ca\u30fc\u304c\u307b\u3057\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180527_110415_hu_1b13a2abd7977f40.jpg\" alt=\"cut\" \/>\n\u5207\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u7d20\u6674\u3089\u3057\u3044\u30d4\u30f3\u30af\u8272\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180527_110802_hu_7da3ce14cfd8da07.jpg\" alt=\"slice\" \/>\n\u30b9\u30e9\u30a4\u30b9\u3057\u305f\u3082\u306e\u304c\u3053\u3061\u3089\u3002\u30ed\u30fc\u30b9\u30c8\u30d3\u30fc\u30d5\u3092\u826f\u3044\u611f\u3058\u306b\u8584\u304f\u30b9\u30e9\u30a4\u30b9\u3059\u308b\u306e\u3001\u96e3\u3057\u3044\u3067\u3059\u306d\u3002\n\u8ab0\u304b\u3053\u3064\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/anova-hello-world\/images\/IMG_20180527_220827_hu_3925268921cd0df.jpg\" alt=\"IMG_20180527_220827\" \/>\n\u6700\u7d42\u7684\u306b\u5fa1\u98ef\u306e\u4e0a\u3067\u30c9\u30fc\u30f3\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u6e29\u7389\u3082anova\u3067\u3084\u3063\u305f\u3084\u3064\u3002\u3061\u3087\u3063\u3068\u5805\u304b\u3063\u305f\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<p>\u304a\u3044\u3057\u304b\u3063\u305f\u3002<\/p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>\u888b\u3092\u6c34\u306b\u3064\u3051\u3066(\u6c34\u304c\u5165\u3089\u306a\u3044\u3088\u3046\u306b)\u3001\u7a7a\u6c17\u3092\u629c\u304f\u3068\u305d\u3053\u305d\u3053\u771f\u7a7a\u3063\u307d\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3059\u3002&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>"},{"title":"slimduet\u3092\u4f7f\u3063\u3066\u6d77\u5916\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3092\u78ba\u4fdd\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/using-slimduet\/","pubDate":"Mon, 07 May 2018 08:50:39 +0000","guid":"https:\/\/blog.web-apps.tech\/using-slimduet\/","description":"<p>\u5148\u65e5\u3001<a href=\"https:\/\/blog.web-apps.tech\/i-went-to-kubecon-cloudnativecon-eu-2018\/\">\u521d\u3081\u3066\u6d77\u5916\u306b\u884c\u3063\u3066\u304d\u305f<\/a>\n\u3093\u3067\u3059\u304c\u3001\u305d\u306e\u969b\u3001<a href=\"https:\/\/www.slimduet.net\/\" target=\"_blank\" rel=\"noopener\">slimduet<\/a>\n\u3068\u3044\u3046eSIM(\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u7684\u306a\u8a2d\u5b9a\u3067\u901a\u4fe1\u4e8b\u696d\u8005\u3092\u5909\u66f4\u51fa\u6765\u308bSIM)\u3092\u4f7f\u7528\u3057\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901a\u4fe1\u3092\u3057\u305f\u306e\u3067\u3001\u8a2d\u5b9a\u65b9\u6cd5\u306a\u3069\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"\u524d\u63d0\">\u524d\u63d0<\/h2>\n<p>\u7aef\u672b\u306f<a href=\"https:\/\/www.freetel.jp\/product\/smartphone\/kiwami2\/\" target=\"_blank\" rel=\"noopener\">FREETEL\u306eKiwami 2<\/a>\n(Android\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f6)\u3001\u884c\u304d\u5148\u306f\u30c7\u30f3\u30de\u30fc\u30af\/\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u3067\u3059\u3002<\/p>\n<h2 id=\"\u8a2d\u5b9a\">\u8a2d\u5b9a<\/h2>\n<h3 id=\"sim\u3092\u8cfc\u5165\u3059\u308b\">SIM\u3092\u8cfc\u5165\u3059\u308b<\/h3>\n<p>slimduet\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u5c02\u7528\u306eeSIM\u304c\u5fc5\u8981\u3067\u3059\u306e\u3067\u3001<a href=\"https:\/\/www.slimduet.net\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30b5\u30a4\u30c8<\/a>\n\u3084Amazon(\u8a18\u4e8b\u57f7\u7b46\u6642\u70b9\u3067\u306f\u5728\u5eab\u306a\u3057)\u304b\u3089\u8cfc\u5165\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>SIM\u30ab\u30fc\u30c9\u306e\u4fa1\u683c\u306f\u306f2000\u5186\u3092\u5207\u308b\u7a0b\u5ea6\u3067\u3059\u3002<\/p>\n<h3 id=\"slimduet\u306e\u30a2\u30d7\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\">slimduet\u306e\u30a2\u30d7\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/h3>\n<p>slimduet\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u5c02\u7528\u306e\u30a2\u30d7\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\nGoogle Play\u3067<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.greenroam.slimduet\" target=\"_blank\" rel=\"noopener\">slimduet<\/a>\n\u3068\u691c\u7d22\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<p>\u52ff\u8ad6\u3001\u3053\u306e\u6bb5\u968e\u3067\u306f\u5225\u9014\u30c7\u30fc\u30bf\u901a\u4fe1\u304c\u51fa\u6765\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3 id=\"\u30d7\u30e9\u30f3\u3092\u8cfc\u5165\u3059\u308b\">\u30d7\u30e9\u30f3\u3092\u8cfc\u5165\u3059\u308b<\/h3>\n<p>slimduet SIM\u3092\u7aef\u672b\u306b\u633f\u5165\u3057\u3066\u304b\u3089\u3001\u884c\u304d\u5148\u306b\u4f75\u305b\u305f\u30d7\u30e9\u30f3\u3092\u8cfc\u5165\u3057\u307e\u3059\u3002\n\u3053\u306e\u6bb5\u968e\u3067\u306f\u3001Wi-Fi\u306a\u3069\u306e\u30c7\u30fc\u30bf\u901a\u4fe1\u304c\u51fa\u6765\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u7a7a\u6e2f\u3084\u30db\u30c6\u30eb\u306eWi-Fi\u7b49\u3092\u4f7f\u7528\u3059\u308b\u304b\u3001\u65e5\u672c\u56fd\u5185\u306b\u3044\u308b\u5185\u306b\u8cfc\u5165\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>slimduet\u30a2\u30d7\u30ea\u3092\u8d77\u52d5\u3059\u308b\u3068\u3001\u884c\u304d\u5148\u306e\u691c\u7d22\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u884c\u304d\u5148\u3092\u5165\u529b\u3057\u691c\u7d22\u3057\u307e\u3059\u3002\n\u4eca\u56de\u306f\u30c7\u30f3\u30de\u30fc\u30af\u3067\u3059\u306e\u3067\u3001\u300c\u30c7\u30f3\u30de\u30fc\u30af\u300d\u3068\u5165\u529b\u3057\u3001<strong>\u691c\u7d22\u30d0\u30fc\u6a2a\u306e\u30eb\u30fc\u30da\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059<\/strong>(\u30ad\u30fc\u30dc\u30fc\u30c9\u306e<strong>Go<\/strong>\u3084<strong>Done<\/strong>\u3001\u30a8\u30f3\u30bf\u30fc\u306a\u3069\u3067\u306f\u691c\u7d22\u3055\u308c\u306a\u3044\u306e\u3067\u6ce8\u610f)\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200639_hu_be3b3f5f7bca12fb.png\" alt=\"search_screen\" \/>\n<\/p>\n<p>\u304a\u3059\u3059\u3081\u30d7\u30e9\u30f3\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u30c7\u30f3\u30de\u30fc\u30af\u3067\u4f7f\u3048\u308b\u30d7\u30e9\u30f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u9078\u629e\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180505-104656_hu_59a553927b110a6a.png\" alt=\"plan\" \/>\n<\/p>\n<p>\u56fd\u5225\u30d7\u30e9\u30f3\u3092\u9078\u629e\u3059\u308b\u3068\u753b\u9762\u304c\u5909\u308f\u308a\u30011\u65e5\u9593\u30013\u65e5\u9593\u306a\u3069\u306e\u30d7\u30e9\u30f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u65e5\u7a0b\u306b\u3042\u308f\u305b\u305f\u671f\u9593\u306e\u30d7\u30e9\u30f3\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200652_hu_1d820c851365ebb.png\" alt=\"plan_detail\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200701_hu_aa3d330b94ed97d6.png\" alt=\"purchase\" \/>\n<\/p>\n<p>\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u306a\u3069\u3067\u8cfc\u5165\u624b\u7d9a\u304d\u3092\u3057\u305f\u5f8c\u3001\u753b\u9762\u4e0b\u90e8\u306e\u300c\u79c1\u306e\u96fb\u8a71\u756a\u53f7\u300d\u3092\u62bc\u3057\u3001\u8cfc\u5165\u3057\u305f\u30d7\u30e9\u30f3\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200731_hu_1664cfb8f7ba51ca.png\" alt=\"my_phone_num\" \/>\n<\/p>\n<p>\u307e\u305f\u3001\u3053\u306e\u6bb5\u968e\u3067SMS\u3067\u8cfc\u5165\u3057\u305f\u30d7\u30e9\u30f3\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u6765\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<h3 id=\"\u96fb\u8a71\u756a\u53f7\u3092\u5207\u308a\u66ff\u3048\u308b\">\u96fb\u8a71\u756a\u53f7\u3092\u5207\u308a\u66ff\u3048\u308b<\/h3>\n<p>\u81ea\u52d5\u96fb\u8a71\u756a\u53f7\u5207\u308a\u66ff\u3048\u306b\u5bfe\u5fdc\u3057\u305f\u7aef\u672b\u3067\u306f\u3001\u30d7\u30e9\u30f3\u306e\u300c\u8a73\u7d30\u300d\u304b\u3089\u3001\u300c\u643a\u5e2f\u96fb\u8a71\u756a\u53f7\u306e\u5207\u308a\u66ff\u3048\u300d\u3092\u62bc\u3059\u3053\u3068\u3067\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p>Kiwami 2\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3001SIM Toolkit\u3092\u4f7f\u7528\u3057\u3066\u756a\u53f7\u306e\u5207\u308a\u66ff\u3048\u3092\u884c\u3044\u307e\u3059\u3002\nAndroid\u306e\u30a2\u30d7\u30ea\u30c9\u30ed\u30ef\u30fc\u304b\u3089SIM Toolkit\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200747_hu_9bb3e0559afd7cc0.png\" alt=\"drawer\" \/>\n<\/p>\n<p>SIM Toolkit\u3092\u8d77\u52d5\u3059\u308b\u3068\u3001SIM\u306e\u4e00\u89a7\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001slimduet\u304b\u306a\uff1f\u3068\u601d\u308f\u308c\u308b\u3082\u306e\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200751-1_hu_63b1b4c8e1f0097.png\" alt=\"sim_toolkit_1\" \/>\n<\/p>\n<p>SIM\u3092\u9078\u629e\u3057\u305f\u3089\u3001\u300c\u643a\u5e2f\u96fb\u8a71\u756a\u53f7\u3092\u5207\u308a\u66ff\u3048\u300d\u3001\u300c\u3054\u5229\u7528\u3059\u308b\u643a\u5e2f\u96fb\u8a71\u756a\u53f7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u300d\u306e\u9806\u3067\u9078\u629e\u3057\u307e\u3059\u3002\n\u300c\u643a\u5e2f\u96fb\u8a71\u756a\u53f7\u3092\u5207\u308a\u66ff\u3048\u300d\u306e\u3042\u3068\u3001\u300c\u8a2d\u5b9a\u300d\u3092\u9078\u629e\u3057\u305f\u304f\u306a\u308a\u307e\u3059\u304c\u3001\u3053\u3061\u3089\u3067\u306f\u306a\u3044\u305f\u3081\u6ce8\u610f\u3057\u307e\u3059(\u56f3\u306e\u8d64\u67a0\u3067\u793a\u3057\u305f\u90e8\u5206\u3092\u9078\u629e\u3057\u307e\u3059)\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200803_hu_1ccbea886ebfdfbe.png\" alt=\"sim_toolkit_2\" \/>\n<\/p>\n<p>\u8cfc\u5165\u3057\u305f\u30d7\u30e9\u30f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u9078\u629e\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200806-1_hu_500c1fdde67cfd93.png\" alt=\"sim_toolkit_3\" \/>\n<\/p>\n<h3 id=\"apn\u306e\u8a2d\u5b9a\u3092\u3059\u308b\">APN\u306e\u8a2d\u5b9a\u3092\u3059\u308b<\/h3>\n<p>\u96fb\u8a71\u756a\u53f7\u306e\u5207\u308a\u66ff\u3048\u304c\u51fa\u6765\u305f\u3089\u3001APN\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059\u3002\nAndroid\u306e\u8a2d\u5b9a\u304b\u3089\u3001\u300cSIM\u30ab\u30fc\u30c9\u3068\u30e2\u30d0\u30a4\u30eb\u901a\u4fe1\u300d\u306e\u8a2d\u5b9a\u753b\u9762\u3092\u958b\u304d\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200817_hu_f4feff90fe61f5c9.png\" alt=\"settings\" \/>\n<\/p>\n<p>\u300c\u30e2\u30d0\u30a4\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u300d\u3092\u958b\u304d\u3001\u30c7\u30fc\u30bf\u901a\u4fe1\u3092\u6709\u52b9\u306b\u3059\u308b\u3001\u30c7\u30fc\u30bf\u30ed\u30fc\u30df\u30f3\u30b0\u3001\u306b\u305d\u308c\u305e\u308c\u30c1\u30a7\u30c3\u30af\u3092\u5165\u308c\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200821_hu_d2219d1eba32e76.png\" alt=\"settings_sim\" \/>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200824-1_hu_e298465085a7241e.png\" alt=\"data\" \/>\n<\/p>\n<p>\u300c\u30a2\u30af\u30bb\u30b9\u30dd\u30a4\u30f3\u30c8\u540d\u300d\u306e\u8a2d\u5b9a\u753b\u9762\u3092\u958b\u304d\u3001\u53f3\u4e0a\u306e <strong>+<\/strong> \u304b\u3089APN\u306e\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n\u540d\u524d\u306f\u9069\u5f53\u306a\u3082\u306e(slimduet\u306a\u3069)\u3092\u5165\u529b\u3057\u3001APN\u3092 <code>uinternet<\/code>\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200835_hu_dcd73a3d0835287d.png\" alt=\"set_ap\" \/>\n<\/p>\n<p>\u4fdd\u5b58\u3057\u305f\u3089\u3001\u4f5c\u6210\u3057\u305fAPN\u8a2d\u5b9a\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/using-slimduet\/images\/Screenshot_20180502-200827_hu_a92daf2e1c53e6c4.png\" alt=\"choose_ap\" \/>\n\u3053\u306e\u6642\u70b9\u3067\u30c7\u30fc\u30bf\u901a\u4fe1\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u30cf\u30ba\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u6642\u70b9\u3067\u30c7\u30fc\u30bf\u901a\u4fe1\u304c\u51fa\u6765\u306a\u3044\u5834\u5408\u3001\u901a\u4fe1\u4e8b\u696d\u8005\u3092\u9069\u5207\u306a\u3082\u306e\u306b\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>"},{"title":"KubeCon + CloudNativeCon Europe 2018\u306b\u3044\u3063\u3066\u304d\u305f","link":"https:\/\/blog.web-apps.tech\/i-went-to-kubecon-cloudnativecon-eu-2018\/","pubDate":"Mon, 07 May 2018 07:08:58 +0000","guid":"https:\/\/blog.web-apps.tech\/i-went-to-kubecon-cloudnativecon-eu-2018\/","description":"<p>\u904e\u304e\u30575\u67081\u65e5\u301c5\u67086\u65e5\u3001\u51fa\u5f35\u3067<a href=\"https:\/\/events.linuxfoundation.org\/kubecon-eu-2018\/\" target=\"_blank\" rel=\"noopener\">KubeCon + CloudNativeCon Europe 2018<\/a>\n\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\uff01<\/p>\n<p>KubeCon\u306f<a href=\"https:\/\/kubernetes.io\/\" target=\"_blank\" rel=\"noopener\">Kubernetes(k8s)<\/a>\n\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001<a href=\"https:\/\/www.cncf.io\/\" target=\"_blank\" rel=\"noopener\">Cloud Native Computing Foundation(CNCF)<\/a>\n\u304c\u4e3b\u50ac\u3059\u308bCloudNativeCon\u3068\u4f75\u305b\u305f\u958b\u50ac\u3067\u3057\u305f\u3002\n\u4eca\u56de\u306e\u958b\u50ac\u5730\u306f\u30c7\u30f3\u30de\u30fc\u30af\u306f\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u306eBella Center\u3067\u3001\u5b9f\u306b4000\u4eba\u4ee5\u4e0a\u304c\u53c2\u52a0\u3057\u305f\u3068\u306e\u3053\u3068\u3067\u3059\u3002\ntwitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f<a href=\"https:\/\/twitter.com\/hashtag\/kubecon\" target=\"_blank\" rel=\"noopener\">#kubecon<\/a>\n\u3067\u3001\u4e00\u90e8<a href=\"https:\/\/twitter.com\/hashtag\/cloudnativecon\" target=\"_blank\" rel=\"noopener\">#cloudnativecon<\/a>\n\u3082\u4f7f\u308f\u308c\u3066\u3044\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\u79c1\u500b\u4eba\u3068\u3057\u3066\u306f\u521d\u6d77\u5916\u3067\u3001\u521d\u65e5\u306e\u79fb\u52d5\u3067\u8170\u3092\u304e\u3063\u304f\u308a\u3059\u308b\u306a\u3069\u3001\u30c8\u30e9\u30d6\u30eb\u306b\u898b\u821e\u308f\u308c\u306a\u304c\u3089\u3082\u3001\u306a\u3093\u3068\u304b\u3053\u3093\u3068\u304b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"finnair\">finnair<\/h2>\n<p>\u4eca\u56de\u3001\u98db\u884c\u6a5f\u306f<a href=\"https:\/\/www.finnair.com\/jp\/jp\/\" target=\"_blank\" rel=\"noopener\">Finnair<\/a>\n\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002\n\u6210\u7530\u7a7a\u6e2f\u304b\u3089\u30d8\u30eb\u30b7\u30f3\u30ad\u3001\u30d8\u30eb\u30b7\u30f3\u30ad\u304b\u3089\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u306e\u4e00\u56de\u4e57\u308a\u7d99\u304e\u3067\u3059\u3002\n\u6210\u7530\u7a7a\u6e2f\u304b\u3089\u30d8\u30eb\u30b7\u30f3\u30ad\u306f\u7d0410\u6642\u9593\u3001\u30d8\u30eb\u30b7\u30f3\u30ad\u304b\u3089\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u306f\u7d041.5\u6642\u9593\u306e\u30d5\u30e9\u30a4\u30c8\u3067\u3059\u3002<\/p>\n<p>\u6210\u7530\u7a7a\u6e2f\u304b\u3089\u30d8\u30eb\u30b7\u30f3\u30ad\u306e\u30d5\u30e9\u30a4\u30c8\u3067\u306f\u3001\u6a5f\u5185\u306b\u5099\u3048\u4ed8\u3051\u306e\u30d8\u30c3\u30c9\u30db\u30f3\u304c\u30ce\u30a4\u30ba\u30ad\u30e3\u30f3\u30bb\u30e9\u30fc\u4ed8\u304d\u3067\u3001\u610f\u5916\u3068\u97f3\u3082\u3088\u304f\u3001\u307e\u305f\u3001\u6a5f\u5185\u98df\u3082\u305d\u3053\u305d\u3053\u304a\u3044\u3057\u304b\u3063\u305f\u305f\u3081\u3001\u6bd4\u8f03\u7684\u304a\u52e7\u3081\u51fa\u6765\u308b\u822a\u7a7a\u4f1a\u793e\u304b\u3068\u601d\u3044\u307e\u3059\u3002\n\u6210\u7530\u7a7a\u6e2f\u304b\u3089\u30d8\u30eb\u30b7\u30f3\u30ad\u306e\u30d5\u30e9\u30a4\u30c8\u306fJAL\u3082\u542b\u3081\u305f\u30b3\u30fc\u30c9\u30b7\u30a7\u30a2\u4fbf\u3060\u3063\u305f\u305f\u3081\u3001\u6a5f\u5185\u306e\u653e\u9001\u3067\u306f\u65e5\u672c\u8a9e\u3067\u3082\u653e\u9001\u3055\u308c\u308b\u70b9\u304c\u5b89\u5fc3\u611f\u304c\u3042\u3063\u3066\u826f\u3044\u306a\u3068\u611f\u3058\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"the-square\">The Square<\/h2>\n<p>\u4eca\u56de\u3068\u3063\u305f\u30db\u30c6\u30eb\u306f\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u306e\u7e41\u83ef\u8857\u306b\u307b\u3069\u8fd1\u3044<a href=\"https:\/\/www.thesquarecopenhagen.com\/\" target=\"_blank\" rel=\"noopener\">The Square<\/a>\n\u3068\u3044\u3046\u30db\u30c6\u30eb\u3067\u3059\u3002\n\u7e41\u83ef\u8857\u306b\u8fd1\u3044\u305f\u3081\u3001\u89b3\u5149\u306b\u3082\u56f0\u3089\u305a\u3001\u98f2\u307f\u4f1a\u3092\u3057\u305f\u5f8c\u306b\u3082\u623b\u308a\u3084\u3059\u3044\u7acb\u5730\u3067\u3057\u305f\u3002<\/p>\n<p>\u8fd1\u6240\u306b\u306f<a href=\"https:\/\/netto.dk\/\" target=\"_blank\" rel=\"noopener\">NETTO<\/a>\n\u3068\u3044\u304624\u6642\u9593\u55b6\u696d\u306e\u6bd4\u8f03\u7684\u5b89\u3044\u30b9\u30fc\u30d1\u30fc\u3084\u3001\u304a\u571f\u7523\u306e\u8cfc\u5165\u7b49\u306b\u3082\u4fbf\u5229\u306a<a href=\"https:\/\/irma.dk\/\" target=\"_blank\" rel=\"noopener\">Irma<\/a>\n\u3068\u3044\u3046\u9ad8\u7d1a\u30b9\u30fc\u30d1\u30fc\u3082\u3042\u308a\u3001\u8cb7\u3044\u7269\u306b\u306f\u56f0\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u7e41\u83ef\u8857\u307e\u3067\u811a\u3092\u4f38\u3070\u305b\u3070\u3001<a href=\"http:\/\/www.hardrock.com\/cafes\/copenhagen\/\" target=\"_blank\" rel=\"noopener\">Hard Rock Cafe<\/a>\n\u3084\u3001\u56fd\u5185\u3067\u3082\u4e00\u6642\u671f\u8a71\u984c\u3068\u306a\u3063\u305fSuperdry<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u306a\u3069\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u4eca\u56de\u306eKubeCon\u306e\u30d1\u30fc\u30c6\u30a3\u30fc\u304c<a href=\"https:\/\/www.tivoli.dk\/en\/\" target=\"_blank\" rel=\"noopener\">Tivoli garden<\/a>\n\u3067\u306e\u958b\u50ac\u3060\u3063\u305f\u305f\u3081\u3001\u30d1\u30fc\u30c6\u30a3\u30fc\u4f1a\u5834\u304c\u30db\u30c6\u30eb\u306e\u96a3\u306e\u30d6\u30ed\u30c3\u30af\u3001\u3068\u3044\u3046\u70b9\u3067\u3082\u975e\u5e38\u306b\u826f\u3044\u7acb\u5730\u3067\u3057\u305f\u3002<\/p>\n<p>\u30db\u30c6\u30eb\u305d\u306e\u3082\u306e\u3082\u3001\u304a\u3057\u3083\u308c\u3067\u3001\u6e05\u6f54\u306a\u611f\u3058\u306e\u30db\u30c6\u30eb\u3067\u3057\u305f\u3002\n\u30b7\u30e3\u30ef\u30fc\u304c\u51fa\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3057\u3001\u6700\u4f4e\u9650\u306e\u30a2\u30e1\u30cb\u30c6\u30a3\u3082\u63c3\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u51b7\u8535\u5eab\u304c\u58ca\u308c\u3066\u3044\u305f\u306e\u304b\u3001\u4e2d\u306e\u98f2\u307f\u7269\u7b49\u3092\u51b7\u3084\u3057\u3066\u304f\u308c\u306a\u3044\u306e\u3060\u3051\u304c\u5c11\u3005\u6b8b\u5ff5\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"kubecon--cloudnativecon-europe-2018\">KubeCon + CloudNativeCon Europe 2018<\/h2>\n<p>KubeCon + CloudNativeCon Europe 2018\u306f\u975e\u5e38\u306b\u591a\u304f\u306e\u30c8\u30e9\u30c3\u30af\u304c\u3042\u308a\u3001\u305d\u306e\u591a\u304f\u306e\u30b9\u30e9\u30a4\u30c9\u304cPDF\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30b9\u30e9\u30a4\u30c9\u306f<a href=\"https:\/\/kccnceu18.sched.com\/\" target=\"_blank\" rel=\"noopener\">\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb<\/a>\n\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u307e\u305f\u3001<a href=\"https:\/\/twitter.com\/superbrothers\" target=\"_blank\" rel=\"noopener\">@superbrothers<\/a>\n\u3055\u3093\u304c\u4e00\u6c17\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u66f8\u3044\u3066\u304f\u3060\u3055\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u3061\u3089\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"ja\"><p lang=\"en\" dir=\"ltr\">I created a script that downloads all KubeCon + CloudNativeCon Europe 2018 slides from Sched! ? <a href=\"https:\/\/t.co\/FyD1zhJbNk\">https:\/\/t.co\/FyD1zhJbNk<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/KubeCon?src=hash&amp;ref_src=twsrc%5Etfw\">#KubeCon<\/a><\/p>"},{"title":"Kubernetes\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9 by Ian Lewis","link":"https:\/\/blog.web-apps.tech\/k8s-security-best-practices-by-ianlewis\/","pubDate":"Thu, 19 Apr 2018 05:18:30 +0000","guid":"https:\/\/blog.web-apps.tech\/k8s-security-best-practices-by-ianlewis\/","description":"<p><a href=\"https:\/\/containerdays.jp\/\" target=\"_blank\" rel=\"noopener\">Japan Container Days v18.04<\/a>\n\u3067\u8868\u984c\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u805e\u3044\u305f\u306e\u3067\u3001\u307e\u3068\u3081\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30b9\u30e9\u30a4\u30c9\u8cc7\u6599\">\u30b9\u30e9\u30a4\u30c9\u8cc7\u6599<\/h2>\n<p><a href=\"https:\/\/speakerdeck.com\/ianlewis\/kubernetesfalsesekiyuriteifalsebesutopurakuteisu\" target=\"_blank\" rel=\"noopener\">Kubernetes\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9(SpeakerDeck)<\/a>\n<\/p>\n<h2 id=\"api\u30b5\u30fc\u30d0\u3078\u306e\u653b\u6483\u3092\u9632\u3050\">API\u30b5\u30fc\u30d0\u3078\u306e\u653b\u6483\u3092\u9632\u3050<\/h2>\n<h3 id=\"rbac\u3067pod\u306b\u4ed8\u4e0e\u3055\u308c\u308b\u6a29\u9650\u3092\u7d5e\u308b\">RBAC\u3067Pod\u306b\u4ed8\u4e0e\u3055\u308c\u308b\u6a29\u9650\u3092\u7d5e\u308b<\/h3>\n<p>Pod\u306b\u306f\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u304c\u81ea\u52d5\u3067\u30de\u30a6\u30f3\u30c8\u3055\u308c\u308b\u305f\u3081\u3001\u4e0d\u6b63\u30a2\u30af\u30bb\u30b9\u306b\u3088\u308a\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3057\u307e\u3046\u3068\u5371\u306a\u3044<\/p>\n<h3 id=\"firewall\u3067api\u30b5\u30fc\u30d0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306b\u3064\u3044\u3066ip\u5236\u9650\u3092\u4ed8\u4e0e\u3059\u308b\">Firewall\u3067API\u30b5\u30fc\u30d0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306b\u3064\u3044\u3066IP\u5236\u9650\u3092\u4ed8\u4e0e\u3059\u308b<\/h3>\n<p>\u3044\u3056\u3001\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u304c\u6f0f\u308c\u305f\u5834\u5408\u3067\u3082\u3001API\u30b5\u30fc\u30d0\u306b\u30a2\u30af\u30bb\u30b9\u3055\u308c\u3066\u3057\u307e\u308f\u306a\u3044\u3088\u3046\u306b\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3067IP\u5236\u9650\u3092\u304b\u3051\u3066\u304a\u304f\u3068\u826f\u3044<\/p>\n<h3 id=\"networkpolicy\u3067db\u3078\u306e\u63a5\u7d9a\u304c\u8a31\u53ef\u3055\u308c\u308bpod\u3092\u5236\u9650\u3059\u308b\">NetworkPolicy\u3067DB\u3078\u306e\u63a5\u7d9a\u304c\u8a31\u53ef\u3055\u308c\u308bPod\u3092\u5236\u9650\u3059\u308b<\/h3>\n<p>\u5927\u4f53\u306e\u5834\u5408\u3001\u91cd\u8981\u306a\u30c7\u30fc\u30bf\u306fDB\u306b\u6709\u308b\u305f\u3081\u3001DB\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u7d5e\u308b\u3053\u3068\u3067\u5b89\u5168\u6027\u3092\u4e0a\u3052\u308b<\/p>\n<h4 id=\"example\">example:<\/h4>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">NetworkPolicy<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">networking.k8s.io\/v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">redis<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">podSelector<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">matchLabels<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">redis<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">ingress<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">from<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"nt\">podSelector<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">matchLabels<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">guestBook<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u30db\u30b9\u30c8\u3078\u306e\u653b\u6483\u3092\u9632\u3050\">\u30db\u30b9\u30c8\u3078\u306e\u653b\u6483\u3092\u9632\u3050<\/h2>\n<p>\u6b21\u306e\u4e09\u3064\u3092\u4f75\u7528\u3059\u308b\u3068\u826f\u3044<\/p>\n<h3 id=\"non-root\u30e6\u30fc\u30b6\u3067pod\u3092\u5b9f\u884c\u3059\u308b\">non-root\u30e6\u30fc\u30b6\u3067Pod\u3092\u5b9f\u884c\u3059\u308b<\/h3>\n<h4 id=\"example-1\">example:<\/h4>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Pod<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">security-context-demo<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">securityContext<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">runAsUser<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"m\">1000<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"\u8aad\u307f\u8fbc\u307f\u5c02\u7528\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3059\u308b\">\u8aad\u307f\u8fbc\u307f\u5c02\u7528\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3059\u308b<\/h3>\n<h4 id=\"example-2\">example:<\/h4>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">kind<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">Pod<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">apiVersion<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">v1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">metadata<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">security-context-demo<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">spec<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">securityContext<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nt\">readOnlyRootFilesystem<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"no_new_privs\">no_new_privs<\/h3>\n<p>fork\u3057\u305f\u30d7\u30ed\u30bb\u30b9\u304c\u5f37\u3044\u6a29\u9650\u3092\u6301\u3066\u306a\u3044\u3088\u3046\u306b\u3059\u308b<\/p>"},{"title":"Raspberry Pi\u306e\u30d8\u30c3\u30c9\u30ec\u30b9\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067Wi-Fi\u3092\u8a2d\u5b9a\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/raspberry-pi-headless-wifi-setup\/","pubDate":"Wed, 18 Apr 2018 09:17:54 +0000","guid":"https:\/\/blog.web-apps.tech\/raspberry-pi-headless-wifi-setup\/","description":"<p>uzulla\u3055\u3093\u304c\u30d6\u30ed\u30b0\u3067\u3053\u3093\u306a\u3053\u3068\u3092\u66f8\u3044\u3066\u305f\u3002<\/p>\n<blockquote>\n<p>\u3057\u304b\u3057\u2026\/boot\/\u306e\u3069\u3053\u304b\u306b\u8d77\u52d5\u5f8c\u5b9f\u884c\u3055\u308c\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u3042\u308c\u3070\u697d\u306a\u306e\u306b\u306a\u2026\uff08\u305d\u3053\u3067\u7121\u7406\u3084\u308awifi\u60c5\u5831\u3092\u66f8\u304d\u8fbc\u3081\u3070\u826f\u3044\u308f\u3051\u3067\uff09\n<a href=\"http:\/\/uzulla.hateblo.jp\/entry\/2018\/04\/17\/134526\" target=\"_blank\" rel=\"noopener\">\u30d8\u30c3\u30c9\u30ec\u30b9Raspberry Pi Zero w(h)\u306e\u30b3\u30f3\u30bd\u30fc\u30eb\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306a\u3069\u521d\u671f\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u30e1\u30e2 - uzulla\u304c\u30d6\u30ed\u30b0<\/a>\n<\/p>\n<\/blockquote>\n<p>\u79c1\u3082\u904e\u53bb\u4f55\u5ea6\u304bRaspberry Pi Zero\u306e\u30d8\u30c3\u30c9\u30ec\u30b9\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u3057\u3066\u307e\u3057\u3066\u3001\u5b9f\u306f\u30d8\u30c3\u30c9\u30ec\u30b9\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306e\u6642\u306bWi-Fi\u60c5\u5831\u3092\u66f8\u304d\u8fbc\u3081\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u306e\u3067\u3059\u3002<\/p>\n<p><code>\/boot\/wpa_supplicant.conf<\/code>\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3067\u3001\u3053\u3053\u306bWi-Fi\u306e\u8a2d\u5b9a\u3092\u66f8\u304d\u8fbc\u3093\u3067\u8d77\u52d5\u3059\u308b\u3068\u3001raspbian\u304c<code>\/etc\/wpa_supplicant\/wpa_supplicant.conf<\/code>\u306b\u826f\u3044\u611f\u3058\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n<p>\u4e0a\u8a18uzulla\u3055\u3093\u306e\u30d6\u30ed\u30b0\u3067\u3044\u3046\u3068\u3001\u300c<strong>microSD\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6<\/strong>\u300d\u306e\u6642\u306b\u4e00\u7dd2\u306b\u66f8\u304d\u8fbc\u3093\u3067\u304a\u304f\u3068\u3001\u8d77\u52d5\u6642\u306b\u305d\u306e\u60c5\u5831\u3092\u4f7f\u3063\u3066Wi-Fi\u3092\u3064\u304b\u3093\u3067\u304f\u308c\u307e\u3059\u3002\n\u3042\u3068\u306f<code>nmap<\/code>\u3059\u308b\u306a\u308a\u3001\u30eb\u30fc\u30bf\u3084\u3089DHCP\u30b5\u30fc\u30d0\u3084\u3089\u306e\u30ea\u30fc\u30b9\u72b6\u6cc1\u3092\u78ba\u8a8d\u3059\u308b\u306a\u308a\u3067\u30e9\u30ba\u30d1\u30a4\u306b\u5272\u5f53\u305f\u3063\u305fIP\u3092\u30b2\u30c3\u30c8\u3057\u3066<code>ssh pi@xxx.xxx.xxx.xxx<\/code>\u7684\u306bSSH\u3059\u308b\u304b\u3001avahi\/bonjour\u3092\u3064\u304b\u3063\u3066<code>ssh pi@raspberrypi.local<\/code>\u7684\u306bSSH\u3059\u308b\u304b\u3067\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code>wpa_supplicant.conf<\/code>\u306e\u66f8\u304d\u65b9\u306f\u3001\u4e0a\u8a18uzulla\u3055\u3093\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u306e\u3001\u300c<strong>Raspberry Pi Zero w\u306bWifi\u3092\u8a2d\u5b9a\u3059\u308b<\/strong>\u300d\u3063\u3066\u3068\u3053\u308d\u3092\u898b\u308b\u304b\u3001<a href=\"https:\/\/steveedson.co.uk\/tools\/wpa\/\" target=\"_blank\" rel=\"noopener\">\u3053\u3053<\/a>\n\u3068\u304b<a href=\"https:\/\/mascii.github.io\/wpa-supplicant-conf-tool\/\" target=\"_blank\" rel=\"noopener\">\u3053\u3053<\/a>\n\u306b\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u4f5c\u3063\u3066\u304f\u308c\u3066\u308b\u4eba\u304c\u3044\u308b\u306e\u3067\u3001\u5229\u7528\u3057\u3066\u751f\u6210\u3059\u308b\u3068\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5e73\u6587\u3067OK\u306a\u306e\u3067\u3001\u9069\u5f53\u306a\u6587\u5b57\u5217\u3092\u7a81\u3063\u8fbc\u3093\u3067\u624b\u5143\u3067\u66f8\u304d\u63db\u3048\u308b\u3068\u5b89\u5fc3\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001NOOBS\u3067\u3084\u308b\u3068\u304d\u306f\u3001<code>wpa_supplicant.conf<\/code>\u3068<code>ssh<\/code>\u306f<code>\/boot<\/code>\u3067\u306f\u306a\u304f\u3001\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u304a\u3051\u3070OK\u3067\u3059\u3002\n\u3055\u3089\u306b\u3001<code>recovery.cmdline<\/code>\u3068\u8a00\u3046\u30d5\u30a1\u30a4\u30eb\u306e<code>quiet<\/code>\u3068\u3044\u3046\u90e8\u5206\u3092<code>vncinstall<\/code>\u306b\u66f8\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u8d77\u52d5\u3057\u305fNOOBS\u306bVNC\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>"},{"title":"TOTP\u3092\u5b9f\u88c5\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/implementing_totp\/","pubDate":"Fri, 30 Mar 2018 17:03:45 +0000","guid":"https:\/\/blog.web-apps.tech\/implementing_totp\/","description":"<p>\u3053\u3053\u6570\u5e74\u3067\u591a\u304f\u306e\u30b5\u30fc\u30d3\u30b9\u3067\u63a1\u7528\u3055\u308c\u3066\u304d\u3066\u3044\u308b\u4e8c\u8981\u7d20\u8a8d\u8a3c\u3067\u3059\u304c\u3001\u7686\u3055\u3093\u4f7f\u3063\u3066\u3044\u308b\u3067\u3057\u3087\u3046\u304b\u3002\n\u79c1\u306f\u5b9f\u306f\u6700\u8fd1\u307e\u3067\u306f\u9762\u5012\u3067\u3042\u307e\u308a\u4f7f\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3088\u3046\u3084\u304f\u91cd\u3044\u8170\u3092\u4e0a\u3052\u3066\u3042\u3061\u3053\u3061\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002\n\u305d\u306e\u3046\u3061\u3001\u8fd1\u5e74\u7279\u306b\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u306e\u304cTOTP(Time-Based One-Time Password)\u3068\u547c\u3070\u308c\u308b\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3059\u3002\nTOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306f<a href=\"https:\/\/tools.ietf.org\/html\/rfc6238\" target=\"_blank\" rel=\"noopener\">RFC6238<\/a>\n\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3001\u30b5\u30fc\u30d0\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u5171\u6709\u3059\u308b\u79d8\u5bc6\u9375\u304a\u3088\u3073\u73fe\u5728\u6642\u523b\u304b\u3089\u78ba\u8a8d\u7528\u306e\u30b3\u30fc\u30c9\u3092\u751f\u6210\u3059\u308b\u3082\u306e\u3067\u3059\u3002\nRFC\u3084<a href=\"https:\/\/en.wikipedia.org\/wiki\/Time-based_One-time_Password_algorithm\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>\n\u3092\u898b\u3066\u308f\u304b\u308b\u3088\u3046\u3001\u304b\u306a\u308a\u7c21\u7d20\u306a\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3001\u4e00\u3064\u4e00\u3064\u7406\u89e3\u3057\u3066\u3044\u3051\u3070\u6bd4\u8f03\u7684\u7c21\u5358\u306b\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nGo\u8a00\u8a9e\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u4f8b\u306b\u3001\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<h2 id=\"hotp\u3068totp\">HOTP\u3068TOTP<\/h2>\n<p>TOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3068\u3088\u304f\u4f3c\u305f\u3082\u306e\u306b\u3001HOTP(HMAC-Based One-Time Password)\u3068\u547c\u3070\u308c\u308b\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u3042\u308a\u307e\u3059\u3002\n\u3053\u308c\u306f\u3001\u30b5\u30fc\u30d0\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u5171\u6709\u3059\u308b\u79d8\u5bc6\u9375\u3068\u3001\u300c\u4f55\u56de\u76ee\u306e\u8a8d\u8a3c\u304b\u300d\u304b\u3089\u78ba\u8a8d\u7528\u306e\u30b3\u30fc\u30c9\u3092\u751f\u6210\u3059\u308b\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3059\u3002\nHOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306f(\u52ff\u8ad6)\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3059\u304b\u3089\u3001\u3042\u308b\u8a08\u7b97\u624b\u9806\u3067\u3042\u308a\u3001\u79d8\u5bc6\u9375\u3068\u8a8d\u8a3c\u56de\u6570\u3092\u5f15\u6570\u306b\u3068\u3063\u3066\u8a8d\u8a3c\u7528\u30b3\u30fc\u30c9\u3092\u8fd4\u3059\u95a2\u6570\u3068\u3057\u3066\u8868\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u3053\u306e\u3001\u8a8d\u8a3c\u56de\u6570\u3068\u3044\u3046\u5f15\u6570\u306b\u5bfe\u3057\u3066\u3001\u73fe\u5728\u6642\u523b\u3092\u5165\u529b\u3057\u305f\u3082\u306e\u304cTOTP\u3067\u3059\u3002\n\u8a8d\u8a3c\u300c\u56de\u6570\u300d\u3068\u3044\u3046\u304f\u3089\u3044\u3067\u3059\u304b\u3089\u3001\u5024\u306f\u6b63\u306e\u6574\u6570\u5024\u3067\u3059\u3002\u6642\u523b\u3092\u6574\u6570\u3068\u3057\u3066\u5165\u529b\u3059\u308b\u305f\u3081\u3001UnixTime\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\u5b9f\u969b\u306b\u306fUnixTime\u305d\u306e\u307e\u307e\u3067\u5165\u529b\u3059\u308b\u30681\u79d2\u3054\u3068\u306b\u8a8d\u8a3c\u7528\u30b3\u30fc\u30c9\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3044\u5b9f\u7528\u3067\u304d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304b\u3089\u3001\u3042\u308b\u79d2\u6570\u3092\u4e00\u5468\u671f\u3068\u3057\u3066\u3001\u73fe\u5728\u304c\u4f55\u5468\u671f\u76ee\u306a\u306e\u304b\u3001\u3068\u3044\u3046\u5024\u3092\u5165\u529b\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"totp\u3092\u5b9f\u88c5\u3059\u308b\">TOTP\u3092\u5b9f\u88c5\u3059\u308b<\/h2>\n<p>\u6268\u3001\u524d\u7f6e\u304d\u306f\u3053\u308c\u304f\u3089\u3044\u306b\u3057\u3066TOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002\n\u6b21\u306e\u5f0f\u3067\u8868\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\\begin{eqnarray*}\nTOTP(K, T_0, X) &amp;=&amp; HOTP(K, T(T_0, X)) \\\\\nT(T_0, X) &amp;=&amp; \\frac{(CurrentUnixTime - T_0)}{X}\n\\end{eqnarray*}<\/p>\n<ul>\n<li>$K$\u306f\u5171\u6709\u79d8\u5bc6\u9375\u3067\u3059\u3002<\/li>\n<li>$T_0$\u306f\u6570\u3048\u306f\u3058\u3081\u306e\u6642\u9593\u3067\u3001\u901a\u5e38\u306fUnix epoch\u3001\u3059\u306a\u308f\u30610\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/li>\n<li>$X$\u306f\u4e00\u5468\u671f\u306e\u79d2\u6570\u3067\u3001\u898f\u5b9a\u5024\u306f30\u79d2\u3067\u3059\u3002(\u5b9f\u969b\u3001\u591a\u304f\u306e\u30b5\u30fc\u30d3\u30b9\u304c30\u79d2\u30d9\u30fc\u30b9\u3067\u3059)<\/li>\n<\/ul>\n<p>\u30d7\u30ed\u30b0\u30e9\u30e0\u5b9f\u88c5\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u66f8\u3044\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">TOTP<\/span><span class=\"p\">(<\/span><span class=\"nx\">k<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">t0<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">x<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nf\">HOTP<\/span><span class=\"p\">(<\/span><span class=\"nx\">k<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nf\">T<\/span><span class=\"p\">(<\/span><span class=\"nx\">t0<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">x<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">T<\/span><span class=\"p\">(<\/span><span class=\"nx\">t0<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">x<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">int<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">time<\/span><span class=\"p\">.<\/span><span class=\"nf\">Now<\/span><span class=\"p\">().<\/span><span class=\"nx\">Unix<\/span><span class=\"w\"> <\/span><span class=\"o\">-<\/span><span class=\"w\"> <\/span><span class=\"nx\">t0<\/span><span class=\"p\">)<\/span><span class=\"o\">\/<\/span><span class=\"nx\">x<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u7c21\u5358\u3067\u3059\u306d\u3002\u4e0a\u8a18\u306e\u5185\u3001\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u306e\u306f<code>HOTP(K, T)<\/code>\u3060\u3051\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>"},{"title":"Golang: \u914d\u5217\u304b\u3089\u30b9\u30e9\u30a4\u30b9\u306b\u5909\u63db\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/golang-array-to-slice\/","pubDate":"Fri, 16 Mar 2018 02:19:13 +0000","guid":"https:\/\/blog.web-apps.tech\/golang-array-to-slice\/","description":"<ul>\n<li>TL;DR: <code>slice := array[:]<\/code>\u3067\u5909\u63db\u3067\u304d\u308b<\/li>\n<\/ul>\n<p>Go\u8a00\u8a9e\u306b\u306f\u30ea\u30b9\u30c8\u306e\u69d8\u306a\u3082\u306e\u304c\u4e8c\u3064\u3042\u308a\u307e\u3059\u3002\u914d\u5217(\u56fa\u5b9a\u9577)\u3068\u30b9\u30e9\u30a4\u30b9(\u53ef\u5909\u9577)\u3067\u3059\u3002\n\u4e00\u822c\u306b\u3001Go\u8a00\u8a9e\u3067\u914d\u5217\u3092\u6271\u3046\u3053\u3068\u306f\u591a\u304f\u306a\u3044\u3067\u3057\u3087\u3046\u3002\n\u5b9f\u969b\u3001\u591a\u304f\u306e\u30d1\u30c3\u30b1\u30fc\u30b8(\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u542b\u3080)\u304c\u8981\u6c42\u3059\u308b\u306e\u306f\u30b9\u30e9\u30a4\u30b9\u3067\u3059\u3002<\/p>\n<p>\u3068\u306f\u8a00\u3063\u3066\u3082\u4e00\u90e8\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u306f\u914d\u5217\u3092\u53d6\u308a\u6271\u3063\u3066\u3044\u308b\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001<a href=\"https:\/\/golang.org\/pkg\/crypto\/sha512\/\" target=\"_blank\" rel=\"noopener\"><code>crypto\/sha512<\/code>\u3092\u898b\u3066\u307f\u308b<\/a>\n\u3068\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u95a2\u6570\u304c\u5b58\u5728\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">Sum512<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">byte<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"nx\">Size<\/span><span class=\"p\">]<\/span><span class=\"kt\">byte<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u3053\u3067\u3001<code>Size<\/code>\u306f\u540c\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u3067\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u5b9a\u6570\u3067\u3001\u5024\u306f64\u3067\u3059\u3002\n\u3064\u307e\u308a\u3001\u3053\u306e\u95a2\u6570\u306f64\u30d0\u30a4\u30c8\u306e\u9577\u3055\u3092\u6301\u3063\u305f\u914d\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u95a2\u6570\u306f\u4e0e\u3048\u3089\u308c\u305f\u30c7\u30fc\u30bf\u304b\u3089SHA512\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3092\u8a08\u7b97\u3059\u308b\u3082\u306e\u3067\u3059\u3002\n\u52ff\u8ad6\u3001\u8fd4\u3063\u3066\u304d\u305f\u5024\u3092\u305d\u306e\u307e\u307e\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3042\u308b\u3068\u306f\u601d\u3044\u307e\u3059\u304c\u3001\u305d\u306e\u307e\u307e\u306e\u5024\u306f\u4eba\u9593\u53ef\u8aad\u306a\u5024\u3067\u306f\u7121\u3044\u305f\u3081\u3001hexdigest\u3092\u5f97\u305f\u3044\u3068\u601d\u3046\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>Go\u8a00\u8a9e\u306b\u306f\u3082\u3061\u308d\u3093\u306e\u3053\u3068\u306a\u304c\u3089\u3001<code>encoding\/hex<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3057\u3001\u7c21\u5358\u306b16\u9032\u6587\u5b57\u5217\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n16\u9032\u8868\u8a18\u306e\u6587\u5b57\u5217\u3092\u5f97\u308b\u305f\u3081\u306b\u306f\u3001\u6b21\u306e\u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">EncodeToString<\/span><span class=\"p\">(<\/span><span class=\"nx\">src<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">byte<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5f15\u6570\u306b\u6ce8\u76ee\u3057\u307e\u3059\u3002\n\u8981\u6c42\u3055\u308c\u3066\u3044\u308b\u306e\u306f<code>byte<\/code>\u306e\u30b9\u30e9\u30a4\u30b9\u3067\u3059\u3002<\/p>\n<p>Go\u3067\u306f\u3001\u914d\u5217\u3068\u30b9\u30e9\u30a4\u30b9\u306f\u57fa\u672c\u7684\u306b\u5225\u7269\u3067\u3059\u304b\u3089\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">h<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">sha512<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sum512<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;foobar&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ \u578b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nf\">EncodeToString<\/span><span class=\"p\">(<\/span><span class=\"nx\">h<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u305d\u3046\u306f\u8a00\u3063\u3066\u3082\u3001\u914d\u5217\u3068\u30b9\u30e9\u30a4\u30b9\u306f\u975e\u5e38\u306b\u4f3c\u3066\u3044\u307e\u3059\u3002\n\u6b21\u306e\u3088\u3046\u306b\u66f8\u304d\u305f\u304f\u306a\u308a\u307e\u3059\u306d\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">h<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">sha512<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sum512<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;foobar&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nf\">EncodeToString<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"nx\">h<\/span><span class=\"p\">))<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u914d\u5217\u3092\u30b9\u30e9\u30a4\u30b9\u306b\u5909\u63db\u3057\u305f\u3044<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3057\u304b\u3057\u3001\u6b21\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u3092\u751f\u3058\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>cannot convert sha512.Sum512(&#34;foobar&#34;) (type [64]byte) to type []byte\n<\/code><\/pre><p>\u578b\u5909\u63db\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u3067\u3059\u3002\n\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u306e\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>Go\u8a00\u8a9e\u3067\u306f\u3001\u914d\u5217\u306e\u7bc4\u56f2\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u305f\u5834\u5408\u3001\u8fd4\u3055\u308c\u308b\u5024\u306f\u30b9\u30e9\u30a4\u30b9\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">a<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">]<\/span><span class=\"kt\">string<\/span><span class=\"p\">{<\/span><span class=\"s\">&#34;foo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;bar&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;baz&#34;<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">a<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">:<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ s\u306f\u30b9\u30e9\u30a4\u30b9<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u307e\u305f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u7701\u7565\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\n\u958b\u59cb\u5024\u3092\u7701\u7565\u3059\u308c\u3070\u30010\u3092\u4e0e\u3048\u305f\u3082\u306e\u3068\u898b\u306a\u3055\u308c\u307e\u3059\u3057\u3001\u7d42\u4e86\u5024\u3092\u7701\u7565\u3059\u308c\u3070\u3001\u914d\u5217\u306e\u6700\u5f8c\u307e\u3067\u3092\u5207\u308a\u53d6\u308a\u307e\u3059\u3002<\/p>"},{"title":"Let's Encrypt\u3067\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/lets-encrypt-wildcard\/","pubDate":"Tue, 13 Mar 2018 23:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/lets-encrypt-wildcard\/","description":"<p>\u5148\u65e5twitter\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u305f\u3068\u767a\u8868\u3055\u308c\u305fLet&rsquo;s Encrypt\u306e\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3067\u3059\u304c\u3001\u672c\u65e5\u672a\u660e\u3001\u6b63\u5f0f\u306bcertbot\u304c\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u306b\u5bfe\u5fdc\u3057\u305f\u3068<a href=\"https:\/\/community.letsencrypt.org\/t\/acme-v2-and-wildcard-certificate-support-is-live\/55579\" target=\"_blank\" rel=\"noopener\">\u767a\u8868\u3055\u308c\u307e\u3057\u305f<\/a>\n!<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup><\/p>\n<p>\u65e9\u901f\u3067\u3059\u304c\u3001\u5b9f\u969b\u306b\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>\u5c1a\u3001\u4eca\u56de\u5bfe\u8c61\u3068\u3057\u305f\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n<ul>\n<li>CentOS 7<\/li>\n<li>\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066nginx<\/li>\n<li>DNS\u306fGehirn DNS<\/li>\n<\/ul>\n<p>\u3067\u306f\u3001\u4f5c\u696d\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>CentOS 7\u3067certbot\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u5927\u62b5\u306fyum\u3067certbot\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u307e\u305a\u306f\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ sudo yum update\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u51fa\u529b\u306f\u7701\u7565\u3057\u307e\u3059\u304c\u3001certbot\u304c0.22.0\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002\n0.22.0\u306f\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u5bfe\u5fdc\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u306e\u3067\u3001\u554f\u984c\u306a\u3044\u3067\u3059\u306d\uff01<\/p>\n<p>\u516c\u5f0f\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u3067\u306f\u3001<a href=\"https:\/\/certbot.eff.org\/lets-encrypt\/centosrhel7-nginx\" target=\"_blank\" rel=\"noopener\">dns-plugin\u3092\u4f7f\u3046\u3088\u3046\u66f8\u3044\u3066\u3042\u308a<\/a>\n\u307e\u3059\u304c\u3001Gehirn DNS\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u7121\u3044\u305f\u3081\u3001\u4eca\u56de\u306f\u624b\u52d5\u3067\u884c\u304d\u307e\u3059\u3002\n\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><span class=\"lnt\">40\n<\/span><span class=\"lnt\">41\n<\/span><span class=\"lnt\">42\n<\/span><span class=\"lnt\">43\n<\/span><span class=\"lnt\">44\n<\/span><span class=\"lnt\">45\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># certbot certonly --manual --preferred-challenges dns -d *.web-apps.tech --server https:\/\/acme-v02.api.letsencrypt.org\/directory<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Plugins selected: Authenticator manual, Installer None\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Enter email address <span class=\"o\">(<\/span>used <span class=\"k\">for<\/span> urgent renewal and security notices<span class=\"o\">)<\/span> <span class=\"o\">(<\/span>Enter <span class=\"s1\">&#39;c&#39;<\/span> to\n<\/span><\/span><span class=\"line\"><span class=\"cl\">cancel<span class=\"o\">)<\/span>: nasa.9084.bassclarinet@gmail.com\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Starting new HTTPS connection <span class=\"o\">(<\/span>1<span class=\"o\">)<\/span>: acme-v02.api.letsencrypt.org\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Please <span class=\"nb\">read<\/span> the Terms of Service at\n<\/span><\/span><span class=\"line\"><span class=\"cl\">https:\/\/letsencrypt.org\/documents\/LE-SA-v1.2-November-15-2017.pdf. You must\n<\/span><\/span><span class=\"line\"><span class=\"cl\">agree in order to register with the ACME server at\n<\/span><\/span><span class=\"line\"><span class=\"cl\">https:\/\/acme-v02.api.letsencrypt.org\/directory\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">(<\/span>A<span class=\"o\">)<\/span>gree\/<span class=\"o\">(<\/span>C<span class=\"o\">)<\/span>ancel: a\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Would you be willing to share your email address with the Electronic Frontier\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Foundation, a founding partner of the Let<span class=\"s1\">&#39;s Encrypt project and the non-profit\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s1\">organization that develops Certbot? We&#39;<\/span>d like to send you email about EFF and\n<\/span><\/span><span class=\"line\"><span class=\"cl\">our work to encrypt the web, protect its users and defend digital rights.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">(<\/span>Y<span class=\"o\">)<\/span>es\/<span class=\"o\">(<\/span>N<span class=\"o\">)<\/span>o: y\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Starting new HTTPS connection <span class=\"o\">(<\/span>1<span class=\"o\">)<\/span>: supporters.eff.org\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Obtaining a new certificate\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Performing the following challenges:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">dns-01 challenge <span class=\"k\">for<\/span> web-apps.tech\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\">NOTE: The IP of this machine will be publicly logged as having requested this\n<\/span><\/span><span class=\"line\"><span class=\"cl\">certificate. If you<span class=\"s1\">&#39;re running certbot in manual mode on a machine that is not\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"s1\">your server, please ensure you&#39;<\/span>re okay with that.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Are you OK with your IP being logged?\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"o\">(<\/span>Y<span class=\"o\">)<\/span>es\/<span class=\"o\">(<\/span>N<span class=\"o\">)<\/span>o: y\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Please deploy a DNS TXT record under the name\n<\/span><\/span><span class=\"line\"><span class=\"cl\">_acme-challenge.web-apps.tech with the following value:\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">qiGA8Vep17l0nYJ1O1AdF68D9iT7bL5Mpoe3j7-Caag\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Before continuing, verify the record is deployed.\n<\/span><\/span><span class=\"line\"><span class=\"cl\">-------------------------------------------------------------------------------\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Press Enter to Continue\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e0a\u8a18\u306e\u3088\u3046\u306bTXT\u30ec\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308b\u3088\u3046\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u305f\u3089\u3001\u6307\u5b9a\u3055\u308c\u305f\u5024\u3092DNS\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\nGehirn\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u306b\u306a\u308a\u307e\u3059\u3002<\/p>"},{"title":"syg\u3092\u4f7f\u7528\u3057\u305fgraceful shutdown server\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/blog.web-apps.tech\/graceful-shutdown-with-syg\/","pubDate":"Sat, 10 Mar 2018 15:42:54 +0000","guid":"https:\/\/blog.web-apps.tech\/graceful-shutdown-with-syg\/","description":"<p><a href=\"https:\/\/github.com\/nasa9084\/syg\" target=\"_blank\" rel=\"noopener\"><code>github.com\/nasa9084\/syg<\/code><\/a>\n\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u624b\u8efd\u306b\u30b7\u30b0\u30ca\u30eb\u3068\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup><\/p>\n<p>\u3053\u308c\u3092\u4f7f\u7528\u3057\u3001SIGINT\u3092\u53d7\u3051\u3066graceful shutdown\u3067\u304d\u308bHTTP\u30b5\u30fc\u30d0\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><span class=\"lnt\">40\n<\/span><span class=\"lnt\">41\n<\/span><span class=\"lnt\">42\n<\/span><span class=\"lnt\">43\n<\/span><span class=\"lnt\">44\n<\/span><span class=\"lnt\">45\n<\/span><span class=\"lnt\">46\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">app<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;context&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;net\/http&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;os&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;time&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/nasa9084\/syg&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">Server<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">server<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Server<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">closed<\/span><span class=\"w\"> <\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">NewServer<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Server<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">HandleFunc<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;\/&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">longlongHandler<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">Server<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">server<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Server<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Addr<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;:8080&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">},<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">closed<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{}),<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Server<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">Run<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ os.Interrupt\u3000= syscall.SIGINT<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">cancel<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">syg<\/span><span class=\"p\">.<\/span><span class=\"nf\">Listen<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nx\">shutdown<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nx\">Interrupt<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nf\">cancel<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nf\">ListenAndServe<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nx\">closed<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Server<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">shutdown<\/span><span class=\"p\">(<\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nx\">Signal<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nf\">Shutdown<\/span><span class=\"p\">(<\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">Background<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nx\">closed<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">longlongHandler<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">ResponseWriter<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">r<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Request<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u306a\u3093\u304b\u9577\u3044\u51e6\u7406\u306e\u3064\u3082\u308a<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">time<\/span><span class=\"p\">.<\/span><span class=\"nf\">Sleep<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"w\"> <\/span><span class=\"nx\">time<\/span><span class=\"p\">.<\/span><span class=\"nx\">Second<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">Write<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;hello&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>main\u304b\u3089\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u547c\u3073\u307e\u3059\u3002<\/p>"},{"title":"Golang: \u624b\u8efd\u306b\u30b7\u30b0\u30ca\u30eb\u3092Listen\u3057\u3066callback\u95a2\u6570\u3092\u547c\u3076","link":"https:\/\/blog.web-apps.tech\/go-signal-more-simply\/","pubDate":"Tue, 06 Mar 2018 14:32:00 +0000","guid":"https:\/\/blog.web-apps.tech\/go-signal-more-simply\/","description":"<p>Go\u8a00\u8a9e\u3067\u30b7\u30b0\u30ca\u30eb\u3092\u53d6\u308a\u6271\u3044\u305f\u3044\u5834\u5408\u3001<code>os<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u304a\u3088\u3073<code>os\/signal<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3001<code>syscall<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\u5177\u4f53\u7684\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">sigCh<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nx\">Signal<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">doneCh<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">signal<\/span><span class=\"p\">.<\/span><span class=\"nf\">Notify<\/span><span class=\"p\">(<\/span><span class=\"nx\">sigCh<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">syscall<\/span><span class=\"p\">.<\/span><span class=\"nx\">SIGINT<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">sig<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">sigCh<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">sig<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ (1)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">doneCh<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">done<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5b9f\u969b\u306b\u306f\u3001(1)\u306e\u69d8\u306b\u53d7\u3051\u53d6\u3063\u305f\u30b7\u30b0\u30ca\u30eb\u3092\u51fa\u529b\u3059\u308b\u3060\u3051\u3067\u306f\u306a\u304f\u3001\u4f55\u3089\u304b\u306e\u51e6\u7406\u3092\u884c\u3046\u3053\u3068\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3057\u3001goroutine\u306e\u30ea\u30fc\u30af\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u30b7\u30b0\u30ca\u30eb\u306e\u5f85\u53d7\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3059\u308b\u5fc5\u8981\u304c\u6709\u308a\u307e\u3059\u304b\u3089\u3001<code>context<\/code>\u3092\u4f7f\u7528\u3057\u3066for-select\u30eb\u30fc\u30d7\u3092\u66f8\u304f\u3053\u3068\u306b\u3082\u306a\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u4f8b\u3068\u3057\u3066\u3001HTTP\u30b5\u30fc\u30d0\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b\u3088\u3046\u306a\u51e6\u7406\u3092\u8003\u3048\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">sigCh<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"nx\">os<\/span><span class=\"p\">.<\/span><span class=\"nx\">Signal<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">doneCh<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"kd\">chan<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ctx<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">cancel<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">WithCancel<\/span><span class=\"p\">(<\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">Background<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">signal<\/span><span class=\"p\">.<\/span><span class=\"nf\">Notify<\/span><span class=\"p\">(<\/span><span class=\"nx\">sigCh<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">syscall<\/span><span class=\"p\">.<\/span><span class=\"nx\">SIGINT<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Server<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Addr<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;:8080&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Handler<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">DefaultServeMux<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">select<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">case<\/span><span class=\"w\"> <\/span><span class=\"nx\">sig<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">sigCh<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">sig<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">sigCh<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nf\">Shutdown<\/span><span class=\"p\">(<\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nf\">Background<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nb\">close<\/span><span class=\"p\">(<\/span><span class=\"nx\">doneCh<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">case<\/span><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">ctx<\/span><span class=\"p\">.<\/span><span class=\"nf\">Done<\/span><span class=\"p\">():<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"p\">.<\/span><span class=\"nf\">ListenAndServe<\/span><span class=\"p\">();<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">ErrServerClosed<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nf\">cancel<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"o\">&lt;-<\/span><span class=\"nx\">doneCh<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30b7\u30b0\u30ca\u30eb\u3092\u53d7\u3051\u53d6\u3063\u3066\u3001\u95a2\u6570\u306e\u547c\u3073\u51fa\u3057(\u3053\u3053\u3067\u306f<code>s.Shutdown()<\/code>)\u3092\u3057\u305f\u3044\u3060\u3051\u306a\u306e\u306b\u3001\u30c1\u30e3\u30f3\u30cd\u30eb\u3092\u4f5c\u3063\u3066\u3001goroutine\u3092\u7acb\u3061\u4e0a\u3052\u3066\u3001\u3068\u306a\u3093\u3068\u3082\u5927\u4ef0\u3067\u3059\u3002\ngoroutine\u3067\u547c\u3073\u51fa\u3059\u95a2\u6570\u306e\u4e2d\u3067for-select\u30eb\u30fc\u30d7\u3092\u4f7f\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u884c\u6570\u3082\u9577\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"strings.Builder\u3068bytes.Buffer\u306eWrite\u7cfb\u95a2\u6570\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af","link":"https:\/\/blog.web-apps.tech\/strings-builder-vs-bytes-buffer\/","pubDate":"Mon, 05 Mar 2018 15:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/strings-builder-vs-bytes-buffer\/","description":"<h2 id=\"tl-dr\">TL; DR<\/h2>\n<p>\u5e73\u5747\u3057\u3066\u898b\u308b\u3068<code>strings.Builder#WriteXXX<\/code>\u306e\u65b9\u304c\u901f\u305d\u3046<\/p>\n<h2 id=\"stringsbuilder\">strings.Builder<\/h2>\n<p>Go 1.10\u304b\u3089<code>strings.Builder<\/code>\u69cb\u9020\u4f53\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\n\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u3001<\/p>\n<blockquote>\n<p>A Builder is used to efficiently build a string using Write methods. It minimizes memory copying. The zero value is ready to use. Do not copy a non-zero Builder.<\/p>\n<\/blockquote>\n<p>\u3068\u8aac\u660e\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\n\u304a\u305d\u3089\u304f\u3001\u3053\u308c\u307e\u3067\u6587\u5b57\u5217\u306e\u7d44\u307f\u7acb\u3066\u3092\u3059\u308b\u969b\u306b\u306f<code>bytes.Buffer<\/code>\u3092\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u304c\u591a\u304b\u3063\u305f\u3068\u601d\u308f\u308c\u307e\u3059\u304c\u3001\u305d\u3046\u3044\u3063\u305f\u76ee\u7684\u306e\u9078\u629e\u80a2\u3068\u3057\u3066\u4f5c\u3089\u308c\u305f\u3088\u3046\u3067\u3059\u3002\n\u304c\u3001\u8aac\u660e\u3092\u8aad\u3093\u3067\u3082\u3044\u307e\u3044\u3061\u9055\u3044\u304c\u308f\u304b\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u3068\u308a\u3042\u3048\u305a\u3001<code>bytes.Buffer<\/code>\u3068<code>strings.Builder<\/code>\u3067\u306f\u901f\u5ea6\u9762\u3067\u9055\u3044\u304c\u3042\u308b\u306e\u304b\u8abf\u3079\u308b\u3079\u304f\u3001\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002<\/p>\n<h3 id=\"\u6761\u4ef6\">\u6761\u4ef6<\/h3>\n<h4 id=\"\u5b9f\u884c\u3057\u305f\u74b0\u5883\">\u5b9f\u884c\u3057\u305f\u74b0\u5883<\/h4>\n<ul>\n<li>MacBook Air\n<ul>\n<li>MacOS Sierra 10.12.6<\/li>\n<li>CPU: Core i7 1.7GHz<\/li>\n<li>\u30e1\u30e2\u30ea: 8GB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4 id=\"\u5b9f\u884c\u3059\u308b\u95a2\u6570\">\u5b9f\u884c\u3059\u308b\u95a2\u6570<\/h4>\n<ul>\n<li><code>Write<\/code><\/li>\n<li><code>WriteByte<\/code><\/li>\n<li><code>WriteRune<\/code><\/li>\n<li><code>WriteString<\/code><\/li>\n<\/ul>\n<h3 id=\"exec\">exec<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><span class=\"lnt\">40\n<\/span><span class=\"lnt\">41\n<\/span><span class=\"lnt\">42\n<\/span><span class=\"lnt\">43\n<\/span><span class=\"lnt\">44\n<\/span><span class=\"lnt\">45\n<\/span><span class=\"lnt\">46\n<\/span><span class=\"lnt\">47\n<\/span><span class=\"lnt\">48\n<\/span><span class=\"lnt\">49\n<\/span><span class=\"lnt\">50\n<\/span><span class=\"lnt\">51\n<\/span><span class=\"lnt\">52\n<\/span><span class=\"lnt\">53\n<\/span><span class=\"lnt\">54\n<\/span><span class=\"lnt\">55\n<\/span><span class=\"lnt\">56\n<\/span><span class=\"lnt\">57\n<\/span><span class=\"lnt\">58\n<\/span><span class=\"lnt\">59\n<\/span><span class=\"lnt\">60\n<\/span><span class=\"lnt\">61\n<\/span><span class=\"lnt\">62\n<\/span><span class=\"lnt\">63\n<\/span><span class=\"lnt\">64\n<\/span><span class=\"lnt\">65\n<\/span><span class=\"lnt\">66\n<\/span><span class=\"lnt\">67\n<\/span><span class=\"lnt\">68\n<\/span><span class=\"lnt\">69\n<\/span><span class=\"lnt\">70\n<\/span><span class=\"lnt\">71\n<\/span><span class=\"lnt\">72\n<\/span><span class=\"lnt\">73\n<\/span><span class=\"lnt\">74\n<\/span><span class=\"lnt\">75\n<\/span><span class=\"lnt\">76\n<\/span><span class=\"lnt\">77\n<\/span><span class=\"lnt\">78\n<\/span><span class=\"lnt\">79\n<\/span><span class=\"lnt\">80\n<\/span><span class=\"lnt\">81\n<\/span><span class=\"lnt\">82\n<\/span><span class=\"lnt\">83\n<\/span><span class=\"lnt\">84\n<\/span><span class=\"lnt\">85\n<\/span><span class=\"lnt\">86\n<\/span><span class=\"lnt\">87\n<\/span><span class=\"lnt\">88\n<\/span><span class=\"lnt\">89\n<\/span><span class=\"lnt\">90\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ <span class=\"k\">for<\/span> i in <span class=\"o\">{<\/span>1..10<span class=\"o\">}<\/span><span class=\"p\">;<\/span> <span class=\"k\">do<\/span> go <span class=\"nb\">test<\/span> -bench . <span class=\"p\">|<\/span> tail -n +4 <span class=\"p\">|<\/span> head -n <span class=\"m\">8<\/span> <span class=\"o\">&amp;&amp;<\/span> echo<span class=\"p\">;<\/span> <span class=\"k\">done<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">129<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 6.47 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 7.61 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 92.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">196<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 300000000 9.40 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 8.18 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">217<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">189<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 100000000 10.5 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 100000000 10.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">157<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">238<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 100000000 19.9 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 100000000 15.5 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 30000000 <span class=\"m\">422<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">131<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 7.58 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 8.48 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">113<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">199<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 100000000 10.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 12.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">382<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">122<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 7.45 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 8.44 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">155<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">264<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 200000000 7.08 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 10.1 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 30000000 <span class=\"m\">413<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 20000000 <span class=\"m\">117<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 6.81 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 6.87 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 50000000 <span class=\"m\">219<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 20000000 <span class=\"m\">101<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 200000000 6.22 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 12.2 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">513<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">161<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 8.36 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 8.24 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">109<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">296<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 100000000 10.6 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 100000000 11.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">484<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">133<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 7.16 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 8.10 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">194<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">190<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 200000000 5.51 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 8.72 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">281<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">136<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 11.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 50000000 28.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 10000000 <span class=\"m\">119<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 20000000 <span class=\"m\">144<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 100000000 16.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 200000000 8.43 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">248<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">130<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 7.83 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 7.13 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 99.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">202<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 200000000 10.7 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 100000000 13.8 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 50000000 <span class=\"m\">452<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWrite-4 10000000 <span class=\"m\">146<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4 200000000 7.89 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4 200000000 8.24 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4 30000000 <span class=\"m\">122<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4 50000000 <span class=\"m\">248<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4 100000000 31.7 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4 100000000 25.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4 30000000 <span class=\"m\">413<\/span> ns\/op\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"source\">Source<\/h3>\n<p>\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u30bd\u30fc\u30b9\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"Go\u8a00\u8a9e\u3067\u6587\u5b57\u5217\u3092\u51e6\u7406\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/string-processing-in-go\/","pubDate":"Mon, 05 Mar 2018 14:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/string-processing-in-go\/","description":"<p>Go\u8a00\u8a9e\u306e<code>regexp<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u305f\u6b63\u898f\u8868\u73fe\u306e\u51e6\u7406\u306f\u3001\u4e00\u822c\u7684\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u8a00\u8a9e\u306e\u51e6\u7406\u901f\u5ea6\u3068\u540c\u7a0b\u5ea6\u3067\u3001\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3057\u306a\u3044\u51e6\u7406\u306b\u6bd4\u3079\u3066\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u3088\u304f\u3042\u308a\u307e\u305b\u3093<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3002\n\u305d\u306e\u305f\u3081\u3001\u53ef\u80fd\u3067\u3042\u308b\u306a\u3089<code>regexp<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u306a\u3044\u3088\u3046\u306b\u3059\u3079\u304d\u3067\u3059\u3002\n\u3057\u304b\u3057\u3001\u3059\u3079\u3066\u306e\u51e6\u7406\u3092\u81ea\u5206\u3067\u66f8\u304f\u306e\u306f\u5927\u5909\u3067\u3059\u3002\n\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3082\u6587\u5b57\u5217\u3092\u51e6\u7406\u3059\u308b\u95a2\u6570\u304c\u6570\u591a\u304f\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h1 id=\"strings-\u30d1\u30c3\u30b1\u30fc\u30b8\"><code>strings<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8<\/h1>\n<p><code>strings<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u6587\u5b57\u5217\u3092\u53d6\u308a\u6271\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\nUTF-8\u3067\u30a8\u30f3\u30b3\u30fc\u30c9\u3055\u308c\u305f\u6587\u5b57\u5217(\u666e\u901a\u306e\u6587\u5b57\u5217)\u3092\u305d\u306e\u307e\u307e\u53d6\u308a\u6271\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u5224\u5225\u7cfb\">\u5224\u5225\u7cfb<\/h2>\n<h3 id=\"contains\"><code>Contains<\/code><\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">Contains<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">substr<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">bool<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>Contains<\/code>\u95a2\u6570\u306f\u3001<code>s<\/code>\u306e\u4e2d\u306b<code>substr<\/code>\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u8fd4\u3057\u307e\u3059\u3002\nPython\u3067\u8a00\u3046\u3068\u3053\u308d\u306e<code>substr in s<\/code>\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\n\u6b63\u898f\u8868\u73fe\u306a\u3089\u3070\u3001<code>substr<\/code>\u3068\u306ematch\u3067\u771f\u507d\u5024\u3092\u3068\u308b\u3053\u3068\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002<\/p>\n<h4 id=\"example\">example<\/h4>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">strings<\/span><span class=\"p\">.<\/span><span class=\"nf\">Contains<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;hogefugapiyo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;fuga&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ Output: true<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">strings<\/span><span class=\"p\">.<\/span><span class=\"nf\">Contains<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;hogefugapiyo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;foo&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ Output: false<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"containsany\"><code>ContainsAny<\/code><\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">ContainsAny<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">chars<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">bool<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>ContainsAny<\/code>\u95a2\u6570\u306f<code>s<\/code>\u306e\u4e2d\u306b\u3001<code>chars<\/code>\u306b\u542b\u307e\u308c\u308b\u6587\u5b57\u306e\u3044\u305a\u308c\u304b\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u8fd4\u3057\u307e\u3059\u3002\n\u3064\u307e\u308a\u3001<code>chars<\/code>\u306f\u6587\u5b57\u5217\u3067\u3059\u304c\u3001\u6271\u3044\u3068\u3057\u3066\u306f\u6587\u5b57\u306e\u914d\u5217\u3067\u3042\u308b\u3068\u8003\u3048\u305f\u65b9\u304c\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u6b63\u898f\u8868\u73fe\u3067\u8868\u3059\u306a\u3089\u3001<code>\/[${chars}]\/<\/code>\u306e\u69d8\u306a\u8868\u73fe\u3068\u8003\u3048\u3089\u308c\u307e\u3059(${chars}\u306f\u7f6e\u304d\u63db\u3048\u308b)\u3002<\/p>\n<h4 id=\"example-1\">example<\/h4>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">strings<\/span><span class=\"p\">.<\/span><span class=\"nf\">ContainsAny<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;hogefugapiyo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;abcd&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ Output: true<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">strings<\/span><span class=\"p\">.<\/span><span class=\"nf\">ContainsAny<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;hogefugapiyo&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;1234&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">\/\/ Output: false<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"hasprefix\"><code>HasPrefix<\/code><\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">HasPrefix<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">prefix<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">bool<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>HasPrefix<\/code>\u95a2\u6570\u306f\u3001<code>s<\/code>\u306e\u982d\u304c<code>prefix<\/code>\u3068\u7b49\u3057\u3044\u304b\u3069\u3046\u304b\u3092\u5224\u5225\u3057\u307e\u3059\u3002\n\u6b63\u898f\u8868\u73fe\u3067<code>^<\/code>\u3092\u4f7f\u3063\u305f\u6587\u5b57\u5217\u30de\u30c3\u30c1\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002<\/p>"},{"title":"YAPC::Okinawa 2018 ONNASON\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/","pubDate":"Sun, 04 Mar 2018 13:44:24 +0000","guid":"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/","description":"<p><a href=\"https:\/\/yapcjapan.org\/2017fukuoka\/\" target=\"_blank\" rel=\"noopener\">YAPC::Fukuoka 2017 HAKATA<\/a>\n(\u884c\u3063\u3066\u304d\u305f\u3068\u304d\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\">\u3053\u3061\u3089<\/a>\n)\u306b\u5f15\u304d\u7d9a\u304d\u3001<a href=\"http:\/\/yapcjapan.org\/2018okinawa\/\" target=\"_blank\" rel=\"noopener\">YAPC::Okinawa 2018 ONNASON<\/a>\n\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\nYAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001&ldquo;Yet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f(<a href=\"https:\/\/twitter.com\/hashtag\/yapcokinawa\" target=\"_blank\" rel=\"noopener\">#yapcokinawa<\/a>\n\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u305f\u3088\u3046\u3067\u3059)\u3002<\/p>\n<p>\u6c96\u7e04\u306f\u6628\u5e746\u6708\u306b<a href=\"https:\/\/www.ospn.jp\/osc2017-okinawa\/\" target=\"_blank\" rel=\"noopener\">OSC 2017 Okinawa<\/a>\n\u3067\u884c\u3063\u3066\u4ee5\u6765\u4e8c\u5ea6\u76ee\u3067\u3059\u3002\nYAPC\u5f53\u65e5\u306f\u3059\u3054\u3044\u96e8\u3067\u3001YAPC::Hokkaido\u3067\u5927\u96ea\u3060\u3063\u305f\u3053\u3068\u3092\u601d\u3044\u51fa\u3057\u3001\u300c\u7aef\u3063\u3053\u3067YAPC\u3092\u3084\u308b\u3068\u4f55\u304b\u304c\u8d77\u304d\u308b\u306e\u3067\u306f\u300d\u306a\u3069\u3068\u8a00\u308f\u308c\u308b\u5177\u5408\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306f\u76f4\u524d\u307e\u3067\u30db\u30c6\u30eb\u304c\u53d6\u308c\u306a\u304b\u3063\u305f\u3082\u306e\u306e\u3001\u904e\u53bb\u306eYAPC\u3067\u30db\u30c6\u30eb\u3092\u53d6\u3089\u305a\u306b\u884c\u3063\u3066\u9069\u5f53\u306b\u306a\u3093\u3068\u304b\u306a\u3063\u305f\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u306a\u308b\u3060\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u76f4\u524d\u306b\u6771\u6a2a\u30a4\u30f3\u3092\u78ba\u4fdd\u3067\u304d\u305f\u306e\u3067\u3001\u5bbf\u7121\u3057\u65c5\u884c\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"yapcokinawa-2018-onnason\">YAPC::Okinawa 2018 ONNASON<\/h2>\n<p>\u4eca\u56de\u306f\u4f1a\u5834\u304c<a href=\"https:\/\/www.oist.jp\/ja\" target=\"_blank\" rel=\"noopener\">OIST<\/a>\n\u3060\u3063\u305f\u305f\u3081(OIST\u306f\u90a3\u8987\u5e02\u5185\u304b\u3089\u8eca\u3067\u7d04\u4e00\u6642\u9593)\u3001\u591a\u304f\u306e\u4eba\u304c\u30b9\u30bf\u30c3\u30d5\u304c\u624b\u914d\u3057\u305f\u5f80\u5fa9\u30d0\u30b9\u3067\u306e\u53c2\u52a0\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\u305d\u306e\u305f\u3081\u3001\u5bdd\u574a\u3059\u308b\u4eba\u306f\u5c11\u306a\u304f(\u3044\u306a\u304f\u306f\u306a\u304b\u3063\u305f\u3088\u3046\u3067\u3059)\u3001\u79c1\u3082\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u304b\u3089\u53c2\u52a0\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/images\/DXUy35dVoAEkQne.jpg-large_hu_a55c276db5cd3e88.jpg\" alt=\"\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\" \/>\n<\/p>\n<p>\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u306f<a href=\"https:\/\/twitter.com\/codehex\" target=\"_blank\" rel=\"noopener\">CodeHex<\/a>\n\u6c0f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/images\/DXUpGixUMAAOpZj_hu_d0dccf00841c402.jpg\" alt=\"A\u4f1a\u5834\" \/>\n<\/p>\n<p>\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u3092\u884c\u3063\u305fA\u4f1a\u5834\u306f\u975e\u5e38\u306b\u5e83\u304f\u3001\u306a\u3093\u3068\u5168\u5e2d\u306b\u30b3\u30f3\u30bb\u30f3\u30c8\u304c\u3064\u3044\u3066\u3044\u308b\u3068\u3044\u3046\u7d20\u6674\u3089\u3057\u3044\u30db\u30fc\u30eb\u3067\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/images\/54633d19-4e99-459c-9c91-53227a76917b_hu_8996a82a1a9c106a.jpg\" alt=\"YAPC::Okinawa\u30ce\u30d9\u30eb\u30c6\u30a3\" \/>\n<\/p>\n<p>\u30ce\u30d9\u30eb\u30c6\u30a3\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u7279\u7b46\u3059\u3079\u304d\u306fDeNA\u3055\u3093\u306eQi\u5145\u96fb\u5668\u3067\u3057\u3087\u3046\u304b\u3002\u3057\u304b\u3057\u79c1\u306fQi\u5bfe\u5fdc\u7aef\u672b\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u4f7f\u3048\u306a\u3044\u306e\u304c\u6b8b\u5ff5\u30fb\u30fb\u30fb\u30fb\n\u6bce\u5ea6\u6052\u4f8b\u3001\u30cd\u30b3\u30c8\u30fc\u30b9\u30c8\u30e9\u30dc\u3055\u3093\u306e\u30b5\u30a4\u30ea\u30e5\u30fc\u30e0\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/images\/DXVLQA5V4AIGsir_hu_8a9865f77ecf760a.jpg\" alt=\"\u30b9\u30bf\u30f3\u30d7\u30e9\u30ea\u30fc\u30d5\u30eb\u30b3\u30f3\u30d7\uff01\" \/>\n<\/p>\n<p>YAPC::Hokkaido\u304b\u3089\u884c\u308f\u308c\u3066\u304d\u305f\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u30b9\u30bf\u30f3\u30d7\u30e9\u30ea\u30fc\u3082\u30b3\u30b3\u3067\u4e00\u533a\u5207\u308a\u3002\n\u30b3\u30f3\u30d7\u30ea\u30fc\u30c8\u7279\u5178\u3068\u3057\u3066\u3001JPA\u306e\u30e9\u30af\u30c0\u3055\u3093\u306e\u30b7\u30e3\u30c1\u30cf\u30bf\u30b9\u30bf\u30f3\u30d7\u3092\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u30c8\u30fc\u30af\u3067\u306f\u3001\u300c\u30ec\u30a4\u30e4\u30fc0(\u96fb\u6ce2)\u304b\u3089\u30ec\u30a4\u30e4\u30fc8(\u4ea4\u6e09\u4e8b)\u307e\u3067\u3067\u304d\u308b\u4eba\u3092\u52df\u96c6\u3057\u3066\u3044\u307e\u3059\u300d\u3084\u3001\u300c\u7121\u66d6\u6627\u3067\u306a\u3044\u300d\u306a\u3069\u3001\u4f1a\u5834\u304c\u3069\u3063\u3068\u6cb8\u304f\u540d\u8a00(\u8ff7\u8a00\uff1f)\u304c\u3044\u304f\u3064\u304b\u98db\u3073\u51fa\u307e\u3057\u305f\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f\u3001<a href=\"https:\/\/twitter.com\/moznion\" target=\"_blank\" rel=\"noopener\">@moznion\u3055\u3093<\/a>\n\u306eInline\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8a71\u3084\u3001<a href=\"https:\/\/twitter.com\/sinya8282\" target=\"_blank\" rel=\"noopener\">\u65b0\u5c4b\u3055\u3093<\/a>\n\u306e\u6b63\u898f\u8868\u73fe\u306e\u8a71\u304c\u975e\u5e38\u306b\u9762\u767d\u304b\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002\n\u7279\u306b\u3001\u6b63\u898f\u8868\u73fe\u306e\u8a71\u3067\u306f\u30d0\u30c3\u30af\u30c8\u30e9\u30c3\u30af\u3068\u66d6\u6627\u306a\u6b63\u898f\u8868\u73fe\u306e\u76f8\u6027\u304c\u60aa\u3044\u3001\u3068\u3044\u3063\u305f\u6280\u8853\u7684\u306a\u8a71\u306b\u3068\u3069\u307e\u3089\u305a\u3001\u6587\u8108\u81ea\u7531\u6587\u6cd5\u306a\u3069\u3001\u8a08\u7b97\u7406\u8ad6\u306b\u307e\u3067\u8e0f\u307f\u8fbc\u3093\u3060\u30c8\u30fc\u30af\u3068\u306a\u3063\u3066\u304a\u308a\u3001OIST\u3068\u3044\u3046\u4f1a\u5834\u3067\u306e\u30c8\u30fc\u30af\u306b\u76f8\u5fdc\u3057\u3044\u7d20\u6674\u3089\u3057\u3044\u5185\u5bb9\u3060\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u6b21\u56de\u306e\u304a\u8a71\">\u6b21\u56de\u306e\u304a\u8a71<\/h2>\n<p>\u6b21\u56deYAPC\u306f<a href=\"http:\/\/yapcjapan.org\/2018tokyo\/\" target=\"_blank\" rel=\"noopener\">\u6771\u4eac<\/a>\n\u3060\u305d\u3046\u3067\u3059\uff01\u73fe\u5728\u306f\u307e\u3060\u30c6\u30b6\u30fc\u30b5\u30a4\u30c8\u304c\u3042\u308b\u7a0b\u5ea6\u3067\u3001\u65e5\u7a0b\u3001\u4f1a\u5834\u306f\u8abf\u6574\u4e2d\u3068\u306e\u3053\u3068\u3067\u3057\u305f\u3002<\/p>"},{"title":"cut vs. parameter expansion","link":"https:\/\/blog.web-apps.tech\/cut-vs-parameter-expansion\/","pubDate":"Mon, 26 Feb 2018 08:07:11 +0000","guid":"https:\/\/blog.web-apps.tech\/cut-vs-parameter-expansion\/","description":"<p><strong>TL;DR<\/strong>:: bash\/zsh parameter expansion is faster than cut.<\/p>\n<h2 id=\"which-is-faster\">which is faster?<\/h2>\n<p>Consider you want to take out hostname from URL or IP with port like <code>some.mysql.server:3306<\/code> or <code>192.168.1.10:3306<\/code> using bash\/zsh.\nThere are some way to do this.<\/p>\n<p>The first way is using <code>cut<\/code> command:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ <span class=\"nv\">TARGET<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;192.168.1.10:3306&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">echo<\/span> <span class=\"si\">${<\/span><span class=\"nv\">TARGET<\/span><span class=\"si\">}<\/span> <span class=\"p\">|<\/span> cut -d <span class=\"s2\">&#34;:&#34;<\/span> -f <span class=\"m\">1<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>Now printed <code>192.168.1.10<\/code> on your screen.<\/p>\n<p>The second way is using &ldquo;shell parameter expansion&rdquo;, which is functions of bash\/zsh built-in.\nYou can use shell parameter expansion like below:<\/p>"},{"title":"Go\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u51e6\u7406\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/go-cmdline-option-jessevdk-go-flags\/","pubDate":"Sat, 24 Feb 2018 03:22:28 +0000","guid":"https:\/\/blog.web-apps.tech\/go-cmdline-option-jessevdk-go-flags\/","description":"<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n<li><code>github.com\/jessevdk\/go-flags<\/code>\u304c\u4fbf\u5229<\/li>\n<\/ul>\n<h2 id=\"flag\u30d1\u30c3\u30b1\u30fc\u30b8\">flag\u30d1\u30c3\u30b1\u30fc\u30b8<\/h2>\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30fb\u30c4\u30fc\u30eb\u3092\u4f5c\u308d\u3046\u3068\u8003\u3048\u305f\u3068\u304d\u3001\u907f\u3051\u3066\u306f\u901a\u308c\u306a\u3044\u306e\u304c\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5982\u4f55\u306b\u51e6\u7406\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>Go\u8a00\u8a9e\u3067\u306f\u3001\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306b<code>flag<\/code>\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3057\u3001\u3053\u308c\u3092\u7528\u3044\u308b\u3053\u3068\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u30d1\u30fc\u30b9\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\n\u3057\u304b\u3057\u3001<code>flag<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u306f\u3001\u30ed\u30f3\u30b0\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e00\u5ea6\u306b\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u305a\u3001\u307e\u305f\u3001\u30ed\u30f3\u30b0\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308d\u3046\u3068\u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308d\u3046\u3068<code>-XXX<\/code>\u3068\u3044\u3046\u3001\u30cf\u30a4\u30d5\u30f3\u304c\u4e00\u3064\u3064\u304f\u5f62\u5f0f\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u306a\u308a\u307e\u3059\u3002\n\u3053\u308c\u306f\u3042\u307e\u308a\u4e00\u822c\u7684\u3067\u306f\u306a\u304f<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3001\u4fbf\u5229\u3068\u3082\u8a00\u3044\u306b\u304f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u305d\u3053\u3067\u4fbf\u5229\u306a\u306e\u304c\u3001<a href=\"https:\/\/github.com\/jessevdk\/go-flags\" target=\"_blank\" rel=\"noopener\"><code>jessevdk\/go-flags<\/code><\/a>\n\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n<h2 id=\"go-flags\u30d1\u30c3\u30b1\u30fc\u30b8\">go-flags\u30d1\u30c3\u30b1\u30fc\u30b8<\/h2>\n<p><a href=\"https:\/\/github.com\/jessevdk\/go-flags\" target=\"_blank\" rel=\"noopener\"><code>jessevdk\/go-flags<\/code><\/a>\n\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u53d6\u308a\u6271\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\n\u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3001\u30ed\u30f3\u30b0\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3082\u3061\u308d\u3093\u306e\u3053\u3068\u3001\u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u307e\u3068\u3081\u3066\u6307\u5b9a\u3059\u308b\u3001\u540c\u3058\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9055\u3046\u5f15\u6570\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u3001\u74b0\u5883\u5909\u6570\u304b\u3089\u306e\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u6307\u5b9a\u306a\u3069\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u3066\u3001\u4e00\u822c\u7684\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u51e6\u7406\u306b\u5e45\u5e83\u304f\u5bfe\u5fdc\u51fa\u6765\u307e\u3059\u3002\n\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u69cb\u9020\u4f53\u3068\u3057\u3066\u5b9a\u7fa9\u51fa\u6765\u308b\u305f\u3081\u3001\u30d1\u30fc\u30b9\u3057\u305f\u5f8c\u306e\u51e6\u7406\u3067\u53d6\u308a\u56de\u3059\u306e\u3082\u7c21\u5358\u3067\u3059\u3002<\/p>\n<p>\u7c21\u5358\u306a\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">options<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Name<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\"> <\/span><span class=\"s\">`short:&#34;n&#34; long:&#34;name&#34; description:&#34;listen address&#34;`<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">opts<\/span><span class=\"w\"> <\/span><span class=\"nx\">options<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">flags<\/span><span class=\"p\">.<\/span><span class=\"nf\">Parse<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">opts<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ some error handling<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;Hello, %s\\n&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">opts<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30d1\u30c3\u30b1\u30fc\u30b8\u5ba3\u8a00\u3084\u30a4\u30f3\u30dd\u30fc\u30c8\u306e\u7bc0\u306f\u7701\u7565\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u4e0a\u8a18\u3092main.go\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>"},{"title":"kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b(2)","link":"https:\/\/blog.web-apps.tech\/deploy-k8s-with-kubespray-2\/","pubDate":"Fri, 23 Feb 2018 14:45:49 +0000","guid":"https:\/\/blog.web-apps.tech\/deploy-k8s-with-kubespray-2\/","description":"<p>3\u30f6\u6708\u307b\u3069\u524d\u306b\u3001<a href=\"https:\/\/blog.web-apps.tech\/deploy-k8s-cluster-using-kubespray\/\">kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b<\/a>\n\u3068\u3044\u3046\u3001<a href=\"https:\/\/kubespray.io\/\" target=\"_blank\" rel=\"noopener\">kubespray<\/a>\n\u3068kubespray-cli\u3092\u4f7f\u7528\u3057\u3066Kubernetes\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3059\u308b\u8a18\u4e8b\u3092\u66f8\u304d\u307e\u3057\u305f\u3002\n\u3057\u304b\u3057\u3001kubespray-cli\u306f\u3059\u3067\u306b<a href=\"https:\/\/github.com\/kubernetes-incubator\/kubespray\/commit\/1869aa39859bff4d27bf1337c1352fd383e980a5\" target=\"_blank\" rel=\"noopener\">deprecated\u3060\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067<\/a>\n\u3001kubespray-cli\u3092\u4f7f\u7528\u305b\u305a\u306bkubespray\u3067\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"\u8981\u4ef6\">\u8981\u4ef6<\/h2>\n<p>kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u8981\u4ef6\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>ansible 2.4\u4ee5\u964d\u3068python-netaddr (python-netaddr\u3092\u5fd8\u308c\u304c\u3061\u306a\u306e\u3067\u6ce8\u610f)\n<ul>\n<li><code>pip install ansible netaddr<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Jinja 2.9\u4ee5\u964d(ansible\u306e\u4f9d\u5b58\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308b\u3068\u601d\u3044\u307e\u3059)<\/li>\n<li>\u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3067\u304d\u308b\u3053\u3068<\/li>\n<li>\u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u3067swap\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u308b\u3053\u3068<\/li>\n<li>\u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u3067IPv4 forwarding\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\n<ul>\n<li><code>sysctl -w net.ipv4.ip_forward=1<\/code>\u3059\u308b(\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067)<\/li>\n<li><code>\/etc\/sysctl.conf<\/code>\u306b<code>net.ipv4.ip_forward = 1<\/code>\u3068\u8a18\u5165\u3059\u308b(\u518d\u8d77\u52d5\u5f8c)<\/li>\n<\/ul>\n<\/li>\n<li>Ansible\u3092\u5b9f\u884c\u3059\u308b\u30de\u30b7\u30f3\u304b\u3089\u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u306bSSH\u9375\u304c\u6e21\u3055\u308c\u3066\u3044\u308b\u3053\u3068<\/li>\n<li>\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u308b\u3053\u3068\n<ul>\n<li>\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u306e\u8a2d\u5b9a\u3092\u3057\u3063\u304b\u308a\u3067\u304d\u308b\u4eba\u306f\u6709\u52b9\u3067\u3082<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u307e\u305f\u3001kubespray\u306b\u306f(kubespray-cli\u306e\u3088\u3046\u306a)inventory\u751f\u6210\u30c4\u30fc\u30eb\u304c\u4ed8\u5c5e\u3055\u308c\u3066\u304a\u308a\u3001\u3053\u308c\u3092\u5229\u7528\u3059\u308b\u5834\u5408\u306fpython3\u7cfb\u3067\u3042\u308b\u5fc5\u8981\u304c\u6709\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"\u69cb\u6210\">\u69cb\u6210<\/h2>\n<p>\u524d\u56de\u306e\u8a18\u4e8b\u540c\u69d8\u3001\u4ee5\u4e0b\u306eIP\u3092\u6301\u3063\u305f\u4e09\u53f0\u306e\u30b5\u30fc\u30d0\u3092\u5bfe\u8c61\u3068\u3057\u3066\u69cb\u7bc9\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<ul>\n<li>192.168.1.11<\/li>\n<li>192.168.1.12<\/li>\n<li>192.168.1.13<\/li>\n<\/ul>\n<p>\u305d\u308c\u305e\u308c\u3001IPv4 forwarding\u304c\u6709\u52b9\u5316\u3055\u308c\u3001firewalld\u3092\u7121\u52b9\u5316\u3057\u3001Python 3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u306eCentOS 7\u306e\u30b5\u30fc\u30d0\u3068\u3057\u307e\u3059\u3002\u307e\u305f\u3001kubespray\u3092\u5b9f\u884c\u3059\u308b\u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3\u304b\u3089\u3001\u5404\u30b5\u30fc\u30d0\u306eroot\u30e6\u30fc\u30b6\u306bSSH\u9375\u3092\u914d\u7f6e<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u6e08\u307f\u3068\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"\u624b\u9806\">\u624b\u9806<\/h2>\n<h3 id=\"\u6e96\u5099\">\u6e96\u5099<\/h3>\n<p>\u307e\u305a\u3001kubespray\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ git clone https:\/\/github.com\/kubernetes-incubator\/kubespray\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> kubespray\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30af\u30ed\u30fc\u30f3\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001ansible\u306a\u3069\u306e\u4f9d\u5b58\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5c0e\u5165\u3057\u307e\u3059<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup>\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">kubespray$ pip install -r requirements.txt\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6b21\u306b\u3001ansible\u7528\u306e\u30a4\u30f3\u30d9\u30f3\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">kubespray$ cp -rfp inventory\/sample inventory\/mycluster\n<\/span><\/span><span class=\"line\"><span class=\"cl\">kubespray$ <span class=\"nb\">declare<\/span> -a <span class=\"nv\">IPS<\/span><span class=\"o\">=(<\/span>192.168.1.11 192.168.1.12 192.168.1.13<span class=\"o\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nv\">CONFIG_FILE<\/span><span class=\"o\">=<\/span>inventory\/mycluster\/hosts.ini python3 contrib\/inventory_builder\/inventory.py <span class=\"si\">${<\/span><span class=\"nv\">IPS<\/span><span class=\"p\">[@]<\/span><span class=\"si\">}<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>IPS\u306f\u5bfe\u8c61\u30b5\u30fc\u30d0\u306eIP\u306b\u5408\u308f\u305b\u3066\u5b9a\u7fa9\u3092\u3057\u307e\u3059\u3002\n\u307e\u305f\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u3001<code>python3<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u306f\u306a\u304f\u3001<code>python<\/code>\u30b3\u30de\u30f3\u30c9\u3067Python 3\u304c\u5b9f\u884c\u3055\u308c\u308b\u5834\u5408\u3082\u6709\u308a\u307e\u3059\u3002\u9069\u5b9c\u8aad\u307f\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"Generates LICENSE file: git-license","link":"https:\/\/blog.web-apps.tech\/generate_license_with_gitlicense\/","pubDate":"Wed, 21 Feb 2018 04:56:49 +0000","guid":"https:\/\/blog.web-apps.tech\/generate_license_with_gitlicense\/","description":"<p>When we create a new repository on <a href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>\n, we can choose an open source license.<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/generate_license_with_gitlicense\/images\/create_new_repo_hu_19a8f17e26e8f88b.png\" alt=\"create_new_repo\" \/>\n<\/p>\n<p>We choose an OSS license, then, <code>LICENSE<\/code> file is put into the new repository.<\/p>\n<p>Now, I&rsquo;m usually using <a href=\"https:\/\/hub.github.com\/\" target=\"_blank\" rel=\"noopener\"><code>hub<\/code><\/a>\ncommand to create a new repository.\nI&rsquo;ll do below to create:<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ mkdir my_new_repository\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> my_new_repository\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git init\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">#<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># ... some code writing and commit ...<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">#<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git create <span class=\"c1\"># git command is aliased to hub<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ git push -u origin master\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>In this flow, I can write description for repository<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>, set homepage<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup>, make the repository private<sup id=\"fnref:3\"><a href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\">3<\/a><\/sup>, but I <strong>CANNOT<\/strong> choose LICENSE.\nI can choose and create LICENSE file on the GitHub web page, or I can copy from my other repositories because its content is fixed.\nHowever, I don&rsquo;t do that.<\/p>"},{"title":"\u30c6\u30ad\u30b9\u30c8\u3092\u5217\u3054\u3068\u306b\u305d\u308d\u3048\u3066\u51fa\u529b\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/output-columned-text\/","pubDate":"Mon, 29 Jan 2018 07:13:10 +0000","guid":"https:\/\/blog.web-apps.tech\/output-columned-text\/","description":"<p>TL;DR: \u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter\/\" target=\"_blank\" rel=\"noopener\"><code>text\/tabwriter<\/code><\/a>\n\u3092\u4f7f\u7528\u3059\u308b<\/p>\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u3067\u6a19\u6e96\u51fa\u529b\u3092\u826f\u3044\u611f\u3058\u306b\u305d\u308d\u3048\u3066\u51fa\u529b\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001<a href=\"https:\/\/www.docker.com\" target=\"_blank\" rel=\"noopener\">docker<\/a>\n\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ docker container ls\n<\/span><\/span><span class=\"line\"><span class=\"cl\">CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n<\/span><\/span><span class=\"line\"><span class=\"cl\">8caad461b4a4 redis <span class=\"s2\">&#34;docker-entrypoint.s\u2026&#34;<\/span> <span class=\"m\">5<\/span> days ago Up <span class=\"m\">5<\/span> days 0.0.0.0:6379-&gt;6379\/tcp redis-svr\n<\/span><\/span><span class=\"line\"><span class=\"cl\">329c9f9be035 mysql <span class=\"s2\">&#34;docker-entrypoint.s\u2026&#34;<\/span> <span class=\"m\">5<\/span> days ago Up <span class=\"m\">5<\/span> days 0.0.0.0:3306-&gt;3306\/tcp mysql-svr\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306a <strong>map\u3001\u3042\u308b\u3044\u306f\u69cb\u9020\u4f53\u306e\u914d\u5217<\/strong> \u306e\u69d8\u306a\u3082\u306e\u3092\u3001\u304d\u308c\u3044\u306b\u8868\u5f62\u5f0f\u306e\u69d8\u306b\u5217\u3092\u305d\u308d\u3048\u3066\u51fa\u529b\u3057\u305f\u3044\u5834\u5408\u306b\u4fbf\u5229\u306a\u306e\u304c\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306e<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter\/\" target=\"_blank\" rel=\"noopener\"><code>text\/tabwriter<\/code><\/a>\n\u3067\u3059\u3002\n\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30bf\u30d6\u533a\u5207\u308a\u306e\u6587\u5b57\u5217\u3092\u826f\u3044\u611f\u3058\u306b\u51fa\u529b\u3057\u3066\u304f\u308c\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n<p><code>text\/tabwriter<\/code>\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u306f<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter\/#pkg-constants\" target=\"_blank\" rel=\"noopener\">\u3044\u304f\u3064\u304b\u306e\u8a2d\u5b9a\u7528\u5b9a\u6570<\/a>\n\u3068\u3001<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter#Writer\" target=\"_blank\" rel=\"noopener\"><code>Writer<\/code>\u69cb\u9020\u4f53<\/a>\n\u306e\u307f\u3067\u3059\u3002\n<code>Writer<\/code>\u306f(\u52ff\u8ad6)<a href=\"https:\/\/golang.org\/pkg\/io\/#Writer\" target=\"_blank\" rel=\"noopener\"><code>io.Writer<\/code>\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9<\/a>\n\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4f7f\u7528\u65b9\u6cd5\u306f\u901a\u5e38\u306e<code>io.Writer<\/code>\u3068\u306f\u3059\u3053\u3057\u5909\u308f\u3063\u3066\u3044\u3066\u3001\u6700\u521d\u306b<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter#Writer.Init\" target=\"_blank\" rel=\"noopener\"><code>Writer.Init()<\/code><\/a>\n\u3067\u521d\u671f\u5316\u3057\u3001\u4efb\u610f\u56de\u6570<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter#Writer.Write\" target=\"_blank\" rel=\"noopener\"><code>Writer.Write()<\/code><\/a>\n\u3067\u66f8\u304d\u8fbc\u307f\u3092\u3057\u305f\u5f8c\u3001<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter#Writer.Flush\" target=\"_blank\" rel=\"noopener\"><code>Writer.Flush()<\/code><\/a>\n\u3067\u6574\u5f62\u3057\u305f\u6587\u5b57\u5217\u3092\u51fa\u529b\u3057\u307e\u3059\u3002\n<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter#NewWriter\" target=\"_blank\" rel=\"noopener\"><code>NewWriter()<\/code><\/a>\n\u95a2\u6570\u306f<code>Writer<\/code>\u69cb\u9020\u4f53\u3092<code>new()<\/code>\u3057\u305f\u5f8c<code>Init()<\/code>\u3059\u308b\u306e\u3068\u540c\u7b49\u3067\u3059\u3002<\/p>\n<p><code>Writer.Init()<\/code>\u95a2\u6570\u53ca\u3073<code>NewWriter()<\/code>\u95a2\u6570\u306b\u4e0e\u3048\u308b\u5f15\u6570\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: center\">\u540d\u524d<\/th>\n<th style=\"text-align: center\">\u578b<\/th>\n<th style=\"text-align: center\">\u5185\u5bb9<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: center\"><code>output<\/code><\/td>\n<td style=\"text-align: center\"><code>io.Writer<\/code><\/td>\n<td style=\"text-align: center\"><code>Flush()<\/code>\u3057\u305f\u3068\u304d\u306e\u51fa\u529b\u5148<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><code>minwidth<\/code><\/td>\n<td style=\"text-align: center\"><code>int<\/code><\/td>\n<td style=\"text-align: center\">1\u30bb\u30eb\u3042\u305f\u308a\u306e\u6700\u5c0f\u5e45(\u30d1\u30c7\u30a3\u30f3\u30b0\u3092\u542b\u3080)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><code>tabwidth<\/code><\/td>\n<td style=\"text-align: center\"><code>int<\/code><\/td>\n<td style=\"text-align: center\">\u30bf\u30d6\u6587\u5b57\u306e\u5e45(\u30b9\u30da\u30fc\u30b9\u306e\u500b\u6570\u3068\u7b49\u3057\u3044)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><code>padding<\/code><\/td>\n<td style=\"text-align: center\"><code>int<\/code><\/td>\n<td style=\"text-align: center\">\u30d1\u30c7\u30a3\u30f3\u30b0<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><code>padchar<\/code><\/td>\n<td style=\"text-align: center\"><code>byte<\/code><\/td>\n<td style=\"text-align: center\">\u30d1\u30c7\u30a3\u30f3\u30b0\u6587\u5b57<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><code>flags<\/code><\/td>\n<td style=\"text-align: center\"><code>int<\/code><\/td>\n<td style=\"text-align: center\">\u8abf\u6574\u7528\u30d5\u30e9\u30b0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u6700\u5f8c\u306e\u5f15\u6570\u3067\u3042\u308b\u3001\u8abf\u6574\u7528\u30d5\u30e9\u30b0\u306b\u306f<code>0<\/code>(\u6a19\u6e96\u72b6\u614b)\u3092\u4e0e\u3048\u308b\u304b\u3001<a href=\"https:\/\/golang.org\/pkg\/text\/tabwriter\/#pkg-constants\" target=\"_blank\" rel=\"noopener\">\u30d1\u30c3\u30b1\u30fc\u30b8\u5b9a\u6570<\/a>\n\u306e\u8ad6\u7406\u548c\u3092\u7528\u3044\u3066\u8a2d\u5b9a\u3092\u4e0e\u3048\u307e\u3059\u3002<\/p>"},{"title":"Vagrant\/vmware-fusion\u3067\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4eee\u60f3\u5316\u3092\u6709\u52b9\u306b\u3057\u305fVM\u3092\u4f5c\u6210\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/vagrant-vmware-fusion-nested-vm\/","pubDate":"Thu, 28 Dec 2017 04:29:59 +0000","guid":"https:\/\/blog.web-apps.tech\/vagrant-vmware-fusion-nested-vm\/","description":"<p>vmware fusion\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u306eCPU\u8a2d\u5b9a\u3067<code>\u3053\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u3067\u30cf\u30a4\u30d1\u30fc\u30d0\u30a4\u30b6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b<\/code>\u306b\u30c1\u30a7\u30c3\u30af\u3092\u5165\u308c\u308b\u3053\u3068\u3067\u4eee\u60f3\u30de\u30b7\u30f3\u5185\u3067KVM\u3092\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u8f09\u3063\u3066\u3044\u307e\u305b\u3093\u304c<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3001Vagrant + vmware-fusion plugin\u306e\u69cb\u6210\u3067\u3082\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\nVagrantfile\u306b\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-ruby\" data-lang=\"ruby\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">config<\/span><span class=\"o\">.<\/span><span class=\"n\">vm<\/span><span class=\"o\">.<\/span><span class=\"n\">provider<\/span> <span class=\"s2\">&#34;vmware_fusion&#34;<\/span> <span class=\"k\">do<\/span> <span class=\"o\">|<\/span><span class=\"n\">v<\/span><span class=\"o\">|<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"n\">v<\/span><span class=\"o\">.<\/span><span class=\"n\">vmx<\/span><span class=\"o\">[<\/span><span class=\"s2\">&#34;vhv.enable&#34;<\/span><span class=\"o\">]<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&#34;TRUE&#34;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">end<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>vmx\u306e\u8a2d\u5b9a\u3092\u3059\u308b\u65b9\u6cd5\u81ea\u4f53\u306f<a href=\"https:\/\/www.vagrantup.com\/docs\/vmware\/configuration.html#vmx-customization\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u306b\u3082\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u8a73\u7d30\u304c\u3042\u308a\u307e\u305b\u3093&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>"},{"title":"container-up\u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u305f","link":"https:\/\/blog.web-apps.tech\/container-up\/","pubDate":"Fri, 22 Dec 2017 04:23:39 +0000","guid":"https:\/\/blog.web-apps.tech\/container-up\/","description":"<p><a href=\"https:\/\/github.com\/nasa9084\/container-up\" target=\"_blank\" rel=\"noopener\">container-up<\/a>\n\u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u305f\u306e\u3067\u3054\u7d39\u4ecb\u3002<\/p>\n<h2 id=\"\u80cc\u666f\">\u80cc\u666f<\/h2>\n<p>\u3053\u306e\u30d6\u30ed\u30b0\u306f<a href=\"https:\/\/ghost.org\/\" target=\"_blank\" rel=\"noopener\">ghost<\/a>\n\u3068\u3044\u3046\u30d6\u30ed\u30b0\u30a8\u30f3\u30b8\u30f3\u3067\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\u52d5\u4f5c\u74b0\u5883\u3068\u3057\u3066<a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001Ghost\u306e<a href=\"https:\/\/hub.docker.com\/_\/ghost\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30a4\u30e1\u30fc\u30b8<\/a>\n\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\u904e\u53bb\u306e\u7d4c\u7def\u304b\u3089\u3001\u5358\u4f53\u306eDocker\u30b3\u30f3\u30c6\u30ca\u3067\u52d5\u4f5c\u3055\u305b\u3066\u304a\u308a\u3001\u6c38\u7d9a\u30c7\u30fc\u30bf\u306fDocker\u30dc\u30ea\u30e5\u30fc\u30e0\u3068\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u308b\u5f62\u3067\u3059\u3002<\/p>\n<p>\u6268\u3001Docker Compose\u3084Kubernetes\u306a\u3069\u306e\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u30c4\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u3001\u30b3\u30f3\u30c6\u30ca\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306f\u6bd4\u8f03\u7684\u7c21\u5358\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u305f\u3068\u3048\u3070\u3001Docker Compose\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001<code>docker-compose up<\/code>\u3067\u3001\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3067\u4f5c\u6210\u3057\u305f\u30b3\u30f3\u30c6\u30ca\u306b\u5dee\u3057\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001Docker\u3092\u5358\u4f53\u3067\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u3001\u57fa\u672c\u7684\u306b\u306f\u624b\u4f5c\u696d\u3067\u5dee\u3057\u66ff\u3048\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\nGhost\u30b3\u30f3\u30c6\u30ca\u306e\u66f4\u65b0\u6642\u306f\u624b\u4f5c\u696d\u3067Blue-Green\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u884c\u3063\u3066\u304d\u305f\u306e\u3067\u3059\u304c\u3001Ghost\u306f\u304b\u306a\u308a\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306e\u30da\u30fc\u30b9\u304c\u901f\u304f\u3001\u6bce\u5ea6\u30b3\u30f3\u30c6\u30ca\u3092\u5dee\u3057\u66ff\u3048\u308b\u306e\u304c\u9762\u5012\u306b\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u305d\u308c\u3092\u697d\u306b\u3059\u308b\u305f\u3081\u3001<strong>container-up<\/strong>\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<h3 id=\"go\u74b0\u5883\u304c\u3042\u308b\u4eba\">Go\u74b0\u5883\u304c\u3042\u308b\u4eba<\/h3>\n<p>Go\u8a00\u8a9e\u306e\u74b0\u5883\u304c\u3059\u3067\u306b\u3042\u308b\u4eba\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ go get github.com\/nasa9084\/container-up\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"\u305d\u308c\u4ee5\u5916\u306e\u4eba\">\u305d\u308c\u4ee5\u5916\u306e\u4eba<\/h3>\n<p>Go\u8a00\u8a9e\u306e\u74b0\u5883\u304c\u306a\u3044\u4eba\u306f\u3001<a href=\"https:\/\/github.com\/nasa9084\/container-up\/releases\" target=\"_blank\" rel=\"noopener\">Releases<\/a>\n\u30da\u30fc\u30b8\u304b\u3089\u81ea\u5206\u306eOS\u306b\u4f75\u305b\u3066\u30d0\u30a4\u30ca\u30ea\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u30d1\u30b9\u3092\u901a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\nwindows, linux, macos\u5411\u3051\u3001\u305d\u308c\u305e\u308camd64\u7248\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u7528\u610f\u3057\u3066\u3042\u308a\u307e\u3059\u3002\n\u52d5\u4f5c\u78ba\u8a8d\u306fmacos\u3001linux(CentOS 7)\u306e\u307f\u884c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3089\u4ee5\u5916\u306e\u74b0\u5883\u306e\u4eba\u306f\u3001\u4e88\u3081<a href=\"https:\/\/github.com\/golang\/dep\" target=\"_blank\" rel=\"noopener\">dep<\/a>\n\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u4e0a\u3067\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ git clonse https:\/\/github.com\/nasa9084\/container-up.git\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">cd<\/span> container-up\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ dep ensure\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ go build -o container-up main.go\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u305f\u3089\u3001\u4efb\u610f\u306e\u5834\u6240\u306b\u30d0\u30a4\u30ca\u30ea\u3092\u79fb\u52d5\u3057\u3001\u30d1\u30b9\u3092\u901a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2 id=\"\u4f7f\u3044\u65b9\">\u4f7f\u3044\u65b9<\/h2>\n<p>\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306f\u3001\u5f15\u6570\u306b\u30b3\u30f3\u30c6\u30ca\u540d\u307e\u305f\u306f\u30b3\u30f3\u30c6\u30caID\u3092\u6e21\u3059\u3060\u3051\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ container-up CONTAINER_NAME\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e0e\u3048\u3089\u308c\u305f\u30b3\u30f3\u30c6\u30ca\u3068\u540c\u3058\u540d\u79f0\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306a\u3069\u306e\u8a2d\u5b9a\u306f\u305d\u306e\u307e\u307e\u306b\u65b0\u3057\u3044\u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u3001\u5dee\u3057\u66ff\u3048\u307e\u3059\u3002\n<code>:latest<\/code>\u306a\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001<code>docker pull<\/code>\u3057\u305f\u5f8c\u306b\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u6700\u65b0\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u4f5c\u3089\u308c\u305f\u30b3\u30f3\u30c6\u30ca\u306b\u5dee\u3057\u66ff\u308f\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u3082\u3068\u306e\u30b3\u30f3\u30c6\u30ca\u306f<code>--rm<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u8d77\u52d5\u3057\u3066\u3044\u305f\u5834\u5408\u3092\u9664\u3044\u3066\u3001<code>_oldContainer<\/code>\u3068\u3044\u3046\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u304c\u4ed8\u3044\u305f\u72b6\u614b\u3067stop\u3057\u307e\u3059\u3002\n\u306a\u306b\u304b\u554f\u984c\u304c\u3042\u3063\u305f\u5834\u5408\u306f\u3001\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u306b\u623b\u3059\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u3082\u3057\u3001\u5143\u306e\u30b3\u30f3\u30c6\u30ca\u304c\u5fc5\u8981\u306a\u3044\u5834\u5408\u306f\u3001<code>--rm<\/code>\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308b\u3068\u3001\u5dee\u3057\u66ff\u3048\u6642\u306b\u524a\u9664\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ container-up --rm CONTAINER_NAME\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p><code>:latest<\/code>\u3067\u306f\u306a\u3044\u3088\u3046\u306a\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u30bf\u30b0\u304c\u4ed8\u3044\u305f\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306a\u3069\u306e\u305f\u3081\u3001\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u540d\u3092\u6307\u5b9a\u3057\u3066\u5b9f\u884c\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>"},{"title":"Kubernetes-powered Docker for mac is released!","link":"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/","pubDate":"Thu, 14 Dec 2017 05:03:01 +0000","guid":"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/","description":"<p>DockerCon EU 2017\u3067\u3001Docker\u304cKubernetes\u3092\u7d71\u5408\u30fb\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3068<a href=\"http:\/\/www.publickey1.jp\/blog\/17\/dockerkubernetesdockercon_eu_2017.html\" target=\"_blank\" rel=\"noopener\">\u767a\u8868\u3055\u308c\u307e\u3057\u305f<\/a>\n\u304c\u3001\u672c\u65e5\u3064\u3044\u306bKubernetes\u30b5\u30dd\u30fc\u30c8\u7248Docker for mac\u304c(Edge\u30ea\u30ea\u30fc\u30b9\u3067\u3059\u304c)\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff01<\/p>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001mac\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f(\u304a\u305d\u3089\u304f\u904e\u53bb\u6700\u3082\u7c21\u5358\u306b)\u958b\u767a\u7528Kubernetes\u30af\u30e9\u30b9\u30bf\u3092\u8d77\u52d5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff01<\/p>\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Docker for mac\u3067Kubernetes\u3092\u7acb\u3061\u3042\u3052\u308b\u624b\u9806\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"kubernetes\u306e\u8d77\u52d5\u624b\u9806\">Kubernetes\u306e\u8d77\u52d5\u624b\u9806<\/h2>\n<p>Docker for mac\u306eStable\u7248\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001Edge\u7248\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n<a href=\"https:\/\/docs.docker.com\/docker-for-mac\/install\/\" target=\"_blank\" rel=\"noopener\">Install Docker for mac<\/a>\n\u306e\u30da\u30fc\u30b8\u304b\u3089\u3001Edge Channel\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\nDocker\u3092\u7d42\u4e86\u3055\u305b\u3066\u304a\u3051\u3070\u3001Stable\u7248\u3092\u81ea\u5206\u3067\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3002\nEdge\u7248\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001Docker\u306e\u8a2d\u5b9a\u753b\u9762\u3092\u958b\u304f\u3068\u3001\u4ee5\u4e0b\u306e\u69d8\u306bKubernetes\u30bf\u30d6\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059\uff01\uff01<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-preference-general_hu_1a007643e4d81e50.png\" alt=\"Docker\u8a2d\u5b9a\u753b\u9762(General)\" \/>\n<\/p>\n<p>Kubernetes\u30bf\u30d6\u3067\u3001Kubernetes\u306e\u6709\u52b9\u5316\u30fb\u7121\u52b9\u5316\u3092\u7c21\u5358\u306b\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-preference-kubernetes_hu_2e23bf3b3ec04c32.png\" alt=\"Docker\u8a2d\u5b9a\u753b\u9762(Kubernetes)\" \/>\n<\/p>\n<p><code>Enable Kubernetes<\/code>\u306b\u30c1\u30a7\u30c3\u30af\u3092\u5165\u308c(<code>Show system containers<\/code>\u306f\u304a\u597d\u307f\u3067)\u3001<code>Apply &amp; Restart<\/code>\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u300cKubernetes\u306e\u521d\u56de\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u5c11\u3057\u6642\u9593\u304b\u304b\u308b\u3051\u3069\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\uff1f\u300d\u3068\u3044\u3046\u78ba\u8a8d\u753b\u9762\u304c\u51fa\u308b\u306e\u3067\u3001<code>Install<\/code>\u3092\u62bc\u3057\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-preference-progress-kubernetes_hu_522cccd163b2e560.png\" alt=\"docker-preference-progress-kubernetes\" \/>\n<\/p>\n<p>\u4e00\u5fdc\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u304c\u51fa\u308b\u306e\u3067\u3059\u304c\u3001\u4f59\u308a\u610f\u5473\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u30fb\u30fb\u30fb\n\u6570\u5206\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u308a\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-preference-done-kubernetes_hu_9e9c04ccfd0bb45.png\" alt=\"docker-preference-done-kubernetes\" \/>\n<\/p>\n<p>\u7121\u4e8b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u4e86\u3057\u305f\u3089\u3001<code>Close<\/code>\u3092\u62bc\u3057\u305f\u3042\u3068\u3001\u8a2d\u5b9a\u753b\u9762\u3092\u9589\u3058\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u6642\u70b9\u3067\u3001Docker\u30e1\u30cb\u30e5\u30fc\u306b\u3082Kubernetes\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-menu-kubernetes-is-running_hu_8bff2537d7e4aa46.png\" alt=\"docker-menu-kubernetes-is-running\" \/>\n<\/p>\n<p>\u4eca\u56de\u79c1\u306f<code>Show system containers<\/code>\u3092\u30aa\u30f3\u306b\u3057\u305f\u306e\u3067\u3001<code>docker ps<\/code><sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup>\u3059\u308b\u3068Kubernetes\u306e\u52d5\u4f5c\u306b\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002\nDNS\u3001API Server\u3001Etcd\u3001Scheduler\u3001Proxy\u3068\u6700\u5c0f\u9650\u306e\u69cb\u6210\u3067\u3059\u306d\u3002<\/p>\n<p>kubectl\u304c\u81ea\u52d5\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308b\u306e\u304b\u3069\u3046\u304b\u306f\u30fb\u30fb\u30fb\u30fb\u308f\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002(\u3059\u3067\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u3060\u3063\u305f\u305f\u3081)\nkubectl\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u306e\u5834\u5408\u3001\u81ea\u52d5\u3067\u30b3\u30f3\u30d5\u30a3\u30b0\u304c\u8ffd\u52a0\u3055\u308c\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067context\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u3067\u64cd\u4f5c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>$ kubectl config use-context docker-for-desktop\n<\/code><\/pre><p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/images\/docker-kubectl-get-nodes_hu_1924e3527ecbf4db.png\" alt=\"docker-kubectl-get-nodes\" \/>\n<\/p>\n<p><code>kubectl get nodes<\/code>\u3059\u308b\u3068\u3001\u78ba\u304b\u306b1\u30ce\u30fc\u30c9\u69cb\u6210\u3067\u30af\u30e9\u30b9\u30bf\u304c\u7acb\u3061\u4e0a\u304c\u3063\u3066\u3044\u308b\u306e\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>Edge\u7248\u306e\u521d\u56de\u8d77\u52d5\u6642\u306b\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;<\/a><\/p>\n<\/li>\n<li id=\"fn:2\">\n<p><code>docker container ls<\/code>\u3068\u6253\u3064\u306e\u306f\u9762\u5012\u3067\u3059\u306d&#160;<a href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>"},{"title":"go-sqlrow","link":"https:\/\/blog.web-apps.tech\/go-sqlrow\/","pubDate":"Wed, 13 Dec 2017 02:44:32 +0000","guid":"https:\/\/blog.web-apps.tech\/go-sqlrow\/","description":"<p>\u3053\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/qiita.com\/advent-calendar\/2017\/go2\" target=\"_blank\" rel=\"noopener\">Go2 Advent Calendar 2017<\/a>\n13\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002\n\u6628\u65e5\u306f<a href=\"https:\/\/qiita.com\/kami_zh\" target=\"_blank\" rel=\"noopener\">@kami_zh<\/a>\n\u3055\u3093\u306e <a href=\"https:\/\/qiita.com\/kami_zh\/items\/e6bea56db36bac8ca108\" target=\"_blank\" rel=\"noopener\">Go\u3067\u6a19\u6e96\u51fa\u529b\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u66f8\u3044\u305f<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"go-sqlrow\">go-sqlrow<\/h2>\n<p>Go\u8a00\u8a9e\u3067\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066RDBMS\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u3063\u3066\u304f\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u66f8\u304d\u307e\u3059<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">Person<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ID<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Name<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">db<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">sql<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;dn&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;dsn&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">row<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">Query<\/span><span class=\"p\">(<\/span><span class=\"s\">`SELECT id, name FROM person where id=&#39;foo&#39;`<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">p<\/span><span class=\"w\"> <\/span><span class=\"nx\">Person<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">row<\/span><span class=\"p\">.<\/span><span class=\"nf\">Scan<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">p<\/span><span class=\"p\">.<\/span><span class=\"nx\">ID<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">p<\/span><span class=\"p\">.<\/span><span class=\"nx\">Name<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>SQL\u6587\u3092\u767a\u884c\u3059\u308b\u307e\u3067\u306f\u3044\u3044\u306e\u3067\u3059\u304c\u3001\u6700\u5f8c\u306e\u884c\u3001<code>sql.Row#Scan<\/code>\u304c\u304f\u305b\u8005\u3067\u3059\u3002\n\u4e0a\u8a18\u306e\u4f8b\u306e\u3088\u3046\u306b\u3001<code>sql.row#Scan<\/code>\u306f\u53ef\u5909\u9577\u500b\u306e\u30dd\u30a4\u30f3\u30bf\u3092\u5f15\u6570\u306b\u3068\u308a\u3001\u305d\u308c\u3089\u306b\u305d\u308c\u305e\u308c\u5024\u3092\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\u3053\u306e\u4f8b\u3067\u306f\u5024\u306e\u6570\u304c2\u3064\u306e\u305f\u3081\u5927\u304d\u306a\u554f\u984c\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u5024\u306e\u6570\u304c\u5897\u3048\u305f\u5834\u5408\u306a\u3069\u306f\u975e\u5e38\u306b\u9762\u5012\u3067\u3059\u3002\u307e\u305f\u3001\u30c6\u30fc\u30d6\u30eb\u306e\u69cb\u9020\u304c\u5909\u308f\u3063\u305f\u5834\u5408\u306a\u3069\u3082\u975e\u5e38\u306b\u9762\u5012\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u3001<a href=\"https:\/\/github.com\/nasa9084\/go-sqlrow\" target=\"_blank\" rel=\"noopener\">go-sqlrow<\/a>\n\u3068\u3044\u3046\u5c0f\u3055\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u308a\u307e\u3057\u305f<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup>\u3002\n\u3053\u308c\u306f\u4e0a\u8a18\u306e<code>row.Scan<\/code>\u3092\u4ee3\u308f\u308a\u306b\u3084\u3063\u3066\u304f\u308c\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n<p>\u6a5f\u80fd\u30fb\u4f7f\u3044\u65b9\u306f\u7c21\u5358\u3067\u3001\u5148\u307b\u3069\u306e\u4f8b\u3092\u6b21\u306e\u69d8\u306b\u66f8\u304d\u63db\u3048\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">Person<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ID<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Name<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">db<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">sql<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;dn&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;dsn&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">row<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">Query<\/span><span class=\"p\">(<\/span><span class=\"s\">`SELECT id, name FROM person where id=&#39;foo&#39;`<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">p<\/span><span class=\"w\"> <\/span><span class=\"nx\">Person<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">sqlrow<\/span><span class=\"p\">.<\/span><span class=\"nf\">Bind<\/span><span class=\"p\">(<\/span><span class=\"nx\">row<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">p<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u5f8c\u306f\u5185\u90e8\u3067<code>row.Scan<\/code>\u76f8\u5f53\u306e\u51e6\u7406\u3092\u884c\u3044\u307e\u3059\u3002\nunexported\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u306f<code>encoding\/json<\/code>\u540c\u69d8\u3001<code>sql.Row<\/code>\u3068\u306e\u5bfe\u5fdc\u304c\u3068\u308c\u307e\u305b\u3093\u306e\u3067\u3001\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>"},{"title":"Parcel + Riot.js","link":"https:\/\/blog.web-apps.tech\/parcel-riot-js\/","pubDate":"Tue, 12 Dec 2017 15:00:00 +0000","guid":"https:\/\/blog.web-apps.tech\/parcel-riot-js\/","description":"<p>\u3053\u306e\u8a18\u4e8b\u306f <a href=\"https:\/\/qiita.com\/advent-calendar\/2017\/riot\" target=\"_blank\" rel=\"noopener\">Riot.js Advent Calendar 2017<\/a>\n13\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002\n\u6628\u65e5\u306f<a href=\"https:\/\/qiita.com\/supple\" target=\"_blank\" rel=\"noopener\">@supple<\/a>\n\u3055\u3093\u306b\u3088\u308b<a href=\"https:\/\/qiita.com\/supple\/items\/2cc58ee5c9bc11832596\" target=\"_blank\" rel=\"noopener\">Riot+Electron\u3067Markdown\u30a8\u30c7\u30a3\u30bf\u3092\u4f5c\u308b<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"tldr\">tl;dr<\/h2>\n<ul>\n<li><a href=\"https:\/\/parceljs.org\/\" target=\"_blank\" rel=\"noopener\">Parcel<\/a>\n\u3068\u3044\u3046JavaScript\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u30d0\u30f3\u30c9\u30e9\u3092\u89e6\u3063\u3066\u307f\u305f<\/li>\n<li>webpack\u306a\u3069\u3068\u6bd4\u3079\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u3082\u3044\u3089\u305a\u3068\u3066\u3082\u7c21\u5358<\/li>\n<li>\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u306a\u958b\u767a\u30b5\u30fc\u30d0\u3092\u7c21\u5358\u306b\u5b9f\u884c\u3067\u304d\u308b<\/li>\n<li>Riot\u3068\u7d44\u307f\u5408\u308f\u305b\u308b\u306e\u3082\u305d\u308c\u307b\u3069\u96e3\u3057\u304f\u306a\u3044<\/li>\n<\/ul>\n<h2 id=\"parcel--riotjs\">Parcel + Riot.js<\/h2>\n<p><a href=\"https:\/\/parceljs.org\/\" target=\"_blank\" rel=\"noopener\">Parcel<\/a>\n\u3068\u3044\u3046JavaScript\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u30d0\u30f3\u30c9\u30e9\u304c\u8a71\u984c\u306a\u306e\u3067\u3055\u308f\u3063\u3066\u307f\u307e\u3057\u305f\u3002\n\u56fd\u5185\u3067\u8a71\u984c\u306b\u306a\u3063\u3066\u3044\u308b\u5143\u306e\u8a18\u4e8b\u306f\u300c<a href=\"https:\/\/qiita.com\/bitrinjani\/items\/b08876e0a2618745f54a\" target=\"_blank\" rel=\"noopener\">webpack\u6642\u4ee3\u306e\u7d42\u308f\u308a\u3068parcel\u6642\u4ee3\u306e\u306f\u3058\u307e\u308a<\/a>\n\u300d\u3002\n<a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noopener\">React<\/a>\n\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u8a18\u4e8b\u3092\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u500b\u4eba\u7684\u306b\u306f<a href=\"http:\/\/riotjs.com\/ja\/\" target=\"_blank\" rel=\"noopener\">Riot.js<\/a>\n\u304c\u597d\u307f\u306a\u306e\u3067\u3001Riot.js\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\u3002\n\u5c1a\u3001webpack\u306f\u632b\u6298\u3057\u305f\u305f\u3081\u6bd4\u8f03\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<h2 id=\"parcelriotjs\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">Parcel\/Riot.js\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>npm\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ npm install -g parcel-bundler riot\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"source-code\">source code<\/h2>\n<h3 id=\"\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020\">\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020<\/h3>\n<p>\u4ee5\u4e0b\u306e\u69d8\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020\u3060\u3068\u3057\u307e\u3059\u3002\n\u306a\u304a\u3001\u7df4\u7fd2\u7528\u306e\u305f\u3081\u3001\u52d5\u4f5c\u78ba\u8a8d\u306b\u95a2\u4fc2\u306a\u3044\u90e8\u5206\u306f\u9069\u5f53\u306b\u524a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>src\/\n|- index.html\n|- index.js\n|- package.json\n|- app\/\n| |- App.tag\n<\/code><\/pre><h3 id=\"indexhtml\">index.html<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-html\" data-lang=\"html\"><span class=\"line\"><span class=\"cl\"><span class=\"cp\">&lt;!doctype html&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;<\/span><span class=\"nt\">html<\/span> <span class=\"na\">lang<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;ja&#34;<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;&lt;\/<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">App<\/span><span class=\"p\">&gt;&lt;\/<\/span><span class=\"nt\">App<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">script<\/span> <span class=\"na\">src<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;index.js&#34;<\/span><span class=\"p\">&gt;&lt;\/<\/span><span class=\"nt\">script<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;\/<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"indexjs\">index.js<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-javascript\" data-lang=\"javascript\"><span class=\"line\"><span class=\"cl\"><span class=\"kr\">import<\/span> <span class=\"nx\">riot<\/span> <span class=\"nx\">from<\/span> <span class=\"s1\">&#39;riot&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kr\">import<\/span> <span class=\"s1\">&#39;.\/app\/tags&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">riot<\/span><span class=\"p\">.<\/span><span class=\"nx\">mount<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;App&#39;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"apptag\">App.tag<\/h3>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-html\" data-lang=\"html\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;<\/span><span class=\"nt\">App<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>Hello, parcel world!<span class=\"p\">&lt;\/<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;<\/span><span class=\"nt\">script<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"kr\">import<\/span> <span class=\"nx\">riot<\/span> <span class=\"nx\">from<\/span> <span class=\"s1\">&#39;riot&#39;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">&lt;\/<\/span><span class=\"nt\">script<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;\/<\/span><span class=\"nt\">App<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h3 id=\"packagejson\">package.json<\/h3>\n<p><code>package.json<\/code>\u306f<code>npm init -y<\/code>\u3067\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>"},{"title":"kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/deploy-k8s-cluster-using-kubespray\/","pubDate":"Thu, 30 Nov 2017 09:04:06 +0000","guid":"https:\/\/blog.web-apps.tech\/deploy-k8s-cluster-using-kubespray\/","description":"<p><strong>\u6ce8\u610f: \u60c5\u5831\u304c\u53e4\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/blog.web-apps.tech\/deploy-k8s-with-kubespray-2\/\">\u65b0\u3057\u3044\u60c5\u5831\u306b\u3042\u308f\u305b\u3066\u8a18\u4e8b\u3092\u66f8\u3044\u305f<\/a>\n\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<\/strong><\/p>\n<p><a href=\"https:\/\/github.com\/kubernetes-incubator\/kubespray\" target=\"_blank\" rel=\"noopener\">kubespray<\/a>\n\u306fproduction ready\u306akubernetes(k8s)\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3067\u304d\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002\n<a href=\"https:\/\/www.ansible.com\/\" target=\"_blank\" rel=\"noopener\">Ansible<\/a>\n\u3092\u30d9\u30fc\u30b9\u306b\u4f5c\u3089\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u4efb\u610f\u306e\u30b5\u30fc\u30d0\u3067k8s\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u30013\u53f0\u306eVM\u3092\u7528\u610f\u3057\u3066\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3057\u3066\u307f\u307e\u3059<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3002<\/p>\n<h2 id=\"\u691c\u8a3c\u74b0\u5883\">\u691c\u8a3c\u74b0\u5883<\/h2>\n<p>\u4eca\u56de\u7528\u610f\u3057\u305fVM\u306f\u4ee5\u4e0b\u306e\u69cb\u6210\u3067\u3059\u3002<\/p>\n<ul>\n<li>2Core<\/li>\n<li>8GB RAM<\/li>\n<li>80GB HDD<\/li>\n<li>CentOS 7<\/li>\n<\/ul>\n<p>IP\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li>192.168.1.11<\/li>\n<li>192.168.1.12<\/li>\n<li>192.168.1.13<\/li>\n<\/ul>\n<p>\u307e\u305f\u3001kubespray\u3092\u5b9f\u884c\u3059\u308b\u30ed\u30fc\u30ab\u30eb\u306e\u74b0\u5883\u306fmacOS Sierra\u3067\u3059\u3002\n\u5404\u30db\u30b9\u30c8\u306eroot\u30e6\u30fc\u30b6\u306b\u5bfe\u3057\u3066SSH\u9375\u306f\u914d\u7f6e\u6e08\u307f\u3001firewalld\u306f\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u308b\u3068\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"requirements\">requirements<\/h2>\n<p>\u5b9f\u884c\u3059\u308b\u74b0\u5883\u306b\u3001<a href=\"https:\/\/www.ansible.com\/\" target=\"_blank\" rel=\"noopener\">Ansible<\/a>\n\u304c\u5fc5\u8981\u306a\u305f\u3081\u3001<code>pip<\/code>\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2<\/a><\/sup><sup id=\"fnref:3\"><a href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\">3<\/a><\/sup><\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ pip install ansible\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"install-kubespray-cli\">install kubespray-cli<\/h2>\n<p>kubespray\u81ea\u4f53\u3082<code>pip<\/code>\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ pip install kubespray\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"prepare\">prepare<\/h2>\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u3001<code>kubespray prepare<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ kubespray prepare --nodes node1<span class=\"o\">[<\/span><span class=\"nv\">ansible_ssh_host<\/span><span class=\"o\">=<\/span>192.168.1.11<span class=\"o\">]<\/span> node2<span class=\"o\">[<\/span><span class=\"nv\">ansible_ssh_host<\/span><span class=\"o\">=<\/span>192.168.1.12<span class=\"o\">]<\/span> node3<span class=\"o\">[<\/span><span class=\"nv\">ansible_ssh_host<\/span><span class=\"o\">=<\/span>192.168.1.13<span class=\"o\">]<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"deploy\">deploy<\/h2>\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067k8s\u30af\u30e9\u30b9\u30bf\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ kubespray deploy -u root -n flannel\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4eca\u56de\u306f<a href=\"https:\/\/github.com\/coreos\/flannel\" target=\"_blank\" rel=\"noopener\"><code>flannel<\/code><\/a>\n\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u69cb\u6210\u3057\u307e\u3057\u305f\u3002\nkubespray\u306f\u3001\u6b21\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u3066\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/coreos\/flannel\" target=\"_blank\" rel=\"noopener\">flannel<\/a>\n<sup id=\"fnref:4\"><a href=\"#fn:4\" class=\"footnote-ref\" role=\"doc-noteref\">4<\/a><\/sup><\/li>\n<li><a href=\"https:\/\/www.projectcalico.org\/\" target=\"_blank\" rel=\"noopener\">calico<\/a>\n<sup id=\"fnref:5\"><a href=\"#fn:5\" class=\"footnote-ref\" role=\"doc-noteref\">5<\/a><\/sup><\/li>\n<li><a href=\"https:\/\/github.com\/projectcalico\/canal\" target=\"_blank\" rel=\"noopener\">canal<\/a>\n<\/li>\n<li><a href=\"http:\/\/contiv.github.io\/\" target=\"_blank\" rel=\"noopener\">contiv<\/a>\n<sup id=\"fnref:6\"><a href=\"#fn:6\" class=\"footnote-ref\" role=\"doc-noteref\">6<\/a><\/sup><\/li>\n<li><a href=\"https:\/\/www.weave.works\/\" target=\"_blank\" rel=\"noopener\">weave<\/a>\n<sup id=\"fnref:7\"><a href=\"#fn:7\" class=\"footnote-ref\" role=\"doc-noteref\">7<\/a><\/sup><\/li>\n<\/ul>\n<p>\u3042\u3068\u306f\u69cb\u6210\u304c\u7d42\u4e86\u3059\u308b\u306e\u3092\u5f85\u3064\u3060\u3051\u3067\u3059\u3002<\/p>"},{"title":"GitLab Docker: initial runners registration token","link":"https:\/\/blog.web-apps.tech\/gitlab-docker-init-runners-reg-token\/","pubDate":"Wed, 22 Nov 2017 01:17:14 +0000","guid":"https:\/\/blog.web-apps.tech\/gitlab-docker-init-runners-reg-token\/","description":"<p><a href=\"https:\/\/about.gitlab.com\/\" target=\"_blank\" rel=\"noopener\">GitLab<\/a>\n\u306fRuby on Rails\u3067\u66f8\u304b\u308c\u305f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eGit\u30b5\u30fc\u30d0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002\u304a\u305d\u3089\u304f\u3001\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eGit\u30b5\u30fc\u30d0\u3068\u3057\u3066\u306f\u6700\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u3082\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\nGitLab\u306f\u4ed6\u306eOSS Git\u30b5\u30fc\u30d0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u6bd4\u3079\u3066\u3001\u975e\u5e38\u306b\u591a\u304f\u306e\u6a5f\u80fd\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\nGitLab-CI\u3082\u305d\u306e\u4e00\u3064\u3067\u3001GitLab\u4e0a\u3067\u81ea\u52d5\u30c6\u30b9\u30c8\u3092\u56de\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u3001GitLab-CI\u3092\u4f7f\u7528\u3059\u308b\u306b\u306frunner\u3068\u547c\u3070\u308c\u308b\u3001CI\u74b0\u5883\u7528\u306e\u30db\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\u3053\u306e\u3068\u304d\u3001Registration Token\u3068\u3044\u3046\u767b\u9332\u7528\u30c8\u30fc\u30af\u30f3\u304c\u5fc5\u8981\u306a\u306e\u3067\u3059\u304c\u3001REST API\u3067\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001Docker\u3092\u7528\u3044\u305f\u81ea\u52d5\u69cb\u7bc9\u6642\u306b\u5c11\u3005\u56f0\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u89e3\u6cd5\">\u89e3\u6cd5<\/h2>\n<p>GitLab omnibus\u306e\u8a2d\u5b9a\u9805\u76ee\u3067Registration Token\u306e\u521d\u671f\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n<code>docker run<\/code>\u3059\u308b\u969b\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">-e <span class=\"nv\">GITLAB_OMNIBUS_CONFIG<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;gitlab_rails[&#39;initial_shared_runners_registration_token&#39;] = &#39;HOGEHOGETOKEN&#39;&#34;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3082\u3057\u3001\u307b\u304b\u306e\u7406\u7531\u3067\u3059\u3067\u306b<code>GITLAB_OMNIBUS_CONFIG<\/code>\u306e\u6307\u5b9a\u304c\u3042\u308b\u5834\u5408\u3001\u30bb\u30df\u30b3\u30ed\u30f3\u533a\u5207\u308a\u3067\u8907\u6570\u306e\u5024\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u521d\u671f\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u4e0e\u3048\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">-e <span class=\"nv\">GITLAB_OMNIBUS_CONFIG<\/span><span class=\"o\">=<\/span><span class=\"s2\">&#34;gitlab_rails[&#39;initial_root_password&#39;] = &#39;FUGAFUGAPASSWORD&#39;; gitlab_rails[&#39;initial_shared_runners_registration_token&#39;] = &#39;HOGEHOGETOKEN&#39;&#34;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u3053\u3067\u6307\u5b9a\u3057\u305f\u5024\u3092runner\u306e\u767b\u9332\u6642\u306b\u4e0e\u3048\u308c\u3070\u3001OK\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">docker <span class=\"nb\">exec<\/span> GITLAB_RUNNER_CONTAINER_NAME gitlab-runner register -n -r HOGEHOGETOKEN --run-untagged --executor docker --docker-image alpine:latest --url http:\/\/GITLAB_URL --docker-volumes \/var\/run\/docker.sock:\/var\/run\/docker.sock\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3068\u304d\u3001GITLAB_RUNNER_CONTAINER_NAME\u3068GITLAB_URL\u306f\u9069\u5b9c\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"Application Specific Context","link":"https:\/\/blog.web-apps.tech\/package-specified-context\/","pubDate":"Tue, 21 Nov 2017 04:21:58 +0000","guid":"https:\/\/blog.web-apps.tech\/package-specified-context\/","description":"<p>\u5143\u30cd\u30bf\u306f<a href=\"https:\/\/twitter.com\/lestrrat\" target=\"_blank\" rel=\"noopener\">@lestrrat<\/a>\n\u3055\u3093\u306e\u300c<a href=\"https:\/\/medium.com\/@lestrrat\/abusing-type-aliases-to-augment-context-context-a08a85692fa8\" target=\"_blank\" rel=\"noopener\">Abusing type aliases to augment context.Context<\/a>\n\u300d\u3002<\/p>\n<p>golang\u3092\u7528\u3044\u3066HTTP\u30b5\u30fc\u30d0\u3092\u4f5c\u308b\u5834\u5408\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u5b9a\u7fa9\u3059\u308b\u306e\u306b\u4ee5\u4e0b\u306e\u69d8\u306a\u95a2\u6570\u3092\u7528\u3044\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">HandleFunc<\/span><span class=\"p\">(<\/span><span class=\"nx\">path<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">handler<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">ResponseWriter<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">r<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Request<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3082\u3061\u308d\u3093\u3001<code>http.Handle<\/code>\u3092\u7528\u3044\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3057\u3001<a href=\"https:\/\/github.com\/gorilla\/mux\" target=\"_blank\" rel=\"noopener\">gorilla\/mux<\/a>\n\u306a\u3069\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7528\u3044\u308b\u3053\u3068\u3082\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\n\u3053\u3053\u3067\u91cd\u8981\u306a\u306e\u306f\u3001<code>func(w http.ResponseWriter, r *http.Request)<\/code>\u3068\u3044\u3046\u5f15\u6570\u306e\u65b9\u3067\u3059\u3002<\/p>\n<p>\u591a\u304f\u306e\u5834\u5408\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30cf\u30f3\u30c9\u30e9\u5185\u3067\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306a\u3069\u306e\u5916\u90e8\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u3092\u7528\u3044\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\n\u3057\u304b\u3057\u3001golang\u306eHTTP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30cf\u30f3\u30c9\u30e9\u95a2\u6570\u306e\u5f62\u5f0f\u304c<code>func (w http.ResponseWriter, r *http.Request)<\/code>\u3068\u6c7a\u307e\u3063\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u306e\u8ffd\u52a0\u306f\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u5f15\u6570\u4ee5\u5916\u306e\u65b9\u6cd5\u3067DB\u63a5\u7d9a\u60c5\u5831\u306a\u3069\u3092\u6e21\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u307e\u3067\u3001golang\u3067Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3092\u884c\u3046\u5834\u5408\u306b\u3088\u304f\u7528\u3044\u3089\u308c\u3066\u3044\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u306e\u4fdd\u6301\u65b9\u6cd5\u306f\u3001<code>db<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3001\u305d\u3053\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u5909\u6570\u3068\u3057\u3066\u6301\u3064\u65b9\u6cd5\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u304c\u3001<a href=\"https:\/\/dave.cheney.net\/2017\/06\/11\/go-without-package-scoped-variables\" target=\"_blank\" rel=\"noopener\">\u30b0\u30ed\u30fc\u30d0\u30eb\u306a\u5909\u6570\u306f\u3067\u304d\u308b\u3060\u3051\u6301\u3061\u305f\u304f\u306a\u3044<\/a>\n\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001Go 1.8\u304b\u3089\u8ffd\u52a0\u3055\u308c\u305f<a href=\"https:\/\/golang.org\/pkg\/context\" target=\"_blank\" rel=\"noopener\"><code>context<\/code><\/a>\n\u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<a href=\"https:\/\/golang.org\/pkg\/net\/http#Reqeuest\" target=\"_blank\" rel=\"noopener\"><code>http.Request<\/code><\/a>\n\u306b\u306f<code>context.Context<\/code>\u304c\u5165\u3063\u3066\u3044\u3066\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http#Request.Context\" target=\"_blank\" rel=\"noopener\"><code>Request.Context()<\/code><\/a>\n\u3067get\u3001<a href=\"https:\/\/golang.org\/pkg\/net\/http#Request.WithContext\" target=\"_blank\" rel=\"noopener\"><code>Request.WithContext()<\/code><\/a>\n\u3067set\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code>context.Context<\/code>\u306b\u5024\u3092\u6301\u305f\u305b\u308b\u65b9\u6cd5\u3067\u6700\u521d\u306b\u601d\u3044\u3064\u304f\u306e\u306f<a href=\"https:\/\/golang.org\/pkg\/context#Context.WithValue\" target=\"_blank\" rel=\"noopener\"><code>Context.WithValue()<\/code><\/a>\n\u3092\u7528\u3044\u308b\u65b9\u6cd5\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u5024\u3092\u53d6\u5f97\u3059\u308b\u5ea6\u306btype assertion\u3092\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u3042\u307e\u308a<a href=\"https:\/\/medium.com\/@lestrrat\/alternative-to-using-context-value-f2efe6bd2788\" target=\"_blank\" rel=\"noopener\">\u3088\u304f\u3042\u308a\u307e\u305b\u3093<\/a>\n\u3002\n\u3053\u308c\u3092\u89e3\u6d88\u3059\u308b\u305f\u3081\u3001\u81ea\u5206\u3067\u578b\u3092\u5b9a\u7fa9\u3059\u308b\u306e\u304c\u3088\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ internal context subpackage<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;context&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;errors&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">withSomethingContext<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">something<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Something<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">WithSomething<\/span><span class=\"p\">(<\/span><span class=\"nx\">ctx<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">something<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">Something<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">withSomethingContext<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Context<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"nx\">ctx<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">something<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"nx\">something<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">Something<\/span><span class=\"p\">(<\/span><span class=\"nx\">ctx<\/span><span class=\"w\"> <\/span><span class=\"nx\">context<\/span><span class=\"p\">.<\/span><span class=\"nx\">Context<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"nx\">Something<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">sctx<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">ctx<\/span><span class=\"p\">.(<\/span><span class=\"o\">*<\/span><span class=\"nx\">withSomethingContext<\/span><span class=\"p\">);<\/span><span class=\"w\"> <\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">sctx<\/span><span class=\"p\">.<\/span><span class=\"nx\">something<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nx\">sctx<\/span><span class=\"p\">.<\/span><span class=\"nx\">something<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">errors<\/span><span class=\"p\">.<\/span><span class=\"nf\">New<\/span><span class=\"p\">(<\/span><span class=\"s\">`no asscosiated something`<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3092\u3059\u308b\u3053\u3068\u3067\u3001\u6bce\u56detype assertion\u3092\u3059\u308b\u5fc5\u8981\u3082\u306a\u304f\u306a\u308a\u3001\u3059\u3063\u304d\u308a\u3057\u307e\u3059\u3002<\/p>"},{"title":"GNU MO\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u9020","link":"https:\/\/blog.web-apps.tech\/gnu_mo_format\/","pubDate":"Mon, 06 Nov 2017 09:08:27 +0000","guid":"https:\/\/blog.web-apps.tech\/gnu_mo_format\/","description":"GNU MO\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u90e8\u69cb\u9020\u306b\u3064\u3044\u3066\u3001\u6700\u5c0f\u9650\u3067\u3059\u304c\u89e3\u8aac\u3057\u307e\u3059\u3002"},{"title":"Travis CI\u3067docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6700\u65b0\u306b\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/travis-ci-update-docker\/","pubDate":"Wed, 18 Oct 2017 09:17:00 +0000","guid":"https:\/\/blog.web-apps.tech\/travis-ci-update-docker\/","description":"<p>Travis CI\u3067Dockerfile\u3092\u30c6\u30b9\u30c8\u3059\u308b\u7b49\u3001docker\u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u69d8\u306b<code>.travis.yml<\/code>\u306b\u8a18\u8ff0\u3059\u308b\u3053\u3068\u3067docker\u3092\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">sudo<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">required<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">service<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"l\">docker<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u304c\u3001\u305d\u306e\u969b\u306edocker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f17.03.1<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>\u3068\u3001\u6700\u65b0\u7248\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u7279\u306b\u554f\u984c\u306a\u306e\u304c\u3001<a href=\"https:\/\/docs.docker.com\/engine\/userguide\/eng-image\/multistage-build\/\" target=\"_blank\" rel=\"noopener\">multi-stage build<\/a>\n\u306f17.05\u304b\u3089\u306e\u6a5f\u80fd\u3067\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\nTravis CI\u3067\u4f7f\u7528\u3067\u304d\u308bdocker\u3067\u306f\u3001multi-stage build\u3092\u4f7f\u7528\u3057\u305fDockerfile\u306f\u30d3\u30eb\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305a\u3001\u5e38\u306bfailed\u3068\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u89e3\u6c7a\u65b9\u6cd5\">\u89e3\u6c7a\u65b9\u6cd5<\/h2>\n<p>Travis-CI\u3067Docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4e0a\u3052\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092<code>.travis.yml<\/code>\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">sudo<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"l\">required<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">service<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"l\">docker<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">before_install<\/span><span class=\"p\">:<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"l\">sudo apt-get update<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span>- <span class=\"l\">sudo apt-get install -y -o Dpkg::Options::=&#34;--force-confnew&#34; docker-ce<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>docker\u306e\u518d\u8d77\u52d5\u306a\u3069\u306e\u51e6\u7406\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\n\u4ee5\u4e0a\u306e\u8a18\u8ff0\u306b\u3088\u308a\u3001Docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u6700\u65b0\u7248\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u3001multi-stage build\u3082\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>2017\u5e7410\u670818\u65e5\u73fe\u5728&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>"},{"title":"Kolla-Ansible\u3067OpenStack Ocata\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/kolla-ansible-ocata\/","pubDate":"Wed, 04 Oct 2017 06:12:37 +0000","guid":"https:\/\/blog.web-apps.tech\/kolla-ansible-ocata\/","description":"OpenStack Kolla\u3092\u7528\u3044\u308b\u3068\u3001\u6bd4\u8f03\u7684\u7c21\u5358\u306bOpenStack on Docker\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u4eca\u56de\u306fKolla-Ansible\u3092\u4f7f\u7528\u3057\u3066all-in-one\u69cb\u6210\u30674.0.0(Ocata)\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u3066\u307f\u307e\u3059\u3002"},{"title":"Kolla-ansible precheck\u3067\u767a\u751f\u3059\u308b\u30a8\u30e9\u30fc\u306e\u5bfe\u51e6","link":"https:\/\/blog.web-apps.tech\/kolla-ansible-precheck-error\/","pubDate":"Fri, 29 Sep 2017 14:20:16 +0000","guid":"https:\/\/blog.web-apps.tech\/kolla-ansible-precheck-error\/","description":"\u300cOpenStack Kolla(Ocata)\u74b0\u5883\u306e\u69cb\u7bc9\u300d\u3092\u53c2\u8003\u306bOpenStack Kolla\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u884c\u3063\u3066\u3044\u305f\u3089\u3001\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3057\u305f\u3002"},{"title":"Functional Option Pattern","link":"https:\/\/blog.web-apps.tech\/go-functional-option-pattern\/","pubDate":"Tue, 26 Sep 2017 01:44:53 +0000","guid":"https:\/\/blog.web-apps.tech\/go-functional-option-pattern\/","description":"<p>Fuctional Option Pattern\u306fGo\u8a00\u8a9e\u306b\u304a\u3044\u3066\u69cb\u9020\u4f53\u306e\u521d\u671f\u5316\u6642\u306b\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3092\u4e0e\u3048\u308b\u305f\u3081\u306e\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3067\u3001\u5143\u30cd\u30bf\u306fRob Pike\u6c0f\u306e<a href=\"https:\/\/commandcenter.blogspot.jp\/2014\/01\/self-referential-functions-and-design.html\" target=\"_blank\" rel=\"noopener\">Self-referential functions and the design of options<\/a>\n\u3001Dave Cheney\u6c0f\u306e<a href=\"https:\/\/dave.cheney.net\/2014\/10\/17\/functional-options-for-friendly-apis\" target=\"_blank\" rel=\"noopener\">Functional options for frendly APIS<\/a>\n\u3067\u3059\u3002<\/p>\n<p>Go\u8a00\u8a9e\u306b\u306f\u4ed6\u306e\u8a00\u8a9e\u3067\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3084\u30ad\u30fc\u30ef\u30fc\u30c9\u5f15\u6570\u3068\u547c\u3070\u308c\u308b\u3001\u7701\u7565\u53ef\u80fd\u306a\u5f15\u6570\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\n\u901a\u5e38\u306f\u5927\u304d\u306a\u554f\u984c\u306f\u7121\u3044\u306e\u3067\u3059\u304c\u3001\u3057\u304b\u3057\u3001\u69cb\u9020\u4f53\u306e\u521d\u671f\u5316\u6642\u306b\u306f\u3001\u7701\u7565\u53ef\u80fd\u5f15\u6570\u304c\u307b\u3057\u304f\u306a\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>Dave Cheney\u6c0f\u306e\u8a18\u4e8b\u306b\u3082\u3042\u308b\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"\u4f8b\">\u4f8b<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">Server<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">listener<\/span><span class=\"w\"> <\/span><span class=\"nx\">net<\/span><span class=\"p\">.<\/span><span class=\"nx\">Listener<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">NewServer<\/span><span class=\"p\">(<\/span><span class=\"nx\">addr<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"nx\">Server<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">l<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">net<\/span><span class=\"p\">.<\/span><span class=\"nf\">Listen<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;tcp&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">addr<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\"> <\/span><span class=\"o\">!=<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">err<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">srv<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">Server<\/span><span class=\"p\">{<\/span><span class=\"nx\">listener<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"nx\">l<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"nx\">srv<\/span><span class=\"p\">.<\/span><span class=\"nx\">run<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">srv<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3088\u304f\u3042\u308b\u69cb\u9020\u4f53\u306e\u521d\u671f\u5316\u95a2\u6570\u3067\u3059\u3002\n\u521d\u671f\u5316\u304c\u4e0a\u624b\u304f\u3044\u3051\u3070\u3001\u30dd\u30a4\u30f3\u30bf\u3068<code>nil<\/code>\u3092\u3001\u4e0a\u624b\u304f\u3044\u304b\u306a\u3051\u308c\u3070<code>nil<\/code>\u3068\u30a8\u30e9\u30fc\u3092\u8fd4\u3059\u5f62\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"go-redis, redigo, bolt\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u53d6\u3063\u3066\u307f\u305f","link":"https:\/\/blog.web-apps.tech\/go-redis-redigo-bolt-benchmark\/","pubDate":"Thu, 07 Sep 2017 04:40:01 +0000","guid":"https:\/\/blog.web-apps.tech\/go-redis-redigo-bolt-benchmark\/","description":"<h2 id=\"tldr\">tl;dr<\/h2>\n<ul>\n<li>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u63a5\u7d9a\u6e08\u307f\u306e\u72b6\u614b\u304b\u3089string\u3067\u5024\u3092\u30bb\u30c3\u30c8\u30fb\u30b2\u30c3\u30c8\u3059\u308b\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n<ul>\n<li>Bolt\u306eGet\u304c\u3081\u3061\u3083\u3081\u3061\u3083\u901f\u3044<\/li>\n<li>go-redis\u3088\u308a\u306fredigo\u306e\u65b9\u304c\u901f\u3044<\/li>\n<li>Bolt\u306e\u30bb\u30c3\u30c8\u304c\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3059\u3054\u304f\u591a\u3044<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"result\">result<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ go <span class=\"nb\">test<\/span> -bench .\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedisSet-4 10000 <span class=\"m\">246527<\/span> ns\/op <span class=\"m\">249<\/span> B\/op <span class=\"m\">9<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedisGet-4 5000 <span class=\"m\">231569<\/span> ns\/op <span class=\"m\">225<\/span> B\/op <span class=\"m\">9<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedigoSet-4 5000 <span class=\"m\">204545<\/span> ns\/op <span class=\"m\">70<\/span> B\/op <span class=\"m\">4<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedigoGet-4 5000 <span class=\"m\">209392<\/span> ns\/op <span class=\"m\">80<\/span> B\/op <span class=\"m\">6<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBoltSet-4 10000 <span class=\"m\">166142<\/span> ns\/op <span class=\"m\">34287<\/span> B\/op <span class=\"m\">57<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBoltGet-4 1000000 <span class=\"m\">1140<\/span> ns\/op <span class=\"m\">488<\/span> B\/op <span class=\"m\">8<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">PASS\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ok practices\/redis-bolt-benchmark 8.705s\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"source\">source<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><span class=\"lnt\">40\n<\/span><span class=\"lnt\">41\n<\/span><span class=\"lnt\">42\n<\/span><span class=\"lnt\">43\n<\/span><span class=\"lnt\">44\n<\/span><span class=\"lnt\">45\n<\/span><span class=\"lnt\">46\n<\/span><span class=\"lnt\">47\n<\/span><span class=\"lnt\">48\n<\/span><span class=\"lnt\">49\n<\/span><span class=\"lnt\">50\n<\/span><span class=\"lnt\">51\n<\/span><span class=\"lnt\">52\n<\/span><span class=\"lnt\">53\n<\/span><span class=\"lnt\">54\n<\/span><span class=\"lnt\">55\n<\/span><span class=\"lnt\">56\n<\/span><span class=\"lnt\">57\n<\/span><span class=\"lnt\">58\n<\/span><span class=\"lnt\">59\n<\/span><span class=\"lnt\">60\n<\/span><span class=\"lnt\">61\n<\/span><span class=\"lnt\">62\n<\/span><span class=\"lnt\">63\n<\/span><span class=\"lnt\">64\n<\/span><span class=\"lnt\">65\n<\/span><span class=\"lnt\">66\n<\/span><span class=\"lnt\">67\n<\/span><span class=\"lnt\">68\n<\/span><span class=\"lnt\">69\n<\/span><span class=\"lnt\">70\n<\/span><span class=\"lnt\">71\n<\/span><span class=\"lnt\">72\n<\/span><span class=\"lnt\">73\n<\/span><span class=\"lnt\">74\n<\/span><span class=\"lnt\">75\n<\/span><span class=\"lnt\">76\n<\/span><span class=\"lnt\">77\n<\/span><span class=\"lnt\">78\n<\/span><span class=\"lnt\">79\n<\/span><span class=\"lnt\">80\n<\/span><span class=\"lnt\">81\n<\/span><span class=\"lnt\">82\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">rbbench_test<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;testing&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/boltdb\/bolt&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">redigo<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/garyburd\/redigo\/redis&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">redis<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;github.com\/go-redis\/redis&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">redisOpts<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">redis<\/span><span class=\"p\">.<\/span><span class=\"nx\">Options<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Addr<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;localhost:6379&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Password<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">DB<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkRedisSet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">redis<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewClient<\/span><span class=\"p\">(<\/span><span class=\"nx\">redisOpts<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">Set<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"o\">+<\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">),<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;value&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">).<\/span><span class=\"nf\">Err<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkRedisGet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">redis<\/span><span class=\"p\">.<\/span><span class=\"nf\">NewClient<\/span><span class=\"p\">(<\/span><span class=\"nx\">redisOpts<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">Get<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">+<\/span><span class=\"w\"> <\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">)).<\/span><span class=\"nf\">Val<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkRedigoSet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">conn<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">redigo<\/span><span class=\"p\">.<\/span><span class=\"nf\">Dial<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;tcp&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;localhost:6379&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">conn<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">conn<\/span><span class=\"p\">.<\/span><span class=\"nf\">Do<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;SET&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"o\">+<\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">),<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;value&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkRedigoGet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">conn<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">redigo<\/span><span class=\"p\">.<\/span><span class=\"nf\">Dial<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;tcp&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;localhost:6379&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">conn<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">redigo<\/span><span class=\"p\">.<\/span><span class=\"nf\">String<\/span><span class=\"p\">(<\/span><span class=\"nx\">conn<\/span><span class=\"p\">.<\/span><span class=\"nf\">Do<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;GET&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"o\">+<\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">)))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkBoltSet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">bolt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;bolt.db&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"mo\">0600<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">Update<\/span><span class=\"p\">(<\/span><span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">tx<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">bolt<\/span><span class=\"p\">.<\/span><span class=\"nx\">Tx<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">tx<\/span><span class=\"p\">.<\/span><span class=\"nf\">CreateBucketIfNotExists<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;bucket&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">Put<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"o\">+<\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">)),<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;value&#34;<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkBoltGet<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">bolt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;bolt.db&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"mo\">0600<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">defer<\/span><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">db<\/span><span class=\"p\">.<\/span><span class=\"nf\">View<\/span><span class=\"p\">(<\/span><span class=\"kd\">func<\/span><span class=\"p\">(<\/span><span class=\"nx\">tx<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">bolt<\/span><span class=\"p\">.<\/span><span class=\"nx\">Tx<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">_<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">tx<\/span><span class=\"p\">.<\/span><span class=\"nf\">Bucket<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;bucket&#34;<\/span><span class=\"p\">)).<\/span><span class=\"nf\">Get<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;key&#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">+<\/span><span class=\"w\"> <\/span><span class=\"nb\">string<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">))))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"\u4e8c\u91cd\u306b\u30d7\u30ed\u30ad\u30b7\u3055\u308c\u305fRancher Server\u306e\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u8a2d\u5b9a","link":"https:\/\/blog.web-apps.tech\/2proxied-rancher-server\/","pubDate":"Mon, 04 Sep 2017 10:25:25 +0000","guid":"https:\/\/blog.web-apps.tech\/2proxied-rancher-server\/","description":"\u5e38\u6642SSL\u306e\u74b0\u5883\u3067\u4e8c\u91cd\u306b\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3055\u308c\u305f\u74b0\u5883\u306eRancher\u306f\u3001\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u901a\u308a\u306e\u8a2d\u5b9a\u3092\u884c\u3063\u3066\u3082\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u307e\u305b\u3093\u3002\nX-Forwarded-Proto\u304cHTTPS\u306e\u72b6\u614b\u3067Rancher Server\u307e\u3067\u5c4a\u304f\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u554f\u984c\u3092\u89e3\u6d88\u3067\u304d\u307e\u3059\u3002"},{"title":"Rancher-HAProxy\u3067HSTS\u3092\u8a2d\u5b9a\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/hsts-rancher-haproxy\/","pubDate":"Sat, 02 Sep 2017 16:49:12 +0000","guid":"https:\/\/blog.web-apps.tech\/hsts-rancher-haproxy\/","description":"HSTS\u306fHTTP Strict Transport Security\u306e\u7565\u3067\u3001HTTP\u3067\u306e\u63a5\u7d9a\u3092\u5f37\u5236\u7684\u306bHTTPS\u3078\u3068\u5909\u66f4\u3059\u308b\u3088\u3046\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3078\u4f1d\u9054\u3059\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u6a5f\u69cb\u3067\u3059\u3002\nRancher-HAProxy\u3067\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u3082HSTS\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3057\u305f\u3002"},{"title":"io.Writer.Write()\u3068fmt.Fprintf()\u306eBenchmark","link":"https:\/\/blog.web-apps.tech\/benchmark-iowriter-and-fprintf\/","pubDate":"Sat, 02 Sep 2017 04:30:59 +0000","guid":"https:\/\/blog.web-apps.tech\/benchmark-iowriter-and-fprintf\/","description":"<h2 id=\"tldr\">tl;dr<\/h2>\n<p>\u57fa\u672c\u7684\u306b<code>io.Writer.Write()<\/code>\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u9ad8\u901f\u306a\u3088\u3046\u3067\u3059\u3002<\/p>\n<h2 id=\"result\">result<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">$ go <span class=\"nb\">test<\/span> -bench . -benchmem\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWrite-4 30000000 48.7 ns\/op <span class=\"m\">16<\/span> B\/op <span class=\"m\">1<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteWithBytes-4 500000000 3.95 ns\/op <span class=\"m\">0<\/span> B\/op <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkFprintf-4 20000000 91.5 ns\/op <span class=\"m\">0<\/span> B\/op <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteTo-4 100000000 10.0 ns\/op <span class=\"m\">0<\/span> B\/op <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteWithBufferBytes-4 300000000 4.31 ns\/op <span class=\"m\">0<\/span> B\/op <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"source\">source<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><span class=\"lnt\">36\n<\/span><span class=\"lnt\">37\n<\/span><span class=\"lnt\">38\n<\/span><span class=\"lnt\">39\n<\/span><span class=\"lnt\">40\n<\/span><span class=\"lnt\">41\n<\/span><span class=\"lnt\">42\n<\/span><span class=\"lnt\">43\n<\/span><span class=\"lnt\">44\n<\/span><span class=\"lnt\">45\n<\/span><span class=\"lnt\">46\n<\/span><span class=\"lnt\">47\n<\/span><span class=\"lnt\">48\n<\/span><span class=\"lnt\">49\n<\/span><span class=\"lnt\">50\n<\/span><span class=\"lnt\">51\n<\/span><span class=\"lnt\">52\n<\/span><span class=\"lnt\">53\n<\/span><span class=\"lnt\">54\n<\/span><span class=\"lnt\">55\n<\/span><span class=\"lnt\">56\n<\/span><span class=\"lnt\">57\n<\/span><span class=\"lnt\">58\n<\/span><span class=\"lnt\">59\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">main_test<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;bytes&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;fmt&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;io&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;net\/http&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;testing&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;Hello, my world&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">bs<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">buf<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"nx\">bytes<\/span><span class=\"p\">.<\/span><span class=\"nx\">Buffer<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">NullWriter<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">Write<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">byte<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"kt\">int<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"kt\">error<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"p\">),<\/span><span class=\"w\"> <\/span><span class=\"kc\">nil<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkWrite<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">Write<\/span><span class=\"p\">([]<\/span><span class=\"nb\">byte<\/span><span class=\"p\">(<\/span><span class=\"nx\">s<\/span><span class=\"p\">))<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkWriteWithBytes<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">Write<\/span><span class=\"p\">(<\/span><span class=\"nx\">bs<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkFprintf<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Fprintf<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">s<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkWriteTo<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">buf<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteTo<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">BenchmarkWriteWithBufferBytes<\/span><span class=\"p\">(<\/span><span class=\"nx\">b<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">testing<\/span><span class=\"p\">.<\/span><span class=\"nx\">B<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"kd\">var<\/span><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">io<\/span><span class=\"p\">.<\/span><span class=\"nx\">Writer<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;<\/span><span class=\"nx\">NullWriter<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nf\">ResetTimer<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"nx\">b<\/span><span class=\"p\">.<\/span><span class=\"nx\">N<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">w<\/span><span class=\"p\">.<\/span><span class=\"nf\">Write<\/span><span class=\"p\">(<\/span><span class=\"nx\">buf<\/span><span class=\"p\">.<\/span><span class=\"nf\">Bytes<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"sync.WaitGroup","link":"https:\/\/blog.web-apps.tech\/how-to-use-sync-waitgroup\/","pubDate":"Fri, 01 Sep 2017 07:03:07 +0000","guid":"https:\/\/blog.web-apps.tech\/how-to-use-sync-waitgroup\/","description":"<p>Goroutine\u3092\u4f7f\u7528\u3057\u3066\u8907\u6570\u306e\u51e6\u7406\u3092\u4e26\u5217\u3067\u5b9f\u884c\u3001\u3059\u3079\u3066\u304c\u7d42\u308f\u3063\u305f\u3089\u6b21\u306e\u51e6\u7406\u306b\u9032\u307f\u305f\u3044\u3068\u3044\u3046\u5834\u5408\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\nGoroutine\u3067\u30c7\u30fc\u30bf\u306e\u30ea\u30b9\u30c8\u3092\u4f5c\u308b\u3068\u3044\u3046\u51e6\u7406\u3092\u8003\u3048\u307e\u3059\u3002\n\u30c7\u30fc\u30bf\u306e\u9806\u756a\u306f\u95a2\u4fc2\u306a\u304f\u3001\u3059\u3079\u3066\u306eGoroutine\u3067\u306e\u30c7\u30fc\u30bf\u304c\u305d\u308d\u3063\u305f\u3089\u6b21\u306e\u51e6\u7406\u3092\u3057\u305f\u3044\u3068\u3044\u3046\u8a2d\u5b9a\u3067\u3059\u3002\n\u3053\u306e\u5834\u5408\u3001\u5358\u7d14\u306b\u8003\u3048\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u306b\u306a\u308a\u307e\u3059\u304c\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u306f\u30c7\u30fc\u30bf\u304c\u305d\u308d\u3046\u524d\u306b\u6b21\u306e\u51e6\u7406\u304c\u884c\u308f\u308c\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">datalist<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"mi\">10<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ something w\/datalist<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;next step&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u3001<code>sync.WaitGroup<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n<code>sync.WaitGroup<\/code>\u306f\u57fa\u672c\u7684\u306b\u306f\u305f\u3060\u306e\u30ab\u30a6\u30f3\u30bf\u3067\u3059\u304c\u3001\u30ab\u30a6\u30f3\u30bf\u304c\u30bc\u30ed\u306b\u306a\u308b\u307e\u3067\u51e6\u7406\u3092\u5f85\u3064\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u8a00\u8449\u3067\u8aac\u660e\u3057\u3066\u3082\u308f\u304b\u308a\u306b\u304f\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">datalist<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">wg<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">sync<\/span><span class=\"p\">.<\/span><span class=\"nx\">WaitGroup<\/span><span class=\"p\">{}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">for<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"w\"> <\/span><span class=\"p\">&lt;<\/span><span class=\"w\"> <\/span><span class=\"mi\">10<\/span><span class=\"p\">;<\/span><span class=\"w\"> <\/span><span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">wg<\/span><span class=\"p\">.<\/span><span class=\"nf\">Add<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ Goroutine\u306e\u6570\u3060\u3051\u30ab\u30a6\u30f3\u30bf\u3092\u5897\u3084\u3059<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">go<\/span><span class=\"w\"> <\/span><span class=\"kd\">func<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ something w\/datalist<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">wg<\/span><span class=\"p\">.<\/span><span class=\"nf\">Done<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u30ab\u30a6\u30f3\u30bf\u3092\u6e1b\u3089\u3059<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">wg<\/span><span class=\"p\">.<\/span><span class=\"nf\">Wait<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"c1\">\/\/ \u30ab\u30a6\u30f3\u30bf\u304c0\u306b\u306a\u308b\u307e\u3067\u30d6\u30ed\u30c3\u30af\u3059\u308b<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;next step&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e0a\u8a18\u306e\u69d8\u306b\u3059\u308b\u3053\u3068\u3067\u3001for\u6587\u306e\u90e8\u5206\u3067\u306fGoroutine\u3067\u4e26\u5217\u306b\u5b9f\u884c\u3057\u3064\u3064\u3001\u6b21\u306e\u51e6\u7406\u306f\u4e26\u5217\u5b9f\u884c\u90e8\u5206\u304c\u7d42\u308f\u3063\u3066\u304b\u3089\u3068\u3044\u3046\u52d5\u4f5c\u3092\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>"},{"title":"Go 1.9 is released","link":"https:\/\/blog.web-apps.tech\/go-1-9-is-released\/","pubDate":"Mon, 28 Aug 2017 01:41:47 +0000","guid":"https:\/\/blog.web-apps.tech\/go-1-9-is-released\/","description":"<p>\u5148\u65e52017\u5e748\u670824\u65e5\u306bGo 1.9\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\u3002\n<a href=\"https:\/\/golang.org\/dl\/\" target=\"_blank\" rel=\"noopener\">\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30da\u30fc\u30b8<\/a>\n\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u6700\u5927\u306e\u5909\u66f4\u70b9\u306f<a href=\"..\/go1-9rc1_is_released\">Go1.9rc1 is released!<\/a>\n\u3067\u3082\u304a\u4f1d\u3048\u3057\u305f\u3088\u3046\u306b\u3001<a href=\"https:\/\/golang.org\/doc\/go1.9#language\" target=\"_blank\" rel=\"noopener\"><strong>Type Alias<\/strong><\/a>\n\u3067\u3057\u3087\u3046\u3002\n\u578b\u540d\u306b\u5bfe\u3057\u3066\u5225\u540d\u3092\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u305d\u306e\u307b\u304b\u306b\u3082\u591a\u304f\u306e\u5909\u66f4\u304c\u52a0\u3048\u3089\u308c\u3066\u3044\u307e\u3059\u3002\n\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u306f<a href=\"https:\/\/golang.org\/doc\/go1.9\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089<\/a>\n\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u3067\u306f\u3001\u3044\u304f\u3064\u304b\u5909\u66f4\u70b9\u3092\u898b\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"ports\">Ports<\/h2>\n<p>Go 1.9\u304b\u3089\u65b0\u3057\u304f2\u3064\u306eOS\u30681\u3064\u306e\u30d7\u30ed\u30bb\u30c3\u30b5\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3 id=\"power8\">POWER8<\/h3>\n<p>IBM\u306ePOWER8\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n<code>GOARCH=ppc64<\/code>\u307e\u305f\u306f<code>GOARCH=ppc64le<\/code>\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3 id=\"freebsd\">FreeBSD<\/h3>\n<p>FreeBSD 9.3\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002\u3002\u3002\u304c\u3001\u3059\u3067\u306bFreeBSD\u306f\u30b5\u30dd\u30fc\u30c8\u5207\u308c\u3067\u3059\u3002(\u306a\u3093\u3067\u3084\u30fb\u30fb\u30fb\u30fb)\nGo 1.10\u304b\u3089\u306fFreeBSD 10.3+\u3067\u52d5\u4f5c\u3059\u308b\u69d8\u306b\u306a\u308b\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<h3 id=\"openbsd-60\">OpenBSD 6.0<\/h3>\n<p>OpenBSD 6.0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002\n\u304b\u308f\u308a\u306b\u3001Go 1.9\u3067\u306fOpenBSD5.9\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<h2 id=\"parallel-compilation\">Parallel Compilation<\/h2>\n<p>\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u95a2\u6570\u3092\u4e26\u5217\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u4e26\u5217\u30b3\u30f3\u30d1\u30a4\u30eb\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067ON\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u7121\u52b9\u5316\u3059\u308b\u306b\u306f\u74b0\u5883\u5909\u6570\u3067<code>GO19CONCURRENTCOMPILATION<\/code>\u3092<code>0<\/code>\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<h2 id=\"vendor-matching-with-\">Vendor matching with .\/&hellip;<\/h2>\n<p>\u3053\u308c\u307e\u3067\u3001<code>.\/...<\/code>\u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u8868\u73fe\u306fvendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3082\u542b\u3093\u3067\u3044\u307e\u3057\u305f\u3002\u3057\u304b\u3057\u3001<code>go test<\/code>\u306e\u5834\u5408\u306a\u3069vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u542b\u307e\u308c\u306a\u3044\u65b9\u304c\u3046\u308c\u3057\u3044\u5834\u5408\u3082\u591a\u304f\u3001\u5b9f\u969b<code>glide nv<\/code>\u306a\u3069\u3067vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u542b\u307e\u306a\u3044\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30de\u30c3\u30c1\u30f3\u30b0\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002\ngo1.9\u304b\u3089\u306f<code>.\/...<\/code>\u306b\u306fvendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u542b\u307e\u308c\u306a\u3044\u3088\u3046\u306b\u306a\u308a\u3001vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30de\u30c3\u30c1\u3055\u305b\u305f\u3044\u5834\u5408\u306f<code>.\/vendor\/...<\/code>\u3068\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"moved-goroot\">Moved GOROOT<\/h2>\n<p>Go 1.9\u304b\u3089\u3001GOROOT\u304c\u79fb\u52d5\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\u8d77\u52d5\u3055\u308c\u305f\u30d1\u30b9\u304b\u3089\u81ea\u52d5\u3067GOROOT\u3092\u63a2\u7d22\u3057\u307e\u3059\u3002\n\u3053\u308c\u306b\u3088\u308a\u3001Go\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30d1\u30b9\u304c\u9055\u3046\u5834\u6240\u306b\u79fb\u52d5\u3057\u3066\u3082\u3001Go\u306e\u30c4\u30fc\u30eb\u985e\u306f\u7d99\u7d9a\u3057\u3066\u4f7f\u3048\u308b\u7528\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"compiler-toolchain\">Compiler Toolchain<\/h2>\n<ul>\n<li>\u8907\u7d20\u6570\u306e\u5272\u308a\u7b97\u304cC99\u6e96\u62e0\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n<\/ul>\n<h2 id=\"doc\">Doc<\/h2>\n<p>\u9577\u3044\u5f15\u6570\u30ea\u30b9\u30c8\u306f\u7701\u7565\u3055\u308c\u307e\u3059\u3002\n\u3053\u308c\u306f<code>go doc<\/code>\u3067\u751f\u6210\u3055\u308c\u308b\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u5411\u4e0a\u306e\u305f\u3081\u3067\u3059\u3002\n\u307e\u305f\u3001\u69cb\u9020\u4f53\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002<code>go doc http.Client.Jar<\/code>\u306a\u3069\u3067\u3069\u3046\u306a\u3063\u305f\u306e\u304b\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"env\">env<\/h2>\n<p><code>go env -json<\/code>\u30d5\u30e9\u30b0\u306b\u3088\u308aJSON\u51fa\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"test\">Test<\/h2>\n<p><code>go test<\/code>\u30b3\u30de\u30f3\u30c9\u306b<code>-list<\/code>\u30d5\u30e9\u30b0\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\n\u3053\u308c\u306b\u6b63\u898f\u8868\u73fe\u3067\u5f15\u6570\u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3001\u30c6\u30b9\u30c8\u540d\u30fb\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u540d\u30fbExample\u30c6\u30b9\u30c8\u540d\u3092\u8abf\u3079\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"vet\">Vet<\/h2>\n<p><code>vet<\/code>\u30b3\u30de\u30f3\u30c9\u304c\u3088\u308a\u5f37\u5316\u3055\u308c\u307e\u3057\u305f\u3002<\/p>"},{"title":"docker-machine\u3067RancherOS\u3092\u4f7f\u3046","link":"https:\/\/blog.web-apps.tech\/docker-machine-with-rancheros\/","pubDate":"Thu, 24 Aug 2017 02:14:41 +0000","guid":"https:\/\/blog.web-apps.tech\/docker-machine-with-rancheros\/","description":"<h1 id=\"docker-machine\u3068\u305d\u306e\u30e1\u30ea\u30c3\u30c8\">docker-machine\u3068\u305d\u306e\u30e1\u30ea\u30c3\u30c8<\/h1>\n<p><a href=\"https:\/\/docs.docker.com\/machine\/\" target=\"_blank\" rel=\"noopener\">docker-machine<\/a>\n\u306f\u4eee\u60f3\u30de\u30b7\u30f3\u4e0a\u306b<a href=\"https:\/\/docs.docker.com\/engine\/\" target=\"_blank\" rel=\"noopener\">Docker Engine<\/a>\n\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002\n<code>docker-machine<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001Docker\u30db\u30b9\u30c8\u3092\u4f5c\u6210\u30fb\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\ndocker-machine\u3092\u4f7f\u7528\u3057\u3066Docker\u30db\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker-machine env &lt;MACHINE_NAME&gt;\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3067\u30b7\u30a7\u30eb\u8a55\u4fa1\u53ef\u80fd\u306aDocker\u63a5\u7d9a\u60c5\u5831\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ <span class=\"nb\">eval<\/span> <span class=\"k\">$(<\/span>docker-machine env &lt;MACHINE_NAME&gt;<span class=\"k\">)<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3068\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u305d\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u5185\u3067\u306f\u3042\u305f\u304b\u3082\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306eDocker\u306e\u69d8\u306b\u30b3\u30f3\u30c6\u30ca\u3092\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<h1 id=\"docker-machine\u3067\u4f7f\u7528\u3059\u308bos\">docker-machine\u3067\u4f7f\u7528\u3059\u308bOS<\/h1>\n<p>\u6268\u3001\u901a\u5e38docker-machine\u3067Docker\u30db\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308bOS\u306f<a href=\"http:\/\/boot2docker.io\/\" target=\"_blank\" rel=\"noopener\">Boot2Docker<\/a>\n\u3067\u3059\u304c\u3001docker-machine\u3067\u306f\u3001\u30db\u30b9\u30c8\u4f5c\u6210\u6642\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3067iso\u30a4\u30e1\u30fc\u30b8\u3084\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067OS\u3084Docker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2 id=\"rancheros\">RancherOS<\/h2>\n<p>Boot2Docker\u306b\u985e\u4f3c\u3057\u305fOS\u3068\u3057\u3066\u3001<a href=\"http:\/\/rancher.com\/rancher-os\/\" target=\"_blank\" rel=\"noopener\">RancherOS<\/a>\n\u304c\u3042\u308a\u3001<code>ros<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u3067\u3082Docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u7c21\u5358\u306b\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>RancherOS\u306f\u4ee5\u524d\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u74b0\u5883\u306e\u30b5\u30dd\u30fc\u30c8\u3068\u3057\u3066\u3001<a href=\"https:\/\/github.com\/rancher\/os-vagrant\" target=\"_blank\" rel=\"noopener\">Vagrant<\/a>\n\u7528\u306e\u74b0\u5883\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u73fe\u5728(2017\u5e748\u6708)\u3067\u306f\u3001\u3059\u3067\u306b\u30b5\u30dd\u30fc\u30c8\u304c\u7d42\u4e86\u3057\u3066\u304a\u308a\u3001docker-machine\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u3068\u3044\u3046\u30a2\u30ca\u30a6\u30f3\u30b9\u304c\u51fa\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u4eca\u56de\u306fdocker-machine\u3092\u4f7f\u7528\u3057\u3066RancherOS\u3092\u7acb\u3061\u3042\u3052\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h1 id=\"docker-machine\u3067rancheros\u3092\u7acb\u3061\u3042\u3052\u308b\">docker-machine\u3067RancherOS\u3092\u7acb\u3061\u3042\u3052\u308b<\/h1>\n<p><a href=\"http:\/\/rancher.com\/docs\/os\/v1.0\/en\/running-rancheros\/workstation\/docker-machine\/\" target=\"_blank\" rel=\"noopener\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\n\u4e0a\u306b\u793a\u3055\u308c\u305f\u30b3\u30de\u30f3\u30c9\u3092\u305d\u306e\u307e\u307e\u4f7f\u7528\u3057\u3066\u3082\u3001\u9014\u4e2d\u3067\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3044(\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u3053\u3068\u81ea\u4f53\u306f\u8a18\u8ff0\u3055\u308c\u3066\u3044\u307e\u3059\u304c)\u3001docker-machine\u3092\u306e\u5927\u304d\u306a\u30e1\u30ea\u30c3\u30c8\u3067\u3042\u308b\u3001<code>docker-machine env<\/code>\u304c\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<p>\u30a8\u30e9\u30fc\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306b\u306f\u3001<a href=\"https:\/\/github.com\/rancher\/install-docker\" target=\"_blank\" rel=\"noopener\">Rancher\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u4e0a\u306b\u3042\u308b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b9\u30af\u30ea\u30d7\u30c8<\/a>\n\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker-machine create -d virtualbox --virtualbox-boot2docker-url https:\/\/releases.rancher.com\/os\/latest\/rancheros.iso --engine-install-url https:\/\/raw.githubusercontent.com\/rancher\/install-docker\/master\/17.06.sh\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001<code>docker-machine ls<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u5b9f\u884c\u4e2d\u306eDocker\u30db\u30b9\u30c8\u306e\u4e00\u89a7\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker-machine ls\n<\/span><\/span><span class=\"line\"><span class=\"cl\">NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS\n<\/span><\/span><span class=\"line\"><span class=\"cl\">ros - virtualbox Running tcp:\/\/192.168.99.100:2376 v17.06.0-ce\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"docker-engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\">Docker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b<\/h1>\n<p>\u305b\u3063\u304b\u304fRancherOS\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u3001Docker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002\nDocker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\u306b\u306fRancherOS\u4e0a\u3067<code>ros<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u306e\u3067\u3057\u305f\u3002<\/p>"},{"title":"Docker multi-stage builds","link":"https:\/\/blog.web-apps.tech\/docker-multi-stage-builds\/","pubDate":"Thu, 17 Aug 2017 02:06:00 +0000","guid":"https:\/\/blog.web-apps.tech\/docker-multi-stage-builds\/","description":"<p>Docker 17.05\u304b\u3089\u3001\u65b0\u6a5f\u80fd\u3068\u3057\u3066<a href=\"https:\/\/docs.docker.com\/engine\/userguide\/eng-image\/multistage-build\/\" target=\"_blank\" rel=\"noopener\"><strong>multi-stage builds<\/strong><\/a>\n\u3068\u3044\u3046\u3082\u306e\u304c\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002\n\u3053\u308c\u306f\u3001\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u3092\u3088\u308a\u6700\u9069\u5316\u3059\u308b\u305f\u3081\u306b\u6709\u7528\u306a\u6a5f\u80fd\u3067\u3001Dockerfile\u304b\u3089\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\u3059\u308b\u969b\u306b\u30d3\u30eb\u30c9\u4f9d\u5b58\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\/\u74b0\u5883\u3068\u30e9\u30f3\u30bf\u30a4\u30e0\u4f9d\u5b58\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\/\u74b0\u5883\u3092\u5207\u308a\u5206\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n<p>\u5177\u4f53\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\nGo\u8a00\u8a9e\u3067\u66f8\u304b\u308c\u305f\u4f55\u3089\u304b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b3\u30f3\u30c6\u30ca\u4e0a\u3067\u52d5\u304b\u3059\u3053\u3068\u3092\u8003\u3048\u307e\u3059\u3002\n\u4ee5\u524d\u307e\u3067\u3067\u3042\u308c\u3070\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u4e8c\u3064\u306eDockerfile\u3092\u7528\u3044\u3066\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u30d3\u30eb\u30c9\u7528Dockerfile\u3067\u3059<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">FROM<\/span><span class=\"w\"> <\/span><span class=\"s\">golang:1.7.3<\/span><span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">WORKDIR<\/span><span class=\"w\"> <\/span><span class=\"s\">\/go\/src\/github.com\/someone\/foo<\/span>\/<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">COPY<\/span> app.go .<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">RUN<\/span> <span class=\"nv\">GOOS<\/span><span class=\"o\">=<\/span>linux go build -a -o app .<span class=\"err\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3064\u304e\u306b\u3001\u5b9f\u884c\u7528\u306eDockerfile\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">FROM<\/span><span class=\"w\"> <\/span><span class=\"s\">busybox:latest<\/span><span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">WORKDIR<\/span><span class=\"w\"> <\/span><span class=\"s\">\/root<\/span>\/<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">COPY<\/span> app .<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">CMD<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;.\/app&#34;<\/span><span class=\"p\">]<\/span><span class=\"err\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u306e\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u30d3\u30eb\u30c9\u6642\u306b\u306fGo\u8a00\u8a9e\u306e\u30d3\u30eb\u30c9\u74b0\u5883\u304c\u5165\u3063\u305f\u30b3\u30f3\u30c6\u30ca\u3092\u3001\u5b9f\u884c\u6642\u306f(Go\u8a00\u8a9e\u74b0\u5883\u306f\u4e0d\u8981\u306a\u306e\u3067)busybox\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u5b9f\u884c\u30a4\u30e1\u30fc\u30b8\u3092\u5c0f\u3055\u304f\u6291\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u3057\u304b\u3057\u3001\u3053\u306e\u3088\u3046\u306b\u4e8c\u3064\u306eDockerfile\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u624b\u9806\u304c\u7169\u96d1\u306b\u306a\u308b\u3001\u8907\u6570\u30d5\u30a1\u30a4\u30eb\u306e\u305f\u3081\u7ba1\u7406\u3057\u306b\u304f\u3044\u306a\u3069\u306e\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>multi-stage builds\u3092\u5b9f\u88c5\u3055\u308c\u305f\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306bDockerfile\u3092\u4e00\u3064\u306b\u307e\u3068\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-dockerfile\" data-lang=\"dockerfile\"><span class=\"line\"><span class=\"cl\"><span class=\"k\">FROM<\/span><span class=\"w\"> <\/span><span class=\"s\">golang:1.7.3<\/span><span class=\"w\"> <\/span><span class=\"k\">AS<\/span><span class=\"w\"> <\/span><span class=\"s\">build<\/span><span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">WORKDIR<\/span><span class=\"w\"> <\/span><span class=\"s\">\/go\/src\/github.com\/someone\/foo<\/span>\/<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">COPY<\/span> app.go .<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">RUN<\/span> <span class=\"nv\">GOOS<\/span><span class=\"o\">=<\/span>linux go build -a -o app .<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">FROM<\/span><span class=\"w\"> <\/span><span class=\"s\">busybox:latest<\/span><span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">WORKDIR<\/span><span class=\"w\"> <\/span><span class=\"s\">\/root<\/span>\/<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">COPY<\/span> --from<span class=\"o\">=<\/span>build \/go\/src\/github.com\/someone\/foo\/app .<span class=\"err\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"k\">CMD<\/span> <span class=\"p\">[<\/span><span class=\"s2\">&#34;.\/app&#34;<\/span><span class=\"p\">]<\/span><span class=\"err\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e00\u884c\u76ee\u306e<code>AS build<\/code>\u3001\u4e5d\u884c\u76ee\u306e<code>--from=build<\/code>\u304c\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002<\/p>"},{"title":"Go1.9rc1 is released!","link":"https:\/\/blog.web-apps.tech\/go1-9rc1_is_released\/","pubDate":"Wed, 26 Jul 2017 01:24:00 +0000","guid":"https:\/\/blog.web-apps.tech\/go1-9rc1_is_released\/","description":"<p>Go1.9rc1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff01\n\u305d\u3053\u3067\u3001Go1.9\u306e\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u3092\u3055\u3089\u3063\u3068\u898b\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\n(\u307e\u3060rc1\u306a\u306e\u3067\u3001\u4eca\u5f8c\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3054\u6ce8\u610f\u3092)<\/p>\n<p>\u5168\u90e8\u898b\u3066\u3044\u304f\u3068\u3001\u7d50\u69cb\u306a\u91cf\u306b\u306a\u308a\u305d\u3046\u306a\u306e\u3067\u3001\u3059\u3050\u306b\u5f71\u97ff\u306e\u3042\u308a\u305d\u3046\u306a\u90e8\u5206\u3060\u3051\u3001\u8efd\u304f\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h1 id=\"type-alias\">type alias<\/h1>\n<p>Go1.9\u3067\u306fType Alias\u3068\u3044\u3046\u3082\u306e\u304c\u5c0e\u5165\u3055\u308c\u307e\u3059\u3002\n\u3053\u308c\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u578b\u306b\u5225\u540d\u3092\u3064\u3051\u3089\u308c\u308b\u3068\u3044\u3046\u3082\u306e\u3002\n\u8a00\u8449\u3067\u8aac\u660e\u3059\u308b\u3088\u308a\u3001\u30b3\u30fc\u30c9\u3092\u898b\u305f\u65b9\u304c\u65e9\u3044\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u30b3\u30fc\u30c9\u3092\u7528\u610f\u3057\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><span class=\"lnt\">23\n<\/span><span class=\"lnt\">24\n<\/span><span class=\"lnt\">25\n<\/span><span class=\"lnt\">26\n<\/span><span class=\"lnt\">27\n<\/span><span class=\"lnt\">28\n<\/span><span class=\"lnt\">29\n<\/span><span class=\"lnt\">30\n<\/span><span class=\"lnt\">31\n<\/span><span class=\"lnt\">32\n<\/span><span class=\"lnt\">33\n<\/span><span class=\"lnt\">34\n<\/span><span class=\"lnt\">35\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kn\">package<\/span><span class=\"w\"> <\/span><span class=\"nx\">main<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kn\">import<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;fmt&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"s\">&#34;log&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">T1<\/span><span class=\"w\"> <\/span><span class=\"kd\">struct<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ID<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Name<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">type<\/span><span class=\"w\"> <\/span><span class=\"nx\">T2<\/span><span class=\"w\"> <\/span><span class=\"p\">=<\/span><span class=\"w\"> <\/span><span class=\"nx\">T1<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">main<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">T1<\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">ID<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;id&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">Name<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;Taro&#34;<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;call t1.Call()&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">t<\/span><span class=\"p\">.<\/span><span class=\"nf\">Call<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">log<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">&#34;call t2.Call2()&#34;<\/span><span class=\"p\">)<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">fmt<\/span><span class=\"p\">.<\/span><span class=\"nf\">Println<\/span><span class=\"p\">(<\/span><span class=\"nx\">t<\/span><span class=\"p\">.<\/span><span class=\"nf\">Call2<\/span><span class=\"p\">())<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"mi\">0<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">T1<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">Call<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;hello, &#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">+<\/span><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"p\">.<\/span><span class=\"nx\">Name<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"p\">(<\/span><span class=\"nx\">t<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">T2<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"nf\">Call2<\/span><span class=\"p\">()<\/span><span class=\"w\"> <\/span><span class=\"kt\">string<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;hi, &#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">+<\/span><span class=\"w\"> <\/span><span class=\"nx\">t<\/span><span class=\"p\">.<\/span><span class=\"nx\">ID<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>go1.8\u4ee5\u524d\u3067\u306fsyntax error\u306b\u306a\u308b\u3053\u306e\u30b3\u30fc\u30c9\u3067\u3059\u304c\u3001go1.9\u3067\u306f\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u51fa\u529b\u3092\u3057\u307e\u3059\u3002<\/p>"},{"title":"Riot.js\u306bSass(SCSS)\u3092\u5c0e\u5165\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/sass_into_riotjs\/","pubDate":"Wed, 19 Jul 2017 01:15:00 +0000","guid":"https:\/\/blog.web-apps.tech\/sass_into_riotjs\/","description":"<p>Riot.js\u3067\u306f\u3001\u6a19\u6e96\u3067\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306bLess\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u305d\u306e\u969b\u306e\u4f7f\u7528\u65b9\u6cd5\u306f\u7c21\u5358\u3067\u3001\u30b9\u30bf\u30a4\u30eb\u30bf\u30b0\u306btype\u3092\u6307\u5b9a\u3059\u308b\u3060\u3051\u3067\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-html\" data-lang=\"html\"><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;<\/span><span class=\"nt\">style<\/span> <span class=\"na\">type<\/span><span class=\"o\">=<\/span><span class=\"s\">&#34;less&#34;<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"o\">...<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">&lt;\/<\/span><span class=\"nt\">style<\/span><span class=\"p\">&gt;<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u6268\u3001\u3053\u3053\u3067\u3001\u30a4\u30de\u30c9\u30ad\u306a\u7686\u3055\u3093\u306fLess\u3058\u3083\u306a\u304f\u3066Sass(SCSS)\u3092\u4f7f\u3044\u305f\u3044\uff01\u3068\u601d\u3046\u304b\u3082\u3057\u308c\u307e\u305b\u3093(\u601d\u3044\u307e\u3059\u3088\u306d\uff1f)\n\u306a\u306e\u3067\u3001Sass\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h1 id=\"\u57fa\u672c\u65b9\u91dd\">\u57fa\u672c\u65b9\u91dd<\/h1>\n<p>\u57fa\u672c\u7684\u306b\u306f\u3001<code>riot.parser.css.sass<\/code>\u306bSass\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308b\u3060\u3051\u3067\u3059\u3002\n<code>riot.parser.css.sass<\/code>\u306b\u306f\u3001\u5f15\u6570\u3068\u3057\u3066\u3001<\/p>\n<ul>\n<li>\u30bf\u30b0\u540d<\/li>\n<li>stylesheet\n\u304c\u6e21\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u3001\u7b2c\u4e8c\u5f15\u6570\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u8fd4\u3059\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308c\u3070\u826f\u3044\u306e\u3067\u3059\u3002<\/li>\n<\/ul>\n<h1 id=\"\u30e9\u30f3\u30bf\u30a4\u30e0\u30b3\u30f3\u30d1\u30a4\u30eb\u3067sassscss\u3092\u4f7f\u7528\u3059\u308b\">\u30e9\u30f3\u30bf\u30a4\u30e0\u30b3\u30f3\u30d1\u30a4\u30eb\u3067Sass(SCSS)\u3092\u4f7f\u7528\u3059\u308b<\/h1>\n<p>\u30e9\u30f3\u30bf\u30a4\u30e0\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306f<code>sass.js<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n<code>&lt;head&gt;<\/code>\u30bf\u30b0\u5185\u3067\u3001<code>https:\/\/cdn.rawgit.com\/medialize\/sass.js\/v0.6.3\/dist\/sass.js<\/code>\u3092\u8aad\u307f\u8fbc\u3080\u306a\u3069\u3059\u308c\u3070\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n\u305d\u306e\u4e0a\u3067\u3001\u30bf\u30b0\u306e\u30de\u30a6\u30f3\u30c8\u524d\u306b\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-javascript\" data-lang=\"javascript\"><span class=\"line\"><span class=\"cl\"><span class=\"nx\">riot<\/span><span class=\"p\">.<\/span><span class=\"nx\">parsers<\/span><span class=\"p\">.<\/span><span class=\"nx\">css<\/span><span class=\"p\">.<\/span><span class=\"nx\">sass<\/span> <span class=\"o\">=<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">tagName<\/span><span class=\"p\">,<\/span> <span class=\"nx\">stylesheet<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"kd\">var<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">Sass<\/span><span class=\"p\">.<\/span><span class=\"nx\">compile<\/span><span class=\"p\">(<\/span><span class=\"nx\">stylesheet<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"k\">return<\/span> <span class=\"nx\">result<\/span><span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">};<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"gulp-riot\u30d7\u30ea\u30b3\u30f3\u30d1\u30a4\u30eb\u3067sassscss\u3092\u4f7f\u7528\u3059\u308b\">gulp-riot\u30d7\u30ea\u30b3\u30f3\u30d1\u30a4\u30eb\u3067Sass(SCSS)\u3092\u4f7f\u7528\u3059\u308b<\/h1>\n<p>glup-riot\u3067\u30d7\u30ea\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u969b\u306bSass\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001<code>node-sass<\/code>\u3092\u4f7f\u7528\u3057\u3066\u3001<code>gulpfile.js<\/code>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\"> 1\n<\/span><span class=\"lnt\"> 2\n<\/span><span class=\"lnt\"> 3\n<\/span><span class=\"lnt\"> 4\n<\/span><span class=\"lnt\"> 5\n<\/span><span class=\"lnt\"> 6\n<\/span><span class=\"lnt\"> 7\n<\/span><span class=\"lnt\"> 8\n<\/span><span class=\"lnt\"> 9\n<\/span><span class=\"lnt\">10\n<\/span><span class=\"lnt\">11\n<\/span><span class=\"lnt\">12\n<\/span><span class=\"lnt\">13\n<\/span><span class=\"lnt\">14\n<\/span><span class=\"lnt\">15\n<\/span><span class=\"lnt\">16\n<\/span><span class=\"lnt\">17\n<\/span><span class=\"lnt\">18\n<\/span><span class=\"lnt\">19\n<\/span><span class=\"lnt\">20\n<\/span><span class=\"lnt\">21\n<\/span><span class=\"lnt\">22\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-javascript\" data-lang=\"javascript\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span> <span class=\"nx\">gulp<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;gulp&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span> <span class=\"nx\">riot<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;gulp-riot&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"kd\">var<\/span> <span class=\"nx\">sass<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;node-sass&#39;<\/span><span class=\"p\">);<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"nx\">gulp<\/span><span class=\"p\">.<\/span><span class=\"nx\">task<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;riot&#39;<\/span><span class=\"p\">,<\/span> <span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nx\">gulp<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">.<\/span><span class=\"nx\">src<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;app.tag&#39;<\/span><span class=\"p\">)<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">.<\/span><span class=\"nx\">pipe<\/span><span class=\"p\">(<\/span><span class=\"nx\">riot<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nx\">parsers<\/span><span class=\"o\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nx\">css<\/span><span class=\"o\">:<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nx\">sass<\/span><span class=\"o\">:<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">tagName<\/span><span class=\"p\">,<\/span> <span class=\"nx\">stylesheet<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"kd\">var<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">sass<\/span><span class=\"p\">.<\/span><span class=\"nx\">renderSync<\/span><span class=\"p\">({<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"nx\">data<\/span><span class=\"o\">:<\/span> <span class=\"nx\">stylesheet<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">});<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"k\">return<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nx\">css<\/span><span class=\"p\">.<\/span><span class=\"nx\">toString<\/span><span class=\"p\">();<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">},<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">}))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">.<\/span><span class=\"nx\">pipe<\/span><span class=\"p\">(<\/span><span class=\"nx\">gulp<\/span><span class=\"p\">.<\/span><span class=\"nx\">dest<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;.\/&#39;<\/span><span class=\"p\">))<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"> <span class=\"p\">;<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">});<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div>"},{"title":"Vagrant\u3067\u8d77\u52d5\u3057\u305fVM\u304b\u3089BOX\u3092\u4f5c\u308b","link":"https:\/\/blog.web-apps.tech\/create_vagrant_box_from_vagrant_vm\/","pubDate":"Tue, 11 Jul 2017 02:39:00 +0000","guid":"https:\/\/blog.web-apps.tech\/create_vagrant_box_from_vagrant_vm\/","description":"<p>Vagrant\u3067\u3001centos\/7\u7b49\u306e\u6a19\u6e96\u7684\u306aBOX\u3092\u30d9\u30fc\u30b9\u306b\u30ab\u30b9\u30bf\u30e0\u3057\u305fVM\u3092\u4fdd\u5b58\u3057\u3066\u304a\u3044\u305f\u308a\u3001\u914d\u5e03\u3057\u305f\u308a\u3059\u308b\u305f\u3081\u306bBOX\u3092\u4f5c\u308b\u624b\u9806\u3067\u3059\u3002\n\u81ea\u5206\u7528\u306e\u30e1\u30e2\u3068\u3057\u3066\u3002<\/p>\n<h1 id=\"vm\u5185\u3067\u306e\u64cd\u4f5c\">VM\u5185\u3067\u306e\u64cd\u4f5c<\/h1>\n<h2 id=\"vboxguestadditions\u3092\u5c0e\u5165\u3059\u308b\">VBoxGuestAdditions\u3092\u5c0e\u5165\u3059\u308b\u3002<\/h2>\n<p>\u4ee5\u4e0b\u306e\u30bd\u30fc\u30b9\u3092\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3059\u308b\u3002(\u3053\u3053\u3067\u306f<code>$HOME\/ins.sh<\/code>\u3068\u3057\u307e\u3059\u3002)\n\u3053\u306e\u3068\u304d\u3001\u4e8c\u884c\u76ee\u306fVirtualbox\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u5408\u308f\u305b\u3066\u9069\u5b9c\u66f8\u304d\u63db\u3048\u308b\u3002\n\u30ea\u30b9\u30c8\u306f<a href=\"http:\/\/download.virtualbox.org\/virtualbox\/\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089<\/a>\n<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">yum install -y wget kernel kernel-devel perl gcc\n<\/span><\/span><span class=\"line\"><span class=\"cl\">wget http:\/\/download.virtualbox.org\/virtualbox\/5.1.18\/VBoxGuestAdditions_5.1.18.iso\n<\/span><\/span><span class=\"line\"><span class=\"cl\">mkdir \/media\/VBoxGuestAdditions\n<\/span><\/span><span class=\"line\"><span class=\"cl\">mount -o loop,ro VBoxGuestAdditions_5.1.18.iso \/media\/VBoxGuestAdditions\n<\/span><\/span><span class=\"line\"><span class=\"cl\">sh \/media\/VBoxGuestAdditions\/VBoxLinuxAdditions.run\n<\/span><\/span><span class=\"line\"><span class=\"cl\">rm VBoxGuestAdditions_5.1.18.iso\n<\/span><\/span><span class=\"line\"><span class=\"cl\">umount \/media\/VBoxGuestAdditions\n<\/span><\/span><span class=\"line\"><span class=\"cl\">rmdir \/media\/VBoxGuestAdditions\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4fdd\u5b58\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7ba1\u7406\u8005\u6a29\u9650\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">sudo bash ins.sh\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"yum\u3092\u304d\u308c\u3044\u306b\u3059\u308b\">yum\u3092\u304d\u308c\u3044\u306b\u3059\u308b<\/h2>\n<p>\u8efd\u91cf\u5316\u306e\u305f\u3081\u3001yum\u3092\u304d\u308c\u3044\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">sudo yum clean all\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h2 id=\"\u30bc\u30ed\u57cb\u3081\u3057\u3066\u6d88\u3059\">\u30bc\u30ed\u57cb\u3081\u3057\u3066\u6d88\u3059<\/h2>\n<p>\u5727\u7e2e\u52b9\u7387\u5411\u4e0a\u306e\u305f\u3081\u3001\u30bc\u30ed\u57cb\u3081\u3057\u3066\u6d88\u3057\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">sudo dd <span class=\"k\">if<\/span><span class=\"o\">=<\/span>\/dev\/zero <span class=\"nv\">of<\/span><span class=\"o\">=<\/span>\/EMPTY <span class=\"nv\">bs<\/span><span class=\"o\">=<\/span>1M\n<\/span><\/span><span class=\"line\"><span class=\"cl\">sudo rm \/EMPTY\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><h1 id=\"\u30db\u30b9\u30c8\u304b\u3089\u306e\u64cd\u4f5c\">\u30db\u30b9\u30c8\u304b\u3089\u306e\u64cd\u4f5c<\/h1>\n<h2 id=\"box\u3092\u4f5c\u6210\u3059\u308b\">BOX\u3092\u4f5c\u6210\u3059\u308b<\/h2>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">vagrant package\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>** box list\u306b\u767b\u9332\u3059\u308b<\/p>"},{"title":"YAPC::Fukuoka 2017 HAKATA\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\/","pubDate":"Mon, 03 Jul 2017 02:04:00 +0000","guid":"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\/","description":"<p>\u4eca\u56de\u306f\u8a00\u308f\u308c\u307e\u3057\u305f\uff01\u300c\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u307e\u3067\u304cYAPC!\u300d\n\u3068\u8a00\u3046\u3053\u3068\u3067\u3001<a href=\"https:\/\/yapcjapan.org\/2017kansai\/\" target=\"_blank\" rel=\"noopener\">YAPC::Kansai 2017 OSAKA<\/a>\n(\u884c\u3063\u3066\u304d\u305f\u3068\u304d\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/blog.web-apps.tech\/article\/yapc_kansai_2017\">\u3053\u3061\u3089<\/a>\n)\u306b\u5f15\u304d\u7d9a\u304d\u3001<a href=\"https:\/\/yapcjapan.org\/2017fukuoka\/\" target=\"_blank\" rel=\"noopener\">YAPC::Fukuoka 2017 HAKATA<\/a>\n\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\nYAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001&ldquo;Yet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u798f\u5ca1\u304a\u3088\u3073\u4e5d\u5dde\u306f\u521d\u3081\u3066\u3067\u3057\u305f\u304c\u3001\u3044\u3084\u3001\u6691\u3044\u3067\u3059\u306d\u3002\n\u7279\u306bYAPC\u306e\u7fcc\u65e5\u306f\u975e\u5e38\u306b\u5929\u6c17\u304c\u826f\u3044\u3082\u306e\u306e\u3001\u6885\u96e8\u306e\u6e7f\u6c17\u3082\u3042\u308a\u3001\u89b3\u5149\u3092\u3057\u3066\u3044\u3066\u6c57\u3060\u304f\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u3082\u5927\u962a\u540c\u69d8\u30db\u30c6\u30eb\u306f\u3068\u3089\u305a\u3001\u9069\u5f53\u306b\u3084\u3063\u3066\u3044\u304f\u3053\u3068\u306b\u3002\n\u610f\u5916\u3068\u306a\u3093\u3068\u304b\u306a\u308b\u3082\u306e\u3067\u3059\u3002<\/p>\n<h1 id=\"yapcfukuoka-2017-hakata\">YAPC::Fukuoka 2017 HAKATA<\/h1>\n<p>\u4eca\u56de\u3082\u4f8b\u306b\u6f0f\u308c\u305a(?)\u5bdd\u574a\u3067\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u306b\u306f\u9593\u306b\u5408\u308f\u305a\u3002\n\u4eca\u56de\u306fPerl6\u306e\u8a71\u306f\u4f59\u308a\u591a\u304f\u306a\u304b\u3063\u305f\u5370\u8c61\u3067\u3059\u3002<\/p>\n<p>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u8a71\u3001\u30b3\u30f3\u30c6\u30ca\u306e\u8a71\u3001\u30c6\u30b9\u30c8\u306e\u8a71\u306a\u3069\u3001\u975e\u5e38\u306b\u591a\u69d8\u306a\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306e\u30ce\u30d9\u30eb\u30c6\u30a3\u306f\u306a\u305c\u304b\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u304c\u4e8c\u3064\u3082\u5165\u3063\u3066\u3044\u305f\u308a\u3001\u7c73\u304c\u5165\u3063\u3066\u3044\u305f\u308a\u3001\u67d3\u307f\u629c\u304d\u30da\u30f3\u304c\u5165\u3063\u3066\u3044\u305f\u308a\u3068\u3068\u3066\u3082\u9762\u767d\u3044\u5185\u5bb9\u3067\u3057\u305f\u3002\n\u3042\u3001\u3044\u3064\u3082\u306e\u30b5\u30a4\u30ea\u30e5\u30fc\u30e0\u3082\u5165\u3063\u3066\u307e\u3057\u305f\u3088\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\/images\/yapc_fukuoka_2017_novelties_hu_94c4d00124ff86c2.jpg\" alt=\"yapc_fukuoka_2017_novelties\" \/>\n<\/p>\n<p>\u500b\u4eba\u30b9\u30dd\u30f3\u30b5\u30fc\u30ce\u30d9\u30eb\u30c6\u30a3\u306f\u30d3\u30fc\u30c1\u30b5\u30f3\u30c0\u30eb\u3002\u3053\u308c\u304b\u3089\u306e\u5b63\u7bc0\u306b\u826f\u3044\u3067\u3059\u306d\u3002<\/p>\n<h2 id=\"lt\u3092\u3057\u3066\u304d\u307e\u3057\u305f\">LT\u3092\u3057\u3066\u304d\u307e\u3057\u305f\u3002<\/h2>\n<p>\u4eca\u56de\u306fLT\u3082\u3057\u3066\u304d\u307e\u3057\u305f\u3002\n\u30bf\u30a4\u30c8\u30eb\u306f\u300c<a href=\"https:\/\/speakerdeck.com\/nasa9084\/wu-hu-su-qing-rasikiemacs\" target=\"_blank\" rel=\"noopener\">\u55da\u547c\u7d20\u6674\u3089\u3057\u304demacs<\/a>\n\u300d\u3067\u3059\u3002<\/p>\n<h2 id=\"\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde\">\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde<\/h2>\n<p>YAPC\u3067\u306f\u6052\u4f8b\u306e\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u5fb3\u4e38\u3055\u3093\u306e\u30b2\u30b9\u30c8\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde\u306b\u9078\u3070\u308c\u307e\u3057\u305f\u3002\n\u3057\u304b\u3057\u3054\u591a\u5fd9\u306a\u5fb3\u4e38\u3055\u3093\u3002\u30af\u30ed\u30fc\u30b8\u30f3\u30b0\u306e\u6642\u70b9\u3067\u3059\u3067\u306b\u5e30\u9084\u3057\u3066\u3057\u307e\u3063\u3066\u307e\u3057\u305f\u3002\n\u4ed5\u65b9\u306a\u3044\u306e\u3067\u5fb3\u4e38\u3055\u3093\u306e\u4f1a\u793e\u306b\u304a\u52e4\u3081\u306e\u65b9\u304c\u4ee3\u7406\u3067\u53d7\u3051\u53d6\u308b\u3053\u3068\u306b\u3002\n\u306a\u3093\u3068\u8cde\u54c1\u3092\u6e21\u3059\u4eba\u306f\u5fb3\u4e38\u3055\u3093\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u805e\u3044\u3066\u3044\u306a\u304b\u3063\u305f\u3088\u3046\u3067\u30fb\u30fb\u30fb\n\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u3092\u805e\u3044\u3066\u3044\u306a\u304b\u3063\u305f\u4eba\u304c\u4ee3\u7406\u306e\u4eba\u306b\u8cde\u54c1\u3092\u6e21\u3059\u3068\u3044\u3046\u3001\u306a\u3093\u3068\u3082\u9762\u767d\u3044\u4e8b\u614b\u3067\u3057\u305f\u3002<\/p>\n<p>\u30d9\u30b9\u30c8LT\u8cde\u306f<a href=\"https:\/\/twitter.com\/codehex\" target=\"_blank\" rel=\"noopener\">@codehex<\/a>\n\u3055\u3093\u3067\u3001YAPC::Okinawa\u306e\u5ba3\u4f1d\u3067\u3057\u305f\u3002<\/p>\n<h2 id=\"\u61c7\u89aa\u4f1a\">\u61c7\u89aa\u4f1a<\/h2>\n<p>\u61c7\u89aa\u4f1a\u3067\u306fPixiv\u3055\u3093\u304b\u3089\u62bd\u9078\u3067\u30d7\u30ec\u30bc\u30f3\u30c8\u3092\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002\nPawoo\u306e\u30ed\u30b4\u5165\u308a\u306e\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc(\u3053\u308c\u3067\u4eca\u56de\u4e09\u3064\u76ee)\u3067\u3059\u3002<\/p>\n<h1 id=\"\u6b21\u56de\u306e\u304a\u8a71\">\u6b21\u56de\u306e\u304a\u8a71<\/h1>\n<p>\u6b21\u56deYAPC\u306f3\u6708\u306b\u6c96\u7e04\u3067\u958b\u50ac\u4e88\u5b9a\u3067\u3059\u3002<\/p>"},{"title":"Fujitsu FACOM128B\u3092\u898b\u3066\u304d\u305f","link":"https:\/\/blog.web-apps.tech\/fujitsu_facom128b\/","pubDate":"Tue, 06 Jun 2017 01:45:00 +0000","guid":"https:\/\/blog.web-apps.tech\/fujitsu_facom128b\/","description":"<p><a href=\"http:\/\/events.linuxfoundation.jp\/events\/open-source-summit-japan\/extend-the-experience\/tour\" target=\"_blank\" rel=\"noopener\">Open Source Summit Fujitsu Museum Tour<\/a>\n)\u3067\u3001\u5bcc\u58eb\u901a \u6cbc\u6d25\u5de5\u5834\u307e\u3067\u884c\u3063\u3066\u3001\u73fe\u5728\u52d5\u4f5c\u3059\u308b\u4e16\u754c\u6700\u53e4\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u3067\u3042\u308b\u30ea\u30ec\u30fc\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u300cFACOM128B\u300d\u3092\u898b\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/ja.wikipedia.org\/wiki\/FACOM#FACOM_128\" target=\"_blank\" rel=\"noopener\">Fujitsu FACOM128B<\/a>\n\u306f1958\u5e74\u306b\u4f5c\u3089\u308c\u305f\u30ea\u30ec\u30fc\u5f0f\u81ea\u52d5\u8a08\u7b97\u6a5f\u3067\u3001\u5bcc\u58eb\u901a\u6cbc\u6d25\u5de5\u5834\u306b\u7f6e\u304b\u308c\u3066\u3044\u308b\u3082\u306e\u306f1959\u5e74\u88fd\u3067\u3059\u3002<a href=\"http:\/\/www.fujitsu.com\/jp\/about\/plus\/museum\/ikeda\/tour\/index.html\" target=\"_blank\" rel=\"noopener\">Fujitsu Web\u30b5\u30a4\u30c8<\/a>\n\u304b\u3089\u7533\u3057\u8fbc\u307f\u3092\u3059\u308b\u3053\u3068\u3067\u3001\u4e2d\u5b66\u751f\u4ee5\u4e0a\u306a\u3089\u898b\u5b66\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u5727\u5dfb\u3067\u3059\u3002\u30a8\u30f3\u30b8\u30cb\u30a2\u306a\u3089\u4e00\u5ea6\u306f\u898b\u3066\u304a\u304f\u3068\u3001\u611f\u52d5\u3082\u306e\u3067\u3059\u3002<\/p>"},{"title":"emacs-mac\u3067twittering-mode\u3092\u4f7f\u3063\u305f\u969b\u306b\u6bce\u56dePIN\u3092\u805e\u304b\u308c\u308b\u554f\u984c\u306e\u89e3\u6d88","link":"https:\/\/blog.web-apps.tech\/emacs-mac-twittering-mode-every-asked-pin\/","pubDate":"Tue, 09 May 2017 00:49:00 +0000","guid":"https:\/\/blog.web-apps.tech\/emacs-mac-twittering-mode-every-asked-pin\/","description":"<p>twitter\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u3057\u3066\u3001\u65e5\u9803\u304b\u3089emacs\u4e0a\u3067\u52d5\u304f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e&quot;twittering-mode&quot;\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\u3068\u3053\u308d\u304c\u6700\u8fd1\u3001\u65b0\u3057\u3044mac\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305femacs-mac\u3067twittering-mode\u3092\u8d77\u52d5\u3059\u308b\u3068\u3001\u6bce\u56detwitter\u306ePIN\u3092\u805e\u304b\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\n\u6bce\u56de\u3001\u6bce\u56de\u3001\u8d77\u52d5\u6642\u306e\u6697\u53f7\u5316\u30d5\u30a7\u30fc\u30ba\u3067<\/p>\n<pre tabindex=\"0\"><code>Encrypt failed Exit\n<\/code><\/pre><p>\u3068\u8a00\u308f\u308c\u30fb\u30fb\u30fb\u30fb\n\u4ee5\u524d\u4f7f\u3063\u3066\u3044\u305fmac\u3067\u306f\u3053\u306e\u3088\u3046\u306a\u3053\u3068\u304c\u7121\u304b\u3063\u305f\u305f\u3081\u3001\u56f0\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u3088\u308a\u89e3\u6c7a\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<h1 id=\"\u80cc\u666f\">\u80cc\u666f<\/h1>\n<p>\u7d50\u8ad6\u304b\u3089\u8a00\u3046\u3068\u3001\u3053\u308c\u306fGnuPG\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u65b0\u3057\u304f\u306a\u3063\u305f\u3053\u3068\u306b\u3088\u308b\u554f\u984c\u3067\u3057\u305f\u3002\nGnuPG2.1.0\u304b\u3089\u3001gpg-agent\u3068pinentry\u3068\u547c\u3070\u308c\u308b\u4e8c\u3064\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5229\u7528\u304c\u5fc5\u9808\u3068\u306a\u308a\u307e\u3057\u305f\u3002\ntwittering-mode\u4e8b\u614b\u306fgpg-agent\u3084pinentry\u304c\u5fc5\u9808\u3067\u3082\u57fa\u672c\u7684\u306b\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306f\u306a\u3063\u3066\u3044\u308b\u30cf\u30ba\u30fb\u30fb\u30fb\u3067\u3057\u305f\u3002\n\u3057\u304b\u3057\u3001\u3053\u308c\u3089\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5fc5\u9808\u5316\u306b\u4f34\u3063\u3066\u3001\u3053\u308c\u307e\u3067\u6a19\u6e96\u5165\u529b\u304b\u3089\u5165\u529b\u3067\u304d\u3066\u3044\u305f\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u304c\u6a19\u6e96\u5165\u529b\u304b\u3089\u5165\u529b\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u304a\u308a\u3001\u305d\u306e\u305f\u3081\u306b\u6697\u53f7\u5316\u306b\u5931\u6557\u3057\u3066\u6bce\u56dePIN\u3092\u805e\u304f\u30fb\u30fb\u30fb\u3068\u3044\u3046\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n<h1 id=\"\u89e3\u6c7a\u7b56\">\u89e3\u6c7a\u7b56<\/h1>\n<p>\u307f\u3093\u306a\u5927\u597d\u304d<a href=\"https:\/\/wiki.archlinuxjp.org\/index.php\/GnuPG#.E7.84.A1.E4.BA.BA.E3.81.AE.E3.83.91.E3.82.B9.E3.83.95.E3.83.AC.E3.83.BC.E3.82.BA\" target=\"_blank\" rel=\"noopener\">arch wiki<\/a>\n\u306b\u89e3\u6c7a\u7b56\u304c\u3042\u308a\u307e\u3057\u305f\u3002\n\u307e\u305a\u3001<code>~\/.gnupg\/gpg-agent.conf<\/code>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>allow-loopback-pinentry\n<\/code><\/pre><p>\u3064\u304e\u306b\u3001<code>~\/.gnupg\/gpg.conf<\/code>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<pre tabindex=\"0\"><code>pinentry-mode loopback\n<\/code><\/pre><p>\u6700\u5f8c\u306b\u3001gpg-agent\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002\n\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ gpgconf --kill gpg-agent\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3067gpg-agent\u3092\u518d\u8d77\u52d5\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3001twittering-mode\u304c\u6b63\u5e38\u306b\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u306f\u305a\u3067\u3059\u3002<\/p>"},{"title":"MySQL on docker mac\u306a\u958b\u767a\u74b0\u5883\u3067\u30ed\u30fc\u30ab\u30eb\u304b\u3089MySQL\u306b\u63a5\u7d9a\u3059\u308b","link":"https:\/\/blog.web-apps.tech\/mysql_on_docker_on_mac\/","pubDate":"Tue, 02 May 2017 06:57:00 +0000","guid":"https:\/\/blog.web-apps.tech\/mysql_on_docker_on_mac\/","description":"<p>MySQL\u3092docker\u4e0a\u306b\u7acb\u3066\u308b\u3053\u3068\u3067\u3001\u30ed\u30fc\u30ab\u30eb\u306e\u74b0\u5883\u3092\u6c5a\u3055\u305a\u306bMySQL\u3092\u4f7f\u3063\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u7279\u306b\u3001\u7df4\u7fd2\u6bb5\u968e\u3084\u3001\u52d5\u4f5c\u78ba\u8a8d\u306a\u3069\u306e\u5834\u5408\u3001 <code>test_hogehoge<\/code> \u306a\u611f\u3058\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3084\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u3063\u3066\u3057\u307e\u3044\u3001\u5f8c\u7247\u4ed8\u3051\u3092\u3057\u306a\u3044\u305f\u3081\u306b\u6c5a\u304f\u306a\u3063\u3066\u3044\u304f\u3001\u306a\u3093\u3066\u3053\u3068\u3001\u3042\u308b\u3093\u3058\u3083\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u3055\u3066\u3001MySQL on docker\u3078\u306e\u63a5\u7d9a\u3001\u4eca\u307e\u3067\u30ed\u30fc\u30ab\u30eb\u306bMySQL\u3092\u5165\u308c\u3066\u958b\u767a\u3057\u3066\u3044\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u8e93\u304d\u307e\u3057\u305f\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD password mysql:latest\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u4e0a\u8a18\u306e\u3088\u3046\u306b\u8d77\u52d5\u3057\u305f\u5834\u5408\u3001\u6b21\u306e\u3088\u3046\u306b\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ mysql -u hoge -p -h 127.0.0.1 --port <span class=\"m\">3306<\/span>\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u7279\u306b\u30dd\u30a4\u30f3\u30c8\u306a\u306e\u304c\u3001<code>-h 127.0.0.1<\/code>\u306e\u90e8\u5206\u3002<code>localhost<\/code>\u306b\u3057\u3066\u3057\u307e\u3046\u3068\u3001socket\u3067\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u3001\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3061\u3083\u3046\u3093\u3067\u3059\u306d\u3002\n\u3053\u3053\u3067\u3057\u3070\u3089\u304f\u60a9\u307f\u307e\u3057\u305f\u3002\u3002\u3002<\/p>\n<p>\u4ee5\u4e0a\u3001\u7c21\u5358\u3067\u3059\u304c\u30e1\u30e2\u304c\u3066\u3089\u3002<\/p>"},{"title":"golang: net\/http\u3067BASIC\u8a8d\u8a3c","link":"https:\/\/blog.web-apps.tech\/golang_nethttp_basicauth\/","pubDate":"Tue, 02 May 2017 05:06:00 +0000","guid":"https:\/\/blog.web-apps.tech\/golang_nethttp_basicauth\/","description":"<p>golang\u3067\u30d9\u30fc\u30b7\u30c3\u30af\u8a8d\u8a3c\u3059\u308b\u306e\u306f\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u306e\u304b\u306a\u30fc\u3002\u3063\u3066\u601d\u3063\u3066\u305f\u3089\u3001<code>net\/http<\/code>\u3067handler\u306b\u6e21\u3055\u308c\u308b<code>http.Request<\/code>\u306b<code>BasicAuth()<\/code>\u3068\u3044\u3046\u30e1\u30bd\u30c3\u30c9\u304c\u751f\u3048\u3066\u307e\u3057\u305f\u3002\n\u3053\u308c\u306fBASIC\u8a8d\u8a3c\u7528\u306e\u30e6\u30fc\u30b6\u540d\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3001\u30d8\u30c3\u30c0\u89e3\u6790\u306e\u30d5\u30e9\u30b0\u3068\u3044\u3046\u5024\u3092\u8fd4\u3057\u3066\u304f\u308c\u307e\u3059\u3002\n\u306a\u306e\u3067\u3001<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><span class=\"lnt\">3\n<\/span><span class=\"lnt\">4\n<\/span><span class=\"lnt\">5\n<\/span><span class=\"lnt\">6\n<\/span><span class=\"lnt\">7\n<\/span><span class=\"lnt\">8\n<\/span><span class=\"lnt\">9\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-go\" data-lang=\"go\"><span class=\"line\"><span class=\"cl\"><span class=\"kd\">func<\/span><span class=\"w\"> <\/span><span class=\"nf\">handler<\/span><span class=\"p\">(<\/span><span class=\"nx\">w<\/span><span class=\"w\"> <\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">ResponseWriter<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">r<\/span><span class=\"w\"> <\/span><span class=\"o\">*<\/span><span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nx\">Request<\/span><span class=\"p\">)<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"nx\">username<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">password<\/span><span class=\"p\">,<\/span><span class=\"w\"> <\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"o\">:=<\/span><span class=\"w\"> <\/span><span class=\"nx\">r<\/span><span class=\"p\">.<\/span><span class=\"nf\">BasicAuth<\/span><span class=\"p\">()<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"p\">!<\/span><span class=\"nx\">ok<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">return<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"k\">if<\/span><span class=\"w\"> <\/span><span class=\"nx\">username<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;hogehogeuser&#34;<\/span><span class=\"w\"> <\/span><span class=\"o\">&amp;&amp;<\/span><span class=\"w\"> <\/span><span class=\"nx\">password<\/span><span class=\"w\"> <\/span><span class=\"o\">==<\/span><span class=\"w\"> <\/span><span class=\"s\">&#34;fugafugapasswd&#34;<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"c1\">\/\/ something<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\"> <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3068\u3059\u308b\u3053\u3068\u3067\u8a8d\u8a3c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u7c21\u5358\u3001\u7c21\u5358\u3002\n\u306a\u304a\u6b8b\u5ff5\u306a\u304c\u3089\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u8a8d\u8a3c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u69d8\u5b50\u3002<\/p>"},{"title":"YAPC::Kansai 2017 OSAKA\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/","pubDate":"Sun, 05 Mar 2017 04:12:00 +0000","guid":"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/","description":"<p>12\u6708\u306e<a href=\"http:\/\/yapcjapan.org\/2016hokkaido\/\" target=\"_blank\" rel=\"noopener\">YAPC::Hokkaido 2016 SAPPORO<\/a>\n(\u884c\u3063\u3066\u304d\u305f\u6642\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/blog.web-apps.tech\/article\/yapc_hokkaido_2016\">\u3053\u3061\u3089<\/a>\n)\u306b\u5f15\u304d\u7d9a\u304d\u3001<a href=\"http:\/\/yapcjapan.org\/2017kansai\/\" target=\"_blank\" rel=\"noopener\">YAPC::Kansai 2017 OSAKA<\/a>\n\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u3082\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u307e\u3067\u304cYAPC\u3068\u306f\u8a00\u308f\u308c\u306a\u304b\u3063\u305f\u6c17\u304c\u3057\u307e\u3059\u3002\nYAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001&ldquo;Yet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u79c1\u306b\u3068\u3063\u3066\u3001\u5927\u962a\u306f\u3082\u3061\u308d\u3093\u3001\u95a2\u897f\u81ea\u4f53\u304c\u521d\u3081\u3066\u3067\u3001\u304b\u306a\u308a\u4f59\u88d5\u306e\u3042\u308b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u7d44\u3093\u3060\u305f\u3081\u306b\u3001\u3069\u3046\u6642\u9593\u3092\u904e\u3054\u3057\u3066\u3044\u3044\u304b\u60a9\u3080\u3068\u3044\u3063\u305f\u81ea\u4f53\u306b\u3002\n\u7a7a\u6e2f\u306b\u964d\u308a\u7acb\u3061\u3001\u307e\u305a\u3069\u3046\u3057\u3088\u3046\u3001\u3068\u3044\u3046\u72b6\u614b\u3067\u3059\u306d\u3002\u56f0\u3063\u305f\u3002<\/p>\n<p>\u4ed5\u65b9\u304c\u306a\u3044\u306e\u3067\u5927\u962a\u51fa\u8eab\u306e\u53cb\u4eba\u306b\u3001\u300c\u5927\u962a\u89b3\u5149\u3063\u3066\u3069\u3053\u3044\u3063\u305f\u3089\u3044\u3044\u306e\u304b\u306a\u300d\u3068\u805e\u3044\u3066\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u300c\u307e\u3041\u305f\u3053\u713c\u304d\u98df\u3079\u305f\u308a\u3057\u305f\u3089\uff1f\u300d\u3068\u4eca\u3072\u3068\u3064\u5f79\u306b\u7acb\u305f\u306a\u3044\u8fd4\u4e8b\u3002\u307e\u3041\u98df\u3079\u307e\u3059\u3051\u3069\uff01\n\u305d\u308c\u3067\u3082\u5fc3\u658e\u6a4b\u3068\u304b\u96e3\u6ce2\u306b\u5411\u304b\u3046\u3068\u3088\u3044\u3068\u6559\u3048\u3066\u3082\u3089\u3048\u305f\u306e\u3067\u3001Google\u30de\u30c3\u30d7\u5148\u751f\u306b\u983c\u308a\u3064\u3064\u3001\u96e3\u6ce2\u3078\u5411\u304b\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u7d50\u679c\u3001\u4f55\u3092\u3057\u305f\u304b\u3068\u3044\u3046\u3068\u3001\u672d\u5e4c\u304b\u3089\u306e\u79fb\u52d5\u524d\u306b\u65b0\u3057\u304f\u8cfc\u5165\u3057\u305f\u30b9\u30de\u30db\u7528\u306e\u3042\u308c\u3053\u308c\u3092\u30d3\u30c3\u30af\u30ab\u30e1\u30e9\u3067\u8cfc\u5165\u3059\u308b\u3068\u3044\u3046\u3001\u5927\u962a\u307e\u3067\u304d\u3066\u4f55\u3092\u3084\u3063\u3066\u3044\u308b\u306e\u304b\u3068\u3044\u3046\u306a\u3093\u3068\u3082\u6b8b\u5ff5\u306a\u884c\u52d5\u3068\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<h1 id=\"\u30db\u30c6\u30eb\u63a2\u3057\">\u30db\u30c6\u30eb\u63a2\u3057<\/h1>\n<p>\u4eca\u56de\u3001\u5317\u6d77\u9053\u304b\u3089\u95a2\u897f\u307e\u3067\u3001\u52ff\u8ad6\u98db\u884c\u6a5f\u3067\u79fb\u52d5\u3057\u305f\u308f\u3051\u3067\u3059\u304c\u3001\u5b9f\u306f\u30db\u30c6\u30eb\u3082\u53d6\u3089\u305a\u306b(!)\u3001YAPC\u4ee5\u5916\u306f\u7121\u8a08\u753b\u3067\u306e\u65c5\u884c\u3067\u3057\u305f\u3002\n\u3068\u308a\u3042\u3048\u305aYAPC\u524d\u65e5\u304f\u3089\u3044\u306f\u30db\u30c6\u30eb\u306b\u6cca\u307e\u3089\u306d\u3070\u671d\u8d77\u304d\u308c\u306a\u3044\uff01\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u30db\u30c6\u30eb\u63a2\u3057\u3092\u3057\u307e\u3057\u305f\u3002\n\u904b\u826f\u304f\u4f1a\u5834(<a href=\"http:\/\/www.motex.co.jp\/\" target=\"_blank\" rel=\"noopener\">MOTEX \u30db\u30fc\u30eb<\/a>\n)\u306e\u8fd1\u304f\u306b\u5272\u3068\u5b89\u304f\u5bbf\u3092\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/images\/yapc2017kansai_hotel1_hu_87f302b71ee233e2.jpg\" alt=\"yapc2017kansai_hotel1\" \/>\n\u3053\u3061\u3089\u304c\u305d\u306e\u304a\u90e8\u5c4b\u306e\u5199\u771f\u3002\u30b7\u30f3\u30b0\u30eb\u306e\u90e8\u5c4b\u30925,500\u5186(500\u30dd\u30a4\u30f3\u30c8\u9069\u7528\u5f8c)\u3067\u3068\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u5165\u3063\u3066\u307f\u3066\u3073\u3063\u304f\u308a\u3001\u30c4\u30a4\u30f3\u306e\u90e8\u5c4b\u3067\u3057\u305f\u3002\n\u5b89\u304b\u3063\u305f\u3082\u306e\u306e\u3001\u306a\u3093\u3068\u306a\u304f\u8c6a\u52e2\u306a\u611f\u3058\u3002<\/p>\n<p>\u591c\u3054\u98ef\u306f\u8fd1\u304f\u306e\u304a\u5e97\u3067\u305f\u3053\u713c\u304d\u3092\u98df\u3079\u307e\u3057\u305f\u3002\n\u5341\u516b\u756a\u3068\u3044\u3046\u304a\u5e97\u3067\u3001\u5f8c\u3067\u8abf\u3079\u305f\u3089\u7d50\u69cb\u6709\u540d\u3063\u307d\u3044\u3067\u3059\u306d\u3002\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\n\u305f\u3053\u713c\u304d\u3092\u5869\u3067\u98df\u3079\u308b\u3068\u3044\u3046\u306e\u306f\u521d\u4f53\u9a13\u3067\u3057\u305f\u304c\u3001\u3053\u308c\u3082\u306a\u304b\u306a\u304b\u3067\u3059\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/images\/takoyaki_18ban_hu_f77de7706462de69.jpg\" alt=\"takoyaki_18ban\" \/>\n<\/p>\n<h1 id=\"yapckansai-2017-osaka\">YAPC::Kansai 2017 OSAKA<\/h1>\n<p>\u958b\u3051\u3066\u7fcc\u65e5\u3002\u5fae\u5999\u306b\u5bdd\u574a\u3057\u305f\u304a\u304b\u3052\u3067\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u306b\u306f\u9593\u306b\u5408\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u4e00\u756a\u5370\u8c61\u306b\u6b8b\u3063\u305f\u30c8\u30fc\u30af\u306f\u300cVue.js\u3067\u4f5c\u308bSPA\u304b\u3089\u5b66\u3076MVVM\u3001\u975e\u540c\u671f\u51e6\u7406\u3001\u305d\u306e\u5149\u3068\u5f71\u300d\u3067\u3059\u306d\u3002\n\u30bf\u30a4\u30c8\u30eb\u306bVue.js\u3068\u5165\u3063\u3066\u3044\u308b\u306b\u3082\u304b\u304b\u308f\u3089\u305a\u3001Vue.js\u3068\u3044\u3046\u8a00\u8449\u304c\u51fa\u3066\u6765\u305f\u306e\u306f\u4e00\u5ea6\u304d\u308a\u3001SPA\u306e\u8a71\u306e\u306f\u305a\u306a\u306e\u306b\u3001\u300cSPA\u306f\u3084\u3081\u3088\u3046\u300d\u3068\u3001\u306a\u3093\u3060\u304b\u30bf\u30a4\u30c8\u30eb\u306b\u91e3\u3089\u308c\u305f\u611f\u304c\u534a\u7aef\u306a\u3044\u5185\u5bb9\u3067\u3057\u305f\u3002\n\u52ff\u8ad6\u5185\u5bb9\u3082\u7d20\u6674\u3089\u3057\u304f\u3001\u300c\u30d6\u30e9\u30a6\u30b6\u306f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d3\u30e5\u30fc\u30a2\u306a\u3093\u3060\u304b\u3089\u30ea\u30c3\u30c1\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u308b\u3082\u306e\u3067\u306f\u306a\u3044\u300d\u300c\u30d6\u30e9\u30a6\u30b6\u3067\u30ea\u30c3\u30c1\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u308b\u306e\u306f\u306a\u3093\u3067\u3082Vim\u3067\u306a\u3093\u3068\u304b\u3057\u3088\u3046\u3068\u3059\u308b\u3088\u3046\u306a\u3082\u306e\u300d\u300c\u3068\u306f\u3044\u3063\u3066\u3082\u4f5c\u3089\u306a\u304d\u3083\u3044\u3051\u306a\u3044\u6642\u3082\u3042\u308b\u300d\u3068\u3044\u3046\u3001SPA\u306f\u3084\u308b\u3079\u304d\u3058\u3083\u306a\u3044\u3051\u3069\u3001\u73fe\u72b6\u3084\u3089\u306a\u304d\u3083\u3044\u3051\u306a\u3044\u3053\u3068\u306f\u3069\u3046\u3059\u308c\u3070\u826f\u3044\u306e\u304b\u3001\u305d\u306e\u6642MV*\u306f\u3069\u306e\u3088\u3046\u306b\u69cb\u6210\u3057\u305f\u3089\u3044\u3044\u306e\u304b\u3068\u3044\u3063\u305f\u3001\u304d\u3061\u3093\u3068\u7b4b\u304c\u901a\u3063\u3066\u3044\u3066\u3001\u3068\u3066\u3082\u9762\u767d\u3044\u8a71\u3067\u3057\u305f\u3002<\/p>\n<p>\u6b21\u306b\u5370\u8c61\u306b\u6b8b\u3063\u3066\u3044\u308b\u306e\u304c\u3001\u300cWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u6226\u7565\u3068\u305d\u306e\u30d1\u30bf\u30fc\u30f3\u300d\u3067\u3059\u3002\n\u3053\u3061\u3089\u3082\u300c\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u4f7f\u308f\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u300d\u3068\u3044\u3046\u3001\u30bf\u30a4\u30c8\u30eb\u8a50\u6b3a\u307f\u305f\u3044\u306a\u8a71\u3067\u3057\u305f\u304c\u3001\u975e\u5e38\u306b\u7d0d\u5f97\u306e\u3044\u304f\u5185\u5bb9\u3067\u3057\u305f\u3002<\/p>\n<p>\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde\u306e\u6295\u7968\u3067\u7968\u3092\u5165\u308c\u305f\u306e\u306f\u300cWeb\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u77e5\u3063\u3066\u307b\u3057\u3044RDB\u30a2\u30f3\u30c1\u30d1\u30bf\u30fc\u30f3\u300d\u3067\u3059\u3002\n\u5185\u5bb9\u3082\u3055\u308b\u3053\u3068\u306a\u304c\u3089\u3001\u3084\u306f\u308a\u558b\u308a\u304c\u7d20\u6674\u3089\u3057\u3044\u3093\u3067\u3059\u3002\u3068\u3063\u3066\u3082\u7df4\u7fd2\u3092\u3057\u3066\u3044\u308b\u3068\u805e\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30e9\u30f3\u30c1\u30bf\u30a4\u30e0\u306f\u30b9\u30dd\u30f3\u30b5\u30fc\u4f01\u696d\u306e\u65b9\u3068\u663c\u98df\u3092\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002\n\u4eca\u56de\u4ea4\u901a\u8cbb\u652f\u63f4\u3092\u3044\u305f\u3060\u3044\u305f\u306e\u3067\u3001\u305d\u306e\u5bfe\u4fa1\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002\n\u5b9f\u969b\u306b\u306f\u3001\u4f01\u696d\u306b\u95a2\u308f\u308b\u304a\u8a71\u306f\u7d50\u5c40\u3042\u307e\u308a\u3057\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4f1a\u5834\u306e\u8fd1\u304f\u306f\u3042\u307e\u308a\u98f2\u98df\u5e97\u304c\u306a\u3044\u5370\u8c61\u3067\u3001\u663c\u98df\u3092\u53d6\u308b\u306e\u3082\u5927\u5909\u305d\u3046\u3067\u3057\u305f\u306e\u3067\u3001\u5927\u5909\u52a9\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>YAPC::Kansai 2017 OSAKA\u306e\u30b9\u30c6\u30c3\u30ab\u30fc\u306f\u3053\u3093\u306a\u611f\u3058\u3002\n<img loading=\"lazy\" src=\"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/images\/yapc_kansai2017_sticker_hu_2b61357db7f329c8.jpg\" alt=\"yapc_kansai2017_sticker\" \/>\n\u672d\u5e4c\u306e\u6642\u306e\u3082\u306e\u3068\u4e26\u3079\u3066\u306f\u308b\u306b\u306f\u3001\u4e0a\u4e0b\u3092\u63c3\u3048\u308b\u306e\u304c\u96e3\u3057\u3044\u5f62\u72b6\u3067\u3001\u3061\u3087\u3063\u3068\u96e3\u5100\u3057\u307e\u3059\u3002<\/p>\n<h1 id=\"\u6b21\u56de\u306e\u304a\u8a71\">\u6b21\u56de\u306e\u304a\u8a71<\/h1>\n<p>\u6b21\u56deYAPC\u306f\u798f\u5ca1\u3067\u958b\u50ac\u3060\u305d\u3046\u3067\u3059\u3002<a href=\"http:\/\/yapcjapan.org\/2017fukuoka\/\" target=\"_blank\" rel=\"noopener\">YAPC::Fukuoka 2017 HAKATA<\/a>\n\u3059\u3067\u306b\u30c1\u30b1\u30c3\u30c8\u3082\u767a\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u306f\u6c96\u7e04\u3001\u6771\u4eac\u304c\u4f01\u753b\u3055\u308c\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002\n\u662f\u975e\u56de\u308a\u305f\u3044\u3002<\/p>"},{"title":"InfluxDB\u3092\u89e6\u3063\u3066\u307f\u305f","link":"https:\/\/blog.web-apps.tech\/play_influxdb\/","pubDate":"Sat, 18 Feb 2017 09:45:00 +0000","guid":"https:\/\/blog.web-apps.tech\/play_influxdb\/","description":"<p>NoSQL\u3092\u4f7f\u3046\u3053\u3068\u3082\u4e00\u822c\u7684\u306b\u306a\u3063\u3066\u304d\u305f\u6628\u4eca\u3067\u3059\u304c\u3001NoSQL\u306e\u4e00\u7a2e\u306b\u3001\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 (Time Series Database; <strong>TSDB<\/strong>)\u3068\u547c\u3070\u308c\u308b\u3082\u306e\u304c\u6709\u308a\u307e\u3059\u3002\nTSDB\u306f\u305d\u306e\u540d\u306e\u3068\u304a\u308a\u3001\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u6271\u3046\u3053\u3068\u306b\u7279\u5316\u3057\u305fDB\u3067\u3059\u3002\n\u30b5\u30fc\u30d0\u76e3\u8996\u3057\u305f\u30ed\u30b0\u30c7\u30fc\u30bf\u3084\u3001\u30bb\u30f3\u30b5\u30c7\u30fc\u30bf\u306a\u3093\u304b\u3092\u53d6\u308a\u6271\u3046\u3053\u3068\u304c\u5f97\u610f\u306aDB\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u306d\u3002<\/p>\n<p>\u305d\u306e\u3046\u3061\u3001<a href=\"http:\/\/db-engines.com\/\" target=\"_blank\" rel=\"noopener\">DB-ENGINES<\/a>\n\u306e<a href=\"http:\/\/db-engines.com\/en\/ranking\/time&#43;series&#43;dbms\" target=\"_blank\" rel=\"noopener\">DB-Engines Ranking of Time Series DBMS<\/a>\n\u3067\u4e00\u4f4d\u3092\u53d6\u3063\u3066\u3044\u308b<em>InfluxDB<\/em>\u3092\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>InfluxDB\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f<a href=\"https:\/\/docs.influxdata.com\/influxdb\/v1.0\/\" target=\"_blank\" rel=\"noopener\">InfluxData | Documentation | InfluxDB Version 1.2 Documentation<\/a>\n\u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n<h1 id=\"\u53c2\u8003\u306b\u3057\u305f\u8cc7\u6599\u5b9f\u884c\u74b0\u5883\">\u53c2\u8003\u306b\u3057\u305f\u8cc7\u6599\u30fb\u5b9f\u884c\u74b0\u5883<\/h1>\n<p>\u4eca\u56de\u306f<a href=\"http:\/\/qiita.com\/masato\/items\/eab9f76f21cbfd7c9b92\" target=\"_blank\" rel=\"noopener\">Qiita\/Docker\u306eInfluxDB\u3068Grafana\u3067dweet.io\u306e\u30c7\u30fc\u30bf\u3092\u53ef\u8996\u5316\u3059\u308b<\/a>\n\u306e\u524d\u534a\u3092\u53c2\u8003\u306b\u3001Docker\u4e0a\u3067InfluxDB\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u305f\u3002\n\u306a\u304a\u3001\u4e0a\u8a18\u306e\u8a18\u4e8b\u4e2d\u3067\u306f\u3001<del>tutum\/influxdb<\/del>\u3068\u3044\u3046\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u73fe\u5728\u306fInfluxDB\u30aa\u30d5\u30a3\u30b7\u30e3\u30eb\u306e\u30a4\u30e1\u30fc\u30b8\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u5229\u7528\u3057\u307e\u3059\u3002\n\u6700\u65b0\u306e\u5b89\u5b9a\u7248\u3092\u5229\u7528\u3057\u307e\u3059\u306e\u3067\u3001InfluxDB\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f1.2.0\u3067\u3059\u3002<\/p>\n<h1 id=\"influxdb\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3059\u308b\">InfluxDB\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3059\u308b<\/h1>\n<p>\u65e9\u901fInfluxDB\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><span class=\"lnt\">2\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker pull influxdb\n<\/span><\/span><span class=\"line\"><span class=\"cl\">$ docker run --name influxdb_test -p 8083:8083 -p 8086:8086 influxdb\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>\u3053\u308c\u3060\u3051\u3067\u3059\u3002\u7c21\u5358\u3067\u3059\u306d\u3002Expose\u3057\u3066\u3044\u308b\u30dd\u30fc\u30c8\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>8083: Admin Web \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9<\/li>\n<li>8086: HTTP API<\/li>\n<\/ul>\n<h2 id=\"admin-ui\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\">Admin UI\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b<\/h2>\n<p>Admin UI\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u307e\u3059\u3002\nInfluxDB\u306b\u306fWeb\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308bUI\u304c\u3064\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u30b3\u30f3\u30c6\u30ca\u306eIP\u3092\u8abf\u3079\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"highlight\"><div class=\"chroma\">\n<table class=\"lntable\"><tr><td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"lnt\">1\n<\/span><\/code><\/pre><\/td>\n<td class=\"lntd\">\n<pre tabindex=\"0\" class=\"chroma\"><code class=\"language-bash\" data-lang=\"bash\"><span class=\"line\"><span class=\"cl\">$ docker inspect influxdb_test\n<\/span><\/span><\/code><\/pre><\/td><\/tr><\/table>\n<\/div>\n<\/div><p>HostConfig &gt; NetworkSettings &gt; Networks &gt; bridge &gt; IPAddress \u306b\u30b3\u30f3\u30c6\u30ca\u306eIP\u304c\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u4eca\u56de\u306f<code>172.17.0.2<\/code>\u3060\u3063\u305f\u3068\u3057\u3066\u9032\u3081\u307e\u3059\u3002<\/p>"},{"title":"Python 3\u3067bottle-websocket\u3092\u4f7f\u3046","link":"https:\/\/blog.web-apps.tech\/bottle-websocket_with_python3\/","pubDate":"Tue, 10 Jan 2017 17:05:00 +0000","guid":"https:\/\/blog.web-apps.tech\/bottle-websocket_with_python3\/","description":"<p>Python 3\u3067<a href=\"https:\/\/github.com\/zeekay\/bottle-websocket\" target=\"_blank\" rel=\"noopener\">bottle-websocket<\/a>\n\u304c\u305d\u306e\u307e\u307e\u3067\u306f\u52d5\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u7c21\u5358\u306b\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h1 id=\"\u89e3\u6c7a\u65b9\u6cd5\">\u89e3\u6c7a\u65b9\u6cd5<\/h1>\n<p>\u901a\u5e38\u901a\u308a<code>pip install bottle-websocket<\/code>\u3057\u3066\u304b\u3089\u3001 <code>pip install karellen-geventws<\/code>\u3059\u308b\u3068\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\nkarellen-geventws\u306fGeventWebSocket\u306efork\u3067\u3001Python 3\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002<\/p>"},{"title":"\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3092\u904b\u55b6\u3059\u308b\u3068\u3044\u3046\u3053\u3068","link":"https:\/\/blog.web-apps.tech\/community_advent\/","pubDate":"Sat, 17 Dec 2016 06:37:00 +0000","guid":"https:\/\/blog.web-apps.tech\/community_advent\/","description":"<p>\u3053\u306e\u8a18\u4e8b\u306f<a href=\"http:\/\/qiita.com\/advent-calendar\/2016\/event-management\" target=\"_blank\" rel=\"noopener\">IT\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u904b\u55b6 Advent Calendar 2016<\/a>\n\u306b\u5bc4\u305b\u3066\u66f8\u3044\u305f\u8a18\u4e8b\u3067\u3059\u3002\n\u57f7\u7b46\u8005\u306f<a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">@nasa9084<\/a>\n\u3067\u3059\u3002\n\u524d\u65e5\u306e\u8a18\u4e8b\u306f\u4e00\u822c\u793e\u56e3\u6cd5\u4ebaLOCAL\u3055\u3093\u306e<a href=\"http:\/\/qiita.com\/local_hokkaido\/items\/e15c8e80034e7f1c45ac\" target=\"_blank\" rel=\"noopener\">\u4e00\u822c\u793e\u56e3\u6cd5\u4ebaLOCAL \u306e\u3054\u7d39\u4ecb<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<h1 id=\"\u307e\u305a\u306f\u3058\u3081\u306b\">\u307e\u305a\u306f\u3058\u3081\u306b<\/h1>\n<p>\u3042\u307e\u308a\u30cd\u30c3\u30c8\u4e0a\u3001\u7279\u306b\u30d6\u30ed\u30b0\u3067\u81ea\u5df1\u7d39\u4ecb\u3092\u3059\u308b\u6a5f\u4f1a\u3068\u3044\u3046\u306e\u306f\u591a\u304f\u306a\u304f\u3001\u3053\u306e\u30d6\u30ed\u30b0\u5358\u4f53\u3067\u8a00\u3046\u306a\u3089\u3070\u3001\u3068\u3042\u308b\u7406\u7531\u304c\u3042\u3063\u3066\u4ee5\u524d\u66f8\u3044\u3066\u3044\u305f\u30d6\u30ed\u30b0\u304b\u3089\u79fb\u884c\u3057\u3066\u304d\u305f\u3070\u304b\u308a\u306a\u306e\u3067\u3001\u81ea\u5df1\u7d39\u4ecb\u3068\u3044\u3046\u3082\u306e\u3092\u3059\u3053\u3057\u306f\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u6298\u89d2\u306e\u6a5f\u4f1a\u3067\u3082\u3042\u308b\u306e\u3067\u3001\u3042\u308b\u7a0b\u5ea6\u304d\u3061\u3093\u3068\u81ea\u5df1\u7d39\u4ecb\u304b\u3089\u59cb\u3081\u3055\u305b\u3066\u3044\u305f\u3060\u304f\u3053\u3068\u3068\u3057\u307e\u3059\u3002\n\u3069\u3046\u3082\u3053\u3093\u306b\u3061\u306f<a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">nasa9084<\/a>\n\u3068\u3044\u3044\u307e\u3059\u3002\n\u73fe\u5728\u8a66\u3055\u308c\u308b\u5927\u5730\u3067\u3042\u308b\u3068\u3053\u308d\u306e\u5317\u6d77\u9053\u306f\u672d\u5e4c\u5e02\u306b\u4f4f\u3093\u3067\u3044\u308b\u5927\u5b66\u751f(0x17\u6b73)\u3067\u3059\u3002\n\u6765\u66254\u6708\u304b\u3089\u3001\u6771\u4eac\u3067\u5c31\u8077\u4e88\u5b9a\u3067\u3059\u304c\u3001\u5352\u696d\u8ad6\u6587\u306e\u9032\u6357\u304c\u82b3\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002\n<a href=\"https:\/\/builderscon.io][builderscon]]%e3%82%84%e3%80%81[[https:\/\/www.pycon.jp\" target=\"_blank\" rel=\"noopener\">PyCon JP<\/a>\n\u3068\u3044\u3046\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306e\u30b9\u30bf\u30c3\u30d5\u3092\u3057\u305f\u308a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h1 id=\"\u3067\u3058\u307d\u308d\u3068\u3044\u3046\u52c9\u5f37\u4f1a\">\u300c\u3067\u3058\u307d\u308d\u300d\u3068\u3044\u3046\u52c9\u5f37\u4f1a<\/h1>\n<p>\u6628\u5e74\u306e\u304b\u3089\u4eca\u5e74\u306e10\u6708\u307e\u3067\u3001\u672d\u5e4c\u3067<a href=\"https:\/\/digiporo.charakoba.com\" target=\"_blank\" rel=\"noopener\"><strong>\u3067\u3058\u307d\u308d<\/strong><\/a>\n\u3068\u3044\u3046\u52c9\u5f37\u4f1a\u3092\u4e3b\u50ac\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\u3067\u3058\u307d\u308d\u306fIT\u6280\u8853\u521d\u5fc3\u8005\u3001\u3082\u3046\u5c11\u3057\u5177\u4f53\u7684\u306b\u8a00\u3046\u3068<\/p>\n<ul>\n<li>UNIX\/Linux\u306b\u8208\u5473\u304c\u3042\u308b\/\u4f7f\u3063\u305f\u3053\u3068\u304c\u3042\u308b<\/li>\n<li>\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u8208\u5473\u304c\u3042\u308b\/\u3059\u3053\u3057\u3084\u3063\u305f\u3053\u3068\u304c\u3042\u308b<\/li>\n<\/ul>\n<p>\u3068\u3044\u3063\u305f\u30ec\u30d9\u30eb\u306e\u65b9\u3092\u5bfe\u8c61\u3068\u3057\u3066\u6708\u306b\u4e00\u56de\u958b\u50ac\u3057\u3066\u3044\u305f\u52c9\u5f37\u4f1a\u3067\u3059\u3002<\/p>\n<p>\u79c1\u3068\u3001<a href=\"https:\/\/twitter.com\/chamaharun\" target=\"_blank\" rel=\"noopener\">@chamaharun<\/a>\n\u306e\u4e8c\u4eba\u3067\u4e3b\u50ac\u3092\u3057\u3066\u3044\u3066\u3001\u5185\u5bb9\u3068\u3057\u3066\u306f<\/p>\n<ul>\n<li>HTTP\u5165\u9580<\/li>\n<li>SQL\u5165\u9580<\/li>\n<li>\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u5927\u6a2a\u65ad<\/li>\n<li>Linux\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u7d39\u4ecb<\/li>\n<\/ul>\n<p>\u306a\u3093\u304b\u3092\u3084\u3063\u305f\u308a\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<h1 id=\"\u52c9\u5f37\u4f1a\u3092\u958b\u50ac\u3059\u308b\u3068\u3044\u3046\u3053\u3068\">\u52c9\u5f37\u4f1a\u3092\u958b\u50ac\u3059\u308b\u3068\u3044\u3046\u3053\u3068<\/h1>\n<p>\u6268\u3001\u5c11\u3057\u3070\u304b\u308a\u524d\u7f6e\u304d\u304c\u9577\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u304c\u3001\u305d\u308d\u305d\u308d\u672c\u984c\u3067\u3042\u308b\u3068\u3053\u308d\u306e\u904b\u55b6\u306b\u95a2\u3059\u308b\u90e8\u5206\u306e\u8a71\u3092\u3057\u306a\u304d\u3083\u3044\u3051\u306a\u3044\u3067\u3059\u306d\u3002\n\u4eca\u56de\u306f<a href=\"http:\/\/qiita.com\/advent-calendar\/2016\/event-management\" target=\"_blank\" rel=\"noopener\">IT\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u904b\u55b6 Advent Calendar<\/a>\n\u3067\u3059\u304b\u3089\u3001\u591a\u304f\u306e\u5927\u4e8b\u306a\u3068\u3053\u308d\u306f\u4ed6\u306e\u5927\u4eba\u306a\u65b9\u3005\u304c\u66f8\u3044\u3066\u304f\u308c\u3066\u307e\u3059\u306e\u3067\u3001\u4eca\u65e5\u306f\u79c1\u304c\u7279\u306b\u6c17\u3092\u3064\u3051\u305f\u307b\u3046\u304c\u3044\u3044\u3068\u601d\u3063\u3066\u3044\u308b\u3053\u3068\u3060\u3063\u305f\u308a\u3001\u304a\u3059\u3059\u3081\u306e\u65b9\u6cd5\u8ad6\u3060\u3063\u305f\u308a\u306b\u3064\u3044\u3066\u66f8\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"\u6301\u3061\u51fa\u3057\u306f\u3057\u306a\u3044\">\u6301\u3061\u51fa\u3057\u306f\u3057\u306a\u3044<\/h2>\n<p>\u52c9\u5f37\u4f1a\u3092\u7d99\u7d9a\u7684\u306b\u904b\u55b6\u3059\u308b\u306b\u3042\u305f\u308a\u3001\u4e3b\u50ac\u8005\u3084\u30b9\u30bf\u30c3\u30d5\u306e\u8ca1\u5e03\u304b\u3089\u304a\u91d1\u304c\u51fa\u3066\u3044\u304f\u3053\u3068\u306f\u907f\u3051\u305f\u307b\u3046\u304c\u3088\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u697d\u3057\u3044\u3053\u3068\u304c\u3057\u305f\u3044\u3068\u601d\u3063\u3066\u59cb\u3081\u308b(\u3067\u3042\u308d\u3046)\u52c9\u5f37\u4f1a\u3067\u3059\u304c\u3001\u4e8b\u524d\u6e96\u5099\u3084\u5f53\u65e5\u306e\u904b\u55b6\u3001\u7d42\u308f\u3063\u305f\u3042\u3068\u306e\u51e6\u7406\u306a\u3069\u3001\u7d50\u69cb\u306a\u6642\u9593\u3084\u52b4\u529b\u304c\u304b\u304b\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u5927\u304d\u306a\u8ca0\u62c5\u3067\u3001\u3053\u306e\u4e0a\u958b\u50ac\u306b\u304a\u91d1\u304c\u304b\u304b\u308b\u3068\u306a\u308b\u3068\u3001\u91d1\u984d\u304c\u5927\u3057\u305f\u3053\u3068\u306a\u3044\u984d\u3060\u3063\u305f\u3068\u3057\u3066\u3082\u3001\u7d99\u7d9a\u3059\u308b\u306e\u306f\u5fc3\u7406\u7684\u306b\u56f0\u96e3\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3002\n\u305b\u3063\u304b\u304f\u7acb\u3061\u4e0a\u304c\u3063\u305f\u52c9\u5f37\u4f1a\u3082\u3001\u300c\u4e3b\u50ac\u306e\u304a\u91d1\u304c\u306a\u3044\u306e\u3067\u7d99\u7d9a\u958b\u50ac\u3067\u304d\u307e\u305b\u3093\u300d\u3067\u306f\u60b2\u3057\u3044\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n\u521d\u56de\u958b\u50ac\u306a\u3069\u3001\u7acb\u3066\u66ff\u3048\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u9762\u306f\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u958b\u50ac\u5f8c\u306b\u3067\u3082\u7cbe\u7b97\u3092\u884c\u3063\u3066\u3001\u4e3b\u50ac\u8005\u30fb\u30b9\u30bf\u30c3\u30d5\u306e\u30de\u30a4\u30ca\u30b9\u304c\u7121\u3044\u3088\u3046\u306b\u3057\u305f\u307b\u3046\u304c\u3088\u3044\u3067\u3059\u3002<\/p>\n<h2 id=\"\u81ea\u5206\u306b\u5f37\u5236\u3059\u308b\u3068\u3044\u3046\u9078\u629e\u80a2\">\u81ea\u5206\u306b\u5f37\u5236\u3059\u308b\u3001\u3068\u3044\u3046\u9078\u629e\u80a2<\/h2>\n<p>\u591a\u304f\u306e\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u904b\u55b6\u8005\u306f\u3001\u300c\u52c9\u5f37\u4f1a\u3084\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e\u904b\u55b6\u306f\u4ed5\u4e8b\u3067\u306f\u306a\u3044\u306e\u3067\u3001\u958b\u50ac\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3068\u3044\u3046\u610f\u8b58\u3092\u6301\u3063\u3066\u958b\u50ac\u3059\u308b\u306e\u306f\u3064\u3089\u3044\u304b\u3089\u3084\u3081\u305f\u307b\u3046\u304c\u3044\u3044\u300d\u3068\u8a00\u3063\u3066\u3044\u308b\u69d8\u306b\u601d\u3044\u307e\u3059\u3002\n\u308f\u305f\u3057\u3082\u591a\u304f\u306e\u90e8\u5206\u3067\u8cdb\u6210\u3067\u3059\u304c\u3001\u500b\u4eba\u306e\u6027\u683c\u3060\u3063\u305f\u308a\u3001\u52c9\u5f37\u4f1a\u306e\u76ee\u7684\u6b21\u7b2c\u3067\u306f\u3001\u300c<strong>\u5f37\u5236\u7684\u306b\u958b\u50ac\u3059\u308b<\/strong>\u300d\u3068\u3044\u3046\u9078\u629e\u80a2\u3082\u3042\u308b\u3001\u3068\u899a\u3048\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u79c1\u304c\u4e3b\u50ac\u3057\u3066\u3044\u305f\u3067\u3058\u307d\u308d\u306e\u76ee\u7684\u306e\u4e00\u3064\u306b\u3001\u300c\u4e3b\u50ac\u3082\u52c9\u5f37\u3059\u308b\u300d\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\u521d\u5fc3\u8005\u5411\u3051\u306a\u3093\u3066\u8b33\u3063\u3066\u3044\u308b\u3051\u308c\u3069\u3001\u4e3b\u50ac\u3082\u5b66\u751f\u3060\u304b\u3089\u3001\u4e00\u7dd2\u306b\u52c9\u5f37\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\uff01\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\n\u52a0\u3048\u3066\u3001\u4e3b\u50ac\u3067\u3042\u308b\u79c1\u3082\u3001<a href=\"https:\/\/twitter.com\/chamaharun\" target=\"_blank\" rel=\"noopener\">@chamaharun<\/a>\n\u3082\u3001\u6bd4\u8f03\u7684\u6020\u60f0\u306a\u6027\u683c\u3092\u3057\u3066\u3044\u307e\u3059\u3002\n\u305d\u3053\u3067\u3001\u3067\u3058\u307d\u308d\u904b\u55b6\u306b\u3042\u305f\u3063\u3066\u3001\u4e00\u3064\u30eb\u30fc\u30eb\u3092\u6c7a\u3081\u307e\u3057\u305f\u3002\n\u305d\u308c\u304c\u3001\u300c\u3064\u3089\u304f\u3066\u3082\u3001\u8a71\u3059\u30cd\u30bf\u304c\u306a\u304f\u3066\u3082\u3001\u3068\u306b\u304b\u304f\u6708\u306b\u4e00\u56de\u958b\u50ac\u3059\u308b\u300d\u3068\u3044\u3046\u30eb\u30fc\u30eb\u3067\u3059\u3002<\/p>\n<p>\u4e0d\u5b9a\u671f\u958b\u50ac\u3068\u3044\u3046\u306e\u306f\u3001\u5fc3\u7406\u7684\u8ca0\u62c5\u3082\u6e1b\u308a\u307e\u3059\u304c\u3001\u305d\u308c\u3068\u540c\u6642\u306b\u3001\u6c17\u3065\u3044\u305f\u3089\u4e8c\u56de\u76ee\u306e\u958b\u50ac\u304c\u306a\u3044\u307e\u307e\u6642\u9593\u3060\u3051\u304c\u904e\u304e\u3066\u3044\u305f\u3001\u306a\u3093\u3066\u3053\u3068\u306b\u306a\u308a\u3084\u3059\u3044\u958b\u50ac\u65b9\u5f0f\u3067\u3082\u3042\u308a\u307e\u3059\u3002\n\u5b9a\u671f\u7684\u306b\u958b\u50ac\u3059\u308b\u3053\u3068\u3092\u81ea\u5206\u306b\u7fa9\u52d9\u4ed8\u3051\u308b\u3053\u3068\u3067\u3001\u52c9\u5f37\u4f1a\u3092\u958b\u50ac\u3059\u308b\u3053\u3068\u304c\u7fd2\u6163\u306b\u306a\u308a\u307e\u3059\u3002\n\u7d99\u7d9a\u958b\u50ac\u3092\u76ee\u6a19\u306e\u4e00\u3064\u3068\u3059\u308b\u5834\u5408\u3001\u3053\u306e\u9078\u629e\u306f\u5927\u304d\u306a\u52a9\u3051\u3068\u3082\u306a\u3063\u3066\u304f\u308c\u308b\u3053\u3068\u3068\u601d\u3044\u307e\u3059\u3002\n<strong>\u3067\u3058\u307d\u308d<\/strong>\u306f\u3001\u3053\u306e\u30eb\u30fc\u30eb\u306e\u304a\u304b\u3052\u3067\u3001\u4e00\u5e74\u9593\u6bce\u6708\u958b\u50ac\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305f\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"\u3042\u307e\u308a\u6df1\u304f\u8003\u3048\u306a\u3044\">\u3042\u307e\u308a\u6df1\u304f\u8003\u3048\u306a\u3044<\/h2>\n<p>\u52c9\u5f37\u4f1a\u3092\u4e3b\u50ac\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u5b9f\u306f\u305d\u308c\u307b\u3069\u30cf\u30fc\u30c9\u30eb\u306e\u9ad8\u3044\u3053\u3068\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u300c\u3068\u308a\u3042\u3048\u305a\u6c17\u304c\u5411\u3044\u305f\u304b\u3089\u306f\u3058\u3081\u3066\u307f\u305f\u300d\u304f\u3089\u3044\u306e\u6c17\u6301\u3061\u3067\u5341\u5206\u3067\u3059\u3002\n\u3067\u3058\u307d\u308d\u3082\u3001\u306f\u3058\u3081\u306f\u53cb\u4eba\u3068\u306e\u5451\u307f\u306e\u5e2d\u3067\u3001\u300c\u306a\u3093\u304b\u52c9\u5f37\u4f1a\u3068\u304b\u3084\u3063\u3066\u307f\u305f\u3044\u3088\u306d\u300d\u3067\u59cb\u307e\u3063\u305f\u306e\u3067\u3057\u305f\u3002\n\u7686\u8a00\u3063\u3066\u308b\u3053\u3068\u3067\u306f\u6709\u308a\u307e\u3059\u304c\u3001<em>\u4ed5\u4e8b\u3067\u306f\u306a\u3044<\/em>\u306e\u3067\u3059\u3002\u8f9b\u304b\u3063\u305f\u308a\u3001\u3064\u307e\u3089\u306a\u304b\u3063\u305f\u3089\u3084\u3081\u3066\u3044\u3044\u3093\u3067\u3059\u3002\n\u305d\u3057\u3066\u3001\u6c17\u304c\u5411\u3044\u305f\u3089\u307e\u305f\u65b0\u3057\u304f\u59cb\u3081\u3066\u307f\u305f\u3089\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u3088\u3002<\/p>\n<h2 id=\"\u61c7\u89aa\u4f1a\u3092\u3059\u308b\">\u61c7\u89aa\u4f1a\u3092\u3059\u308b<\/h2>\n<p>\u500b\u4eba\u7684\u306b\u3053\u308c\u306f\u3068\u3066\u3082\u91cd\u8981\u306a\u3053\u3068\u3060\u3068\u601d\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u61c7\u89aa\u4f1a\u306f\u305c\u3072\u3084\u3063\u305f\u307b\u3046\u304c\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u30024\u65e5\u306e<a href=\"http:\/\/blog.hotolab.net\/entry\/gotandajs_1st_anniv\" target=\"_blank\" rel=\"noopener\">\u30a8\u30f3\u30b8\u30cb\u30a2\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e\u3064\u304f\u308a\u304b\u305f<\/a>\n\u3067\u3082\u66f8\u304b\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001<strong>\u61c7\u89aa\u4f1a\u304c\u672c\u7de8\u3060\u3068\u8003\u3048\u3066\u3044\u307e\u3059<\/strong>\u3002\n\u591a\u304f\u306e\u5834\u5408\u3001\u52c9\u5f37\u4f1a\u3067\u767a\u8868\u3055\u308c\u308b\u3053\u3068\u306f\u3001\u4eca\u306e\u5fa1\u6642\u4e16\u3067\u3059\u304b\u3089\u3001\u691c\u7d22\u3057\u305f\u3089\u51fa\u3066\u304d\u307e\u3059\u3002\u308f\u3056\u308f\u3056\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u96c6\u307e\u3063\u3066\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u524d\u3067\u767a\u8868\u306a\u3093\u3066\u805e\u304b\u306a\u304f\u3066\u3082\u3044\u3044\u3093\u3067\u3059\u3002\n\u305d\u308c\u3067\u3082\u3084\u3063\u3071\u308a\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u96c6\u307e\u308b\u3068\u3044\u3046\u306e\u306f\u3001<strong>\u4eba\u3068\u4eba\u3068\u306e\u51fa\u4f1a\u3044<\/strong>\u304c\u91cd\u8981\u3060\u304b\u3089\u3060\u3068\u601d\u3044\u307e\u3059\u3002\n\u305d\u3057\u3066\u3001\u767a\u8868\u306e\u3068\u304d\u3068\u3044\u3046\u306e\u306f\u3001\u5ea7\u3063\u3066\u3044\u308b\u3046\u30618\u52729\u5272\u306e\u4eba\u306f\u8cea\u554f\u3082\u3057\u306a\u3044\u3067\u3059\u3057\u3001\u767a\u8868\u5f8c\u306b\u767a\u8868\u8005\u306b\u6328\u62f6\u306b\u884c\u3063\u305f\u308a\u3082\u3057\u307e\u305b\u3093\u3002\n\u3053\u308c\u3067\u306f\u3001\u4f11\u307f\u306e\u65e5\u306b\u3001\u308f\u3056\u308f\u3056\u96c6\u307e\u3063\u3066\u3044\u308b\u610f\u5473\u306f\u7121\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u61c7\u89aa\u4f1a\u3092\u958b\u50ac\u3059\u308b\u3053\u3068\u3067\u3001\u5927\u52e2\u306e\u524d\u306e\u767a\u8868\u3067\u306f\u8a00\u3048\u306a\u3044\u3053\u3068\u3060\u3063\u305f\u308a\u3001\u767a\u8868\u3059\u308b\u307b\u3069\u3067\u306f\u7121\u3044\u3051\u3069\u8da3\u5473\u3067\u89e6\u3063\u3066\u3044\u308b\u65b0\u6280\u8853\u306e\u8a71\u3060\u3063\u305f\u308a\u3001\u305d\u3046\u3044\u3063\u305f\u3082\u306e\u306b\u5927\u304d\u306a\u610f\u5473\u304c\u6709\u308a\u307e\u3059\u3002twitter\u3084facebook\u3067\u3064\u306a\u304c\u308a\u3092\u6301\u3064\u3053\u3068\u306b\u610f\u5473\u304c\u3042\u308b\u3093\u3067\u3059\u3002<\/p>\n<h1 id=\"\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3068\u3044\u3046\u3053\u3068\">\u300c\u5b66\u751f\u304c\u300d\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3068\u3044\u3046\u3053\u3068<\/h1>\n<p>\u6268\u3001\u305d\u308c\u306a\u308a\u306e\u91cf\u3092\u66f8\u3044\u305f(\u6c17\u306b\u306a\u3063\u3066\u3044\u308b)\u306e\u3067\u3059\u304c\u3001\u4ed6\u306e\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u308b\u65b9\u3005\u306f\u7686\u3055\u3093\u5927\u4eba(\u5b66\u751f\u3067\u306f\u306a\u3044)\u306e\u65b9\u3005\u3067\u3059\u306d\u3002\n\u30b3\u30b3\u3067\u4e00\u3064\u3001\u300c<strong>\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3053\u3068<\/strong>\u300d\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u8003\u3048\u3066\u307f\u307e\u3059\u3002<\/p>"},{"title":"pyorg\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u308a\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/create_pyorg\/","pubDate":"Mon, 12 Dec 2016 17:19:00 +0000","guid":"https:\/\/blog.web-apps.tech\/create_pyorg\/","description":"<p>\u3053\u306e\u8a18\u4e8b\u306f<a href=\"http:\/\/qiita.com\/advent-calendar\/2016\/emacs\" target=\"_blank\" rel=\"noopener\">Emacs Advent Calendar 2016<\/a>\n\u306e\u300113\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3001\u57f7\u7b46\u8005\u306f <a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">@nasa9084<\/a>\n\u3067\u3059\u3002\n\u524d\u65e5\u306ffujimisakari\u3055\u3093\u306e<a href=\"http:\/\/blog.fujimisakari.com\/elisp_useful_for_programming\/\" target=\"_blank\" rel=\"noopener\">\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u5f79\u7acb\u3064elisp10\u9078<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<h1 id=\"org\u8a18\u6cd5\u3067\u30d6\u30ed\u30b0\u3092\u66f8\u304d\u305f\u3044\">org\u8a18\u6cd5\u3067\u30d6\u30ed\u30b0\u3092\u66f8\u304d\u305f\u3044<\/h1>\n<p>\u5168\u56fd\u306eEmacs\u30e6\u30fc\u30b6\u306e\u7686\u3055\u3093\u3001org-mode\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\uff1f\u79c1\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\n\u666e\u6bb5Python\u3092\u66f8\u304f\u79c1\u306b\u3068\u3063\u3066\u3001<code>#<\/code>\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u3001<code>#<\/code>\u3092\u898b\u51fa\u3057\u306b\u4f7f\u3046markdown\u306f(\u30c0\u30e1\u3063\u3066\u307b\u3069\u3058\u3083\u306a\u3044\u3067\u3059\u3051\u3069)\u306a\u3093\u3068\u306a\u304f\u597d\u304d\u306b\u306a\u308c\u307e\u305b\u3093\u3002Emacs\u30e6\u30fc\u30b6\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u308a\u3001\u7d30\u304b\u3044\u30e1\u30e2\u3092\u53d6\u308b\u3068\u304d\u3084\u3001\u30b9\u30e9\u30a4\u30c9\u3092\u4f5c\u308b\u3068\u304d\u306forg-mode\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u3093\u306a\u308f\u3051\u3067\u3001\u6163\u308c\u89aa\u3057\u3093\u3060org\u8a18\u6cd5\u3002\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u3068\u304d\u3082\u4f7f\u3044\u305f\u3044\u3068\u8003\u3048\u307e\u3057\u305f\u3002\n\u3057\u304b\u3057\u3001\u30de\u30fc\u30af\u30c0\u30a6\u30f3\u3067\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u30d6\u30ed\u30b0\u3084\u3001\u6216\u3044\u306forg\u3067\u66f8\u3044\u305f\u3082\u306e\u3092wordpress\u306b\u30a2\u30c3\u30d7\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308belisp\u306a\u3093\u304b\u3082\u6709\u308a\u307e\u3057\u305f\u304c\u3001\u3069\u3046\u3082\u3057\u3063\u304f\u308a\u6765\u307e\u305b\u3093\u3002\n\u305d\u3093\u306a\u6298\u306b\u904b\u7528\u3057\u3066\u3044\u305fWordPress\u304c\u4f7f\u3048\u306a\u304f\u306a\u308a\u3001\u3053\u306e\u30d6\u30ed\u30b0\u30b7\u30b9\u30c6\u30e0\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002\nPython\u3067\u4f7f\u3048\u308borg\u8a18\u6cd5\u30d1\u30fc\u30b5\u3082\u63a2\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u308c\u3082\u30d6\u30ed\u30b0\u3067\u4f7f\u3048\u308b\u3088\u3046\u306a\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u81ea\u5206\u3067\u5909\u63db\u6a5f\u69cb\u3082\u4f5c\u6210\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\n\u6700\u521d\u306f\u30d6\u30ed\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u4e2d\u306borg\u3092HTML\u306b\u5909\u63db\u3059\u308b\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u4f5c\u308c\u3070\u3044\u3044\u304b\u306a\u3001\u3068\u601d\u3063\u3066\u66f8\u304d\u51fa\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u30b3\u30ec\u304c\u306a\u304b\u306a\u304b\u3046\u307e\u304f\u884c\u304b\u305a\u3002\u6700\u7d42\u7684\u306b\u30d1\u30fc\u30b5\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u3057\u305f\u306e\u3067\u3001\u305d\u306e\u304a\u8a71\u3092\u3055\u305b\u3066\u3044\u305f\u3060\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h1 id=\"\u6b63\u898f\u8868\u73fe\u306e\u7f6e\u63db\u3060\u3051\u3067\u5b9f\u88c5\u3057\u3066\u307f\u305f\">\u6b63\u898f\u8868\u73fe\u306e\u7f6e\u63db\u3060\u3051\u3067\u5b9f\u88c5\u3057\u3066\u307f\u305f<\/h1>\n<p>org\u8a18\u6cd5\u3092\u4f7f\u3044\u305f\u3044\u3068\u306f\u8a00\u3063\u3066\u3082\u3001\u30d6\u30ed\u30b0\u8a18\u4e8b\u3092\u66f8\u304f\u306e\u306b\u4f7f\u3044\u305f\u3044\u3060\u3051\u306a\u306e\u3067\u3001\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3084\u6642\u9593\u306b\u95a2\u3059\u308b\u90e8\u5206\u306a\u3069\u3001org-mode\u306e\u5927\u90e8\u5206\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\u6587\u5b57\u306e\u88c5\u98fe\u90e8\u3084\u898b\u51fa\u3057\u3001\u30ea\u30b9\u30c8\u304c\u5b9f\u88c5\u3055\u308c\u308c\u3070\u5341\u5206\u3067\u3059\u3002\n\u3067\u3059\u306e\u3067\u3001\u6700\u521d\u306f\u308f\u3056\u308f\u3056\u69cb\u6587\u6728\u306a\u3069\u3092\u4f5c\u3089\u305a\u3068\u3082\u3001\u5358\u7d14\u306b\u6b63\u898f\u8868\u73fe\u3067\u7f6e\u63db\u3059\u308c\u3070\u3044\u3044\u306e\u3067\u306f\u3068\u8003\u3048\u3066\u5b9f\u88c5\u3092\u59cb\u3081\u307e\u3057\u305f\u3002\n\u3057\u304b\u3057\u30b3\u30ec\u304c\u5927\u304d\u306a\u9593\u9055\u3044\u3060\u3063\u305f\u306e\u3067\u3059\u3002<\/p>\n<h2 id=\"\u30ea\u30b9\u30c8\">\u30ea\u30b9\u30c8<\/h2>\n<p>\u554f\u984c\u306e\uff11\u3064\u3081\u306f\u3001\u30cd\u30b9\u30c8\u3057\u305f\u30ea\u30b9\u30c8\u3092\u4f7f\u3048\u306a\u3044\u3053\u3068\u3067\u3057\u305f\u3002\n\u5358\u7d14\u306b\u6b63\u898f\u8868\u73fe\u3067\u884c\u3054\u3068\u306b\u7f6e\u63db\u3057\u3066\u3044\u304f\u90fd\u5408\u4e0a\u3001\u30cd\u30b9\u30c8\u3057\u305f\u30ea\u30b9\u30c8\u3092\u89e3\u6790\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u6bb5\u968e\u3067\u3001\u30cd\u30b9\u30c8\u3057\u305f\u30ea\u30b9\u30c8\u306f\u4f7f\u308f\u306a\u3044\u3053\u3068\u306b\u3057\u3088\u3046\u3001\u3068\u8003\u3048\u307e\u3057\u305f\u3002\n\u3057\u304b\u3057\u3001\u5b9f\u969b\u306b\u5b9f\u88c5\u3057\u3066\u307f\u3066\u308f\u304b\u3063\u305f\u306e\u3067\u3059\u304c(\u6c17\u3065\u304f\u306e\u304c\u9045\u3044)\u3001\u554f\u984c\u306f\u305d\u308c\u3060\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u30ea\u30b9\u30c8\u304c\u59cb\u307e\u3063\u305f\u3053\u3068\u3084\u7d42\u308f\u3063\u305f\u3053\u3068\u3092\u5224\u65ad\u3067\u304d\u306a\u3044\u306e\u3067\u3059\u3002\u3044\u307e\u7f6e\u63db\u3057\u3066\u3044\u308b\u884c\u306f\u30ea\u30b9\u30c8\u306e\u59cb\u3081\u306a\u306e\u304b(\u3064\u307e\u308a<code>&lt;ul&gt;<\/code>\u304c\u5fc5\u8981\u306a\u306e\u304b)\u3001\u771f\u3093\u4e2d\u306a\u306e\u304b\u3001\u7d42\u308f\u308a\u306a\u306e\u304b\u3001\u5224\u65ad\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u306e\u3067\u3059\u3002\u3053\u308c\u306f\u56f0\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2 id=\"\u30b9\u30e9\u30c3\u30b7\u30e5\">\u30b9\u30e9\u30c3\u30b7\u30e5<\/h2>\n<p>\u66f4\u306b\u5927\u304d\u306a\u554f\u984c\u304c\u6f5c\u3093\u3067\u3044\u307e\u3057\u305f\u3002\u659c\u4f53\u3068\u30ea\u30f3\u30af\u3067\u3059\u3002\n\u3054\u5b58\u77e5\u306e\u3088\u3046\u306b\u3001URL\u306f\u533a\u5207\u308a\u6587\u5b57\u3068\u3057\u3066\u30b9\u30e9\u30c3\u30b7\u30e5\u3092\u591a\u7528\u3057\u307e\u3059\u3002\u307e\u305f\u3001org-mode\u3067\u306f\u659c\u4f53\u3092\u30b9\u30e9\u30c3\u30b7\u30e5\u3067\u631f\u3093\u3060\u5f62\u3067\u8868\u3057\u307e\u3059\u3002\n\u3053\u306e\u305b\u3044\u3067\u3001URL\u306e\u4e00\u90e8\u304c\u659c\u4f53\u3068\u3057\u3066\u30de\u30fc\u30af\u30a2\u30c3\u30d7\u3055\u308c\u3066\u3057\u307e\u3046\u4e8b\u614b\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u3053\u308c\u306f\u3061\u3087\u3063\u3068\u56f0\u3063\u305f\u3082\u306e\u3067\u3059\u3002\u3068\u308a\u3042\u3048\u305a\u659c\u4f53\u3092\u4f7f\u308f\u306a\u3044\u3053\u3068\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u306b\u306f\u4e0d\u6e80\u304c\u6b8b\u308a\u307e\u3059\u3002<\/p>\n<h2 id=\"\u7d50\u5c40\u30d1\u30fc\u30b5\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\">\u7d50\u5c40\u30d1\u30fc\u30b5\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u5316<\/h2>\n<p>\u66f4\u306b\u3001\u30c6\u30fc\u30d6\u30eb\u306e\u5b9f\u88c5\u304c\u3067\u304d\u306a\u3044\u306a\u3069\u3001org\u8a18\u6cd5\u304c\u4f7f\u3048\u308b\uff01\u3068\u3044\u3046\u306b\u306f\u4e0d\u6e80\u70b9\u304c\u591a\u3059\u304e\u307e\u3057\u305f\u3002\n\u305d\u3093\u306a\u308f\u3051\u3067\u3001\u6539\u3081\u3066\u5916\u90e8\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u3057\u3066\u3001org\u8a18\u6cd5\u306e\u30d1\u30fc\u30b5\u3092\u66f8\u304d\u307e\u3057\u305f\u3002org\u8a18\u6cd5\u3067\u66f8\u304b\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u3001\u89e3\u6790\u3057\u3001\u62bd\u8c61\u69cb\u6587\u6728\u3092\u751f\u6210\u3057\u307e\u3059\u3002\u305d\u3053\u304b\u3089HTML\u3092\u51fa\u529b\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002GitHub\u4e0a\u3067\u30bd\u30fc\u30b9\u3082\u516c\u958b\u3057\u3066\u3044\u307e\u3059(<a href=\"https:\/\/github.com\/nasa9084\/py-org][nasa9084\/py-org\" target=\"_blank\" rel=\"noopener\">nasa9084\/py-org<\/a>\n)\u3002\n\u30b3\u30ec\u3092\u30d6\u30ed\u30b0\u30b7\u30b9\u30c6\u30e0\u306b\u7d44\u307f\u8fbc\u3080\u3053\u3068\u3067org\u3067\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3068\u3044\u3046\u5bf8\u6cd5\u3067\u3059\u3002\n\u307e\u305f\u3001\u5f53\u521d\u4e88\u5b9a\u3057\u3066\u306f\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001git\u306esubmodule\u3067\u7ba1\u7406\u3059\u308b\u306e\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306e\u969b\u306a\u3069\u3044\u308d\u3044\u308d\u3068\u9762\u5012\u306a\u306e\u3067\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u3057\u3066PyPI\u3078\u3068\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f(<a href=\"https:\/\/pypi.python.org\/pypi\/pyorg\" target=\"_blank\" rel=\"noopener\">pyorg<\/a>\n)\u3002\n\u73fe\u5728\u306f\u30d0\u30fc\u30b8\u30e7\u30f30.1.3\u3068\u3057\u3066\u3001\u898b\u51fa\u3057\u3001\u30ea\u30b9\u30c8\u3001\u30c6\u30fc\u30d6\u30eb\u3001\u30ea\u30f3\u30af\u3001\u753b\u50cf\u3001\u5f15\u7528\u3001\u6587\u5b57\u306e\u5f37\u8abf\u3092\u5b9f\u88c5\u6e08\u307f\u3067\u3059\u3002\u4eca\u5f8c\u3001\u5c11\u3057\u305a\u3064\u62e1\u5f35\u4e88\u5b9a\u3067\u3059\u304c\u3001\u5f53\u9762\u306f\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3092\u9032\u3081\u3088\u3046\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3001pyorg\u306e\u304a\u8a71\u3067\u3057\u305f\u3002<\/p>"},{"title":"YAPC::Hokkaido 2016 SAPPORO\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f","link":"https:\/\/blog.web-apps.tech\/yapc_hokkaido_2016\/","pubDate":"Fri, 09 Dec 2016 16:34:00 +0000","guid":"https:\/\/blog.web-apps.tech\/yapc_hokkaido_2016\/","description":"<p>\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u307e\u3067\u304cYAPC!\u3068\u306f\u8a00\u308f\u308c\u306a\u304b\u3063\u305f\u6c17\u304c\u3057\u307e\u3059\u304c\u66f8\u304d\u307e\u3059\u3002<\/p>\n<p>\u6628\u5e74\u3067\u7d42\u4e86\u3057\u305fYAPC::Asia Tokyo\u304b\u3089\u4e00\u5e74\u3001\u65b0\u751fYAPC\u3068\u3057\u3066\u958b\u50ac\u3055\u308c\u305f<a href=\"http:\/\/yapcjapan.org\/2016hokkaido\/\" target=\"_blank\" rel=\"noopener\"><strong>YAPC::Hokkaido 2016 SAPPORO<\/strong><\/a>\n\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\nYAPC\u306fPerl\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001&ldquo;Yet Another Perl Conference&quot;\u306e\u7565\u3067\u3059\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f<a href=\"https:\/\/twitter.com\/hashtag\/yapcjapan\" target=\"_blank\" rel=\"noopener\">#yapcjapan<\/a>\n\u3067\u3057\u305f\u3002<\/p>\n<p>\u5f53\u65e5\u306e\u672d\u5e4c\u306f\u3059\u3054\u3044\u96ea\u3067\u3001\u6771\u4eac\u767a\u306e\u98db\u884c\u6a5f\u304c\u98db\u3070\u306a\u3044\u3068\u3044\u3046\u4e8b\u614b\u304c\u767a\u751f\u3001\u767b\u58c7\u8005\u3082\u306a\u304b\u306a\u304b\u672d\u5e4c\u307e\u3067\u5230\u9054\u3067\u304d\u305a\u3001\u30b9\u30bf\u30c3\u30d5\u3055\u3093\u9054\u306f\u306a\u304b\u306a\u304b\u5927\u5909\u306a\u4e00\u65e5\u3060\u3063\u305f\u306e\u3067\u306f\u306a\u3044\u304b\u306a\u3001\u3068\u3044\u3046\u5370\u8c61\u3067\u3059\u3002<\/p>\n<p>\u30b9\u30da\u30b7\u30e3\u30eb\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u3042\u308b\u5bfe\u8ac7\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u3001Amazon Web Service\u3001Google\u3001Microsoft\u3001\u3055\u304f\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u3044\u3046\u30af\u30e9\u30a6\u30c9\u5927\u624b4\u793e\u304c\u96c6\u3063\u3066\u5bfe\u8ac7\u3092\u884c\u3046\u3068\u3044\u3046\u3001\u975e\u5e38\u306b\u8c6a\u83ef\u306a\u4e00\u6642\u9593\u3067\u3057\u305f\u3002\n\u57fa\u8abf\u8b1b\u6f14\u306frebuild.fm\u306emiyagawa\u3055\u3093\u3067\u3001CDN\u306e\u304a\u8a71\u3068\u3044\u3046\u3001\u3053\u308c\u307e\u305f\u666e\u6bb5\u306f\u306a\u304b\u306a\u304b\u805e\u304f\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u5185\u5bb9\u3067\u3057\u305f\u3002\n\u305d\u306e\u307b\u304b\u3001emacs\u754c\u9688\u3067\u6709\u540d\u306asyohex\u3055\u3093\u3001\u3042\u3061\u3053\u3061\u306e\u754c\u9688\u3067\u6709\u540d\u306a\u5c0f\u98fc\u5f3e\u3055\u3093\u306a\u3069\u306a\u3069\u3001\u3001\u3001\u306a\u304b\u306a\u304b\u306b\u6fc3\u3044\u5185\u5bb9\u3067\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306f\u8907\u6570\u62bd\u9078\u304c\u6709\u308a\u3001Azure\u672c(<a href=\"http:\/\/amzn.to\/2hpRrQj]\" target=\"_blank\" rel=\"noopener\">Azure\u30c6\u30af\u30ce\u30ed\u30b8\u5165\u9580<\/a>\n)\u3068LINE\u30d3\u30fc\u30b3\u30f3\u304c\u8d08\u5448\u3055\u308c\u307e\u3057\u305f\u3002\u79c1\u3082\u904b\u826f\u304fAzure\u672c\u306b\u5f53\u9078\u3057\u3001\u9802\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u3042\u308a\u304c\u305f\u3044\u30fb\u30fb\u30fb<\/p>\n<p>\u5f53\u65e5\u30c1\u30b1\u30c3\u30c8\u306f1,000\u5186\u306a\u306e\u306b\u3001\u524d\u591c\u796d\u3001\u61c7\u89aa\u4f1a\u304c\u305d\u308c\u305e\u308c3,500\u5186\u3068\u3044\u3046\u3001\u4e0d\u601d\u8b70\u306a\u30c1\u30b1\u30c3\u30c8\u4fa1\u683c\u304c\u5c11\u3057\u304a\u3082\u3057\u308d\u304b\u3063\u305f\u3088\u3046\u306b\u601d\u3044\u307e\u3059\u3002\n\u6b21\u56deYAPC\u306f2017\u5e743\u67084\u65e5\u306b\u5927\u962a\u3067\u3001YAPC::Kansai\u3068\u3057\u3066\u958b\u50ac\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002<\/p>"},{"title":"Python\u3068\u308f\u305f\u3057","link":"https:\/\/blog.web-apps.tech\/python_with_me\/","pubDate":"Mon, 05 Dec 2016 08:13:00 +0000","guid":"https:\/\/blog.web-apps.tech\/python_with_me\/","description":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u3001<a href=\"http:\/\/www.adventar.org\/calendars\/1741\" target=\"_blank\" rel=\"noopener\">PyCon JP Advent Calendar<\/a>\n5\u65e5\u76ee\u3078\u5bc4\u305b\u3066\u66f8\u3044\u305f\u8a18\u4e8b\u3067\u3059\u3002\n\u57f7\u7b46\u306f<a href=\"https:\/\/twitter.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">@nasa9084<\/a>\n\u3067\u3059\u3002\n\u6628\u65e5\u306f\u5bfa\u7530\u3055\u3093\u306b\u3088\u308b\u3001<a href=\"https:\/\/www.cmscom.jp\/blog\/v63gcs\" target=\"_blank\" rel=\"noopener\">PyCon JP\u306e\u7acb\u3061\u4e0a\u3052<\/a>\n\u3068\u3044\u3046\u8a18\u4e8b\u3067\u3057\u305f\u3002<\/p>\n<h1 id=\"python\u3068\u79c1\u306e\u60f3\u3044\u51fa\">Python\u3068\u79c1\u306e\u60f3\u3044\u51fa<\/h1>\n<p>PyCon JP\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u30c6\u30fc\u30de\u306f\u300c<strong>Python\u3068\u79c1\u306e\u60f3\u3044\u51fa<\/strong>\u300d\u3060\u305d\u3046\u3067\u3059\u3002\n\u79c1\u304c\u521d\u3081\u3066\u307e\u3041\u305d\u308c\u306a\u308a\u3068\u8a00\u3048\u308b\u7a0b\u5ea6\u306b\u304b\u3051\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u304cPython\u3067\u3057\u305f\u3002\n\u306a\u3093\u3069\u3082C\u306b\u6311\u6226\u3057\u3066\u306f\u632b\u6298\u3057\u3001\u3092\u7e70\u308a\u8fd4\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001Python\u306e\u304a\u304b\u3052\u3067\u7c21\u5358\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u304b\u3051\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u6268\u3001\u3059\u3067\u306b\u884c\u304d\u5148\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u304f\u306a\u3063\u3066\u304d\u3066\u3044\u308b\u3053\u306e\u8a18\u4e8b\u3067\u3059\u304c\u3001\u3082\u3046\u5c11\u3057\u79c1\u3068Python\u3068\u306e\u95a2\u308f\u308a\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u304b\u306d\u3002<\/p>\n<h2 id=\"python\u3092\u4f7f\u3046\u7406\u7531\">Python\u3092\u4f7f\u3046\u7406\u7531<\/h2>\n<p>\u3082\u3068\u3082\u3068\u3001\u79c1\u306fHTML\u304b\u3089\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3068\u3044\u3046\u3082\u306e\u3092\u30a8\u30c7\u30a3\u30bf\u3067\u66f8\u304f\u3001\u3068\u3044\u3046\u4e16\u754c\u306b\u5165\u3063\u3066\u304d\u305f\u3093\u3067\u3059\u3002\u5c0f\u5b66\u6821\u9ad8\u5b66\u5e74\u304f\u3089\u3044\u306e\u9803\u3060\u3063\u305f\u3067\u3057\u3087\u3046\u304b\u3002\n\u6700\u521d\u306f\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u30d3\u30eb\u30c0\u30fc\u3067Web\u30b5\u30a4\u30c8\u3092\u66f8\u3044\u3066\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u5f53\u6642(\u4eca\u3067\u3082\u3042\u308b\u306e\u304b\u306a\uff1f)\u3001\u5c0f\u5b66\u751f\u3067\u3082\u4f7f\u3048\u308bJavaScript\u96c6\u307f\u305f\u3044\u306a\u30b5\u30a4\u30c8\u304c\u3042\u308a\u307e\u3057\u3066\u3001\u4f8b\u3048\u3070\u3001head\u30bf\u30b0\u306e\u76f4\u5f8c\u306b\u30b3\u30d4\u30da\u3059\u308b\u3068\u306a\u3093\u304b\u30ab\u30fc\u30bd\u30eb\u306b\u304d\u3089\u304d\u3089\u3057\u305f\u306e\u304c\u304f\u3063\u3064\u3044\u3066\u304f\u308b\u3088\u3046\u306b\u306a\u308b\u3001\u3068\u304b\u3067\u3059\u306d\u3001\u4eca\u3068\u306a\u3063\u3066\u306f\u3068\u3063\u3066\u3082\u61d0\u304b\u3057\u3044\u611f\u3058\u306e\u3082\u306e\u304c\u305f\u304f\u3055\u3093\u3042\u3063\u305f\u308f\u3051\u3067\u3059\u3088\u3002\n\u305d\u3093\u306a\u306e\u3092\u30b3\u30d4\u30da\u3059\u308b\u305f\u3081\u306b\u3001\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u30d3\u30eb\u30c0\u30fc\u3067\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u30d3\u30e5\u30fc\u7684\u306a\u3082\u306e\u3092\u958b\u304d\u307e\u3057\u3066\u3001\u30b3\u30d4\u30da\u3092\u3057\u3066\u3044\u305f\u308f\u3051\u3067\u3059\u306d\u3002\nHTML\u306a\u3093\u3066\u307e\u3060\u307e\u3060\u66f8\u3051\u306a\u304b\u3063\u305f\u79c1\u3067\u3059\u304c\u3001\u306a\u3093\u3068\u306a\u304f\u30eb\u30fc\u30eb\u304c\u308f\u304b\u308b\u3093\u3067\u3059\u306d\u3002\u305d\u3046\u3059\u308b\u3068\u3001\u306a\u3093\u3060\u304b\u7121\u99c4\u3063\u307d\u3044\u306e\u304c\u3042\u308b\u308f\u3051\u3067\u3059\u3088\u3002\n\u305d\u3046\u3044\u3046\u306e\u3092\u3001\u3061\u3087\u3053\u3061\u3087\u3053\u3068\u624b\u4f5c\u696d\u3067\u6d88\u3057\u3066\u3044\u3063\u3066\u307f\u308b\u308f\u3051\u3067\u3059\u3002\n\u4eca\u601d\u3046\u3068\u3001\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306e\u306f\u3057\u308a\u307f\u305f\u3044\u306a\u3082\u3093\u3067\u3059\u3002\u3053\u308c\u304c\u79c1\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u7de8\u96c6\u3059\u308b\u3053\u3068\u306e\u539f\u70b9\u3060\u3063\u305f\u3093\u3067\u3059\u3002<\/p>\n<p>\u3068\u304d\u306f\u6d41\u308c\u307e\u3057\u3066\u3001Python\u3068\u3044\u3046\u8a00\u8a9e\u306b\u51fa\u4f1a\u3044\u307e\u3059\u3002\n\u805e\u304f\u3068\u3053\u308d\u306b\u3088\u308b\u3068\u3001\u3053\u306e\u8a00\u8a9e\u3001<strong>\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u304d\u3061\u3093\u3068\u3057\u306a\u3044\u3068\u52d5\u4f5c\u3057\u306a\u3044<\/strong>\u305d\u3046\u3058\u3083\u306a\u3044\u3067\u3059\u304b\u3002\u3060\u308c\u304c\u66f8\u3044\u3066\u3082\u305d\u308c\u306a\u308a\u306b\u8aad\u307f\u3084\u3059\u3044\u30b3\u30fc\u30c9\u306b\u306a\u308b\u3068\u3002\n\u3082\u3068\u3082\u3068\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u7dba\u9e97\u306b\u3059\u308b\u306e\u304c\u697d\u3057\u304f\u3066\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u89e6\u308a\u59cb\u3081\u305f\u79c1\u3067\u3059\u304b\u3089\u3001\u3053\u308c\u306f\u3068\u3066\u3082\u6c17\u306b\u5165\u308a\u307e\u3057\u305f\u3002\n\u305d\u3046\u3057\u3066\u79c1\u306fPython\u306e\u4e16\u754c\u306b\u305a\u3076\u305a\u3076\u3068\u6d78\u304b\u3063\u3066\u3044\u304f\u306e\u3067\u3042\u308a\u307e\u3057\u305f\u30fb\u30fb\u30fb<\/p>\n<h2 id=\"github-repository\">GitHub Repository<\/h2>\n<p>\u73fe\u5728\u3001\u79c1\u306eGitHub\u30ea\u30dd\u30b8\u30c8\u30ea(<a href=\"https:\/\/github.com\/nasa9084\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/nasa9084<\/a>\n)\u306e\u6570\u306f\u3001\u3061\u3087\u3046\u306920\u3060\u305d\u3046\u3067\u3059\u3002\u81ea\u5206\u304c\u4e3b\u3068\u306a\u3063\u3066\u958b\u767a\u3057\u3066\u3044\u308b\u3082\u306e\u306e\u3001\u610f\u5473\u3065\u3051\u3068\u3044\u3046\u7406\u7531\u304c\u3042\u3063\u305f\u308a\u3057\u3066Organization\u3092\u5207\u308a\u5206\u3051\u3066\u3044\u308b\u3082\u306e\u3082\u3042\u308a\u307e\u3059\u304b\u3089\u300120\u4ee5\u4e0a30\u672a\u6e80\u3001\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u3067\u3057\u3087\u3046\u304b\u3002\n\u3053\u306e\u3046\u3061\u3001\u4e3b\u306bPython\u3067\u66f8\u3044\u3066\u3044\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u306f10\u500b\u7a0b\u5ea6\u3067\u3001\u534a\u5206\u306b\u306f\u5c4a\u304b\u306a\u3044\u3082\u306e\u306e\u3001\u304b\u306a\u308a\u306e\u5272\u5408\u3092\u5360\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"pycon-jp-2016\">PyCon JP 2016<\/h2>\n<p>2016\u5e74\u306fPyCon JP 2016\u306e\u30b9\u30bf\u30c3\u30d5\u3092\u3057\u307e\u3057\u305f\u3002PyCon JP\u306f\u6771\u4eac\u958b\u50ac\u3067\u3001\u3082\u3061\u308d\u3093\u30b9\u30bf\u30c3\u30d5\u306e\u591a\u304f\u306f\u6771\u4eac(\u307e\u305f\u306f\u6771\u4eac\u8fd1\u90ca)\u5728\u4f4f\u3067\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u3084\u4f5c\u696d\u65e5\u306e\u958b\u50ac\u5730\u3082\u6771\u4eac\u3067\u3059\u3002\n\u4e00\u5fdc\u3001\u90fd\u5408\u306e\u3064\u304f\u9650\u308a\u30ea\u30e2\u30fc\u30c8\u3067\u3082\u53c2\u52a0\u3092\u3059\u308b\u3093\u3067\u3059\u304c\u3001\u3053\u308c\u304c\u306a\u304b\u306a\u304b\u96e3\u3057\u3044\u306e\u3067\u3059\u3002\n\u89e3\u6c7a\u65b9\u6cd5\u306f\u307e\u3060\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u6765\u5e74\u306f\u6771\u4eac\u3067\u5c31\u8077\u306a\u306e\u3067\u3001\u9060\u65b9\u306e\u30b9\u30bf\u30c3\u30d5\u304c\u3082\u3063\u3068\u6eb6\u3051\u8fbc\u307f\u3084\u3059\u3044\u3088\u3046\u306b\u306a\u306b\u304b\u9811\u5f35\u308a\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2 id=\"eureka\">Eureka<\/h2>\n<p><del>\u5b9f\u306f\u3001\u3053\u306e\u30d6\u30ed\u30b0\u306e\u30b7\u30b9\u30c6\u30e0\u3082Python\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\u69cb\u6210\u3068\u3057\u3066\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u90e8\u304cbottle + beaker + jinja2\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b5\u30fc\u30d0\u304cuWSGI\u3001HTTP\u30b5\u30fc\u30d0\u304cnginx\u3068\u3044\u3046\u69cb\u6210\u3067\u3059\u3002\n\u73fe\u72b6\u3001JavaScript\u306f\u4e00\u5207\u4f7f\u3063\u3066\u3044\u306a\u3044\u305f\u3081\u3001(\u7279\u306b\u7ba1\u7406\u753b\u9762\u306b\u304a\u3044\u3066)\u6b8b\u5ff5\u306a\u4ed5\u69d8\u306e\u90e8\u5206\u304c\u591a\u3044\u3067\u3059\u3002\n\u306a\u3093\u3068\u304b\u3057\u305f\u3044\u3002<\/del>\n\u30d6\u30ed\u30b0\u79fb\u8ee2\u3067\u9055\u3046\u30b7\u30b9\u30c6\u30e0\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h1 id=\"\u307e\u3068\u3081\u7684\u306a\">\u307e\u3068\u3081\u7684\u306a<\/h1>\n<p>\u305d\u308d\u305d\u308d\u9577\u304f\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3057\u3001\u3082\u3046\u306a\u3093\u306e\u8a71\u304b\u308f\u304b\u3089\u306a\u304f\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u3053\u306e\u8fba\u3067\u7d42\u308f\u308a\u306b\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\n\u3068\u308a\u3042\u3048\u305a\u3067\u3059\u306d\u3002\u4f55\u304c\u8a00\u3044\u305f\u3044\u304b\u3068\u3044\u3046\u3068\u3001<strong>Python\u306f\u3044\u3044\u305e<\/strong>\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\n\u305c\u3072PyCon JP 2017\u306b\u3082\u304a\u8d8a\u3057\u304f\u3060\u3055\u3044\u3002<\/p>"},{"title":"builderscon tokyo 2016 \u3092\u958b\u50ac\u3057\u307e\u3057\u305f\uff01","link":"https:\/\/blog.web-apps.tech\/builderscon_tokyo_2016\/","pubDate":"Mon, 05 Dec 2016 04:34:00 +0000","guid":"https:\/\/blog.web-apps.tech\/builderscon_tokyo_2016\/","description":"<p>\u904e\u304e\u30572016\u5e7412\u67083\u65e5\u3001<strong>builderscon tokyo 2016<\/strong>\u3092\u958b\u50ac\u3057\u307e\u3057\u305f\u3002\nbuilderscon tokyo 2016\u306b\u306f(\u4e00\u5fdc)\u30b3\u30a2\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066\u3001\u521d\u671f\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u5236\u4f5c\u7b49\u3092\u884c\u3044\u307e\u3057\u305f\u3002\nblog\u3092\u66f8\u304f\u307e\u3067\u304cbuilderscon!\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u30d6\u30ed\u30b0\u3092\u66f8\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u3044\u3084\u306d\u3001builderscon \u30b9\u30bf\u30c3\u30d5\u306e\u7686\u3055\u3093\u3059\u3054\u3044\u4eba\u304c\u63c3\u3044\u3059\u304e\u3066\u3066\u3001\u79c1\u306e\u3088\u3046\u306a\u82e5\u9020\u304c\u30ea\u30e2\u30fc\u30c8\u53c2\u52a0\u3060\u3068\u3001\u3061\u3087\u3063\u3068\u3057\u305f\u3059\u304d\u306b\u8a71\u304c\u9032\u3093\u3058\u3083\u3063\u3066\u3066\u3002\u306a\u304b\u306a\u304b\u5927\u5909\u3067\u3059\u3002\n\u305f\u3060\u3001\u305d\u3093\u306a\u3059\u3054\u3044\u4eba\u305f\u3061\u304c\u8272\u3005\u3068\u6c7a\u3081\u305f\u308a\u6e96\u5099\u3092\u9032\u3081\u305f\u308a\u3059\u308b\u306e\u3092\u898b\u308b\u306e\u306f\u3059\u3054\u304f\u52c9\u5f37\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u5f53\u65e5\u306e\u30c8\u30fc\u30af\u306f\u3001php.ini\u306e\u8a71\u3060\u3063\u305f\u308a\u3001\u30d3\u30fc\u30eb\u30b5\u30fc\u30d0\u30fc\u306e\u8a71\u3060\u3063\u305f\u308a\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u3064\u304f\u308b\u8a71\u3060\u3063\u305f\u308a\u3001\u307b\u3093\u3068\u306a\u3093\u304b\u3001\u5c16\u3063\u305f\u8a71\u304c\u6ca2\u5c71\u3067\u3057\u305f\u3002<\/p>\n<p>\u30c8\u30fc\u30af\u3082\u306d\u3001\u4e00\u5fdc\u5fdc\u52df\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u5f53\u7136\u306e\u5982\u304f\u843d\u9078\u3057\u307e\u3057\u305f\u3002\n\u30b3\u30ec\u306f\u4ed5\u65b9\u306a\u3044\u3067\u3059\u3088\u3002\n\u79c1\u3082\u30c8\u30fc\u30af\u63a1\u7528\u30d5\u30ed\u30fc\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3051\u3069\u3001\u4ed6\u306e\u30c8\u30fc\u30af\u306e\u307b\u3046\u304c\u805e\u304d\u305f\u304b\u3063\u305f\u3067\u3059\u3082\u3093\u3002<\/p>\n<p>\u6b21\u306fbuilderscon tokyo 2017\u306e\u958b\u50ac\u304c\u6c7a\u307e\u3063\u3066\u3044\u307e\u3059!\u4eca\u5ea6\u306f1000\u4eba\u898f\u6a21\u3067\u3059\u3088\uff01\n<a href=\"http:\/\/2017.tokyo.builderscon.io\/\" target=\"_blank\" rel=\"noopener\">builderscon tokyo 2017<\/a>\n<\/p>\n<p>\u8208\u5473\u306e\u3042\u308b\u4eba\u306f\u3068\u308a\u3042\u3048\u305aSlack\u306b\u5165\u3063\u3066\u307f\u308b\u3068\u3044\u3044\u3067\u3059\u3088\u3002\n<a href=\"https:\/\/slack-invite-dot-builderscon-1248.appspot.com\/\" target=\"_blank\" rel=\"noopener\">builderscon slack invite form<\/a>\n<\/p>"}]}}