[{"content":"\u4eca\u5e74\u306f\u4e3b\u306b\u5712\u82b8\u3068\u6599\u7406\u306e\u5e74\u3067\u3057\u305f\u3002\u307e\u305f\u30012024\u5e749\u6708\u672b\u304b\u3089\u672d\u5e4c\u3067\u4e00\u4eba\u66ae\u3089\u3057\u3092\u59cb\u3081\u305f \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 2024\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\n\u5712\u82b8 \u9053\u5177\u30fb\u8cc7\u6750 KINGJIM \u30c6\u30d7\u30e9 \u30cf\u30fc\u30d5\u30ab\u30c3\u30bf\u30fc \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 Kaiju Plant \u5712\u82b8\u30b7\u30fc\u30c8 \u5ba4\u5185\u3067\u690d\u3048\u66ff\u3048\u3092\u3059\u308b\u306b\u306f\u5fc5\u9808\u3068\u8a00\u3063\u3066\u3082\u826f\u3044\u3002 \u30d9\u30e9\u30dc\u30f3\u30fb\u30d7\u30ec\u30df\u30a2\u30e0 \u7af9\u70ad\u7551 \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 \u690d\u7269 \u6591\u5165\u308a\u30d0\u30aa\u30d0\u30d6 \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 \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\n\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\n\u30a2\u30f3\u30b0\u30ec\u30ab\u30e0\u30c7\u30a3\u30b9\u30c6\u30a3\u30ab\u30e0 \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 \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\n\u30c9\u30ea\u30ca\u30ea\u30a2 \u30ea\u30ae\u30c7\u30e5\u30e9 \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 \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 \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\n\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\n\u30a2\u30b9\u30d1\u30e9\u30ac\u30b9 \u30d7\u30eb\u30e2\u30fc\u30b5\u30b9 \u30ca\u30ca\u30b9 \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\n\u30ab\u30f3\u30d1\u30cb\u30e5\u30e9 \u30c0\u30fc\u30af\u30b2\u30c3\u30c8\u30df\u30fc \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 \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\n\u30cd\u30e1\u30b7\u30a2 \u30b0\u30c3\u30d4\u30fc \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 \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\n\u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3 \u30d4\u30f3\u30af\u30a2\u30f3\u30c9\u30d7\u30e9\u30a6\u30c9 \u30ab\u30fc\u30cd\u30fc\u30b7\u30e7\u30f3\u3001\u3068\u8a00\u3044\u3064\u3064\u82b1\u306f\u5c0f\u3055\u3081\u3002 \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 \u5272\u3068\u6700\u8fd1\u306e\u54c1\u7a2e\u3063\u307d\u3044\u3002 \u767e\u5408\u304c\u539f\u516c\u5712\u30ac\u30fc\u30c7\u30f3\u30b7\u30e7\u30c3\u30d7\u3067\u8cfc\u5165\u3057\u305f\u3002\n\u30b5\u30cb\u30fc\u30ec\u30bf\u30b9(\u306e\u30bf\u30cd) 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 \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 \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\n\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\n\u30e2\u30f3\u30b9\u30c6\u30e9 \u30c7\u30ea\u30b7\u30aa\u30fc\u30b5 &lsquo;\u30bf\u30a6\u30a8\u30ea\u30fc&rsquo;(\u306e\u30bf\u30cd) \u30e2\u30f3\u30b9\u30c6\u30e9\u306e\u77ee\u6027\u54c1\u7a2e\u3002\u767a\u6839\u6e08\u307f\u306e\u72b6\u614b\u3067\u8cfc\u5165\u3057\u305f\u306e\u3067\u3001\u307b\u307c100%\u767a\u82bd\u3057\u3066\u5143\u6c17\u306b\u80b2\u3063\u3066\u3044\u308b\u3002 \u9069\u5f53\u306a\u3068\u3053\u308d\u3067\u4f55\u682a\u304b\u306f\u30d5\u30ea\u30de\u30b5\u30a4\u30c8\u3067\u58f2\u308d\u3046\u304b\u3068\u601d\u3063\u3066\u3044\u305f\u3051\u3069\u3001\u305d\u308c\u306a\u308a\u306b\u4f38\u3073\u3066\u304d\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u767a\u9001\u306a\u3069\u3092\u8003\u3048\u308b\u3068\u9762\u5012\u3060\u306a\u3001\u3068\u3044\u3046\u611f\u3058\u306b\u306f\u306a\u3063\u3066\u3044\u3066\u3001\u56f0\u3063\u305f\u3002 SEEDSTOCK\u304b\u3089\u8cfc\u5165\u3002\n\u6599\u7406 \u8abf\u7406\u6a5f\u6750\u30fb\u30ad\u30c3\u30c1\u30f3\u7528\u54c1 \u6771\u829d \u77f3\u7aaf\u30c9\u30fc\u30e0ER-YD5000 \u6700\u9ad8\u3067350\u2103\u307e\u3067\u3067\u308b\u30aa\u30fc\u30d6\u30f3\u30ec\u30f3\u30b8\u3002\u30aa\u30fc\u30d6\u30f3\u6599\u7406\u304c\u597d\u304d\u306a\u306e\u3067\u3001\u30aa\u30fc\u30d6\u30f3\u306f\u3088\u304f\u4f7f\u3046\u304c\u3001350\u2103\u306f\u9023\u7d9a\u3067\u51fa\u305b\u306a\u3044\u306e\u3067\u3001\u610f\u5916\u3068\u4f7f\u308f\u306a\u3044\u3002 \u30d6\u30ea\u30ad\u30d1\u30a4\u76bf \u30aa\u30fc\u30d6\u30f3\u5bfe\u5fdc\u306e\u30d0\u30c3\u30c8\u3067\u3082\u826f\u3044\u3093\u3060\u3051\u3069\u3001\u30d6\u30ea\u30ad\u306e\u30d1\u30a4\u76bf\u306f\u5b89\u3044\u306e\u3067\u3001\u96d1\u306b\u4f7f\u3044\u3084\u3059\u304f\u3066\u30aa\u30b9\u30b9\u30e1\u3002\u30d0\u30c3\u30c8\u4ee3\u308f\u308a\u306b\u3057\u3066\u3082\u3044\u3044\u3057\u3001\u9069\u5f53\u306b\u3082\u306e\u3092\u4e57\u305b\u3066\u30aa\u30fc\u30d6\u30f3\u306b\u7a81\u3063\u8fbc\u3093\u3067\u3082\u826f\u3044\u3002\u30d1\u30a4\u3092\u713c\u304f\u306e\u306b\u4f7f\u3063\u305f\u3053\u3068\u306f\u306a\u3044\u3067\u3059\u3002 \u30bd\u30e1\u30a4\u30a8 \u7825\u77f3\u53f0 \u6b63\u76f4\u7686\u3055\u3093\u304c\u3069\u308c\u304f\u3089\u3044\u300c\u5305\u4e01\u3092\u7825\u77f3\u3067\u7814\u3050\u300d\u3068\u3044\u3046\u3053\u3068\u3092\u3084\u3063\u3066\u3044\u308b\u306e\u304b\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u7814\u3044\u3067\u3044\u308b\u4eba\u306f\u8cb7\u3063\u305f\u65b9\u304c\u826f\u3044\u3067\u3059\u3002 \u7825\u77f3\u304c\u305a\u308c\u306a\u304f\u3066\u5927\u5909\u7814\u304e\u3084\u3059\u3044\u3057\u3001\u86c7\u53e3\u304b\u3089\u6c34\u3092\u305d\u306e\u307e\u307e\u304b\u3051\u3089\u308c\u308b\u3057\u3001\u4f55\u3088\u308a\u8abf\u7406\u53f0\u304c\u6c5a\u308c\u306a\u304f\u3066\u826f\u3044\u3067\u3059\u3002\u5225\u306b\u30e1\u30fc\u30ab\u30fc\u306f\u30b3\u30ec\u3058\u3083\u306a\u304f\u3066\u3082\u826f\u3044\u3068\u601d\u3046\u3051\u3069\u3002 CB Japan\u89e3\u51cd\u30d7\u30ec\u30fc\u30c8 \u51b7\u51cd\u3057\u3066\u3042\u308b\u8089\u305d\u306e\u4ed6\u3092\u7206\u901f\u3067\u89e3\u51cd\u3067\u304d\u308b\u677f\u3002\u30de\u30b8\u3067\u30b7\u30e5\u30c3\u3068\u6eb6\u3051\u308b\u306e\u3067\u3059\u3054\u3044\u3002 wakiyaku \u30b7\u30ea\u30b3\u30f3 \u30b4\u30e0\u3079\u3089(\u5c0f) \u826f\u304f\u3042\u308b\u3088\u3046\u3067\u610f\u5916\u3068\u58f2\u3063\u3066\u3044\u306a\u3044\u5c0f\u578b\u306e\u30b4\u30e0\u3079\u3089\u3002\u8f9b\u5b50\u30de\u30e8\u306e\u69d8\u306a\u3082\u306e\u3092\u4f5c\u308b\u3068\u304d\u3068\u304b\u3001\u666e\u901a\u306e\u30b4\u30e0\u3079\u3089\u3058\u3083\u3067\u304b\u3059\u304e\u308b\u3093\u3067\u3059\u304c\u3001\u5c0f\u578b\u306e\u3082\u306e\u304c\u3042\u308b\u3068\u975e\u5e38\u306b\u4fbf\u5229\u3067\u3059\u3002\u3082\u3046\u4e00\u672c\u6b32\u3057\u3044\u3002 HARIO \u6f2c\u7269\u30b0\u30e9\u30b9 \u9069\u5f53\u306a\u91ce\u83dc\u3092\u51b7\u8535\u5eab\u3067\u9069\u5f53\u306b\u6f2c\u3051\u308b\u306e\u306b\u4fbf\u5229\u3002\u30d5\u30bf\u4ee5\u5916\u306f\u3059\u3079\u3066\u98df\u6d17\u6a5f\u306b\u5165\u308c\u3066OK\u306a\u306e\u3082\u52a9\u304b\u308b\u3002 Microplane \u304a\u308d\u3057\u5668 \u5b9a\u756a\u5546\u54c1\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3002\u30b3\u30b9\u30c8\u30b3\u3067\u8cb7\u3063\u305f\u500b\u5305\u88c5\u306e\u30d1\u30eb\u30df\u30b8\u30e3\u30fc\u30ce\u30ec\u30c3\u30b8\u30e3\u30fc\u30ce \u3092\u30b3\u30ec\u3067\u524a\u308b\u3068\u5927\u5909\u306b\u826f\u3044\u3067\u3059\u3002 \u58f2\u3063\u3066\u308b\u98df\u30d1\u30f3\u306b\u9650\u308a\u306a\u304f\u8fd1\u3044\u7406\u60f3\u306e\u98df\u30d1\u30f3\u578b1\u65a4 \u540d\u524d\u306e\u901a\u308a\u306e\u98df\u30d1\u30f3\u578b\u3002\u3060\u3044\u305f\u30441\u65a4\u306e\u98df\u30d1\u30f3\u578b\u3001\u65ad\u9762\u7a4d(?)\u304c\u5e02\u8ca9\u306e\u98df\u30d1\u30f3\u3088\u308a\u5c0f\u3055\u3044\u76f4\u65b9\u4f53\u578b\u3092\u3057\u3066\u3044\u308b\u3002\u306a\u3093\u3067\uff1f\u3053\u306e\u578b\u306f\u672c\u5f53\u306b\u305d\u306e\u8fba\u3067\u58f2\u3063\u3066\u3044\u308b\u98df\u30d1\u30f3\u3068\u3060\u3044\u305f\u3044\u540c\u3058\u30b5\u30a4\u30ba\u30fb\u5f62\u306e\u578b\u306a\u306e\u3067\u3001\u5bb6\u5ead\u3067\u4f7f\u3046\u306e\u306b\u3061\u3087\u3046\u3069\u826f\u3044\u3002\u30b7\u30ea\u30b3\u30f3\u52a0\u5de5\u30bf\u30a4\u30d7\u3082\u3042\u308b\u3089\u3057\u3044\u306e\u3067\u3001\u5e97\u982d\u306b\u884c\u3051\u308b\u4eba\u3084\u3001\u901a\u8ca9\u5728\u5eab\u304c\u3042\u308b\u30bf\u30a4\u30df\u30f3\u30b0\u306a\u3089\u305d\u3063\u3061\u306e\u65b9\u304c\u4fbf\u5229\u304b\u3082\u3057\u308c\u306a\u3044\u3002 \u30cb\u30c8\u30ea \u6d17\u3048\u308b\u30ec\u30d0\u30fc\u30ad\u30e3\u30cb\u30b9\u30bf\u30fc (L 2500) \u5e02\u8ca9\u306e\u98df\u30d1\u30f31\u65a4\u304c\u3074\u3063\u305f\u308a\u5165\u308b\u3002\u5e02\u8ca9\u306e\u98df\u30d1\u30f3\u306f\u5225\u306b\u30ad\u30e3\u30cb\u30b9\u30bf\u30fc\u306b\u5165\u308c\u306a\u304f\u3066\u3082\u826f\u3044\u3068\u601d\u3046\u3051\u3069\u3001\u81ea\u5206\u3067\u713c\u3044\u305f\u3089\u888b\u306b\u306f\u5165\u3063\u3066\u3044\u306a\u3044\u306e\u3067(\u5f53\u7136\u3067\u3042\u308b\u304c)\u3001\u3074\u3063\u305f\u308a\u53ce\u7d0d\u3057\u3066\u304a\u3051\u308b\u306e\u306f\u4fbf\u5229\u3002\u6700\u521d\u306f\u30b8\u30c3\u30d7\u4ed8\u304d\u306e\u888b\u306b\u5165\u308c\u3066\u3044\u305f\u3051\u3069\u3001\u3054\u3061\u3083\u3054\u3061\u3083\u3059\u308b\u3057\u3001\u5165\u308c\u305f\u308a\u51fa\u3057\u305f\u308a\u3057\u3065\u3089\u3044\u306e\u3067\u3002\u4fa1\u683c\u3082\u304a\u624b\u9803\u3002 \u30ad\u30c3\u30c1\u30f3\u30a8\u30a4\u30c9 \u30a2\u30eb\u30c1\u30b6\u30f3 \u30b9\u30bf\u30f3\u30c9\u30df\u30ad\u30b5\u30fc \u4eca\u5e74\u306f\u7d50\u69cb\u30d1\u30f3\u3092\u713c\u3044\u305f\u306e\u3067\u3001\u9014\u4e2d\u3067\u3053\u306d\u308b\u306e\u304c\u8f9b\u304f\u3066\u8cfc\u5165\u3002\u6700\u9ad8\u306a\u3093\u3060\u3051\u3069\u3001\u7f6e\u304f\u5834\u6240\u304c\u306a\u3044\u306e\u3067\u51fa\u3057\u305f\u308a\u3057\u307e\u3063\u305f\u308a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u5927\u5909\u3002\u4e16\u306e\u307f\u3093\u306a\u306f\u30b3\u30ec\u3092\u3069\u3053\u306b\u7f6e\u3044\u3066\u308b\u306e\uff1f marna \u30a6\u30a9\u30fc\u30bf\u30fc\u30d4\u30c3\u30c1\u30e3\u30fc 1L 1L\u3001\u53e3\u3092\u958b\u3051\u305f\u308a\u9589\u3081\u305f\u308a\u3068\u304b\u306e\u6a5f\u80fd\u304c\u7121\u3044\u30b7\u30f3\u30d7\u30eb\u306a\u30a6\u30a9\u30fc\u30bf\u30fc\u30d4\u30c3\u30c1\u30e3\u30fc\u3002\u304a\u8336\u306e\u30d1\u30c3\u30af\u3068\u304b\u3063\u3066\u3060\u3044\u305f\u30441L\u3067\u5206\u91cf\u304c\u66f8\u3044\u3066\u3042\u308b\u306e\u306b\u3001\u4e16\u306e\u4e2d\u306e\u30d4\u30c3\u30c1\u30e3\u30fc\/\u304a\u8336\u30dd\u30c3\u30c8\u3063\u3066\u3060\u3044\u305f\u3044\u8a33\u306e\u5206\u304b\u3089\u3093\u30b5\u30a4\u30ba\u3058\u3083\u7121\u3044\uff1f\u306a\u3093\u3067\u306a\u306e\uff1f \u5c71\u5d0e\u5b9f\u696d \u30b7\u30ea\u30b3\u30fc\u30f3\u83dc\u7bb8\u30c8\u30f3\u30b0 \u30d1\u30b9\u30bf\u3092\u30bd\u30fc\u30b9\u3068\u548c\u3048\u305f\u308a\u3059\u308b\u6642\u306b\u3001\u30c7\u30ab\u30d4\u30f3\u30bb\u30c3\u30c8\u3068\u304b\u3092\u4f7f\u3046\u3068\u4fbf\u5229\u306a\u3093\u3060\u3051\u3069\u3001\u30c6\u30d5\u30ed\u30f3\u52a0\u5de5\u306e\u30d5\u30e9\u30a4\u30d1\u30f3\u3068\u304b\u3067\u306f\u4f7f\u3044\u3065\u3089\u3044\u3002\u305d\u3093\u306a\u3068\u304d\u306b\u4fbf\u5229\u306a\u3001\u30b7\u30ea\u30b3\u30f3\u52a0\u5de5\u30c7\u30ab\u30d4\u30f3\u30bb\u30c3\u30c8\u7684\u306a\u30c8\u30f3\u30b0\u3002\u30b3\u30ec\u3092\u8cb7\u3063\u3066\u304b\u3089\u666e\u901a\u306e\u30bf\u30a4\u30d7\u306e\u30c8\u30f3\u30b0\u306f\u4f7f\u308f\u306a\u304f\u306a\u3063\u305f\u3002 \u30a8\u30ea\u30a8\u30fc\u30eb \u30ad\u30ec\u30ad\u30e9! \u30ad\u30c3\u30c1\u30f3\u30af\u30ea\u30fc\u30ca\u30fc \u30ad\u30c3\u30c1\u30f3\u6e05\u6383\u7528\u306e\u30a6\u30a7\u30c3\u30c8\u30c6\u30a3\u30c3\u30b7\u30e5\u3002\u6cb9\u3067\u30ae\u30c8\u30ae\u30c8\u306b\u306a\u3063\u305f\u30ac\u30b9\u30b3\u30f3\u30ed\u3068\u304b\u3082\u7c21\u5358\u306b\u304d\u308c\u3044\u306b\u306a\u3063\u3066\u3001\u4f7f\u3063\u305f\u5f8c\u306f\u6368\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u4fbf\u5229\u3002 GreenPan Mini \u540c\u3058\u3082\u306e\u3092\u4f7f\u7528\u3057\u3066\u3044\u305f\u3051\u3069\u3001\u30b3\u30fc\u30c6\u30a3\u30f3\u30b0\u304c\u30c0\u30e1\u306b\u306a\u3063\u3066\u304d\u3066\u3044\u305f\u306e\u3067\u8cfc\u5165\u3002\u56fd\u5185\u3067\u306f\u3082\u3046\u624b\u306b\u5165\u3089\u306a\u3055\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u3001\u3084\u3080\u3092\u5f97\u305aamazon.com\u304b\u3089\u5165\u624b\u3002\u6b21\u56de\u4ee5\u964d\u306e\u305f\u3081\u306b\u8907\u6570\u8cfc\u5165\u3057\u3066\u304a\u3044\u305f\u3002 \u98df\u54c1 \u68ee\u6c38\u306e\u308c\u3093\u4e73\u5473\u30db\u30c3\u30c8\u30b1\u30fc\u30ad\u30df\u30c3\u30af\u30b9 \u671f\u9593\u9650\u5b9a\u3060\u3063\u305f\u306e\u304c\u60dc\u3057\u3044\u3002 \u30ea\u30b0\u30a9\u30fc\u30ea \u30d1\u30c3\u30b1\u30ea \u3086\u3067\u6642\u9593\u304c\u7d50\u69cb\u304b\u304b\u308b\u3051\u3069\u3001\u30e2\u30c1\u30e2\u30c1\u3068\u3057\u305f\u98df\u611f\u3067\u7f8e\u5473\u3057\u3044\u3002 \u7121\u5370\u826f\u54c1 \u7119\u714e\u30b9\u30d1\u30a4\u30b9\u306e\u3054\u308d\u308a\u725b\u8089\u30ab\u30ec\u30fc \u30ec\u30c8\u30eb\u30c8\u30ab\u30ec\u30fc\u3068\u3057\u3066\u306f\u9ad8\u4fa1\u3060\u3051\u308c\u3069\u3001\u30ec\u30c8\u30eb\u30c8\u30ab\u30ec\u30fc\u3067\u306f\u306a\u3044\u3068\u3044\u308f\u308c\u3066\u3082\u4fe1\u3058\u3061\u3083\u3044\u305d\u3046\u306a\u5473\u3002 \u3075\u308b\u3055\u3068\u7d0d\u7a0e \u5c71\u68a8\u770c\u5317\u675c\u5e02 \u5927\u7389\u897f\u6d0b\u68a8 \u4e00\u4eba\u3067\u6d88\u8cbb\u3059\u308b\u306e\u306f\u3061\u3087\u3063\u3068\u5927\u5909\u306a\u91cf\u3067\u306f\u3042\u308b\u3093\u3060\u3051\u3069\u3001\u305d\u306e\u307e\u307e\u98df\u3079\u3066\u3088\u3057\u3001\u88fd\u83d3\u306b\u4f7f\u3063\u3066\u3088\u3057\u306e\u5927\u5909\u7f8e\u5473\u3057\u3044\u6d0b\u68a8\u3067\u3057\u305f\u3002 \u3075\u308b\u3055\u3068\u7d0d\u7a0e \u9e7f\u5150\u5cf6\u770c\u5357\u4e5d\u5dde\u5e02 \u5473\u306a\u3068\u308a \u30ec\u30a2\u70ad\u706b\u713c\u304d \u65e5\u7528\u54c1 \u30bf\u30aa\u30eb\u7814\u7a76\u6240 \u30d5\u30a7\u30a4\u30b9\u30bf\u30aa\u30eb 10\u679a\u30bb\u30c3\u30c8 \u624b\u6d17\u3044\u5f8c\u306b\u624b\u3092\u62ed\u304f\u30bf\u30aa\u30eb\u3068\u3057\u3066\u4f7f\u3063\u3066\u3044\u308b\u300210\u679a\u3042\u308b\u3068\u3001\u6d17\u6fef\u3092\u591a\u5c11\u30b5\u30dc\u3063\u3066\u3044\u3066\u3082\u3055\u3063\u3068\u4ea4\u63db\u3067\u304d\u308b\u306e\u3067\u4fbf\u5229\u3002 \u30bf\u30aa\u30eb\u7814\u7a76\u6240 \u30a8\u30af\u30b9\u30c8\u30e9\u30d0\u30b9\u30bf\u30aa\u30eb 2\u679a\u30bb\u30c3\u30c8 \u4e16\u306e\u4e2d\u3067\u306f\u30d5\u30a7\u30a4\u30b9\u30bf\u30aa\u30eb\u307f\u305f\u3044\u306a\u5c0f\u3055\u3044\u30bf\u30aa\u30eb\u3092\u30d0\u30b9\u30bf\u30aa\u30eb\u4ee3\u308f\u308a\u306b\u4f7f\u3046\u3068\u3044\u3046\u306e\u304c\u6d41\u884c\u3063\u3066\u3044\u308b\u3089\u3057\u3044\u3068\u3044\u3046\u5642\u3082\u805e\u304f\u3051\u3069\u3001\u30d0\u30b9\u30bf\u30aa\u30eb\u306a\u3093\u3066\u3067\u304b\u3051\u308c\u3070\u3067\u304b\u3044\u65b9\u304c\u826f\u3044\u3067\u3057\u3087\u3001\u3068\u601d\u3063\u3066\u3044\u308b\u3002\u3053\u308c\u306f\u4e16\u306e\u30c7\u30ab\u76ee\u306e\u30d0\u30b9\u30bf\u30aa\u30eb\u3088\u308a\u66f4\u306b\u3067\u304b\u3044\u3002 cado baton \u4e16\u306b\u3082\u73cd\u3057\u304d(?)\u68d2\u72b6\u306e\u30d8\u30a2\u30c9\u30e9\u30a4\u30e4\u30fc\u3002\u307e\u3041\u307e\u3041\u3044\u3044\u5024\u6bb5\u306f\u3059\u308b\u3093\u3060\u3051\u3069\u3001\u30c9\u30e9\u30a4\u30e4\u30fc\u306a\u3093\u3066\u305d\u3093\u306a\u306b\u8cb7\u3044\u66ff\u3048\u308b\u30e2\u30ce\u3067\u3082\u306a\u3044\u306e\u3067\u3001\u596e\u767a\u3057\u305f\u3002\u30de\u30a4\u30ca\u30b9\u30a4\u30aa\u30f3\u304c\u3069\u3046\u3068\u304b\u3068\u306f\u8a00\u3046\u3051\u3069\u3001\u305d\u306e\u8fba\u308a\u306f\u6b63\u76f4\u3069\u3046\u3067\u3082\u826f\u304f\u3066\u3001\u6301\u3063\u3066\u3044\u308b\u90e8\u5206\u304b\u3089\u81ea\u5206\u306b\u5411\u3051\u3066\u7b52\u304c\u4f38\u3073\u3066\u3044\u306a\u3044\u3001\u3068\u3044\u3046\u306e\u304c\u3059\u3054\u304f\u3044\u3044\u3002\u30c9\u30e9\u30a4\u30e4\u30fc\u306f\u982d\u304b\u308920cm\u96e2\u3057\u305f\u65b9\u304c\u3044\u3044\u3001\u3089\u3057\u3044\u3093\u3060\u3051\u3069\u3001\u666e\u901a\u306e\u5f62\u306e\u30c9\u30e9\u30a4\u30e4\u30fc\u306e\u9001\u98a8\u53e3\u3092\u982d\u304b\u308920cm\u96e2\u305d\u3046\u3068\u601d\u3046\u3068\u6301\u3061\u624b\u90e8\u5206\u306f\u7d50\u69cb\u9060\u304f\u306b\u6301\u3063\u3066\u3044\u304f\u5fc5\u8981\u304c\u3042\u3063\u3066\u8155\u304c\u3057\u3093\u3069\u304b\u3063\u305f\u3002\u305d\u306e\u70b9\u3053\u306e\u5f62\u72b6\u3060\u3068\u300120cm\u3068\u3044\u3063\u305f\u308920cm\u96e2\u305b\u3070\u826f\u3044\u306e\u3067\u3001\u975e\u5e38\u306b\u697d\u3002\u30d8\u30a2\u30a2\u30a4\u30ed\u30f3\u30b1\u30fc\u30b9 \u306b\u633f\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u53ce\u7d0d\u3082\u30b9\u30c3\u30ad\u30ea\u3057\u3066\u53d6\u308a\u51fa\u3057\u3084\u3059\u3044\u306e\u3067\u3068\u3066\u3082\u826f\u3044\u3067\u3059\u3002 \u30cd\u30d4\u30a2 \u304b\u3089\u3060\u60f3\u3044\u306e\u30c8\u30a4\u30ec\u30c3\u30c8\u30ed\u30fc\u30eb \uff14\u679a\u91cd\u306d \u8105\u5a01\u306e4\u679a\u91cd\u306d\u30c8\u30a4\u30ec\u30c3\u30c8\u30da\u30fc\u30d1\u30fc\u3002\u30a6\u30a9\u30b7\u30e5\u30ec\u30c3\u30c8\u76f4\u5f8c\u3067\u3082\u7834\u308c\u308b\u5fc3\u914d\u304c\u7686\u7121\u3067\u3059\u3002\u304a\u5024\u6bb5\u306f\u307e\u3041\u9ad8\u3044\u3063\u3061\u3083\u9ad8\u3044\u3093\u3060\u3051\u3069\u3001\u7537\u6027\u4e00\u4eba\u66ae\u3089\u3057\u3067\u4f7f\u3046\u30c8\u30a4\u30ec\u30c3\u30c8\u30da\u30fc\u30d1\u30fc\u306e\u91cf\u306a\u3093\u3066\u305f\u304b\u304c\u77e5\u308c\u3066\u3044\u308b\u3057\u3001\u8aa4\u5dee\u304b\u306a\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3002\u808c\u89e6\u308a\u3082\u5927\u5909\u826f\u304f\u3001Amazon\u3067\u30bb\u30fc\u30eb\u5bfe\u8c61\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3082\u3042\u308b\u3057\u3001\u305d\u306e\u8fba\u306e\u30c9\u30e9\u30c3\u30b0\u30b9\u30c8\u30a2\u3067\u3082\u610f\u5916\u3068\u58f2\u3063\u3066\u3044\u3066\u5165\u624b\u6027\u3082\u9ad8\u3044\u3002\u4e00\u5ea6\u304a\u8a66\u3057\u3042\u308c\u3002 Bambu Lab A1 \u5b9f\u969b\u3061\u3083\u3093\u3068\u4f7f\u3046\u304b\u306a\u301c\u3069\u3046\u304b\u306a\u301c\u3068\u601d\u3044\u306a\u304c\u3089\u8cb7\u3063\u305f3D\u30d7\u30ea\u30f3\u30bf\u3002\u4f7f\u3063\u3066\u307e\u3059\u3002\u9262\u76bf\u3092\u5237\u3063\u305f\u308a\u3001\u826f\u3044\u611f\u3058\u306e\u53ce\u7d0d\u30dc\u30c3\u30af\u30b9\u3092\u5237\u3063\u305f\u308a\u3001\u3075\u3068\u5fc5\u8981\u306b\u306a\u3063\u305fS\u5b57\u30d5\u30c3\u30af\u3092\u5237\u3063\u305f\u308a\u3002\u306a\u3093\u3084\u304b\u3093\u3084\u3068\u4fbf\u5229\u3067\u3059\u306d\u3002 Bambu Lab \u30de\u30c3\u30c8 PLA \u30c1\u30e3\u30b3\u30fc\u30eb \u30b9\u30d7\u30fc\u30eb\u7121\u3057 \u4e00\u756a\u4f7f\u3063\u3066\u3044\u308b\u30d5\u30a3\u30e9\u30e1\u30f3\u30c8\u306f\u3053\u306e\u3001Bambu Lab\u516c\u5f0f\u306e\u30de\u30c3\u30c8PLA\u9ed2\u3002Bambu Lab\u306e\u30d5\u30a3\u30e9\u30e1\u30f3\u30c8\u306f\u30b9\u30d7\u30fc\u30eb\u306a\u3057\u3067\u306e\u8ca9\u58f2\u304c\u3042\u3063\u3066\u3001\u4f7f\u3044\u7d42\u308f\u3063\u305f\u30ea\u30e6\u30fc\u30b6\u30d6\u30eb\u30b9\u30d7\u30fc\u30eb\u3092\u518d\u5229\u7528\u3067\u304d\u308b\u3068\u3044\u3046\u8a2d\u8a08\u3002\u305d\u3046\u3059\u308b\u3068\u304a\u5024\u6bb5\u3082\u304a\u5b89\u304f\u3066\u3001\u30bb\u30fc\u30eb\u306e\u6642\u3060\u30682000\u5186\u3092\u5207\u308b\u4f4d\u3067\u3001\u307e\u3041\u6700\u5b89\u5024\u30af\u30e9\u30b9\u3068\u8981\u3063\u3066\u3082\u826f\u3055\u305d\u3046\u306a\u5024\u6bb5\u3067\u8cb7\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 MATECH MagOn Ultra Slim 5000 \u3068\u306b\u304b\u304f\u8584\u3044MagSafe\u5bfe\u5fdc\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u3002\u6b63\u76f4MagSafe\u3067\u4f7f\u3063\u3066\u3044\u308b\u3068\u767a\u71b1\u3059\u308b\u3057\u3001\u5145\u96fb\u901f\u5ea6\u3082\u3055\u307b\u3069\u3067\u306f\u306a\u3044\u3051\u308c\u3069\u3001\u305d\u308c\u3092\u88dc\u3063\u3066\u4f59\u308a\u3042\u308b\u8584\u3055\u3002\u4f7f\u7528\u3057\u306a\u304c\u3089\u305d\u306e\u307e\u307e\u30b8\u30fc\u30d1\u30f3\u306e\u30dd\u30b1\u30c3\u30c8\u306b\u5165\u308c\u308b\u3053\u3068\u3060\u3063\u3066\u3067\u304d\u3061\u3083\u3046\u3002 \u30b5\u30f3\u30d7\u30e9\u30c6\u30c3\u30af \u30dd\u30ea\u30d7\u30ed\u30d4\u30ec\u30f3\u624b\u4ed8\u304d\u30d3\u30fc\u30ab\u30fc 3L \u30dd\u30ea\u30d7\u30ed\u30d4\u30ec\u30f3\u88fd\u306e\u3067\u304b\u30d3\u30fc\u30ab\u30fc\u3002\u52a0\u6e7f\u5668\u306b\u6c34\u3092\u88dc\u5145\u3059\u308b\u3068\u304d\u306a\u3069\u3001\u5bb6\u306e\u4e2d\u3067\u305d\u308c\u306a\u308a\u306e\u91cf\u306e\u6c34\u3092\u6301\u3061\u904b\u3076\u5fc5\u8981\u304c\u3042\u308b\u3068\u304d\u306b\u4fbf\u5229\u3002 SwitchBot CO2\u30bb\u30f3\u30b5\u30fc \u307f\u3093\u306a\u5927\u597d\u304d(?)SwitchBot\u306eCO2\u30bb\u30f3\u30b5\u30fc\u3002Bluetooth\/HTTP API\u7d4c\u7531\u3067\u6c17\u8efd\u306b\u30c7\u30fc\u30bf\u304c\u53d6\u308c\u308bCO2\u30bb\u30f3\u30b5\u30fc\u306f\u591a\u5206\u3053\u308c\u3060\u3051\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3046\u3002 \u30a8\u30a2\u30d0\u30f3\u30b0\u30eb \u30d0\u30f3\u30b0\u30eb\u30bf\u30a4\u30d7\u306eApple watch\u30d0\u30f3\u30c9(\u30d0\u30f3\u30c9?)\u3002\u3053\u308c\u3082\u4ed6\u3067\u306f\u898b\u305f\u3053\u3068\u304c\u306a\u3044\u30bf\u30a4\u30d7\u3067\u3001\u3068\u3066\u3082\u6c17\u306b\u5165\u3063\u3066\u3044\u308b\u3002\u6700\u521d\u306f\u3079\u3063\u3053\u3046\u306e\u5974\u3092\u8cb7\u3063\u3066\u4f7f\u3063\u3066\u3044\u305f\u3093\u3060\u3051\u3069\u3001\u8155\u306b\u3064\u3051\u308b\u3068\u6848\u5916\u3079\u3063\u7532\u67c4\u304c\u5206\u304b\u3089\u306a\u3044\u306a\u301c\u3001\u3068\u601d\u3063\u3066\u3044\u305f\u3068\u3053\u308d\u3001\u3088\u308a\u660e\u308b\u3044\u30bf\u30a4\u30d7 \u304c\u3067\u305f\u306e\u3067\u3082\u3046\u4e00\u672c\u8cb7\u3063\u305f\u3002\u65b0\u3057\u3044\u8272\u304c\u51fa\u308b\u5ea6\u306b\u6b32\u3057\u304f\u306a\u308b\u7a0b\u5ea6\u306b\u306f\u304a\u6c17\u306b\u5165\u308a\u3002 \u97f3\u697d XVIVE U4 \u30a4\u30f3\u30a4\u30e4\u30fc\u30e2\u30cb\u30bf\u30fc \u30ef\u30a4\u30e4\u30ec\u30b9\u30b7\u30b9\u30c6\u30e0 \u4eca\u5e74\u306f\u521d\u3081\u3066\u30dc\u30fc\u30ab\u30eb\u3092\u3084\u3063\u305f \u306e\u3067\u3001\u65b0\u6a5f\u6750\u3068\u3057\u3066\u8cfc\u5165\u3002\u697d\u5668\u968a\u306e\u97f3\u3067\u81ea\u5206\u306e\u58f0\u304c\u805e\u3053\u3048\u306a\u304f\u306a\u308b\u306e\u3067\u3001\u521d\u5fc3\u8005\u307b\u3069\u3042\u308b\u3068\u52a9\u304b\u308b\u3068\u601d\u3044\u307e\u3059\u3002 BOSS GT-1000 CORE \u30e1\u30eb\u30ab\u30ea\u3067\u8cb7\u3063\u305f\u3002\u3044\u3044\u5024\u6bb5\u306f\u3059\u308b\u3093\u3060\u3051\u3069\u3001\u826f\u3044\u3067\u3059\u3002 CASIO DIMENSION TRIPPER \u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u3067\u8cfc\u5165\u3057\u305f\u3001\u6fc0\u5c16\u308a\u6a5f\u6750\u30022024\u5e74\u306e\u672c\u756a \u3067\u4f7f\u3063\u305f\u3002 ROCKBOARD by Warwick \u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9 RBO B 2.1 DUO HERCULES \u30b9\u30c8\u30e9\u30c3\u30d7\uff06\u30d8\u30c3\u30c9\u30db\u30f3\u30db\u30eb\u30c0\u30fc HA700 \u30ae\u30bf\u30fc\u30b9\u30bf\u30f3\u30c9\u306b\u30ae\u30bf\u30fc\u3092\u7f6e\u3044\u305f\u3068\u304d\u3001\u30b9\u30c8\u30e9\u30c3\u30d7\u304c\u305f\u308c\u308b\u306e\u304c\u5fae\u5999\u3067\u8cfc\u5165\u3002 Lomicall \u4e09\u811a Lomicall \u30bf\u30d6\u30ec\u30c3\u30c8 \u30db\u30eb\u30c0\u30fc LEKATO \u30da\u30fc\u30b8\u30bf\u30fc\u30ca\u30fc iPad Pro\u3067\u697d\u8b5c\u3092\u8868\u793a\u3057\u3066\u3001\u30da\u30fc\u30b8\u30bf\u30fc\u30ca\u30fc\u3067\u8b5c\u3081\u304f\u308a\u3092\u3057\u3066\u3001iPad mini\u3067\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306e\u8a2d\u5b9a\u3092\u3044\u3058\u308b\u3001\u3068\u3044\u3046\u69cb\u6210\u3002 CME WIDI \u30b8\u30e3\u30c3\u30af Bluetooth\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044MIDI Device\u3092Bluetooth\u7d4c\u7531\u3067\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3002GT-1000\u7528\u306e\u30a2\u30d7\u30ea\u3067GT-1000core\u306e\u8a2d\u5b9a\u3092\u3044\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u3001\u6357\u308a\u307e\u3059\u3002 \u9ad8\u7d1a\u30a2\u30eb\u30c8\u30d9\u30f3\u30ea \u30a2\u30eb\u30c8\u30d9\u30f3\u30ea\u306f\u5b89\u3044\u3082\u306e\u304c\u591a\u3044\u3067\u3059\u304c\u3001\u5b89\u7269\u3068\u306f\u9055\u3044\u307e\u3059\u306d\u3002 KORG KDM-3 \u30a2\u30ca\u30ed\u30b0\u30e1\u30c8\u30ed\u30ce\u30fc\u30e0\u3063\u307d\u3044\u5f62\u3092\u3057\u305f\u30c7\u30b8\u30bf\u30eb\u30e1\u30c8\u30ed\u30ce\u30fc\u30e0\u3002\u30e1\u30c8\u30ed\u30ce\u30fc\u30e0\u306a\u3093\u3066\u3044\u307e\u3069\u304d\u30b9\u30de\u30db\u3067\u3082\u9cf4\u3089\u305b\u308b\u3051\u3069\u3001\u5177\u4f53\u7269\u3068\u3057\u3066\u30dc\u30bf\u30f3\u3084\u3089\u306a\u3093\u3084\u3089\u304c\u3064\u3044\u3066\u3044\u308b\u307b\u3046\u304c\u3084\u306f\u308a\u4f7f\u3044\u3084\u3059\u3044\u3002\u3053\u308c\u307e\u3067\u306fYAMAHA TDM-70 \u3092\u4f7f\u3063\u3066\u3044\u305f\u3051\u3069\u3001\u6d41\u77f3\u306b\u53e4\u3059\u304e\u3066\u30b9\u30d4\u30fc\u30ab\u30fc\u306e\u8abf\u5b50\u304c\u60aa\u304f\u306a\u3063\u3066\u304d\u3066\u3044\u305f\u306e\u3067\u8cb7\u3044\u66ff\u3048\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u30e4\u30de\u30cf\u306e\u5f8c\u7d99\u6a5f\u3067\u3082\u826f\u304b\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u73fe\u884c\u6a5f\u7a2e\u306e\u30c7\u30b6\u30a4\u30f3\u304c\u306a\u3093\u3068\u306a\u304f\u597d\u304d\u306b\u306a\u308c\u306a\u304b\u3063\u305f\u306e\u3067KORG\u306e\u3053\u3061\u3089\u3092\u8cfc\u5165\u3002\u7d50\u679c\u6e80\u8db3\u3067\u3059\u3002 \u66f8\u7c4d \u4e3b\u306b\u30b3\u30df\u30c3\u30af\u3002\u5c0f\u8aac\u3068\u304b\u96d1\u8a8c\u3082\u8cb7\u3063\u3066\u8aad\u3093\u3067\u306f\u3044\u308b\u3051\u3069\u3001\u307e\u3041\u3001\u7d39\u4ecb\u306f\u3057\u306a\u304f\u3066\u3082\u826f\u3044\u304b\u306a\u3002\n\u30d5\u30fc\u30c9\u30b3\u30fc\u30c8\u3067\u3001\u307e\u305f\u660e\u65e5\u3002 Artiste \u6ce2\u3088\u805e\u3044\u3066\u304f\u308c \u3072\u307e\u3066\u3093\uff01 \u305d\u306e\u6642\u306e\u5f7c\u5973\u304c\u4eca\u306e\u59bb\u3067\u3059 \u3082\u3084\u3057\u3082\u3093\uff0b \u5fd7\u4e43\u3068\u604b \u597d\u90fd\u5408\u30bb\u30df\u30d5\u30ec\u30f3\u30c9 \u30d1\u30ea\u30d4\u5b54\u660e \u6c38\u4e16\u4e59\u5973\u306e\u6226\u3044\u65b9 \u5b87\u5d0e\u3061\u3083\u3093\u306f\u904a\u3073\u305f\u3044\uff01 \u5b99\u306b\u53c2\u308b \u4e0d\u5668\u7528\u306a\u5148\u8f29\u3002 \u30eb\u30ea\u30c9\u30e9\u30b4\u30f3 \u5e7c\u5973\u6226\u8a18 \u30c9\u30ab\u98df\u3044\u30c0\u30a4\u30b9\u30ad\uff01 \u3082\u3061\u3065\u304d\u3055\u3093 \u30e4\u30f3\u30ad\u30fc\u541b\u3068\u79d1\u5b66\u3054\u306f\u3093 \u9e7f\u6953\u5802\u3088\u3064\u3044\u308d\u65e5\u548c \u3081\u3093\u3064\u3086\u3072\u3068\u308a\u98ef \u57fc\u7389\u306e\u5973\u5b50\u9ad8\u751f\u3063\u3066\u3069\u3046\u601d\u3044\u307e\u3059\u304b\uff1f \u306e\u3042\u5148\u8f29\u306f\u3068\u3082\u3060\u3061\u3002 \u3046\u3061\u306e\u4f1a\u793e\u306e\u5c0f\u3055\u3044\u5148\u8f29\u306e\u8a71 \u30a4\u30b1\u30e1\u30f3\u5f7c\u5973\u3068\u30d2\u30ed\u30a4\u30f3\u306a\u4ffa!? \uff4d\uff4f\uff4e\uff4f \u5c3e\u5b88\u3064\u307f\u304d\u3068\u5947\u65e5\u5e38\u3002 \u5f31\u866b\u30da\u30c0\u30eb ","permalink":"https:\/\/blog.web-apps.tech\/2025-must-buy\/","summary":"<p>\u4eca\u5e74\u306f\u4e3b\u306b\u5712\u82b8\u3068\u6599\u7406\u306e\u5e74\u3067\u3057\u305f\u3002\u307e\u305f\u3001<a href=\"\/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\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\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\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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"2025\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u3082\u306e"},{"content":"\u672c\u8a18\u4e8b\u306f\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 2\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u6628\u65e5\u306fKaitou\u3055\u3093\u306e\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 \u3067\u3057\u305f\u3002 \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\n\u6268\u3001\u5b9f\u306f\u5409\u7965\u5bfa.pm\u306f\u6628\u5e74\u306e\u5927\u5409\u7965\u5bfa.pm\u306b\u884c\u3063\u305f \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\u5409\u7965\u5bfa.pm\u516c\u5f0f\u306eX Post \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\u4e32\u9ce5 \u3092\u3054\u7d39\u4ecb\u3044\u305f\u3057\u307e\u3059\u3002\n\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\n\u5409\u7965\u5bfa\u306e\u7f8e\u5473\u3057\u3044\u3082\u306e\u60c5\u5831\u3067\u3082\u53ef\u3067\u3059https:\/\/t.co\/jVZZWhByxx#kichijojipm\n&mdash; \u5409\u7965\u5bfa.pm (@kichijojipm) November 10, 2025 \u4e32\u9ce5 \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 \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 \u672c\u8a18\u4e8b\u4e2d\u306e\u5199\u771f\u306f\u4e32\u9ce5\u6771\u533a\u5f79\u6240\u524d\u5e97\u3067\u64ae\u5f71\u3057\u307e\u3057\u305f\u3002\n\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\n\u5642 \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\n\u4ee5\u4e0b\u3001\u4e32\u9ce5\u3067\u98df\u3079\u305f\u3082\u306e\u306e\u5199\u771f\u3092\u63b2\u8f09\u3057\u307e\u3059:\n\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 \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\n\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\n\u3072\u306a\u76ae\u3001\u624b\u7fbd\u5148\u3001\u3064\u304f\u306d(\u6885\u3057\u305d)\u3002 \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 \u3082\u3061\u30d9\u30fc\u30b3\u30f3\u3001\u4e32\u9ce5\u4ee5\u5916\u3067\u898b\u305f\u3053\u3068\u306a\u3044\u6c17\u304c\u3059\u308b\u3002\n\u5ca9\u4e0b\u306e\u65b0\u751f\u59dc\u8c5a\u5dfb\u304d\u3001\u713c\u304d\u30ab\u30c1\u30e7\u30ab\u30f4\u30a1\u30ed\u3002 \u30c1\u30fc\u30ba\u304c\u713c\u304b\u308c\u3066\u308b\u3068\u306a\u3093\u304b\u98df\u3079\u305f\u304f\u306a\u308a\u307e\u3059\u3088\u306d\u3002\n\u307d\u3093\u307d\u3061\u3001\u8c5a\u5473\u564c\u6d77\u82d4\u5dfb\u304d\u3001\u8c5a\u3057\u305d\u5dfb\u304d\u3002 \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\n\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\n\u30b3\u30e9\u30dc\u30b0\u30c3\u30ba \u6700\u8fd1\u3001\u4e32\u9ce5\u3068\u5cf6\u6751\u697d\u5668 \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:\n\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\n\u7de0\u3081\u306e\u4e00\u53e5 \u3057\u3063\u3066\u308b\u304b\n\u5409\u7965\u5bfa\u306b\u3082\n\u4e32\u9ce5\u304c\n","permalink":"https:\/\/blog.web-apps.tech\/kushidori\/","summary":"<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>\n 2\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=\"\/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\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/kushidori\/images\/1_hu_b3bdd8da3a364227.jpg\" alt=\"\u3072\u306a\u76ae\u3001\u624b\u7fbd\u5148\u3001\u3064\u304f\u306d\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u4e32\u9ce5"},{"content":"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#TechRockFestival \u3067\u3057\u305f\u3002 \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\n\u30a4\u30d9\u30f3\u30c8\u81ea\u4f53\u306e\u958b\u50ac\u7d4c\u7def\u306f2023\u5e74\u306e\u30ec\u30dd\u30fc\u30c8 \u3092\u53c2\u7167\u306e\u3053\u3068\u3002\n\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\n\u6a5f\u6750 \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 \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 \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\u306fXvive XV-U4 \u3092\u8cfc\u5165\u3057\u3001\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002\n\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 \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\u305fSennheiser IE100 PRO \u3092\u9078\u3073\u307e\u3057\u305f\u3002\n\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 \u552f\u4e00\u306e\u6b20\u70b9\u306fUSB micro-B\u5145\u96fb\u3067\u3042\u308b\u3001\u3068\u3044\u3046\u70b9\u3067\u3059\u306d\u30fb\u30fb\u30fb\n\u30d0\u30f3\u30c9\u3068\u6f14\u76ee \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 \u306a\u3093\u306a\u306e\u3060\u3053\u306e\u540d\u524d\u306f\u30fb\u30fb\u30fb \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\n\u9762\u5b50:\nnasa9084 (Vo) takasp (Gt) capytan (Ba) Hano (Key) \u3046\u3064\u307c (Dr) \u66f2\u76ee:\n\u30c6\u30ec\u30ad\u30e3\u30b9\u30bf\u30fc\u30d3\u30fc\u30dc\u30fc\u30a4 \u30a2\u30f3\u30ce\u30a6\u30f3\u30de\u30b6\u30fc\u30b0\u30fc\u30b9 \u6708\u5149\u82b1 \u602a\u7363 \u30d2\u30c8\u30ea\u30ce\u591c \u6b21 \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 \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\n","permalink":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2025-11-22\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Tech Rock Festival 2025.11.22"},{"content":"2025\u5e7411\u670814\u65e5\u301c15\u65e5\u306b\u798f\u5ca1\u5de5\u696d\u5927\u5b66\u3067\u958b\u50ac\u3055\u308c\u305f\u3001YAPC::Fukuoka 2025 \u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002 YAPC\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#yapcjapan \u3067\u3057\u305f\u3002\n\u524d\u56de\u306e\u51fd\u9928 \u304b\u3089\u7d041\u5e74\u3076\u308a\u3001\u798f\u5ca1\u3067\u306e\u958b\u50ac\u306f2017\u5e74\u4ee5\u67652\u5ea6\u76ee \u3067\u3001YAPC::Japan\u3068\u3057\u3066\u306f\u521d\u3081\u3066\u306e2\u65e5\u9593\u958b\u50ac\u3068\u306a\u308a\u307e\u3057\u305f\u3002\n\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\n\u524d\u65e5 \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\n\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\n\u305d\u306e\u5f8c\u3001\u30ab\u30fc\u30b7\u30a7\u30a2\u3092\u501f\u308a\u3066\u3001FUKUOKA EFFECT \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\n\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\n\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\n\u591c\u3054\u98ef\u306f\u7267\u306e\u3046\u3069\u3093 \u3067\u8089\u3046\u3069\u3093\u3092\u98df\u3079\u307e\u3057\u305f\u3002\nDay 1 \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\n\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\n\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\n\u4e00\u65e5\u76ee\u306f\u4ee5\u4e0b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8074\u304d\u307e\u3057\u305f:\n\u300c\u6b63\u898f\u8868\u73fe\u3092\u3064\u304f\u308b\u300d\u3092\u3064\u304f\u308b \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 \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 \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 Learning Scalable DNS Resolvers from Hyper-Scalers 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 \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\n\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\nDay 2 \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\n\u4e8c\u65e5\u76ee\u306f\u4ee5\u4e0b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8074\u304d\u307e\u3057\u305f:\n\u30b2\u30b9\u30c8\u30b2\u30b9\u30c8\u30c8\u30fc\u30af \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 \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\n\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](https:\/\/x.com\/karupanerura] san\u3068@magnoria_k san\u3092\u773a\u3081\u305f\u308a\u3082\u3057\u307e\u3057\u305f:\n\u6765\u5e74\u306eYAPC\u306f\u30d3\u30c3\u30b0\u30b5\u30a4\u30c8\u3060\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u826f\u3044\u611f\u3058\u306e\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u3092\u6e96\u5099\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/yapc-fukuoka-2025\/","summary":"<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=\"\/yapc-hakodate-2024\/\">\u524d\u56de\u306e\u51fd\u9928<\/a>\n\u304b\u3089\u7d041\u5e74\u3076\u308a\u3001<a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/yapc-fukuoka-2025\/images\/fukuoka_effect_hu_3b880e35f6dc5b54.jpg\" alt=\"FUKUOKA EFFECT\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/yapc-fukuoka-2025\/images\/kante_hu_7dea4a3601ddc8bb.jpg\" alt=\"\u30a8\u30b1\u30d9\u30ea\u30a2 \u30ab\u30f3\u30c6\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/yapc-fukuoka-2025\/images\/hakuchouge_hu_957c97f70cc46cea.jpg\" alt=\"\u767d\u4e01\u82b1\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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>\n san\u3068<a href=\"https:\/\/x.com\/magnolia_k_\" target=\"_blank\" rel=\"noopener\">@magnoria_k<\/a>\n san\u3092\u773a\u3081\u305f\u308a\u3082\u3057\u307e\u3057\u305f:<\/p>","title":"YAPC::Fukuoka 2025"},{"content":"Context 4\u968e\u5efa\u3066\u30de\u30f3\u30b7\u30e7\u30f3\u306e4\u968e\u306b\u4f4f\u3093\u3067\u3044\u308b \u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306f\u30aa\u30fc\u30c8\u30ed\u30c3\u30af\u306e\u5916\u5074\u306b\u3042\u308b \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 \u30df\u30cd\u30e9\u30eb\u30a6\u30a9\u30fc\u30bf\u30fc\u306e\u9298\u67c4\u7b49\u306b\u7279\u5225\u306a\u3053\u3060\u308f\u308a\u306f\u7121\u3044 \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 \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 \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 Timeline 2025.10.28 Amazon\u3067\u30df\u30cd\u30e9\u30eb\u30a6\u30a9\u30fc\u30bf\u30fc(550mL\u00d724\u672c\u00d72\u7bb1)\u3092\u30bb\u30fc\u30eb\u3067\u8cfc\u5165\u3002 \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 \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\n\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 \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\n\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 \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\n\u305d\u306e\u9593\u5b85\u914d\u30dc\u30c3\u30af\u30b9\u306f\u958b\u3051\u3063\u3071\u306a\u3057\u3067\u3002\n2025.10.30 20\u6642\u524d 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 \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\n\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 \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\n\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 \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\n\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 \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\n2025.11.06 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\n\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 \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 \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\n\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\n\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\n#### 2025.11.12\u8ffd\u8a18 \u5f8c\u65e5\u8ac7\u3068\u3044\u3046\u304b\u3001\u4eca\u56de\u306e\u30aa\u30c1\u3002 \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 \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\n\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\n\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 \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\n\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 ","permalink":"https:\/\/blog.web-apps.tech\/amazon-water-delivery-issue\/","summary":"<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":"\u6c34\u306e\u914d\u9054\u3067\u30b4\u30bf\u30b4\u30bf\u3057\u305f\u4ef6"},{"content":"\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\n\u306a\u304a\u3001\u7d50\u5a5a\u3067\u306f\u3042\u308a\u307e\u305b\u3093\n\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\n\u7d4c\u7def \u3068\u3044\u3046\u307b\u3069\u7d4c\u7def\u306f\u7279\u306b\u306a\u3044\u306e\u3067\u3059\u304c\u3002\n\u4e21\u89aa\u304c\u96e2\u5a5a\u3057\u305f \u7236\u65b9\u306e\u89aa\u621a\u3068\u306f\u758e\u9060\/\u3042\u307e\u308a\u95a2\u308f\u308a\u305f\u304f\u306a\u3044 \u6bcd\u65b9\u306e\u89aa\u621a\u3068\u306f\u4ef2\u304c\u826f\u3044 \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 \u305d\u3082\u305d\u3082\u7d50\u5a5a\u306e\u4e88\u5b9a\u306f\u306a\u3044 \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 \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 \u30d6\u30ed\u30b0\u30cd\u30bf\u3068\u3057\u3066\u9762\u767d\u305d\u3046 \u6bcd\u65b9\u306e\u6c0f\u306e\u65b9\u304c\u73cd\u3057\u3044 \u73cd\u3057\u3044\u540d\u5b57\u306e\u65b9\u304c\u5f37\u3044(?) \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 \u9762\u767d\u534a\u5206\u3067\u3084\u3063\u3066\u3082\u307e\u3041\u5927\u3057\u305f\u554f\u984c\u306f\u306a\u3044 \u3068\u3044\u3046\u3053\u3068\u3067\u6539\u59d3\u306b\u81f3\u308a\u307e\u3057\u305f\u3002\n\u624b\u7d9a\u304d \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\n\u5bb6\u5ead\u88c1\u5224\u6240\u304b\u3089\u306e\u8a31\u53ef\u306f\u3001\u5b50\u306e\u6c0f\u306e\u5909\u66f4\u8a31\u53ef \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 \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\n\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\n\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\n\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\n\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\n\u3064\u307e\u308a\u3001\u307e\u3068\u3081\u308b\u3068\u3001\n\u5b50\u306e\u6c0f\u306e\u5909\u66f4\u8a31\u53ef\u7533\u7acb\u66f8 x 1 \u5909\u66f4\u3092\u3057\u305f\u3044\u4eba\u6570 x 800\u5186\u306e\u53ce\u5165\u5370\u7d19\u3092\u8cbc\u308b \u81ea\u5206\u306e\u6238\u7c4d\u8b04\u672c(\u5168\u90e8\u4e8b\u9805\u8a3c\u660e\u66f8) x 1 \u6bcd\u306e\u6238\u7c4d\u8b04\u672c(\u5168\u90e8\u4e8b\u9805\u8a3c\u660e\u66f8) x 1 \u8fd4\u4fe1\u7528\u90f5\u4fbf\u5207\u624b \u5909\u66f4\u3092\u3057\u305f\u3044\u4eba\u6570 x \u5c01\u7b52\u306e\u5207\u624b\u4ee3 \u3092\u5c01\u7b52\u306b\u5165\u308c\u3066\u5bb6\u5ead\u88c1\u5224\u6240\u306b\u9001\u308c\u3070\u826f\u3044\u3001\u3067\u3059\u3002\n\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\n\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 \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\n\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\n\u305d\u306e\u4ed6\u5909\u66f4\u306e\u624b\u7d9a\u304d \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 \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\n\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\n\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\n\u4fbf\u5229\u306a\u4e16\u306e\u4e2d\u306b\u306a\u3063\u305f\u3082\u306e\u3067\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/change-family-name\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u82d7\u5b57\u304c\u5909\u308f\u308a\u307e\u3057\u305f"},{"content":"\u30ad\u30c3\u30b7\u30e5\u3001\u3068\u3044\u3046\u6599\u7406\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\u3002 \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\n\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\n\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 \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 \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\n\u6750\u6599\u306f\u3053\u3061\u3089:\n\u51b7\u51cd\u30d1\u30a4\u30b7\u30fc\u30c8 1~2\u679a (\u5bb9\u5668\u306b\u6577\u3051\u308b\u304f\u3089\u3044) \u5375 3\u500b \u751f\u30af\u30ea\u30fc\u30e0 100mL \u5177\u6750 \u5869 \u3053\u3057\u3087\u3046 \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\n\u5177\u6750\u306f\u9069\u5f53\u306a\u91cf\u3092\u5165\u308c\u307e\u3059\u3002 \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 \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 \u6c41\u6c17\u304c\u306a\u3051\u308c\u3070\u5927\u4f53\u5927\u4e08\u592b\u3067\u3059\u3002\u591a\u5206\u3002\n\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 \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\n\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\n\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 \u79c1\u306e\u30aa\u30b9\u30b9\u30e1\u306f\u53d6\u3063\u624b\u304c\u53d6\u308c\u308b\u30d5\u30e9\u30a4\u30d1\u30f3\u3067\u3059\u3002 \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 \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\n\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 \u9577\u65b9\u5f62\u30bf\u30a4\u30d7\u306e\u5834\u5408\u306f2\u679a\u6577\u304f\u3068\u3088\u3055\u305d\u3046\u3067\u3059\u3002\n\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 \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\n\u307e\u305f\u3001\u3053\u306e\u6642\u70b9\u3067\u30aa\u30fc\u30d6\u30f3\u3092180\u5ea6\u306b\u4e88\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\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 \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\n\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\n\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 100mL\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\n\u5375\u30923\u3064\u5165\u308c\u307e\u3059\u3002 \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 \u7279\u306b\u56f0\u3063\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u5869\u3053\u3057\u3087\u3046\u3092\u9069\u5f53\u306b\u5165\u308c\u307e\u3059\u3002 \u3042\u308c\u3070\u30ca\u30c4\u30e1\u30b0\u3082\u5165\u308c\u308b\u3068\u826f\u3044\u9999\u308a\u304c\u3057\u307e\u3059\u3002 \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 \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\n\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\n\u5177\u6750\u3092\u5165\u308c\u3066\u6df7\u305c\u307e\u3059\u3002 \u79c1\u306f\u3042\u308b\u3082\u306e\u3092\u9069\u5f53\u306b\u5165\u308c\u307e\u3059\u3002\n\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 \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 \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\n\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 \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 \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\n\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\n\u5f8c\u306f180\u5ea6\u306720~30\u5206\u304f\u3089\u3044\u3001\u5375\u6db2\u304c\u56fa\u307e\u308b\u307e\u3067\u713c\u304d\u307e\u3059\u3002 \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 \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 \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\n\u713c\u304d\u4e0a\u304c\u3063\u305f\u3089\u76bf\u306b\u51fa\u3057\u3066\u3001\u5305\u4e01\u306a\u3069\u3067\u5207\u3063\u3066\u98df\u3079\u307e\u3059\u3002 \u9762\u5012\u306a\u3089\u5207\u3089\u306a\u3044\u3067\u98df\u3079\u3066\u3082\u826f\u3044\u3067\u3059\u304c\u3001\u7d50\u69cb\u826f\u3044\u91cf\u306b\u306a\u308b\u306e\u3067\u5207\u308b\u306e\u3092\u30aa\u30b9\u30b9\u30e1\u3057\u307e\u3059\u3002 \u79c1\u306f\u3060\u3044\u305f\u3044\u534a\u5206\u304f\u3089\u3044\u3092\u713c\u3044\u305f\u65e5\u306b\u3042\u305f\u305f\u304b\u3044\u72b6\u614b\u3067\u98df\u3079\u3066\u3001\u6b8b\u308a\u306f\u51b7\u8535\u5eab\u306b\u5165\u308c\u3066\u304a\u3044\u3066\u7fcc\u65e5\u306e\u663c\u3054\u98ef\u306b\u3057\u307e\u3059\u3002\n\u4f5c\u3063\u305f\u3089\u7686\u3055\u3093\u306e\u30ad\u30c3\u30b7\u30e5\u306e\u5177\u6750\u3082\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002\u30ad\u30ce\u30b3\u4ee5\u5916\u3067\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/lazy-quiche\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\"\u6020\u60f0\u306a\u4eba\u306e\u305f\u3081\u306e\"\u30ad\u30c3\u30b7\u30e5"},{"content":"2025\u5e746\u670817\u65e5\/18\u65e5\u306b\u958b\u50ac\u3055\u308c\u305fKubeCon + CloudNativeCon Japan 2025 \u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \u307e\u305f\u3001\u305d\u306e\u524d\u65e516\u65e5\u306bCo-located Event\u3068\u3057\u3066Japan Community Day \u306e\u4e00\u90e8\u3068\u3057\u3066Doc Sprint\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3092\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002\nKubeCon\u306fKubernetes \u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001Cloud Native Computing Foundation (CNCF)\u304c\u4e3b\u50ac\u3057\u3066\u3044\u307e\u3059\u3002 \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\nDoc Sprint \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 Japan 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\nDoc 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@junya__okabe \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\n\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\n\u666f\u8272\u3082\u5927\u5909\u826f\u304f\u3001\u5927\u5909\u826f\u3044\u4f1a\u5834\u3067\u3057\u305f\u3002\nKubeCon\u672c\u796d \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 \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:\nJob 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):\n\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\u30012-Node Kubernetes \u3068\u3044\u3046\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u3057\u305f\u3002 \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\n2\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 \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\n\u6765\u5e74\u3082KubeCon\u3092\u65e5\u672c\u3067\u3082\u958b\u50ac\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u30d7\u30ed\u30dd\u30fc\u30b6\u30eb\u304c\u901a\u308b\u3088\u3046\u306b\u9811\u5f35\u3063\u3066\u3044\u304d\u305f\u3044\u3067\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/kubecon-japan-2025\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"KubeCon Japan 2025"},{"content":"\u4eca\u5e74\u3082\u6885\u306e\u5b63\u7bc0\u304c\u3084\u3063\u3066\u304d\u307e\u3057\u305f\u3002 \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 \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\u3075\u308b\u3055\u3068\u7d0d\u7a0e\u3067\u7d2b\u5b9d\u6885\u300e\u30df\u30b9\u306a\u3067\u3057\u3053(R)\u300f \u3068\u3044\u3046\u3001\u7d2b\u8272\u306e\u6885\u3092\u624b\u306b\u5165\u308c\u307e\u3057\u305f\u3002 \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\n1kg\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 \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 \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\n\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\n\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 \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\n\u74f6\u306fPET\u6b63\u306e\u679c\u5b9f\u9152\u74f6\u3092\u9078\u3073\u307e\u3057\u305f\u3002\u6628\u5e74\u4f7f\u3063\u305f\u30e2\u30ce \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\n\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\n\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 \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:\n\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\n\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 1\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\n\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 1\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\n\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 \u4e0a\u304b\u3089\u30de\u30c3\u30ad\u30fc\u3067\u8a02\u6b63\u3057\u3066\u304a\u304d\u307e\u3057\u305f\u3002\n\u307e\u305f\u6765\u5e74\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2025\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2025\/images\/day-1_hu_88034f52ae3f8db7.jpg\" alt=\"Day1\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u6885\u4ed5\u4e8b2025"},{"content":"\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\n\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 Wikipedia \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\n\u5f53\u7136(?)\u30c1\u30ab\u306f\u5357\u86ee\u6f2c\u3051\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002\n\u6750\u6599\u306f\u3053\u3061\u3089: \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 \u6211\u304c\u5bb6\u3067\u306f\u5730\u7344\u306e\u69d8\u306a\u91cf\u306e\u7389\u306d\u304e\u3092\u5165\u308c\u307e\u3059\u3002 \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\n\u307e\u305f\u3001\u6f2c\u3051\u5730\u3068\u3057\u3066\u3001\n\u9162 1cup \u7802\u7cd6 \u5927\u3055\u30586 \u91a4\u6cb9 \u5927\u3055\u30588 \u51fa\u6c41 2cup \u5510\u8f9b\u5b50\u5c0f\u53e3\u5207\u308a \u9069\u91cf \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 \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 \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 \u9762\u5012\u3067\u3042\u308c\u3070\u6c17\u306b\u3057\u306a\u304f\u3066\u3082\u8aa4\u5dee\u3060\u3068\u306f\u601d\u3044\u307e\u3059\u3002 \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: \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\n\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\n\u6b21\u306b\u30c1\u30ab\u306e\u51e6\u7406\u3092\u3057\u307e\u3059\u3002 \u6d41\u77f3\u306b\u3053\u306e\u30b5\u30a4\u30ba\u306b\u306a\u308b\u3068\u4ee5\u524d\u3084\u3063\u305f\u3088\u3046\u306b \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 Youtube\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 \u3084\u306f\u308a\u30b3\u30c4\u306f\u5305\u4e01\u3092\u3088\u304f\u7814\u3044\u3067\u304a\u304f\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\n\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\n\u7247\u6817\u7c89\u3092\u3064\u3051\u3066\u63da\u3052\u3066:\n\u6f2c\u3051\u5730\u306b\u7a81\u3063\u8fbc\u3093\u3067:\n\u91ce\u83dc\u3082\u5165\u308c\u3066:\n\u9069\u5f53\u306a\u5bb9\u5668\u306b\u5165\u308c\u3066\u4e00\u6669\u51b7\u8535\u5eab\u3067\u5bdd\u304b\u305b\u307e\u3059:\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/chika-namban\/","summary":"<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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30c1\u30ab\u306e\u5357\u86ee\u6f2c\u3051"},{"content":"\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@chamaharun \u3068@ne_saya \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\n0\u65e5\u76ee: \u672d\u5e4c\u2192\u6771\u4eac\u2192\u30db\u30fc\u30c1\u30df\u30f3 \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 \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 \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:\n\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:\n\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:\n1\u65e5\u76ee: \u30db\u30fc\u30c1\u30df\u30f3 \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\n\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\n\u307e\u305a\u306f\u3059\u3050\u304a\u96a3\u306eHIGHLANDS COFFEE\u3067\u4e00\u767a\u76ee\u306e\u30d9\u30c8\u30ca\u30e0\u30b3\u30fc\u30d2\u30fc:\nHIGHLANDS 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\n35k VND==\u5927\u4f53200\u5186\u304f\u3089\u3044\u3002\u5b89\u3044\u3002\u6c37\u304c\u3084\u3070\u3044\u3002\n\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\n\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:\n\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 \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 \u898b\u6163\u308c\u305f\u30ed\u30b4\u3067\u5b89\u5fc3\u611f\u304c\u3059\u3054\u3044:\n\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\n\u9ad8\u5cf6\u5c4b\u306f\u5b89\u5fc3\u611f\u304c\u3042\u308a\u307e\u304f\u3063\u3066\u3001\u30ed\u30a4\u30ba\u304c\u3042\u3063\u305f\u308a:\n\u767d\u3044\u604b\u4eba\u304c\u3042\u3063\u305f\u308a:\n\u3067\u3001\u3061\u3087\u3063\u3068\u5b89\u5fc3\u611f\u304c\u3042\u308a\u3059\u304e\u308b\u304f\u3089\u3044\u3067\u3057\u305f\u3002\n\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)\n\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:\n79k VND\u306a\u306e\u3067\u3001\u65e5\u672c\u5186\u3060\u3068500\u5186\u5f31\u304f\u3089\u3044\u3002\n\u4ed6\u306b\u3082\u30c0\u30a4\u30bd\u30fc\u304c\u3042\u308a\u307e\u3057\u305f:\n\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\n\u30de\u30c4\u30e2\u30c8\u30ad\u30e8\u30b7\u304c\u3042\u3063\u305f\u308a:\n\u713c\u304d\u8089\u30e9\u30a4\u30af\u304c\u3042\u3063\u305f\u308a:\n\u30d3\u30a2\u30fc\u30c9\u30d1\u30d1\u304c\u3042\u3063\u305f\u308a:\n\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\n\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\n\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 \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\n\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\n\u305d\u306e\u5f8c\u6642\u9593\u3082\u4f59\u3063\u3066\u304a\u308a\u305b\u3063\u304b\u304f\u306a\u306e\u3067\u5b9a\u756a\u89b3\u5149\u5730\u3089\u3057\u304d\u30b5\u30a4\u30b4\u30f3\u4e2d\u592e\u90f5\u4fbf\u5c40\u3092\u898b\u306b\u884c\u304d:\n\u6691\u304b\u3063\u305f\u306e\u3067\u30ef\u30f3\u30e2\u30a2\u30b9\u30bf\u30d0:\n430k VND\u3002\n14\u6642\u306b\u306a\u3063\u305f\u306e\u3067\u30db\u30c6\u30eb\u30c1\u30a7\u30c3\u30af\u30a4\u30f3:\n\u90e8\u5c4b\u307e\u3067\u8377\u7269\u3092\u904b\u3093\u3067\u304f\u308c\u308b\u3001\u306f\u521d\u3081\u3066\u306e\u7d4c\u9a13\u3067\u3057\u305f\u3002 \u5b89\u5fc3\u5b89\u5168\u306e\u305f\u3081\u306b\u591a\u5c11\u9ad8\u304b\u3063\u305f\u3051\u3069\u65e5\u7cfb\u306e\u30db\u30c6\u30eb\u3092\u9078\u3093\u3060\u306e\u3067\u3001\u30a6\u30a9\u30b7\u30e5\u30ec\u30c3\u30c8\u3082\u3064\u3044\u3066\u3044\u305f\u3057\u3001\u30c8\u30a4\u30ec\u30c3\u30c8\u30da\u30fc\u30d1\u30fc\u306f\u4e09\u89d2\u306b\u6298\u3089\u308c\u3066\u3044\u307e\u3057\u305f:\n\u6d41\u77f3\u306b\u79fb\u52d5\u304c\u591a\u3059\u304e\u3066\u75b2\u308c\u305f\u306e\u3067\u4f11\u61a9\u3057\u3066\u3001\u591c\u306b\u306a\u3063\u305f\u3089\u591c\u3054\u98ef\u306b\u30d5\u30a9\u30fc\u3092\u98df\u3079\u307e\u3057\u305f:\nPHO24\u3068\u3044\u3046\u3068\u3053\u308d\u304c\u89b3\u5149\u5ba2\u5411\u3051\u3067\u5b89\u5fc3\u3068\u3044\u3046\u3053\u3068\u3060\u3063\u305f\u306e\u3067\u3001\u30a2\u30af\u30bb\u30b9\u304c\u826f\u3055\u305d\u3046\u3060\u3063\u305fPHO24 158D PASTEUR\u3078\u3002\n\u30d5\u30a9\u30fc\u306f\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\u91d1\u67d1\u30b8\u30e5\u30fc\u30b9\u304c\u30aa\u30b9\u30b9\u30e1\u3060\u3088\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u30b3\u30ec\u3082\u983c\u3093\u3060\u3093\u3067\u3059\u304c\u3001\u306a\u3093\u304b\u3059\u3054\u304f\u7802\u7cd6\u7518\u304b\u3063\u305f\u306e\u3067\u3001\u3042\u307e\u308a\u30aa\u30b9\u30b9\u30e1\u306f\u3057\u306a\u3044\u304b\u3082\u3002\n\u98df\u3079\u7d42\u308f\u3063\u305f\u5f8c\u306f\u30db\u30c6\u30eb\u306b\u623b\u30fb\u30fb\u30fb\u308b\u524d\u306b\u3001\u30db\u30c6\u30eb\u3059\u3050\u6a2a\u306eHIGHLANDS\u306e\u3059\u3050\u6a2a\u306ePHUC LONG COFFEE &amp; TEA\u3067PHUC LONG MILKTEA\u3092\u8cb7\u3063\u3066\u307f\u307e\u3057\u305f:\n\u4f55\u3082\u8003\u3048\u305a\u306bsignature\u3063\u307d\u3044\u5974\u3092\u8cb7\u3044\u307e\u3057\u305f\u304c\u3001\u30a6\u30fc\u30ed\u30f3\u8336\u306e\u30df\u30eb\u30af\u30c6\u30a3\u30fc\u3067\u3057\u305f\u3002\u3073\u3063\u304f\u308a\u3002\u7f8e\u5473\u3057\u304b\u3063\u305f\u3051\u3069\u300250k VND\u3002 PHUC LONG\u3082\u30c1\u30a7\u30fc\u30f3\u3067\u3042\u3061\u3053\u3061\u306b\u3042\u308b\u69d8\u5b50\u3067\u3059\u3002\n\u90e8\u5c4b\u306b\u623b\u3063\u305f\u3089\u3001\u30db\u30c6\u30eb\u304b\u3089\u30c1\u30e7\u30b3\u30ec\u30fc\u30c8\u304c\u304a\u3044\u3066\u3042\u308a\u307e\u3057\u305f:\n\u30b3\u30ec\u3081\u3063\u3061\u3083\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\u3069\u3053\u304b\u3067\u8cb7\u3048\u308b\u3082\u306e\u306a\u306e\u304b\u805e\u3051\u3070\u826f\u304b\u3063\u305f\u306a\u3002\n\u3042\u3068\u3001\u3069\u3046\u3067\u3082\u826f\u3044\u3051\u3069\u90e8\u5c4b\u306e\u76ee\u899a\u307e\u3057\u306f\u7121\u5370\u306e\u76ee\u899a\u307e\u3057\u3067\u3057\u305f\u3002\u3059\u3054\u304f\u898b\u3084\u3059\u304b\u3063\u305f\u3051\u3069\u3001\u5c11\u306a\u304f\u3068\u3082\u65e5\u672c\u56fd\u5185\u306e\u73fe\u884c\u54c1\u3067\u306f\u306a\u3055\u305d\u3046\u3002\n2\u65e5\u76ee: \u30db\u30fc\u30c1\u30df\u30f3\u2192\u30d5\u30fc\u30b3\u30c3\u30af \u7fcc\u671d\u306e\u671d\u98df\u306fHIGHLANDS COFFEE\u3078\u3002\u9ad8\u3044\u304b\u3089\u671d\u98df\u306a\u3057\u30d7\u30e9\u30f3\u3067\u30db\u30c6\u30eb\u53d6\u3063\u305f\u306e\u3067\u3002B\u00e1nh M\u00ec Que (G\u00e0 Ph\u00f4 Mai)\u3068\u3044\u3046\u3084\u3064\u3002\u306a\u3093\u304b\u30b7\u30fc\u30c1\u30ad\u30f3\u307f\u305f\u3044\u306a\u9d8f\u306e\u30d1\u30c6\uff1f\u306e\u69d8\u306a\u3082\u306e\u3068\u30c1\u30fc\u30ba\u304c\u631f\u307e\u3063\u305f\u9577\u3044\u30d1\u30f3\u3002\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\n\u30d5\u30fc\u30b3\u30c3\u30af\u5cf6\u3078\u5411\u304b\u3046\u9014\u4e2d\u3001\u7a7a\u6e2f\u306e\u5f85\u3061\u6642\u9593\u306b\u3082\u3046\u4e00\u5ea6PHUC LONG\u3078\u3002\u4eca\u5ea6\u306f\u30d4\u30fc\u30c1\u30c6\u30a3\u30fc\u3092\u983c\u307f\u307e\u3057\u305f:\n\u3044\u304b\u306b\u3082\u7f36\u8a70\u306e\u9ec4\u6843\u3001\u3068\u3044\u3046\u5974\u304c\u5165\u3063\u3066\u3044\u3066\u3046\u307e\u3044\u3002\n\u30d5\u30fc\u30b3\u30c3\u30af\u5cf6\u3067\u306e\u30db\u30c6\u30eb\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u6642\u306b\u304f\u308c\u305f\u30a6\u30a7\u30eb\u30ab\u30e0\u30c9\u30ea\u30f3\u30af\u306f\u7f8e\u5473\u3057\u304b\u3063\u305f\u3051\u3069\u3001\u306a\u3093\u306e\u30b8\u30e5\u30fc\u30b9\u306a\u306e\u304b\u306f\u4e0d\u660e\u3067\u3057\u305f\u3002 \u3059\u3054\u304f\u4e01\u5be7\u306b\u6301\u3063\u3066\u304d\u3066\u3001\u4e01\u5be7\u306b\u304a\u3044\u3066\u304f\u308c\u305f\u306e\u306b\u3001\u6ce8\u3050\u6642\u70b9\u3067\u5931\u6557\u3057\u3066\u3044\u305f\u306e\u304b\u3001\u5916\u5074\u306b\u3082\u30b8\u30e5\u30fc\u30b9\u304c\u3064\u3044\u3066\u3044\u305f\u306e\u304c\u30a2\u30f3\u30d0\u30e9\u30f3\u30b9\u3067\u30a6\u30b1\u305f\u3002\n\u30d5\u30fc\u30b3\u30c3\u30af\u3067\u306e\u5bbf\u306fPullman Phu Quoc\u3068\u3044\u3046\u30ea\u30be\u30fc\u30c8\u30db\u30c6\u30eb\u3002\n\u30d0\u30eb\u30b3\u30cb\u30fc\u304b\u3089\u306e\u666f\u8272\u304c\u3044\u304b\u306b\u3082\u30ea\u30be\u30fc\u30c8\u3063\u3066\u611f\u3058\u3067\u30a2\u30ac\u308b\u3002\n\u305d\u306e\u5f8c\u6687\u3060\u3063\u305f\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u6d77\u3078\u3002\n\u66c7\u3063\u3066\u3044\u305f\u306e\u3067\u6700\u9ad8\u306b\u304d\u308c\u3044\u3001\u3067\u306f\u306a\u304b\u3063\u305f\u3051\u3069\u3001\u305d\u308c\u3067\u3082\u304d\u308c\u3044\u3060\u3063\u305f\u306e\u3067\u3059\u3054\u3044\u3002 \u3042\u3068\u3001\u7802\u6d5c\u306b\u304a\u304b\u308c\u305f\u30a4\u30b9\u306b\u5bdd\u3066\u3044\u308b\u304a\u3058\u3055\u3093\u3001\u3068\u3044\u3046\u3001\u30ea\u30be\u30fc\u30c8\u5730\u306e\u5b9a\u756a\u307f\u305f\u3044\u306a\u4eba\u3092\u521d\u3081\u3066\u898b\u307e\u3057\u305f\u3002\n\u8b0e\u306e\u679c\u7269\u304c\u306a\u3063\u3066\u3044\u308b\u6728\u306a\u3069\u3082\u3042\u308a:\n\u3053\u308c\u306f\u306a\u3093\u306a\u3093\u3067\u3059\u304b\u306d\uff1f\u77e5\u3063\u3066\u3044\u308b\u4eba\u306f\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002\n\u3046\u308d\u3046\u308d\u3057\u3066\u3044\u305f\u3089\u571f\u7802\u964d\u308a\u306b\u906d\u3063\u3066\u3057\u307e\u3044\u30d3\u30bf\u30d3\u30bf\u306b\u306a\u3063\u305f\u306e\u3067\u663c\u98ef\u306f\u30c1\u30e3\u30fc\u30cf\u30f3\u3068\u751f\u6625\u5dfb\u304d\u3092SEN Restaurant\u3068\u3044\u3046\u3068\u3053\u308d\u3067:\n\u91cf\u304c\u4e0d\u5b89\u3060\u3063\u305f\u3051\u3069\u3001\u4e8c\u4eba\u3067\u8179\u304c\u30d1\u30f3\u30d1\u30f3\u306b\u306a\u308b\u304f\u3089\u3044\u3067\u3057\u305f\u3002\n\u6669\u98ef\u306f\u30ca\u30a4\u30c8\u30de\u30fc\u30b1\u30c3\u30c8\u65b9\u9762\u306eXin chao\u3068\u3044\u3046\u5e97\u3067\u6d77\u9bae\u3092\u5c11\u3005\u3002\n\u30a8\u30d3\u3082\u983c\u3093\u3060\u3064\u3082\u308a\u3060\u3063\u305f(\u3051\u3069\u6ce8\u6587\u304c\u901a\u3063\u3066\u306a\u304f\u3066\u3053\u306a\u304b\u3063\u305f)\u306e\u3067\u3061\u3087\u3063\u3068\u8db3\u308a\u306a\u304b\u3063\u305f\u3051\u3069\u3001\u5473\u306f\u6e80\u8db3\u3002 \u30db\u30bf\u30c6\u306e\u30c1\u30fc\u30ba\u713c\u304d\uff1f\u306f\u81ea\u5206\u3067\u3082\u4f5c\u308c\u305d\u3046\u3060\u306a\u3001\u3068\u306f\u601d\u3063\u305f\u3051\u3069\u3002\n\u30ca\u30a4\u30c8\u30de\u30fc\u30b1\u30c3\u30c8\u3092\u51b7\u3084\u304b\u3057\u3066:\n\u8b0e\u306e\u65e5\u672c\u8a9e\u30d5\u30a9\u30f3\u30c8\u3002\u3044\u3044\u3067\u3059\u306d\u3002\n3\u65e5\u76ee: \u30d5\u30fc\u30b3\u30c3\u30af \u30d5\u30a9\u30fc\u304c\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\n\u3053\u306e\u65e5\u306f\u7d50\u5a5a\u5f0f\u5f53\u65e5\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u3001\u7d50\u5a5a\u5f0f\u306f\u591c\u3060\u3063\u305f\u306e\u3067\u3001\u65e5\u4e2d\u306f\u30d5\u30fc\u30b3\u30c3\u30af\u89b3\u5149\u3092\u3057\u307e\u3057\u305f\u30022\u65e5\u76ee\u306b\u30db\u30c6\u30eb\u3088\u308a\u5317\u306e\u65b9\u3092\u3061\u3087\u3063\u3068\u898b\u305f\u306e\u3067\u3001\u3053\u306e\u65e5\u306f\u5357\u306e\u65b9\u3078\u3002\n\u9014\u4e2d\u6691\u304b\u3063\u305f\u306e\u3067\u30e9\u30a4\u30c1\u30c6\u30a3\u30fc\u3092\u8cb7\u3044\u307e\u3057\u305f\u304c\u3001\u7f8e\u5473\u3057\u304b\u3063\u305f\u3002\u30b9\u30c8\u30ed\u30fc\u306b\u30b9\u30d7\u30fc\u30f3\u3092\u3076\u3063\u3055\u3059\u30b9\u30bf\u30a4\u30eb\u304c\u9762\u767d\u304b\u3063\u305f\u3002\n\u30db\u30c6\u30eb\u306b\u623b\u3063\u3066\u5c11\u3057\u4f11\u61a9\u3057\u3064\u3064\u3001\u96f2\u884c\u304d\u304c\u602a\u3057\u304b\u3063\u305f\u306e\u3067\u3066\u308b\u3066\u308b\u574a\u4e3b\u3092\u4f5c\u308b\u306a\u3069:\n\u3068\u3053\u308d\u3067\u3001\u3066\u308b\u3066\u308b\u574a\u4e3b\u3063\u3066\u65e5\u672c\u56fd\u5916\u3067\u3082\u6709\u52b9\u306a\u3093\u3067\u3057\u3087\u3046\u304b\uff1f \u4f55\u306b\u7948\u3063\u3066\u3044\u308b\u306e\u304b\u3001\u3068\u304b\u306b\u3082\u3088\u308a\u305d\u3046\u3067\u3059\u304c\u3001\u306a\u3093\u3068\u306a\u304f\u65e5\u672c\u306e\u795e\u69d8\u3063\u3066\u4eba\u9593\u306b\u8fd1\u3044\u3063\u307d\u3044\u3068\u3044\u3046\u304b\u3001\u571f\u5730\u306e\u795e\u69d8\u3063\u307d\u3044\u611f\u3058\u304c\u5f37\u304f\u3066\u3001\u6d77\u5916\u3067\u306f\u529b\u3092\u767a\u63ee\u3057\u306a\u3044\u3088\u3046\u306a\u6c17\u304c\u3057\u307e\u3057\u305f\u3002\u77e5\u3089\u3093\u3051\u3069\u3002\n\u3053\u3053\u3067\u3001\u30d0\u30eb\u30b3\u30cb\u30fc\u304b\u3089\u666f\u8272\u3067\u3082\u898b\u306a\u304c\u3089\u307c\u30fc\u3063\u3068\u3059\u308b\u304b\u3068\u601d\u3063\u3066\u30d0\u30eb\u30b3\u30cb\u30fc\u306b\u3067\u305f\u3089\u3001\u306a\u3093\u3068\u3061\u3087\u3046\u3069\u4eca\u56de\u306e\u4e3b\u5f79\u304c\u524d\u64ae\u308a(?)\u3092\u3057\u59cb\u3081\u308b\u3068\u3053\u308d\u3060\u3063\u305f\u306e\u3067\u3001\u30d0\u30eb\u30b3\u30cb\u30fc\u304b\u3089\u30e4\u30b8\u3092\u98db\u3070\u3057\u3064\u3064\u5199\u771f\u3092\u64ae\u308b\u306a\u3069\u3057\u307e\u3057\u305f:\niPhone\u3063\u3066\u3059\u3054\u3044\u3088\u306d\u3002\u9069\u5f53\u306b\u64ae\u3063\u3066\u3082\u826f\u3044\u611f\u3058\u306e\u5199\u771f\u304c\u64ae\u308c\u307e\u3059\u3002\n\u305d\u3057\u3066\u8fce\u3048\u305f\u7d50\u5a5a\u5f0f:\n\u4e8c\u6b21\u4f1a\u3082\u3084\u3063\u3066\u3001\u30db\u30c6\u30eb\u306e\u90e8\u5c4b\u306b\u623b\u3063\u305f\u306e\u306f\u671d4\u6642\u3067\u3057\u305f\u30fb\u30fb\u30fb\n4\u65e5\u76ee: \u30d5\u30fc\u30b3\u30c3\u30af\u2192\u30db\u30fc\u30c1\u30df\u30f3 \u671d\u98df\u306f\u4e00\u5fdc\u98df\u3079\u305f\u3051\u3069\u3001\u82e5\u5e72\u5177\u5408\u304c\u60aa\u304b\u3063\u305f\u3002\n\u30db\u30fc\u30c1\u30df\u30f3\u306b\u623b\u3063\u3066\u30db\u30c6\u30eb\u306b\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3057\u305f\u5f8c\u3001\u53cb\u4ebaT\u3068\u5408\u6d41\u3057\u3066\u30d4\u30b6\u3092\u98df\u3079\u306b\u884c\u304d\u307e\u3057\u305f:\nPizza 4P&rsquo;s\u3068\u3044\u3046\u5e97\u3067\u3001\u6771\u4eac\u306b\u3082\u3042\u308b\u3089\u3057\u3044\u3001\u3068\u3044\u3046\u3053\u3068\u3092\u5165\u5e97\u5f8c\u306b\u77e5\u3063\u305f\u306e\u3067\u4e00\u77ac\u5931\u6557\u3060\u3063\u305f\u304b\u306a\u3001\u3068\u601d\u3063\u305f\u3051\u3069\u3001\u6771\u4eac\u306e\u5e97\u306f\u9ad8\u305d\u3046\u3060\u3057\u3001\u3081\u3061\u3083\u30a6\u30de\u3060\u3063\u305f\u306e\u3067\u5927\u6e80\u8db3\u3002\n\u305f\u3060\u3001\u7537\u4e8c\u4eba\u3067\u96d1\u306a\u670d\u88c5\u3067\u5165\u308b\u3068\u8a00\u3046\u3088\u308a\u3001\u6c17\u5408\u3044\u3092\u5165\u308c\u3066\u30c7\u30fc\u30c8\u3067\u884c\u304f\u3001\u307f\u305f\u3044\u3060\u3063\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u5c45\u5fc3\u5730\u306f\u60aa\u304b\u3063\u305f(\u5e97\u304c\u60aa\u3044\u308f\u3051\u3067\u306f\u306a\u3044)\u3002 \u91d1\u304c\u3042\u3063\u3066\u8208\u5473\u304c\u3042\u308b\u4eba\u306f\u6771\u4eac\u3067\u884c\u3063\u3066\u307f\u305f\u3089\u3044\u3044\u304b\u3082\u3002\u5927\u5909\u7f8e\u5473\u3057\u304b\u3063\u305f\u306e\u3067\u3002\n\u663c\u904e\u304e\u306e\u4fbf\u3060\u3068\u3001\u57fa\u672c\u98db\u884c\u6a5f\u3092\u5f85\u3063\u3066\u3001\u98db\u884c\u6a5f\u306b\u4e57\u3063\u3066\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u30e1\u30b7\u4ee5\u5916\u306f\u7279\u7b46\u3059\u3079\u304d\u3053\u3068\u306f\u7121\u3057\u3002\n5\u65e5\u76ee: \u30db\u30fc\u30c1\u30df\u30f3\u2192\u6771\u4eac\u2192\u672d\u5e4c \u671d\u30fb\u30fb\u30fb\u306f\u3042\u307e\u308a\u98df\u3079\u308b\u6c17\u304c\u8d77\u304d\u306a\u304b\u3063\u305f\u3082\u306e\u306e\u3001\u306a\u3093\u3084\u304b\u308410\u6642\u304f\u3089\u3044\u306b\u306f\u4f55\u304b\u3092\u98df\u3079\u305f\u3044\u306a\u3001\u3068\u3044\u3046\u6c17\u306b\u3082\u306a\u308a\u3001\u672c\u65c5\u884c\u4e2d\u5b9f\u306b\u4e09\u5ea6\u76ee\u306e\u30b9\u30bf\u30d0\u3002\nChicken Teriyaki Panini:\n\u30b7\u30e7\u30fc\u30b1\u30fc\u30b9\u306b\u5165\u3063\u3066\u3044\u308b\u3068\u304d\u306f\u3082\u3063\u3068\u30da\u30bf\u30c3\u3068\u3057\u3066\u898b\u3048\u305f\u3093\u3060\u3051\u3069\u3001\u6696\u3081\u3089\u308c\u305f\u3089\u3059\u3054\u304f\u3075\u3063\u304f\u3089\u3057\u3066\u3001\u7f8e\u5473\u3057\u304b\u3063\u305f\u304c\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u7d50\u69cb\u3042\u3063\u305f\u3002 \u65e5\u672c\u3067\u3082\u58f2\u3063\u305f\u3089\u826f\u3044\u306e\u306b\u306a\u3001\u3068\u306f\u601d\u3044\u307e\u3059\u306d\u3002\n\u30d9\u30c8\u30ca\u30e0\u3067ama\u00ef \u3068\u3044\u3046\u98df\u5668\u30d6\u30e9\u30f3\u30c9\u304c\u89b3\u5149\u5ba2\u306b\u4eba\u6c17\u3001\u3068\u3044\u3046\u5642\u3067\u3001\u8abf\u3079\u308b\u3068\u5927\u5909\u5f62\u304c\u53ef\u611b\u3044\u306e\u3067\u3001\u6b69\u3044\u3066\u8cb7\u3044\u306b\u884c\u304d\u307e\u3057\u305f\u3002 \u7279\u306b\u3001Saigon Centre\/\u9ad8\u5cf6\u5c4b\u306e\u5411\u304b\u3044\u3042\u305f\u308a\u306bgrade b\u3068\u3044\u3046\u3001\u30a2\u30a6\u30c8\u30ec\u30c3\u30c8\u3068\u3044\u3046\u304b\u3001B\u7d1a\u54c1\u306e\u69d8\u306a\u3082\u306e\u3092\u58f2\u3063\u3066\u3044\u308b\u5e97\u8217\u304c\u3042\u3063\u3066\u3001\u3053\u3053\u3060\u3068\u304b\u306a\u308a\u304a\u5b89\u304f\u306a\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001Dong Khoi\u901a\u308a\u306b\u3042\u308b\u901a\u5e38\u4fa1\u683c\u5e97\u8217\u3092\u898b\u305f\u5f8c\u3001\u884c\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u5199\u771f\u306f\u64ae\u308a\u5fd8\u308c\u305f\u3051\u3069\u3001\u3044\u305a\u308c\u3082\u304a\u3057\u3083\u308c\u3067\u3059\u3057\u3001\u30ab\u30c3\u30d7\u3082\u3059\u3054\u304f\u53ef\u611b\u3044\u306e\u3067\u30aa\u30b9\u30b9\u30e1\u3002\u30d7\u30c1\u30d7\u30c1\u3067\u3081\u3063\u3061\u3083\u53b3\u91cd\u306b\u5305\u3093\u3067\u304f\u308c\u308b\u306e\u3067\u3001\u98db\u884c\u6a5f\u3067\u3082\u307e\u3041\u5272\u3068\u5b89\u5fc3\u3067\u3059\u3002\n\u305d\u3057\u3066\u663c\u3054\u98ef\u3002\u8eca\u306730\u5206\u304f\u3089\u3044\u884c\u3063\u305f\u3068\u3053\u308d\u306b\u304a\u3057\u3083\u308c\u4e38\u4e80\u88fd\u9eba\u304c\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u30b8\u30e3\u30d1\u30cb\u30fc\u30baUDON\u3092\u5916\u56fd\u3067\u98df\u3079\u3066\u307f\u308b\u306e\u3082\u9762\u767d\u304b\u308d\u3046\u3068\u601d\u3044\u3001Grab\u3092\u547c\u3093\u3067\u5411\u304b\u3044\u307e\u3057\u305f:\nBEST SELLER\u3060\u3068\u3044\u3046\u306e\u3067\u3001Udon B\u00f2 Kake\u3092\u9078\u3073\u307e\u3057\u305f\u3002 89,000VND\u306a\u306e\u3067\u3001\u65e5\u672c\u5186\u3067550\u5186\u304f\u3089\u3044\u3001\u65e5\u672c\u56fd\u5185\u306e\u4e38\u4e80\u3060\u3068\u713c\u304d\u305f\u3066\u8089\u3046\u3069\u3093\u304c790\u5186\u3067\u3059\u304c\u3001\u305d\u308c\u3088\u308a\u306f\u8089\u304c\u5c11\u306a\u305d\u3046\u306a\u306e\u3067\u3001\u307e\u3041\u65e5\u672c\u4eba\u3068\u3057\u3066\u306f\u59a5\u5f53\u306a\u91d1\u984d\u304b\u306a\uff1f\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u3067\u3059\u304b\u306d\uff1f \u30d9\u30c8\u30ca\u30e0\u4fa1\u683c\u3068\u3057\u3066\u306f\u30fb\u30fb\u30fb\u73fe\u5730\u306e\u30d5\u30a9\u30fc\u3068\u304b\u306b\u6bd4\u3079\u308c\u3070\u9ad8\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u304c\u3068\u306f\u8a00\u3048\u65e5\u672c\u98df\u3067\u3059\u304b\u3089\u306d\u3002 \u3069\u3046\u3067\u3057\u3087\u3046\u304b\u3002\u3084\u3063\u3071\u308a\u59a5\u5f53\u3063\u307d\u3044\u6c17\u3082\u3057\u307e\u3059\u306d\u3002\n\u5929\u3077\u3089\u306a\u3069\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u65e5\u672c\u3068\u540c\u69d8\u3067\u3059\u3002\n\u4f1a\u8a08\u5f8c\u306e\u30c8\u30c3\u30d4\u30f3\u30b0\u30b3\u30fc\u30ca\u30fc\u3082\u65e5\u672c\u3068\u540c\u69d8\u306b\u3042\u308a\u307e\u3059\u304c\u3001\u30cd\u30ae\u306e\u4ed6\u306b\u30d1\u30af\u30c1\u30fc\u3082\u304b\u3051\u653e\u984c\u3067\u3059\u3002\n\u5b9f\u969b\u306e\u3046\u3069\u3093\u304c\u3053\u3061\u3089:\n\u304a\u5473\u306f\u3001\u82e5\u5e72\u3001\u672c\u5f53\u306b\u307b\u3093\u306e\u3061\u3087\u3063\u3068\u3060\u3051\u7518\u3044\u6c17\u304c\u3057\u307e\u3057\u305f\u304c\u3001\u8089\u306e\u5473\u4ed8\u3051\u304c\u3061\u3087\u3063\u3068\u7518\u304b\u3063\u305f\u306e\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u3002 \u65e5\u672c\u306e\u713c\u304d\u305f\u3066\u8089\u3046\u3069\u3093\u3082\u8089\u304c\u7518\u3081\u306b\u5473\u4ed8\u3051\u3055\u308c\u3066\u3044\u307e\u3059\u3057\u3002 \u5168\u4f53\u3068\u3057\u3066\u306f\u65e5\u672c\u306e\u4e38\u4e80\u3068\u540c\u3058\u5473\u304c\u3059\u308b\u3068\u8a00\u3063\u3066\u5dee\u3057\u652f\u3048\u306a\u3044\u3067\u3057\u3087\u3046\u3002 \u610f\u5916\u3060\u3063\u305f\u306e\u304c\u30d1\u30af\u30c1\u30fc\u3002\u304b\u3051\u3046\u3069\u3093\u3068\u30d1\u30af\u30c1\u30fc\u306f\u3081\u3063\u3061\u3083\u5408\u3044\u307e\u3059\u306d\u3002 \u904e\u53bb\u306b\u98df\u3079\u305f\u30d1\u30af\u30c1\u30fc\u306e\u98df\u3079\u65b9\u306e\u4e2d\u3067\u4e00\u756a\u7f8e\u5473\u3057\u304b\u3063\u305f\u304b\u3082\u3057\u308c\u306a\u3044\u3057\u3001\u3053\u308c\u304b\u3089\u304b\u3051\u3046\u3069\u3093\u3092\u98df\u3079\u308b\u3068\u304d\u306b\u30d1\u30af\u30c1\u30fc\u304c\u6b32\u3057\u304f\u306a\u3063\u3066\u3057\u307e\u3046\u304b\u3082\u3057\u308c\u306a\u3044\u306a\u3001\u3068\u3061\u3087\u3063\u3068\u601d\u3044\u307e\u3057\u305f\u3002\n\u306a\u304a\u3001\u304b\u3051\u653e\u984c\u3067\u3042\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3061\u3087\u3063\u3068\u3067\u5341\u5206\u3067\u3059\u3002\n\u534a\u719f\u5375\u5929\u3082\u3057\u3063\u304b\u308a\u534a\u719f\u3067\u3057\u305f\u3002\u5916\u56fd\u3067\u30b3\u30ec\u306f\u826f\u3044\u306e\u304b\u306a\u3001\u3068\u3061\u3087\u3063\u3068\u601d\u3044\u307e\u3057\u305f\u304c\u3002\n\u98df\u3079\u7d42\u308f\u3063\u3066\u6268\u3069\u3046\u3057\u3088\u3046\u304b\u306a\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u306a\u3093\u3068\u4e38\u4e80\u88fd\u9eba\u306e\u3059\u3050\u8fd1\u304f\u306b\u3082ama\u00ef\u3068grade b\u304c\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u305b\u3063\u304b\u304f\u306a\u306e\u3067(&amp;\u6642\u9593\u304c\u4f59\u3063\u3066\u3044\u305f\u306e\u3067)\u884c\u304d\u307e\u3057\u305f\u3002\n\u6642\u9593\u304c\u3042\u308b\u306e\u3067\u3042\u308c\u3070\u3001Saigon Centre\u8fd1\u304f\u306egrade b\u3088\u308a\u3053\u3063\u3061\u304c\u30aa\u30b9\u30b9\u30e1\u3067\u3059\u3002\u54c1\u6570\u304c\u5168\u7136\u9055\u3046\u3088\u3046\u306b\u611f\u3058\u307e\u3057\u305f\u3002\n\u66f4\u306b\u66f4\u306b\u3001\u8fd1\u304f\u306bmori coffee\u3068\u3044\u3046\u30ab\u30d5\u30a7\u304c\u3042\u308a\u3001\u305d\u3053\u3067\u8fd1\u5e74\u8a71\u984c(?)\u306efine robusta\u3068\u3044\u3046\u3001\u3044\u3044\u30ed\u30d6\u30b9\u30bf(\u30ed\u30d6\u30b9\u30bf\u306f\u5b89\u3044\u3001\u5f37\u3044\u3001\u30a8\u30b0\u3044\u3001\u307f\u305f\u3044\u306b\u8a00\u308f\u308c\u308b\u3053\u3068\u304c\u591a\u3044)\u3092\u51fa\u3059\u30ab\u30d5\u30a7\u304c\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u305d\u3053\u307e\u3067\u6b69\u304d\u307e\u3057\u305f\u3002\n\u7f8e\u5473\u3057\u304b\u3063\u305f\u306e\u3067\u8c46\u3082\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u305d\u306e\u5f8c\u3044\u3063\u305f\u3093\u30db\u30c6\u30eb\u306b\u623b\u3063\u3066\u8377\u7269\u3092\u53d7\u3051\u53d6\u308a\u3001\u7a7a\u6e2f\u3078\u884c\u304d\u3001\u6c38\u9060\u3068\u3082\u601d\u3048\u308b\u6642\u9593\u3092\u5f85\u3061\u3001\u6700\u5f8c\u306b\u3001\u305d\u3046\u3044\u3048\u3070b\u00e1nh m\u00ec\u3092\u7d50\u5c40\u98df\u3079\u306a\u304b\u3063\u305f\u306a\u3001\u3068\u601d\u3063\u3066\u7a7a\u6e2f\u306e\u5f85\u5408\u3059\u3050\u8fd1\u304f\u306b\u3042\u3063\u305fb\u00e1nh m\u00ec\u3092\u8cb7\u3063\u3066\u98df\u3079\u3066\u3001\u5e30\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/trip-to-vietnam\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/trip-to-vietnam\/images\/daiso_hu_7ee1bc691086bc89.jpg\" alt=\"DAISO\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/trip-to-vietnam\/images\/strawberry_acai_lemonade_hu_5cf27fcfeeb964ad.jpg\" alt=\"strawberry a\u00e7a\u00ed with Lemonade\"  \/>\n<\/p>","title":"\u30d9\u30c8\u30ca\u30e0\u306b\u884c\u3063\u3066\u304d\u305f"},{"content":"\u6700\u8fd1\u30a4\u30d9\u30f3\u30c8\u30ec\u30dd\u30fc\u30c8\u3070\u3063\u304b\u308a\u3067\u3059\u306d\uff1f\n\u5148\u65e5\u3001CloudNative Days Winter 2024 \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\u3067Kubernetes Upstream Training in Japan \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\n\u8cc7\u6599\u7b49\u306fGitHub \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\nKubernetes Upstream Training in Japan\u306f\u3001Kubernetes \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\n\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\n\u5f15\u304d\u7d9a\u304dkubernetes\/website \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\n","permalink":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-in-japan-at-cndw2024\/","summary":"<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":"Kubernetes Upstream Training in Japan at CNDW2024"},{"content":"\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\n\u6750\u6599\u306f\u3053\u3061\u3089:\n\u30d5\u30ec\u30fc\u30e0S B 1000mm \u30d5\u30ec\u30fc\u30e0 S B 600mm x2 \u30d5\u30ec\u30fc\u30e0 S B 300mm x2 \u30d5\u30ec\u30fc\u30e0 S B 100mm x2 \u30de\u30eb\u30c1\u30b3\u30cd\u30af\u30bf\u30a4\u30f3\u30ca\u30fcS B x2 \u30de\u30eb\u30c1\u30b3\u30cd\u30af\u30bf\u30a2\u30a6\u30bf\u30fcS B x2 \u30a4\u30f3\u30ca\u30fc\u30ad\u30e3\u30c3\u30d7S B x 6 \u30b9\u30c8\u30ec\u30fc\u30c8\u30b3\u30cd\u30af\u30bf\u30a4\u30f3\u30ca\u30fcS x2 G-Fun \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\n\u7dcf\u984d\u306f(\u8fd1\u6240\u306eDCM\u3067)4,387\u5186\u3067\u3057\u305f\u3002\n\u4eca\u56de\u5fc5\u8981\u306a\u5de5\u5177\u306f3mm\u30684mm\u306e\u30ec\u30f3\u30c1\u3068\u30b4\u30e0\u30cf\u30f3\u30de\u30fc\u3067\u3059\u3002\n\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\n\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\n\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)\n\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)\n\u826f\u3044\u611f\u3058\u306b\u7d44\u307f\u7acb\u3066\u3066\u30fb\u30fb\u30fb\u5b8c\u6210\uff01\n\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\u9b3c\u30d4\u30bf \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\n\u5b9f\u969b\u306b\u96fb\u6c17\u3092\u3064\u3051\u305f\u69d8\u5b50\u304c\u3053\u3061\u3089:\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/light-stand-for-plants\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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>\n x2<\/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>\n x2<\/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>\n x2<\/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>\n x2<\/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>\n x2<\/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>\n x 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>\n x2<\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u690d\u7269\u7528\u306e\u30e9\u30a4\u30c8\u30b9\u30bf\u30f3\u30c9\u3092\u4f5c\u308b"},{"content":"\u6a19\u984c\u306e\u901a\u308a\u3067\u3059\u3002\u8ee2\u8077\u306f\u3057\u3066\u3044\u307e\u305b\u3093\u3002\n\u672d\u5e4c\u306e\u4eba\u3001\u304b\u307e\u3063\u3066\u304f\u3060\u3055\u3044\u3002\n\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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/move-to-sapporo\/","summary":"<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":"\u672d\u5e4c\u306b\u5f15\u3063\u8d8a\u3057\u305f\u4ef6"},{"content":"\u4eca\u6708\u306e\u982d\u306b\u5317\u6d77\u9053\u306f\u51fd\u9928\u5e02\u3067\u958b\u50ac\u3055\u308c\u305fYAPC::Hokkaido \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\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d#yapcjapan \u3067\u3057\u305f\u3002\n\u524d\u56de\u306e\u5e83\u5cf6 \u306b\u7d9a\u3044\u3066\u30012024\u5e74\u4e8c\u5ea6\u76ee\u306eYAPC\u3067\u3001\u5317\u6d77\u9053\u3067\u306f2026\u5e74\u306e\u672d\u5e4c \u4ee5\u6765\u306e\u958b\u50ac\u3067\u3059\u306d\u3002\n\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@karupanerura \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\n\u524d\u591c\u796d \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@papix \u3055\u3093\u3068\u3068\u3082\u306b\u5bff\u53f8 \u3084\u3084\u304d\u3068\u308a\u5f01\u5f53 \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\n\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\n\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:\n\u672c\u796d \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\n\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\n\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\n\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\n\u61c7\u89aa\u4f1a \u8eca\u3092\u904b\u8ee2\u3057\u3066\u61c7\u89aa\u4f1a\u5834\u306b\u5411\u304b\u3044\u307e\u3057\u305f\u304c\u3001JPA \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\n\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\n\u61c7\u89aa\u4f1a\u5f8c\u3001\u6848\u306e\u5b9a(?)papix\u3055\u3093\u306f\u30d9\u30ed\u30d9\u30ed\u3067\u3057\u305f:\n\u98a8\u7269\u8a69\u3068\u3044\u3046\u611f\u3058\u304c\u3057\u3066\u308f\u3073\u3055\u3073(?)\u3067\u3059\u306d(?)\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/yapc-hakodate-2024\/","summary":"<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=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"YAPC::Hakodate 2024"},{"content":"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\n\u30a4\u30d9\u30f3\u30c8\u81ea\u4f53\u306e\u958b\u50ac\u7d4c\u7def\u306f\u6628\u5e74\u306e\u30ec\u30dd\u30fc\u30c8 \u3092\u53c2\u7167\u306e\u3053\u3068\u3002\n\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\n\u6a5f\u6750 \u30ae\u30bf\u30fc\u306f\u6628\u5e74\u306b\u5f15\u304d\u7d9a\u304dYAMAHA PACIFICA 112V \u3067\u3057\u305f\u3002\n\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\n\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\nGT-1000 \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\u3082Bleutooth\u3067\u30ef\u30a4\u30e4\u30ec\u30b9\u3067MIDI\u3092\u3044\u3058\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u30a2\u30a4\u30c6\u30e0\u3082\u3042\u308b \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\n\u307e\u305f\u3001\u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0\u3067\u5165\u624b\u3057\u305fCASIO\u306eDIMENSION TRIPPER \u3082\u6295\u5165\u3057\u307e\u3057\u305f\u3002\u5143\u3005\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 \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\u30dc\u30fc\u30c9\u81ea\u4f53 \u3082\u65b0\u8abf\u3057\u307e\u3057\u305f\u3002\nDIMENSION 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\n\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\n\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\n\u30d1\u30c3\u30c1\u30b1\u30fc\u30d6\u30eb\u306f\u5f15\u304d\u7d9a\u304dOYAIDE\u306e\u30bd\u30eb\u30c0\u30fc\u30ec\u30b9 \u3067\u3059\u304c\u3001\u6700\u8fd1\u306fOAYIDE P-6.3L \/OYAIDE P-6.3TL \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\n\u30d1\u30ef\u30fc\u30b5\u30d7\u30e9\u30a4\u306f\u5f15\u304d\u7d9a\u304dVITAL AUDIO VA-05 MkII \u3002GT-1000Core\u3092\u30e1\u30eb\u30ab\u30ea\u3067\u8cb7\u3063\u305f\u6642\u306bOYAIDE\u306e\u30ab\u30ec\u30f3\u30c8\u30c0\u30d6\u30e9\u30fc\u30b1\u30fc\u30d6\u30eb \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\n\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u30a2\u30f3\u30d7\u307e\u3067\u306f\u3084\u306f\u308a\u5f15\u304d\u7d9a\u304dCANARE LC03 \u3060\u3063\u305f\u304bCANARE LC05 \u3060\u3063\u305f\u304b(\u9577\u3055\u304c\u9055\u3046\u3060\u3051)\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\n\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\n\u30d4\u30c3\u30af\u306fMASTER 8 JAPAN INFINIX-U JAZZ type with Hard Grip 0.88mm \u3068PlanetWaves by D&rsquo;Addario Medium \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\n\u30b9\u30c8\u30e9\u30c3\u30d7\u306firodori strap -\u58a8- \u3068\u3044\u3046\u3084\u3064\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\u8868\u304c\u30ec\u30b6\u30fc\u3001\u88cf\u304c\u30ca\u30a4\u30ed\u30f3\u3001\u9577\u3055\u8abf\u6574\u306f\u30b3\u30ad\u30ab\u30f3\u304c\u3064\u3044\u3066\u3044\u308b\u3068\u3044\u3046\u3001\u898b\u305f\u76ee\u3082\u4f7f\u7528\u611f\u3082\u826f\u3044\u6700\u9ad8\u306e\u5974\u3067\u3059\u3002\u30af\u30bd\u9ad8\u3044\u306e\u3068\u3001\u3053\u306e\u30e2\u30c7\u30eb\u306f\u30b3\u30e9\u30dc\u30e2\u30c7\u30eb\u7684\u306a\u5974\u3067\u3082\u3046\u624b\u306b\u5165\u3089\u306a\u3044\u3093\u3067\u3059\u304c\u3001\u540c\u3058\u30bf\u30a4\u30d7\u306e\u30b3\u30e9\u30dc\u30e2\u30c7\u30eb\u3058\u3083\u306a\u3044\u5974\u306fGrande uomo \u3055\u3093\u3067\u8cb7\u3048\u305f\u308a\u8cb7\u3048\u306a\u304b\u3063\u305f\u308a\u3059\u308b\u307f\u305f\u3044\u3067\u3059\u3002\n\u30d0\u30f3\u30c9\u3068\u6f14\u76ee \u4eca\u56de\u306f\u4f55\u3084\u3089\u6c17\u304c\u3064\u3044\u305f\u30892\u3064\u306e\u30d0\u30f3\u30c9\u3092\u639b\u3051\u6301\u3061\u3067\u53c2\u52a0\u3059\u308b\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002\nJaz Drivers \u30ed\u30c3\u30af\u30a4\u30d9\u30f3\u30c8\u3060\u3001\u3068\u3044\u3063\u3066\u3044\u308b\u306e\u306b\u3001\u4f55\u6545\u304b\u30b8\u30e3\u30ba\u306e\u30d0\u30f3\u30c9\u3067\u53c2\u52a0\u3002\u72ed\u3044\u30b9\u30c6\u30fc\u30b8\u304c\u30ad\u30c4\u30ad\u30c4\u306b\u306a\u308b8\u4eba\u7de8\u6210\u3001\u30ae\u30bf\u30fc\u304c\u4e8c\u672c\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u306b\u30a2\u30eb\u30c8\u30b5\u30c3\u30af\u30b9\u3001EVI(\u96fb\u5b50\u30c8\u30e9\u30f3\u30da\u30c3\u30c8\u7684\u306a\u5974)\u306b\u30b5\u30f3\u30d7\u30e9\u30fc\u3092\u4f7f\u3063\u305f\u30d1\u30fc\u30ab\u30c3\u30b7\u30e7\u30f3\u307e\u3067\u3044\u308b\u3068\u3044\u3046\u8c6a\u83ef\u7de8\u6210\u3067\u3057\u305f\u3002\n\u9762\u5b50:\n\u3064\u304b\u307e\u3093 (Dr) okd (Ba) Shotaro (Gt) nasa9084 (Gt) Nagao (Key) \u3046\u3081\u3061\u3083\u3093 (A.Sax) Ohno (EVI) \u76ae\u3057\u3070\u304d (Perc) \u66f2\u76ee\u306f\u6b21\u306e\u901a\u308a:\nDays of Wine and Roses (\u9152\u3068\u30d0\u30e9\u306e\u65e5\u3005) Feel Like Makin&rsquo; Love Recorda Me Caravan \u3046\u3061\u3001Days of Wine and Roses\u306f\u30b5\u30a6\u30f3\u30c9\u904e\u591a\u306e\u305f\u3081\u4f11\u61a9\u3001Feel Like Makin&rsquo; Love\u3068Caravan\u3067\u30a2\u30c9\u30ea\u30d6\u30bd\u30ed\u3092\u3084\u308a\u307e\u3057\u305f\u3002\n\u30b5\u30a6\u30f3\u30c9 Feel Like Makin&rsquo; Love \/ Recorda Me \u30bd\u30ed\u3092\u5f3e\u304f\u3068\u304d\u306fCTL1\u3067CLEAN BOOST\u3092\u304b\u3051\u308b\n\u8a2d\u5b9a\u5024\u8a73\u7d30 X-COMP SUSTAIN: 50 ATTACK: 50 LEVEL: 60 TONE: 0 RATIO: INF:1 DIRECT MIX: 0 DIV MODE: DUAL A: BLUES OD DRIVE: 20 TONE: 0 LEVEL: 50 BOTTOM: 0 DIRECT MIX: 0 AIRD PREAMP NATURAL GAIN: 10 SAG: 0 RESONANCE: 0 LEVEL: 75 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 BRIGHT: OFF GAIN SW: MIDDLE B: AC GUITAR SIM BODY: 25 LOW: 0 HIGH: 0 LEVEL: 50 AC RESONANCE TYPE: NATURAL RESONANCE: 50 TONE: 0 LEVEL: 50 AIRD PREAMP TRANSPARENT GAIN: 60 SAG: 0 RESONANCE: 0 LEVEL: 40 BASS: 21 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE PARAMETRIC EQ LOW CUT: 400Hz LOW GAIN: -10dB LOW-MID FREQ: 500Hz LOW-MID Q: 1 LOW-MID GAIN: 0dB HIGH-MID FREQ: 4.00kHz HIGH-MID Q: 1 HIGH-MID GAIN: 0dB HIGH GAIN: 0dB HIGH CUT: FLAT LEVEL: +8dB STEREO MIX A LEVEL: 100 B LEVEL: 100 A\/B BALANCE: 100:80 DIV MODE: SINGLE CLEAN BOOST DRIVE: 50 TONE: 0 LEVEL: 35 BOTTOM: 0 DIRECT MIX: 0 SOLO SW: ON SOLO LEVEL: 100 NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT DELAY TIME: 400ms FEEDBACK: 20 HIGH CUT: FLAT EFFECT LEVEL: 2 DIRECT LEVEL: 100 DELAY TIME: 400ms FEEDBACK: 20 HIGH CUT: FLAT EFFECT LEVEL: 2 DIRECT LEVEL: 100 PLATE REVERB TIME: 2.0s TONE: +7 DENSITY: 6 EFFECT LEVEL 3:0 PRE-DELAY: 0ms LOW CUT: 80.0Hz HIGH CUT: 8.00kHz LOW DAMP: 0 HIGH DAMP :0 MOD RATE: 50 MOD DEPTH: 0 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX TYPE: LIVE COMP DYNAMICS: 0 TONE: 0 NATURAL: 0 Caravan \u8a2d\u5b9a\u5024\u8a73\u7d30 CLEAN BOOST DRIVE: 50 TONE: 0 LEVEL: 50 BOTTOM: 0 DIRECT MIX: 0 NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT BLUES OD DRIVE: 5 TONE: 0 LEVEL: 40 BOTTOM: 0 DIRECT MIX: 0 DIV A AIRD PREAMP MAXIMUM GAIN: 98 SAG: +10 RESONANCE: 0 LEVEL: 40 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE B AIRD PREAMP ORNG STACK GAIN: 60 SAG: 0 RESONANCE: 0 LEVEL: 40 BASS: 21 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE STEREO MIX A LEVEL: 100 B LEVEL: 100 A\/B BALANCE: 100:100 SPREAD: 10 X-COMP SUSTAIN: 50 ATTACK: 50 LEVEL: 60 TONE: 0 RATIO: INF:1 DIRECT MIX: 0 PARAMETRIC EQ LOW CUT: 400Hz LOW GAIN: -10dB LOW-MID FREQ: 500Hz LOW-MID Q: 1 LOW-MID GAIN: 0dB HIGH-MID FREQ: 4.00kHz HIGH-MID Q: 1 HIGH-MID GAIN: 0dB HGIH GAIN: 0dB HIGH CUT: FLAT LEVEL: -1dB NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT PLATE REVERB TIME: 1.0s TONE: +7 DENSITY: 6 EFFECT LEVEL: 30 PRE-DELAY: 0ms LOW CUT: 80.0Hz HIGH CUT: 8.00kHz LOW DAMP: 0 HIGH DAMP :0 MODO RATE: 50 MOD DEPTH: 10 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX TYPE: LIVE COMP DYNAMIX: 0 TONE: 0 NATURAL: 0 \u30d0\u30b0\u7269\u8a9e \u3082\u3046\u4e00\u4ef6\u306e\u30d0\u30f3\u30c9\u306f\u30a2\u30cb\u30bd\u30f3\u30fb\u30dc\u30ab\u30ed\u30d0\u30f3\u30c9\u3068\u3044\u3046\u3053\u3068\u3067\u7d44\u307e\u308c\u305f\u30d0\u30f3\u30c9\u3067\u3059\u304c\u3001\u7d50\u679c\u3068\u3057\u3066\u306f\u307b\u307c\u30a2\u30cb\u30bd\u30f3\u30d0\u30f3\u30c9\u3067\u3057\u305f\u3002\u3053\u3061\u3089\u3082\u30ad\u30fc\u30dc\u30fc\u30c9\u3042\u308a\u7de8\u6210\u3068\u3044\u3046\u3053\u3068\u3067\u8c6a\u83ef\u76ee\u306e\u7de8\u6210\u3067\u3059\u3002\n\u9762\u5b50:\ntanayan (Vo) nasa9084 (Gt) \u3046\u3064\u307c (Dr) kidochan (Ba) \u305f\u3063\u3061 (Gt) Hano (Key) \u66f2\u76ee:\nButter-Fly \u30e1\u30ea\u30c3\u30b5 \u30ed\u30b9\u30c8\u30ef\u30f3\u306e\u53f7\u54ed \u82b1\u306b\u306a\u3063\u3066 \u541b\u306e\u77e5\u3089\u306a\u3044\u7269\u8a9e \u30b5\u30a6\u30f3\u30c9 Butter-Fly \u30d0\u30c3\u30ad\u30f3\u30b0\u30d1\u30fc\u30c8\u3001\u30a4\u30f3\u30c8\u30ed4\u5c0f\u7bc0\u306e\u307fCTL 1\u3067AIRD PREAMP\u306eSOLO SW\u3092\u30aa\u30f3\u306b\u3057\u3066\u97f3\u91cf\u3092\u4e0a\u3052\u308b\u5f62\n\u8a2d\u5b9a\u5024\u8a73\u7d30 X-COMP SUSTAIN: 50 ATTACK: 50 LEVEL: 60 TONE: 0 RATIO: INF:1 DIRECT: MIX 0 DIST+ DRIVE: 40 TONE: +15 LEVEL: 50 BOTTOM: 0 DIRECT MIX: 15 AIRD PREAMP NATURAL GAIN: 30 SAG: 0 RESONANCE: 0 LEVEL: 50 BASS: 45 MIDDLE: 60 TREBLE: 50 PRESENCE: 40 BRIDHGT: ON GAIN SW: MIDDLE SOLO LEVEL: 85 NS THRESHOLD: 85 RELEASE :30 DETECT: INPUT GRAPHIC EQ LEVEL: +6dB \u4ed6\u306f\u3059\u3079\u30660dB SPRING REVERB TIME: 1.0s TONE: 0 DENSITY: 5 EFFECT LEVEL: 30 PRE-DELAY 1ms LOW CUT: FLAT HIGH CUT: FLAT LOW DAMP: 0 HIGH DAMP: 0 MOD RATE: 50 MOD DEPTH: 0 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX TYPE: LIVE COMP DYNAMICS: 0 TONE: 0 NATURAL: 0 \u30e1\u30ea\u30c3\u30b5 \u30a2\u30b3\u30ae\u30d1\u30fc\u30c8\n\u8a2d\u5b9a\u5024\u8a73\u7d30 PARAMETRIC EQ LOW CUT: 125Hz LOW GAIN: -6dB LOW-MID FREQ: 250Hz LOW-MID Q: 1 LOW-MID GAIN: -4dB HIGH-MID FREQ: 6.30kHz HIGH-MID Q: 4 HIGH-MID GAIN: -5dB HIGH GAIN: -4dB HIGH CUT 12.5kHz LEVEL: 0dB AC GUITAR SIM BODY: 90 LOW: 0 HIGH: -12 LEVEL: 100 AC RESONANCE RESONANCE: 24 TONE: -19 LEVEL: 50 NS THRESHOLD: 85 RELEASE: 30 DETECT: NS INPUT AIRD PREAMP TRANSPARENT GAIN: 50 SAG: 0 RESONANCE: 0 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT GRAPHIC EQ LEVEL: +7dB \u4ed6\u306f\u3059\u3079\u30660dB ROOM1 REVERB TIME: 0.6s TONE: 0 DENSITY: 5 EFFECT ELVEL: 64 PRE-DELAY: 30ms LOW CUT: 125Hz HIGH CUT: 8.00kHz LOW DAMP: 0 HIGH DAMP: 0 MOD RATE: 50 MOD DEPTH: 0 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX TYPE: NATURAL COMP DYNAMIC: 0 TONE: 0 NATURAL: 0 \u30ed\u30b9\u30c8\u30ef\u30f3\u306e\u53f7\u54ed \u30d0\u30c3\u30ad\u30f3\u30b0\u30d1\u30fc\u30c8\n\u8a2d\u5b9a\u5024\u8a73\u7d30 X-COMP SUSTAIN: 50 ATTACK: 19 LEVEL: 67 TONE: 0 RATIO: INF:1 DIRECT MIX: 0 BLUES OD DRIVE: 40 TONE: +10 LEVEL: 50 BOTTOM: 0 DIRECT MIX: 20 DIV MODE: DUAL A AIRD PREAMP X-HI GAIN GAIN: 4 SAG: 0 RESONANCE: +6 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE B AIRD PREAMP X-CRUNCH GAIN: 20 SAG: 0 RESONANCE: +10 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 BRIGHT: OFF GAIN SW: MIDDLE STEREO MIX A LEVEL: 100 B LEVEL: 100 A\/B BALANCE: 40:100 SPREAD: 0 GRAPHIC EQ 31.5Hz: -8dB 63Hz: -6dB \u307b\u304b\u306f\u3059\u3079\u30660dB NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT SPRING REVERB TIME: 0.9s TONE: 0 DENSITY :5 EFFECT LEVEL: 30 PRE-DELAY: 0ms LOW CUT: FLAT HGIH CUT: FLAT LOW DAMP: 0 HIGH DAMP: 0 MOD RATE: 50 MOD DEPTH: 100 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX DYNAMICS: 0 TONE: 0 NATURAL: 0 \u82b1\u306b\u306a\u3063\u3066 \u30a4\u30f3\u30c8\u30ed\u30e1\u30ed\u306fCTL 1\u3092\u8e0f\u307f\u306a\u304c\u3089\u3067\u30b9\u30e9\u30a4\u30b5\u30fc\u3092\u30aa\u30f3\u306b\u3057\u3066\u6f14\u594f\u3002B\u30e1\u30ed\u306e\u4f34\u594f\u306fDIMENSION TRIPPER\u3067\u6b6a\u307f\u3092\u5207\u3063\u3066\u6f14\u594f\u3002\n\u8a2d\u5b9a\u5024\u8a73\u7d30 DIV (CTL2\/DIMENSION TRIPPER) MODE: SINGLE A X-DIST DRIVE: 35 TONE: 0 LEVEL: 25 BOTTOM: 0 DIRECT MIX: 20 DIV MODE: DUAL A AIRD PREAMP X-HI GAIN GAIN: 4 SAG: 0 RESONANCE: +6 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE STEREO MIX A LEVEL: 100 B LEVEL: 100 A\/B BALANCE: 40:100 SPREAD: 0 GRAPHIC EQ 31.5Hz: -8dB 63Hz: -6dB \u307b\u304b\u306f\u3059\u3079\u30660dB NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT SPING REVERB TIME: 0.9s TONE: 0 DENSITY: 5 EFFECT LEVEL: 30 PRE-DELAY: 0ms LOW CUT: FLAT HIGH CUT: FLAT LOW DAMP: 0 HIGH DAMP: 0 MOD RATE: 50 MOD DEPTH: 100 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 DIV (CTL1) MODE: SINGLE B X-COMP: SUSTAIN: 60 ATTACK: 50 LEVEL: 46 TONE: 0 RATIO: INF:1 DIRECT MIX: 0 PITCH SHIFTER VOICE: 1VOICE PS1:PITCH: +12 DIRECT LEVEL: 40 PS1:LEVEL: 10 PS1:MODE: FAST PS1:FINE: 0 PS1:PRE-DELAY: 0ms PS1:FEEDBACK: 0 SLICER PATTERN: P1 RATE: 75 EFFECT LEVEL: 100 MASTERING FX TYPE: NATURAL COMP DYNAMIX: 0 TOEN: 0 NATURAL: 0 \u541b\u306e\u77e5\u3089\u306a\u3044\u7269\u8a9e \u30d0\u30c3\u30ad\u30f3\u30b0\u30d1\u30fc\u30c8\n\u8a2d\u5b9a\u5024\u8a73\u7d30 X-COMP SUSTAIN: 50 ATTACK: 91 LEVEL: 67 TONE: 0 RATIO: INF:1 DIRECT MIX: 0 BLUES OD DRIVE:40 TONE: +10 LEVEL: 50 BOTTOM: 0 DIRECT MIX: 20 DIV MODE: DUAL A AIRD PREAMP X-HI GAIN GAIN: 4 SAG :0 RESONANCE: +6 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 GAIN SW: MIDDLE B AIRD PREAMP X-CRUNCH GAIN: 20 SAG: 0 RESONANCE: +10 LEVEL: 50 BASS: 50 MIDDLE: 50 TREBLE: 50 PRESENCE: 0 BRIGHT: OFF GAIN SW: MIDDLE STEREO MIX A LEVEL: 100 B LEVEL: 100 A\/B BALANCE: 40:100 SPREAD: 0 GRAPHIC EQ 31.5hz: -8dB 63Hz: -6dB \u307b\u304b\u306f\u3059\u3079\u30660dB NS THRESHOLD: 85 RELEASE: 30 DETECT: INPUT SPING REVERB TIME: 0.9s TONE: 0 DENSITY: 5 EFFECT LEVEL: 30 PRE-DELAY: 0ms LOW CUT: FLAT HIGH CUT: FLAT LOW DAMP: 0 HIGH DAMP: 0 MOD RATE: 50 MOD DEPTH: 100 DUCK SENS: 50 DUCK PRE DEPTH: 0 DUCK POST DEPTH: 0 DIRECT LEVEL: 100 MASTERING FX TYPE: NATURAL COMP DYNAMIX: 0 TONE: 0 NATURAL: 0 \u6b21 \u51ac(\u3044\u3064?)\u306b\u30b9\u30bf\u30b8\u30aa\u914d\u4fe1\u30e9\u30a4\u30d6\u3092\u3084\u308b\u3089\u3057\u3044\u3067\u3059\n","permalink":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2024-09\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Tech Rock Festival 2024.09"},{"content":"builderscon 2019\u304c\u7d42\u308f\u3063\u305f\u5f8c\u3001\u7267\u3055\u3093\u304b\u3089builderscon\u3092\u5f15\u304d\u7d99\u304e\u3001builderscon tokyo 2020\u3092\u3084\u308b\u305e\uff01\u3068\u8a00\u3063\u3066\u304b\u3089 \u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u611f\u67d3\u75c7\u304c\u6d41\u884c\u308a\u3001\u305d\u3057\u3066\u958b\u50ac\u3092\u898b\u9001\u308a \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\n\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 \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\n","permalink":"https:\/\/blog.web-apps.tech\/builderscon-2024\/","summary":"<p>builderscon 2019\u304c\u7d42\u308f\u3063\u305f\u5f8c\u3001\u7267\u3055\u3093\u304b\u3089builderscon\u3092\u5f15\u304d\u7d99\u304e\u3001<a href=\"\/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":"builderscon 2024"},{"content":"\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\u5927\u5409\u7965\u5bfa.pm \u304c2024\u5e747\u670813\u65e5\u306b\u958b\u50ac\u3055\u308c\u305f\u306e\u3067\u3001\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \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\n\u53d7\u4ed8\u3092\u3057\u305f\u3089\u540d\u672d\u3068\u304a\u307f\u304f\u3058\u3092\u3082\u3089\u3044\u307e\u3057\u305f\u3002\n\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\n\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 \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\n\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:\n\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 \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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/dai-kichijoji-pm\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/dai-kichijoji-pm\/images\/omikuji_hu_f1edcd52a7ca8707.jpg\" alt=\"\u304a\u307f\u304f\u3058\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u5927\u5409\u7965\u5bfa.pm"},{"content":"2024\u5e746\u670829\u65e5\u306b\u958b\u50ac\u3055\u308c\u305fOpen Source Conference 2024 Hokkaido \u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\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\n\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\n\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\n\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\n\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 \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\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/osc-2024-hokkaido\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/osc-2024-hokkaido\/images\/kamaei_hu_f54a9bc3330373c4.jpg\" alt=\"\u304b\u307e\u6804\u306e\u304b\u307e\u307c\u3053\"  \/>\n<\/p>","title":"OSC 2024 Hokkaido"},{"content":"\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\n\u4f7f\u3063\u305f\u6750\u6599\u306f\u6b21\u306e\u901a\u308a:\n\u53ef\u5909\u62b5\u6297\/\u30dc\u30ea\u30e5\u30fc\u30e0 (10k\u03a9\/B\u30ab\u30fc\u30d6) \u30dc\u30ea\u30e5\u30fc\u30e0\u7528\u30c4\u30de\u30df 3.5mm\u30b9\u30c6\u30ec\u30aa\u30df\u30cb\u30b8\u30e3\u30c3\u30af \u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u30b1\u30fc\u30b9 (30mm x 40mm x 20mm) \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\n\u64cd\u4f5c\u5bfe\u8c61\u306e\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306fBOSS GT-1000CORE \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\n\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\n\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\n\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\n\u56de\u8def\u56f3\u306f\u6b21\u306e\u901a\u308a:\n\u5b9f\u4f53\u914d\u7dda\u56f3\u3068\u3057\u3066\u306f\u3053\u3093\u306a\u611f\u3058:\n\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\n\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\n\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\n\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:\nEl Garatge (5,573\u5186) LAGOON SOUND (3,800\u5186) electro-harmonix (\u30b3\u30f3\u30d1\u30af\u30c8\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30bf\u30a4\u30d7 7,680\u5186) Old Blood Noise Endeavors (\u30b9\u30e9\u30a4\u30c0\u30fc\u30bf\u30a4\u30d7 8,250\u5186) \u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/expression-knob\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Expression Knob"},{"content":"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\n\u4eca\u5e74\u306e\u6750\u6599\u306f\u4ee5\u4e0b\u306e\u901a\u308a:\n\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 \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 \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 \u4eca\u5e74\u306f\u30ab\u30a4\u30f3\u30ba\u3067PET\u88fd\u306e\u679c\u5b9f\u9152\u74f6 \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\n\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\n\u6628\u5e74\u306e\u6885\u9152 \u306f\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f:\n\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\n\u307e\u305f\u6765\u5e74\u304a\u4f1a\u3044\u3057\u307e\u3057\u3087\u3046\uff01\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2024\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2024\/images\/white_liquor_hu_b13dd164e9e7b690.jpg\" alt=\"\u679c\u5b9f\u306e\u6cc9\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2024\/images\/recipe_hu_2345ab8ac353eb5a.jpg\" alt=\"\u30ec\u30b7\u30d4\u30e1\u30e2\"  \/>\n<\/p>\n<p><a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u6885\u4ed5\u4e8b2024"},{"content":"\u3053\u308c\u307e\u3067\u3001emacs\u4e0a\u3067\u884c\u3054\u3068\u306e\u5909\u66f4\u72b6\u6cc1\u3092\u8868\u793a\u3059\u308b\u306e\u306b\u3001git-gutter.el \u3092\u4f7f\u7528\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u7d044\u5e74\u524d \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\u3067diff-hl \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\ngit-gutter\u306e\u898b\u305f\u76ee: diff-hl\u306e\u898b\u305f\u76ee: 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\n\u554f\u984c\u304c\u4e00\u70b9\u3060\u3051\u3042\u3063\u3066\u3001\u79c1\u306f\u666e\u6bb5macOS\u4e0a\u3067emacs-mac \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\nemacs\u3092\u8d77\u52d5\u3057\u305f\u5f8c\u306b\u624b\u52d5\u3067(fringe-mode '(9 . 8))\u306a\u3069\u3068\u3057\u3066fringe\u306e\u5e45\u3092\u5e83\u3052\u308b\u3068\u4e0a\u624b\u304f\u8868\u793a\u3055\u308c\u308b\u4e00\u65b9\u3001default-frame-alist\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\u306bdiff-hl-mode\u3092\u547c\u3073\u51fa\u3057\u3066set-frame-parameter\u3059\u308b\u5f62\u3067\u89e3\u6d88\u3057\u307e\u3057\u305f:\n1 2 3 4 5 6 7 8 9 10 11 12 ;; show git diff parameter on fringe (use-package diff-hl :ensure t :diminish :hook (magit-post-refresh . diff-hl-magit-post-refresh) :init (global-diff-hl-mode) ;; somehow the left line is not drawn well without setting left-fringe ;; parameter after diff-hl-mode is enabled (diff-hl-mode) (set-frame-parameter nil &#39;left-fringe 9) (diff-hl-flydiff-mode)) \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\n","permalink":"https:\/\/blog.web-apps.tech\/git-gutter-to-diff-hl\/","summary":"<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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"git-gutter to diff-hl"},{"content":"\u304b\u308c\u3053\u308c\u534a\u6708\u307b\u3069\u7d4c\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3059\u304c\u3002\n\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\u3066Kubernetes Upstream Training Japn 2024-03 \u3092\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002\n\u8cc7\u6599\u306a\u3069\u306fGitHub\u306e\u30ea\u30dd\u30b8\u30c8\u30ea \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\u306bKubernetes \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\n\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\n\u6b21\u56de\u958b\u50ac\u306f\u3044\u3064\u306b\u306a\u308b\u304b\u4e0d\u660e\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001Kubernetes(\u7279\u306bkubernetes\/website )\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\n","permalink":"https:\/\/blog.web-apps.tech\/kubernetes-upstream-training-japan-2024-03\/","summary":"<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":"Kubernetes Upstream Training Japan 2024-03"},{"content":"\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\n4\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\n","permalink":"https:\/\/blog.web-apps.tech\/prml-prof-kudo-retirement\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/prml-prof-kudo-retirement\/images\/prmlStar_hu_28a4cbc0e15ecf7b.png\" alt=\"PRML\u304f\u3093\"  \/>\n<\/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"},{"content":"\u3053\u306e\u30d6\u30ed\u30b0\u306f\u73fe\u5728\u3001Hugo \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\u304cImage processing \u3067\u3059\u3002\n\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\n\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:\n1 2 execute of template failed at &lt;$image.Resize&gt;: error calling Resize: : resize : png: invalid format: invalid checksum \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\ngolang\/go#43382 \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\n\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:\n1 2 3 4 5 6 7 $ pngcheck -v arch-1.png File: arch-1.png (272304 bytes) chunk IHDR at offset 0x0000c, length 13 1082 x 778 image, 32-bit RGB+alpha, non-interlaced chunk zTXt at offset 0x00025, length 188903, keyword: mxGraphModel CRC error in chunk zTXt (computed c3f0b5f1, expected 1ce878d9) ERRORS DETECTED in arch-1.png \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\n\u3053\u3053\u3067\u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u4fee\u6b63\u3057\u3066(\u4ed6\u306e\u65b9\u6cd5\u3067\u4e00\u65e6\u9055\u3046\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u5909\u63db\u3057\u3066\u3082\u3046\u4e00\u56depng\u306b\u5909\u63db\u3057\u76f4\u3059\u3001\u3068\u304b\u3001illustrator\u3067\u8aad\u307f\u8fbc\u3093\u3067\u66f8\u304d\u51fa\u3057\u3057\u76f4\u3059\u3001\u3068\u304b\uff1f)\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3068\u3057\u3066\u3082\u826f\u3044\u306e\u3060\u3051\u308c\u3069\u3082\u3001\u305b\u3063\u304b\u304f\u306a\u306e\u3067png\u30d5\u30a1\u30a4\u30eb\u304c\u3069\u3093\u306a\u69cb\u9020\u3092\u3057\u3066\u3044\u308b\u306e\u304b\u3001\u3082\u3046\u5c11\u3057\u3060\u3051\u6df1\u6398\u308a\u3092\u3057\u3066\u3044\u304d\u305f\u3044\u3068\u305d\u3046\u601d\u3063\u305f\u6b21\u7b2c\u3067\u3059\u3002\nPNG\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u9020 PNG\u30d5\u30a1\u30a4\u30eb\u306f\u307e\u305a8byte\u306e\u30d5\u30a1\u30a4\u30eb\u30d8\u30c3\u30c0\u3068\u3057\u3066\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u3092\u6301\u3061\u3001\u305d\u306e\u5f8c\u3001\u4efb\u610f\u306e\u6570\u306e\u300c\u30c1\u30e3\u30f3\u30af\u300d\u3068\u547c\u3070\u308c\u308b\u584a\u304c\u4e26\u3076\u3001\u3068\u3044\u3046\u5f62\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n\u5404\u30c1\u30e3\u30f3\u30af\u306f\u305d\u308c\u305e\u308c\u60c5\u5831\u3092\u4fdd\u6301\u3057\u3066\u3044\u3066\u3001\u5fc5\u9808\u30c1\u30e3\u30f3\u30af\u3068\u88dc\u52a9\u30c1\u30e3\u30f3\u30af\u306b\u5206\u3051\u3089\u308c\u307e\u3059\u3002\u30c1\u30e3\u30f3\u30af\u306f\u6700\u521d\u306b8byte\u306e\u30c1\u30e3\u30f3\u30af\u81ea\u4f53\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u3082\u3061\u3001\u305d\u306e\u5f8c\u5b9f\u30c7\u30fc\u30bf\u3068\u3001\u30c7\u30fc\u30bf\u306eCRC-32 checksum\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u5f62\u3067\u3059\u3002\u4eca\u56de\u306e\u30a8\u30e9\u30fc\u306f\u3053\u306e\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u304c\u9593\u9055\u3063\u3066\u3044\u305f\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u306d\u3002\n\u30c1\u30e3\u30f3\u30af\u306e\u7a2e\u985e\u306f4\u6587\u5b57\u306e\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u3067\u8868\u73fe\u3055\u308c\u3001\u305d\u308c\u305e\u308c\u306e\u6587\u5b57\u304c\u5927\u6587\u5b57\u304b\u5c0f\u6587\u5b57\u304b\u3067\u66f4\u306b\u60c5\u5831\u3092\u8868\u73fe\u3057\u307e\u3059\u3002\n1\u6587\u5b57\u76ee\u306f\u5fc5\u9808\u30c1\u30e3\u30f3\u30af\u304b\u88dc\u52a9\u30c1\u30e3\u30f3\u30af\u304b\u3092\u8868\u73fe\u3059\u308b: \u5927\u6587\u5b57\u306a\u3089\u3070\u5fc5\u9808\u3001\u5c0f\u6587\u5b57\u306a\u3089\u3070\u88dc\u52a9 2\u6587\u5b57\u76ee\u306f\u30c1\u30e3\u30f3\u30af\u306e\u4ed5\u69d8\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u8868\u73fe\u3059\u308b: \u5927\u6587\u5b57\u306a\u3089\u3070\u4ed5\u69d8\u304c\u516c\u958b\u30fb\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u3082\u306e 3\u6587\u5b57\u76ee\u306f\u73fe\u5728\u306e\u3068\u3053\u308d\u5fc5\u305a\u5927\u6587\u5b57:\u5c06\u6765\u6a5f\u80fd\u62e1\u5f35\u3092\u3059\u308b\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u304b\u3082\u3057\u308c\u306a\u3044 4\u6587\u5b57\u76ee\u306f\u305d\u306e\u30c1\u30e3\u30f3\u30af\u304c\u305d\u306e\u307e\u307e\u30b3\u30d4\u30fc\u3067\u304d\u308b\u304b\u3069\u3046\u304b\u3092\u8868\u3059: \u5c0f\u6587\u5b57\u306e\u5834\u5408\u306f\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3057\u3066\u3082\u305d\u306e\u307e\u307e\u30b3\u30d4\u30fc\u3067\u304d\u308b \u30c1\u30e3\u30f3\u30af\u306e\u7a2e\u985e\u306b\u306f\u4f8b\u3048\u3070\u6b21\u306e\u69d8\u306a\u30e2\u30ce\u304c\u3042\u308b:\n\u5fc5\u9808 IHDR: \u753b\u50cf\u306e\u30b5\u30a4\u30ba\u3084\u5727\u7e2e\u5f62\u5f0f\u306a\u3069\u306e\u30e1\u30bf\u30c7\u30fc\u30bf IDAT: zlib\u3067\u5727\u7e2e\u3055\u308c\u305f\u5b9f\u969b\u306e\u753b\u50cf\u30c7\u30fc\u30bf IEND: PNG\u30c7\u30fc\u30bf\u306e\u7d42\u7aef\u3092\u8868\u3059 \u88dc\u52a9 eXIf: Exif\u30e1\u30bf\u30c7\u30fc\u30bf iCCP: ICC\u30ab\u30e9\u30fc\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb iTXt: UTF-8\u306e\u30c6\u30ad\u30b9\u30c8 tEXt: Latin-1\u306e\u30c6\u30ad\u30b9\u30c8 tIME: \u753b\u50cf\u306e\u6700\u7d42\u66f4\u65b0\u65e5\u6642 zTXt: Latin-1\u306e\u5727\u7e2e\u30c6\u30ad\u30b9\u30c8 \u307e\u305f\u3001\u5fc5\u9808\u30c1\u30e3\u30f3\u30af\u306e\u5185IHDR\u306f\u30d8\u30c3\u30c0\u306e\u76f4\u5f8c\u306b\u3001IEND\u306f\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u7aef\u306b\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001\u6b21\u306e\u69d8\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3068\u3001\u4e0a\u8a18\u3067\u793a\u3057\u305f\u300cPNG\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u9020\u300d\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u306f\u6700\u521d\u306bIHDR\u3001IDAT\u304c3\u3064\u3042\u308a\u3001\u6700\u5f8c\u306bIEND\u3067\u7d42\u308f\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u69cb\u9020\u304c\u898b\u3066\u53d6\u308c\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package main import ( &#34;encoding\/binary&#34; &#34;flag&#34; &#34;fmt&#34; &#34;os&#34; ) func main() { filename := flag.String(&#34;f&#34;, &#34;&#34;, &#34;filename&#34;) flag.Parse() f, err := os.Open(*filename) if err != nil { panic(err) } defer f.Close() f.Seek(8, 1) ihdr := make([]byte, 25) f.Read(ihdr) fmt.Printf(&#34;typ: %s\\n&#34;, ihdr[4:9]) for { chunkSize := make([]byte, 4) f.Read(chunkSize) chunkType := make([]byte, 4) f.Read(chunkType) fmt.Printf(&#34;typ: %s\\n&#34;, chunkType) if string(chunkType) == &#34;IEND&#34; { break } \/\/ chunk data f.Seek(int64(binary.BigEndian.Uint32(chunkSize)), 1) \/\/ checksum f.Seek(4, 1) } } \u5b9f\u884c\u7d50\u679c:\n1 2 3 4 5 6 $ go run main.go -f png_diagram.png typ: IHDR typ: IDAT typ: IDAT typ: IDAT typ: IEND \u5b9f\u969b\u306bchecksum\u3092\u8a08\u7b97\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u5148\u307b\u3069f.Seek\u3092\u4f7f\u7528\u3057\u3066\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u3044\u305fchunk data\u3068checksum\u306e\u90e8\u5206\u3092\u6b21\u306e\u30b3\u30fc\u30c9\u7247\u3067\u7f6e\u304d\u63db\u3048\u3066\u307f\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 \/\/ chunk data chunkData := make([]byte, binary.BigEndian.Uint32(chunkSize)) f.Read(chunkData) \/\/ checksum chunkChecksum := make([]byte, 4) f.Read(chunkChecksum) checksum := crc32.ChecksumIEEE(append(chunkType, chunkData...)) if chunkChecksum := binary.BigEndian.Uint32(chunkChecksum); chunkChecksum == checksum { fmt.Println(&#34;valid&#34;) } else { fmt.Printf(&#34;invalid: %d != %d\\n&#34;, chunkChecksum, checksum) } \u51fa\u529b\u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3059:\n1 2 3 4 5 6 7 8 9 $ go run main.go -f png_diagram.png typ: IHDR typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IEND \u3053\u306e\u753b\u50cf\u306f\u300c\u6b63\u3057\u3044\u300d\u3088\u3046\u3067\u3059\u306d\u3002\u3067\u306f\u3001\u554f\u984c\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u540c\u69d8\u306b\u8aad\u307f\u8fbc\u3093\u3067\u307f\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 $ go run main.go -f arch-1.png typ: IHDR typ: zTXt invalid: 484997337 != 3287332337 typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IDAT valid typ: IEND IHDR\u306e\u5f8c\u306b\u3042\u308bzTXt\u304cinvalid\u3067\u3042\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067pngcheck\u306e\u7d50\u679c\u3068\u540c\u69d8\u306e\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\n\u753b\u50cf\u306e\u4fee\u6b63 \u3082\u3057\u304b\u3057\u305f\u3089Hugo\u306b\u3082zTXt\u306eCRC check\u3092\u8fc2\u56de\u3059\u308b\u65b9\u6cd5\u306a\u3069\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u4eca\u56de\u306fzTXt\u30c1\u30e3\u30f3\u30af\u4ee5\u5916\u306fchecksum\u304c\u305d\u306e\u307e\u307e\u30b3\u30d4\u30fc\u3067\u304d\u308b\u30c1\u30e3\u30f3\u30af\u3057\u304b\u306a\u3044\u3067\u3059\u3057\u3001zTXt\u30c1\u30e3\u30f3\u30af\u306e\u4e2d\u8eab\u306f(\u591a\u5206)draw.io\u306e\u30c0\u30a4\u30a2\u30b0\u30e9\u30e0\u30c7\u30fc\u30bf\u3060\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u601d\u3044\u5207\u3063\u3066zTXt\u30c1\u30e3\u30f3\u30af\u3092\u305d\u306e\u307e\u307e\u53d6\u308a\u9664\u304f\u3053\u3068\u306b\u3057\u307e\u3059\u3002\n\u3055\u3063\u304d\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u3061\u3087\u3063\u3068\u4fee\u6b63\u3057\u3066\u3001zTXt\u30c1\u30e3\u30f3\u30af\u4ee5\u5916\u3092\u4e00\u65e6bytes.Buffer\u306b\u305f\u3081\u3066\u304b\u3089\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3059\u3001\u3068\u3044\u3046\u5f62\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 package main import ( &#34;bytes&#34; &#34;encoding\/binary&#34; &#34;flag&#34; &#34;fmt&#34; &#34;io&#34; &#34;os&#34; ) func main() { filename := flag.String(&#34;f&#34;, &#34;&#34;, &#34;filename&#34;) output := flag.String(&#34;o&#34;, &#34;&#34;, &#34;output&#34;) flag.Parse() f, err := os.Open(*filename) if err != nil { panic(err) } defer f.Close() var buf bytes.Buffer io.CopyN(&amp;buf, f, 33) for { chunkSize := make([]byte, 4) f.Read(chunkSize) chunkType := make([]byte, 4) f.Read(chunkType) \/\/ chunk data chunkData := make([]byte, binary.BigEndian.Uint32(chunkSize)) f.Read(chunkData) \/\/ checksum chunkChecksum := make([]byte, 4) f.Read(chunkChecksum) if string(chunkType) != &#34;zTXt&#34; { buf.Write(chunkSize) buf.Write(chunkType) buf.Write(chunkData) buf.Write(chunkChecksum) } if string(chunkType) == &#34;IEND&#34; { break } } o, err := os.OpenFile(*output, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) if err != nil { panic(err) } defer o.Close() buf.WriteTo(o) } \u5b9f\u884c\u3057\u3066:\n1 $ go run main.go -f arch-1.png -o arch_fixed.png pngcheck\u3067\u554f\u984c\u304c\u7121\u3044\u304b\u6539\u3081\u3066\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059:\n1 2 $ pngcheck arch_fixed.png OK: arch_fixed.png (1082x778, 32-bit RGB+alpha, non-interlaced, 97.5%). \u554f\u984c\u306a\u3055\u305d\u3046\u3067\u3059\u306d\u3002\u9806\u756a\u306b\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u306a\u304a\u3057\u3066\u3044\u3063\u3066\u3001\u554f\u984c\u306f\u89e3\u6c7a\u3057\u307e\u3057\u305f\u3002\n\u3061\u3083\u3093\u3061\u3083\u3093\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/png-spec\/","summary":"<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":"PNG\u306e\u4ed5\u69d8\u3092\u773a\u3081\u308b"},{"content":"\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\nTree-sitter \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\nTree-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\nEmacs x Tree-sitter\u306e\u4ed5\u7d44\u307f\u3068\u5c0e\u5165 emacs\u3067Tree-sitter\u3092\u4f7f\u3046\u306b\u306f\u30012\u3064\u306e\u6761\u4ef6\u304c\u3042\u308a\u307e\u3059:\n\u4f7f\u7528\u3057\u305f\u3044\u8a00\u8a9e\u306e\u30d1\u30fc\u30b5\u30fc\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b Tree-sitter\u306b\u5bfe\u5fdc\u3057\u305fmajor mode\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 \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\u3001available-parsers \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\nemacs\u306e\u5834\u5408\u3001~\/.emacs.d\/tree-sitter\/\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\u3001treesit-install-language-grammar\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\u3002treesit-install-language-grammar\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u307e\u305atreesit-language-source-alist\u306b\u8a00\u8a9e\u3068git\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30da\u30a2\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u305d\u306e\u5f8ctreesit-install-language-grammar\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\n\u4f8b\u3048\u3070\u3001YAML\u7528\u306e\u6587\u6cd5\u3092\u5c0e\u5165\u3059\u308b\u306b\u306f\u6b21\u306e\u69d8\u306b\u5b9a\u7fa9\u3057\u307e\u3059:\n1 2 (setq treesit-language-source-alist &#39;((yaml &#34;https:\/\/github.com\/ikatyang\/tree-sitter-yaml&#34;))) \u305d\u3057\u3066\u3001(treesit-install-language-grammar yaml)(\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:\n1 2 3 4 5 6 7 8 9 (setq treesit-language-source-alist &#39;((yaml &#34;https:\/\/github.com\/ikatyang\/tree-sitter-yaml&#34;))) (dolist (element treesit-language-source-alist) (let* ((lang (car element))) (if (treesit-language-available-p lang) (message &#34;tree-sistter: %s is already installed&#34; lang) (message &#34;tree-sitter: %s is not installed&#34; lang) (treesit-install-language-grammar lang)))) Tree-sitter\u306b\u5bfe\u5fdc\u3057\u305fmajor mode\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b 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\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059 \u3002\n\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\u3001major-mode-remap-alist\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\n\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:\n1 2 3 4 5 6 (add-to-list &#39;major-mode-remap-alist &#39;(yaml-mode . yaml-ts-mode)) ;; or (setq major-mode-remap-alist &#39;((yaml-mode . yaml-ts-mode))) \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\nTree-sitter\u306f\u6b63\u898f\u8868\u73fe\u306b\u6bd4\u3079\u3001\u3088\u308a\u6b63\u78ba\u306b\u8a00\u8a9e\u3092\u89e3\u6790\u3057\u3001\u6b63\u3057\u3044\u69cb\u6587\u6728\u3092\u63d0\u4f9b\u3057\u3066\u304f\u308c\u308b\u305f\u3081\u3001\u30cf\u30a4\u30e9\u30a4\u30c8\u3082\u3088\u308a\u6b63\u78ba\u306b\u306a\u308a\u307e\u3059\u3002YAML\u306e\u5834\u5408\u3001\u6b21\u306e\u69d8\u306a\u69cb\u9020\u3067\u6b63\u78ba\u3067\u306f\u306a\u3044\u30cf\u30a4\u30e9\u30a4\u30c8\u304c\u3055\u308c\u3066\u3044\u307e\u3057\u305f:\n1 2 3 4 --- foo: | Sometimes we&#39;d like to add # character in a multi-line string. foo\u306e\u5024\u306f| indicator\u306b\u3088\u308a\u8907\u6570\u884c\u6587\u5b57\u5217\u3068\u3057\u3066\u53d6\u308a\u6271\u308f\u308c\u307e\u3059\u3002\u901a\u5e38\u4f7f\u7528\u3059\u308byaml-mode\u3067\u306f\u6b21\u306e\u69d8\u306b\u8868\u793a\u3055\u308c\u307e\u3059:\n\u79c1\u304c\u4f7f\u7528\u3057\u3066\u3044\u308b\u30c6\u30fc\u30de\u3067\u306f\u7dd1\u304c\u6587\u5b57\u5217\u306e\u30cf\u30ba\u3067\u3059\u304c\u3001foo\u306e\u5f8c\u308d\u306e|\u3084\u4e00\u884c\u76ee\u304c\u767d\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u3001\u3055\u3089\u306b\u306f\u9014\u4e2d\u306e#\u304c\u30b3\u30e1\u30f3\u30c8\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u305f\u305f\u3081\u306b\u30b3\u30e1\u30f3\u30c8\u3092\u793a\u3059\u9ec4\u8272\u306b\u5909\u308f\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\u3002\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30cf\u30a4\u30e9\u30a4\u30c8\u306f\u3001\u3069\u3053\u306e\u90e8\u5206\u304c\u3069\u3046\u89e3\u91c8\u3055\u308c\u308b\u306e\u304b\u8996\u899a\u7684\u306b\u30d1\u30c3\u3068\u5206\u304b\u3089\u306a\u3044\u3068\u3042\u307e\u308a\u610f\u5473\u304c\u3042\u308a\u307e\u305b\u3093\u304b\u3089\u3001\u3053\u308c\u3067\u306f\u56f0\u3063\u3066\u3057\u307e\u3046\u308f\u3051\u3067\u3059\u3002\n\u3053\u3053\u3067\u4ee3\u308f\u308a\u306byaml-ts-mode\u3092\u4f7f\u7528\u3059\u308b\u3068\u6b21\u306e\u69d8\u306b\u8868\u793a\u3055\u308c\u307e\u3059:\n\u60f3\u5b9a\u901a\u308a\u3001foo\u306e\u5024\u306e\u90e8\u5206\u304c\u3059\u3079\u3066\u7dd1\u8272\u306e\u6587\u5b57\u5217\u3068\u3057\u3066\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u306d\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002\n\u3053\u3046\u3057\u3066YAML\u30d5\u30a1\u30a4\u30eb\u306e\u8868\u793a\u306bTree-sitter\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/introduce-tree-sitter\/","summary":"<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":"Introduce Tree Sitter to Emacs"},{"content":"2024\u5e74\u6700\u521d\u306e\u30c6\u30c3\u30af\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u3068\u3057\u3066\u3001YAPC::Hiroshima 2024 \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\u3002twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f\u524d\u56de\u306b\u5f15\u304d\u7d9a\u304d#yapcjapan \u3067\u3057\u305f\u3002\n\u5e83\u5cf6\u306b\u6765\u305f\u306e\u306f2017\u5e74\u306bOSC2017 Hiroshima \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\n\u524d\u591c\u796d \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:\n\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\n&mdash; \u305d\u30fc\u3060\u3044@\u521d\u4ee3ALF (@soudai1025) February 9, 2024 \u767b\u58c7\u3057\u306a\u304c\u3089\u660e\u65e5\u306eLT\u306e\u8cc7\u6599\u4f5c\u3063\u3066\u308b #yapcjapan\n&mdash; \u305d\u30fc\u3060\u3044@\u521d\u4ee3ALF (@soudai1025) February 9, 2024 \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(?)\n\u672c\u7de8 \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:\n\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 (\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 Blog\u3092\u4f5c\u308a\u3001\u80b2\u307f\u3001\u6148\u3057\u3080 - Blog Hacks 2024 \u975e\u540c\u671f\u306a\u958b\u767a\u4f53\u5236\u3092\u652f\u3048\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u6587\u5316 Perl\u3067\u3064\u304f\u308b\u30d5\u30eb\u30b9\u30af\u30e9\u30c3\u30c1WebAuthn\/\u30d1\u30b9\u30ad\u30fc\u8a8d\u8a3c \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 \u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30c8\u30fc\u30af \u30ad\u30fc\u30ce\u30fc\u30c8 \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\n\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\n\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\n\u61c7\u89aa\u4f1a \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\n\u4e8c\u6b21\u4f1a \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\nYAYAPC::Hiroshima \u30a2\u30d5\u30bf\u30fc\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066YAYAPC::Hiroshima \u306b\u3082\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002\u306a\u3093\u3060\u304b\u3093\u3060\u4e09\u65e5\u9593\u3002\u3059\u3054\u3044\u3002\n\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\n\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\n\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\n\u3053\u308c\u306f\u6b7b\u3093\u3067\u308b @songmu san #yayapc #yapcjapan pic.twitter.com\/vFajihV2vC\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) February 11, 2024 \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\n\u6642\u7cfb\u5217\u8a18\u9332\u305d\u306e\u4ed6\u5e83\u5cf6\u89b3\u5149\u306a\u3069 1\u65e5\u76ee: 2\u67088\u65e5(\u6728) 16:15\u306b\u5e83\u5cf6\u7a7a\u6e2f\u306b\u3064\u3044\u305f\u306e\u3067\u3001\u305d\u3053\u304b\u3089\u30db\u30c6\u30eb\u306b\u4e00\u65e6\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3001\u3061\u3087\u3063\u3068\u6563\u6b69\u3092\u3057\u305f\u5f8c@mihyaeru21 \u3068\u304a\u597d\u307f\u713c\u304d\u3092\u98df\u3079\u306b\u884c\u304d\u307e\u3057\u305f\u3002\u5834\u6240\u306f\u305d\u30fc\u3060\u3044\u3055\u3093\u304a\u3059\u3059\u3081\u306e\u306d\u304e\u5eb5\u3002\n\u304a\u3044\u3057\u304b\u3063\u305f\u3002\u304a\u3059\u3059\u3081\u3002\n2\u65e5\u76ee: 2\u67089\u65e5(\u91d1) \u3053\u306e\u65e5\u306f\u524d\u591c\u796d\u304c\u3042\u308b\u65e5\u3067\u3057\u305f\u304c\u3001\u5915\u65b9\u307e\u3067\u306f\u7a7a\u3044\u3066\u3044\u305f\u306e\u3067\u3001\u30db\u30c6\u30eb\u8fd1\u8fba\u306e\u73c8\u7432\u5c4b\u3092\u56de\u308a\u307e\u3057\u305f\u3002\n\u671d\u8d77\u304d\u3066\u3001\u307e\u305a\u524d\u65e5\u306e\u6563\u6b69\u3067\u6c17\u306b\u306a\u3063\u3066\u3044\u305f\u9ebb\u91cc\u5e03\u73c8\u7432 \u3078\u3002\u5947\u8de1\u306e\u539a\u5207\u308a\u30ab\u30c4\u30b5\u30f3\u30c9\u306a\u308b\u30e2\u30ce\u3092\u305f\u3079\u307e\u3057\u305f\u3002\n\u30ab\u30c4\u3082\u3046\u307e\u3044\u3057\u3001\u631f\u3093\u3067\u308b\u30d1\u30f3\u3082\u3046\u307e\u304b\u3063\u305f\u3002\u30b3\u30fc\u30d2\u30fc\u3082\u7f8e\u5473\u3057\u304b\u3063\u305f\u3051\u3069\u3001\u30bd\u30ec\u3088\u308a\u30ab\u30c3\u30d7\u306b\u84cb\u304c\u3064\u3044\u3066\u3044\u308b\u306e\u304c\u6c17\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u305d\u306e\u5f8cBAGTOWN COFFEE\u3078\u3002\u304a\u59c9\u3055\u3093\u306e\u30aa\u30b9\u30b9\u30e1\u306b\u5f93\u3044\u96f2\u5357\u7701\u30e2\u30a6\u30ec\u30f3\u5730\u533aTian yu\u8fb2\u5712\u306e\u30b3\u30fc\u30d2\u30fc\u3092100g\u3068\u3001\u30b0\u30a1\u30c6\u30de\u30e9\u30a2\u30f3\u30c6\u30a3\u30b0\u30a2La Colina\u8fb2\u5712\u306e\u30b2\u30a4\u30b7\u30e3\u3092100g\u8cb7\u3044\u307e\u3057\u305f\u3002\u5f8c\u8005\u306fCOE\u30674\u4f4d\u3092\u53d6\u3063\u305f\u3084\u3064\u3060\u305d\u3046\u3067\u3059\u3002\n\u305d\u306e\u6b21\u306fprogress life style coffee\u3078\u3002\u30b3\u30ed\u30f3\u30d3\u30a2\u3092\u4e00\u676f\u3044\u305f\u3060\u304d\u3001\u3061\u3087\u3063\u3068\u8ff7\u3063\u305f\u3082\u306e\u306e\u8c46\u306f\u8cb7\u308f\u305a\u306b\u5e97\u3092\u51fa\u307e\u3057\u305f\u3002\nBAGTOWN COFFEE\u306b\u884c\u3063\u305f\u3068\u304d\u3001\u4e09\u8d8a\u3067\u30b3\u30fc\u30d2\u30fc\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u3084\u3063\u3066\u3044\u308b\u3088\u3001\u3068\u6559\u3048\u3066\u3082\u3089\u3063\u305f\u306e\u3067\u305d\u3063\u3061\u306b\u3082\u884c\u304d\u307e\u3057\u305f\u30023\u676f\u8a66\u3057\u98f2\u307f\u30bb\u30c3\u30c8\u304c1200\u5186\u3068\u3044\u3046\u3053\u3068\u3067\u30c1\u30b1\u30c3\u30c8\u3092\u8cfc\u5165\u3057\u30013\u676f\u98f2\u307f\u307e\u3057\u305f\u3002\u3053\u306e\u3042\u305f\u308a\u304b\u3089\u80c3\u306e\u5fc3\u914d\u3092\u3057\u59cb\u3081\u307e\u3059\u3002\n\u4e00\u65e6\u30db\u30c6\u30eb\u306b\u623b\u3063\u3066\u4f11\u61a9\u3057\u3001\u30ab\u30c9\u30e2\u30c8\u73c8\u7432\u306b\u3088\u3063\u3066\u30cf\u30a6\u30b9\u30d6\u30ec\u30f3\u30c9\u3092100g\u8cfc\u5165\u3001\u305d\u306e\u307e\u307e\u524d\u591c\u796d\u306e\u4f1a\u5834\u306b\u5411\u304b\u3044\u307e\u3057\u305f\u3002\n\u9014\u4e2d\u305d\u30fc\u3060\u3044\u3055\u3093\u306b\u51fa\u4f1a\u3044\u3001\u4f1a\u5834\u307e\u3067\u9023\u308c\u3066\u884c\u3063\u3066\u3082\u3089\u3044\u3001(\u305d\u30fc\u3060\u3044\u3055\u3093\u306f\u3057\u3083\u3079\u308b\u5074\u3060\u3063\u305f\u306e\u3067)\u5225\u308c\u3001\u305d\u3057\u3066\u4f1a\u5834\u306b\u4f75\u8a2d\u3055\u308c\u3066\u3044\u305f\u30ab\u30d5\u30a7\u3067\u30a6\u30a4\u30f3\u30ca\u30fc\u30b3\u30fc\u30d2\u30fc\u3092\u98f2\u307f\u307e\u3057\u305f\u3002\u4f55\u6545\u30fb\u30fb\u30fb\n\u3044\u3084\u3001\u8a00\u3044\u8a33\u3092\u3059\u308b\u3068\u3001\u6642\u9593\u3092\u6f70\u3055\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u304f\u3066\u3001\u3057\u304b\u3057\u3082\u3046\u6b69\u304d\u305f\u304f\u306a\u304f\u3066\u3001\u30d6\u30e9\u30c3\u30af\u306f\u3082\u3046\u80c3\u304c\u6b7b\u306c\u3068\u601d\u3063\u305f\u306e\u3067\u30af\u30ea\u30fc\u30e0\u304c\u5165\u3063\u3066\u3044\u308b\u30e2\u30ce\u3092\u9078\u3093\u3060\u306e\u3067\u3059\u3002\n\u305d\u3057\u3066\u524d\u591c\u796d\u30d1\u30fc\u30c8\u3078\u3064\u3065\u304f\u3002\n3\u65e5\u76ee: 2\u670810\u65e5(\u571f) YAPC::Hiroshima 2024\u672c\u7de8\u3002\n4\u65e5\u76ee: 2\u670811\u65e5(\u65e5) YAYAPC::Hiroshima\n5\u65e5\u76ee: 2\u670812\u65e5(\u6708) \u660e\u65e5\u3067\u3059\u3002\n2024\u5e742\u670813\u65e5\u8ffd\u8a18:\n\u5bff\u5c4b\u73c8\u7432\u3067\u671d\u98ef\u3092\u98df\u3079\u3001\n\u30b3\u30fc\u30d2\u30fc\u8c46\u3092\u8cb7\u3044\u3001\u5bae\u5cf6\u3078\u5411\u304b\u3044\u307e\u3057\u305f\u3002\niPhone(\u3068\u3044\u3046\u304b\u6700\u8fd1\u306e\u30b9\u30de\u30db\u5168\u822c\uff1f)\u306f\u9069\u5f53\u306b\u53d6\u3063\u3066\u3082\u826f\u3044\u5199\u771f\u304c\u64ae\u308c\u3066\u5927\u5909\u826f\u3044\u3067\u3059\u306d\u3002\n\u3068\u3053\u308d\u3067\u3001\u3053\u3093\u306a\u5199\u771f\u3092\u64ae\u308a\u307e\u3057\u3066:\niPhone\u306e\u5199\u771fApp\u3067\u3061\u3087\u3063\u3068\u8272\u5473\u3084\u3089\u306a\u3093\u3084\u3089\u3092\u8abf\u6574\u3059\u308b\u3068:\n\u3053\u3093\u306a\u3001\u4f55\u3084\u3089\u65c5\u884c\u4f1a\u793e\u306e\u5e83\u544a\u3084\u30d1\u30f3\u30d5\u30ec\u30c3\u30c8\u306b\u8868\u7d19\u3063\u307d\u3044\u5199\u771f\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3082\u3046iPhone\u306e\u5199\u771fApp\u3060\u3051\u3067\u7de8\u96c6\u307e\u3067\u7c21\u6f54\u3067\u826f\u3044\u306e\u3067\u306f\u30fb\u30fb\u30fb\u3002(\u4f59\u8ac7\u3067\u3059\u304c\u30b9\u30e9\u30a4\u30c9\u3092\u4f5c\u308b\u3068\u304d\u306b\u753b\u50cf\u306b\u30e2\u30b6\u30a4\u30af\u3092\u304b\u3051\u305f\u3044\u3068\u304d\u306fAdobe Illustrator\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002macOS\u306e\u7d14\u6b63\u5199\u771f\u7de8\u96c6\u306a\u3069\u3067\u3067\u304d\u308b\u65b9\u6cd5\u304c\u3042\u308c\u3070\u6559\u3048\u3066\u304f\u3060\u3055\u3044)\n\u53b3\u5cf6\u795e\u793e\u3067\u4ee4\u548c\u306e\u304a\u6e05\u3081\u3092\u89b3\u6e2c\u3057\u307e\u3057\u305f:\n\u9e7f\u306e\u5199\u771f\u3092\u5927\u91cf\u306b\u64ae\u308b\u306a\u3069:\n\u535a\u591a\u5c4b\u306e\u300c\u5bae\u5cf6\u3067\u304c\u3093\u3059\u300d\u304c\u4eca\u56de\u98df\u3079\u305f\u304c\u3093\u3059\u306e\u4e2d\u3067\u4e00\u756a\u3046\u307e\u304b\u3063\u305f:\n\u3068\u3053\u308d\u3067\u5b9f\u306f\u5bae\u5cf6\u306b\u884c\u3063\u305f\u6700\u5927\u306e\u7406\u7531\u306f\u53b3\u5cf6\u795e\u793e\u3067\u306f\u306a\u304f\u3001\u30b9\u30bf\u30d0\u306e\u5bae\u5cf6\u9650\u5b9a\u30b3\u30fc\u30d2\u30fc\u30a2\u30ed\u30de\u30de\u30b0 \u3068\u3044\u3046\u5974\u3092\u624b\u306b\u5165\u308c\u308b\u306e\u304c\u4e3b\u76ee\u7684\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u7121\u4e8b\u58f2\u308a\u5207\u308c\u3066\u304a\u308a\u307e\u3057\u305f\u3002\u304c\u3001\u3053\u308c\u3092\u4f5c\u3063\u3066\u3044\u308b\u5bfe\u53b3\u5802 \u306e\u5de5\u623f\u304c\u5bae\u5cf6\u53e3\u306e\u8fd1\u304f\u306b\u3042\u3063\u305f\u306e\u3067\u3001\u884c\u3063\u3066\u3001\u8cb7\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u304a\u5024\u6bb56,000\u5186(\u7a0e\u5225)\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u98df\u5668\u306f\u3059\u3079\u3066\u98df\u6d17\u6a5f\u306b\u3044\u308c\u3066\u751f\u304d\u6b8b\u3063\u305f\u30e2\u30ce\u3092\u4f7f\u3046\u3068\u3044\u3046\u6211\u304c\u5bb6\u306e\u30b9\u30c8\u30ed\u30f3\u30b0\u30b9\u30bf\u30a4\u30eb\u3067\u3082\u3001\u6d41\u77f3\u306b\u98df\u6d17\u6a5f\u306b\u6df9\u308c\u308b\u306e\u306f\u305f\u3081\u3089\u308f\u308c\u307e\u3059\u306d\u30fb\u30fb\u30fb\n\u6700\u5f8c\u306b\u3001\u7fbd\u7530\u7a7a\u6e2f\u306e\u99d0\u8eca\u58344\u6cca5\u65e5\u306e\u6599\u91d1\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3057\u305f\u3002\u3054\u67fb\u53ce\u304f\u3060\u3055\u3044\u3002\n\u307e\u3068\u3081 \u3084\u306f\u308a\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306b\u884c\u304f\u3068\u6c17\u5206\u304c\u76db\u308a\u4e0a\u304c\u308a\u3001\u9811\u5f35\u3089\u306d\u3070\u306a\u3089\u306c\u306a\u3001\u3068\u601d\u3044\u307e\u3059\u306d\u30022024\u5e74\u306e\u79c1\u306b\u4e5e\u3046\u3054\u671f\u5f85\u4e0b\u3055\u3044\u3002\n\u3082\u3046\u6df1\u591c2:50\u5206\u306a\u306e\u3067\u5bdd\u307e\u3059\u3002\n\u3053\u3061\u3089\u304b\u3089\u306f\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/yapc-hiroshima-2024\/","summary":"<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\n\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\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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\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":"YAPC::Hiroshima 2024"},{"content":"\u79c1\u306f\u666e\u6bb5\u3001railwaycat\/emacsmacport \u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305femacs-mac \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\nmacOS Sonoma\u306b\u3057\u305f\u3089Emacs\u306e\u30bf\u30a4\u30c8\u30eb\u30d0\u30fc\u304c\u592a\u304f\u306a\u3063\u305f&hellip;\uff01 \u306b\u3088\u308b\u3068\u3001\u6b21\u306e\u8a2d\u5b9a\u3092\u5165\u308c\u308b\u3068\u306a\u304a\u308b\u3088\u3046\u3067\u3059:\n1 2 (tool-bar-mode 1) (tool-bar-mode 0) \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\nemacs-mac\u306e\u65b9\u3067\u4fee\u6b63\u3092\u5165\u308c\u3066\u304f\u308c\u3066\u3044\u308b\u69d8\u5b50 \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\n","permalink":"https:\/\/blog.web-apps.tech\/tall-titlebar-issue-on-macos-sonoma\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Tall Titlebar Issue on macOS Sonoma"},{"content":"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\u3002LINE\u8a3c\u5238 \u3068\u540c\u69d8\u3001\u8a18\u9332\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n2018\u5e749\u67083\u65e5: THEO\u767b\u9332\u300110,000\u5186\/\u6708\u3067\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a 2018\u5e7410\u670815\u65e5: \u521d\u56de\u5165\u91d1 2020\u5e742\u670820\u65e5: 20,000\u5186\/\u6708\u306b\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a\u5909\u66f4 2022\u5e743\u670828\u65e5: 10,000\u5186\/\u6708\u306b\u7a4d\u307f\u7acb\u3066\u8a2d\u5b9a\u5909\u66f4 2023\u5e7412\u670829\u65e5: \u6700\u5f8c\u306e\u7a4d\u307f\u7acb\u3066\u304c\u7d42\u4e86 \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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/theo-report\/","summary":"<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=\"\/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":"THEO\u89e3\u7d04\u30ec\u30dd\u30fc\u30c8"},{"content":"\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\n\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\n\u9298\u67c4\u306feMAXIS Slim\u7c73\u56fd\u682a\u5f0f(S&amp;P500)\u3001\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306f\u6b21\u306e\u901a\u308a:\n2022\u5e745\u6708: \u7a4d\u307f\u7acb\u3066\u958b\u59cb\u3001\u7a4d\u7acb\u984d\u306f17,000\u5186\/\u6708 2022\u5e7412\u6708: \u7a4d\u7acb\u984d\u309227,000\u5186\/\u6708\u306b\u5897\u984d 2023\u5e7411\u6708: \u6700\u5f8c\u306e\u7a4d\u307f\u7acb\u3066\u304c\u7d42\u4e86 \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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/line-security-report\/","summary":"<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":"LINE\u8a3c\u5238\u89e3\u7d04\u30ec\u30dd\u30fc\u30c8"},{"content":"\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\u3001LINE6 Relay G10TII \u3068\u3044\u3046\u30ef\u30a4\u30e4\u30ec\u30b9\u9001\u4fe1\u6a5f\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\n\u4eca\u4f7f\u7528\u3057\u3066\u3044\u308b\u30ae\u30bf\u30fc\u306fYAMAHA PACIFICA 112V \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\u3084BOSS WL-20 \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\n\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\n\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\n\u6750\u6599 \u4efb\u610f\u306eL\u5b57\u30d7\u30e9\u30b0 \u4eca\u56de\u306f\u30aa\u30e4\u30a4\u30c7\u306e\u8d85\u5c0f\u578b\u306a\u5974 \u3002\u4f7f\u3063\u3066\u307f\u305f\u304b\u3063\u305f\u306e\u3067\u3002 \u4efb\u610f\u306e\u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af \u4eca\u56de\u306fTOMOCA JS-504 \u3002\u898b\u305f\u76ee\u304c\u826f\u304b\u3063\u305f\u306e\u3067\u3002 \u5343\u77f3\u96fb\u5546 \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\u5343\u77f3\u96fb\u5546\u79cb\u8449\u539f\u672c\u5e97 \u306e2\u968e\u304b\u3001\u30e9\u30b8\u30aa\u4f1a\u9928\u306e\u30c8\u30e2\u30ab\u96fb\u6c17\u30d7\u30ed\u30b7\u30e7\u30c3\u30d7 \u306b\u884c\u304f\u3068\u30bd\u30ec\u3063\u307d\u3044\u30e2\u30ce\u304c\u58f2\u3063\u3066\u3044\u307e\u3059\u3002 \u4efb\u610f\u306e\u5358\u82af\u30b7\u30fc\u30eb\u30c9\u30b1\u30fc\u30d6\u30eb \u4eca\u56de\u306fCANARE GS-6 \u3002\u3069\u5b9a\u756a\u3060\u3057\u3001\u305f\u307e\u305f\u307e\u5b89\u304f\u58f2\u3063\u3066\u305f\u306e\u3067\u3002 PACIFICA 112V\u306e\u5834\u5408\u306f25cm\u4f4d\u7528\u610f\u3059\u308c\u3070\u3061\u3087\u3046\u3069\u3088\u3055\u305d\u3046 \u4f55\u304b\u7d76\u7e01\u3059\u308b\u5974 \u7121\u304f\u3066\u3082\u826f\u3044\u3002\u30d5\u30c3\u7d20\u30c6\u30fc\u30d7 \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 \u4efb\u610f\u306e\u534a\u7530 \u6750\u6599\u3068\u3044\u3046\u304b\u5de5\u5177\u3068\u3044\u3046\u304b\uff1f \u5de5\u5177 \u4efb\u610f\u306e\u534a\u7530\u3054\u3066 \u534a\u7530\u5438\u3044\u53d6\u308a\u7dda \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 \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 \u30c6\u30b9\u30bf\u30fc \u7121\u304f\u3066\u3082\u826f\u3044\u3051\u3069\u5c0e\u901a\u30c1\u30a7\u30c3\u30af\u306f\u3057\u305f\u65b9\u304c\u5b89\u5fc3 (\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 (\u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u4f7f\u3046\u5834\u5408)\u4efb\u610f\u306e\u30d2\u30fc\u30c8\u30ac\u30f3 \u30c9\u30e9\u30a4\u30e4\u30fc\u306a\u3069\u3067\u3082\u4ee3\u7528\u3067\u304d\u308b\u3051\u3069\u3001\u3042\u3063\u305f\u65b9\u304c\u4fbf\u5229 \u30c4\u30fc\u30eb\u30af\u30ea\u30c3\u30d7 \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 \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 \u4f5c\u6210\u624b\u9806 \u76ee\u7b97\u3067\u5916\u5074\u306e\u88ab\u8986\u3092\u5265\u304f \u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u307b\u3050\u3059 L\u5b57\u30d7\u30e9\u30b0\u3092\u3064\u3051\u308b (\u4ee5\u4e0b\u30aa\u30e4\u30a4\u30c7SuperSlim\u306e\u5834\u5408) \u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u3056\u3063\u304f\u308a\u4e8c\u3064\u306b\u5206\u3051\u3066\u82af\u7dda\u306b\u5dfb\u304f \u82af\u7dda\u3092\u5265\u304f \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 \u30af\u30e9\u30f3\u30d7\u5074\u9762\u306e\u7a74\u304b\u3089\u306f\u3093\u3060\u3092\u6d41\u3057\u8fbc\u3080 \u5c0e\u901a\u30c1\u30a7\u30c3\u30af\u3092\u3059\u308b \u71b1\u53ce\u7e2e\u30c1\u30e5\u30fc\u30d6\u3092\u5dee\u3057\u8fbc\u3093\u3067\u52a0\u71b1\u3057\u3066\u53ce\u7e2e\u3055\u305b\u308b \u30ab\u30d0\u30fc\u3092\u3064\u3051\u308b \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 \u30d5\u30a9\u30f3\u30b8\u30e3\u30c3\u30af\u3092\u3064\u3051\u308b (\u4ee5\u4e0bTOMOCA JS-504\u306e\u5834\u5408) \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) \u30b7\u30fc\u30eb\u30c9\u7dda\u3092\u9069\u5f53\u306b\u307e\u3068\u3081\u308b \u82af\u7dda\u3092\u5265\u3044\u3066\u4e8c\u3064\u306b\u5206\u3051\u308b \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) \u30ab\u30d0\u30fc\u3092\u3064\u3051\u308b \u5b8c\u6210! \u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3059 \u5b9f\u969b\u306b\u30ae\u30bf\u30fc\u306b\u633f\u3059\u3068\u3053\u3093\u306a\u611f\u3058: \u3061\u3087\u3046\u3069\u30b9\u30c8\u30e9\u30c3\u30d7\u306e\u3001\u30b9\u30c8\u30e9\u30c3\u30d7\u30a8\u30f3\u30c9(?)\u3092\u3061\u3087\u3063\u3068\u8d85\u3048\u305f\u3050\u3089\u3044\u306e\u3068\u3053\u308d\u306b\u9001\u4fe1\u6a5f\u304c\u6765\u308b\u5f62\u3002\u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u30b1\u30fc\u30d6\u30eb\u3092\u30b9\u30c8\u30e9\u30c3\u30d7\u30a8\u30f3\u30c9\u306e\u3042\u305f\u308a\u306b\u56fa\u5b9a\u3059\u308c\u3070\u3001\u9001\u4fe1\u6a5f\u306e\u629c\u304d\u5dee\u3057\u3082\u3067\u304d\u3066\u826f\u3044\u611f\u3058\u306b\u4f7f\u3048\u305d\u3046\u3067\u3059\u3002\n\u30aa\u30e4\u30a4\u30c7SuperSlim\u306e\u304a\u304b\u3052\u3067\u3001\u98db\u3073\u51fa\u3057\u3082\u6700\u5c0f\u9650\u3067\u6e08\u3093\u3067\u3044\u3066\u5927\u5909\u826f\u3044\u3067\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/make-extension-cable-for-wireless\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30ef\u30a4\u30e4\u30ec\u30b9\u9001\u4fe1\u6a5f\u7528\u5ef6\u9577\u30b7\u30fc\u30eb\u30c9\u3092\u4f5c\u308b"},{"content":"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\n\u7d4c\u7def \u4e8b\u306e\u767a\u7aef\u306f\u67d0GAFA\u793e\u9577\u3067\u3042\u308b\u3068\u3053\u308d\u306e@jyoshise san\u306b\u3088\u308b\u6b21\u306e\u30c4\u30a4\u30fc\u30c8\u3067\u3057\u305f: \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\n&mdash; jyoshise (@jyoshise) June 22, 2023 \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:\nRepo\u7acb\u3066\u307e\u3057\u305f\u30fc\uff01https:\/\/t.co\/4OqYjugBBr https:\/\/t.co\/ncT3tKxWDG\n&mdash; jyoshise (@jyoshise) June 23, 2023 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 \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\n\u6982\u306d\u6f14\u8005\u3060\u3051\u3067\u4f1a\u5834\u306f\u4e00\u676f\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u4e00\u822c\u30aa\u30fc\u30c7\u30a3\u30a8\u30f3\u30b9\u3082\u52df\u96c6\u3057\u3066\u3044\u307e\u3057\u305f \u3002\n\u30d0\u30f3\u30c9\u3068\u6f14\u76ee \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\n\u9762\u5b50\u306f\u4ee5\u4e0b\u306e\u901a\u308a:\nVo: tsukaman Gt: \u3058\u3085\u3093\u3058\u3085\u3093 Gt: nasa9084 Ba: karupanerura Key: harak Dr: \u76ae\u3057\u3070\u304d \u305d\u3057\u3066\u66f2\u76ee\u306f\u6b21\u306e\u901a\u308a\u3067\u3057\u305f:\n\u6df1\u591c\u9ad8\u901f \/ \u30d5\u30e9\u30ef\u30fc\u30ab\u30f3\u30d1\u30cb\u30fc\u30ba \u3070\u3089\u306e\u82b1 \/ \u304f\u308b\u308a \u6b69\u3044\u3066\u5e30\u308d\u3046 \/ \u6589\u85e4\u548c\u7fa9 \u7fa4\u9752\u65e5\u548c \/ \u6771\u4eac\u4e8b\u5909 \u6a5f\u6750 \u30ae\u30bf\u30fc\u306fYAMAHA PACIFICA 112V \u3067\u3059\u3002\n\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\n\u5f26\u306fElixir Optiweb 09-42\u3067\u3059\u3002\n\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306fZOOM G1 FOUR \u3067\u3059\u3079\u3066\u3092\u6e08\u307e\u305b\u307e\u3057\u305f\u3002\u7df4\u7fd2\u3067\u306fTHR10II Wireless \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\u3001LINE6 Relay G10SR \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\n\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\u3067tc electronic POLYTUNE3 \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\n\u30dc\u30fc\u30c9\u306fpedaltrain nano \u3067\u3001\u307e\u3068\u307e\u308a\u3088\u304f\u69cb\u6210\u3067\u304d\u305f\u3068\u601d\u3044\u307e\u3059\u3002\n\u30d1\u30c3\u30c1\u30b1\u30fc\u30d6\u30eb\u306fOYAIDE\u306e\u30bd\u30eb\u30c0\u30fc\u30ec\u30b9\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u304c\u3063\u3061\u308a\u3057\u3066\u3044\u3066\u5b89\u5fc3\u611f\u304c\u3042\u308b\u4e00\u65b9\u982d\u304c\u3067\u304b\u3044\u306e\u3067\u4e88\u7b97\u304c\u3042\u308b\u306a\u3089\u4ed6\u306e\u826f\u3044\u5974\u304c\u6709\u308b\u3068\u601d\u3044\u307e\u3059\u3002\n\u30d1\u30ef\u30fc\u30b5\u30d7\u30e9\u30a4\u306fVITAL AUDIO\u306eVA-05 MkII\u3067\u3001pedaltrain nano\u306e\u88cf\u5074\u306b\u3061\u3087\u3046\u3069\u826f\u3044\u30b5\u30a4\u30ba\u3067\u3059\u3002\n\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u306e\u8cbc\u308a\u4ed8\u3051\u306b\u306f\u9b54\u6cd5\u306e\u30c6\u30fc\u30d7 \u3068\u3044\u3046\u3001\u304c\u3063\u3061\u308a\u3064\u304f\u3051\u3069\u5265\u304c\u305b\u308b\u8b0e\u306e\u30c6\u30fc\u30d7(?)\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\u30db\u30f3\u30c8\u306fEx-pro\u306e\u30de\u30b8\u30c3\u30af\u30c6\u30fc\u30d7\u3092\u4f7f\u304a\u3046\u3068\u601d\u3063\u3066\u8cfc\u5165\u307e\u3067\u3057\u305f\u3093\u3067\u3059\u304c\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u6642\u306b\u9b54\u6cd5\u306e\u30c6\u30fc\u30d7\u306e\u65b9\u304c\u4fbf\u5229\u304b\u3082\uff1f\uff1f\u3063\u3066\u601d\u3063\u3061\u3083\u3063\u305f\u306e\u3067\u30fb\u30fb\u30fb\n\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u30a2\u30f3\u30d7\u307e\u3067\u306f\u8d85\u30c9\u5b9a\u756a\u30b7\u30fc\u30eb\u30c9\u3067\u3042\u308b\u3068\u3053\u308d\u306eCANARE LC03\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002\n\u30a2\u30f3\u30d7\u306fJVM 210H\u3067\u3001\u30de\u30b9\u30bf\u30fc\u30dc\u30ea\u30e5\u30fc\u30e0\u30de\u30c3\u30af\u30b9\u3001bass\/treble\u306f12\u6642\u3001middle\u30de\u30c3\u30af\u30b9\u3001gain\u306f\u3061\u3087\u3063\u3068\u3001\u3068\u3044\u3046\u8a2d\u5b9a\u3067\u3057\u305f:\n\u672c\u756a\u3067\u4f7f\u3063\u305f\u30d4\u30c3\u30af\u306fMASTER 8 JAPAN INFINIX-U JAZZ type with Hard Grip\u306e0.88mm \u3067\u3059\u3002\u76f4\u524d\u306b\u7126\u3063\u3066\u4e88\u5099\u3092\u8cb7\u3044\u306b\u884c\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u672c\u756a\u3067\u306f\u5b9f\u969b\u306b\u30d4\u30c3\u30af\u3092\u843d\u3068\u3057\u305f\u306e\u3067\u7121\u7406\u306b\u6642\u9593\u3092\u4f5c\u3063\u3066\u8cb7\u3044\u306b\u884c\u3063\u3066\u826f\u304b\u3063\u305f\u3067\u3059\u3002\u307f\u3093\u306a\u306f\u4f59\u88d5\u3092\u6301\u3063\u3066\u8cb7\u3063\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u306d\u3002\u4e88\u5099\u30d4\u30c3\u30af\u306fROMBO\u306e\u30d4\u30c3\u30af\u30db\u30eb\u30c0\u30fc \u3067\u30d8\u30c3\u30c9\u306b\u3064\u3051\u3066\u304a\u304d\u307e\u3057\u305f\u3002\u4e8c\u679a\u3064\u3051\u308b\u3068\u304b\u306a\u308a\u30c0\u30b5\u3044\u6c17\u304c\u3059\u308b\u3051\u3069\u3001\u4e00\u679a\u306a\u3089\u307e\u3041\u8a31\u5bb9\u7bc4\u56f2\u304b\u306a\u3001\u7684\u306a\u3002\n\u30ab\u30dd\u306fG7TH Performance 3 ART Capo \u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\n\u30b9\u30c8\u30e9\u30c3\u30d7\u306f\u3069\u3053\u304b\u306e\u5cf6\u6751\u697d\u5668\u3067\u8cb7\u3063\u305f\u3001\u30ca\u30a4\u30ed\u30f3\u3063\u307d\u3044\u6ed1\u308a\u306e\u826f\u3044\u5974\u3067\u3059\u3002\nZOOM G1 FOUR\u306e\u8a2d\u5b9a \u6df1\u591c\u9ad8\u901f \/ \u3070\u3089\u306e\u82b1 \/ \u6b69\u3044\u3066\u5e30\u308d\u3046 \u57fa\u672c\u306e\u30ce\u30a4\u30ba\u30ea\u30c0\u30af\u30b7\u30e7\u30f3ZNR\u306b\u3001RedCrunch\u3067\u30aa\u30fc\u30d0\u30fc\u30c9\u30e9\u30a4\u30d6\u3001\u5f8c\u6bb5\u306bSpring reverb\u3092\u3061\u3087\u3063\u3068\u3060\u3051\u3001\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u3002\n\u7df4\u7fd2\u306e\u6642\u306b\u30d8\u30c3\u30c9\u30db\u30f3\u3067\u7df4\u7fd2\u3059\u308b\u306e\u306b\u30a2\u30f3\u30d7\u3068\u30ad\u30e3\u30d3\u30cd\u30c3\u30c8\u3092\u3044\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u30a2\u30f3\u30d7\u306b\u7e4b\u3044\u3067\u3082\u5909\u306a\u611f\u3058\u306b\u306f\u306a\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u305d\u306e\u307e\u307e\u4f7f\u3044\u307e\u3057\u305f\u3002\n\u7fa4\u9752\u65e5\u548c \u7fa4\u9752\u65e5\u548c\u306f\u30d0\u30f3\u30c9\u5168\u4f53\u7684\u306b\u97f3\u304c\u591a\u304f\u3054\u3061\u3083\u3054\u3061\u3083\u3057\u3066\u3044\u308b\u306e\u3068\u3001\u7df4\u7fd2\u6642\u306f\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3092\u30b5\u30dc\u308b\u305f\u3081\u306bPITCH SHIFT\u3092\u5165\u308c\u3066\u534a\u97f3\u4e0b\u3052\u3066\u3044\u305f\u306e\u3067\u3001\u5225\u306e\u30d1\u30c3\u30c1\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002\u30d1\u30c3\u30c1\u540d\u306eGJ\u306f\u30fb\u30fb\u30fbGunJo\u3067\u3059\u306d\u3002\n\u57fa\u672c\u306eZNR\u3092\u5165\u308c\u3066\u3001\u30b3\u30f3\u30d7\u30ec\u30c3\u30b5\u30fc\u3001\u30c9\u30e9\u30a4\u30d6\u3001\u30ea\u30d0\u30fc\u30d6\u3068\u3044\u3046\u69cb\u6210\u3067\u3059\u3002\u4ed6\u306e\u66f2\u306f2nd Gt.\u3068\u3044\u3046\u611f\u3058\u3067\u3001\u57fa\u672c\u7684\u306b\u306f\u30d1\u30ef\u30fc\u30b3\u30fc\u30c9\u3092\u5f3e\u3044\u3066\u3044\u308b\u611f\u3058\u3060\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u7fa4\u9752\u65e5\u548c\u3060\u3051\u306f\u30ea\u30fc\u30c9\u3063\u307d\u3044\uff1f\u30d1\u30fc\u30c8\u3092\u5f3e\u3044\u305f\u306e\u3067(\u8b5c\u9762\u30d9\u30fc\u30b9\u3058\u3083\u306a\u304f\u3066\u66d6\u6627\u306b\u30d1\u30fc\u30c8\u5206\u3051\u3092\u3057\u3066\u3044\u305f\u306e\u3067\u30ea\u30fc\u30c9\u30ae\u30bf\u30fc\u3068\u8a00\u3063\u3066\u826f\u3044\u306e\u304b\u3088\u304f\u5206\u304b\u3089\u306a\u3044\u3067\u3059\u304c)\u3001\u30ed\u30f3\u30b0\u30c8\u30fc\u30f3\u306a\u3069\u306e\u30b5\u30b9\u30c6\u30a3\u30f3\u3092\u5ef6\u3070\u3057\u305f\u304b\u3063\u305f\u306e\u3067\u30b3\u30f3\u30d7\u30ec\u30c3\u30b5\u30fc\u3092\u5165\u308c\u305f\u3093\u3067\u3059\u304c\u3001\u7d50\u679c\u7684\u306b\u306f\u305d\u308c\u4ee5\u5916\u306e\u9762\u3067\u3082\u5165\u308c\u3066\u826f\u304b\u3063\u305f\u304b\u306a\u3001\u3068\u601d\u3044\u307e\u3057\u305f\u3002\n\u30c9\u30e9\u30a4\u30d6\u306f\u3044\u308d\u3044\u308d\u306a\u3089\u3057\u3066\u307f\u3066\u30bd\u30ec\u3063\u307d\u304b\u3063\u305f\u5974\u3092\u30bd\u30ec\u3063\u307d\u3044\u8a2d\u5b9a\u3067\u5165\u308c\u307e\u3057\u305f\u3002\n\u30ea\u30d0\u30fc\u30d6\u306f\u540c\u3058\u304fSpring reverb\u3067\u3001\u307b\u3093\u306e\u3061\u3087\u3063\u3068\u3060\u3051\u304b\u3051\u3066\u3044\u308b\u3068\u3044\u3046\u611f\u3058\u3067\u3059\u306d\u3002\n\u7fa4\u9752\u65e5\u548c\u3067\u306f\u30bd\u30ed\u3082\u5f3e\u3044\u305f\u306e\u3067\u3001\u30bd\u30ed\u7528\u306e\u30d1\u30c3\u30c1\u3082\u7528\u610f\u3057\u307e\u3057\u305f\u3002ZNR\u3001\u30b3\u30f3\u30d7\u30ec\u30c3\u30b5\u30fc\u306e\u8a2d\u5b9a\u306fGJ\u30d1\u30c3\u30c1\u3068\u540c\u3058\u3067\u3059\u304c\u3001\u7fa4\u9752\u65e5\u548c\u306e\u30bd\u30ed\u3063\u307d\u3044\u611f\u3058\u306e\u97f3\u3092\u51fa\u3059\u306e\u306b\u30a2\u30c3\u30d1\u30fc\u30aa\u30af\u30bf\u30fc\u30d6\u3092\u8db3\u3059UpOctBSTR\u3092\u5165\u308c\u3066\u3044\u308b\u306e\u3068\u3001\u6b6a\u307f\u3092\u3072\u3069\u3044\u611f\u3058\u306b(?)\u3057\u305f\u304b\u3063\u305f\u306e\u3067\u30c9\u30e9\u30a4\u30d6\u3092Metal Zone\u306e\u30e2\u30c7\u30ea\u30f3\u30b0\u30a8\u30d5\u30a7\u30af\u30bf\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\u3002\n\u5f53\u521d\u306f\u30ea\u30d0\u30fc\u30d6\u306f\u5909\u308f\u3089\u305a\u3061\u3087\u3063\u3068\u3060\u3051\u304b\u3051\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u97f3\u91cf\u3092\u8abf\u6574\u3059\u308b\u305f\u3081\u3001\u30d6\u30fc\u30b9\u30bf\u30fc\u3092\u6700\u5f8c\u6bb5\u306b\u5165\u308c\u308b\u69cb\u6210\u306b\u3057\u307e\u3057\u305f\u3002\n\u6765\u5e74 \u6765\u5e74\u3082\u3084\u308b\u305d\u3046\u3067\u3059\u306e\u3067\u3001\u6a5f\u6750\u3092\u3088\u308a\u826f\u304f\u3057\u305f\u3044\u6240\u5b58\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/tech-rock-festival-2023\/","summary":"<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>\n san\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\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\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Tech Rock Festival 2023"},{"content":"\u3082\u30462023\u5e74\u3082\u7d42\u308f\u308a\u307e\u3059\u306d\u30022022\u5e74\u306e\u8a18\u4e8b \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\n\u55ab\u8336\u7cfb Fellow ODE Gen2 \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 \u30cb\u30c8\u30ea \u30c9\u30ea\u30c3\u30d7\u30ab\u30c3\u30d7 \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 HARIO \u8336\u8336\u30c9\u30ea\u30c3\u30d1\u30fc\u30fb\u30d6\u30fc\u30b1 \u30b5\u30fc\u30d0\u30fc\u30bb\u30c3\u30c8 \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 \u30b5\u30fc\u30e2\u30b9 \u771f\u7a7a\u65ad\u71b1\u30c6\u30a3\u30fc\u30dd\u30c3\u30c8 \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 LOVERAMICS BEANS DOSING TRAYS 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 \u30ae\u30bf\u30fc\u95a2\u9023 YAMAHA PACIFICA112V \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 G7th Performance 3 ART Capo Black \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 \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 \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 MASTER 8 JAPAN INFINIX JAZZ TYPE HARD GRIP \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 PEDALTRAIN NANO \u8d85\u5c0f\u578b\u30a8\u30d5\u30a7\u30af\u30bf\u30fc\u30dc\u30fc\u30c9\u3002G10SR \u3001Polytune3 \u3001G1 FOUR \u3067\u3074\u3063\u305f\u308a\u3001\u3068\u3044\u3046\u611f\u3058\u306e\u69cb\u6210\u3002\u96fb\u6e90\u306fVITAL AUDIO POWER CARRIER VA-05 MkII \u304c\u826f\u3044\u30b5\u30a4\u30ba\u3002\u30de\u30eb\u30c1\u306fGT1000-core\u3092\u8cb7\u3046\u304b\u691c\u8a0e\u4e2d\u3002 \u30a2\u30eb\u30c8\u30d9\u30f3\u30ea \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 HERCULES GS414B PLUS \u5b89\u5b9a\u611f\u629c\u7fa4\u3002 \u65e5\u7528\u54c1\u306a\u3069 \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 \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 [RLJ] \u5f15\u304d\u51fa\u3057 \u30df\u30cb \u30b5\u30a4\u30ba (\u5f8c\u4ed8\u3051\u30bf\u30a4\u30d7) \u30df\u30cb\u5f15\u304d\u51fa\u3057 \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 \u9b3c\u30d4\u30bf \u9b54\u6cd5\u306e\u30c6\u30fc\u30d7 \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 uxcell \u4e38\u5e73\u982d \u30ed\u30fc\u30ec\u30c3\u30c8 \u3064\u307e\u307f M2x8mm \u30cf\u30f3\u30c9\u30af\u30e9\u30f3\u30d7\u306d\u3058 \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 [PureSino] \u30a2\u30fc\u30e0\u30d0\u30f3\u30c9 \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 \u30e9\u30e0\u30de\u30a6\u30f3\u30c8(RAM MOUNTS) MagSafe\u30de\u30a6\u30f3\u30c8 \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 SwitchBot \u30ab\u30fc\u30c6\u30f3 \u7b2c3\u4e16\u4ee3 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 BREENHILL \u30c6\u30fc\u30d6\u30eb\u30de\u30c3\u30c8 100x40cm \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 \u66f8\u7c4d \u3042\u304b\u306d\u567a \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 \u6c5f\u6238\u524d\u30a8\u30eb\u30d5 \u30a2\u30cb\u30e1\u5316\u3082\u3055\u308c\u305f\u3002\u30a2\u30cb\u30e1\u3082\u826f\u3044\u3067\u3059\u3002 \u304a\u524d\u3001\u30bf\u30cc\u30ad\u306b\u306a\u3089\u306d\u30fc\u304b\uff1f \u30bf\u30cc\u30ad\u306b\u306a\u308a\u305f\u3044\u3002 Dr.STONE \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 \u30dc\u30dc\u30dc\u30fc\u30dc\u30fb\u30dc\u30fc\u30dc\u30dc \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? \u846c\u9001\u306e\u30d5\u30ea\u30fc\u30ec\u30f3 \u7d19\u3092kindle\u306b\u8cb7\u3044\u63db\u3048\u3002\u7279\u306b\u8a00\u3046\u3053\u3068\u306f\u7121\u3044\u3067\u3059\u3002 ","permalink":"https:\/\/blog.web-apps.tech\/2023-must-buy\/","summary":"<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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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":"2023\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u30e2\u30ce"},{"content":"\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\n\u30ec\u30b7\u30d4\u306f\u6b21\u306e\u901a\u308a\u3002\n\u6750\u6599 \u51fa\u6c41 \u5473\u564c \u30cb\u30f3\u30cb\u30af \u751f\u59dc \u30d4\u30fc\u30de\u30f3 \u305f\u307e\u3054 \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\n\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\n\u8abf\u7406\u624b\u9806 \u6e6f\u3092\u6cb8\u304b\u3057\u3001\u51fa\u6c41\u3092\u53d6\u308b\u3001\u4e43\u81f3\u51fa\u6c41\u306e\u7d20\u3092\u6eb6\u304b\u3059 \u5473\u564c\u3092\u6eb6\u304b\u3059 \u30cb\u30f3\u30cb\u30af\u3068\u751f\u59dc\u3092\u3059\u308a\u304a\u308d\u3057\u3066\u5165\u308c\u308b \u6eb6\u304d\u305f\u307e\u3054\u3092\u56de\u3057\u5165\u308c\u308b \u30d4\u30fc\u30de\u30f3\u3092\u5165\u308c\u308b \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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/super_miso_soup\/","summary":"<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":"\u3059\u3054\u3044\u5473\u564c\u6c41"},{"content":"\u5148\u65e5\u3001SCAJ \u3068\u3044\u3046\u3067\u304b\u3044\u30b3\u30fc\u30d2\u30fc\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002 \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\n\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\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 \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\nCAFE@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\n\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\n\u5185\u5bb9\u306f\u3053\u3093\u306a\u611f\u3058:\n\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\n\u958b\u5c01\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30bb\u30c3\u30c8\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3059:\n\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\n\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\n\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 \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\n\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\n\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\n\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\n10g260\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\u306fCOFFEE STYLE UCC ONLINE SHOP \u3067\u8cb7\u3048\u308b\u3088\u3046\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ucc-cafe-at-home\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"UCC Cafe@Home"},{"content":"\u8ee2\u8077\u30bf\u30b0 \u306f\u3064\u3051\u305f\u3082\u306e\u306e\u8ee2\u8077\u3067\u306f\u306a\u3044\u3067\u3059\u3002\n2023-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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/line-to-lineyahoo\/","summary":"<p><a href=\"\/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":"\u6240\u5c5e\u304cLINE\u30e4\u30d5\u30fc\u682a\u5f0f\u4f1a\u793e\u306b\u306a\u308a\u307e\u3057\u305f"},{"content":"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\n\u305d\u306e\u3046\u3061\u306e\u4e00\u3064 \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\u3001save and then kill\u304c\u52a0\u3048\u3089\u308c\u307e\u3057\u305f\u3002\n\u3082\u3068\u3082\u3068(fset 'yes-or-no-p 'y-or-n-p)\u3068\u3057\u3066y\u307e\u305f\u306fn\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\u56dey\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\u3001Kill Unsaved Emacs Buffers UX: Replacing Yes\/No\/Save with Meaningful Options \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\u3068kill-buffer--possibly-save \u3068\u3044\u3046\u95a2\u6570\u3067\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002 advice\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\u3001use-short-answers\u3068\u3044\u3046\u3001\u4f55\u3084\u3089\u3088\u3055\u3052\u306a\u5909\u6570\u540d\u304c\u76ee\u306b\u5165\u308a\u307e\u3057\u305f\u3002\ndescribe-variable\u3067\u8aac\u660e\u3092\u898b\u3066\u307f\u308b\u3068\u3001non-nil\u306e\u6642\u306byes-or-no-p\u306e\u4ee3\u308f\u308a\u306by-or-n-p\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(setq use-short-answers t)\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\nyes-or-no-p\u306e\u8aac\u660e\u3092\u78ba\u8a8d\u3057\u3066\u307f\u3066\u3082\u3001\nIf the \u2018use-short-answers\u2019 variable is non-nil, instead of asking for &ldquo;yes&rdquo; or &ldquo;no&rdquo;, this function will ask for &ldquo;y&rdquo; or &ldquo;n&rdquo;.\n\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3057\u305f\u3002\n\u3068\u3044\u3046\u308f\u3051\u3067\u3001(fset 'yes-or-no-p 'y-or-n-p)\u3092(setq use-short-answers t)\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\n","permalink":"https:\/\/blog.web-apps.tech\/y-or-n-for-kill-modified-buffer\/","summary":"<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":"y-or-n for kill modified buffer"},{"content":"2020\u5e74\u306bexa\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066 \u304b\u3089\u30013\u5e74\u534a\u5f31ls\u306e\u4ee3\u308f\u308a\u3068\u3057\u3066exa\u3092\u4f7f\u7528\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \u8a2d\u5b9a\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3001exa\u306b\u4f55\u3084\u3089\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8db3\u3057\u305f\u5974\u3092ls\u306e\u30a8\u30a4\u30ea\u30a2\u30b9\u3068\u3057\u3066\u3001\u8ffd\u52a0\u3067ll\u3001la\u3001lla\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u611f\u3058\u3067\u3059:\n1 2 3 4 alias ls=&#34;exa -Fgh --git --time-style=long-iso&#34; alias la=&#34;ls -a&#34; alias ll=&#34;ls -l&#34; alias lla=&#34;ls -la&#34; \u3067\u3001\u4e0d\u5b9a\u671f\u3067\u3084\u3063\u3066\u308b\u30ed\u30fc\u30ab\u30eb\u306e\u30c4\u30fc\u30eb\u66f4\u65b0\u3068\u3044\u3046\u304b\u3001brew update &amp;&amp; brew outdated\u3092\u3057\u305f\u3068\u3053\u308d\u3001exa\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\u3001exa is unmaintained, please use the active fork eza instead \u3068\u3044\u3046\u30b3\u30df\u30c3\u30c8\u304c\u6253\u305f\u308c\u3066\u3044\u3066\u3001eza \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 \u500b\u4eba\u7684\u306b\u306fexa\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\u3001eza\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\n\u624b\u9806 brew install eza sed -ie 's\/exa\/eza\/' .zshrc brew uninstall exa \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\u306fsymlink\u306e\u30b5\u30a4\u30ba\u8868\u793a\u304c\u5909\u308f\u3063\u305f \u304f\u3089\u3044\u3067\u3059\u304b\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/exa-to-eza\/","summary":"<p><a href=\"\/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":"Exa to Eza"},{"content":"\u4e16\u306e\u6d41\u308c\u7684\u306b\u306f\u3001Helm\u3068\u3044\u3048\u3070Kubernetes\u7528\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc \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\u308aemacs\u306e\u30d1\u30c3\u30b1\u30fc\u30b8 \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\nhelm\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\u30b3\u30df\u30c3\u30c8 \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(commit \/tweet )\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\u3082helm-M-x\u3001helm-find-files\u3001helm-show-kill-ring\u3001helm-buffers-list\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\n8\u5e74\u306e\u9593\u306b\u3082\u3001Ivy\/Counsel \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\n\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\u305fuse-package (\u3069\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u5c0e\u5165\u3057\u305f\u306e\u304b\u306f\u4e0d\u660e\u3067\u3059\u304c\u3001GitHub\u4e0a\u3067\u306efirst commit \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\u306fpackage-install\u3092\u76f4\u63a5\u547c\u3073\u51fa\u3059\u3053\u3068\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u305f \u306e\u3067\u3059\u304c\u3001use-package\u304cbuilt-in\u3068\u306a\u3063\u305f\u3053\u3068\u3067\u3001\u6674\u308c\u3066package-install\u306e\u76f4\u63a5\u547c\u3073\u51fa\u3057\u3082\u4e0d\u8981\u3068\u306a\u308a\u307e\u3057\u305f \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\u3089vertico \u306b\u4e57\u308a\u63db\u3048\u3066\u307f\u307e\u3057\u305f\u3002\nhelm\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\n\u4eca\u306e\u3068\u3053\u308d\u7d44\u307f\u5408\u308f\u305b\u3066\u3044\u308b\u3082\u306e\u306fmarginalia \u3068orderless \u306e\u4e8c\u3064\u3002\nmarginalia\u306fminibuffer completion\u306b\u4f55\u3084\u3089\u60c5\u5831\u3092\u8db3\u3059\u3084\u3064\u3067M-x\u3067\u30b3\u30de\u30f3\u30c9\u306e\u7c21\u5358\u306a\u8aac\u660e\u304c\u898b\u3089\u308c\u305f\u308a\u3001find-file\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\u304c2023 Sep 10\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\u308a2023-09-10\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\u3067marginalia--time-absolute\u3092\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u6570\u5b57\u8868\u8a18\u306b\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002\n1 2 3 4 5 6 7 8 9 10 (defun marginalia--time-absolute--month-number (time) &#34;Format TIME as an absolute age but use month number instead of month name.&#34; (let ((system-time-locale &#34;C&#34;)) (format-time-string (if (&gt; (decoded-time-year (decode-time (current-time))) (decoded-time-year (decode-time time))) &#34; %Y-%m-%d&#34; &#34;%m-%d %H:%M&#34;) time))) (advice-add &#39;marginalia--time-absolute :override #&#39;marginalia--time-absolute--month-number) 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\u3070abc\u3068\u5165\u529b\u3059\u308b\u3068a.*b.*c.*\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\n\u307e\u305f\u3001helm\u306e\u6642\u306b\u3069\u3046\u306a\u3063\u3066\u3044\u305f\u304b\u306f\u3082\u3046\u65e2\u306b\u8a18\u61b6\u306b\u306a\u3044(\u3044\u3064\u3082\u624b\u7656\u3067\u64cd\u4f5c\u3057\u3066\u3044\u308b\u306e\u3067\u30fb\u30fb\u30fb)\u3093\u3067\u3059\u3051\u3069\u3001magit\u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001feature branch\u3092\u5207\u3063\u3066git push -u\u3059\u308b\u3068\u304d\u306b\u5019\u88dc\u306e\u9806\u756a\u306b\u9055\u548c\u611f\u304c\u3042\u3063\u305f\u306e\u3067\u6b21\u306e\u69d8\u306bmagit-completing-read-function\u3092\u8abf\u6574\u3057\u307e\u3057\u305f\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 (defun sort-preferred-remote-first (branches) (let ((preferred-push-remote-prefix &#34;origin\/&#34;)) (nconc (seq-filter (lambda (x) (string-prefix-p preferred-push-remote-prefix x)) branches) (seq-remove (lambda (x) (string-prefix-p preferred-push-remote-prefix x)) branches)))) (defun magit-completion-table-with-sort (collection) (lambda (string pred action) (if (eq action &#39;metadata) &#39;(metadata (display-sort-function . sort-preferred-remote-first)) (complete-with-action action collection string pred)))) (defun builtin-completing-read (prompt choices &amp;optional predicate require-match initial-input hist def) &#34;Wrapper for standard `completing-read&#39; function to be used by magit.&#34; (pcase this-command (&#39;magit-push-current-to-upstream ;; use my sort function to sort candidate branches (setq choices (magit-completion-table-with-sort choices)) ;; I don&#39;t want origin\/master to be on top when push ;; ref. https:\/\/github.com\/magit\/magit\/blob\/7bef529ce9b07808d5c14692c5ab2d248e7b5bd1\/lisp\/magit-push.el#L141 (when (equal def &#34;origin\/master&#34;) (setq def nil))) (_ ;; otherwise use magit&#39;s default completion-table function (setq choices (magit--completion-table choices)))) (completing-read prompt choices predicate require-match initial-input hist def)) (setq magit-completing-read-function #&#39;builtin-completing-read)) \u3056\u3063\u304f\u308a\u3068\u8aac\u660e\u3092\u3059\u308b\u3068\u3001\nupstream remote\u306bpush\u3092\u3059\u308b\u3053\u3068\u306f\u307b\u307c\u306a\u3044\u306e\u3067origin\u306e\u30d6\u30e9\u30f3\u30c1\u304c\u5148\u306b\u6765\u308b\u3088\u3046\u306b\u30bd\u30fc\u30c8 origin\/master\u306bpush\u3059\u308b\u3053\u3068\u3082\u307b\u307c\u306a\u3044\u306e\u3067\u3001completing-read\u306b\u4e0e\u3048\u308bdefault\u3092nil\u306b\u4e0a\u66f8\u304d \u3068\u3044\u3046\u8a2d\u5b9a\u3067\u3059\u3002\u3042\u3093\u307e\u308aemacs lisp\u306b\u8a73\u3057\u304f\u306a\u3044\u306e\u3067\u3001magit-completion-table-with-sort\u3067collection\u304cvoid\u3060\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u89e3\u6d88\u306b\u6570\u65e5\u304b\u304b\u308a\u307e\u3057\u305f\u3002\u3002\u3002(lexical-binding: t\u304c\u5fc5\u8981) \u3053\u3053\u6570\u65e5\u3053\u306e\u3078\u3093\u3092\u6df1\u591c\u306b\u3044\u3058\u3063\u3066\u3044\u3066\u3001emacs\/emacs lisp\u3078\u306e\u7406\u89e3\u304c\u30b0\u30c3\u3068\u6df1\u307e\u3063\u305f\u611f\u3058\u304c\u3057\u307e\u3059\u3002advice\u3068\u304b\u3082\u66f8\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u52a0\u3048\u3066\u3001nerd-icons-completion \u3082\u5c0e\u5165\u3057\u305f\u306e\u3067\u898b\u305f\u76ee\u3082\u3061\u3087\u3063\u3068\u53ef\u611b\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u307e\u3060\u3082\u3046\u3061\u3087\u3063\u3068\u3044\u3058\u308b\u4e88\u5b9a\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u3068\u308a\u3042\u3048\u305avertico (and friends)\u306f\u4f7f\u3044\u7d9a\u3051\u308b\u898b\u8fbc\u307f\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/migrate-helm-to-vertico-stack\/","summary":"<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":"Migrate Helm to Vertico Stack"},{"content":"\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 \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\n\u6628\u5e74\u306e\u6885\u9152 \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\n\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\n\u307e\u305f\u6765\u5e74\u304a\u4f1a\u3044\u3057\u307e\u3057\u3087\u3046\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2023\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2023\/images\/IMG_2529_hu_450a941812872ab7.jpg\" alt=\"\u53bb\u5e74\u306e\u6885\u9152\"  \/>\n<\/p>\n<p><a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u6885\u4ed5\u4e8b2023"},{"content":"\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\n\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\n\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\n\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\n\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\n\u53c2\u8003\u306b\u3057\u305f\u30ec\u30d3\u30e5\u30fc\u52d5\u753b\u306f\u3053\u3061\u3089\u3067\u3059:\n\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\n\u8ca9\u58f2\u30da\u30fc\u30b8\u306f\u3053\u3061\u3089: Fellow ODE Brew Grinder Gen 2 \u5c4a\u3044\u305f\u30e2\u30ce\u304c\u3053\u3061\u3089: \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\n\u633d\u3044\u305f\u7c89\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\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\n\u7c89\u53d7\u3051\u3082\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\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\n\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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/fellow-ode-gen2\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Fellow Ode Gen2\u3092\u8cb7\u3063\u305f"},{"content":"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\u3001YAPC::Kyoto 2023 \u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002 YAPC::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\nYAPC\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#yapcjapan \u3067\u3057\u305f\u3002\n\u4eac\u90fd\u306f\u304a\u305d\u3089\u304fOSC 2018 Kyoto \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\n\u521d\u65e5\u306f\u5230\u7740\u304c\u9045\u304b\u3063\u305f\u3053\u3068\u3082\u3042\u308a\u3001\u6df1\u591c\u306b#yapcramen \u3059\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3057\u305f\u3002 #yapcjapan #yapcramen https:\/\/t.co\/xjNb09VCXW pic.twitter.com\/uAcIisYkGG\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 17, 2023 YAPC::Kyoto 2023 \u524d\u65e5\u796d \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\n\u306a\u304a\u663c\u3054\u98ef\u306f\u854e\u9ea6\u306e\u5b9f \u3088\u3057\u3080\u3089 \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\npic.twitter.com\/nbEJmygDYb\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 18, 2023 \u5ba2\u5358\u4fa1\u3042\u3052\u3066\u3044\u3053\u3046\u306a pic.twitter.com\/6zKjaRyFqK\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 18, 2023 \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@dankogai san\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\n\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\n\u300c\u6570\u306e\u66b4\u529b\u306b\u306f\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u306f\u7121\u610f\u5473\u300d\u308f\u304b\u308b #yapcjapan\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 18, 2023 \u7d42\u308f\u3063\u305f\u5f8c\u306f@gomaaburamax \u3084@tomio2480 \u3001\u5b66\u751f\u305f\u3061\u3068\u98f2\u307f\u306b\u884c\u3063\u305f\u308a\u3001\u3055\u3089\u306b\u306f\u306f\u3057\u3054\u9152\u3067@sweet_potato_hs \u3068\u98f2\u307f\u306b\u884c\u3063\u305f\u308a\u3057\u307e\u3057\u305f\u3002\nYAPC::Kyoto 2023 \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\n#yapcramen pic.twitter.com\/GLVTpUlqcH\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 19, 2023 \u3084\u306f\u308a\u5370\u8c61\u306b\u6b8b\u3063\u305f\u30c8\u30fc\u30af\u306f@moznion san\u306e\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 \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@uzulla san\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\n\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#yapcjapan\n&mdash; uzulla (@uzulla) March 19, 2023 \u7686\u3055\u3093\u91d1\u306e\u5f3e\u4e38\u3067\u5ec3\u589f\u3092\u306a\u3093\u3068\u304b\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\n\u30a2\u30c8\u30ea\u30a6\u30e0\u306b\u306fPerl\u795e\u793e\u306a\u308b\u3082\u306e\u304c\u3042\u308a\u3001\u305d\u3053\u3067\u306f\u5343\u793e\u672d\u30b7\u30fc\u30eb\u306b\u597d\u304d\u306a\u3053\u3068\u3092\u66f8\u3044\u3066\u58c1(?)\u306b\u8cbc\u308b\u3053\u3068\u304c\u3067\u304d\u305f\u306e\u3067\u3001SRE\u3068\u3057\u3066\u300c\u4fe1\u983c\u6027\u5411\u4e0a\u300d\u3068\u66f8\u3044\u3066\u8cbc\u3063\u3066\u304a\u304d\u307e\u3057\u305f\u3002\n\u3010Perl\u795e\u793e\u26e9\u3011\u4f11\u61a9\u6642\u9593\u306b\u305c\u3072\u53c2\u62dd\u304f\u3060\u3055\u3044\u301c\ud83d\ude4f\ud83d\ude4f pic.twitter.com\/onToMXsoxn\n&mdash; yapcjapan (@yapcjapan) March 19, 2023 #yapcjapan pic.twitter.com\/oIc7ZBsZM1\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 19, 2023 \u30ad\u30fc\u30ce\u30fc\u30c8\u306e\u524d\u306e\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0\u30c8\u30fc\u30af\u30bf\u30a4\u30e0\u3067\u306f\u3001\u300cKubernetes SIG-docs ja\u3078\u306e\u304a\u8a98\u3044\u300d\u3068\u3044\u3046\u984c\u3067LT\u3092\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002\u8cc7\u6599\u306f\u3053\u3061\u3089\u3067\u3059:\n\u6b8b\u5ff5\u306a\u304c\u3089\u30d9\u30b9\u30c8LT\u8cde\u306f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u4e00\u756a\u8cc7\u6599\u306e\u679a\u6570\u304c\u591a\u304b\u3063\u305f\u3067\u8cde\u307e\u305f\u306f\u4e00\u756a\u901f\u304f\u30b9\u30e9\u30a4\u30c9\u3092\u3081\u304f\u3063\u305f\u3067\u8cde\u306f\u53d6\u308c\u305f\u3093\u3058\u3083\u306a\u3044\u3067\u3057\u3087\u3046\u304b(?)\nLT\u306e\u7d50\u679c\u3001@kmuto san\u304b\u3089\u521dcontribute\u3092\u3057\u3066\u3044\u305f\u3060\u3051\u307e\u3057\u305f \u3002\u5b09\u3057\u3059\u304e\u308b\u30fb\u30fb\u30fb\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\uff01\uff01\uff01\n\u7d42\u308f\u3063\u305f\u5f8c\u306f\u8fd1\u304f\u306e\u30db\u30eb\u30e2\u30f3\u5c4b\uff1f\u306e\u69d8\u306a\u3068\u3053\u308d\u3067\u98f2\u307f\u307e\u3057\u305f\u3002\u5e97\u306e\u540d\u524d\u306f\u899a\u3048\u3066\u3044\u307e\u305b\u3093\u3002\u7f8e\u5473\u3057\u304b\u3063\u305f\u3067\u3059\u3002\n\u6628\u65e5\u306e\u591c #yapcyakiniku pic.twitter.com\/FBPfZFw6Uz\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 20, 2023 \u7fcc\u65e5 \u7fcc\u65e5\u3001\u8471\u3084\u5e73\u5409 \u3067\u5929\u4e3c\u3092\u98df\u3079\u3001\u3068\u3093\u304b\u3064\u6e05\u6c34\u3067\u30ab\u30c4\u30b5\u30f3\u30c9\u3092\u8cfc\u5165\u3057\u3001\u4f0f\u898b\u7a32\u8377\u3092\u89b3\u5149\u3057\u3066\u5e30\u308a\u307e\u3057\u305f\u3002\n#yapcjapan pic.twitter.com\/gVyss8DzpH\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 20, 2023 pic.twitter.com\/kc8O7M2Ge3\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 20, 2023 pic.twitter.com\/jEObE2DR85\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) March 20, 2023 \u6b21\u56de \u6b21\u56de\u306f\u5e83\u5cf6(?)\u3089\u3057\u3044\u3067\u3059\n","permalink":"https:\/\/blog.web-apps.tech\/yapc-kyoto-2023\/","summary":"<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\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\n\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\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>\n san\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\n\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\n\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>\n san\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>\n san\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\n\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":"YAPC::Kyoto 2023\u306b\u53c2\u52a0\u3057\u3066\u304d\u305f"},{"content":"\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\n\u8cfc\u5165\u3057\u305f\u306e\u306fAir bangle \u306e\u3079\u3063\u7532\u30ab\u30e9\u30fc\u3067\u3059\u3002 Air 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 \u9bd6\u6c5f\u306e\u30e1\u30ac\u30cd\u4f5c\u308a\u306e\u6280\u8853\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002\n\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\n\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 \u4fdd\u8a3c\u3082\u4e00\u5e74\u3064\u3044\u3066\u3044\u3066\u5b89\u5fc3\u3067\u3059\u3002\n\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\n\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\n\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\n\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)\nApple 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\n\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 \u3082\u3061\u308d\u3093\u3001\u304d\u3061\u3093\u3068\u30ed\u30c3\u30af\u90e8\u5206\u3082\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u5e73\u7f6e\u304d\u30bf\u30a4\u30d7\u306e\u30c9\u30c3\u30af\u306a\u3069\u306f\u4f7f\u3048\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u3001Amazon\u3067\u58f2\u3063\u3066\u3044\u308b\u5b89\u4fa1\u306a\u6a2a\u7f6e\u304d\u30bf\u30a4\u30d7\u306e\u5145\u96fb\u30b9\u30bf\u30f3\u30c9 \u3067\u3042\u308c\u3070\u554f\u984c\u7121\u304f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\n\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\u516c\u5f0f\u30b5\u30a4\u30c8 \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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/apple-watch-air-bangle\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Air Bangle"},{"content":"\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\n\u8eca\u95a2\u9023 Honda N-ONE \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 Anker PowerDrive III Duo \u6700\u8fd1\u306f\u30ab\u30fc\u30c1\u30e3\u30fc\u30b8\u30e3\u30fc\u3082USB-C\u306e\u304c\u6709\u308b\u3093\u3067\u3059\u306d Anker PowerLine \u2162 Flow USB-C &amp; \u30e9\u30a4\u30c8\u30cb\u30f3\u30b0 \u30b1\u30fc\u30d6\u30eb \u8eca\u95a2\u9023\u3067\u306f\u306a\u3044\u3051\u3069\u8eca\u3067\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3002\u7d61\u307e\u306a\u3044 \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 \u6d17\u8eca\u5f8c\u306f\u3053\u308c\u3067\u307b\u307c\u4e00\u767a \u30af\u30ed\u30c3\u30af\u30b9 \u30b9\u30a6\u30a3\u30d5\u30c8\u30a6\u30a9\u30fc\u30bf\u30fc \u30a8\u30af\u30b9\u30da\u30c7\u30a3\u30b7\u30e7\u30f3 \u6c38\u9060\u306b\u30b5\u30f3\u30c0\u30eb\u3092\u5c65\u3044\u3066\u3044\u308b\u3002\u3053\u308c\u306f\u904b\u8ee2\u7528\u3067\u3059 \u30a2\u30af\u30a2\u30ea\u30a6\u30e0 \u30df\u30ca\u30df\u30cc\u30de\u30a8\u30d3 GEX \u30b0\u30e9\u30b9\u30c6\u30ea\u30a2\u30d5\u30a3\u30c3\u30c8 200LOW \u30b3\u30c8\u30d6\u30ad\u5de5\u82b8 \u30df\u30cb\u30d5\u30a3\u30c3\u30c8\u30d5\u30a3\u30eb\u30bf\u30fcMF \u5bdd\u5ba4\u3067\u4e00\u6669\u4e2d\u52d5\u304b\u3057\u3066\u3066\u3082\u5e73\u6c17\u306a\u304f\u3089\u3044\u9759\u304b GEX \u30af\u30ea\u30a2LED \u30d4\u30c6\u30e9 \u5c0f\u3055\u304f\u3066\u660e\u308b\u304f\u3066\u53ef\u611b\u3044\u3002\u795e\u3002 \u30b2\u30fc\u30e0 Pok\u00e9mon LEGENDS \u30a2\u30eb\u30bb\u30a6\u30b9 Nintendo Switch Pro\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc \u52dd\u624b\u306b\u52d5\u304b\u306a\u3044\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3001\u5feb\u9069\u30fb\u30fb\u30fb \u30ac\u30b8\u30a7\u30c3\u30c8\u985e \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 \u9784\u306b\u5165\u308c\u3066\u304a\u304f\u30b1\u30fc\u30d6\u30eb\u306f\u5dfb\u304d\u53d6\u308a\u5f0f\u6d3e\u306a\u3093\u3067\u3059\u3088\u306d \u30b0\u30e9\u30f3\u30b5\u30f3\u30af \u30d6\u30eb\u30fc\u30cf\u30e0\u30cf\u30e0 i select iPhone\u30b1\u30fc\u30b9 \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 TALENANA for Apple Watch \u30d5\u30a3\u30eb\u30e0 \u67d4\u3089\u304b\u304f\u306a\u3044\u30bf\u30a4\u30d7\u306e\u30d5\u30a3\u30eb\u30e0 SwitchBot \u6e29\u6e7f\u5ea6\u8a08\u30d7\u30e9\u30b9 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 \u65e5\u7528\u54c1\u306a\u3069 \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 \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 \u30a2\u30a4\u30ea\u30b9\u30aa\u30fc\u30e4\u30de \u5bb6\u5177\u8ee2\u5012\u9632\u6b62\u4f38\u7e2e\u68d2ML \u30db\u30ef\u30a4\u30c8 \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 \u30b8\u30e7\u30a4 \u30b8\u30a7\u30eb\u30bf\u30d6 \u98df\u6d17\u6a5f\u7528\u6d17\u5264 \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 \u30ec\u30ce\u30a2 \u30ea\u30bb\u30c3\u30c8 \u67d4\u8edf\u5264 \u5b8c\u5168\u306b\u3001\u3067\u306f\u306a\u3044\u3051\u3069\u660e\u3089\u304b\u306b\u3057\u308f\u304c\u5c11\u306a\u3044\u3068\u601d\u3046 \u30d0\u30eb\u30af\u30aa\u30e0 \u30b7\u30e3\u30f3\u30d7\u30fc \u9ad8\u3044\u3051\u3069\u5302\u3044\u304c\u597d\u304d\u3002\u3060\u3051\u3069\u9ad8\u3044 \u66f8\u7c4d \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\n\u63a8\u3057\u3068\u51fa\u4f1a\u3044\u305f\u304f\u306a\u3044\u5973\u5b50\u5927\u751f \u516d\u7573\u4e00\u9593\u306e\u9b54\u5973\u30e9\u30a4\u30d5 \u5408\u30b3\u30f3\u306b\u884c\u3063\u305f\u3089\u5973\u304c\u3044\u306a\u304b\u3063\u305f\u8a71 \u306a\u3067\u3057\u3053\u30c9\u30ec\u30df\u30bd\u30e9 \u6d25\u8efd\u4e09\u5473\u7dda\u3084\u308a\u305f\u304f\u306a\u3063\u305f \u307c\u3063\u3061\u30fb\u3056\u30fb\u308d\u3063\u304f\uff01 ","permalink":"https:\/\/blog.web-apps.tech\/2022-must-buy\/","summary":"<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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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":"2022\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u30e2\u30ce"},{"content":"\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\u3093diff\u3067\u3088\u3057\u306a\u306b\u3084\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001comm\u3082\u4fbf\u5229\u3067\u3059\u3002\n\u4f8b\u3048\u3070\u6b21\u306e\u69d8\u306b\u30ea\u30b9\u30c8\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002\n\u30b5\u30fc\u30d3\u30b9A\u306e\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8(users_a.txt):\n1 2 3 4 5 alice bob charlie dave oscar \u30b5\u30fc\u30d3\u30b9B\u306e\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8(users_b.txt):\n1 2 3 4 5 charlie isaac justin mallory oscar \u3053\u308c\u3089\u306b\u5bfe\u3057\u3066comm\u3092\u4f7f\u3046\u3068\u6b21\u306e\u51fa\u529b\u304c\u5f97\u3089\u308c\u307e\u3059:\n1 2 3 4 5 6 7 8 9 $ comm users_a.txt users_b.txt alice bob charlie dave isaac justin mallory oscar 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\u3001comm\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-1 -2 -3\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\nA\u3060\u3051\u306b\u5b58\u5728\u3059\u308b\u884c\u3092\u8868\u793a\u3059\u308b:\n1 2 3 4 $ comm -23 users_a.txt users_b.txt alice bob dave \u4e21\u65b9\u306b\u5b58\u5728\u3059\u308b\u884c\u3092\u8868\u793a\u3059\u308b:\n1 2 3 $ comm -12 users_a.txt users_b.txt charlie oscar diff\u3060\u3068diff\u306e\u5f8c\u306bgrep\u3084\u3089\u306a\u3093\u3084\u3089\u3057\u3066\u5fc5\u8981\u306a\u7269\u3092\u629c\u304d\u51fa\u3059\u5fc5\u8981\u304c\u3042\u308b\u3067\u3057\u3087\u3046\u304b\u3089\u3001\u3053\u308c\u306f\u697d\u3067\u3059\u306d\u3002\n\u3082\u3061\u308d\u3093\u3001diff\u306e\u69d8\u306b\u4ed6\u306e\u30b3\u30de\u30f3\u30c9\u306e\u6a19\u6e96\u51fa\u529b\u3092\u53d6\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\n\u4f8b\u3048\u3070https:\/\/example.com\/api\/users_b.txt\u304c\u5148\u307b\u3069\u306eusers_b.txt\u3068\u540c\u3058\u5185\u5bb9\u3092\u8fd4\u3059\u3068\u3059\u308b\u3068\u3057\u3066A\u3060\u3051\u306b\u767b\u9332\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u53d6\u5f97\u3057\u305f\u3044\u5834\u5408\n1 2 3 4 $ curl -s https:\/\/example.com\/api | comm -23 users_a.txt - alice bob dave \u3068\u3067\u304d\u307e\u3059\u3057\u30012\u3064\u306e\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8\u3092\u8fd4\u3059API\u304c\u6709\u3063\u305f\u3068\u3057\u3066\u3001\u5171\u901a\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u4e00\u89a7\u306b\u3057\u305f\u3044\u5834\u5408\u3001\u6b21\u306e\u69d8\u306b\u3067\u304d\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 $ curl https:\/\/example1.com\/users | jq . [ { &#34;username&#34;: &#34;alice&#34; }, { &#34;username&#34;: &#34;bob&#34; }, { &#34;username&#34;: &#34;charlie&#34; }, { &#34;username&#34;: &#34;dave&#34; }, { &#34;username&#34;: &#34;oscar&#34; } ] $ curl https:\/\/example2.com\/users | jq . [ { &#34;username&#34;: &#34;charlie&#34; }, { &#34;username&#34;: &#34;isaac&#34; }, { &#34;username&#34;: &#34;justin&#34; }, { &#34;username&#34;: &#34;mallory&#34; }, { &#34;username&#34;: &#34;oscar&#34; } ] $ comm -12 \\ &lt;(curl -s https:\/\/example1.com\/users | jq -r &#39;.[].username&#39;) \\ &lt;(curl -s https:\/\/example2.com\/users | jq -r &#39;.[].username&#39;) charlie oscar \u4fbf\u5229\u3067\u3059\u306d\u3002\n\u306a\u304a\u3001\u5165\u529b\u3068\u306a\u308b\u30c6\u30ad\u30b9\u30c8\u306f\u30bd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308b\u3053\u3068\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/use-comm-command-to-get-common-line\/","summary":"<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":"\u4e8c\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5171\u901a\u884c(\u307e\u305f\u306f\u5171\u901a\u3057\u306a\u3044\u884c)\u3092\u5f97\u308b"},{"content":"GitHub Actions\u3068Hugo\u3092\u4f7f\u7528\u3057\u3066\u9759\u7684\u30b5\u30a4\u30c8\u751f\u6210\u3092\u884c\u3046\u5834\u5408\u3001peaceiris\/actions-hugo \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 gohugoio\/hugo\u306ereleases \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\u3044latest\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\n\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\nHugo\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306fGitHub Actions\u306eWorkflow\u30d5\u30a1\u30a4\u30eb\u5185\u306benv\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u3066 \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\u3001regexManagers \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\nregexManagers\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\u308bmanager \u3067\u3001fileMatch\u3068matchStrings\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\nfileMatch\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\u306egithub-actions 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\n1 2 3 4 &#34;fileMatch&#34;: [ &#34;^(workflow-templates|\\.github\\\/workflows)\\\/[^\/]+\\.ya?ml$&#34;, &#34;(^|\\\/)action\\.ya?ml$&#34; ] matchStrings\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5f15\u3063\u304b\u3051\u308b\u305f\u3081\u306e\u6b63\u898f\u8868\u73fe\u3067\u3001datasource\u3001depName\u3001currentValue\u306e\u4e09\u3064\u306e\u5024\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3059\u308b\u304b\u3001datasourceTemplate\u3001depNameTemplate\u3001currentValueTemplate\u3067\u5024\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002datasource(datasourceTemplate)\u3068depName(depNameTemplate)\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\u3001datasourceTemplate\u306bgithub-releases\u3092\u3001depNameTemplate\u306bgohugoio\/hugo\u3092\u6307\u5b9a\u3057\u307e\u3057\u305f\u3002currentValue(currentValueTemplate)\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\u3001matchStrings\u3067\u5f15\u3063\u304b\u3051\u3066\u30ad\u30e3\u30d7\u30c1\u30e3\u3057\u307e\u3059\u3002\n1 2 3 4 5 &#34;matchStrings&#34;: [ &#34;HUGO_VERSION: (?&lt;currentValue&gt;.*)&#34; ], &#34;datasourceTemplate&#34;: &#34;github-releases&#34;, &#34;depNameTemplate&#34;: &#34;gohugoio\/hugo&#34; \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u5168\u4f53\u3068\u3057\u3066\u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { &#34;$schema&#34;: &#34;https:\/\/docs.renovatebot.com\/renovate-schema.json&#34;, &#34;extends&#34;: [ &#34;config:base&#34; ], &#34;regexManagers&#34;: [ { &#34;fileMatch&#34;: [ &#34;^(workflow-templates|\\.github\\\/workflows)\\\/[^\/]+\\.ya?ml$&#34;, &#34;(^|\\\/)action\\.ya?ml$&#34; ], &#34;matchStrings&#34;: [ &#34;HUGO_VERSION: (?&lt;currentValue&gt;.*)&#34; ], &#34;datasourceTemplate&#34;: &#34;github-releases&#34;, &#34;depNameTemplate&#34;: &#34;gohugoio\/hugo&#34; } ] } \u3053\u308c\u3067\u7121\u4e8brenovate\u304cHugo\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304f\u308c\u308b \u69d8\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/renovate-hugo-version\/","summary":"<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":"Renovate\u3067GitHub Actions\u3067\u4f7f\u3063\u3066\u3044\u308bHugo\u3092\u66f4\u65b0\u3059\u308b"},{"content":"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\u306bgh-pages)\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\u5408gh-pages\u30d6\u30e9\u30f3\u30c1\u306fmain\u306a\u3044\u3057master\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\u3082gh-pages\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\n\u3068\u3053\u308d\u304c\u6700\u8fd1\u3001GitHub Actions\u304b\u3089\u76f4\u63a5GitHub Pages\u306b\u30da\u30fc\u30b8\u3092\u30c7\u30d7\u30ed\u30a4\u3067\u304d\u308b\u69d8\u306b\u306a\u3063\u305f \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\n\u307e\u305a\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306eSettings &gt; Pages\u304b\u3089\u3001Source\u3092GitHub Actions\u306b\u5909\u66f4\u3057\u307e\u3059\u3002\n\u6b21\u306b\u3001GitHub Actions\u306eworkflow\u8a2d\u5b9a\u3092actions\/starter-workflows \u3092\u53c2\u8003\u306b\u66f8\u304d\u63db\u3048\u307e\u3059\u3002\u91cd\u8981\u306a\u306e\u306f2\u70b9\u3067\u3001actions\/upload-pages-artifact\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\u3001actions\/deploy-pages\u3092\u4f7f\u3063\u3066GitHub Pages\u306b\u30c7\u30d7\u30ed\u30a4\u3092\u3059\u308b\u3053\u3068\u3067\u3059\u3002\n1 2 3 4 5 steps: - name: Upload artifact uses: actions\/upload-pages-artifact@v1 with: path: .\/public 1 2 3 4 5 6 7 8 9 10 11 12 13 # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: pages: write # to deploy to Pages id-token: write # to verify the deployment originates from an appropriate source environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions\/deploy-pages@v1 \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\u3001actions\/deploy-pages\u306eREADME \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\n\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u7c21\u5358\u306b\u8a2d\u5b9a\u304c\u3067\u304d\u3066\u3001\u3053\u306e\u30da\u30fc\u30b8\u3082\u30b7\u30e5\u30c3\u3068Actions\u304b\u3089\u76f4\u63a5Pages\u306b\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u3066\u3044\u308b\u30fb\u30fb\u30fb\u306f\u305a\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/use-pages-with-actions\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"GitHub Pages\u3092Actions\u304b\u3089\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u5f62\u5f0f\u306b\u5909\u66f4\u3057\u305f"},{"content":"\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\n\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:\n\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) \u7802\u7cd6: \u897f\u8868\u5cf6\u7523\u9ed2\u7cd61kg \u9152: \u30db\u30ef\u30a4\u30c8\u30bf\u30ab\u30e9 \u679c\u5b9f\u9152\u306e\u5b63\u7bc0 1.8L \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\n\u6885\u3092\u6d17\u3063\u3066\u3001\n\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\n\u9152\u3092\u6ce8\u304e\u307e\u3059\n\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\n\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\n\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\n\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\n\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\n\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\n\u7d9a\u3044\u3066\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u6f2c\u3051\u307e\u3059\u3002\u30ec\u30b7\u30d4\u306f\u3053\u3061\u3089:\n\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 \u7802\u7cd6: \u30ab\u30c3\u30d7\u5370\u306e\u4e09\u6e29\u7cd61kg \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\u6628\u5e74\u3082\u4e09\u6e29\u7cd6\u3092\u4f7f\u3063\u305f\u3088\u3046 \u3067\u3059\u3002\u307e\u3041\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n\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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2022\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2022\/images\/IMG_1802_hu_7f91249847e48b62.png\" alt=\"\"  \/>\n<\/p>\n<p>\u9152\u3092\u6ce8\u304e\u307e\u3059<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2022\/images\/IMG_1808_hu_6db4bb8cf27c6efc.png\" alt=\"\"  \/>\n<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>","title":"\u6885\u4ed5\u4e8b2022"},{"content":"\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\n5\u670821\u65e5(\u571f)\u306b\u7d0d\u8eca\u3001\u4eca\u65e5\u8eca\u7953\u3092\u3057\u3066\u3082\u3089\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\u4ee5\u4e0a\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/bought-n-one\/","summary":"<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":"N-ONE\u3092\u8cb7\u3044\u307e\u3057\u305f"},{"content":"\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:\n1 2 3 4 5 6 7 8 9 10 apiVersion: kustomize.config.k8s.io\/v1beta1 kind: Kustomization resources: - deployment.yaml images: - name: old-image newName: new-image newTag: v1.0.0 kustomization.yaml\u306b\u3053\u306eimages:\u3068\u3044\u3046\u30d6\u30ed\u30c3\u30af\u3092\u66f8\u304f\u3068\u3001deployment.yaml\u3067image: old-image\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u90e8\u5206\u304cimage: new-image:v1.0.0\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\u306fImageTagTransformer \u306e\u3068\u3053\u308d\u3068\u304b\u3001example\u306eimages transformer \u306e\u3068\u3053\u308d\u3068\u304b\u306b\u8aac\u660e\u304c\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\n\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:\n1 2 3 4 5 6 7 8 9 10 apiVersion: argoproj.io\/v1alpha1 kind: Workflow metadata: name: batchjob spec: entrypoint: main templates: - name: main container: image: old-image \u3057\u304b\u3057\u3053\u306e\u5834\u5408\u3001kustomization.yaml\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u6307\u5b9a\u3057\u3066\u3082\u3001old-image\u3092\u7f6e\u304d\u63db\u3048\u3066\u304f\u308c\u307e\u305b\u3093\u3002\n\u304c\u3001\u7f6e\u304d\u63db\u3048\u3066\u6b32\u3057\u3044\u3067\u3059\u3088\u306d\uff1f\n\u305d\u308c\u3001images transformer configuration\u3092\u66f8\u304f\u3053\u3068\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002\n\u4e0a\u66f8\u304d\u3057\u305f\u3044\u30ea\u30bd\u30fc\u30b9\u306ekind\u3068\u3001\u30a4\u30e1\u30fc\u30b8\u3092\u6307\u5b9a\u3059\u308bpath\u3092\u66f8\u3044\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3059\u308b\u3060\u3051\u3067\u3059\u3002\u3053\u306e\u4f8b\u306e\u5834\u5408\u3001kind\u306fWorkflow\u3067\u3001path\u306fspec\/templates\/container\/image\u3067\u3059\u3002\u30ea\u30b9\u30c8\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u304b\u306f\u66f8\u304f\u5fc5\u8981\u306f\u7121\u3044\u3067\u3059\u3002\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3059:\n1 2 3 images: - path: spec\/templates\/container\/image kind: Workflow \u3053\u308c\u3092\u4f8b\u3048\u3070\u3001images_transformer_configuration.yaml\u306b\u4fdd\u5b58\u3057\u305f\u3068\u3059\u308b\u3068\u3001kustomization.yaml\u306b\u306f\u6b21\u306e\u69d8\u306a\u8a18\u8ff0\u3092\u8ffd\u52a0\u3057\u307e\u3059:\n1 2 configurations: - images_transformer_configuration.yaml \u3042\u3068\u306fDeployment\u306e\u6642\u3068\u540c\u69d8\u306bimages:\u30d6\u30ed\u30c3\u30af\u3092\u8a18\u8ff0\u3059\u308b\u3060\u3051\u3067\u3059\u3002\n\u4eca\u56de\u306e\u4f8b\u306e\u5168\u4f53\u3068\u3057\u3066\u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3059:\nkustomization.yaml:\n1 2 3 4 5 6 7 8 9 10 resources: - workflow.yaml configurations: - images_transformer_configuration.yaml images: - name: old-image newName: new-image newTag: v1.0.0 workflow.yaml:\n1 2 3 4 5 6 7 8 9 10 apiVersion: argoproj.io\/v1alpha1 kind: Workflow metadata: name: batchjob spec: entrypoint: main templates: - name: main container: image: old-image images_transformer_configuration.yaml:\n1 2 3 images: - path: spec\/templates\/container\/image kind: Workflow \u3053\u308c\u3089\u3092\u4e00\u3064\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u7f6e\u304d\u3001kustomize build\u3059\u308b\u3068\u6b21\u306e\u51fa\u529b\u304c\u5f97\u3089\u308c\u307e\u3059:\n1 2 3 4 5 6 7 8 9 10 apiVersion: argoproj.io\/v1alpha1 kind: Workflow metadata: name: batchjob spec: entrypoint: main templates: - container: image: new-image:v1.0.0 name: main \u4ee5\u4e0a\u3067\u3059\u3002\u306a\u304a\u3001\u4ee5\u4e0a\u306e\u3053\u3068\u306fkubernetes-sigs\/kustomize\/examples\/transformerconfigs\/images \u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/kustomize-images-for-crds\/","summary":"<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":"Kustomize\u306eimages transformer\u3092CustomResource\u3067\u3082\u4f7f\u3046"},{"content":"\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:\n\u304c\u6709\u3063\u305f\u308a\u3001wordpress\u3060\u3068\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u3053\u3046\u3044\u3046\u306e:\n\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:\n\u304c\u6709\u308a\u307e\u3057\u305f\u3002\n\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\nHugo\u306b\u306fshortcode \u3068\u3044\u3046\u6a5f\u80fd\u304c\u3042\u308a\u3001\u4f8b\u3048\u3070\u6a19\u6e96\u306etwitter shortcode\u3060\u3068\u3001\n{{&lt; tweet user=&#34;nasa9084&#34; id=&#34;1519598305554362370&#34; &gt;}} \u3068\u66f8\u304f\u3068\n\u725b\u4e73\u306f\u3055\u3001\u725b\u4e73-like\u98f2\u7269\u3088\u308a\u3046\u307e\u3044\u3093\u3060\u3088\u306a\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) April 28, 2022 \u306e\u69d8\u306b\u5c55\u958b\u3055\u308c\u307e\u3059\u3002\u306a\u306e\u3067\u4eca\u56de\u306f\n{{&lt; web-embed url=&#34;https:\/\/example.com&#34; &gt;}} \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\n\u307e\u305a\u3001URL\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u304f\u308b\u306b\u306fHugo\u306egetJSON \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\u3002cloud functions for firebase + javascript \u3067\u5b9f\u88c5\u3057\u3066\u3044\u308b\u4eba\u3082\u3044\u308c\u3070\u3001Netlify Functions + javascript \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\u3001hugo build\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\u3082docker run\u3059\u308c\u3070\u826f\u3044\u3060\u3051\u306a\u306e\u3067\u7c21\u5358\u3067\u3059\u3002\n\u30cf\u30f3\u30c9\u30e9\u306e\u5b9f\u88c5\u306f\u6b21\u306e\u901a\u308a\u3067\u3059:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 url := r.URL.Query().Get(&#34;url&#34;) if url == &#34;&#34; { http.Error(w, `{&#34;message&#34;: &#34;url parameter is required&#34;}`, http.StatusBadRequest) return } log.Printf(&#34;request URL: %s&#34;, url) ogp, err := opengraph.Fetch(url) if err != nil { http.Error(w, fmt.Sprintf(`{&#34;message&#34;: &#34;error fetching OGP&#34;, &#34;error&#34;: &#34;%s&#34;}`, err.Error()), http.StatusInternalServerError) return } if err := ogp.ToAbs(); err != nil { http.Error(w, fmt.Sprintf(`{&#34;message&#34;: &#34;error converting relative URLs to absolute URLs&#34;, &#34;error&#34;: &#34;%s&#34;}`, err.Error()), http.StatusInternalServerError) return } var body bytes.Buffer if err := json.NewEncoder(&amp;body).Encode(ogp); err != nil { http.Error(w, fmt.Sprintf(`{&#34;message&#34;: &#34;error encoding OGP info to JSON&#34;, &#34;error&#34;: &#34;%s&#34;}`, err.Error()), http.StatusInternalServerError) return } w.WriteHeader(http.StatusOK) body.WriteTo(w) \u30b3\u30fc\u30c9\u5168\u4f53\u306f\u3053\u3053 \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\n\u3042\u3068\u306fshortcode\u3092\u6b21\u306e\u69d8\u306b\u5b9f\u88c5\u3057\u3066:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 {{ $url := .Get &#34;url&#34; }} {{\/* LINE Store specific config *\/}} {{ $localePathSuffix := &#34;&#34; }} {{ if (hasPrefix $url &#34;https:\/\/store.line.me&#34;) }}{{ $localePathSuffix = &#34;\/ja&#34; }}{{ end }} {{ $data := getJSON &#34;http:\/\/localhost:8080\/ogp?url=&#34; $url $localePathSuffix }} {{ $title := $data.title }} {{ $image := (index $data.image 0).url}} {{ $description := $data.description }} {{ $favicon := $data.favicon.url }} {{ $siteName := $data.site_name }} &lt;div class=&#34;web-embed&#34;&gt; &lt;a href=&#34;{{ $url }}&#34;&gt; &lt;div class=&#34;web-embed-thumbnail&#34;&gt; &lt;img src=&#34;{{ $image }}&#34; alt=&#34;{{ $title }}&#34;&gt; &lt;\/div&gt; &lt;div class=&#34;web-embed-content&#34;&gt; &lt;div class=&#34;web-embed-title&#34;&gt;{{ $title }}&lt;\/div&gt; &lt;div class=&#34;web-embed-description&#34;&gt;{{ $description }}&lt;\/div&gt; &lt;div class=&#34;web-embed-site-name&#34;&gt; &lt;img src=&#34;{{ $favicon }}&#34; alt=&#34;{{ $siteName }}&#34; class=&#34;favicon&#34;&gt; {{ $siteName }} &lt;\/div&gt; &lt;\/div&gt; &lt;\/a&gt; &lt;\/div&gt; \u9069\u5f53\u306bCSS\u3082\u4ed8\u3051\u3066 \u3001Actions\u306e\u30b8\u30e7\u30d6\u3067\u30b5\u30fc\u30d3\u30b9\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308c\u3070:\n1 2 3 services: getogp: image: ghcr.io\/nasa9084\/getogp:v0.0.1 \u5b8c\u6210\u3067\u3059\u3002\u3064\u3044\u3067\u306bOGP-JSON\u30d7\u30ed\u30ad\u30b7\u306eDocker\u30a4\u30e1\u30fc\u30b8\u3082\u826f\u3044\u611f\u3058\u306b\u30d3\u30eb\u30c9\u3057\u3066GitHub Packages\u306bpush\u3059\u308b\u69d8\u306bworkflow\u3092\u8ffd\u52a0\u3057\u3066\u304a\u304d\u307e\u3057\u305f \u3002GitHub Actions\u306f\u8907\u6570\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u304d\u308c\u3044\u306b\u6271\u3048\u308b\u306e\u3067\u826f\u3044\u3067\u3059\u306d\u3002\n{{&lt; web-embed url=&#34;https:\/\/store.line.me\/stickershop\/product\/19279493&#34; &gt;}} \u3068\u66f8\u304f\u3068\n\u3057\u3083\u3079\u308a\u305f\u3044\u52d5\u7269\u305f\u3061 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u3086\u308b\u3044\u52d5\u7269\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30b9\u30bf\u30f3\u30d7\u3067\u3059 LINE STORE \u306e\u69d8\u306b\u63cf\u753b\u3055\u308c\u307e\u3059\u3002\u826f\u3044\u611f\u3058\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/hugo-embed-web-shortcode\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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":"Blog\u30ab\u30fc\u30c9Shortcode\u3092\u5b9f\u88c5\u3057\u305f"},{"content":"\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\u3066Ghost \u3092\u4f7f\u3063\u3066\u3044\u305f\u3002twitter \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\nGhost\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\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1f) (@nasa9084) November 9, 2017 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\u3001container-up \u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u3066\u307f\u305f\u308a\u3082\u3057\u305f\u3002\n\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 Ghost\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\n\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\n\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\u3001k8s.io \u3067\u3082\u4f7f\u3063\u3066\u3044\u308bHugo \u306b\u4e57\u308a\u63db\u3048\u308b\u3053\u3068\u306b\u3057\u305f\u3002\n\u53c2\u8003\u306b\u3057\u305f\u306e\u306f\u3053\u306e\u30da\u30fc\u30b8 \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\n\u79fb\u884c\u624b\u9806 \u307e\u305a\u3001ghostToHugo \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)\n1 $ .\/ghostToHugo -p blog.web-apps.tech something-tech.ghost.2022-04-22-02-57-56.json 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\n1 $ cp ${PATH_TO_BACKUP}\/content\/images .\/blog.web-apps.tech\/images \u30a4\u30e1\u30fc\u30b8\u306e\u30d1\u30b9\u3092\u3061\u3087\u3063\u3068\u8abf\u6574\u3002\n1 2 $ find . -name &#39;*.md&#39; | xargs sed -ie &#39;s\/__GHOST_URL__\/\/g&#39; $ find . -name &#39;*.md&#39; | xargs sed -ie &#39;s\/\\\/content\\\/images\\\/\/\\\/images\\\/\/g&#39; front-matter\u3092YAML\u306b\u5909\u66f4\u3002\n1 2 3 $ cd blog.web-apps.tech $ hugo convert toYAML $ cd ..\/ \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # Go through each post. for post_path in blog.web-apps.tech\/content\/post\/*.md; do echo &#34;Found $post_path&#34; filename=$(basename -- &#34;$post_path&#34;) filename=&#34;${filename%.*}&#34; # Grep out the date line. dateline=$(grep -E &#34;^date: &#34; &#34;$post_path&#34;) # We know how to get the year as the date line is consistent in all posts: # date: &#34;2012-12-09T16:11:27Z&#34; year=${dateline:7:4} # i.e. the four characters from index 7 # Create the folder for the post. new_folder=&#34;blog.web-apps.tech\/content\/post\/$year\/$filename&#34; mkdir -p &#34;$new_folder&#34; # Move the post. mv &#34;$post_path&#34; &#34;$new_folder\/index.md&#34; echo &#34; -&gt; $new_folder\/index.md&#34; done \u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u5404\u8a18\u4e8b\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u914d\u7f6e(dwmkerr\u3055\u3093\u306e\u30b9\u30af\u30ea\u30d7\u30c8 \u3067\u306fimg\u30bf\u30b0\u3092replace\u3057\u3066\u3044\u305f\u3051\u308c\u3069\u3001\u81ea\u5206\u306e\u74b0\u5883\u3067\u306ffigure short code\u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u305f\u306e\u3067\u6b63\u898f\u8868\u73fe\u3092\u3061\u3087\u3063\u3068\u3044\u3058\u3063\u305f)\ncollect-images.js(\u9577\u3044\u306e\u3067fold) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 \/\/ Note: requires node 12. const fs = require(&#39;fs&#39;); const os = require(&#39;os&#39;); const path = require(&#39;path&#39;); const readline = require(&#39;readline&#39;); const child_process = require(&#39;child_process&#39;) \/\/ Regexes we&#39;ll use repeatedly to find image tags or markdown images. const rexImgTag = new RegExp(\/&lt;\\ figure\\s+([^&gt;]*)[\/]?&gt;\/); const regImgSrcAttribute = new RegExp(\/src=\\&#34;([^&#34;]+)&#34;\/); const regImgAltAttribute = new RegExp(\/alt=\\&#34;([^&#34;]+)&#34;\/); const regImgWidthAttribute = new RegExp(\/width=\\&#34;([^&#34;]+)&#34;\/); const rexMarkdownImage = new RegExp(\/\\!\\[([^\\]]*)\\]\\(([^\\)]+)\\)\/); \/** * moveFileSafeSync - move src to dest, ensuring all required folders in the * destination are created. * * @param src - the source file path * @param dest - the destination file path * @returns {undefined} *\/ function moveFileSafeSync(src, dest) { \/\/ If the source doesn&#39;t exist, but the destination does, we&#39;ve probably \/\/ just already processed the file. if (!fs.existsSync(src) &amp;&amp; fs.existsSync(dest)) return; const directory = path.dirname(dest); if (!fs.existsSync(directory)) fs.mkdirSync(directory, { recursive: true } ); fs.copyFileSync(src, dest); fs.unlinkSync(src); } \/** * downloadFile - download a file from the web, ensures the folder for the * destination exists. * * @param src - the source fiile * @param dest - the download destination * @returns {undefined} *\/ function downloadFile(src, dest) { const directory = path.dirname(dest); if (!fs.existsSync(directory)) fs.mkdirSync(directory, { recursive: true } ); const command = `wget &#34;${src}&#34; -P &#34;${directory}&#34;`; return child_process.execSync(command); } \/\/ Thanks: https:\/\/gist.github.com\/kethinov\/6658166 function findInDir (dir, filter, fileList = []) { const files = fs.readdirSync(dir); files.forEach((file) =&gt; { const filePath = path.join(dir, file); const fileStat = fs.lstatSync(filePath); if (fileStat.isDirectory()) { findInDir(filePath, filter, fileList); } else if (filter.test(filePath)) { fileList.push(filePath); } }); return fileList; } \/** * processPost * * @param rootPath * @param postPath * @returns {undefined} *\/ function processPost(rootPath, postPath) { return new Promise((resolve, reject) =&gt; { \/\/ Get some details about the post which will be useful. const postDirectory = path.dirname(postPath); const postFileName = path.basename(postPath); console.log(` Processing: ${postFileName}`); \/\/ Create the input and output streams. Track whether we change the file. const updatedPostPath = `${postPath}.updated`; const inputStream = fs.createReadStream(postPath); const outputStream = fs.createWriteStream(updatedPostPath, { encoding: &#39;utf8&#39;} ); let changed = false; \/\/ Read the file line-wise. const rl = readline.createInterface({ input: inputStream, terminal: false, historySize: 0 }); \/\/ Process each line, looking for image info. rl.on(&#39;line&#39;, (line) =&gt; { \/\/ Check for html image tags. if (rexImgTag.test(line)) { const imageTagResults = rexImgTag.exec(line); const imageTag = imageTagResults[0]; const imageTagInner = imageTagResults[1]; console.log(` Found image tag contents: ${imageTagInner}`); \/\/ Rip out the component parts. const src = regImgSrcAttribute.test(imageTagInner) &amp;&amp; regImgSrcAttribute.exec(imageTagInner)[1]; const alt = regImgAltAttribute.test(imageTagInner) &amp;&amp; regImgAltAttribute.exec(imageTagInner)[1]; const width = regImgWidthAttribute.test(imageTagInner) &amp;&amp; regImgWidthAttribute.exec(imageTagInner)[1]; console.log(` src: ${src}, alt: ${alt}, width: ${width}`); \/\/ If the source is already in the appropriate location, don&#39;t process it. if (\/^images\\\/\/.test(src)) { console.log(` skipping, already processed`); outputStream.write(line + os.EOL); return; } \/\/ Now that we have the details of the image tag, we can work out the \/\/ desired destination in the images folder. const imageFileName = path.basename(src); const newRelativePath = path.join(&#34;images&#34;, imageFileName); const newAbsolutePath = path.join(postDirectory, newRelativePath); \/\/ If the file is on the web, we need to download it... if (\/^http\/.test(src)) { console.log(` Downloading &#39;${src}&#39; to &#39;${newAbsolutePath}&#39;...`); downloadFile(src, newAbsolutePath); } \/\/ ...otherwise we can just move it. else { const absoluteSrc = path.join(rootPath, src); moveFileSafeSync(absoluteSrc, newAbsolutePath); console.log(` Copied &#39;${absoluteSrc}&#39; to &#39;${newAbsolutePath}&#39;`); } \/\/ Now re-write the image tag. const newImgTag = `&lt; figure src=&#34;${newRelativePath}&#34;${alt ? ` alt=&#34;${alt}&#34;` : &#39;&#39;}${width ? ` width=&#34;${width}&#34;` : &#39;&#39;} &gt;`; console.log(` Changing : ${imageTag}`); console.log(` To : ${newImgTag}`); line = line.replace(imageTag, newImgTag); changed = true; } \/\/ Check for markdown image tags. if (rexMarkdownImage.test(line)) { const markdownImageCaptures = rexMarkdownImage.exec(line); const markdownImage = markdownImageCaptures[0]; const markdownImageDescription = markdownImageCaptures[1]; const markdownImagePath = markdownImageCaptures[2]; console.log(` Found markdown image: ${markdownImagePath}`); \/\/ If the source is already in the appropriate location, don&#39;t process it. if (\/^images\\\/\/.test(markdownImagePath)) { console.log(` skipping, already processed`); outputStream.write(line + os.EOL); return; } \/\/ Now that we have the details of the image tag, we can work out the \/\/ desired destination in the images folder. const imageFileName = path.basename(markdownImagePath); const newRelativePath = path.join(&#34;images&#34;, imageFileName); const newAbsolutePath = path.join(postDirectory, newRelativePath); \/\/ If the file is on the web, we need to download it... if (\/^http\/.test(markdownImagePath)) { console.log(` Downloading &#39;${markdownImagePath}&#39; to &#39;${newAbsolutePath}&#39;...`); downloadFile(markdownImagePath, newAbsolutePath); } \/\/ ...otherwise we can just move it. else { const absoluteSrc = path.join(rootPath, markdownImagePath); moveFileSafeSync(absoluteSrc, newAbsolutePath); console.log(` Copied &#39;${absoluteSrc}&#39; to &#39;${newAbsolutePath}&#39;`); } \/\/ Now re-write the markdown. const newMarkdownImage = `![${markdownImageDescription}](${newRelativePath})`; console.log(` Changing : ${markdownImage}`); console.log(` To : ${newMarkdownImage}`); line = line.replace(markdownImage, newMarkdownImage); changed = true; } outputStream.write(line + os.EOL); }); rl.on(&#39;error&#39;, (err) =&gt; { console.log(` Error reading file: ${err}`); return reject(err); }); rl.on(&#39;close&#39;, () =&gt; { console.log(` Completed, written to: ${updatedPostPath}`); if (changed) moveFileSafeSync(updatedPostPath, postPath); else fs.unlinkSync(updatedPostPath); return resolve(); }); }); } console.log(&#34;collect-images: Tool to co-locate blog post images&#34;) console.log(&#34;&#34;); \/\/ Get the directory to search. Arg 0 is node, Arg 1 iis the script path, Arg 3 onwards are commandline arguments. const sourceDirectory = process.argv[2] || process.cwd(); console.log(`Source Directory: ${sourceDirectory}`); const rootDirectory = process.argv[3] || sourceDirectory; console.log(`Root Directory: ${rootDirectory}`); console.log(&#34;&#34;); \/\/ Find all blog posts. const postPaths = findInDir(sourceDirectory, \/\\.md$\/); \/\/ Process each path. postPaths.forEach(postPath =&gt; processPost(rootDirectory, postPath)); \/\/ Let the user know we&#39;re done. console.log(`Completed processing ${postPaths.length} file(s)`); \u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u306fcover image\u306b\u3064\u3044\u3066\u306f\u51e6\u7406\u3057\u3066\u304f\u308c\u306a\u304b\u3063\u305f\u306e\u3067\u3001cover image\u3082\u540c\u69d8\u306b\u826f\u3044\u611f\u3058\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u6301\u3063\u3066\u304d\u3066\u30d1\u30b9\u3092\u4fee\u6b63\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u66f8\u3044\u305f\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #!\/bin\/bash shopt -s globstar nullglob site=blog.web-apps.tech for post in $site\/content\/post\/**\/*.md do #echo $post if ! grep &#39;^image:&#39; $post &gt; \/dev\/null then continue fi image_path=$(grep &#39;^image:&#39; $post | sed &#39;s\/^image: \/\/&#39;) if ! ls &#34;$site$image_path&#34; &gt; \/dev\/null then echo &#34;$site$image_path NOT FOUND&#34; fi imagefile_name=$(basename &#34;${image_path}&#34;) if ls &#34;$(dirname $post)\/${imagefile_name}&#34; &gt; \/dev\/null 2&gt;&amp;1 then echo &#34;$(dirname $post)\/${imagefile_name} FOUND&#34; fi mkdir $(dirname $post)\/images cp $site$image_path $(dirname $post)\/images\/${imagefile_name} sed -i -E &#34;s\/^image: (.+)\/cover:\\n image: images\\\/${imagefile_name}\/&#34; $post echo done \u5f8c\u306f\u30c6\u30fc\u30de \u3092\u5165\u308c\u305f\u308aHugo\u306e\u8a2d\u5b9a \u3092\u3044\u3058\u3063\u305f\u308a\u3057\u3066\u3001GitHub Actions\u306e\u8a2d\u5b9a \u5165\u308c\u3066\u3001GitHub pages\u306e\u8a2d\u5b9a\u3057\u3066\u3001\u4eca\u306b\u81f3\u308b\u3002\n\u3053\u306e\u8a18\u4e8b\u306f\u79fb\u884c\u3092\u3057\u305f\u3042\u3068\u306b\u66f8\u3044\u3066\u3044\u308b(==markdown\u30d5\u30a1\u30a4\u30eb\u3092emacs\u3067\u66f8\u3044\u3066\u3044\u308b)\u3051\u308c\u3069\u3001Ghost\u306e\u30a8\u30c7\u30a3\u30bf\u3067\u66f8\u304f\u3088\u308aemacs\u3067\u66f8\u3044\u305f\u65b9\u304c\u4f53\u9a13\u304c\u826f\u304f\u3001Hugo\u3067\u3042\u308c\u3070\u62e1\u5f35\u6027\u3082\u9ad8\u3044\u306e\u3067\u3001\u3084\u306f\u308aCMS\u3092\u4f7f\u3046\u5fc5\u8981\u306f\u7121\u304b\u3063\u305f\u304b\u3082\u3001\u3068\u601d\u3063\u3066\u3044\u308b\u3002\n\u4e00\u5fdc\u53e4\u3044\u65b9\u3082\u6b8b\u3057\u3066\u306f\u3042\u308b \u3051\u308c\u3069\u3001\u9069\u5f53\u306a\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u6d88\u3059\u4e88\u5b9a\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/migrate-ghost-to-hugo\/","summary":"<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\n\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=\"\/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":"Migrate Ghost to Hugo"},{"content":"TL;DR GitHub\u304b\u3089git\u30d7\u30ed\u30c8\u30b3\u30eb(git:\/\/github.com\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(git@github.com\u3067\u59cb\u307e\u308bURL)\u3092\u4f7f\u3046\u3088\u3046\u306b\u8a2d\u5b9a\u5909\u66f4\u3057\u307e\u3057\u3087\u3046\nwez\/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\u3066brew tap\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\n$ brew tap wez\/wezterm ==&gt; Tapping wez\/wezterm Cloning into &#39;\/opt\/homebrew\/Library\/Taps\/wez\/homebrew-wezterm&#39;... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported. Please see https:\/\/github.blog\/2021-09-01-improving-git-protocol-security-github\/ for more information. Error: Failure while executing; `git clone https:\/\/github.com\/wez\/homebrew-wezterm \/opt\/homebrew\/Library\/Taps\/wez\/homebrew-wezterm --origin=origin --template=` exited with 128. \u6307\u5b9a\u3055\u308c\u305f\u8a18\u4e8b \u3092\u898b\u3066\u307f\u308b\u3068\u3001git:\/\/\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 \u81ea\u5206\u306e.gitconfig\u3092\u898b\u3066\u307f\u308b\u3068 \u3001\u78ba\u304b\u306b https:\/\/github.com \u306e\u4ee3\u308f\u308a\u306b git:\/\/github.com \u3092\u4f7f\u3046\u3068\u3044\u3046\u8a2d\u5b9a\u304c\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n[url &#34;git@github.com:&#34;] pushInsteadOf = git:\/\/github.com\/ pushInsteadOf = https:\/\/github.com\/ [url &#34;git:\/\/github.com\/&#34;] insteadOf = https:\/\/github.com\/ 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 git@github.com \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\u4fee\u6b63\u3057\u307e\u3057\u305f \u3002\n[url &#34;git@github.com:&#34;] insteadOf = https:\/\/github.com\/ 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\n","permalink":"https:\/\/blog.web-apps.tech\/github-disabled-git-protocol\/","summary":"<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: \n  The 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;]\n\tpushInsteadOf = git:\/\/github.com\/\n\tpushInsteadOf = https:\/\/github.com\/\n\n[url &#34;git:\/\/github.com\/&#34;]\n\tinsteadOf = 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;]\n\tinsteadOf = 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":"GitHub\u304cgit:\/\/\u3092\u7121\u52b9\u306b\u3057\u305f\u4ef6"},{"content":"1\u6708 \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\n\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 https:\/\/t.co\/mhuQFVErv4\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) January 23, 2021 \u3053\u306e\u6642\u671f\u306b\u8cb7\u3063\u305f\u30b3\u30df\u30c3\u30af\u30b9\u3067\u307e\u3069\u308d\u307f\u30d0\u30fc\u30e1\u30a4\u30c9 \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\nnasa9084\/broadcast-memo \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u3063\u305f\u3002\n2\u6708 Switchbot API\u3092\u767a\u898b\u3057\u305f\u306e\u3067nasa9084\/go-switchbot \u3092\u4f5c\u3063\u305f\u3002\u76f8\u5909\u308f\u3089\u305a\u52d5\u753b\u306f\u6bce\u65e5\u30a2\u30c3\u30d7\u3057\u3066\u305f\u3002\n\u305d\u308c\u4ee5\u5916\u306f\u307e\u3041\u7279\u306b\u306a\u3057\n3\u6708 \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\n\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\nergodash2\u53f0\u76ee(bluetooth\u5316)\u3092\u4f5c\u3063\u305f\u3002\u4eca\u3082\u4f7f\u3063\u3066\u307e\u3059\u3002\nnasa9084\/switchbot-exporter \u3092\u66f8\u3044\u305f\u3051\u3069\u3001\u3042\u3093\u307e\u308a\u898b\u3066\u306a\u3044\u3002\n\u3053\u306e\u8fba\u3067\u52d5\u753b\u6295\u7a3f\u30da\u30fc\u30b9\u306f\u843d\u3061\u3066\u304d\u305f\u3002\n4\u6708 \u7b11\u9854\u306e\u305f\u3048\u306a\u3044\u8077\u5834\u3067\u3059 \u3068\u3044\u3046\u30b3\u30df\u30c3\u30af\u30b9\u304c\u9762\u767d\u3044\u3067\u3059\u3002\n\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\n5\u6708 \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\n\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\nLINE MOBILE\u304b\u3089LINEMO\u306b\u4e57\u308a\u63db\u3048\u305f\u3002\u30e1\u30a4\u30f3\u56de\u7dda\u306f\u5909\u308f\u3089\u305aiij mio\u3002\n6\u6708 UNDERTALE\u3081\u3063\u3061\u3083\u9762\u767d\u304b\u3063\u305f\u3002\n7\u6708 1\u56de\u76ee\u306e\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u30ef\u30af\u30c1\u30f3\u3092\u63a5\u7a2e\u3057\u305f\u3002\n8\u6708 2\u56de\u76ee\u306e\u65b0\u578b\u30b3\u30ed\u30ca\u30a6\u30a4\u30eb\u30b9\u30ef\u30af\u30c1\u30f3\u3092\u63a5\u7a2e\u3057\u305f\u3002\n\u7570\u4e16\u754c\u5931\u683c \u304c\u9762\u767d\u3044\u3067\u3059\u3002\nHuawei 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\n\u306a\u3093\u3060\u304b\u3093\u3060\u771f\u9762\u76ee\u306b\u4ed5\u4e8b\u3092\u3057\u3066\u307e\u3057\u305f\u3002\n9\u6708 iPhone 13 mini\u3068iPad mini\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002iPhone\u306f9\u5e74\u3076\u308a\u3067\u3059\u3002\n10\u6708 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\n\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\n\u3042\u3068\u306fapple watch\u8cb7\u3044\u307e\u3057\u305f\u3002\n11\u6708 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\n\u304b\u3093\u305f\u3093\u306a\u3044\u304d\u3082\u306e - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \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 \u307e\u3041\u307e\u3041\u4f7f\u3048\u305d\u3046 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u305f\u3076\u3093\u3001\u307e\u3041\u307e\u3041\u4f7f\u3048\u305d\u3046\u306a\u30b9\u30bf\u30f3\u30d7\u3067\u3059 \u3068\u306b\u304b\u304f\u5e30\u308a\u305f\u3044 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u3068\u306b\u304b\u304f\u5e30\u308a\u305f\u3044\u4eba\u306e\u70ba\u306e\u30b9\u30bf\u30f3\u30d7 \u3046\u3061\u3067\u3088\u304f\u4f7f\u3044\u305d\u3046\u306a\u30b9\u30bf\u30f3\u30d7 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u6211\u304c\u5bb6\u3067\u306f\u5272\u3068\u3088\u304f\u4f7f\u308f\u308c\u305d\u3046\u306a\u96f0\u56f2\u6c17\u306e\u30b9\u30bf\u30f3\u30d7 \u4e38\u3044\u76ee\u3092\u3057\u305f\u5974\u3089 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u5974\u3089\u306f\u4e38\u3044\u76ee\u3092\u3057\u3066\u3044\u308b \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\nBlack Friday\u3067Flexispot E7\u3092\u8cfc\u5165\u3057\u305f\u3002\u5bb6\u3067\u3082\u7acb\u3063\u305f\u308a\u5ea7\u3063\u305f\u308a\u3067\u304d\u308b\u306e\u306f\u3068\u3066\u3082\u826f\u3044\u3067\u3059\u3002\n12\u6708 Kindle paperwhite\u306e\u65b0\u578b\u304cUSB type-C\u3067\u306e\u5145\u96fb\u306b\u306a\u3063\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u4e8b\u3092\u77e5\u3063\u305f\u306e\u3067\u4e45\u3005\u306bKindle\u3092\u8cfc\u5165\u3002\u3064\u3044\u3067\u306b\u304a\u8a66\u3057\u671f\u9593\u304c\u3042\u3063\u305f\u306e\u3067Kindle Unlimited\u306b\u3082\u52a0\u5165\u3057\u3066\u307f\u305f\u3051\u3069\u3001\u6570\u5e74\u524d\u306b\u8a66\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u304f\u304a\u8a66\u3057\u671f\u9593\u7d42\u4e86\u3067\u89e3\u7d04\u3059\u308b\u898b\u8fbc\u307f\u3002\u306a\u3093\u3060\u304b\u3093\u3060\u8aad\u3080\u672c\u304c\u306a\u3044\u3002\u30cf\u30ea\u30fc\u30dd\u30c3\u30bf\u30fc\u3092\u5168\u5dfb\u8aad\u3081\u308b\u306e\u306f\u826f\u304b\u3063\u305f\u3002\u304c\u30017\u518a\u7a0b\u5ea6\u3067\u306f\u4e00\u9031\u9593\u3082\u4fdd\u305f\u306a\u3044\u306e\u3067\u3042\u308b\u3002\n\u3042\u3051\u304a\u3081\u30b9\u30bf\u30f3\u30d7\u3082\u4f5c\u3063\u305f\u3002\u8cb7\u3063\u3066\u4e0b\u3055\u3044\u3002\n\u3086\u308b\u3044\u3042\u3051\u304a\u30812022 - LINE \u30b9\u30bf\u30f3\u30d7 | LINE STORE \u3042\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3001\u304c\u304a\u30fc \u4eca\u5e74\u306fAdvent Calendar\u3092\u4e00\u672c\u3082\u3084\u3089\u306a\u304b\u3063\u305f\u3002\n\u7dcf\u62ec \u6563\u8ca1\u3092\u307e\u3068\u3081\u307e\u3057\u305f\u3001\u307f\u305f\u3044\u306a\u5185\u5bb9\u306b\u306a\u3063\u305f\u3002\u6b63\u76f4\u4eca\u5e74\u306f\u307b\u3068\u3093\u3069\u30d0\u30a4\u30af\u306b\u4e57\u3063\u3066\u7121\u304f\u3066\u3001\u8150\u3063\u3066\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u3061\u3087\u3063\u3068\u4e0d\u5b89\u306b\u306a\u3063\u3066\u308b\u306e\u3067\u3001\u6765\u5e74\u306f\u30d0\u30a4\u30af\u306b\u4e57\u3063\u3066\u307e\u305f\u3069\u3053\u304b\u306b\u51fa\u304b\u3051\u305f\u3044\u3002\u3067\u304d\u308c\u3070\u5927\u578b\u514d\u8a31\u3082\u53d6\u308a\u305f\u3044\u3068\u3053\u308d\u3002\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/retrospective-2021\/","summary":"<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        \n        \n        \n      <\/div>\n    <\/div>\n    \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    \n  <\/a>\n  \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        \n        \n        \n      <\/div>\n    <\/div>\n    \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    \n  <\/a>\n  \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        \n        \n        \n      <\/div>\n    <\/div>\n    \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    \n  <\/a>\n  \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        \n        \n        \n      <\/div>\n    <\/div>\n    \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    \n  <\/a>\n  \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        \n        \n        \n      <\/div>\n    <\/div>\n    \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    \n  <\/a>\n  \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":"Retrospective: 2021"},{"content":"\u591a\u5206\u307b\u3068\u3093\u3069\u306e\u30b1\u30fc\u30b9\u3067\u306f\u6c17\u306b\u3059\u308b\u3053\u3068\u3082\u306a\u304f0755\u3068\u304b0644\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\n\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\u304c0755\u3067SUID\u3092\u6307\u5b9a\u3057\u305f\u3044\u3068\u3044\u3046\u5834\u5408\u306fchmod\u3067\u8a00\u3046\u3068chmod 4755 path\/to\/file\u3068\u3044\u3063\u305f\u611f\u3058\u306b\u306a\u308b\u3093\u3067\u3059\u3051\u308c\u3069\u3082\u3001ansible.builtin.file\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\n1 2 3 ansible.builtin.file: path: path\/to\/file mode: 4755 \u3053\u308c\u306f\u3053\u3046\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059:\n1 2 3 ansible.builtin.file: path: path\/to\/file mode: 04755 \u3082\u3057\u304f\u306f\u3053\u3046:\n1 2 3 ansible.builtin.file: path: path\/to\/file mode: &#39;4755&#39; \u3053\u308c\u306f\u4f8b\u3048\u3070\u3001\u7d50\u69cb\u53e4\u3044Ansible playbook\u306a\u3093\u304b\u3067\u3001\n1 file: path=path\/to\/file mode=4755 \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\n\u307e\u3041\u3001\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u66f8\u3044\u3066\u3042\u308b \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\nYou 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.\n","permalink":"https:\/\/blog.web-apps.tech\/ansible-builtin-file-mode-leading-zero\/","summary":"<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":"ansible.builtin.file\u306emode\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u982d\u306b0\u304c\u5fc5\u8981"},{"content":"\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\u4eca\u56deiPhone 13 mini\u3092\u8cfc\u5165\u3057\u305f \u306e\u306f8\u5e74\u3076\u308a\u306e\u4e8b\u3067\u3059\u3002 Android\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\u3082fitbit Versa \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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/my-first-apple-watch-series-7\/","summary":"<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=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/my-first-apple-watch-series-7\/images\/IMG_1391_hu_fbebcc506c9fd7ce.jpg\" alt=\"\"  \/>\n<\/p>","title":"\u4eba\u751f\u521dApple Watch (series 7)"},{"content":"\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 \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\n\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\n\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\n\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\niPad 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\n\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)\n\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 \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\n","permalink":"https:\/\/blog.web-apps.tech\/ipad-mini-6\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/ipad-mini-6\/images\/IMG_1370_hu_3bb96169a61f6e13.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ipad-mini-6\/images\/IMG_1372_hu_31fda7990773bb48.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"iPad mini 6\u3092\u8cb7\u3063\u30661\u9031\u9593\u534a\u7d4c\u3063\u305f"},{"content":"\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\n\u305d\u3093\u306a\u3068\u304d\u306f exit 78 \u3059\u308b\u3068\u826f\u3044\u3088\u3046\u3067\u3059\u3002 exit 78 \u3057\u305f\u30b9\u30c6\u30c3\u30d7\u306fsuccess\u3001\u5f8c\u7d9a\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u5b9f\u884c\u3055\u308c\u305a\u3001(depends_on \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\nReference How to exit a Pipeline early without Failing ","permalink":"https:\/\/blog.web-apps.tech\/droneci_early_return\/","summary":"<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":"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"},{"content":"\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 \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 \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\niPad 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\n\u4ee5\u4e0b\u958b\u5c01\u5199\u771f\u3067\u3059:\n","permalink":"https:\/\/blog.web-apps.tech\/iphone13mini\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/F88B6496-A4C3-4482-98B5-2559179A38E0_hu_e68192a854c6b529.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/EECF6EBA-21BE-4AF4-83BC-92C7B2989211_hu_332c62cfc252103f.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/988D0431-8F4B-41DB-A851-40F1AFC8658C_hu_a256704d2548022.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/0F84E98A-A244-4AC4-BA92-DA610BD88C14_hu_b275f462908b4591.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/EEC0617E-38A1-4FE0-810E-E52687BE1078_hu_58aac4f92f5d2fc.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/BFEFDA5A-AB64-4EF8-8EE4-E1B39C41B385_hu_3e466f318754bc49.JPEG\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/iphone13mini\/images\/IMG_0027_hu_91806a5a9c25c333.jpg\" alt=\"\"  \/>\n<\/p>","title":"iPhone 13 mini\u3092\u8cb7\u3063\u305f"},{"content":"\u7686\u3055\u3093\u4f7f\u3063\u3066\u307e\u3059\u304b\u3001here-document\u3002bash\u3067\u3044\u3046\u3068\u3053\u3046\u3044\u3046\u5974:\n1 2 3 4 5 6 cat &lt;&lt;EOF this is here document EOF \u51fa\u529b\u306f\u3053\u3046:\nthis is here document \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):\n\/path\/to\/shellscript\/using\/here-document.sh: line 179: cannot create temp file for here-document: No space left on device \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\n$ docker run -it --rm centos:7 bash [root@8017e5e28d6e \/]# yum install -y strace (\u4e2d\u7565) [root@8017e5e28d6e \/]# cat &lt;&lt;EOF &gt; script.sh &gt; cat &lt;&lt;EOS &gt; foo &gt; bar &gt; baz &gt; EOS &gt; EOF [root@8017e5e28d6e \/]# strace -f bash script.sh |&amp; grep tmp [pid 61] stat(&#34;\/tmp&#34;, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0 [pid 61] faccessat(AT_FDCWD, &#34;\/tmp&#34;, W_OK) = 0 [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 [pid 61] open(&#34;\/tmp\/sh-thd-1631118709&#34;, O_WRONLY|O_CREAT|O_EXCL|O_TRUNC, 0600) = 3 [pid 61] open(&#34;\/tmp\/sh-thd-1631118709&#34;, O_RDONLY) = 4 [pid 61] unlink(&#34;\/tmp\/sh-thd-1631118709&#34;) = 0 \/tmp\/sh-thd-1631118709 \u306b\u66f8\u304d\u8fbc\u307f\u3092\u3057\u3066\u3044\u308b\u69d8\u5b50\u304c\u898b\u3066\u53d6\u308c\u307e\u3059\u3002\n\u3068\u3044\u3046\u308f\u3051\u3067\u3001bash\u306ehere-document\u306f\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u306a\u306e\u3067\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u5168\u304f\u4f59\u88d5\u304c\u306a\u3044\u72b6\u614b\u3060\u3068\u5b9f\u884c\u306b\u5931\u6557\u3057\u307e\u3059\u3002\u5b9f\u969b\u8abf\u67fb\u3092\u3057\u305f\u3068\u3053\u308d\u3001\u5f53\u8a72\u30b5\u30fc\u30d0\u306f\u30b3\u30de\u30f3\u30c9\u306e\u30b5\u30b8\u30a7\u30b9\u30c8\u3082\u3067\u304d\u306a\u3044\u304f\u3089\u3044\u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u30d1\u30f3\u30d1\u30f3\u3067\u3057\u305f\u3002 \u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u57cb\u307e\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u74b0\u5883\u3067\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001here-document\u306e\u90e8\u5206\u3067\u3082\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u5834\u5408\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u306e\u3092\u982d\u306b\u5165\u308c\u3066\u304a\u304b\u306a\u3044\u3068\u3001cat\u3057\u3066\u3044\u308b\u3060\u3051\u3060\u3057\u3001\u3068\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u7701\u3044\u3066\u3057\u307e\u3044\u305d\u3046\u306b\u306a\u308a\u307e\u3059\u304b\u3089\u3001\u8981\u6ce8\u610f\u3067\u3059\u306d\u3002\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/bash-here-document-makes-tmp-file\/","summary":"<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":"bash\u306ehere-document\u306f\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3089\u3057\u3044"},{"content":"TL;DR: \u5272\u3068\u826f\u3044\u3002\n\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u306f\u9577\u3044\u3053\u3068fitbit versa \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\n\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:\n\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 \u67d4\u3089\u304b\u3044\u7d20\u6750\u306e\u30ab\u30d0\u30fc\u7b49\u3067\u8986\u3048\u3070\u4f7f\u7528\u53ef\u80fd \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 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 \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\u30b7\u30ea\u30b3\u30f3\u88fd\u30ab\u30d0\u30fc\u306f\u4f55\u6545\u304b6\u500b\u5358\u4f4d\u3067\u3057\u304b\u58f2\u3063\u3066\u3044\u306a\u3044 \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\n\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\n\u3044\u308d\u3044\u308d\u691c\u8a0e\u3057\u307e\u3057\u305f\u304c\u3001\u6700\u7d42\u7684\u306b\u306fmi band 6 \u306e\u4e38\u3063\u3053\u3044\u30c7\u30b6\u30a4\u30f3\u3088\u308a\u3001Huawei Band 6 \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\n\u4ee5\u4e0b\u958b\u5c01\u5199\u771f\u3067\u3059\u3002\n\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\n\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\n\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\n\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:\nHUAWEI 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\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) August 27, 2021 \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 \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\n\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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/huawei-band-6\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/huawei-band-6\/images\/PXL_20210820_021323994-1_hu_cc414f10b050f0b.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Huawei Band 6\u3092\u8cb7\u3063\u305f"},{"content":"\u5f0a\u5b85\u3067\u306fCANDYHOUSE\u306eSESAME3 \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\n\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\n\u516c\u5f0f\u304b\u3089\u4ea4\u63db\u7528\u306e\u4e21\u9762\u30c6\u30fc\u30d7\u3082\u8ca9\u58f2\u3055\u308c\u3066\u306f\u3044\u308b \u306e\u3067\u3059\u304c\u3001\u660e\u3089\u304b\u306b3M\u306e\u30b3\u30de\u30f3\u30c9\u30bf\u30d6 \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\u30e8\u30c9\u30d0\u30b7.com\u3067\u306f8\u679a\u3067300\u5186\u5f31 \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)\n\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\nSESAME\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/re-sticking-sesame3\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u5265\u304c\u308c\u304b\u3051\u305fSesame 3\u3092\u8cbc\u308a\u76f4\u3059"},{"content":"\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 src\/github.com\/nasa9084\/... \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 src\/practice \u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\n\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\n\u4eca\u56de\u767a\u898b\u3057\u305f\u306e\u306f\u30bf\u30a4\u30c8\u30eb\u306b\u3082\u3042\u308b\u3068\u304a\u308a\u3001a\u30bf\u30b0\u306eping\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\u306fa\u30bf\u30b0\u306eping\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\n\u5b9f\u969b\u306e\u30b3\u30fc\u30c9\u7247\u304c\u3053\u3061\u3089: index.html:\n1 2 3 4 5 6 7 8 9 10 11 &lt;!doctype html&gt; &lt;html lang=&#34;en&#34;&gt; &lt;head&gt; &lt;meta charset=&#34;UTF-8&#34;\/&gt; &lt;title&gt;Document&lt;\/title&gt; &lt;\/head&gt; &lt;body&gt; first page &lt;a href=&#34;second.html&#34; ping=&#34;http:\/\/localhost:8080\/ping&#34;&gt;second&lt;\/a&gt; &lt;\/body&gt; &lt;\/html&gt; second.html:\n1 2 3 4 5 6 7 8 9 10 &lt;!doctype html&gt; &lt;html lang=&#34;en&#34;&gt; &lt;head&gt; &lt;meta charset=&#34;UTF-8&#34;\/&gt; &lt;title&gt;Document&lt;\/title&gt; &lt;\/head&gt; &lt;body&gt; second page &lt;\/body&gt; &lt;\/html&gt; main.go:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( &#34;log&#34; &#34;net\/http&#34; ) func main() { http.HandleFunc(&#34;\/&#34;, func(w http.ResponseWriter, r *http.Request) { b, _ := httputil.DumpRequest(r, true) log.Printf(&#34;%s&#34;, b) }) http.ListenAndServe(&#34;:8080&#34;, nil) } \u8981\u3059\u308b\u306b\u3001index.html\u3092\u30d6\u30e9\u30a6\u30b6\u3067\u958b\u3044\u3066\u3001second.html\u3078\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068main.go\u304c\u5f85\u3061\u53d7\u3051\u3066\u3044\u308b8080\u756a\u30dd\u30fc\u30c8\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u98db\u3073\u3001\u6b21\u306e\u69d8\u306a\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u307e\u3059:\n2021\/08\/02 23:50:32 POST \/ping HTTP\/1.1 Host: localhost:8080 Connection: keep-alive Content-Length: 4 Content-Type: text\/ping Ping-To: file:\/\/\/Users\/nasa\/src\/practice\/a-ping\/second.html Sec-Fetch-Dest: empty Sec-Fetch-Mode: no-cors Sec-Fetch-Site: cross-site User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:90.0) Gecko\/20100101 Firefox\/90.0 PING \u3053\u308c\u306fFirefox\u3067\u306e\u3082\u306e\u3067\u3001Google Chrome\u3060\u3068\u6b21\u306e\u69d8\u306a\u30ed\u30b0\u3067\u3059:\n2021\/08\/02 23:52:32 POST \/ping HTTP\/1.1 Host: localhost:8080 Accept: *\/* Accept-Encoding: gzip, deflate, br Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7 Cache-Control: max-age=0 Connection: keep-alive Content-Length: 5 Content-Type: text\/ping Origin: null Ping-To: file:\/\/\/Users\/nasa\/src\/practice\/a-ping\/second.html Sec-Ch-Ua: &#34;Chromium&#34;;v=&#34;92&#34;, &#34; Not A;Brand&#34;;v=&#34;99&#34;, &#34;Google Chrome&#34;;v=&#34;92&#34; Sec-Ch-Ua-Mobile: ?0 Sec-Fetch-Dest: empty Sec-Fetch-Mode: no-cors Sec-Fetch-Site: cross-site User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/92.0.4515.107 Safari\/537.36 PING Chrome\u306e\u65b9\u304c\u60c5\u5831\u91cf\u304c\u591a\u3044\u3067\u3059\u306d\u3002\u307e\u305f\u3001Chrome\u3067\u306f\u7279\u306b\u8a2d\u5b9a\u7b49\u3092\u3057\u306a\u304f\u3066\u3082ping\u304c\u9001\u51fa\u3055\u308c\u307e\u3057\u305f\u304c\u3001Firefox\u3067\u306fabout:config\u3092\u958b\u3044\u3066browser.send_pings\u3092true\u306b\u8a2d\u5b9a\u3057\u306a\u3044\u3068ping\u304c\u9001\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u307e\u3041\u7279\u306b\u4ed5\u4e8b\u3067\u4f7f\u3063\u3066\u3044\u308b\u308f\u3051\u3067\u3082\u306a\u3044\u3057\u3001\u306a\u3093\u3068\u3044\u3046\u4e8b\u3082\u7121\u3044\u3093\u3067\u3059\u304c\u3001\u4f9b\u990a\u304c\u3066\u3089\u30e1\u30e2\u3068\u3057\u3066\u304a\u3044\u3066\u304a\u304d\u307e\u3059\u3002 \u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/atagunopingshu-xing\/","summary":"<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":"a\u30bf\u30b0\u306eping\u5c5e\u6027"},{"content":"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\u3001find\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 shellscript\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\u3001date\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\n\u6642\u9593\u3092\u6bd4\u8f03\u3059\u308b \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\u3001date\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u3059\u3089\u7121\u304f\u3001test\u4e43\u81f3[\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-lt\u304b-gt\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 # 1626146220 = 2021-07-13T12:17 # 1626146340 = 2021-07-13T12:19 if [ 1626146220 -lt 1626146340 ]; then echo hello fi # Output: # hello \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\u3002date\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-d \/ --date\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%s\u3067\u3059\u3002\n1 2 3 4 5 6 7 if [ $(date -d &#39;2021-07-13T12:17&#39; +%s) -lt $(date -d &#39;2021-07-13T12:19&#39; +%s) ] then echo hello fi # Output: # hello -d \/ --date \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\u306fGNU Coreutils\u306e\u30de\u30cb\u30e5\u30a2\u30eb \u306a\u3069\u3092\u898b\u308b\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002\nn\u5206\u524d\/n\u5206\u5f8c\u3092\u6c42\u3081\u308b \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\u3001date\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\n\u307e\u305a\u306f\u73fe\u5728\u6642\u523b\u304b\u30891\u6642\u9593\u5f8c\u3092\u6c42\u3081\u3066\u307f\u307e\u3057\u3087\u3046\u3002-d \/ --date\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u52a0\u7b97\u3057\u305f\u3044\u6642\u9593\u3092\u6e21\u3059\u3060\u3051\u3067\u3059\u3002\n1 2 3 4 5 6 date +%R date -d &#39;1 hour&#39; +%R # Output: # 12:34 # 13:34 hour\u306e\u4ed6\u306b\u3082\u3001year\u3084month\u3001day\u3001minute\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\u3068fortnight(2\u9031\u9593)\u3092\u4f7f\u3046\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \u5358\u306b1 hour\u3068\u66f8\u304f\u306e\u304c\u306a\u3093\u3068\u306a\u304f\u6c17\u6301\u3061\u60aa\u3044\u3068\u3044\u3046\u4eba\u306fnow\u3084today\u3001this\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\n1 2 3 4 5 6 date -d &#39;this thursday&#39; +%Y-%m-%dT%H:%M:%S date -d &#39;now + 1 hour&#39; +%Y-%m-%dT%H:%M:%S # Output: # 2021-07-15T00:00:00 # 2021-07-13T13:48:43 \u904e\u53bb\u306e\u6642\u9593\u3092\u6c42\u3081\u308b\u306b\u306f\u3001\u982d\u306b-(\u30de\u30a4\u30ca\u30b9)\u3092\u3064\u3051\u308b\u304b\u3001\u6700\u5f8c\u306bago\u3092\u3064\u3051\u307e\u3059\u3002\n1 2 3 4 date -d &#39;1 hour ago&#39; +%Y-%m-%dT%H:%M:%S # Output # 2021-07-13T11:50:38 \u3053\u308c\u3089\u306e\u76f8\u5bfe\u6642\u9593\u8a18\u6cd5\u306b\u95a2\u3057\u3066\u306fRelative items in date strings \u306e\u30da\u30fc\u30b8\u3067\u8aac\u660e\u304c\u3042\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/calcurate-datetime-in-shell\/","summary":"<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":"date\u30b3\u30de\u30f3\u30c9\u3067\u7c21\u5358\u306a\u6642\u9593\u8a08\u7b97\u3092\u3059\u308b"},{"content":"\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 \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 \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\n\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\n\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 \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\n\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\u3002Amazon \u3067\u672c\u4f53\u4fa1\u683c\u304c1,800\u5186\u3001\u9001\u6599\u304c500\u5186\u3067\u3059\u3002\n\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\n\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\n\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\n\u6700\u5f8c\u306b\u3001\u6628\u5e74\u306f2017\u5e74\u306b\u6f2c\u3051\u305f\u6885\u9152\u3092\u98f2\u3093\u3067\u7de0\u3081\u305f\u3088\u3046\u306a\u306e\u3067 \u4eca\u5e74\u306f2018\u5e74\u306b\u6f2c\u3051\u305f\u6885\u9152\u3092\u98f2\u3093\u3067\u7de0\u3081\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\n\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\n\u4eca\u5e74\u306e\u6885\u9152\u3082\u7f8e\u5473\u3057\u304f\u6f2c\u304b\u308b\u3053\u3068\u3092\u7948\u3063\u3066\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2021-2\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/ume-2021-2\/images\/PXL_20210618_152347004_hu_3f9842c06e89405.jpg\" alt=\"\"  \/>\n<\/p>","title":"\u6885\u4ed5\u4e8b2021 (2)"},{"content":"\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\n\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\n\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\n\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\u6628\u5e74 \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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2021-1\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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":"\u6885\u4ed5\u4e8b2021 (1)"},{"content":"\u3069\u3046\u3082Anker\u5927\u597d\u304d\u4eba\u9593\u3067\u3059\u3002\u30b1\u30fc\u30d6\u30eb\u985e\u306f\u5927\u4f53Anker\u3060\u3057\u3001Thunderbolt 3 Dock \u3082Anker\u3060\u3057\u3001\u5145\u96fb\u5668\u3082\u30d8\u30c3\u30c9\u30db\u30f3 \u3082Anker\u3067\u3059\u3002\n\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\n\u8cfc\u5165\u3057\u305f\u306e\u306fAnker PowerConf C300 \u3002Amazon\u30677,990\u5186\u3067\u8cfc\u5165\u3067\u304d\u307e\u3059\u3002Logicool\u306eStreamCam \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\n\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\n\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 \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\n\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)\n\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\n\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\n\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\n\u7d50\u679c\u3068\u3057\u3066\u3001\u30e9\u30a4\u30c8 \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\n\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\n\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\n\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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/anker-powerconf-c300\/","summary":"<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=\"\/anker-powerexpand-elite-13-in-1\/\">Thunderbolt 3 Dock<\/a>\n\u3082Anker\u3060\u3057\u3001\u5145\u96fb\u5668\u3082<a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u6700\u8fd1\u306eWeb\u30ab\u30e1\u30e9\u3063\u3066\u3059\u3054\u3044\u3001\u306e\u4ef6"},{"content":"\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\n\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\n\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\n\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 \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\n\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\n\u53cb\u4eba\u306e@tagucch \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\n2021-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\n\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\nRAM\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\n\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\n\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\n\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 RAM\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\n\u3081\u3067\u305f\u3057\u3081\u3067\u305f\u3057\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ram-mounts-plus-qi\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"RAM\u30de\u30a6\u30f3\u30c8\u3092Qi\u5bfe\u5fdc\u306b\u3059\u308b"},{"content":"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\nOverview \u5168\u4f53\u50cf\u3068\u3057\u3066\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30c7\u30b9\u30af\u306f\u30cb\u30c8\u30ea\u306e\u7d44\u307f\u5408\u308f\u305b\u30d5\u30ea\u30fc\u30c7\u30b9\u30af \u30d7\u30ec\u30d5\u30a7 \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\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2 \u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u8db3\u4e0b\u306b\u306f\u30a8\u30eb\u30b4\u30ce\u30df\u30af\u30b9\u30d5\u30c3\u30c8\u30ec\u30b9\u30c8 \u3092\u7f6e\u3044\u3066\u3044\u307e\u3059\u3002\n\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306fLG 27UK850-W \u3068\u3044\u30464K 27\u30a4\u30f3\u30c1\u306e\u30c7\u30a3\u30b9\u30d7\u30ec\u30a42\u679a\u3092\u30e2\u30cb\u30bf\u30fc\u30a2\u30fc\u30e0(\u53f3\u304cHP \u3001\u53f3\u304c\u30a8\u30eb\u30b4\u30c8\u30ed\u30f3 \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\n\u30e2\u30cb\u30bf\u306e\u4e0a \u30de\u30a4\u30af\u306fAKG LYRA \u3067\u3059\u3002USB type-C\u3067\u63a5\u7d9a\u3059\u308b\u30bf\u30a4\u30d7\u306e\u30b3\u30f3\u30c7\u30f3\u30b5\u30de\u30a4\u30af\u3067\u3001Anker\u306eType-C to Type-A\u30b1\u30fc\u30d6\u30eb \u3092\u4f7f\u7528\u3057\u3066\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002Rode PSA1 \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\u306fSwitchBot \u6e29\u6e7f\u5ea6\u8a08 \u3092\u304f\u3063\u3064\u3051\u3066\u3044\u307e\u3059\u3002\n\u30a6\u30a7\u30d6\u30ab\u30e1\u30e9\u306f\u5927\u6614\u306b\u5b89\u304f\u8cfc\u5165\u3057\u305f\u30d0\u30c3\u30d5\u30a1\u30ed\u30fc BSW20KM15 \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\u30ed\u30b8\u30af\u30fc\u30eb\u306eStreamCam \u3068\u304b\u826f\u3055\u305d\u3046\u3002\u307e\u3041\u7279\u306b\u4e0d\u6e80\u306f\u611f\u3058\u3066\u3044\u306a\u3044\u3067\u3059\u304c\u3002\n\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\u3002Ulanzi\u306eVL49 \u3068\u3044\u3046\u30e9\u30a4\u30c8\u3092\u306a\u3093\u304b\u3050\u306d\u3050\u306d\u3059\u308b\u3084\u3064 \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\n\u624b\u5143 \u624b\u5143\u306f\u3053\u3093\u306a\u611f\u3058\u3002\u30c8\u30e9\u30c3\u30af\u30d1\u30c3\u30c9\u304c\u7d50\u69cb\u597d\u304d\u306a\u306e\u3067\u3001Magic Trackpad 2 \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002Magic Trackpad 2\u7528\u306e\u30ea\u30b9\u30c8\u30ec\u30b9\u30c8 \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n\u30ad\u30fc\u30dc\u30fc\u30c9\u306fErgodash \u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001\u6700\u8fd1BLE Micro Pro \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\u306fFILCO Majestouch Wrist Rest &ldquo;Macaron&rdquo; \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\n\u30b2\u30fc\u30e0\u3092\u3059\u308b\u3068\u304d\u306f\u30ed\u30b8\u30af\u30fc\u30eb MX Master 3 for Mac \u3068Razer Tartarus Pro \u3092\u4f7f\u3063\u3066\u307e\u3059\u3002Razer Synapse\u3001Mac\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u304f\u308c\u3002\n\u30b9\u30d4\u30fc\u30ab\u30fc\u306fFostex PM0.1e \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 \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\u306fSoundCore Q30 \u3067\u3001\u30d8\u30c3\u30c9\u30db\u30f3\u30e9\u30c3\u30af \u306b\u3076\u3089\u4e0b\u3052\u3066\u3044\u307e\u3059\u3002\u3002\nPC\u306f13\u30a4\u30f3\u30c1 MacBook Pro \u3067\u30012018\u5e74\u306eThunderbolt 3\u30dd\u30fc\u30c8\u304c\u56db\u3064\u3042\u308b\u30e2\u30c7\u30eb\u3067\u3059\u3002\u30e1\u30e2\u30ea\u306f16GB\u3067\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u306f256GB\u3067\u3059\u304c\u3001\u6700\u8fd1\u52d5\u753b\u7de8\u96c6\u3092\u306f\u3058\u3081\u305f\u3053\u3068\u306b\u3088\u308a\u5916\u90e8\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u8cfc\u5165\u3092\u691c\u8a0e\u3057\u3066\u3044\u307e\u3059\u3002PC\u3068\u5468\u8fba\u6a5f\u5668\u306fAnker PowerExpand Elite \u3092\u7d4c\u7531\u3057\u3066\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002PC\u306b\u63a5\u7d9a\u3059\u308b\u30b1\u30fc\u30d6\u30eb\u304c1\u672c\u3067\u6e08\u3080\u70b9\u306f\u6700\u9ad8\u3067\u3059\u304c\u3001\u4f55\u6545\u304bUSB Type-C to USB Type-C\u30674K\u51fa\u529b\u3059\u308b\u306830Hz\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u6b8b\u5ff5\u3067\u3059(\u4ed5\u69d8\u4e0a\u306f4K@60Hz\u3067\u51fa\u308b\u306f\u305a)\u3002 PC\u306fTwelve South BookArc for MacBook \u306b\u7acb\u3066\u3066\u3044\u3066\u3001\u3053\u308c\u306b\u3088\u308a\u30c7\u30b9\u30af\u3092\u5e83\u304f\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u307e\u3059\u3002\n\u30b9\u30de\u30db(Google Pixel 4)\u306e\u5145\u96fb\u306f\u5199\u771f\u53f3\u5074\u306b\u3042\u308bAnker PowerWave 10 Pad \u3067\u3001iPad Pro\u3068Rakuten mini\u306e\u5145\u96fb\u306f\u5199\u771f\u4e2d\u592e\u306e\u30b1\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u30b1\u30fc\u30d6\u30eb\u3092\u3088\u3057\u306a\u306b\u3059\u308b\u305f\u3081\u306bAnker Magnetic Cable Holder \u3092\u8cb7\u3044\u307e\u3057\u305f\u304c\u3001\u826f\u3044\u3084\u3089\u826f\u304f\u306a\u3044\u3084\u3089\u3088\u304f\u308f\u304b\u308a\u307e\u305b\u3093\u3002\u5185\u3088\u308a\u306f\u826f\u3044\u304b\u3082\u3001\u3068\u3044\u3046\u7a0b\u5ea6\u3002\n\u753b\u9762\u5de6\u306b\u30b3\u30fc\u30b9\u30bf\u30fc\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u5b66\u751f\u306e\u9803\u304b\u3089\u4f7f\u3063\u3066\u3044\u308b\u73ea\u85fb\u571f\u306e\u30b3\u30fc\u30b9\u30bf\u30fc\u3067\u3001\u5927\u5206\u6c5a\u308c\u3066\u304d\u305f\u306e\u3067\u305d\u308d\u305d\u308d\u304a\u5f79\u5fa1\u514d\u304b\u306a\u3001\u3068\u3044\u3063\u305f\u3068\u3053\u308d\u3002\n\u673a\u306e\u53f3\u5965\u306b\u306f\u57fa\u672c\u7684\u306b\u4f55\u3082\u63a5\u7d9a\u3057\u3066\u3044\u306a\u3044\u96fb\u6e90\u30bf\u30c3\u30d7\u3092\u4e00\u672c\u7528\u610f\u3057\u3066\u3042\u3063\u3066\u3001\u534a\u7530\u4ed8\u3051\u306a\u3069\u3071\u3063\u3068\u96fb\u6e90\u304c\u5fc5\u8981\u306a\u6642\u306b\u3059\u3050\u96fb\u6e90\u3092\u3068\u308c\u308b\u3088\u3046\u306b\u3057\u3066\u3042\u308a\u307e\u3059\u3002\n\u673a\u306e\u4e0b \u30c7\u30b9\u30af\u4e0b\u306b\u306f\u30cb\u30c8\u30ea\u306e\u304f\u3063\u3064\u3051\u3089\u308c\u308b\u30de\u30b0\u30cd\u30c3\u30c8\u30d2\u30fc\u30bf\u30fc\u3092\u30de\u30b0\u30cd\u30c3\u30c8\u3067\u306f\u306a\u304f\u30de\u30b8\u30c3\u30af\u30c6\u30fc\u30d7\u3067\u304f\u3063\u3064\u3051\u3066\u3044\u307e\u3059\u304c\u3001\u6b63\u76f4\u6570\u3048\u308b\u307b\u3069\u3057\u304b\u4f7f\u7528\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u51e6\u5206\u3057\u3066\u3057\u307e\u3046\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n\u30b1\u30fc\u30d6\u30eb\u985e\u306f\u30b5\u30f3\u30ef\u30b5\u30d7\u30e9\u30a4\u306e\u914d\u7dda\u30c8\u30ec\u30fc \u3067\u3059\u3063\u304d\u308a\u6574\u7406\u3057\u3066\u3044\u307e\u3059\u3002\u30c7\u30b9\u30af\u306e\u53f3\u4e0b\u306e\u65b9\u306b\u30b3\u30f3\u30bb\u30f3\u30c8\u304c\u3042\u308b\u306e\u3067\u3001\u30bf\u30c3\u30d7\u3092\u4e00\u672c\u5f15\u3063\u5f35\u3063\u3066\u304d\u3066\u305d\u3053\u304b\u3089\u96fb\u6e90\u3092\u53d6\u3063\u3066\u3044\u307e\u3059\u3002Anker PowerPort I PD \u3082\u8a2d\u7f6e\u3057\u3066\u3001USB\u96fb\u6e90\u3092\u4f7f\u3046\u3082\u306e(Fitbit Versa \u3084iPad\u306a\u3069\u306e\u5145\u96fb\u30b1\u30fc\u30d6\u30eb)\u306e\u96fb\u6e90\u3092\u3068\u308c\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002\u3042\u307e\u308a\u9577\u3044\u30b1\u30fc\u30d6\u30eb\u3092\u675f\u306d\u3066\u304a\u304f\u306e\u3082\u826f\u304f\u306a\u3044(\u6574\u7406\u3082\u3057\u3065\u3089\u3044\u3057\u3001\u71b1\u3092\u6301\u3064\u539f\u56e0\u306b\u3082\u306a\u308a\u305d\u3046)\u306e\u3067\u3001\u30b5\u30f3\u30ef\u30b5\u30d7\u30e9\u30a4 \u3084\u30d0\u30c3\u30d5\u30a1\u30ed\u30fc \u306e\u77ed\u3044\u30b1\u30fc\u30d6\u30eb\u3092\u8cb7\u3063\u3066\u304d\u3066\u3001\u3044\u304f\u3064\u304b\u306e\u30b1\u30fc\u30d6\u30eb\u306f\u4ea4\u63db\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u914d\u7dda\u3092\u5927\u5206\u3059\u3063\u304d\u308a\u3068\u6574\u7406\u3067\u304d\u307e\u3059\u3002\n\u4ee5\u4e0a\u3001\u81ea\u5b85\u306e\u30c7\u30b9\u30af\u7d39\u4ecb\u3067\u3057\u305f\u3002\u3082\u3046\u5c11\u3057\u6539\u5584\u3057\u305f\u3044\u70b9\u304c\u3042\u308b\u3082\u306e\u306e\u3001\u5927\u5206\u843d\u3061\u7740\u3044\u305f\u306e\u3067\u7d39\u4ecb\u3057\u3066\u307f\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/desk-tour-2021-04\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Desk Tour 2021.04"},{"content":"\u5148\u3060\u3063\u3066\u3001SwitchBot API\u306eGo\u8a00\u8a9e\u7528\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5b9f\u88c5\u3067\u3042\u308bgithub.com\/nasa9084\/go-switchbot \u3092\u66f8\u3044\u305f\u3001\u3068\u3044\u3046\u8a18\u4e8b \u3092\u66f8\u304d\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u3092\u4f7f\u7528\u3057\u3066Prometheus\u3067SwitchBot\u6e29\u6e7f\u5ea6\u8a08 \u306e\u60c5\u5831\u3092\u53ce\u96c6\u3067\u304d\u308bswitchbot-exporter \u3092\u66f8\u3044\u3066\u307f\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002\nswitchbot-exporter\u306fblackbox exporter \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 \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\u6570SWITCHBOT_OPENTOKEN\u7d4c\u7531\u3067\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n1 2 3 $ switchbot-exporter -switchbot.opentoken=blahblahblah # or $ SWITCHBOT_OPENTOKEN=blahblahblah switchbot-exporter docker image \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:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 --- apiVersion: apps\/v1 kind: Deployment metadata: name: switchbot-exporter spec: revisionHistoryLimit: 3 selector: matchLabels: app: switchbot-exporter template: metadata: labels: app: switchbot-exporter spec: containers: - name: switchbot-exporter image: nasa9084\/switchbot-exporter:0.1.0 ports: - protocol: TCP containerPort: 8080 env: - name: SWITCHBOT_OPENTOKEN valueFrom: secretKeyRef: name: switchbot key: opentoken --- apiVersion: v1 kind: Service metadata: name: switchbot-exporter spec: ports: - protocol: TCP port: 8080 targetPort: 8080 selector: app: switchbot-exporter \u3053\u306e\u3088\u3046\u306b\u3057\u3066\u8d77\u52d5\u3057\u305f\u5f8c\u3001README \u306b\u8a18\u8f09\u306e\u3042\u308b\u3088\u3046\u306bprometheus\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 scrape_configs: - job_name: switchbot scrape_interval: 5m metrics_path: \/metrics static_configs: - targets: - DFA0029F2622 # meter 01 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: switchbot-exporter:8080 static_configs\u306etargets\u306b\u306f\u6e29\u6e7f\u5ea6\u8a08\u306eID\u3092\u8a18\u5165\u3057\u307e\u3059\u3002ID\u306f\u4f8b\u3048\u3070get_switchbot_devices.go \u306e\u69d8\u306a\u7c21\u5358\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 relabel_configs\u3067\u3001__address_\u306ereplacement\u306b\u306fprometheus\u304cswitchbot-exporter\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u969b\u306eURL\u3084\u30a2\u30c9\u30ec\u30b9\u3092\u8a18\u5165\u3057\u307e\u3059\u3002\nSwitchBot API\u306erate limit\u304c1000 requests\/day\u306a\u306e\u3067\u3001\u4e00\u65e5\u3059\u3079\u3066\u306e\u5024\u3092\u53d6\u5f97\u3057\u305f\u3044\u5834\u5408\u306f\u9014\u4e2d\u3067rate limit\u306b\u5f15\u3063\u304b\u304b\u3089\u306a\u3044\u3088\u3046\u3001scrape_interval\u3092\u3046\u307e\u304f\u8abf\u6574\u3057\u3066\u4e0b\u3055\u3044\u3002\n\u8a2d\u5b9a\u304c\u3067\u304d\u305f\u3089\u3001\u6e29\u5ea6\u306fswitchbot_meter_temperature\u3067\u3001\u6e7f\u5ea6\u306fswitchbot_meter_humidity\u3067\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u306e\u540d\u524d\u306fswitchbot_devices\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001group_left\u306a\u3069\u3067join\u3059\u308b\u3068\u826f\u3044\u3067\u3057\u3087\u3046:\nswitchbot_meter_temperature + ignoring (device_name) group_left(device_name) switchbot_device \u5f8c\u306fGrafana\u306a\u3069\u3092\u4f7f\u7528\u3059\u308b\u3068\u826f\u3044\u611f\u3058\u306b\u30b0\u30e9\u30d5\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u3067\u304d\u308b\u3060\u3051API rate limit\u306b\u5f71\u97ff\u3092\u4e0e\u3048\u306a\u3044\u3088\u3046\u3001device_list\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3057\u3066\u3001\u8d77\u52d5\u6642\u4ee5\u964d\u306fdevice_list\u306e\u53d6\u5f97\u3092\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u30c7\u30d0\u30a4\u30b9\u306e\u5897\u6e1b\u304c\u3042\u3063\u305f\u5834\u5408\u306fSIGHUP\u3092\u9001\u308b\u304b\u3001\/-\/reload\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066device_list\u3092\u66f4\u65b0\u3057\u3066\u4e0b\u3055\u3044\u3002\nSwitchBot\u52a0\u6e7f\u5668\u306a\u3069\u306f\u6301\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u73fe\u5728\u306e\u3068\u3053\u308d\u6e29\u6e7f\u5ea6\u8a08\u306e\u307f\u306e\u5bfe\u5fdc\u3067\u3059\u304c\u3001\u52a0\u6e7f\u5668\u3092\u6301\u3063\u3066\u3044\u3066\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3057\u305f\u3044\u3001\u3068\u3044\u3046\u5834\u5408\u306fPull Request\u3092\u9001\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u304a\u5f85\u3061\u3057\u3066\u304a\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/switchbot-exporter\/","summary":"<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=\"\/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-exporter\u3092\u66f8\u3044\u305f"},{"content":"SwitchBot \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\n\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\n\u3068\u3053\u308d\u304c\u6628\u65e5\u3001\u793e\u306eSlack\u3067\u3001\u3053\u3061\u3089\u306eissue \u3092\u5171\u6709\u3057\u3066\u3082\u3089\u3044\u3001\u3069\u3046\u3084\u3089\u6628\u5e7412\u6708\u3054\u308d\u306b\u306fHTTP\u306eAPI \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\n\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:\n\u30b9\u30de\u30db\u3067SwitchBot\u306e\u30a2\u30d7\u30ea\u3092\u958b\u304f \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 \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 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 \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\n\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:\nhttps:\/\/github.com\/nasa9084\/go-switchbot \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306fpkg.go.in\u306a\u3069\u3067\u898b\u3066\u4e0b\u3055\u3044: https:\/\/pkg.go.dev\/github.com\/nasa9084\/go-switchbot \u4eca\u56de\u306fFunctional Option Pattern\u3068Google\u3063\u307d\u3044API\u306e\u5408\u308f\u305b\u6280\u69cb\u6210\u306b\u3057\u3066\u307f\u307e\u3057\u305f\u3002\n\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\n1 2 3 client := switchbot.New(&#34;SET_YOUR_SWITCHBOT_OPEN_TOKEN&#34;) physical, virtual, _ := client.Device().List(context.Background()) \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\nAPI 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\n","permalink":"https:\/\/blog.web-apps.tech\/go-switchbot\/","summary":"<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\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":"SwitchBot API\u306eGo\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3001go-switchbot\u3092\u66f8\u3044\u305f"},{"content":"11\u67087\u65e5\u306b\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fFirefox 83 \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\n\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\nabout:config \u3092\u958b\u304f zoom\u3067\u691c\u7d22\u3057apz.allow_zooming\u3092false\u306b\u8a2d\u5b9a\u3059\u308b \u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/disable-firefox-83-pinch-zoom\/","summary":"<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":"Firefox 83\u3067\u5c0e\u5165\u3055\u308c\u305f\u30d4\u30f3\u30c1\u30ba\u30fc\u30e0\u3092\u7121\u52b9\u306b\u3059\u308b"},{"content":"\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\n\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\n\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\n\u307e\u305a\u306f\u91ce\u83dc\u3092\u5207\u3063\u3066\u3044\u304d\u307e\u3059\u3002\n\u3053\u308c\u3092\n\u3053\u3046\u3057\u3066\n\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\n\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\n\u6b21\u306f\u7389\u306d\u304e\u3002\u5199\u771f\u306f\u4e8c\u3064\u3067\u3059\u304c\u7d50\u5c40\u4e09\u3064\u4f7f\u3044\u307e\u3057\u305f\u3002\n\u76ae\u3092\u5265\u3044\u3066\u3001\n\u3053\u3046\u3067\u3059\u3002\n\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\n\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\n\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\n\u4f55\u304b\u624b\u9803\u306a\u888b\u306a\u3069\u306b\u5165\u308c\u3066\u3001\n\u7247\u6817\u7c89\u3092\u307e\u3076\u3057\u307e\u3059\u3002\n\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\n\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 \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\n\u6f2c\u3051\u30c0\u30ec\u304c\u3067\u304d\u305f\u3089\u3001\u9069\u5f53\u306b\u6e29\u3081\u305f\u6cb9\u3092\u7528\u610f\u3057\u3001\n\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\n\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\n\u63da\u3052\u3066\u3001\nage\u3066\u3001\n\u6f2c\u3051\u30c0\u30ec\u3078\u3002\n\u51b7\u8535\u5eab\u3067\u4f11\u307e\u305b\u3066\u5c11\u3057\u6c34\u5206\u3092\u629c\u3044\u305f\u91ce\u83dc\u3068\u548c\u3048\u3066\u3001\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/tika-no-nanbanduke\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/tika-no-nanbanduke\/images\/PXL_20210129_081727887_hu_dee00cdc1326639b.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\u3053\u308c\u3092<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/tika-no-nanbanduke\/images\/PXL_20210129_082107366_hu_2de59723cb855996.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\u3053\u3046\u3057\u3066<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/tika-no-nanbanduke\/images\/PXL_20210129_084937422_hu_82dbc65c90224418.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\u3053\u3046\u3067\u3059\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/tika-no-nanbanduke\/images\/PXL_20210129_092703506.MP_hu_7469e50d6c72b323.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\u63da\u3052\u3066\u3001<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/tika-no-nanbanduke\/images\/PXL_20210129_093650909_hu_774cd8fd5d9464e8.jpg\" alt=\"\"  \/>\n<\/p>\n<p>age\u3066\u3001<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30c1\u30ab\u306e\u5357\u86ee\u6f2c\u3051"},{"content":"\u6700\u8fd1\u3001Among Us \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\u3092Youtube\u3067\u914d\u4fe1 \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\n\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\u305fbeats studio wireless \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\n\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\u3001Anker PowerExpand Elite \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\n\u305d\u3093\u306a\u6298\u306b\u76ee\u306b\u5165\u3063\u305f\u306e\u304cSoundcore Life Q30 \u3067\u3057\u305f\u3002\n\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\u3001ANC \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\nSoundcore\u306f\u307f\u3093\u306a\u5927\u597d\u304dAnker\u306e\u30b5\u30d6\u30d6\u30e9\u30f3\u30c9(?)\u3067\u3001\u3053\u308c\u307e\u3067\u306b\u306f\u30b9\u30d4\u30fc\u30ab\u30fc \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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/soundcore-life-q30\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/soundcore-life-q30\/images\/PXL_20210126_051437249_hu_7b210be58053c417.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/soundcore-life-q30\/images\/PXL_20210126_051457893_hu_36c0286e2fd6e994.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Soundcore Life Q30"},{"content":"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\n\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\n\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:\nUSB Type-C\u30dd\u30fc\u30c8\u304c\u8907\u6570\u3042\u308b 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 \u4f59\u8a08\u306a\u30dd\u30fc\u30c8\u304c\u5c11\u306a\u3044 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 \u6bd4\u8f03\u7684\u5c0f\u3055\u3044 \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 \u6bd4\u8f03\u7684\u5b89\u3044 \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 \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\n\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\n\u4ee5\u4e0bunboxing\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/anker-powerexpand-elite-13-in-1\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023730942-1_hu_82eec802daabc620.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023738621_hu_24f9937f9a9b761e.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023801087_hu_5d37cd4cb2b39859.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023824554_hu_ee4cf15e1408029d.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023912747_hu_2c7c903831cc9a3b.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023925651_hu_a1703a4e66ed1bbb.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_023951313_hu_f2e6f7516ec6be3d.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_024057681.NIGHT_hu_f6cd6f1c59b2748d.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_024110717_hu_eb80a5a5ab6edb98.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anker-powerexpand-elite-13-in-1\/images\/PXL_20210122_064950710_hu_70cc615da6ac0542.jpg\" alt=\"\"  \/>\n<\/p>","title":"Anker PowerExpand Elite 13-in-1 Thunderbolt 3 Dock"},{"content":"\u4e16\u9593\u306e\u6ce2\u306b\u4e57\u3063\u3066\u3001\u66f8\u3044\u3066\u307f\u308b\u3002\n\u30ac\u30b8\u30a7\u30c3\u30c8\u985e Anker PowerWave 10 Pad(\u6539\u5584\u7248) \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 \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 \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 \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 \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 Twelve South BookArc for MacBook (Space Grey) \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 \u30e1\u30ac\u30cd\u95a2\u9023 SIMON \u30a2\u30f3\u30c1\u30d5\u30a9\u30b0 \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 \u30e1\u30ac\u30ed\u30c3\u30af \u30df\u30cb \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 \u30ad\u30c3\u30c1\u30f3\u7528\u54c1\u985e Iwatani \u305f\u3053\u713c\u304d\u30d7\u30ec\u30fc\u30c8 CB-P-TAF Iwatani \u713c\u8089\u30d7\u30ec\u30fc\u30c8\u5c0f CB-P-Y2 \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 \u8c9d\u5370 \u30d0\u30bf\u30fc\u30b1\u30fc\u30b9 \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\u5c71\u5d0e\u5b9f\u696d \u30d0\u30eb\u30d6\u4ed8\u304d\u5bc6\u9589\u30d0\u30bf\u30fc\u30b1\u30fc\u30b9 \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 OXO \u30b7\u30ea\u30b3\u30f3 \u30b9\u30d1\u30c1\u30e5\u30e9 M \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 \u8d85\u5f37\u529b \u30de\u30b0\u30cd\u30c3\u30c8\u30d5\u30c3\u30af Cosego 6\u500b\u5165 \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 \u5c71\u5d0e\u5b9f\u696d \u6238\u68da\u4e0b\u8abf\u5473\u6599\u30e9\u30c3\u30af \u7d30\u304b\u3044\u8abf\u5473\u6599\u985e(\u3053\u3046\u3044\u3046\u306e \u3068\u304b\u3053\u3046\u3044\u3046\u306e \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 ","permalink":"https:\/\/blog.web-apps.tech\/2020-good-buy\/","summary":"<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\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\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\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\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\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\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\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\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\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\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\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":"2020\u5e74\u8cb7\u3063\u3066\u826f\u304b\u3063\u305f\u7269"},{"content":"\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\n\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\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/we-need-backup\/","summary":"<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":"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306f\u3061\u3083\u3093\u3068\u53d6\u308a\u307e\u3057\u3087\u3046\u3001\u3068\u3044\u3046\u8a71"},{"content":"\u6628\u65e5\u3001\u4f55\u304b\u3068\u4eca\u8a71\u984c\u306eRakuten Mini (C330) \u304c\u5c4a\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u958b\u5c01\u30fb\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002\n\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\nRakuten Mini Rakuten Mini\u521d\u671f\u8a2d\u5b9a\u65b9\u6cd5\u306e\u3054\u6848\u5185 Rakuten Mobile eSIM\u7248 START GUIDE \u306e\u4e09\u3064\u3067\u3057\u305f\u3002\n\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\n\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\n\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\n\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\n\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\n\u30a4\u30e4\u30db\u30f3\u5909\u63db\u30b1\u30fc\u30d6\u30eb\u306fPixel 4\u3060\u3068\u4ed8\u5c5e\u3057\u3066\u3044\u306a\u304f\u3066\u3001Google Store\u30671,320\u5186 \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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/rakuten-mini-unpacking\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Rakuten Mini unpacking"},{"content":"6\u6708\u3067\u3059\u306d\u3002\u6885\u306e\u5b63\u7bc0\u3067\u3054\u3056\u3044\u307e\u3059\u3002 \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 20\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 \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\n\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\n\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\n20\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\n\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\n\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\n\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\n\u307e\u305a\u306f\u6885\u30b7\u30ed\u30c3\u30d7\u3092\u4ed5\u8fbc\u3093\u3067\u3044\u304d\u307e\u3059\u3002\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/ume-2020\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u6885\u4ed5\u4e8b2020"},{"content":"\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\n\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\u3001Buffalo\u306eBSW20KM15 \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\n\u3068\u306f\u3044\u3048\u3001\u793e\u5185\u5916\u3067\u304a\u3059\u3059\u3081\u3055\u308c\u305f\u30aa\u30fc\u30c7\u30a3\u30aa\u30c6\u30af\u30cb\u30ab AT2020USB+ \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\u3089SOUNDHOUSE \u3092\u773a\u3081\u3066\u3044\u305f\u3068\u3053\u308d\u3001AKG LYRA \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\nThis 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\n\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\n\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\n\u306a\u3093\u3066\u5165\u308a\u65b9\u3092\u3057\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u3002\u3002\u3002\n\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\n\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\u306fANKER\u306eC2C\u30b1\u30fc\u30d6\u30eb \u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u7279\u306b\u554f\u984c\u306a\u3044\u3088\u3046\u3067\u3059\u3002\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/akg-lyra\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/akg-lyra\/images\/IMG_20200522_150439_hu_f4d9092ea75f7ab1.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"AKG LYRA\u3092\u8cfc\u5165\u3057\u305f"},{"content":"twitter\u3067\u304a\u306e\u304b\u3061\u304a\u6c0f(\u9375\u57a2\u306a\u306e\u3067\u3053\u3053\u3067\u306f\u7d39\u4ecb\u3067\u304d\u306a\u3044\u304c)\u304cexa \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\nwebsite \u306e\u8aac\u660e\u306b\u3088\u308b\u3068\u3001\nA modern replacement for ls.\n\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\nmac\u306e\u5834\u5408\u3001homebrew \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\n1 $ brew install exa very easy\u3067\u3059\u306d\u3002\u4f7f\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\u306a\u308b\u307b\u3069\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8868\u793a\u306fls\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\u3068klaussinani\/hyper-pokemon \u3092\u4f7f\u3063\u3066\u3044\u308b\u90fd\u5408\u3067\u3001\u8272\u306f\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u30fb\u30fb\u30fb\n\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--icons\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308c\u3070\u826f\u3044\u3001\u3068\u306e\u3053\u3068\u3002\n\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\n\u3059\u308b\u3068\u3069\u3046\u3084\u3089 nerd fonts \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ brew tap homebrew\/cask-fonts ==&gt; Tapping homebrew\/cask-fonts Cloning into &#39;\/usr\/local\/Homebrew\/Library\/Taps\/homebrew\/homebrew-cask-fonts&#39;... remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19\/19), done. remote: Compressing objects: 100% (14\/14), done. remote: Total 35658 (delta 8), reused 9 (delta 5), pack-reused 35639 Receiving objects: 100% (35658\/35658), 6.07 MiB | 3.34 MiB\/s, done. Resolving deltas: 100% (25786\/25786), done. Tapped 924 casks (973 files, 7.8MB). $ brew cask install font-hack-nerd-font Updating Homebrew... Error: Cask font-hack-nerd-font exists in multiple taps: homebrew\/cask-fonts\/font-hack-nerd-font caskroom\/fonts\/font-hack-nerd-font \u304a\u3084\u3001\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3057\u305f\u306d\u3002\u4eca\u56de\u8ffd\u52a0\u3057\u305fhomebrew\/cask-fonts\u3068\u3044\u3046tap\u3068\u5143\u3005\u3042\u3063\u305fcaskroom\/fonts\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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 \u276f\u276f ~ $ brew cask info homebrew\/cask-fonts\/font-hack-nerd-font font-hack-nerd-font: 2.1.0 https:\/\/github.com\/ryanoasis\/nerd-fonts Not installed From: https:\/\/github.com\/Homebrew\/homebrew-cask-fonts\/blob\/master\/Casks\/font-hack-nerd-font.rb ==&gt; Name Hack Nerd Font (Hack) ==&gt; Artifacts Hack Italic Nerd Font Complete.ttf (Font) Hack Bold Nerd Font Complete.ttf (Font) Hack Bold Italic Nerd Font Complete Mono.ttf (Font) Hack Bold Italic Nerd Font Complete.ttf (Font) Hack Regular Nerd Font Complete.ttf (Font) Hack Regular Nerd Font Complete Mono.ttf (Font) Hack Italic Nerd Font Complete Mono.ttf (Font) Hack Bold Nerd Font Complete Mono.ttf (Font) $ brew cask info caskroom\/fonts\/font-hack-nerd-font font-hack-nerd-font: 2.1.0 https:\/\/github.com\/ryanoasis\/nerd-fonts Not installed From: https:\/\/github.com\/caskroom\/homebrew-fonts\/blob\/master\/Casks\/font-hack-nerd-font.rb ==&gt; Name Hack Nerd Font (Hack) ==&gt; Artifacts Hack Italic Nerd Font Complete.ttf (Font) Hack Bold Nerd Font Complete.ttf (Font) Hack Bold Italic Nerd Font Complete Mono.ttf (Font) Hack Bold Italic Nerd Font Complete.ttf (Font) Hack Regular Nerd Font Complete.ttf (Font) Hack Regular Nerd Font Complete Mono.ttf (Font) Hack Italic Nerd Font Complete Mono.ttf (Font) Hack Bold Nerd Font Complete Mono.ttf (Font) \u3075\u3080\u3001\u3069\u3046\u3084\u3089\u3069\u3061\u3089\u3082\u30ea\u30dd\u30b8\u30c8\u30ea\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u3082\u306b\u540c\u3058\u3088\u3046\u3067\u3059\u3002\u5358\u7d14\u306b\u30c0\u30d6\u3063\u3066\u3044\u308b\u3060\u3051\u306e\u7528\u306a\u306e\u3067\u3001\u4eca\u56de\u306f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5f93\u3044homebrew\/cask-fonts\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002\n1 $ brew install homebrew\/cask-fonts\/font-hack-nerd-font \u7121\u4e8b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u306e\u3067\u3001\u6539\u3081\u3066--icons\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002\u3002\u3002\u3002\u307e\u3060\u8868\u793a\u3055\u308c\u306a\u3044\u3067\u3059\u306d\u3002hyper\u306e\u8a2d\u5b9a\u3067\u3001nerd fonts\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002Font Book\u3092\u898b\u308b\u3068\u3001Hack Nerd Font\u3068\u3057\u3066\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u3053\u308c\u3092~\/.hyper.js\u306e\u9069\u5207\u306a\u9805\u76ee\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 fontFamily: &#39;Ricty, &#34;Hack Nerd Font&#34;, Menlo, &#34;DejaVu Sans Mono&#34;, Consolas, &#34;Lucida Console&#34;, monospace&#39;, \u8868\u793a\u3055\u308c\u307e\u3057\u305f\uff01\u3084\u3063\u305f\u305c\uff01\n-l\u3068\u5408\u308f\u305b\u3066\u4f7f\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\u306a\u305c\u304b\u3053\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u3092\u6c42\u3081\u3089\u308c\u307e\u3057\u305f(\u3082\u3063\u3068\u524d\u306b\u8981\u6c42\u3055\u308c\u3066\u3044\u308b\u3079\u304d\u3067\u306f\uff1f)\u304c\u3001\u7121\u4e8b\u8868\u793a\u3067\u304d\u307e\u3057\u305f\u3002\u3061\u3087\u3063\u3068\u30a2\u30a4\u30b3\u30f3\u3068\u6587\u5b57\u306e\u9593\u304c\u8a70\u307e\u3063\u3066\u3044\u308b\u6c17\u304c\u3057\u307e\u3059\u304c\u3001\u3053\u307e\u304b\u3044\u8abf\u6574\u3092\u3059\u308b\u306e\u304c\u9762\u5012\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u7279\u306b\u4e0d\u4fbf\u306a\u3044\u3057\u3002\n\u5272\u3068\u826f\u3044\u611f\u3058\u306a\u306e\u3067\u3001-l\u3092\u4ed8\u3051\u305f\u3068\u304d\u306b\u3064\u3044\u3066\u306f\u30a2\u30a4\u30b3\u30f3\u3042\u308a\u3001\u4ed8\u3051\u3066\u306a\u3044\u3068\u304d\u306f\u30a2\u30a4\u30b3\u30f3\u306a\u3057\u3067ls\u306ealias\u306b\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u3087\u3046\u3002\u3059\u3067\u306bls\u306f\u30a8\u30a4\u30ea\u30a2\u30b9\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 \u306e\u3067\u3001\u3053\u308c\u3092\u3061\u3087\u3063\u3068\u7f6e\u304d\u63db\u3048\u308b\u5f62\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n-p\u30aa\u30d7\u30b7\u30e7\u30f3\u306fexa\u306b\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u3053\u308c\u306f\u53d6\u308a\u9664\u304d\u307e\u3059 exa\u306e-a\u30aa\u30d7\u30b7\u30e7\u30f3\u306fls\u306e-A\u76f8\u5f53\u306e\u3088\u3046\u306a\u306e\u3067\u3001-a\u3092\u4f7f\u7528\u3057\u307e\u3059 exa -l\u306f\u6a19\u6e96\u3067ls -lh\u7684\u306a\u8868\u793a\u3092\u3057\u3066\u304f\u308c\u308b\u306e\u3067\u3053\u308c\u3082\u53d6\u308a\u9664\u304d\u307e\u3059 -l\u3092\u4ed8\u3051\u305f\u5834\u5408\u306e\u8868\u793a\u9806\u304cls\u3068exa\u3067\u306f\u7570\u306a\u308b\u306e\u3067\u3001-h\u3067\u30d8\u30c3\u30c0\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059 \u3053\u308c\u3067\u8a2d\u5b9a\u3057\u305falias \u306f\u6b21\u306e\u69d8\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n1 2 3 4 alias ls=&#34;exa -h&#34; alias la=&#34;ls -aF&#34; alias ll=&#34;ls -lF&#34; alias lla=&#34;ls -laF&#34; \u3053\u308c\u3067\u3057\u3070\u3089\u304f\u4f7f\u3063\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/replacing-ls-with-exa\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"rust\u3067\u66f8\u304b\u308c\u305fls\u306e\u4ee3\u66ff\u30b3\u30de\u30f3\u30c9exa\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u305f"},{"content":"@yamamoto_febc \u3055\u3093\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b \u3067\u3001jessfraz\/gmailfilters \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\u306fkakakakakku\u3055\u3093\u306e\u8a18\u4e8b \u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059)\u3002 \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 \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\u3089gmac \u3068\u540d\u4ed8\u3051\u307e\u3057\u305f\u3002\nYAML\u3067\u8a2d\u5b9a\u3057\u305f\u3044\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1b) (@nasa9084) April 27, 2020 GMaC - Gmail as Code \u5927\u67a0\u306e\u6319\u52d5\u3068\u3057\u3066\u306f\u3001jessfraz\/gmailfilters\u3068\u305d\u308c\u307b\u3069\u5909\u308f\u308a\u307e\u305b\u3093\u3002Gmail API\u3092google.golang.org\/api\/gmail\/v1 \u3092\u4f7f\u7528\u3057\u3066\u53e9\u3044\u3066\u3044\u308b\u306e\u3082\u540c\u3058\u3067\u3059\u3002 jessfraz\/gmailfilters\u3068\u6bd4\u8f03\u3057\u3066\u3001\u9055\u3046\u70b9\u3068\u3057\u3066\u6b21\u306e\u69d8\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059:\nTOML\u3067\u306f\u306a\u304fYAML\u3067\u8a2d\u5b9a\u3092\u8a18\u8ff0\u3059\u308b Gmail Web UI\u306b\u6bd4\u8f03\u7684\u8fd1\u3044\u8a2d\u5b9a\u9805\u76ee jessfraz\/gmailfilters\u3082\u5b9f\u88c5\u3057\u3066\u3044\u308bArchive\u3084Delete\u306a\u3069\u306f\u3082\u3061\u308d\u3093\u5b9f\u88c5 \u6761\u4ef6\/\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u500b\u5225\u306b\u8a2d\u5b9a\u3059\u308b\u5f62\u306b\u3057\u305f jessfraz\/gmailfilters\u307f\u305f\u3044\u306b\u5168\u90e8\u307e\u3068\u307e\u3063\u3066\u308b\u3068\u308f\u304b\u308a\u306b\u304f\u304f\u306a\u3044\uff1f larger_than\u3084subject\u3001has_attachment\u3068\u3044\u3063\u305f\u6761\u4ef6\u3082\u8ffd\u52a0 star\u3084important\u3001category(\u79c1\u306f\u4f7f\u3063\u3066\u306a\u3044\u3051\u3069)\u3068\u3044\u3063\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u3082\u8ffd\u52a0 OAuth\u306e\u969b\u306b\u8a8d\u8a3c\/\u8a8d\u53ef\u30da\u30fc\u30b8\u3092\u81ea\u52d5\u3067\u958b\u304d\u3001OAuth callback\u3082\u53d7\u3051\u308b jessfraz\/gmailfilters\u306fURL\u3068\u3001OAuth token\u3092\u30b3\u30d4\u30da\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b credentials.json\u304a\u3088\u3073token.json (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 jessfraz\/gmailfilters\u306f\u6bce\u56de\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b kubectl-like\u306a\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u914d\u7f6e 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 jessfraz\/gmailfilters\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u30d5\u30e9\u30b0\u3067\u6319\u52d5\u3092\u5909\u3048\u308b\u65b9\u91dd\u3063\u307d\u3044 CI\u3067\u4f7f\u3044\u3084\u3059\u3044(\u3068\u601d\u3046) credentials.json\u3092\u6a19\u6e96\u5165\u529b\u304b\u3089\u8aad\u3081\u308b OAuth refresh token\u3092\u74b0\u5883\u5909\u6570\u3067\u6307\u5b9a\u3067\u304d\u308b jessfraz\/gmailfilters\u306f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u307f (\u305d\u3053\u305d\u3053)\u3061\u3083\u3093\u3068\u30c6\u30b9\u30c8\u3092\u66f8\u3044\u3066\u3044\u308b \u5168\u90e8\u3068\u306f\u3044\u3048\u306a\u3044\u3051\u3069\u30fb\u30fb\u30fb jessfraz\/gmailfilters\u306f\u307b\u3068\u3093\u3069\u30c6\u30b9\u30c8\u304c\u306a\u304f\u3066\u3061\u3087\u3063\u3068\u6016\u3044 (\u305d\u3053\u305d\u3053)\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u6574\u5099\u3057\u3066\u3042\u308b README.md\u3092\u9811\u5f35\u3063\u3066\u66f8\u3044\u305f \u9006\u306bjessfraz\/gmailfilters\u304c\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u3001queryOr\u3084archiveUnlessToMe\u306f\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002OR\u3068\u304b\u666e\u901a\u306b\u66f8\u3051\u3070\u3088\u304b\u308d\u3046\u3002\nManage with CI \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\u306bfilters.yml\u3068\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb(\u3053\u308c\u81ea\u4f53\u3082 gmac get filters -o yaml &gt; filters.yml \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 --- name: Apply on: push jobs: apply: name: Apply Filters runs-on: ubuntu-latest if: &#34;! contains(toJSON(github.event.commits.*.message), &#39;[skip ci]&#39;)&#34; steps: - name: Setup Golang uses: actions\/setup-go@v2 with: go-version: 1.14 - name: Checkout code uses: actions\/checkout@v2 - name: Install GMaC run: go get -u github.com\/nasa9084\/gmac@v0.0.3 env: GO111MODULE: &#39;on&#39; - name: Apply run: echo &#34;${GMAC_CREDENTIALS_JSON}&#34; | gmac apply -f filters.yml -c- env: GMAC_CREDENTIALS_JSON: ${{ secrets.CREDENTIALS_JSON }} GMAC_REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }} CREDENTIALS_JSON\u3068REFRESH_TOKEN\u306fsecret\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u3066\u3042\u308a\u307e\u3059\u3002\nGitHub Action\u3092\u4f5c\u3063\u3066\u307f\u305f\u3044\u6c17\u6301\u3061\u3082\u3042\u308a\u307e\u3059\u3002\n\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u4f8b \u4ee5\u4e0b\u306e\u8a2d\u5b9a\u306f\u4eca\u306e\u79c1\u306e\u8a2d\u5b9a\u3092\u629c\u7c8b\u3057\u305f\u7269\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 kind: Filter filters: - criteria: from: \u81ea\u5206 action: archive: true add_label: \u81ea\u5df1 - criteria: from: facebookmail.com action: archive: true add_label: Services\/facebook never_mark_as_spam: true - criteria: from: slack.com action: archive: true add_label: Services\/slack never_mark_as_spam: true - criteria: from: feedly action: archive: true add_label: Services never_mark_as_spam: true - criteria: from: YouTube action: archive: true add_label: Services never_mark_as_spam: true - criteria: from: ASUS action: archive: true add_label: Services never_mark_as_spam: true - criteria: from: Evernote action: archive: true add_label: Services never_mark_as_spam: true - criteria: from: connpass action: archive: true add_label: Services\/connpass never_mark_as_spam: true - criteria: from: Kickstarter action: archive: true add_label: Services\/Kickstarter never_mark_as_spam: true - criteria: from: Amazon.co.jp action: archive: true add_label: Amazon - criteria: to: osc-do@list.ospn.jp action: archive: true add_label: OSC\/hokkaido never_mark_as_spam: true - criteria: to: osc-member@list.ospn.jp action: archive: true add_label: OSC - criteria: to: members@local.or.jp action: archive: true add_label: LOCAL - criteria: from: mg.gitlab.com action: archive: true add_label: gitlab - criteria: to: kubernetes-dev@googlegroups.com action: archive: true add_label: kubernetes-dev - criteria: from: banking@sonybank.net action: archive: true add_label: Sony\u9280\u884c - criteria: from: peatix.com action: archive: true add_label: Services\/Peatix never_mark_as_spam: true - criteria: from: google.com action: archive: true add_label: Services\/Google never_mark_as_spam: true - criteria: from: Kubernetes Prow Robot action: archive: true mark_as_read: true add_label: k8s\/Prow ","permalink":"https:\/\/blog.web-apps.tech\/gmail-filter-as-code\/","summary":"<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":"Gmail Filter as Code"},{"content":" 2020-05-19\u8ffd\u8a18: \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 \u5148\u3060\u3063\u3066Makuake\u3067\u5fdc\u63f4\u8cfc\u5165\u3057\u305fCARD20 \u304c\u5c4a\u3044\u305f\u306e\u3067\u3001\u958b\u5c01\u30ec\u30d3\u30e5\u30fc\u3057\u307e\u3059\u3002\nCARD20\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\n\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\n\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\u306eAVIOT TE-BD21f \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\nCARD20\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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\n\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)\n\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\n\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\n\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\nYOBYBO\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\n\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\n\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\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/yobybo-card20\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/yobybo-card20\/images\/IMG_20200427_165459_hu_cb67b12aedf9dbd7.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"YOBYBO CARD20"},{"content":" \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\n\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\n\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\n\u6211\u304c\u5bb6\u306b\u306f\u4e09\u5272\u3046\u307e\u3044!! \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\n\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\n\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\n\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\n\u8010\u71b1\u76bf\u306b\u3086\u3067\u305f\u9903\u5b50\u3092\u4e26\u3079\u307e\u3059\u3002\n\u30bd\u30fc\u30b9\u3092\u304b\u3051\u307e\u3059\u3002\n\u30c1\u30fc\u30ba\u3002\n\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\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/gyolasagna\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/gyolasagna\/images\/IMG_20200419_135710_hu_2f66972bc05383d6.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\u30c1\u30fc\u30ba\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30ae\u30e7\u30fc\u30b6\u00d7\u30e9\u30b6\u30cb\u30a2"},{"content":"\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\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2 \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\n\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\u3068AER1B23DW ALP G1 G1 G1 BB BK 23103\u3068\u3044\u3046\u3082\u306e\u3067\u3059\u3002\n\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\u306fGregory Lyon\u793e \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\n\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\n\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\n\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\n\u3054\u5bfe\u9762\uff01\uff01\uff01\u305d\u3046\u305d\u3046\u3001\u3053\u308c\u3067\u3059\u3053\u308c\u3002\u3046\u3072\u3087\u30fc\u3002\n\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\n\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\n\u3061\u306a\u307f\u306b\u3053\u308c\u307e\u3067\u4f7f\u3063\u3066\u3044\u305f\u6905\u5b50\u306f\u30cb\u30c8\u30ea\u306e\u30ea\u30ab\u30eb\u30c9PU\u30d6\u30ec\u30b9\u30ec\u30b6\u30fcBK \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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/aeron-remastered\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30a2\u30fc\u30ed\u30f3\u30c1\u30a7\u30a2 \u30ea\u30de\u30b9\u30bf\u30fc\u30c9"},{"content":"\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\n\u5bb6\u96fb\u985e \u51b7\u8535\u5eab: SHARP SJ-GW35C \u30022016\u5e74\u88fd\u3001\u5e4560cm\u3001\u5b9a\u683c\u5185\u5bb9\u7a4d350L\u3002 \u98df\u5668\u6d17\u3044\u4e7e\u71e5\u6a5f: Panasonic NP-TH1 \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 \u6d17\u6fef\u4e7e\u71e5\u6a5f: TOSHIBA TW-127X7R \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 \u708a\u98ef\u5668: TIGER JPH-A100 \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 \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 \u30df\u30ad\u30b5\u30fc: T-fal \u30df\u30c3\u30af\u30b9\uff06\u30c9\u30ea\u30f3\u30af \u3002\u5b9a\u683c\u6d88\u8cbb\u96fb\u91cf300W\u3001\u6700\u9ad8\u5bb9\u91cf600ml\u3002\u7279\u306b\u4e0d\u6e80\u306a\u3057\u3002 \u30b9\u30ed\u30fc\u30af\u30c3\u30ab\u30fc: TWINBIRD EP-D819W \u3002\u305f\u307e\u306b\u4f5c\u308b\u716e\u7269\u306b\u4fbf\u5229\u3002 \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 \u30b3\u30fc\u30d2\u30fc\u30e1\u30fc\u30ab\u30fc: TIGER ACX-S060 \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 \u4f4e\u6e29\u8abf\u7406\u5668: ANOVA \u3002Wi-Fi\u306a\u3057\u306e2014\u30e2\u30c7\u30eb(\u591a\u52062018\u5e74\u88fd\u3068\u304b\u305d\u308c\u304f\u3089\u3044\u306e\u5974)\u3002 \u52a0\u6e7f\u7a7a\u6c17\u6d17\u6d44\u6a5f: SHARP KC-G50 \u3002\u6240\u8b02\u6c17\u5316\u5f0f\u306e\u3082\u306e\u3002 \u6383\u9664\u6a5f: Dyson Cyclone V10 fFluffy \u3002\u8a00\u308f\u305a\u3082\u304c\u306a\u3002 \u30ad\u30c3\u30c1\u30f3\u30a6\u30a7\u30a2 \u934b\u985e: T-fal \u30a4\u30f3\u30b8\u30cb\u30aa\u30fb\u30cd\u30aa \u30b0\u30e9\u30f3\u30d6\u30eb\u30fc\u30fb\u30d7\u30ec\u30df\u30a2(\u30bb\u30c3\u30c810) \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\u6700\u8fd1\u306a\u305c\u304b\u30d1\u30a8\u30ea\u30a2\u30d1\u30f3\u304c\u4ef2\u9593\u306b\u52a0\u308f\u3063\u305f \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 \u8a08\u91cf\u30ab\u30c3\u30d7: OXO \u30a2\u30f3\u30b0\u30eb\u30c9\u30e1\u30b8\u30e3\u30fc\u30ab\u30c3\u30d7(\u4e2d) \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 \u30b4\u30e0\u3079\u3089: OXO \u30b7\u30ea\u30b3\u30f3\u30b9\u30d1\u30c1\u30e5\u30e9 M \u307e\u306a\u677f: \u30a2\u30b5\u30d2 \u30af\u30c3\u30ad\u30f3\u30ab\u30c3\u30c8 \u5305\u4e01: \u4e09\u5fb3(\u706b\u9020\u308a \u4e09\u5fb3) \u3068\u30da\u30c6\u30a3(\u69cc\u76eeMV\u92fc\u5f37\u5316\u6728 \u30da\u30c6\u30a3) \u3092\u4f7f\u3063\u3066\u3044\u308b\u3002\u3044\u305a\u308c\u3082\u5408\u7fbd\u6a4b \u3064\u3070\u5c4b\u3055\u3093\u306e\u3082\u306e\u3002 \u6d88\u8017\u54c1\u985e \u98df\u5668\u6d17\u3044\u7528\u6d17\u5264: JOY GELTAB \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 \u8863\u985e\u7528\u6d17\u5264: \u30a2\u30bf\u30c3\u30af ZERO \u30c9\u30e9\u30e0\u5f0f\u5c02\u7528 \u3002\u30d7\u30c3\u30b7\u30e5\u30bf\u30a4\u30d7\u306e\u5bb9\u5668\u3067\u3001\u8efd\u91cf\u304c\u3059\u3054\u304f\u7c21\u5358\u3002 \u8863\u985e\u7528\u67d4\u8edf\u5264(1): \u30d5\u30ec\u30a2\u30d5\u30ec\u30b0\u30e9\u30f3\u30b9 \u30c9\u30ec\u30c3\u30b7\u30fc\u30d9\u30ea\u30fc\u306e\u9999\u308a \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 \u8863\u985e\u7528\u67d4\u8edf\u5264(2): \u30cf\u30df\u30f3\u30b0 LINNE \u7121\u9999\u6027 \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 \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 PC\/\u5468\u8fba\u6a5f\u5668\u985e PC: MacBook Pro 13inch \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 \u30bf\u30d6\u30ec\u30c3\u30c8: iPad Pro 11inch + Apple Pencil \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#posemaniacs \u63cf\u3044\u3066\u308b\u3051\u3069\u3001\u3078\u305f\u3002 \u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3: Pixel 4 \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 \u30e2\u30cb\u30bf: LG 27UK-850-W \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\u3002HP\u306e\u30b7\u30f3\u30b0\u30eb\u30e2\u30cb\u30bf\u30fc\u30a2\u30fc\u30e0 (\u30a8\u30eb\u30b4\u30c8\u30ed\u30f3\u306eOEM)\u3068\u5408\u308f\u305b\u3066\u4f7f\u7528\u3057\u3066\u3044\u308b\u3002 \u30d7\u30ea\u30f3\u30bf: NEC MultiWriter 5600C \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 ","permalink":"https:\/\/blog.web-apps.tech\/2020-april-goods\/","summary":"<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=\"\/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":"2020\u5e743\u6708\u6642\u70b9\u3067\u306e\u81ea\u5b85\u6a5f\u6750\u30fb\u6d88\u8017\u54c1\u985e\u307e\u3068\u3081"},{"content":"\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\n\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\u305fBauhutte\u306e\u30c7\u30b9\u30af\u3054\u3068\u30c1\u30a7\u30a2\u30de\u30c3\u30c8(160cmx130cm) \u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\n\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\n\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 \u673a\u306f\u30cb\u30c8\u30ea\u306e\u7d44\u307f\u5408\u308f\u305b\u30c7\u30b9\u30af \u3001\u5e45140cm\u306e\u5929\u677f \u306b\u7279\u306b\u4f55\u306e\u5909\u54f2\u3082\u7121\u3044\u811a \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 \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\n\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\n\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 \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\n\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\n2020-04-11 \u8ffd\u8a18\n\u30cb\u30c8\u30ea\u306e\u3059\u3079\u308a\u6b62\u3081\u30c6\u30fc\u30d7 \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 \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\n2020-05-01\u8ffd\u8a18\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/bauhutte-chairmat\/","summary":"<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":"Bauhutte\u306e\u30c7\u30b9\u30af\u3054\u3068\u30c1\u30a7\u30a2\u30de\u30c3\u30c8\u3092\u8cfc\u5165\u3057\u305f"},{"content":"\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\u6b32\u3057\u3044\u3082\u306e\u30ea\u30b9\u30c8 \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\n\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\n\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?\n&mdash; T\u15e9K\u144c\u15f0I KO\u15f7\u15e9Y\u15e9\u1515\u157cI (@chamaharun) April 8, 2020 \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\n\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\n\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 \u9d8f\u8089\u306f\u4e00\u53e3\u5927\u306b\u5207\u3063\u3066\u8efd\u304f\u5869\u3053\u3057\u3087\u3046\u3057\u3066\u3042\u308a\u307e\u3059\u3002 \u7389\u306d\u304e\u3068\u30cb\u30f3\u30cb\u30af\u306f\u307f\u3058\u3093\u5207\u308a\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002 \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) \u30c8\u30de\u30c8\u3001\u30d1\u30d7\u30ea\u30ab\u306f\u9069\u5f53\u306b\u5207\u308a\u307e\u3057\u3087\u3046\u3002 \u30a4\u30ab\u306f\u30ab\u30c3\u30c8\u6e08\u307f\u306e\u3082\u306e\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002\n\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\n\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\n\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\n\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 \u306a\u3093\u304b\u3059\u3067\u306b\u30d1\u30a8\u30ea\u30a2\u306e\u5302\u3044\u304c\u3059\u308b\u6c17\u304c\u3057\u3066\u304d\u307e\u3059\u3002\n\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\n\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\n\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 \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\n\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\n\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\n\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\n\u3053\u306e\u72b6\u614b\u3067\u5341\u5206\u307b\u3069\u5f37\u706b\u3067\u716e\u8fbc\u307f\u307e\u3059\u3002\n\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\n\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\n\u4e94\u5206\u7d4c\u3064\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u6c41\u3063\u6c17\u304c\u98db\u3073\u307e\u3059\u3002\u30de\u30b8\u3067\u3002\n\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 \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 \u306a\u304a\u4e8c\u4eba\u3067\u56db\u4eba\u524d\u306f\u591a\u3044\u3067\u3059\u3002\u6ce8\u610f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/birthday-paella\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u8a95\u751f\u65e5\u30d1\u30a8\u30ea\u30a2"},{"content":"\u5f53\u7136\u3068\u8a00\u3048\u3070\u5f53\u7136\u306a\u3093\u3067\u3059\u3051\u3069\u3001\u7279\u306b panic \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\n1 2 3 4 5 ctx, cancel := context.WithTimeout(context.Background(), time.Duration(0)) defer cancel() &lt;-ctx.Done() log.Print(&#34;timeout&#34;) https:\/\/play.golang.org\/p\/63DkfIEImjv \u3082\u3046\u3061\u3087\u3063\u3068\u7d30\u304b\u3044\u8a71 \u3055\u3059\u304c\u306b\u77ed\u3059\u304e\u308b\u306e\u3067\u3001\u3082\u3046\u5c11\u3057\u7d30\u304b\u3044\u5b9f\u88c5\u306e\u8a71\u3002\ncontext.WithTimeout\u306f\u5185\u90e8\u7684\u306b\u306f\u7279\u5225\u306a\u5b9f\u88c5\u306f\u7121\u304f\u3066\u3001context.WithDeadline\u3092time.Now.Add(timeout)\u306b\u5bfe\u3057\u3066\u547c\u3093\u3067\u3044\u307e\u3059\u3002\n\u3067\u3001context.WithDeadline\u306f\u8fd4\u5024\u3092\u8fd4\u3059\u524d\u306btime.Until\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\u305d\u306e\u5834\u3067\u30ad\u30e3\u30f3\u30bb\u30eb\u95a2\u6570\u3092\u547c\u3093\u3067 \u3044\u307e\u3059\u3002\n\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\u3001time.WithTimeout\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\n","permalink":"https:\/\/blog.web-apps.tech\/context-withtimeout-with-zero\/","summary":"<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":"context.WithTimeout\u306b0\u3092\u4e0e\u3048\u308b\u3068\u3069\u3046\u306a\u308b\u306e\u304b"},{"content":"\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\nGo\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\u3001net\/smtp \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 \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\n\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\n# nslookup -type=mx gmail.com Server: 192.168.65.1 Address: 192.168.65.1#53 Non-authoritative answer: gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 5 gmail-smtp-in.l.google.com. gmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com. Authoritative answers can be found from: # telnet gmail-smtp-in.l.google.com 25 Trying 74.125.204.26... Connected to gmail-smtp-in.l.google.com. Escape character is &#39;^]&#39;. 220 mx.google.com ESMTP 6si12301456pjb.7 - gsmtp HELO smtp.gmail.com 250 mx.google.com at your service MAIL FROM:&lt;nasa9084@example.com&gt; 250 2.1.0 OK 6si12301456pjb.7 - gsmtp RCPT TO:&lt;XXXXXXXXXX@gmail.com&gt; 250 2.1.5 OK 6si12301456pjb.7 - gsmtp DATA 354 Go ahead 6si12301456pjb.7 - gsmtp Subject: Test via telnet From: nasa9084 To: nasa9084.gmail Hello, world . 250 2.0.0 OK 1586166529 6si12301456pjb.7 - gsmtp QUIT 221 2.0.0 closing connection 6si12301456pjb.7 - gsmtp Connection closed by foreign host. \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\nconst body = `From: nasa9084@example.com To: XXXXXXXXXX@gmail.com test mail ` func main() { mxs, err := net.LookupMX(&#34;gmail.com&#34;) if err != nil { log.Fatal(err) } c, err := smtp.Dial(fmt.Sprintf(&#34;%s:25&#34;, mxs[0].Host)) if err != nil { log.Fatal(err) } if err := c.Mail(&#34;nasa9084@example.com&#34;); err != nil { log.Fatal(err) } if err := c.Rcpt(&#34;XXXXXXXXXX@gmail.com&#34;); err != nil { log.Fatal(err) } wc, err := c.Data() if err != nil { log.Fatal(err) } if _, err = fmt.Fprintf(wc, body); err != nil { log.Fatal(err) } if err := wc.Close(); err != nil { log.Fatal(err) } if err := c.Quit(); err != nil { log.Fatal(err) } } \u3053\u308c\u3067\u7121\u4e8b\u9001\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\n\u6700\u521dGo\u3067net\/smtp\u3067\u3084\u308c\u308b\u3058\u3083\u3093\uff01\u3063\u3066\u601d\u3063\u3066\u3084\u308a\u59cb\u3081\u305f\u3068\u304d\u306f\u9001\u308c\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u3051\u3069\u3001telnet\u3067\u3084\u3063\u3066\u307f\u3066\u308f\u304b\u3063\u305f\u306e\u306f\u3001smtp.Dial()\u306fMX\u30ec\u30b3\u30fc\u30c9\u306e\u89e3\u6c7a\u7b49\u3092\u884c\u3063\u3066\u304f\u308c\u306a\u3044\u306e\u3067\u4e88\u3081\u81ea\u5206\u3067\u89e3\u6c7a\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u304c\u500b\u4eba\u7684\u306f\u307e\u308a\u30dd\u30a4\u30f3\u30c8\u3067\u3057\u305f\u3002\n\u307e\u3041\u3001\u308f\u304b\u3063\u3066\u307f\u305f\u3089\u7279\u306b\u96e3\u3057\u3044\u3053\u3068\u306f\u306a\u3044\u3067\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/go-smtp-sendmail-without-mailserver\/","summary":"<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\n\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.\n\nAuthoritative answers can be found from:\n\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\n\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":"Go\u3067(\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u3092\u7528\u610f\u305b\u305a\u306b)\u30e1\u30fc\u30eb\u3092\u9001\u308b"},{"content":"\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\n\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 \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\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u7279\u96c6 \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\n\u4eca\u56de\u8cfc\u5165\u3057\u305f\u306e\u306fSoundCore Motion B \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 \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 \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\n\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\n\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\n\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\n\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 \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\n\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\n\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\n\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\n\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 PC\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\n\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 \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 \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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/anker-soundcore-motionb\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/anker-soundcore-motionb\/images\/IMG_20200401_165205_hu_9bb76e544a5375df.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Anker SoundCore Motion B"},{"content":"\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 \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\n\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\n\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\n\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\u5bb6\u5ead\u306e\u4f4e\u6e29\u8abf\u7406 \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\n\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\n\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\n20\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\n\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\n\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\n\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\n\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\n\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\n\u304a\u3044\u3057\u304b\u3063\u305f\u3067\u3059\u3002\u307e\u308b\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/salmon-sous-vide-miso\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/salmon-sous-vide-miso\/images\/IMG_20200302_204632_hu_479c60fd31d3c2e9.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30b5\u30fc\u30e2\u30f3\u3092Anova\u3067\u3084\u308b"},{"content":"Language Server Protocol (\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 LSP\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\nMicrosoft\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\nGo\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\u306egopls \u3092\u4f7f\u7528\u3057\u3066\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3059\u3002 \u3082\u3061\u308d\u3093emacs\u306b\u3082\u8907\u6570\u306eLSP Client\u5b9f\u88c5\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u306flsp-mode \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\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\u3092package-install\u304bpackage-list-packages\u304b\u3001\u305d\u306e\u3042\u305f\u308a\u3067\u3088\u3057\u306a\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\nlsp-mode lsp-ui company-lsp \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ;; Golang (defun lsp-go-install-save-hooks() (add-hook &#39;before-save-hook #&#39;lsp-format-buffer t t) (add-hook &#39;before-save-hook #&#39;lsp-organize-imports t t)) (use-package go-mode :ensure t :mode ((&#34;\\\\.go\\\\&#39;&#34; . go-mode)) :init (add-hook &#39;go-mode-hook #&#39;lsp-go-install-save-hooks)) ;; Language Server (use-package lsp-mode :ensure t :hook (go-mode . lsp-deferred) :commands (lsp lsp-deferred)) (use-package lsp-ui :ensure t :commands lsp-ui-mode) (use-package company-lsp :ensure t :commands company-lsp) gopls\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3082\u3057\u307e\u3057\u3087\u3046\u3002\n1 $ go get golang.org\/x\/tools\/gopls@latest \u3053\u308c\u3067\u5b8c\u4e86\u3067\u3059\uff01\n","permalink":"https:\/\/blog.web-apps.tech\/lsp-mode-with-gopls\/","summary":"<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":"emacs\/lsp-mode + gopls\u3067Go\u7528\u306eLSP\u74b0\u5883\u3092\u8a2d\u5b9a\u3059\u308b"},{"content":"\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 Android\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\n\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\n\u306a\u304a\u3001\u57fa\u672c\u7684\u306a\u624b\u9806\u306f\u516c\u5f0f\u30b5\u30a4\u30c8 \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 Flutter\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u57f7\u7b46\u6642\u70b9\u3067v1.12.13+hotfix.5\u3067\u3057\u305f\u3002\nFlutter SDK\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u516c\u5f0f\u30b5\u30a4\u30c8 \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$HOME\/.local\/flutter\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\n1 2 3 $ wget https:\/\/storage.googleapis.com\/flutter_infra\/releases\/stable\/macos\/flutter_macos_v1.12.13+hotfix.5-stable.zip $ unzip flutter_macos_v1.12.13+hotfix.5-stable.zip $ mv flutter $HOME\/.local\/ \u914d\u7f6e\u3067\u304d\u305f\u3089PATH\u3092\u901a\u3057\u307e\u3059\u3002 \u79c1\u306fzsh\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3001$HOME\/.zshrc\u306b\u4ee5\u4e0b\u306e\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\n1 2 # Flutter SDK export PATH=&#34;$PATH:$HOME\/.local\/flutter\/bin&#34; PATH\u3092\u901a\u3057\u305f\u3089\u3001flutter --version\u3067\u3061\u3083\u3093\u3068PATH\u304c\u901a\u3063\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\nAndroid SDK\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u516c\u5f0f\u30b5\u30a4\u30c8 \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 Android Studio\u306e\u30b5\u30a4\u30c8 \u3078\u30a2\u30af\u30bb\u30b9\u3057\u3001DOWNLOAD OPTIONS \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\u306bbrew cask install android-sdk\u3068\u3057\u307e\u3059\u3002 \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)\nbrew cask install android-sdk\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\u3001brew cask install adoptopenjdk8\u3068\u3057\u3066JDK\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u3089\u3001ANDROID_HOME\u74b0\u5883\u5909\u6570\u3092android-sdk\u306e\u30d1\u30b9(brew\u3067\u5165\u308c\u305f\u5834\u5408\u306f\/usr\/local\/share\/android-sdk)\u306b\u8a2d\u5b9a\u3057\u3001android-sdk\u306b\u3082PATH\u3092\u901a\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n1 2 3 4 5 # Android SDK export ANDROID_HOME=&#34;\/usr\/local\/share\/android-sdk&#34; export PATH=&#34;$PATH:\/usr\/local\/share\/android-sdk-tools&#34; export PATH=&#34;$PATH:\/usr\/local\/share\/android-sdk\/tools\/bin&#34; export PATH=&#34;$PATH:\/usr\/local\/share\/android-sdk\/platform-tools&#34; PATH\u304c\u6b63\u3057\u304f\u901a\u3063\u3066\u3044\u308c\u3070\u3001sdkmanager\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306f\u305a\u306a\u306e\u3067\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067SDK\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n1 sdkmanager &#34;platform-tools&#34; &#34;platforms;android-28&#34; &#34;build-tools;28.0.3&#34; \u7d9a\u3044\u3066\u3001flutter doctor --android-licenses\u3092\u5b9f\u884c\u3057\u3001android SDK\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u306b\u540c\u610f\u3057\u307e\u3059\u3002\n\u3053\u3053\u307e\u3067\u3084\u3063\u305f\u3042\u3068\u3001flutter doctor\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001Flutter\u304a\u3088\u3073Android toolchain\u304cOK\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u3042\u3068\u306f\u304a\u624b\u6301\u3061\u306eAndroid\u7aef\u672b\u306eUSB\u30c7\u30d0\u30c3\u30b0\u3092\u6709\u52b9\u306b\u3057\u3001\u516c\u5f0f\u306e\u30c7\u30e2\u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u3087\u3046 \u3002\nemacs\u306e\u8a2d\u5b9a\u3092\u3059\u308b use-package\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u6b21\u306e\u8a2d\u5b9a\u3092\u5165\u308c\u3066emacs\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (use-package dart-mode :ensure t :custom (dart-format-on-save t) (dart-sdk-path &#34;~\/.local\/flutter\/bin\/cache\/dart-sdk\/&#34;)) (use-package flutter :ensure t :after dart-mode :bind (:map dart-mode-map (&#34;C-M-x&#34; . #&#39;flutter-run-or-hot-reload)) :custom (flutter-sdk-path &#34;~\/.local\/flutter\/&#34;) :hook (dart-mode . (lambda () (add-hook &#39;after-save-hook #&#39;flutter-run-or-hot-reload nil t)))) dart-sdk-path\u304a\u3088\u3073flutter-sdk-path\u306e\u5024\u306f\u9069\u5b9c\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u3067dart\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u6642\u306b\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u304c\u8d70\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/flutter_setup_with_emacs\/","summary":"<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":"Flutter\u74b0\u5883\u69cb\u7bc9 with emacs"},{"content":"\u200c\n2020\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\n1\u6708 \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\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) January 3, 2019 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\n\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\n\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\n2\u6708 ONIcon\u3092\u3084\u3063\u305f\u308a\u3001\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb\u3092\u4f5c\u308a\u59cb\u3081\u305f\u308a\u3002\ngomaconf\u3084cookpadtechconf\u3082\u3053\u306e\u3042\u305f\u308a\u3060\u3063\u305f\u3088\u3046\u3067\u3059\u3002\n3\u6708 \u30da\u30c6\u30a3\u30ca\u30a4\u30d5\u304c\u6b32\u3057\u3044\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) March 1, 2019 \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\nLINE.go\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u3092\u958b\u50ac\u3057\u305f\u306e\u30823\u6708\u3067\u3057\u305f\u3002\n\u671d\u3054\u98ef pic.twitter.com\/PLRDDJEOCY\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) March 4, 2019 \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 4\u6708 \u7686\u3055\u3093\u6280\u8853\u66f8\u5178\u306e\u9032\u6357\u3069\u3046\u3067\u3059\u304b\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) April 2, 2019 \u4eca\u3082\u307e\u305f\u3001\u6280\u8853\u66f8\u5178\u306e\u9032\u6357\u306b\u8ffd\u308f\u308c\u3066\u3044\u307e\u3059\u3002\n\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\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) April 12, 2019 \u3053\u306e\u5f8c\u52e2\u3044\u3088\u304f\u30c9\u30e9\u30e0\u5f0f\u6d17\u6fef\u6a5f\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002\u6700\u9ad8\u3002\n5\u6708 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\n\u6539\u3081\u3066\u3002\u3067\u304b\u3044\u3002 pic.twitter.com\/zO9TLfdhy8\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) May 29, 2019 OSC19do\u30825\u672b\u301c6\u59cb\u3067\u3057\u305f\u306d\n6\u6708 \u9c39\u7bc0\u98df\u3079\u653e\u984c pic.twitter.com\/c6ouIwcHis\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) June 11, 2019 \u3068\u3053\u308d\u3067\u3001\u307e\u3068\u3081\u3092\u66f8\u304f\u306e\u3082\u75b2\u308c\u3066\u304d\u307e\u3057\u305f\u3002\n7\u6708 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\n\u9032\u6357\u3067\u3059 pic.twitter.com\/cbZGgdeHiA\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) July 27, 2019 \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\n8\u6708 builderscon\u3067\u3057\u305f\u30022020\u306b\u5411\u3051\u3066\u9811\u5f35\u3063\u3066\u307e\u3059\u3002\n9\u6708 \u6280\u8853\u66f8\u5178\u3067\u3057\u305f\u3002\u6bce\u5ea6\u3064\u3089\u3044\u306e\u306b\u3001\u306a\u305c\u6bce\u5ea6\u5fdc\u52df\u3057\u3066\u3057\u307e\u3046\u306e\u304b\u30fb\u30fb\u30fb\n10\u6708 Pixel 4\u3092\u8cb7\u3044\u307e\u3057\u305f\u3002\u3082\u3046\u4e8c\u30f6\u6708\u7d4c\u3063\u3066\u308b\u306e\u304b\u30fb\u30fb\u30fb\n11\u6708 builderscon tokyo 2020\u306e\u4e3b\u50ac\u3092\u3084\u308b\u3053\u3068\u306b\u3002\u81ea\u5206\u3067\u3084\u308b\uff01\u3063\u3066\u8a00\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u80c3\u304c\u75db\u3044\n12\u6708 \u75c5\u3093\u3067\u307e\u3057\u305f\n","permalink":"https:\/\/blog.web-apps.tech\/2019-review\/","summary":"<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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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":"2019\u5e74\u306e\u632f\u308a\u8fd4\u308a"},{"content":"\u660e\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002 \u672c\u5e74\u3082\u3069\u3046\u305e\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002\n\u6268\u3001\u3082\u3046\u4e00\u6628\u5e74\u306b\u306a\u308a\u307e\u3059\u304c\u3001\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6 \u3068\u3044\u3046\u8a18\u4e8b\u3092\u6295\u7a3f\u3057\u307e\u3057\u305f\u3002 \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\n\u7d06\u4f59\u66f2\u6298 \u307e\u305a\u306f\u7d06\u4f59\u66f2\u6298\u3068\u306f\uff1f\u3068\u3044\u3046\u8a71\u304b\u3089\u59cb\u3081\u307e\u3057\u3087\u3046\u3002\n\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 \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\u3092Ceph RBD\u3078\u3068\u7f6e\u304d\u63db\u3048\u307e\u3057\u305f \u3002\n\u305d\u306e\u5f8c\u3001NTT-X Store \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 \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\n\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\non 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)CloudGarage \u3078\u3068\u9000\u907f\u3001SSD\u306e\u4ea4\u63db\u3092NTT-X Store\u3078\u3068\u7533\u8acb\u3057\u307e\u3057\u305f\u3002\n\u305d\u306e\u5f8c\u7121\u4e8bSSD\u306f\u65b0\u54c1\u4ea4\u63db\u3055\u308c\u3001\u305d\u306e\u9593\u306b\u67d0\u793e \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\n\u73fe\u5728\u306e\u69cb\u6210 \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 IaaS\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\n\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\n\u7269\u7406\u5c64 \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\n8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300136GB 8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300147GB 8\u30b3\u30a216\u30b9\u30ec\u30c3\u30c9\u300149GB \u30e1\u30e2\u30ea\u306e\u91cf\u306f\u3067\u304d\u308b\u3060\u3051\u305d\u308d\u3048\u305f\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u3001\u8a08\u7b97\u304c\u9762\u5012\u3046\u307e\u304f\u305d\u308d\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\nOS\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\n\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\nVM\u5c64 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\n\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 \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\n\u30b3\u30f3\u30c6\u30ca\u5c64 \u30b3\u30f3\u30c6\u30ca\u57fa\u76e4\u306fKubernetes\u3067\u3001\u76f8\u3082\u5909\u308f\u3089\u305aKubespray \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\nPersistentVolume\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\u3001Ceph RBD\u3092Kubernetes\u306eStorageClass\u3068\u3057\u3066\u767b\u9332\u3059\u308b \u3092\u898b\u306a\u304c\u3089\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002\nService type LoadBalancer\u306e\u5b9f\u88c5\u3068\u3057\u3066MetalLB \u3092\u3001Ingress\u5b9f\u88c5\u3068\u3057\u3066NGINX Ingress Controller \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\u3001cert-manager \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/my-private-cloud-2019\/","summary":"<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=\"\/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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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":"\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092\u518d\u69cb\u6210\u3057\u305f\u4ef6"},{"content":"\u672c\u8a18\u4e8b\u306fGo2 Advent Calendar \u306e20\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002\u6628\u65e5\u306fyaegashi\u3055\u3093\u306b\u3088\u308b\u3001jsonx.go \u3067\u3057\u305f\u3002\n\u7686\u3055\u3093\u306fOpenAPI Specification \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\u30d0\u30fc\u30b8\u30e7\u30f33.0.2 \u304c\u6700\u65b0\u3067\u3059\u3002\u3044\u308f\u3086\u308bSwagger \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\nOpenAPI 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\n\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\u3066github.com\/nasa9084\/go-openapi (\u4ee5\u4e0bgo-openapi)\u3092\u5b9f\u88c5\u30fb\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002 go-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\n\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 YAML\u306e\u30d1\u30fc\u30b5\u3082\u3001go-yaml\/yaml \u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001\u81ea\u524d\u3067\u306f\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002\n\u305d\u3093\u306a\u4e2d\u3001@goccy \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 \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\n\u73fe\u6642\u70b9\u3067\u306f\u307e\u3060\u30de\u30fc\u30b8\u3057\u3066\u304a\u3089\u305a \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\n\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 \u5404\u69cb\u9020\u4f53\u306b\u5bfe\u5fdc\u3059\u308bUnmarshalYAML()\u30e1\u30bd\u30c3\u30c9\u3092\u3059\u3079\u3066\u30b3\u30fc\u30c9\u751f\u6210\u3059\u308b\u3088\u3046\u306b\u3057\u305f YAML\u30d1\u30fc\u30b5\u306fgithub.com\/goccy\/go-yaml \u306b\u4e57\u308a\u63db\u3048\u305f 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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/nasa9084-go-openapi-rewriting\/","summary":"<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":"go-openapi \u3092\u66f8\u304d\u76f4\u3057\u3066\u3044\u307e\u3059"},{"content":"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@lestrrat \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\n\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(@nasa9084 )\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2020\/","summary":"<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":"builderscon tokyo 2020\u3084\u308b\u305e\uff01\u3068\u3044\u3046\u8a71"},{"content":"\u6628\u65e5\u306e\u3053\u3068\u3002jszwedko\/go-circleci \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\n\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\n\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f*http.Client \u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002*http.Client\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\u308bhttp.RoundTripper\u306a\u305f\u3081\u3001http.RoundTripper\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 \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\u3001http.RoundTripper\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\u3089nasa9084\/go-logtransport \u306a\u308b\u3082\u306e\u3092\u66f8\u304d\u307e\u3057\u305f\u3002 \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\nhttp.Client\u3068http.RoundTripper Go\u8a00\u8a9e\u3067HTTP\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u767a\u884c\u3059\u308b\u306b\u306f\u57fa\u672c\u3068\u3057\u3066*http.Client \u3068\u3044\u3046\u3082\u306e\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u7c21\u4fbf\u306e\u305f\u3081\u3001GET \u3001POST \u3001Head \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\u305fDefaultClient \u3068\u3044\u3046*http.Client \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n*http.Client\u306f\u30bc\u30ed\u5024\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u307e\u3068\u3081\u3089\u308c\u305f\u69cb\u9020\u4f53\u3067\u3001DefaultClient \u306f*http.Client{}\u3068\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u666e\u6bb5\u306f\u3053\u306e*http.Client\u3092\u4f7f\u7528\u3057\u3066HTTP\u306e\u901a\u4fe1\u3092\u884c\u3046\u308f\u3051\u3067\u3059\u304c\u3001\u5b9f\u306f*http.Client\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*http.Client\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\u308bhttp.RoudTripper\u304c\u884c\u3044\u307e\u3059\u3002\nhttp.RoundTripper\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*http.Transport\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5b9f\u88c5\u3068\u3057\u3066\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 Go\u306e\u4ed6\u306e\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f8b\u306b\u6f0f\u308c\u305a\u3001http.RoundTripper\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\n1 2 3 type RoundTripper interface { RoundTrip(*Request) (*Response, error) } RoundTrip()\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\u5b50RoundTripper\u306eRoundTrip()\u3092\u5b9f\u884c\u3057\u3001Response\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\n1 2 3 4 5 6 7 8 9 func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) { \/\/ Request\u306e\u30ed\u30b0\u3092\u3068\u308b resp, _ := t.Transport.RoundTrip(r) \/\/ response\u306e\u30ed\u30b0\u3092\u3068\u308b return resp, nil } \u5b9f\u969b\u306brequest\u3068response\u306e\u30ed\u30b0\u3092\u3068\u308b\u306b\u306f\u3001net\/http\/httputil\u30d1\u30c3\u30b1\u30fc\u30b8\u306eDump\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\u3001httputil.DumpRequestOut\u3068httputil.DumpResponse\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u30c6\u30b9\u30c8 \u5b9f\u88c5\u306e\u8a73\u7d30\u306f\u305d\u308c\u307b\u3069\u96e3\u3057\u3044\u5185\u5bb9\u3067\u306f\u306a\u3044\u306e\u3067\u3055\u3066\u304a\u304d\u3001\u30c6\u30b9\u30c8\u3092\u3069\u3046\u66f8\u304f\u304b\u3001\u3068\u3044\u3046\u8a71\u3092\u3057\u307e\u3057\u3087\u3046\u3002 HTTP\u306b\u95a2\u9023\u3057\u305f\u30c6\u30b9\u30c8\u3092\u66f8\u304f\u3068\u304d\u3001Go\u8a00\u8a9e\u3067\u306fnet\/http\/httptest\u3092\u4f7f\u7528\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002 \u30c6\u30b9\u30c8\u3092\u66f8\u304f\u306b\u3042\u305f\u308a\u3001\u6700\u521d\u306f\u5b50RoundTripper\u3092\u30e2\u30c3\u30af\u3057\u3066\u3001\u9069\u5f53\u306bResponse\u3092\u8fd4\u3059\u30e2\u30ce\u3092\u3064\u304f\u308c\u3070\u3088\u3044\u304b\u3001\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3044\u3044\u611f\u3058\u306b\u30c6\u30b9\u30c8\u7528\u306eResponse\u3092\u4f5c\u6210\u3059\u308b\u306e\u306f\u9762\u5012\u305d\u3046\u3067\u3057\u305f\u3002\n\u305d\u3046\u3044\u3048\u3070\u4eca\u65e5\u3001http.Transport\u306b\u30ed\u30ac\u30fc\u3092\u4ed5\u8fbc\u3080\u306e\u66f8\u3044\u3066\u307f\u3066\u3001\u30c6\u30b9\u30c8\u3092\u66f8\u304f\u306e\u306bRequest\u3068Response\u751f\u6210\u3057\u305f\u3044\u306a\u30fb\u30fb\u30fb\u3063\u3066\u8003\u3048\u3066httptest\u306b\u306a\u3044\u304b\u898b\u3066\u3001\u306a\u3093\u3067\u306a\u3044\u3093\u3084\uff01\u3063\u3066\u4e00\u77ac\u304a\u3053\u3060\u3063\u305f\u3051\u3069httptest.Server\u4f7f\u3048\u3070\u3048\u3048\u3093\u3084\u3001\u3068\u3059\u3050\u306b\u601d\u3044\u76f4\u3057\u305f\u306e\u3067\u30a2\u30ec\u304c\u305d\u308c\u3067\u305d\u3093\u306a\u611f\u3058\u3067\u3057\u305f(\u3068\u308a\u3068\u3081\u304c\u7121\u3044\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) October 31, 2019 \u3057\u304b\u3057\u7d20\u76f4\u306bhttptest.Server\u3092\u4f7f\u3048\u3070\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u3067\u306f\u4e00\u5207\u30c6\u30b9\u30c8\u7528\u306b\u7279\u6b8a\u306a\u5b9f\u88c5\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u666e\u901a\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u3057\u3066\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u53d7\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059(httptest.Server\u306f\u65e5\u5e38\u7684\u306b\u4f7f\u3063\u3066\u3044\u308b\u306e\u306b\u3001\u306a\u305c\u5fd8\u308c\u3066\u3044\u305f\u306e\u304b\u30fb\u30fb\u30fb)\u3002\n\u3053\u308c\u3092\u4f7f\u7528\u3057\u3066\u3001\u30b7\u30e5\u30c3\u3068\u9069\u5f53\u306a\u30cf\u30f3\u30c9\u30e9\u3092\u30b5\u30fc\u30d6\u3057\u3066\u3053\u3068\u306a\u304d\u3092\u3048\u307e\u3057\u305f\u3002\ninterface or struct \u3055\u3066\u3001\u4eca\u56de\u5f97\u305f\u6559\u8a13\u3068\u3057\u3066\u3001\u5225\u306b\u5fc5\u305a\u3057\u3082\u3059\u3079\u3066\u3092interface\u3067\u5b9a\u7fa9\u3059\u308b\u5fc5\u8981\u306f\u7121\u3044\u3068\u8a00\u3046\u3053\u3068\u3067\u3059\u3002 HTTP\u3067\u3044\u3048\u3070http.Client\u306f\u69cb\u9020\u4f53\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u308c\u3092\u4f7f\u3046\u5074\u306f\u3044\u3061\u3044\u3061interface\u306b\u3057\u3066\u96a0\u853d\u305b\u305a\u3068\u3082\u3001\u305d\u306e\u30b3\u30a2\u3067\u3042\u308bTransport\u304cRoundTripper interface\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u5b9f\u88c5\u3092\u5dee\u3057\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001OAuth\u3092\u4f7f\u7528\u3057\u305f\u8a8d\u8a3c\u3092\u3057\u305f\u3044\u5834\u5408\u3001golang.org\/x\/oauth2\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u7c21\u5358\u3067\u3059\u304c\u3001\u3053\u308c\u3082http.Client.Transport\u306b\u8a8d\u8a3c\u306e\u8a2d\u5b9a\u3092\u52a0\u3048\u308b\u3053\u3068\u3067\u3001http.Client\u3092\u4f7f\u7528\u3059\u308b\u30b3\u30fc\u30c9\u304c\u610f\u8b58\u3059\u308b\u3053\u3068\u306a\u304f\u8a8d\u8a3c\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u3059\u3002\nsql.DB\u306a\u3069\u3082\u3001\u5b9f\u969b\u306b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u30c9\u30e9\u30a4\u30d0\u90e8\u306e\u307f\u304cinterface\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u3068\u308a\u3068\u3081\u304c\u7121\u304f\u306a\u3063\u3066\u304d\u305f\u306e\u3067\u3053\u306e\u8fba\u3067\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/hook-on-http-client\/","summary":"<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":"net\/http.Client\u306bHook\u3092\u304b\u3051\u308b"},{"content":"TL;DR s == &quot;&quot;\u3068len(s) == 0\u306f\u7b49\u4fa1 \u6587\u5b57\u5217\u6bd4\u8f03\u304b\u3001\u9577\u3055\u6bd4\u8f03\u304b 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\n1 2 3 4 5 6 7 8 9 \/\/ 1: \u6587\u5b57\u5217\u3092\u7a7a\u6587\u5b57\u5217\u3068\u6bd4\u8f03\u3059\u308b if s == &#34;&#34; { \/\/ do something } \/\/ 2: \u6587\u5b57\u5217\u306e\u9577\u3055\u304c0\u304b\u3069\u3046\u304b\u8abf\u3079\u308b if len(s) == &#34;&#34; { \/\/ do something } \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 \u3069\u3061\u3089\u3092\u4f7f\u3046\u306e\u304c\u826f\u3044\u306e\u3067\u3057\u3087\u3046\u304b\uff1f\n\u7b54\u3048\u306f\u3069\u3061\u3089\u3067\u3082\u826f\u3044\u3060\u305d\u3046\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package benchmark_test import &#34;testing&#34; var somethingString = &#34;hogehogefugafuga&#34; func BenchmarkCompareString(b *testing.B) { for i := 0; i &lt; b.N; i++ { if somethingString == &#34;&#34; { } } } func BenchmarkCompareStringByLength(b *testing.B) { for i := 0; i &lt; b.N; i++ { if len(somethingString) == 0 { } } } \u3053\u306e\u30b3\u30fc\u30c9\u306b\u5bfe\u3057\u3066 go tool compile -S\u3057\u305f\u7d50\u679c\u304c\u4ee5\u4e0b\u3002 BenchmarkCompareString\u3068BenchmarkCompareStringByLength\u3067\u306f\u540c\u3058\u5185\u5bb9\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n&#34;&#34;.BenchmarkCompareString STEXT nosplit size=22 args=0x8 locals=0x0 0x0000 00000 (benchmark_test.go:7) TEXT &#34;&#34;.BenchmarkCompareString(SB), NOSPLIT|ABIInternal, $0-8 0x0000 00000 (benchmark_test.go:7) FUNCDATA $0, gclocals\u00b71a65e721a2ccc325b382662e7ffee780(SB) 0x0000 00000 (benchmark_test.go:7) FUNCDATA $1, gclocals\u00b769c1753bd5f81501d95132d08af04464(SB) 0x0000 00000 (benchmark_test.go:7) FUNCDATA $2, gclocals\u00b79fb7f0986f647f17cb53dda1484e0f7a(SB) 0x0000 00000 (benchmark_test.go:8) PCDATA $0, $1 0x0000 00000 (benchmark_test.go:8) PCDATA $1, $1 0x0000 00000 (benchmark_test.go:8) MOVQ &#34;&#34;.b+8(SP), AX 0x0005 00005 (benchmark_test.go:8) XORL CX, CX 0x0007 00007 (benchmark_test.go:8) JMP 12 0x0009 00009 (benchmark_test.go:8) INCQ CX 0x000c 00012 (benchmark_test.go:8) CMPQ 264(AX), CX 0x0013 00019 (benchmark_test.go:8) JGT 9 0x0015 00021 (&lt;unknown line number&gt;) PCDATA $0, $-2 0x0015 00021 (&lt;unknown line number&gt;) PCDATA $1, $-2 0x0015 00021 (&lt;unknown line number&gt;) RET 0x0000 48 8b 44 24 08 31 c9 eb 03 48 ff c1 48 39 88 08 H.D$.1...H..H9.. 0x0010 01 00 00 7f f4 c3 ...... &#34;&#34;.BenchmarkCompareStringByLength STEXT nosplit size=22 args=0x8 locals=0x0 0x0000 00000 (benchmark_test.go:14) TEXT &#34;&#34;.BenchmarkCompareStringByLength(SB), NOSPLIT|ABIInternal, $0-8 0x0000 00000 (benchmark_test.go:14) FUNCDATA $0, gclocals\u00b71a65e721a2ccc325b382662e7ffee780(SB) 0x0000 00000 (benchmark_test.go:14) FUNCDATA $1, gclocals\u00b769c1753bd5f81501d95132d08af04464(SB) 0x0000 00000 (benchmark_test.go:14) FUNCDATA $2, gclocals\u00b79fb7f0986f647f17cb53dda1484e0f7a(SB) 0x0000 00000 (benchmark_test.go:15) PCDATA $0, $1 0x0000 00000 (benchmark_test.go:15) PCDATA $1, $1 0x0000 00000 (benchmark_test.go:15) MOVQ &#34;&#34;.b+8(SP), AX 0x0005 00005 (benchmark_test.go:15) XORL CX, CX 0x0007 00007 (benchmark_test.go:15) JMP 12 0x0009 00009 (benchmark_test.go:15) INCQ CX 0x000c 00012 (benchmark_test.go:15) CMPQ 264(AX), CX 0x0013 00019 (benchmark_test.go:15) JGT 9 0x0015 00021 (&lt;unknown line number&gt;) PCDATA $0, $-2 0x0015 00021 (&lt;unknown line number&gt;) PCDATA $1, $-2 0x0015 00021 (&lt;unknown line number&gt;) RET 0x0000 48 8b 44 24 08 31 c9 eb 03 48 ff c1 48 39 88 08 H.D$.1...H..H9.. 0x0010 01 00 00 7f f4 c3 ...... go.cuinfo.packagename. SDWARFINFO dupok size=0 0x0000 62 65 6e 63 68 6d 61 72 6b 5f 74 65 73 74 benchmark_test go.loc.&#34;&#34;.BenchmarkCompareString SDWARFLOC size=70 0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0010 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0030 00 00 00 01 00 52 00 00 00 00 00 00 00 00 00 00 .....R.......... 0x0040 00 00 00 00 00 00 ...... rel 0+8 t=50 &#34;&#34;.BenchmarkCompareString+0 rel 8+8 t=50 &#34;&#34;.BenchmarkCompareString+22 rel 35+8 t=50 &#34;&#34;.BenchmarkCompareString+12 rel 43+8 t=50 &#34;&#34;.BenchmarkCompareString+22 go.info.&#34;&#34;.BenchmarkCompareString SDWARFINFO size=94 0x0000 03 22 22 2e 42 65 6e 63 68 6d 61 72 6b 43 6f 6d .&#34;&#34;.BenchmarkCom 0x0010 70 61 72 65 53 74 72 69 6e 67 00 00 00 00 00 00 pareString...... 0x0020 00 00 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 ................ 0x0030 00 01 10 62 00 00 07 00 00 00 00 00 00 00 00 15 ...b............ 0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0050 0b 69 00 08 00 00 00 00 00 00 00 00 00 00 .i............ rel 27+8 t=1 &#34;&#34;.BenchmarkCompareString+0 rel 35+8 t=1 &#34;&#34;.BenchmarkCompareString+22 rel 45+4 t=29 gofile..\/Users\/JP24216\/src\/practice\/benchmark_empty_string\/benchmark_test.go+0 rel 55+4 t=28 go.info.*testing.B+0 rel 59+4 t=28 go.loc.&#34;&#34;.BenchmarkCompareString+0 rel 64+8 t=1 &#34;&#34;.BenchmarkCompareString+0 rel 72+8 t=1 &#34;&#34;.BenchmarkCompareString+21 rel 84+4 t=28 go.info.int+0 rel 88+4 t=28 go.loc.&#34;&#34;.BenchmarkCompareString+35 go.range.&#34;&#34;.BenchmarkCompareString SDWARFRANGE size=0 go.isstmt.&#34;&#34;.BenchmarkCompareString SDWARFMISC size=0 0x0000 04 05 01 04 02 0a 01 03 00 ......... go.loc.&#34;&#34;.BenchmarkCompareStringByLength SDWARFLOC size=70 0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0010 01 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x0030 00 00 00 01 00 52 00 00 00 00 00 00 00 00 00 00 .....R.......... 0x0040 00 00 00 00 00 00 ...... rel 0+8 t=50 &#34;&#34;.BenchmarkCompareStringByLength+0 rel 8+8 t=50 &#34;&#34;.BenchmarkCompareStringByLength+22 rel 35+8 t=50 &#34;&#34;.BenchmarkCompareStringByLength+12 rel 43+8 t=50 &#34;&#34;.BenchmarkCompareStringByLength+22 go.info.&#34;&#34;.BenchmarkCompareStringByLength SDWARFINFO size=102 0x0000 03 22 22 2e 42 65 6e 63 68 6d 61 72 6b 43 6f 6d .&#34;&#34;.BenchmarkCom 0x0010 70 61 72 65 53 74 72 69 6e 67 42 79 4c 65 6e 67 pareStringByLeng 0x0020 74 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 th.............. 0x0030 00 00 00 01 9c 00 00 00 00 01 10 62 00 00 0e 00 ...........b.... 0x0040 00 00 00 00 00 00 00 15 00 00 00 00 00 00 00 00 ................ 0x0050 00 00 00 00 00 00 00 00 0b 69 00 0f 00 00 00 00 .........i...... 0x0060 00 00 00 00 00 00 ...... rel 35+8 t=1 &#34;&#34;.BenchmarkCompareStringByLength+0 rel 43+8 t=1 &#34;&#34;.BenchmarkCompareStringByLength+22 rel 53+4 t=29 gofile..\/Users\/JP24216\/src\/practice\/benchmark_empty_string\/benchmark_test.go+0 rel 63+4 t=28 go.info.*testing.B+0 rel 67+4 t=28 go.loc.&#34;&#34;.BenchmarkCompareStringByLength+0 rel 72+8 t=1 &#34;&#34;.BenchmarkCompareStringByLength+0 rel 80+8 t=1 &#34;&#34;.BenchmarkCompareStringByLength+21 rel 92+4 t=28 go.info.int+0 rel 96+4 t=28 go.loc.&#34;&#34;.BenchmarkCompareStringByLength+35 go.range.&#34;&#34;.BenchmarkCompareStringByLength SDWARFRANGE size=0 go.isstmt.&#34;&#34;.BenchmarkCompareStringByLength SDWARFMISC size=0 0x0000 04 05 01 04 02 0a 01 03 00 ......... go.string.&#34;hogehogefugafuga&#34; SRODATA dupok size=16 0x0000 68 6f 67 65 68 6f 67 65 66 75 67 61 66 75 67 61 hogehogefugafuga &#34;&#34;..inittask SNOPTRDATA size=32 0x0000 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................ 0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ rel 24+8 t=1 testing..inittask+0 &#34;&#34;.somethingString SDATA size=16 0x0000 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 ................ rel 0+8 t=1 go.string.&#34;hogehogefugafuga&#34;+0 type..importpath.testing. SRODATA dupok size=10 0x0000 00 00 07 74 65 73 74 69 6e 67 ...testing gclocals\u00b71a65e721a2ccc325b382662e7ffee780 SRODATA dupok size=10 0x0000 02 00 00 00 01 00 00 00 01 00 .......... gclocals\u00b769c1753bd5f81501d95132d08af04464 SRODATA dupok size=8 0x0000 02 00 00 00 00 00 00 00 ........ gclocals\u00b79fb7f0986f647f17cb53dda1484e0f7a SRODATA dupok size=10 0x0000 02 00 00 00 01 00 00 00 00 01 .......... ","permalink":"https:\/\/blog.web-apps.tech\/how-to-check-empty-string\/","summary":"<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":"\u7a7a\u6587\u5b57\u5217\u78ba\u8a8d\u306f\u9577\u3055\u3092\u3068\u308b\u3079\u304d\u304b\uff1f"},{"content":"Unubo \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\n\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\n\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\n\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 \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\n\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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/first-impression-unubo\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/first-impression-unubo\/images\/----------2019-09-26-23.31.15-2_hu_9fb3f6fed7d05c0d.png\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Unubo\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b5\u30af\u30c3\u3068\u30c7\u30d7\u30ed\u30a4\u3059\u308b"},{"content":"\u4eca\u9031\u672b\u306f\u3044\u3088\u3044\u3088\u6280\u8853\u66f8\u51787\u3067\u3059\u306d\uff01\n\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\nweb-apps.tech: \u30b5\u30fc\u30af\u30eb\u8a73\u7d30\u30da\u30fc\u30b8 \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\n108\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 \u30b5\u30fc\u30af\u30eb\u30b9\u30da\u30fc\u30b9\u306f\u300c\u304b11C\u300d\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/techbookfest7\/","summary":"<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":"\u6280\u8853\u66f8\u51787\u3067Go\u8a00\u8a9e\u306e\u672c\u3092\u9812\u5e03\u3057\u307e\u3059"},{"content":"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 \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(git config user.email=...\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\n\u3057\u304b\u3057\u3001\u4f1a\u793e\u3067\u306fGitHub Enterprise(GHE)\u3001\u79c1\u7528\u3067\u306fgithub.com \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\n\u8abf\u3079\u3066\u307f\u308b\u3068\u3001\u305d\u3046\u3044\u3063\u305f\u5834\u5408\u3001\u6b21\u306e\u69d8\u306b.gitconfig\u306bIncludeIf\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\n1 2 [IncludeIf &#34;gitdir:~\/src\/GHE_DOMAIN&#34;] path = &#34;~\/.gitconfig.ghe&#34; ~.gitconfig.ghe\u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\n1 2 [user] email = \u793e\u7528\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9 \u79c1\u306fGo\u8a00\u8a9e\u3092\u3088\u304f\u66f8\u304f\u306e\u3068\u3001ghq \u3092\u4f7f\u3063\u3066\u3044\u308b\u90fd\u5408\u4e0a\u3001git\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u914d\u7f6e\u3059\u308b\u30d1\u30b9\u304c$(GOPATH)\/src\/GIT_DOMAIN\/USERNAME\/REPOSITORY\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\n\u305d\u3057\u3066\u3053\u308c\u306f\u3001\u3069\u306ePC\u3067\u3082\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3001dotfiles\u30ea\u30dd\u30b8\u30c8\u30ea \u3068\u3057\u3066github.com \u306bpush\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\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\n\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\u3001Makefile \u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u81ea\u52d5\u5316\u3059\u308b\u3068\u3044\u3046\u65b9\u6cd5\u3067\u3059\u3002\n\u30d1\u30d6\u30ea\u30c3\u30af\u306adotfiles\u30ea\u30dd\u30b8\u30c8\u30ea \u306b\u3042\u308b.gitconfig \u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\n[include] path = ~\/.gitconfig.secret .gitconfig.secret\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u79d8\u533f\u60c5\u5831\u3092\u542b\u3093\u3060.gitconfig\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\u306fmake install\u3068\u3057\u305f\u3068\u304d\u306bgit clone\u3055\u308c\u3001\u3055\u3089\u306b\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306eMakefile\u306b\u3088\u308a\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002dotfiles-secret\/.gitconfig.secret\u306b\u306f\u5148\u307b\u3069\u306eIncludeIf\u30d6\u30ed\u30c3\u30af\u304c\u66f8\u304b\u308c\u3066\u304a\u308a\u3001\u540c\u30ea\u30dd\u30b8\u30c8\u30ea\u5185\u306e.gitconfig.secret.ghe(\u540d\u524d\u3092\u5c11\u3057\u5909\u3048\u307e\u3057\u305f)\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\n\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\nMakefile\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\u306bMakefile\u306e\u5909\u66f4\u3092\u3059\u308b\u5fc5\u8981\u3082\u7121\u304f\u5b89\u5fc3\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/gitconfig-secret\/","summary":"<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":"\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"},{"content":"hub \u30b3\u30de\u30f3\u30c9\u3092\u3054\u5b58\u3058\u3067\u3057\u3087\u3046\u304b\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066alias git=hub\u3068\u8a2d\u5b9a\u3059\u308b\u3060\u3051\u3067\u3001git\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\u306fgit create\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\n\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 \u5b9f\u969b\u3001\u73fe\u8077\u3067\u306fGHE\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\n\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\u3067hub\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\u3001hub\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\n\u3057\u304b\u3057\u5b9f\u306f\u3001hub\u306f\u8907\u6570\u74b0\u5883\u3067\u306e\u4f7f\u7528\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u3093\u3067\u3059\u3002 \u8a2d\u5b9a\u65b9\u6cd5\u306f\u81f3\u3063\u3066\u7c21\u5358\u3067\u3001$HOME\/.config\/hub\u306b\u8a2d\u5b9a\u3092\u66f8\u304d\u8db3\u3059\u3060\u3051\u3067\u3059\u3002\u5b9f\u969b\u306b\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\u3059\u3067\u306bhub\u3092\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u3001cat $HOME\/.config\/hub\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(oauth_token\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\n1 2 3 4 github.com: - user: nasa9084 oauth_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx protocol: https \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 \u307e\u305a\u3001\u81ea\u793e\u306eGHE\u306e\u30a2\u30c9\u30ec\u30b9\u4ee5\u4e0b\/settings\/tokens\u3092\u958b\u304d\u307e\u3059\u3002Generate new token\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\u3002hub\u306f\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u64cd\u4f5c\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3067\u3059\u304b\u3089\u3001scope\u306frepo\u3092\u4e0e\u3048\u308c\u3070\u5341\u5206\u3067\u3057\u3087\u3046\u3002\u753b\u9762\u4e0b\u90e8\u306eGenerate token\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\n\u624b\u5143\u306e\u30a8\u30c7\u30a3\u30bf(\u304a\u597d\u307f\u306e\u7269\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)\u3067$HOME\/.config\/hub\u3092\u958b\u304d\u3001\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 2 3 4 YOUR_GHE_DOMAIN: - user: YOUR_USERNAME oauth_token: YOUR_TOKEN protocol: https \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ad\u30fc\u3068\u3057\u3066GHE\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u3001user\u306fGHE\u3067\u30ed\u30b0\u30a4\u30f3\u306b\u4f7f\u7528\u3059\u308b\u30e6\u30fc\u30b6\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002oauth_token\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\u3001hub\u3067GHE\u306b\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\n\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\n1 2 3 4 5 6 7 $ git create Select host: 1. github.com 2. YOUR_GHE_DOMAIN &gt; 1 Updating origin https:\/\/github.com\/nasa9084\/REPOSITORY_NAME ","permalink":"https:\/\/blog.web-apps.tech\/hub-with-github-enterprise\/","summary":"<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":"hub\u30b3\u30de\u30f3\u30c9\u306bGitHub Enterprise\u74b0\u5883\u3092\u8ffd\u52a0\u3059\u308b"},{"content":"\u5bb6\u3067\u8ee2\u304c\u3063\u3066\u3044\u305f\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\n\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\npic.twitter.com\/e55qxX5GL6\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x1a) (@nasa9084) July 29, 2019 \u4e3b\u306b\u300c\u683c\u5b89\u30b9\u30de\u30fc\u30c8\u30ea\u30e2\u30b3\u30f3\u306e\u4f5c\u308a\u65b9 \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 \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\n\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\n\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\n\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\n\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\n\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 \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 IRFU9024NPBF\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\n\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 \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\nsystemd\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\n1 $ curl http:\/\/raspberrypi.local\/playback?key=light:off \u3068\u304b\u3059\u308b\u3068\u90e8\u5c4b\u306e\u96fb\u6c17\u304c\u6d88\u305b\u307e\u3059\u3002\u7d20\u6674\u3089\u3057\u3044\u3002\n\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/raspberry-pi-zero-w-ir\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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    \n\n  <div class=\"kg-gallery-image\">\n    <img src=\"\/images\/2019\/07\/P_20190730_232741.jpg\" width=\"2094\" height=\"1078\">\n  <\/div>\n\n  <div class=\"kg-gallery-image\">\n    <img src=\"\/images\/2019\/07\/P_20190730_232759.jpg\" width=\"2187\" height=\"1012\">\n  <\/div>\n\n    <\/div>\n  <\/div>\n  \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  \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":"Raspberry Pi zero W + IR"},{"content":"NATS \u306fCNCF (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\u3067GitHub \u4e0a\u3067\u4eca\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 Go\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 NATS\u306e\u30b5\u30fc\u30d0\u81ea\u4f53(gnatsd)\u306fGo\u3067\u66f8\u304b\u308c\u3066\u3044\u308b \u305f\u3081\u3001\u30d0\u30a4\u30ca\u30ea\u4e00\u3064\u3067\u8d77\u52d5\u3067\u304d\u308b\u307b\u304b\u3001\u3001\u516c\u5f0fDocker\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8 \u3084Kubernetes\u7528\u306eOperator \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 \u672c\u8a18\u4e8b\u3067\u3082\u3001Docker\u3067\u8d77\u52d5\u3057\u305f\u30b5\u30fc\u30d0\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\nNATS\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\nPublish\/Subscribe Request\/Reply Queueing \u4eca\u56de\u306fPub\/Sub\u3068Request\/Reply\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002\n\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b \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\n1 $ docker run --rm -d --name nats -p 4222:4222 -p 6222:6222 -p 8222:8222 nats:1.4.0-linux nats:1.4.0-linux\u306f\u57f7\u7b46\u6642\u70b9(2019-02-06)\u3067nats:latest\u3067\u3059\u3002 \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\n:4222: client port :6222: route port :8222: http port \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\nPublish\/Subscribe \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\u3001Wikipedia \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\u3092Subject\u3068\u3088\u3073\u307e\u3059\u3002 NATS\u306eSubject\u306f\u968e\u5c64\u69cb\u9020\u3092\u3068\u308b\u3053\u3068\u304c\u3067\u304d\u3001.(\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*(\u30a2\u30b9\u30bf\u30ea\u30b9\u30af)\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001&gt;\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 \u4f8b\u3048\u3070\u3001Subscriber\u304cfoo.bar.*\u3092\u8cfc\u8aad\u3057\u3066\u3044\u308b\u5834\u5408\u3001foo.bar.baz\u3084foo.bar.qux\u306a\u3069\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001foo.bar.baz.qux\u306f\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u4e00\u65b9\u3001foo.bar.&gt;\u3092\u8cfc\u8aad\u3057\u3066\u3044\u308b\u5834\u5408\u3001foo.bar.baz.qux\u3082\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\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\nPublisher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package main import ( &#34;log&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() if err := nc.Publish(&#34;subjectFoo&#34;, []byte(&#34;bodyBar&#34;)); err != nil { log.Fatal(err) } } Subscriber 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package main import ( &#34;log&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() sub, err := nc.Subscribe(&#34;subjectFoo&#34;, callback) if err != nil { log.Fatal(err) } log.Printf(&#34;Subject: %s&#34;, sub.Subject) log.Printf(&#34;Queue: %s&#34;, sub.Queue) ch := make(chan struct{}) &lt;-ch } func callback(message *nats.Msg) { log.Print(string(message.Data)) } \u305d\u308c\u305e\u308c\u3001\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u3001go run\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 \u30dd\u30a4\u30f3\u30c8\u306f*nats.Conn.Subscribe\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 \u4eca\u56de\u306e\u30b5\u30f3\u30d7\u30eb\u4e2d\u3067\u306f&lt;-ch\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 \u540c\u671f\u51e6\u7406\u3057\u305f\u3044\u5834\u5408\u306b\u306f\u3001*nats.Conn.SubscribeSync\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u6b21\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3089\u308c\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package main import ( &#34;log&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() log.Printf(&#34;Subject: %s&#34;, sub.Subject) log.Printf(&#34;Queue: %s&#34;, sub.Queue) sub, err := nc.Subscribe(&#34;subjectFoo&#34;, callback) if err != nil { log.Fatal(err) } for { msg, err := sub.NextMsgWithContext(context.Background()) if err != nil { log.Fatal(err) } callback(msg) } } func callback(message *nats.Msg) { log.Print(string(message.Data)) } Pub\/Sub\u30e2\u30c7\u30eb\u306f\u5358\u7d14\u306a\u3001\u4e00\u65b9\u901a\u884c\u306e\u30e2\u30c7\u30eb\u306a\u305f\u3081\u3001Subscriber\u5074\u304b\u3089\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u6b21\u306eRequest\/Reply\u30e2\u30c7\u30eb\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\nRequest\/Reply Request\/Reply\u30e2\u30c7\u30eb\u306f\u307b\u3068\u3093\u3069Pub\/Sub\u30e2\u30c7\u30eb\u3067\u3059\u304c\u3001Subscriber\u5074\u304b\u3089\u306e\u8fd4\u4e8b\u3092\u671f\u5f85\u3059\u308b\u3001\u3068\u3044\u3046\u70b9\u304c\u9055\u3044\u307e\u3059\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u4fe1\u306e\u969b\u306b\u4e00\u7dd2\u306b\u6e21\u3055\u308c\u308bSubject\u306b\u5bfe\u3057\u3066Subscriber\u304c\u8fd4\u4e8b\u3092\u9001\u4fe1\u3059\u308b\u3068\u3044\u3046\u5f62\u3067\u5b9f\u88c5\u3057\u307e\u3059\u3002 Go\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u5834\u5408\u3001Subscriber\u5074\u306fcallback\u95a2\u6570\u5185\u3067\u8fd4\u4fe1\u3092\u8fd4\u3059\u3088\u3046\u306b\u5b9f\u88c5\u3059\u308b\u3068\u3044\u3046\u4ed6\u306f\u5927\u304d\u306a\u9055\u3044\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u4e00\u65b9Publisher\u5074\u306f\u8fd4\u4fe1\u3092\u5f85\u3064\u305f\u3081\u3001*nats.Conn.Request\u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u6b21\u306b\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u793a\u3057\u307e\u3059\u3002\nRequest 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package main import ( &#34;log&#34; &#34;time&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() msg, err := nc.Request(&#34;subjectFoo&#34;, []byte(&#34;bodyBar&#34;), 10*time.Second) if err != nil { log.Fatal(err) } log.Print(string(msg.Data)) } Reply 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package main import ( &#34;log&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() if _, err := nc.Subscribe(&#34;subjectFoo&#34;, callback); err != nil { log.Fatal(err) } ch := make(chan struct{}) &lt;-ch } func callback(message *nats.Msg) { log.Print(string(message.Data)) nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() nc.Publish(message.Reply, []byte(&#34;ReplyBaz&#34;)) } Pub\/Sub\u30e2\u30c7\u30eb\u540c\u69d8\u3001\u53d7\u3051\u53d6\u308a\u5074\u3092\u3042\u3089\u304b\u3058\u3081\u8d77\u52d5\u3057\u3066\u304b\u3089\u9001\u4fe1\u5074\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002 \u53d7\u4fe1\u5074\u3067\u9001\u4fe1\u3055\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8(&ldquo;bodyBar&rdquo;)\u304c\u3001\u9001\u4fe1\u5074\u3067\u8fd4\u4fe1(&ldquo;ReplyBaz&rdquo;)\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002\n\u3053\u306e\u5b9f\u88c5\u3067\u306f\u3001\u8907\u6570\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u3044\u308b\u5834\u5408\u306f\u6700\u521d\u306b\u5c4a\u3044\u305f\u8fd4\u4fe1\u306e\u307f\u304c\u63a1\u7528\u3055\u308c\u307e\u3059\u3002 \u8907\u6570\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089\u306e\u8fd4\u4fe1\u3059\u3079\u3066\u306b\u5bfe\u5fdc\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u6b21\u306e\u3088\u3046\u306b*nats.Conn.NewRespInbox\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\nRequest(for multiple client) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package main import ( &#34;log&#34; nats &#34;github.com\/nats-io\/go-nats&#34; ) func main() { nc, err := nats.Connect(&#34;localhost:4222&#34;) if err != nil { log.Fatal(err) } defer nc.Close() inbox := nc.NewRespInbox() if err := nc.PublishRequest(&#34;subjectFoo&#34;, inbox, []byte(&#34;bodyBar&#34;)); err != nil { log.Fatal(err) } if _, err := nc.Subscribe(inbox, callback); err != nil { log.Fatal(err) } ch := make(chan struct{}) &lt;-ch } func callback(message *nats.Msg) { log.Print(string(message.Data)) } *nats.Conn.NewRespInbox\u306f\u8fd4\u4fe1\u7528\u306b\u4f7f\u7528\u3067\u304d\u308bSubject\u3092\u751f\u6210\u3057\u3066\u8fd4\u3057\u307e\u3059\u3002\u3053\u308c\u3092*nats.Conn.PublishRequest\u306b\u6e21\u3057\u3066\u8fd4\u4fe1\u3092\u5f85\u3061\u53d7\u3051\u307e\u3059\u3002\n\u304a\u7247\u4ed8\u3051 1 $ docker stop nats ","permalink":"https:\/\/blog.web-apps.tech\/messaging-system-nats\/","summary":"<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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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":"NATS\u3092\u89e6\u3063\u3066\u307f\u305f"},{"content":"\u3053\u3093\u3070\u3093\u306f\u3002\u4ee5\u524d\u8a18\u4e8b\u306b\u3057\u305f \u3088\u3046\u306b\u3001\u73fe\u5728\u3001\u8077\u5834\u3067Ergodox EZ \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\nErgodox EZ\u3067\u306f\u3001\u53f3\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u3068\u5de6\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u306fTRRS\u30b1\u30fc\u30d6\u30eb \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\n\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\n\u4eca\u56de\u4f5c\u3063\u305f\u306e\u306f\u3053\u3061\u3089\u3002\u904a\u820e\u5de5\u623f \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\u81ea\u4f5c\u30ad\u30fc\u30dc\u30fc\u30c9\u754c\u9688\u306eDiscord\u30b5\u30fc\u30d0 \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\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\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\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\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\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\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\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\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\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\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\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\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\n\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\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\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\n\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\n\u8ffd\u8a18: \u4f7f\u3048\u307e\u305b\u3093\u3067\u3057\u305f\n","permalink":"https:\/\/blog.web-apps.tech\/hand-made-trrs-cable\/","summary":"<p>\u3053\u3093\u3070\u3093\u306f\u3002<a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/cable_kit_hu_caa6992ed294a75d.jpg\" alt=\"cable_kit\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/plug_hu_25642b0259de604d.jpg\" alt=\"plug\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/tube_hu_61162d315f658ad9.jpg\" alt=\"tube\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/paracode_hu_d51bcc1d73d1cd81.jpg\" alt=\"paracode\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/sleeve_hu_6463b4cfab96bfa2.jpg\" alt=\"sleeve\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/rawcable_hu_33fac70bc491e4e0.jpg\" alt=\"rawcable\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/insert_paracode_hu_6da8ccd0778aad91.jpg\" alt=\"insert_paracode\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/inserted_hu_745b85496088022e.jpg\" alt=\"inserted\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/inserted_sleeve_hu_3ca6054e0d42996f.jpg\" alt=\"inserted_sleeve\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/cut_hu_312ca3d20ff43fe9.jpg\" alt=\"cut\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/open_hu_44d249cdcec9f51c.jpg\" alt=\"open\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/connector_hu_261943b086e7f397.jpg\" alt=\"connector\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/connector_2_hu_b764f3ce2ccd6990.jpg\" alt=\"connector_2\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/heated_tube_hu_552812bc996ad01c.jpg\" alt=\"heated_tube\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/hand-made-trrs-cable\/images\/cable_hu_4d50522141f89e1e.jpg\" alt=\"cable\"  \/>\n\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":"\u521d\u3081\u3066\u306e\u81ea\u4f5c\u30b1\u30fc\u30d6\u30eb"},{"content":"\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\n1 2 3 4 5 6 7 8 9 func FilterFoo(arr []string) []string { b := []string{} for _, e := range arr { if IsFoo(e) { b = append(b, e) } } return b } \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\n\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\n\u8ffd\u8a18 b := arr[:0]\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\n\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\u2026https:\/\/t.co\/iKXrXHUD3N https:\/\/t.co\/CMrAYGJrdA\n&mdash; Yoichiro Shimizu (@budougumi0617) February 4, 2019 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 https:\/\/t.co\/JFFDJlfIQA\n&mdash; mattn (@mattn_jp) February 5, 2019 \u8ffd\u8a18\u7d42\u308f\u308a\n1 2 3 4 5 6 7 8 9 func FilterFoo(arr []string) []string { b := arr[:0] for _, e := range arr { if IsFoo(e) { b = append(b, e) } } return b } \u9055\u3046\u306e\u306f\u4e00\u884c\u76ee\u3060\u3051\u3067\u3059\u304c\u3001\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u53d6\u3063\u3066\u307f\u308b\u3068\u3001\u901f\u5ea6\u9762\u3067\u306f\u5927\u304d\u306a\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u6b21\u306e\u3088\u3046\u306a\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package benchmark_test import ( &#34;strings&#34; &#34;testing&#34; ) var a = []string{&#34;Hello&#34;, &#34;foo.go&#34;, &#34;hoge&#34;, &#34;bar.go&#34;, &#34;baz.go&#34;, &#34;fuga&#34;} func IsGoFilename(filename string) bool { return strings.HasSuffix(filename, &#34;.go&#34;) } func naive(arr []string) []string { var b []string for _, x := range arr { if IsGoFilename(x) { b = append(b, x) } } return b } func BenchmarkNaive(b *testing.B) { for i := 0; i &lt; b.N; i++ { naive(a) } } func woAlloc(arr []string) []string { b := arr[:0] for _, x := range arr { if IsGoFilename(x) { b = append(b, x) } } return b } func BenchmarkWithoutAlloc(b *testing.B) { for i := 0; i &lt; b.N; i++ { woAlloc(a) } } \u7d50\u679c\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 $ go test -bench . -benchmem goos: darwin goarch: amd64 pkg: practice\/go-filtering-without-allocating BenchmarkNaive-8 5000000 252 ns\/op 240 B\/op 4 allocs\/op BenchmarkWithoutAlloc-8 50000000 34.3 ns\/op 0 B\/op 0 allocs\/op PASS ok practice\/go-filtering-without-allocating 3.269s ","permalink":"https:\/\/blog.web-apps.tech\/zero-memory-allocation-slice-filtering\/","summary":"<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":"zero memory allocation slice filtering"},{"content":"\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 \u8cbc\u308a\u4ed8\u3051\u578b\u306e\u3082\u306e\u3068\u3057\u3066\u306f\u3001Kickflip \u304c\u4eba\u6c17\u3067\u3059\u3002 \u4eca\u56de\u7d39\u4ecb\u3059\u308b\u306e\u3082\u8cbc\u308a\u4ed8\u3051\u578b\u3067\u3001\u305d\u306e\u540d\u3082Majextand \u3068\u3044\u3044\u307e\u3059\u3002 \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\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\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\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\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 \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\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)\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 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/majextand\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/package_hu_5a9573fe260553ac.jpg\" alt=\"package\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/P_20190127_163214_hu_bea996b796076745.jpg\" alt=\"package_2\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/P_20190127_163242_hu_2b87ec2f4ebd8ca.jpg\" alt=\"package_3\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/P_20190127_163336_hu_e37445e857a184a5.jpg\" alt=\"majextand_1\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/P_20190127_163346_hu_e4006fd7822975fc.jpg\" alt=\"majextand_2\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/majextand\/images\/P_20190127_165642_hu_77da7e0869447e0c.jpg\" alt=\"majextand_3\"  \/>\n\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":"Majextand"},{"content":"\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\n\u3055\u3066\u3001\u9d28\u5357\u86ee\u306a\u306e\u3067\u9d28\u8089\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u56de\u306fbuilderscon \u306e\u8089\u4f1a\u306a\u3069\u3067\u304a\u4e16\u8a71\u306b\u306a\u3063\u3066\u3044\u308b\u30df\u30fc\u30c8\u30ac\u30a4 \u3055\u3093\u304b\u3089\u9d28\u306e\u80f8\u8089 \u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\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\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\n\u713c\u304d\u76ee\u3092\u3064\u3051\u305f\u9d28\u8089\u3067\u3059\u3002\u3044\u3044\u8272\u3067\u3059\u306d\u3002\n\u6cb9\u304c\u305f\u304f\u3055\u3093\u51fa\u307e\u3059\u3002\n\u9d28\u304b\u3089\u51fa\u305f\u6cb9\u3067\u30cd\u30ae\u3092\u713c\u304d\u307e\u3057\u3087\u3046\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\n\u6700\u5f8c\u306b\u305d\u3070\u306e\u4e0a\u306b\u76db\u308a\u4ed8\u3051\u3066\u5b8c\u6210\u3002\u3046\u307e\u3044\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/toshikoshi-kamo-nanban\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/65D353F9-A9FD-47C3-B668-9C2187DE6265-1_hu_2a2c7b18b5a69b52.jpg\" alt=\"65D353F9-A9FD-47C3-B668-9C2187DE6265-1\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/FAA9912D-0EA6-4E9E-A5A5-8A5560D26F7A_hu_e74ff4e617b6b12c.jpg\" alt=\"FAA9912D-0EA6-4E9E-A5A5-8A5560D26F7A\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/4DB89241-70A4-4DE2-B504-0002B24C59CF_hu_8013807027b20a62.jpg\" alt=\"4DB89241-70A4-4DE2-B504-0002B24C59CF\"  \/>\n\n\u713c\u304d\u76ee\u3092\u3064\u3051\u305f\u9d28\u8089\u3067\u3059\u3002\u3044\u3044\u8272\u3067\u3059\u306d\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/9204407A-C125-4EE4-A3DB-D7782D468D2C_hu_37717e0a9c42e881.jpg\" alt=\"9204407A-C125-4EE4-A3DB-D7782D468D2C\"  \/>\n\n\u6cb9\u304c\u305f\u304f\u3055\u3093\u51fa\u307e\u3059\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/91CA617A-F212-4EDC-BF36-C9E200797540_hu_ddb213c4cda990c6.jpg\" alt=\"91CA617A-F212-4EDC-BF36-C9E200797540\"  \/>\n\n\u9d28\u304b\u3089\u51fa\u305f\u6cb9\u3067\u30cd\u30ae\u3092\u713c\u304d\u307e\u3057\u3087\u3046<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/8CD6FB38-023B-49D9-A306-AB7976FF40DA_hu_3042ff3553c100e7.jpg\" alt=\"8CD6FB38-023B-49D9-A306-AB7976FF40DA\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/toshikoshi-kamo-nanban\/images\/A8BD9816-5A62-4776-B407-DF886C5677F8-1_hu_ce4ec685f388fadf.jpg\" alt=\"A8BD9816-5A62-4776-B407-DF886C5677F8-1\"  \/>\n\n\u6700\u5f8c\u306b\u305d\u3070\u306e\u4e0a\u306b\u76db\u308a\u4ed8\u3051\u3066\u5b8c\u6210\u3002\u3046\u307e\u3044\u3002<\/p>","title":"\u5e74\u8d8a\u3057\u9d28\u5357\u86ee"},{"content":"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 \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\n\u305d\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u4fbf\u5229\u306a\u306e\u304cjessevdk\/go-assets \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 jessevdk\/go-assets\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u307e\u305ajessevdk\/go-assets-builder \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\u306eAssets\u3068\u3044\u3046\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u308c\u308b\u30c4\u30fc\u30eb\u3067\u3042\u308b\u3002\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u7c21\u5358\u3067\u3001go get\u3059\u308b\u3060\u3051\u3002\n1 $ go get github.com\/jessevdk\/go-assets-builder \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u3089\u3001\u6b21\u306e\u3088\u3046\u306b\u4f7f\u3046\u3002\n1 2 3 $ ls assets\/ foo.html.tmpl bar.png $ go-assets-builder assets -o assets.go \u3059\u308b\u3068\u3001assets\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5185\u5bb9\u304c\u57cb\u3081\u8fbc\u307e\u308c\u305fassets.go\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\u3001package main\u3068\u3057\u3066\u4f5c\u6210\u3055\u308c\u305f\u3002\u5fc5\u8981\u306a\u3089-p\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002 \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\n1 2 3 4 f, _ := Assets.Open(&#34;\/assets\/foo.html.tmpl&#34;) \/\/ in production, need to handle error defer f.Close() \/\/ Do something with f \u3053\u3053\u3067\u4f5c\u6210\u3055\u308c\u305ff\u306fos.File\u3068\u540c\u3058\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5099\u3048\u3066\u3044\u308b\u3002\u8981\u3059\u308b\u306b\u3001os.Open\u3092\u4f7f\u7528\u3057\u305f\u3068\u304d\u3068\u540c\u3058\u3088\u3046\u306b\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\n\u307e\u305f\u3001Assets\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-v\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\n","permalink":"https:\/\/blog.web-apps.tech\/jessevdk-go-assets\/","summary":"<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":"jessevdk\/go-assets\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u57cb\u3081\u8fbc\u3080"},{"content":"\u7686\u3055\u3093\u3001net\/http\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u4f7f\u3063\u3066\u3044\u307e\u3059\u304b\uff1f Go\u8a00\u8a9e\u306e\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3042\u308bnet\/http\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 \u3057\u304b\u3057\u3001\u3053\u306enet\/http\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\n1. Response Body\u306f\u30af\u30ed\u30fc\u30ba\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b \u6b21\u306e\u30b3\u30fc\u30c9\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 4 5 6 7 8 9 resp, err := http.Get(&#34;https:\/\/example.com\/api&#34;) if err != nil { return nil, err } var t T if err := json.NewDecoder(resp.Body).Decode(&amp;t); err != nil { return nil, err } return &amp;t, nil \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 \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\nIt is the caller&rsquo;s responsibility to close Body.\nBody\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\u3002Response.Body\u306f Close()\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\n2. Response Body\u3092\u6700\u5f8c\u307e\u3067\u8aad\u3080 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\n1 2 3 4 5 6 7 8 9 10 resp, err := http.Get(&#34;https:\/\/example.com\/api&#34;) if err != nil { return nil, err } defer resp.Body.Close() var t T if err := json.NewDecoder(resp.Body).Decode(&amp;t); err != nil { return nil, err } return &amp;t, nil defer\u3092\u4f7f\u3046\u3053\u3068\u3067\u304d\u3061\u3093\u3068\u30af\u30ed\u30fc\u30ba\u3067\u304d\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002 \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\nThe default HTTP client&rsquo;s Transport may not reuse HTTP\/1.x &ldquo;keep-alive&rdquo; TCP connections if the Body is not read to completion and closed.\nResponse Body\u304c\u6700\u5f8c\u307e\u3067\u8aad\u307e\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3067\u3059\u306d\u3002json\u306e\u30c7\u30b3\u30fc\u30c9\u306e\u6700\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306a\u3069\u3001\u6700\u5f8c\u307e\u3067\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u6700\u5f8c\u307e\u3067\u8aad\u307f\u8fbc\u3080\u51e6\u7406\u3092\u5165\u308c\u307e\u3057\u3087\u3046\u3002\n3. Response Code\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b Response Body\u3092\u6700\u5f8c\u307e\u3067\u8aad\u307f\u8fbc\u3080\u51e6\u7406\u3092\u52a0\u3048\u305f\u306e\u304c\u6b21\u306e\u30b3\u30fc\u30c9\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 resp, err := http.Get(&#34;https:\/\/example.com\/api&#34;) if err != nil { return nil, err } defer func() { defer resp.Body.Close() io.Copy(ioutil.Discard, resp.Body) } var t T if err := json.NewDecoder(resp.Body).Decode(&amp;t); err != nil { return nil, err } return &amp;t, nil \u554f\u984c\u306f\u3042\u308a\u307e\u3059\u304b\uff1f\u306f\u3044\u3001\u304d\u3061\u3093\u3068Response Code\u3092\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3057\u3087\u3046\u3002\u30ea\u30af\u30a8\u30b9\u30c8\u6642\u306b\u8fd4\u3063\u3066\u304f\u308b\u30a8\u30e9\u30fc\u306f\u3042\u304f\u307e\u3067\u30ea\u30af\u30a8\u30b9\u30c8\u6642\u306e\u30a8\u30e9\u30fc\u3067\u3042\u308a\u3001HTTP\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9\u306e\u78ba\u8a8d\u307e\u3067\u306f\u3057\u307e\u305b\u3093\u3002 API\u306b\u3088\u3063\u3066\u306f\u3001\u6b63\u5e38\u6642\u306f200\u3067\u8fd4\u3059\u304c\u30a8\u30e9\u30fc\u6642(\u4f8b\u3048\u3070404\u306e\u3068\u304d)\u306f\u666e\u901a\u306bweb\u30da\u30fc\u30b8\u304c\u8fd4\u3063\u3066\u304d\u3066\u3057\u307e\u3046\u3001\u3068\u3044\u3046API\u3082\u3042\u308a\u5f97\u307e\u3059\u3002 \u305d\u3093\u306a\u5834\u5408\u306bjson\u306eDecode\u304cpanic\u3092\u8d77\u3053\u3055\u306a\u3044\u3088\u3046\u3001\u304d\u3061\u3093\u3068\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002 \u307e\u305f\u3001Response.StatusCode\u306f\u5358\u306a\u308bint\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u5834\u5408\u306b\u3088\u3063\u3066\u306f0\u306a\u3069\u306e\u304a\u304b\u3057\u306a\u5024\u304c\u5165\u3063\u3066\u3044\u308b\u3053\u3068\u3082\u3042\u308b\u306e\u3067\u3001\u305d\u3046\u3044\u3063\u305f\u610f\u5473\u3067\u3082\u78ba\u8a8d\u304c\u5fc5\u8981\u3067\u3057\u3087\u3046\u3002\n\u6700\u7d42\u30b3\u30fc\u30c9 \u6700\u7d42\u7684\u306b\u306f\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u306b\u306a\u308a\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 resp, err := http.Get(&#34;https:\/\/example.com\/api&#34;) if err != nil { return nil, err } defer func() { defer resp.Body.Close() io.Copy(ioutil.Discard, resp.Body) } if resp.StatusCode &lt; 200 || 299 &lt; resp.StatusCode { return nil, errors.New(&#34;something error message...&#34;) } var t T if err := json.NewDecoder(resp.Body).Decode(&amp;t); err != nil { return nil, err } return &amp;t, nil \u6700\u521d\u306f\u30b7\u30f3\u30d7\u30eb\u306a\u3088\u3046\u306b\u898b\u3048\u307e\u3057\u305f\u304c\u3001\u5c11\u3057\u80a5\u5927\u5316\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\u601d\u3063\u3066\u3044\u305f\u3088\u308a\u3082\u6ce8\u610f\u3059\u3079\u304d\u70b9\u304c\u3042\u3063\u305f\u3088\u3046\u3067\u3059\u3002\u3053\u308c\u306b\u52a0\u3048\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306fcontext.Context\u3092\u4f7f\u3063\u3066\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306e\u6307\u5b9a\u3092\u3057\u305f\u3044\u3001\u306a\u3069\u3088\u308a\u8907\u96d1\u306b\u306a\u308b\u53ef\u80fd\u6027\u3082\u3042\u308a\u307e\u3059\u3002 \u4e00\u898b\u5358\u7d14\u306a\u30ea\u30af\u30a8\u30b9\u30c8\u3067\u3059\u304c\u3001\u304d\u3061\u3093\u3068\u6c17\u3092\u9063\u3063\u3066\u3044\u304d\u305f\u3044\u3067\u3059\u306d\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/net-http-for-valid\/","summary":"<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":"\u304d\u3061\u3093\u3068\u3084\u308bnet\/http"},{"content":"tl;dr .gitconfig\u306b\u3082alias\u306e\u767b\u9332\u304c\u3067\u304d\u308b [alias]\u30d6\u30ed\u30c3\u30af\u306balias\u3092\u767b\u9332\u3059\u308b tags\u3067\u5358\u6570\u30fb\u8907\u6570\u306e\u60a9\u307f\u3092\u89e3\u6d88\u3059\u308b discard\u3067\u5909\u66f4\u3092\u53d6\u308a\u6d88\u3059 unstage\u3067add\u3092\u53d6\u308a\u6d88\u3059 uncommit\u3067commit\u3092\u53d6\u308a\u6d88\u3059 ignore\u3067.gitignore\u3092\u751f\u6210\u3059\u308b git aliases \u3053\u306e\u8a18\u4e8b\u306f\u4eca\u3059\u3050alias\u767b\u9332\u3059\u3079\u304d\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc by \u3086\u3081\u307f\u2460 Advent Calendar 2018 \u306e6\u65e5\u76ee\u306e\u7a74\u57cb\u3081\u8a18\u4e8b\u3067\u3059\u3002 \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.bashrc\u3084.zshrc\u306ealias\u306b\u3064\u3044\u3066\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3089\u3063\u3057\u3083\u3044\u307e\u3059\u304c\u3001\u5b9f\u306f.gitconfig\u3068\u3044\u3046\u3001git\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 \u8ab0\u3082shell\u306ealias\u3068\u306f\u8a00\u3063\u3066\u306a\u3044\uff01(\u30fb\u30fb\u30fb\u306f\u305a)\u306e\u3067\u3001\u3044\u304f\u3064\u304b.gitconfig\u7528\u306b\u4fbf\u5229\u306aalias\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\nalias\u306e\u767b\u9332\u65b9\u6cd5 .gitconfig\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\n1 2 3 [alias] aliasname1 = some command 1st aliasname2 = some command 2nd \u7c21\u5358\u3067\u3059\u306d\uff1f [alias]\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 \u3053\u306e\u3068\u304d\u30b3\u30de\u30f3\u30c9\u306fgit xxx\u306e\u5f62\u3067\u5b9f\u884c\u3055\u308c\u308b\u3001xxx\u306e\u90e8\u5206\u306e\u307f\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\u4f8b\u3048\u3070\u3001\n1 2 [alias] stat = git status \u3068\u6307\u5b9a\u3059\u308b\u3068\u5b9f\u969b\u306e\u5b9f\u884c\u6642\u306b\u306fgit git status\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 git\u306e\u3064\u304b\u306a\u3044\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306f\u982d\u306b!\u3092\u3064\u3051\u307e\u3059\u3002\n1 2 [alias] ls = !ls \u3053\u306e\u3088\u3046\u306b\u8a18\u8f09\u3059\u308b\u3068\u3001git ls\u3067ls\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\ngit tags git tag\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 git tag\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\u306fgit push --tags\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\u3082git tag\u3068\u5358\u6570\u5f62\u306a\u3093\u3067\u3059\u306d\u3002 \u3064\u3044\u3064\u3044git tags\u3068\u6253\u3063\u3066\u3057\u307e\u3044\u307e\u305b\u3093\u304b\uff1f\n\u305d\u3093\u306a\u3042\u306a\u305f\u306f\u3053\u3093\u306aalias\u3092\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\n1 2 [alias] tags = tag \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\ngit discard \u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3057\u3066\u3001\u300c\u3042\u3001\u3084\u3063\u3071\u3084\u30fc\u3081\u305f\u300d\u3001\u3068\u305d\u3093\u306a\u3053\u3068\u3001\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u3093\u306a\u3068\u304d\u306bmagit \u3092\u4f7f\u3063\u3066\u3044\u308c\u3070M-x magit-status\u304b\u3089\u306ek\u3001\u3067\u4e00\u767a\u3067\u3059\u304c\u3001\u3055\u3066\u30b3\u30de\u30f3\u30c9\u3067\u3084\u308b\u306b\u306f\u3069\u3046\u3057\u305f\u3089\u3044\u3044\u3093\u3067\u3057\u3087\u3046\u304b\uff1f git reset\uff1fgit checkout\uff1f\u306a\u3093\u306b\u305b\u3088\u5c11\u3057\u60a9\u3093\u3067\u5834\u5408\u306b\u3088\u3063\u3066\u306fGoogle\u5148\u751f\u306b\u304a\u805e\u304d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u305d\u3046\u3067\u3059\u3002\n\u305d\u3093\u306a\u3068\u304d\u306b\u4fbf\u5229\u306a\u306e\u304c\u6b21\u306ealias\u3002\n1 2 [alias] discard = checkout -- \u6b63\u89e3\u306fgit checkout\u3067\u3059\u304c\u3001\u3082\u3063\u3068\u308f\u304b\u308a\u3084\u3059\u304f\u3001git discard\u3068\u3059\u308c\u3070\u60a9\u3080\u5fc5\u8981\u3082\u306a\u3044\u3067\u3059\u306d\u3002\ngit unstage \u666e\u6bb5\u306f\u306a\u306b\u304b\u3057\u3089\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089git\u3092\u64cd\u4f5c\u3057\u3066\u3044\u308b\u3042\u306a\u305f\u3002\u4e00\u5ea6git add\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092add\u3057\u3066\u3044\u306a\u3044\u72b6\u614b\u306b\u623b\u3059\u30b3\u30de\u30f3\u30c9\u3092\u3059\u3050\u306b\u7b54\u3048\u3089\u308c\u307e\u3059\u304b\uff1f\u79c1\u306f\u3059\u3050\u306b\u306f\u7b54\u3048\u3089\u308c\u307e\u305b\u3093\u3002\u78ba\u5b9f\u306bGoogle\u3067\u691c\u7d22 \u3059\u308b\u81ea\u4fe1\u304c\u3042\u308a\u307e\u3059\u3002\n\u305d\u3053\u3067\u3001\u3053\u3093\u306aalias\u3092\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n1 2 [alias] unstage = reset -q HEAD -- \u3053\u308c\u3067\u9593\u9055\u3063\u3066add\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3082git unstage hogehoge\u3068\u4e00\u767a\u3067\u3059\u3002\ngit uncommit \u3055\u3066\u3001\u7de8\u96c6\u3057\u305f\u3060\u3051\u3060\u3063\u305f\u308a\u3001add\u3057\u305f\u3060\u3051\u306a\u3089\u305d\u3093\u306a\u306b\u96e3\u3057\u3044\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u4e00\u65e6commit\u3057\u305f\u5f8c\u306f\u3069\u3046\u3067\u3057\u3087\u3046\u304b\u3002\u30d2\u30f3\u30c8\u306freset\u3092\u4f7f\u3046\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u304c\u3001\u3069\u306e\u3088\u3046\u306b\u6307\u5b9a\u3092\u3057\u305f\u3089\u826f\u3044\u304b\u308f\u304b\u308a\u307e\u3059\u304b\uff1f --mixed\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3046\u3001\u304c\u7b54\u3048\u3067\u3059\u3002\u3068\u306f\u3044\u3048\u3001\u3053\u3093\u306a\u306e\u3059\u3050\u306b\u306f\u601d\u3044\u51fa\u305b\u307e\u305b\u3093\u3002\u3084\u308a\u305f\u3044\u3053\u3068\u306fcommit\u3092\u53d6\u308a\u6d88\u3057\u305f\u3044\u3001\u3067\u3059\u304b\u3089\u3002\n\u3053\u3093\u306aalias\u304c\u4fbf\u5229\u3067\u3057\u3087\u3046\u3002\n1 2 [alias] uncommit = reset --mixed HEAD~ git uncommit\u3002\u3046\u3093\u3001\u308f\u304b\u308a\u3084\u3059\u304f\u306a\u308a\u307e\u3057\u305f\u3002\ngit ignore \u6700\u5f8c\u306f\u3053\u308c\u3067\u3059\u3002\u524d\u306b\u3082\u4e00\u5ea6\u7d39\u4ecb\u3057\u307e\u3057\u305f\u304c \u3001\u307f\u306a\u3055\u3093\u306f.gitignore\u3092\u3069\u306e\u3088\u3046\u306b\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u304b\uff1f \u8272\u3005\u3068\u65b9\u6cd5\u306f\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u79c1\u306fgitignore.io \u304c\u597d\u304d\u3067\u3059\u3002 \u3057\u304b\u3057\u6bce\u56de\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u305f\u308a\u3001URL\u3092\u30bf\u30a4\u30d7\u3059\u308b\u306e\u306f\u9762\u5012\u3067\u3059\u3002\n\u79c1\u306f\u6b21\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\n1 2 [alias] ignore = !curl -L -s https:\/\/www.gitignore.io\/api\/$@ \u3053\u308c\u3067\u3001git ignore\u30b3\u30de\u30f3\u30c9\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u3001git ignore macos &gt; .gitignore\u306e\u5f62\u3067\u7c21\u5358\u306b.gitignore\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f5c\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u306a\u304a\u3001\u666e\u6bb5\u79c1\u304c\u4f7f\u3063\u3066\u3044\u308b.gitconfig\u306fGitHub\u3067 \u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/git-aliases\/","summary":"<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\u306b\u3082alias\u306e\u6307\u5b9a\u304c\u3067\u304d\u308b\u4ef6"},{"content":"\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 \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\ntools \u4f7f\u7528\u3057\u3066\u3044\u308b\u30c4\u30fc\u30eb\u306f\u4ee5\u4e0b\u306e\u901a\u308a:\nhub : .zshrc \u3067git\u30b3\u30de\u30f3\u30c9\u306b\u30a8\u30a4\u30ea\u30a2\u30b9\u3092\u5f35\u3063\u3066\u307e\u3059 gitignore.io : \u5148\u65e5\u8a18\u4e8b\u3092\u66f8\u3044\u305f\u3088\u3046\u306b \u3001git ignore\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u4f7f\u3063\u3066\u307e\u3059 git-license : \u81ea\u4f5c\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3067\u3059 routine 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # \u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u7528\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210 $ mkdir new-repository $ cd new-repository $ git init # GitHub\u4e0a\u306bnasa9084\/new-repository\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210 # hub\u30b3\u30de\u30f3\u30c9\u306e\u6a5f\u80fd $ git create # \u307e\u305a\u306f\u7a7a\u306e\u72b6\u614b\u3067\u521d\u56de\u30b3\u30df\u30c3\u30c8 $ git commit -m &#39;initial commit&#39; --allow-empty # .gitignore\u3092\u4f5c\u6210(\u4eca\u56de\u306fgo\u8a00\u8a9e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051) $ git ignore emacs,macos,go &gt; .gitignore $ git add .gitignore $ git commit -m &#39;add .gitignore for emacs,macos,go&#39; # LICENSE\u3092\u4f5c\u6210 $ git license -u nasa9084 mit &gt; LICENSE $ git add LICENSE $ git commit -m &#39;add MIT License&#39; $ git push -u origin master \u3053\u3053\u307e\u3067\u304c\u30eb\u30fc\u30c1\u30f3\u3067\u3001\u3053\u3053\u304b\u3089Makefile\u3092\u4f5c\u3063\u305f\u308a\u958b\u767a\u3057\u305f\u308a\u3057\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/routine-make-git-repo\/","summary":"<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=\"\/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":"git repository\u306e\u521d\u671f\u5316\u30eb\u30fc\u30c1\u30f3"},{"content":"OpenPGP\u306fPGP(Pretty Good Privacy)\u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f\u6697\u53f7\u5316\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u3059\u3002 Go\u8a00\u8a9e\u3067\u3082golang.org\/x\/crypto\/openpgp \u3068\u3044\u3046\u6e96\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\nPGP\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\nTL;DR \u6697\u53f7\u5316\u306b\u306fSymmetricallyEncrypt()\u3092\u4f7f\u7528\u3059\u308b \u5fa9\u53f7\u306b\u306fReadMessage()\u3092\u4f7f\u7528\u3059\u308b prompt\u6b21\u7b2c\u3067\u7121\u9650\u30eb\u30fc\u30d7\u3059\u308b\u6050\u308c\u304c\u3042\u308b\u306e\u3067\u6ce8\u610f \u6697\u53f7\u5316 x\/crypto\/openpgp\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\u3001SymmetricallyEncrypt\u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 \u30b7\u30b0\u30cd\u30c1\u30e3\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n1 func SymmetricallyEncrypt(ciphertext io.Writer, passphrase []byte, hints *FileHints, config *packet.Config) (plaintext io.WriteCloser, err error) \u9806\u756a\u306b\u898b\u3066\u884c\u304d\u307e\u3059\u3002\u307e\u305a\u306f\u5f15\u6570\u304b\u3089\u3002\n\u7b2c\u4e00\u5f15\u6570\u3067\u3042\u308bciphertext\u306b\u306f\u3001\u6697\u53f7\u5316\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u51fa\u529b\u3059\u308bio.Writer\u3092\u4e0e\u3048\u307e\u3059\u3002*os.File\u306a\u3069\u3092\u4e0e\u3048\u3066\u3082\u3044\u3044\u3067\u3059\u304c\u3001*bytes.Buffer\u306a\u3069\u3092\u4e0e\u3048\u3066\u305d\u306e\u5f8c*os.File\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\n\u7b2c\u4e8c\u5f15\u6570\u306epassphrase\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u4e0e\u3048\u307e\u3059\u3002\n\u7b2c\u4e09\u5f15\u6570\u306ehints\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\u306bnil\u3092\u4e0e\u3048\u3066\u3082\u826f\u3044\u3067\u3059\u3002\n\u7b2c\u56db\u5f15\u6570\u306econfig\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\u3066crypto\/rand.Reader\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\u3066time.Now\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\n\u8fd4\u308a\u5024\u306f\u4e8c\u5024\u3067\u3001io.WriteCloser\u3068error\u3067\u3059\u3002\u8fd4\u308a\u5024\u306eio.WriteCloser\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\u305aClose\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002\n\u4f7f\u7528\u4f8b 1 2 3 4 5 6 7 8 func encrypt(in io.Reader, out io.Writer, passphrase []byte) error { \/\/ omit error handling w, _ := openpgp.SymmetricallyEncrypt(out, passphrase, nil, nil) defer w.Close() io.Copy(w, in) return nil } \u5fa9\u53f7 \u6697\u53f7\u5316\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5fa9\u53f7\u3059\u308b\u306b\u306f\u3001ReadMessage\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\n1 func ReadMessage(r io.Reader, keyring KeyRing, prompt PromptFunction, config *packet.Config) (*MessageDetails, error) \u3053\u3061\u3089\u3082\u9806\u306b\u898b\u3066\u884c\u304d\u307e\u3057\u3087\u3046\u3002\n\u7b2c\u4e00\u5f15\u6570\u306eio.Reader\u306b\u306f\u6697\u53f7\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4e0e\u3048\u307e\u3059\u3002\u8aad\u307f\u8fbc\u307f\u3067\u3059\u304b\u3089\u3001*os.File\u3092\u76f4\u63a5\u4e0e\u3048\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n\u7b2c\u4e8c\u5f15\u6570\u306f\u5fa9\u53f7\u306b\u4f7f\u7528\u3059\u308b\u9375\u3078\u306eKeyRing\u3067\u3059\u304b\u3089\u3001\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3067\u6697\u53f7\u5316\u3057\u305f\u4eca\u56de\u306fnil\u3092\u4e0e\u3048\u307e\u3059\u3002\n\u7b2c\u4e09\u5f15\u6570\u3067\u3042\u308bprompt\u304c\u3053\u306e\u95a2\u6570\u306e\u809d\u3067\u3001\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u8fd4\u3059\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u4e0e\u3048\u307e\u3059\u3002PromptFunction\u306e\u5b9a\u7fa9\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n1 type PromptFunction func(keys []Key, symmetric bool) ([]byte, error) \u4eca\u56de\u306e\u7528\u9014\u306e\u5834\u5408\u306f\u5f15\u6570\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u57fa\u672c\u7684\u306b\u306f\u5358\u7d14\u306b\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u8fd4\u3059\u95a2\u6570\u3068\u3059\u308b\u304b\u3001\u6a19\u6e96\u5165\u529b\u7b49\u304b\u3089\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u3092\u8aad\u307f\u8fbc\u3093\u3067\u8fd4\u3059\u3001\u3068\u3044\u3046\u95a2\u6570\u3068\u3057\u3066\u4f5c\u6210\u3059\u308c\u3070\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n\u4e00\u70b9\u3060\u3051\u6ce8\u610f\u70b9\u304c\u3042\u308a\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u6b21\u306e\u3088\u3046\u306a\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u3002\nIf the decrypted private key or given passphrase isn&rsquo;t correct, the function will be called again, forever.\n\u8fd4\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u3068\u3001\u6c38\u9060\u306b\u3053\u306e\u95a2\u6570\u304c\u547c\u3070\u308c\u7d9a\u3051\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u4e8c\u5ea6\u76ee\u306b\u547c\u3070\u308c\u305f\u6642\u306b\u30a8\u30e9\u30fc\u3092\u8fd4\u3059\u3088\u3046\u306b\u3001\u306a\u3093\u3089\u304b\u306e\u5bfe\u7b56\u304c\u5fc5\u8981\u3067\u3059\u3002 \u4f8b\u3048\u3070\u3001\u6b21\u306e\u3088\u3046\u306a\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u4f5c\u6210\u3057\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n1 2 3 4 5 6 7 8 9 10 func promptFn(passphrase []byte) openpgp.PromptFunction { var called bool return func([]Key, bool) ([]byte, error) { if called { return nil, errors.New(&#34;the passphrase is invalid&#34;) } called = true return passphrase, nil } } \u7b2c\u56db\u5f15\u6570\u306econfig\u306f\u6697\u53f7\u5316\u306e\u6642\u306b\u4f7f\u7528\u3057\u305f\u3082\u306e\u3068\u540c\u3058\u3082\u306e\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u8fd4\u308a\u5024\u306e*MessageDetails\u306b\u5fa9\u53f7\u3055\u308c\u305f\u5185\u5bb9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u69cb\u9020\u4f53\u306f\u3044\u304f\u3064\u304b\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u542b\u307f\u307e\u3059\u304c\u3001\u5b9f\u969b\u306e\u30c7\u30fc\u30bf\u306fMessageDetails.UnverifiedBody\u3068\u3044\u3046io.Reader\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u4f7f\u7528\u4f8b \u524d\u7bc0\u3067\u7d39\u4ecb\u3057\u305fpromptFn\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u4f7f\u7528\u3057\u305f\u4f8b\u3067\u3059\u3002\n1 2 3 4 5 6 func decrypt(in io.Reader, out io.Writer, passphrase []byte) error { \/\/ omit error handling md, _ := openpgp.ReadMessage(in, nil, promptFn(passphrase), nil) io.Copy(out, md.UnverifiedBody) return nil } ","permalink":"https:\/\/blog.web-apps.tech\/x-crypto-openpgp\/","summary":"<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":"x\/crypto\/openpgp\u3067\u30c7\u30fc\u30bf\u3092\u6697\u53f7\u5316\u3059\u308b"},{"content":"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\n\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 \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 func GenInt(ctx context.Context, max int) &lt;-chan int { ch := make(chan int) go func() { defer close(ch) for i := 0; i &lt; max; i++ { select { case &lt;-ctx.Done(): return case ch &lt;- i: } } return ch } \u8fd4\u3055\u308c\u305f&lt;-chan int\u304b\u3089int\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 Go\u8a00\u8a9e\u306b\u304a\u3044\u3066\u3001chan\u306f\u8907\u6570\u7b87\u6240\u304b\u3089\u5024\u306e\u53d6\u308a\u51fa\u3057\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001chan\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 lock\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\u3001chan\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\n","permalink":"https:\/\/blog.web-apps.tech\/generator-pattern\/","summary":"<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":"Generator Pattern"},{"content":"LINE DEVELOPER DAY 2018 \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\n\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\n\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\n\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\n\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\nGitHub\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 \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\n\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\n\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\nLINE DEVELOPER DAY 2018\u306f\u53c2\u52a0\u8cbb\u7121\u6599\u3067\u3001\u7d041300\u4eba\u306e\u52d5\u54e1(\u4e88\u5b9a)\u3060\u305d\u3046\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/line-developer-day-2018\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/line-developer-day-2018\/images\/E481DC13-1BD6-488D-A8AE-BEDA3FA84C3E_hu_6049a50fba5e2268.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/line-developer-day-2018\/images\/B5755916-5A4B-4D09-B0EB-F5EFD469E2B0_hu_2c3a72f5f9fa172d.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/line-developer-day-2018\/images\/957469D0-DA94-4716-9EAE-F347E45E75EE_hu_d7b2321c6a6e4669.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/line-developer-day-2018\/images\/E21B0720-C9B3-4F2A-A7DD-49E4E3DF520C_hu_35475da245027c01.jpg\" alt=\"\"  \/>\n<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"LINE DEVELOPER DAY 2018\u306b\u53c2\u52a0\u3057\u305f"},{"content":"\u5272\u3068\u307f\u3093\u306a\u77e5\u3063\u3066\u308b\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u304c\u3002\ngit-xxx\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\u3001git xxx\u3068\u3044\u3046git\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\u4f5cgit-license \u3067\u3001git license [option] license_name &gt; LICENSE\u306e\u5f62\u3067\u5b9f\u884c\u3059\u308b\u3068LICENSE\u30d5\u30a1\u30a4\u30eb\u3092\u7c21\u5358\u306b\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u305d\u306e\u4ed6\u3001git config\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\n\u540c\u69d8\u306b\u3057\u3066\u3001git ignore\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\n\u304a\u305d\u3089\u304f\u73fe\u4ee3\u3067\u306f\u591a\u304f\u306e\u4eba\u304c.gitignore\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.gitignore\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066github\/gitignore \u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u4eca\u56de\u7d39\u4ecb\u3059\u308b\u306e\u306fgitignore.io \u3068\u3044\u3046\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002\ngitignore.io\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001.gitignore\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002 \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\u3089Create\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3053\u3068\u3067\u3001\u9078\u629e\u3057\u305f\u5bfe\u8c61\u7528\u306e.gitignore\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u5168\u3066\u542b\u3093\u3060.gitignore\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\n\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\n\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.gitignore\u306eURL\u304c\u305d\u306e\u307e\u307eAPI\u306eURL)\u3002 \u6b21\u306e\u3088\u3046\u306b\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002\n1 $ curl https:\/\/www.gitignore.io\/api\/go,emacs,macos https:\/\/www.gitignore.io\/api\/\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.gitignore\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\n\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\u3067git\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066git ignore\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\n1 $ git config --global alias.ignore &#39;!gi() { curl -L -s https:\/\/www.gitignore.io\/api\/$@ ;}; gi&#39; \u3082\u3057\u304f\u306f\u3001~\/.gitconfig\u30d5\u30a1\u30a4\u30eb\u306e[alias]\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u6b21\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002\n1 2 [alias] ignore = !curl -L -s https:\/\/www.gitignore.io\/api\/$@ $@\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\u3001git ignore\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\n1 $ git ignore go,emacs,macos \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\u306fgit ignore list\u3068\u3059\u308b\u3053\u3068\u3067\u8868\u793a\u3067\u304d\u307e\u3059\u3002\n\u6a19\u6e96\u51fa\u529b\u3092\u305d\u306e\u307e\u307e\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3057\u3066\u3001.gitignore\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\n","permalink":"https:\/\/blog.web-apps.tech\/gitignore-from-cli\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"git ignore\u30b3\u30de\u30f3\u30c9\u3067.gitignore\u3092\u53d6\u5f97\u3059\u308b"},{"content":"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\u306eflag\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u307b\u304b\u3001\u3001spf13\/cobra \u3001alecthomas\/kingpin \u306a\u3069\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002 \u79c1\u306f\u5c02\u3089\u3001jessevdk\/go-flags (\u4ee5\u4e0bgo-flags)\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002 go-flags\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\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3082\u30d5\u30e9\u30b0\u89e3\u6790\u306b\u95a2\u3059\u308b\u3082\u306e\u304c\u307b\u3068\u3093\u3069\u3067\u3059\u3002 \u3057\u304b\u3057\u3001go-flags\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\ngo-flags\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 \u7d42\u7aef\u306e\u3001\u5b9f\u969b\u306b\u4f55\u304b\u306e\u52d5\u4f5c\u3092\u3059\u308b\u30b3\u30de\u30f3\u30c9\u306f Commander 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(docker container\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 Commander interface\u306e\u5b9a\u7fa9\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n1 2 3 type Commander interface { Execute(args []string) error } \u975e\u5e38\u306b\u5358\u7d14\u3067\u3059\u306d\u3002args\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 \u5b9f\u969b\u306e\u5b9f\u88c5\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 4 5 6 7 8 type subcommand struct { verbose bool `short:&#34;v&#34; long:&#34;verbose&#34;` } func (cmd *subcommand) Execute(args []string) error { \/\/ some exec return nil } \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 \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u898b\u308b\u3068\u3001Command\u69cb\u9020\u4f53\u306b\u767b\u9332\u3059\u308b\u95a2\u6570\u304c\u3042\u308b\u3053\u3068\u3001Parser\u69cb\u9020\u4f53\u306fCommand\u69cb\u9020\u4f53\u304c\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u308b\u3053\u3068\u3001\u304c\u308f\u304b\u308a\u307e\u3059\u3002 \u901a\u5e38\u3001go-flags\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u30b0\u30ed\u30fc\u30d0\u30eb\u306eParse\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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 type options struct { \/\/ ... } var opts options \/\/ global option var parser = flags.NewParser(&amp;opts, flags.Default) var subcmd subcommand func init() { parser.AddCommand(&#34;subcmd&#34;, &#34;subcommand&#34;, &#34;&#34;, &amp;subcmd, ) } func main() { if _, err := parser.Parse(); err != nil { if fe, ok := err.(*flags.Error); ok &amp;&amp; fe.Type == flags.ErrHelp { os.Exit(0) } log.Print(err) os.Exit(1) } } \u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3059\u308b\u3053\u3068\u3067\u3001subcmd\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\u3002go run main.go subcmd\u306a\u3069\u3068\u3059\u308b\u3068\u3001subcommand.Execute\u95a2\u6570\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002 \u5b9f\u969b\u306b\u306fParser.AddSubCommand\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\n","permalink":"https:\/\/blog.web-apps.tech\/subcommand-using-jessevdk-go-flags\/","summary":"<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":"jessevdk\/go-flags\u3067\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u88c5\u3059\u308b"},{"content":"\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 Ergodox\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 \u4eca\u56de\u306f\u516c\u5f0f\u30b5\u30a4\u30c8 \u304b\u3089\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002\n\u69cb\u6210\u306f\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002\nColor: BLACK Tilt kit\/Wing Rest: YES Keycap: Blank Switches: Cherry MX Blue \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\nwing rest\u306e\u7bb1\u306f\u51f9\u3093\u3067\u3044\u307e\u3057\u305f\u3002\u3002\u3002 \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 \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\n\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 web\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\u306fCIY \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 \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\n\u73fe\u5728\u306f\u4f1a\u793e\u3067\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002 \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 \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\u306fnasa9084\/qmk_firmware \u306edevelop\u30d6\u30e9\u30f3\u30c1\u3067\u7ba1\u7406\u3057\u3066\u3044\u307e\u3059\u3002 \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\n\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u3001arch linux\u306e\u5834\u5408\u3001sudo pacman -S avr-libc\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u307b\u304b\u3001macos\u306e\u5834\u5408\u3001brew install avr-gcc\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u306e\u3067\u3059\u3053\u3057\u30cf\u30de\u308a\u307e\u3057\u305f\n","permalink":"https:\/\/blog.web-apps.tech\/my-first-ergodox-ez\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Ergodox EZ\u3092\u8cfc\u5165\u3057\u305f"},{"content":"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 \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\ndynamic 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\n\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\n\u4e0b\u6e96\u5099 \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\/dev\/vdb\u306bCeph\u7528\u306e\u30c7\u30a3\u30b9\u30af\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002 \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 \u307e\u305f\u3001ceph-1 ceph-2 ceph-3\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\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u307e\u305a\u306f\u516c\u5f0f\u30b5\u30a4\u30c8 \u3092\u53c2\u8003\u306b\u5404\u30b5\u30fc\u30d0\u3078\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u8ffd\u52a0\u3092\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 \/root@ceph-N# rpm --import &#39;https:\/\/download.ceph.com\/keys\/release.asc&#39; \/root@ceph-N# cat &lt; EOF &gt; \/etc\/repos.d\/ceph.repo [ceph] name=Ceph packages for $basearch baseurl=https:\/\/download.ceph.com\/rpm-mimic\/el7\/$basearch enabled=1 priority=2 gpgcheck=1 gpgkey=https:\/\/download.ceph.com\/keys\/release.asc [ceph-noarch] name=Ceph noarch packages baseurl=https:\/\/download.ceph.com\/rpm-mimic\/el7\/noarch enabled=1 priority=2 gpgcheck=1 gpgkey=https:\/\/download.ceph.com\/keys\/release.asc [ceph-source] name=Ceph source packages baseurl=https:\/\/download.ceph.com\/rpm-mimic\/el7\/SRPMS enabled=0 priority=2 gpgcheck=1 gpgkey=https:\/\/download.ceph.com\/keys\/release.asc EOF \u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u8ffd\u52a0\u304c\u3067\u304d\u305f\u3089\u3001\u5404\u30b5\u30fc\u30d0\u3078ceph-deploy\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n1 2 3 \/root@ceph-N# mkdir ceph \/root@ceph-N# cd ceph \/root\/ceph@ceph-N# yum install -y ceph-deploy \u3053\u3053\u307e\u3067\u306f\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d0\u306b\u5bfe\u3057\u5b9f\u884c\u3057\u307e\u3059\u3002ansible\u306a\u3069\u3092\u4f7f\u3063\u3066\u3082\u826f\u3044\u3067\u3057\u3087\u3046\u3002 \u305d\u3057\u3066\u3001\u3053\u3053\u304b\u3089\u306fceph-1\u306e\u307f\u3067\u5b9f\u65bd\u3057\u307e\u3059\u3002\n\u5404\u30b5\u30fc\u30d0\u3092OSD\u30ce\u30fc\u30c9\u3068\u3057\u3066\u767b\u9332\u3057\u307e\u3059\u3002\n1 \/root\/ceph@ceph-1# ceph-deploy new ceph-1 ceph-2 ceph-3 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u95a2\u3059\u308b\u8a18\u8ff0\u3092\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u8a18\u3057\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5408\u308f\u305b\u3066\u5404\u81ea\u30b5\u30d6\u30cd\u30c3\u30c8\u306f\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n1 \/root\/ceph@ceph-1# echo &#34;public network = 192.168.1.0\/24&#34; &gt;&gt; ceph.conf \u3044\u3088\u3044\u3088\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u3059\uff01\n1 \/root\/ceph@ceph-1# ceph-deploy install --release mimic ceph-1 ceph-2 ceph-3 \u9014\u4e2d\u3067\u6b62\u307e\u3089\u305a\u5b9f\u884c\u3067\u304d\u305f\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5b8c\u4e86\u3067\u3059\u3002\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u51e6\u7406 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306b\u3084\u3063\u3066\u304a\u304f\u51e6\u7406\u304c\u3044\u304f\u3064\u304b\u3042\u308b\u306e\u3067\u3084\u3063\u3066\u304a\u304d\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 \/root\/ceph@ceph-1# ceph-deploy mon create-initial \/root\/ceph@ceph-1# ceph-deploy admin ceph-1 ceph-2 ceph-3 \/root\/ceph@ceph-1# ceph-deploy osd create ceph-1 --data \/dev\/vdb &amp;&amp; \\ ceph-deploy osd create ceph-2 --data \/dev\/vdb &amp;&amp; \\ ceph-deploy osd create ceph-3 --data \/dev\/vdb \/root\/ceph@ceph-1# mkdir \/var\/lib\/ceph\/mgr\/ceph-admin \/root\/ceph@ceph-1# touch \/var\/lib\/ceph\/mgr\/ceph-admin\/keyring \/root\/ceph@ceph-1# ceph --cluster ceph auth get-or-create mgr.admin mon &#39;allow profile mgr&#39; osd &#39;allow *&#39; mds &#39;allow *&#39; &gt;&gt; \/var\/lib\/ceph\/mgr\/ceph-admin\/keyring \/root\/ceph@ceph-1# ceph-mgr -i admin \u4ee5\u4e0a\u3067Ceph\u30af\u30e9\u30b9\u30bf\u306e\u69cb\u7bc9\u306f\u5b8c\u4e86\u3067\u3059\uff01\nStorageClass\u3068\u3057\u3066\u8a2d\u5b9a \u7d9a\u3044\u3066\u3001StorageClass\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u307e\u305a\u306f\u30ce\u30fc\u30c9\u306e\u8a2d\u5b9a\u304b\u3089\u3067\u3059\u3002Ceph\u3092PersistentVolume\u3068\u3057\u3066\u4f7f\u3046\u306b\u306f\u3001\u5404\u30ce\u30fc\u30c9\u306bCeph\u306e\u30c9\u30e9\u30a4\u30d0\u304c\u5165\u3063\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306e\u7bc0\u3092\u53c2\u8003\u306b\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\u3057\u305f\u3042\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002\n1 \/root@kube-node-N# yum install -y ceph-common Ceph\u306bKubernetes\u7528\u306epool\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 \/root@ceph-1# ceph osd pool create kube 1024 \/root@ceph-1# ceph auth get-or-create client.kube mon &#39;allow r&#39; osd &#39;allow class-read object_prefix rbd_children, allow rwx pool=kube&#39; -o ceph.client.kube.keyring \u8a8d\u8a3c\u60c5\u5831\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n1 2 \/root@ceph-1# ceph auth get-key client.admin | base64 \/root@ceph-1# ceph auth get-key client.kube | base64 \u53d6\u5f97\u3057\u305f\u8a8d\u8a3c\u60c5\u5831\u3092\u4f7f\u7528\u3057\u3066\u6b21\u306e\u3088\u3046\u306aSecret\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --- apiVersion: v1 kind: Secret metadata: name: ceph-admin-secret namespace: kube-system data: key: &lt; insert your client.admin key &gt; type: kubernetes.io\/rbd --- apiVersion: v1 kind: Secret metadata: name: ceph-kube-secret namespace: kube-system data: key: &lt; insert your client.kube key &gt; type: kubernetes.io\/rbd 1 \/root@kube-node-1# kubectl apply -f ceph-secret.yml \u6700\u5f8c\u306b\u3001StorageClass\u3092\u4f5c\u6210\u3057\u307e\u3059(YAML\u4e2d\u306e192.168.1.x:6789\u306f\u305d\u308c\u305e\u308cceph-1\u3001ceph-2\u3001 ceph-3\u306eIP\u30a2\u30c9\u30ec\u30b9)\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 --- apiVersion: storage.k8s.io\/v1 kind: StorageClass metadata: name: ceph-rbd provisioner: kubernetes.io\/rbd allowVolumeExpansion: true parameters: monitors: 192.168.1.40:6789,192.168.1.43:6789,192.168.1.42:6789 adminId: admin adminSecretName: ceph-admin-secret adminSecretNamespace: kube-system pool: kube userId: kube userSecretName: ceph-kube-secret userSecretNamespace: kube-system 1 \/root@kube-node-1# kubectl apply ceph-storageclass.yml PersistentVolumeClaim\u3092\u4f5c\u6210\u3057\u3001\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\u4ee5\u4e0a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ceph-rbd-storageclass\/","summary":"<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":"Ceph RBD\u3092Kubernetes\u306eStorageClass\u3068\u3057\u3066\u767b\u9332\u3059\u308b"},{"content":"\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\n\u6765\u308b10\u670808\u65e5\u306b\u3001\u6280\u8853\u66f8\u5178 \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\u8272\u3093\u306a\u3068\u3053\u308d\u3067Kubernetes\u3092\u52d5\u304b\u3059\u672c \u300d\u3068\u3044\u3046\u540c\u4eba\u8a8c\u3092\u51fa\u3059\u4e88\u5b9a\u3067\u3059\u3002\n\u5148\u307b\u3069\u3001\u7121\u4e8b\u5165\u7a3f\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\n\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\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6 \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\n\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\u304b16\u3067\u3059\u3002\n\u306a\u304a\u3001\u5192\u982d\u306e\u753b\u50cf\u306f\u30bf\u30a4\u30c8\u30eb\u3092\u30df\u30b9\u3063\u305f\u8868\u7d19\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/chofu-tech-k8s-book\/","summary":"<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=\"\/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":"\u8abf\u5e03\u6280\u7814\u3067Kubernetes\u306e\u8584\u3044\u672c\u3092\u51fa\u3057\u307e\u3059"},{"content":"\u30ec\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3 \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\n&mdash; laiso?? (@laiso) August 1, 2017 \u672c\u984c \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\n\u4ee5\u4e0a\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/change-job-2018\/","summary":"<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":"\u65e5\u672c\u4eee\u60f3\u5316\u6280\u8853(\u682a)\u3092\u9000\u8077\u3057\u307e\u3059"},{"content":"ingress-nginx \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 \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\nclient-max-body-size 5m; \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\n\u307e\u3041\u3001\u7c21\u5358\u306a\u8a71\u3067\u3001annotation \u3067\u8a2d\u5b9a\u5024\u3092\u4e0e\u3048\u3066\u3042\u3052\u308c\u3070\u826f\u3044\u3067\u3059\u3002 \u3053\u306e\u5834\u5408\u3060\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002\n1 2 3 metadata: annotations: nginx.ingress.kubernetes.io\/proxy-body-size: 5m \u8a2d\u5b9a\u3067\u304d\u308b\u5024\u306fingress-nginx\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002 client-max-body-size\u3092\u6307\u5b9a\u3059\u308b\u306e\u306bproxy-body-size\u3068\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306b\u6ce8\u610f\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/configure-ingress-nginx\/","summary":"<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":"ingress-nginx\u3067\u8af8\u3005\u8a2d\u5b9a\u3059\u308b"},{"content":"\u904e\u65e5\u3001\u304b\u306d\u3066\u3088\u308a\u6e96\u5099\u3057\u3066\u304d\u305fbuilderscon tokyo 2018 \u304c\u958b\u50ac\u3055\u308c\u3001\u305d\u3057\u3066\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\nOpening \u4f8b\u5e74\u3001builderscon\u3067\u306f\u4e3b\u50ac\u306e@lestrrat \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\n\u305d\u308c\u304c\u3053\u3061\u3089\u3002\n\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\u300cbuilderscon tokyo 2018 \u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u4f5c\u6210\u306e\u88cf\u5074\u300d \u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\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\nTalk 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\u30b9\u30d4\u30fc\u30ab\u30fc\u3068\u3057\u3066\u3082\u53c2\u52a0\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f (\u30b9\u30e9\u30a4\u30c9\u306f\u3053\u3061\u3089 )\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\ntwitter\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\n\u30b9\u30bf\u30c3\u30d5\u3068\u3057\u3066 \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 \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\n\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\n\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\n\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\n\u6765\u5e74\u306b\u5411\u3051\u3066 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)\n","permalink":"https:\/\/blog.web-apps.tech\/builderscon-tokyo-2018\/","summary":"<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":"builderscon tokyo 2018"},{"content":"fitbit versa \u3092\u4f7f\u3044\u59cb\u3081\u3066 3\u65e5\u307b\u3069\u7d4c\u3063\u305f\u306e\u3067\u3001\u73fe\u6642\u70b9\u3067\u306e\u611f\u60f3\u3092\u3070\u3002\n\u96fb\u6c60\u306e\u6301\u3061\u306f\u524d\u60c5\u5831\u901a\u308a1\u65e5\u306720%\u301c25%\u6e1b\u308b\u7a0b\u5ea6 \u5e38\u6642\u63a5\u7d9a\u30fbKeep-Alive\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306f\u3068\u3082\u306bON \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 \u304a\u98a8\u5442\/\u30b7\u30e3\u30ef\u30fc\u306e\u9593\u306b\u5145\u96fb100% \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 \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 PC\u3067\u306e\u4f5c\u696d\u3067\u3082\u53cd\u5fdc\u3057\u3066\u308b\u6c17\u304c\u3059\u308b \u672c\u4f53\u304c\u9632\u6c34\u3067\u3082\u3001\u30d0\u30f3\u30c9\u304c\u6c34\u3092\u5438\u3046\u3068\u6c34\u306b\u904e\u654f\u306b\u306a\u308b \u660e\u65e5\u304b\u3089\u306fCLASSIC BAND\u306b\u53d6\u308a\u66ff\u3048\u3066\u307f\u308b \u7d50\u69cb\u5909\u306a\u65b9\u5411\u3092\u5411\u3044\u3066\u3057\u307e\u3046 \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 \u5b89\u3044\u753b\u9762\u4fdd\u8b77\u30ac\u30e9\u30b9\u30d5\u30a3\u30eb\u30e0 \u3092\u8cb7\u3063\u305f \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 \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 Android\u30a2\u30d7\u30ea\u306f\u82e5\u5e72\u30d0\u30b0\u3063\u3066\u308b \u5f8c\u8ff0\u3002 versa\u4e0a\u3067\u52d5\u304f\u30a2\u30d7\u30ea\u306f\u3042\u3093\u307e\u308a\u7121\u3044 \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) versa\u306e\u6642\u8a08\u76e4\u306e\u7a2e\u985e\u3082(\u3088\u3055\u3052\u306a\u306e\u306f)\u305d\u3093\u306a\u306b\u591a\u304f\u306a\u3044 \u307e\u3041\u3001\u9811\u5f35\u308d\u3046 \u968e\u6570\u30ab\u30a6\u30f3\u30c8\u306f\u4f55\u3092\u57fa\u6e96\u306b\u30ab\u30a6\u30f3\u30c8\u3057\u3066\u308b\u306e\u304b\u8b0e\u3002 \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 \u3088\u304f\u308f\u304b\u3089\u3093\u3002 \u30a2\u30e9\u30fc\u30e0\u3001\u3082\u3046\u5c11\u3057\u9577\u304f\u9cf4\u3063\u3066\u6b32\u3057\u3044 Android\u30a2\u30d7\u30ea\u306e\u30d0\u30b0 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 \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 \u5c1a\u52d5\u4f5c\u74b0\u5883\u306fZenfone 5Z\u3001Android 8.0.0\u3002\n\u7761\u7720\u306e\u30da\u30fc\u30b8\u3002\u554f\u984c\u306f\u306a\u3055\u305d\u3046\u306b\u898b\u3048\u308b\u3002\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\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\n","permalink":"https:\/\/blog.web-apps.tech\/fitbit-versa-3days\/","summary":"<p><a href=\"https:\/\/www.fitbit.com\/jp\/versa\" target=\"_blank\" rel=\"noopener\">fitbit versa<\/a>\n\u3092<a href=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa-3days\/images\/1_hu_6ef88615a20c9bfd.jpg\" alt=\"1\"  \/>\n\n\u7761\u7720\u306e\u30da\u30fc\u30b8\u3002\u554f\u984c\u306f\u306a\u3055\u305d\u3046\u306b\u898b\u3048\u308b\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa-3days\/images\/2_hu_fa986494560f6c2c.jpg\" alt=\"2\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa-3days\/images\/3_hu_2407ae9733563c3d.jpg\" alt=\"3\"  \/>\n\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":"fitbit versa\u4e09\u65e5\u76ee\u30ec\u30d3\u30e5\u30fc"},{"content":"TR;DR Kubernetes\u306eService\u3067\u3001Internal LoadBalancer\u3063\u3066\u306e\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u308c\u3092\u4f7f\u3046\u3068\u826f\u3044 Internal LoadBalancer \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\n\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\u306ePod\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 EKS\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\n\u3057\u304b\u3057\u9006\u306f\u554f\u984c\u3067\u3059\u3002Pod\u306eIP\u306f\u52ff\u8ad6\u5272\u308a\u632f\u3089\u308c\u3066\u306f\u3044\u307e\u3059\u3051\u308c\u3069\u3001\u3053\u308c\u306fPod\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\u306ePod\u306b\u4e57\u3063\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u66f4\u65b0\u306f\u666e\u901a\u3001Pod\u306e\u518d\u4f5c\u6210\u304c\u4f34\u3044\u307e\u3059\u3002Pod\u306e\u518d\u4f5c\u6210\u304c\u8d77\u304d\u308b\u3068\u3001\u52ff\u8ad6IP\u304c\u5909\u308f\u308a\u307e\u3059\u3002\n\u305d\u3046\u3059\u308b\u3068\u3001\u3084\u306f\u308a\u8003\u3048\u308b\u306e\u306fService\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 \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\u306bService\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\n\u307e\u3041\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3061\u3083\u3093\u3068\u8aad\u3081\u3088\u3063\u3066\u8a71\u306a\u3093\u3067\u3059\u304c\u3001Kubernetes\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \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\n1 2 3 4 5 6 # ... metadata: name: my-service annotations: service.beta.kubernetes.io\/aws-load-balancer-internal: 0.0.0.0\/0 # ... \u3053\u308c\u3060\u3051\u3067\u3001type: LoadBalancer\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\u306e0.0.0.0\/0\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 \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\n1 2 3 4 5 6 7 8 9 10 11 $ nslookup internal-xxxxx.us-west-2.elb.amazonaws.com 1.1.1.1 Server:\t1.1.1.1 Address:\t1.1.1.1#53 Non-authoritative answer: Name:\tinternal-xxxxx.us-west-2.elb.amazonaws.com Address: 192.168.187.214 Name:\tinternal-xxxxx.us-west-2.elb.amazonaws.com Address: 192.168.222.128 Name:\tinternal-xxxxx.us-west-2.elb.amazonaws.com Address: 192.168.109.84 \u3046\u30fc\u3093\u3001\u307e\u3041\u5b9f\u5bb3\u306f\u7121\u3044\u3093\u3067\u3057\u3087\u3046\u3051\u3069\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/eks-internal-lb\/","summary":"<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:\t\t1.1.1.1\n<\/span><\/span><span class=\"line\"><span class=\"cl\">Address:\t1.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:\tinternal-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:\tinternal-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:\tinternal-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":"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"},{"content":"\u30b9\u30de\u30fc\u30c8\u30a6\u30a9\u30c3\u30c1\u7684\u306a\u3082\u306e\u304c\u6b32\u3057\u3044\u306a\u30fc\u3068\u601d\u3063\u305f\u306e\u3067\u3001fitbit versa \u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\u3002 fitbit versa\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001fitbit \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\u5e72Apple Watch \u306b\u4f3c\u3066\u3044\u307e\u3059\u3002 \u5143\u3005\u3001Huawei Watch \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)\u65b0\u3057\u3044\u30e2\u30c7\u30eb \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\u3067Pebble \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\u306ffitbit\u306b\u8cb7\u53ce\u3055\u308c\u305f \u3068\u306e\u3053\u3068\u3067\u3057\u305f\u3002\u304b\u3068\u3044\u3063\u3066Apple Watch\u3092\u8cb7\u3046\u304b\u3068\u3044\u3046\u3068\u3001\u79c1\u306fAndroid \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\n\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\u805e\u3044\u305f\u308a \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)\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 \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\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!\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\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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/fitbit-versa\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa\/images\/4F3EBB43-D9E2-4D2D-A408-8CB751ACFDFE_hu_8b74a992efbf28c2.jpg\" alt=\"outsitde_box\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa\/images\/492831AA-30E8-443F-ACD3-5C530E3F572E_hu_ddd92d37e4d8cc0f.jpg\" alt=\"EXTRA BAND\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa\/images\/B658E26C-E76D-43C2-AC7E-44FC69657626_hu_66988d8ea9dbd35e.jpg\" alt=\"film\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/fitbit-versa\/images\/10D458F1-4F09-451B-B04D-3A1DFA129DFB_hu_c39158a3f590365b.jpg\" alt=\"versa\"  \/>\n\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":"fitbit versa\u3092\u8cfc\u5165\u3057\u305f\u306e\u3067\u958b\u5c01\u306e\u5100"},{"content":"\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 \u3053\u306e\u300c\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u300d\u306f\u8cfc\u5165\u5f53\u521d\u304b\u3089KVM\u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f(OpenNebula \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\u3066Kubernetes \u3092\u4e2d\u5fc3\u3068\u3057\u305f\u69cb\u6210\u306b\u7d44\u307f\u66ff\u3048\u305f\u306e\u3067\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002 \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\n\u7269\u7406\u5c64 \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\n\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 \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\nVM\u5c64 \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\u3066nginx \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\u306eDocker \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 \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\u308bminio \u3068\u30d6\u30ed\u30c3\u30af\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u63d0\u4f9b\u3059\u308bGlusterFS \u306e\u307f\u3068\u306a\u308a\u307e\u3057\u305f\u3002 \u5c1a\u3001GlusterFS\u30af\u30e9\u30b9\u30bf\u306e\u69cb\u6210\u306b\u306fheketi \u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002\n\u30b3\u30f3\u30c6\u30ca\u5c64 \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\u306fkubespray \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 Persistent 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 \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\n\u7d20Kubernetes\u3067\u306fIngress \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 Let&rsquo;s Encrypt \u306e\u8a3c\u660e\u66f8\u3092\u7ba1\u7406\u3059\u308bVM\u304c\u3044\u306a\u304f\u306a\u308b \u3053\u308c\u3089\u3092\u89e3\u6c7a\u3057\u306a\u3044\u3053\u3068\u306b\u306fnginx VM\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002 \u89e3\u6c7a\u306e\u305f\u3081\u306b\u307e\u305a\u3001kind: Ingress\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u5b9f\u88c5\u3068\u3057\u3066ingress-nginx \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f \u3002Ingress\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 ingress-nginx\u306fService type: NodePort\u3067\u3082\u4f7f\u7528\u3067\u304d\u308b\u306e\u3067\u3059\u304c\u3001\u6298\u89d2\u306a\u306e\u3067Service type: LoadBalancer\u3092\u4f7f\u7528\u3057\u305f\u3044\u3067\u3059\u3088\u306d\uff1ftype: LoadBalancer\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u5b9f\u88c5\u3068\u3057\u3066MetalLB \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f \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\n\u6b21\u306b\u3001Let&rsquo;s Encrypt\u306e\u8a3c\u660e\u66f8\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u3001cert-manager \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\u3002Gehirn DNS \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u4e0a\u624b\u304f\u3044\u304b\u306a\u304b\u3063\u305f\u305f\u3081Cloudflare DNS \u306b\u5207\u308a\u66ff\u3048\u3001\u4e8b\u306a\u304d\u3092\u5f97\u307e\u3057\u305f\u3002\n\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\u306ftype: ExternalName\u3092\u4f7f\u7528)\u3002 VM\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\n\u4f7f\u3063\u3066\u3044\u308b\u3082\u306e\u307e\u3068\u3081 Ubuntu CentOS Kubernetes (GitHub )\nKubespray (GitHub )\nOpenNebula (GitHub )\nMinio (GitHub )\nGlusterFS (GitHub )\nheketi (GitHub )\nMetalLB (GitHub )\ningress-nginx (GitHub )\ncert-manager (GitHub )\nLet&rsquo;s Encrypt Cloudflare ","permalink":"https:\/\/blog.web-apps.tech\/my-infra-with-k8s\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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=\"\/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=\"\/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":"\u8da3\u5473\u30b5\u30fc\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u3092Kubernetes\u3067\u6574\u3048\u305f\u4ef6"},{"content":"TL;DR Alertmanager\u306e\u8a2d\u5b9a\u306b\u306f\u4e00\u90e8Secret\u304c\u542b\u307e\u308c\u308b \u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u5165\u308c\u305f\u304f\u306a\u3044 initContainer\u3067confd\u3092\u4f7f\u3063\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b Alertmanager\u306e\u8a2d\u5b9a\u306e\u4e00\u90e8\u3092Secret\u306b\u683c\u7d0d\u3067\u304d\u308b confd kelseyhightower\/confd \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 \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\u3067confd\u3067\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\nInstall 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\u30ea\u30ea\u30fc\u30b9\u30da\u30fc\u30b8 \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\n\u4f7f\u7528\u65b9\u6cd5 confd\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\n\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9 \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 \u30c7\u30fc\u30bf\u30b9\u30c8\u30a2 \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9 \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\/etc\/confd\/conf.d\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002\n\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 \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\u306etext\/template \u306b\u6e96\u3058\u307e\u3059\u3002\/etc\/confd\/templates\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u307e\u3059\u3002\n\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2 \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\nconfd\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)\netcd (GitHub: coreos\/etcd ) consul (GitHub: hashicorp\/consul ) dynamodb redis (GitHub: antirez\/redis ) vault (GitHub: hashicorp\/vault ) zookeeper (GitHub: apache\/zookeeper ) rancher metadata-service (GitHub: rancher\/rancher , rancher\/metadata ) AWS Systems Manager \u30d1\u30e9\u30e1\u30fc\u30bf\u30b9\u30c8\u30a2 \u74b0\u5883\u5909\u6570 \u30d5\u30a1\u30a4\u30eb Alertmanager Alertmanager \u306fPrometheus \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\u3084Slack \u306eIncoming Webhook URL \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 \u7279\u306b\u3001Prometheus\/Alertmanager\u306fKubernetes \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 \u305d\u3053\u3067confd\u3092initContainer\u3067\u4f7f\u7528\u3057\u3066\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\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\n1 2 3 4 5 6 7 8 9 10 global: slack_api_url: {{getenv &#34;ALERTMANAGER_SLACK_URL&#34;}} route: receiver: slack receivers: - name: slack slack_configs: - channel: &#34;#alert&#34; \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\u3001alertmanager.yml.tmpl\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002\n\u6b21\u306b\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 [template] src = &#34;alertmanager.yml.tmpl&#34; dest = &#34;\/etc\/alertmanager\/alertmanager.yml&#34; keys = [ &#34;ALERTMANAGER_SLACK_URL&#34;, ] \u3053\u3061\u3089\u3082\u3001\u4e0a\u8a18\u5185\u5bb9\u3067confd.toml\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002\n\u6700\u5f8c\u306b\u3001\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u306b\u30c7\u30fc\u30bf\u3092\u6295\u5165\u3057\u307e\u3059\u3002\u4eca\u56de\u306e\u60f3\u5b9a\u306fKubernetes\u3067Secret\u3092\u4f7f\u7528\u3059\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001Kubernetes\u306eSecret\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 $ echo &#39;https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXXXXXX&#39; &gt; alertmanager_slack_url $ kubectl create secret general alertmanager-slack-url --from-file .\/alertmanager_slack_url Alertmanager\u306e\u8d77\u52d5\u524d\u306b\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u3001initContainer \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002initContainer\u306fPod\u5185\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3059\u308b\u524d\u306b\u3001\u521d\u671f\u5316\u51e6\u7406\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u308b\u30b3\u30f3\u30c6\u30ca\u3067\u3059\u3002\u4eca\u56de\u306f\u3001nasa9084\/confd \u3092\u4f7f\u7528\u3057\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u307e\u3059\u3002\nnasa9084\/confd\u306eDockerfile\u306f\u6b21\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059(\u30e9\u30d9\u30eb\u7701\u7565)\u3002\n1 2 3 4 5 6 7 FROM busybox:latest RUN wget https:\/\/github.com\/kelseyhightower\/confd\/releases\/download\/v0.16.0\/confd-0.16.0-linux-amd64 -O confd &amp;&amp;\\ chmod +x confd &amp;&amp;\\ mv confd \/bin\/confd ENTRYPOINT [&#34;confd&#34;] \u3053\u308c\u3092initContainer\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002Kubernetes\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306f\u6b21\u306e\u69d8\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 apiVersion: apps\/v1 kind: Deployment metadata: name: alertmanager spec: selector: matchLabels: app: alertmanager template: metadata: labels: app: alertmanager spec: containers: - name: alertmanager image: prom\/alertmanager:v0.15.2 ports: - containerPort: 9093 args: [&#34;--config.file=\/etc\/alertmanager\/alertmanager.yml&#34;] volumeMounts: - name: alertmanager-config mountPath: \/etc\/alertmanager initContainers: - name: init-alertmanager-config image: nasa9084\/confd:v0.16.0 args: [&#34;-onetime&#34;, &#34;-backend&#34;, &#34;env&#34;] volumeMounts: - name: alertmanager-config mountPath: \/etc\/alertmanager - name: alertmanager-config-template mountPath: \/etc\/confd\/templates - name: alertmanager-confd-toml mountPath: \/etc\/confd\/conf.d env: - name: ALERTMANAGER_SLACK_URL valueFrom: secretKeyRef: name: alertmanager-slack-url key: alertmanager_slack_url volumes: - name: alertmanager-config-template configMap: name: alertmanager-config-template - name: alertmanager-confd-toml configMap: name: alertmanager-confd-toml - name: alertmanager-config emptyDir: {} .template.spec.initContainers\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u751f\u6210\u7528\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u3002\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u305d\u308c\u305e\u308cconfigMap\u306b\u683c\u7d0d\u3057\u3001\u9069\u5207\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u307e\u3059\u3002alertmanager-config\u304c\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u683c\u7d0d\u7528\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3067\u3059\u3002Pod\u306e\u8d77\u52d5\u6642\u306b\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u751f\u6210\u3055\u308c\u308b\u305f\u3081\u3001\u6c38\u7d9a\u5316\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001initContainer\u3068Alertmanager\u306e\u30b3\u30f3\u30c6\u30ca\u9593\u3067\u30c7\u30fc\u30bf\u3092\u53d7\u3051\u6e21\u3059\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3001emptyDir\u3068\u3057\u3066\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\u307e\u305f\u3001\u5148\u307b\u3069\u4f5c\u6210\u3057\u305fSlack Incoming webhook URL\u306eSecret\u3092\u74b0\u5883\u5909\u6570\u3068\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u307e\u3059\u3002 confd\u306f\u901a\u5e38\u3001\u30c7\u30fc\u30e2\u30f3\u3068\u3057\u3066\u52d5\u4f5c\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u4e00\u5ea6\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308c\u3070\u5341\u5206\u306a\u305f\u3081\u3001-onetime\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u3044\u307e\u3059\u3002 \u6700\u5f8c\u306b\u3001\u751f\u6210\u3057\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u30dc\u30ea\u30e5\u30fc\u30e0\u3068\u3057\u3066Alertmanager\u306e\u30b3\u30f3\u30c6\u30ca\u306b\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3042\u308a\u307e\u3059\u3002\nconfd\u3092initContainer\u3067\u8d77\u52d5\u3059\u308b\u65b9\u6cd5\u306fAlertmanager\u4ee5\u5916\u306b\u3082\u5fdc\u7528\u304c\u5229\u304d\u305d\u3046\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/alertmanager-config-to-secret-with-confd\/","summary":"<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":"confd + initContainer\u3067Alertmanager\u306e\u8a2d\u5b9a\u3092Secret\u306b\u9003\u304c\u3059"},{"content":"\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 \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 \u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30ec\u30fc\u306f\u3044\u3061\u3070\u3093\u304a\u3044\u3057\u3044\u5bb6\u30ab\u30ec\u30fc\u3092\u3064\u304f\u308b \u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u30ab\u30ec\u30fc\u3067\u3001\u6211\u3089\u304c\u30d0\u30a4\u30d6\u30eb\u3067\u3042\u308b\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046(4) \u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \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\u8d85\u7d1a\u30ab\u30c4\u4e3c \u306e\u6642\u306b\u3082\u3084\u3063\u305f\u3001\u4f4e\u6e29\u8abf\u7406\u30ab\u30c4\u3067\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002\n\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 \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 \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\n\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 \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\n\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\u57fa\u672c\u306e\u30ab\u30ec\u30fc \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\n\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\n\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\n\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 \u3053\u306e\u307e\u307e\u5c11\u3057\u7092\u3081\u307e\u3059\u3002\n\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\n\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\u3001Anova \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\n\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\n\u30ab\u30c4\u3067\u3059\u3002\n\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\n\u5b9f\u306f\u4ee5\u524d\u306b\u3082\u4e00\u5ea6\u3001\u4e94\u5cf6\u8ed2 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/final-katsu-curry\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u30d5\u30a1\u30a4\u30ca\u30eb\u30ab\u30c4\u30ab\u30ec\u30fc\u3092\u3064\u304f\u3063\u305f"},{"content":"TL;DR Service type: ExternalName\u3092\u4f7f\u7528\u3059\u308b External Service Kubernetes \u3067\u306f\u3001Ingress \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\u306eService \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\n\u57fa\u76e4\u3067\u3042\u308bOpenNebula\u306e\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u4ee5\u5916\u306f*.web-apps.tech\u3068\u3057\u3066\u3001Kubernetes\u3078\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002\n\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\u3001blog.web-apps.tech\u3082Ingress\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u7ba1\u7406\u3057\u305f\u3044\u3067\u3059\u3002\n\u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304cService type: ExternalName\u3067\u3059\u3002ExternalName\u3068\u3057\u3066\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092\u767b\u9332\u3059\u308b\u3053\u3068\u3067\u3001Ingress\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n\u8a2d\u5b9a \u8a2d\u5b9a\u306f\u3054\u304f\u7c21\u5358\u3067\u3001\u6b21\u306e\u69d8\u306b\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 --- apiVersion: v1 kind: Namespace metadata: name: external-services --- apiVersion: v1 kind: Service metadata: name: ghost namespace: external-services spec: type: ExternalName externalName: 192.168.1.41 # \u672c\u30d6\u30ed\u30b0\u306e\u30ed\u30fc\u30ab\u30ebIP \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\u3001external-services\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\u3001kubectl\u304b\u3089\u306f\u6b21\u306e\u69d8\u306b\u898b\u3048\u307e\u3059\u3002\n1 2 3 $ kubectl get svc --name external-services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ghost ExternalName &lt;none&gt; 192.168.1.41 &lt;none&gt; 54m \u5f8c\u306f\u3001\u666e\u901a\u306bIngress\u306e\u8a2d\u5b9a\u3092\u3059\u308b\u3060\u3051\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 --- apiVersion: extensions\/v1beta1 kind: Ingress metadata: name: ghost namespace: external-services spec: rules: - host: blog.web-apps.tech paths: - path: \/ backend: serviceName: ghost servicePort: 2368 \u3053\u308c\u3067\u7121\u4e8b\u3001Ingress\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u7ba1\u7406\u3055\u308c\u305f\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3blog.web-apps.tech\u3067\u30af\u30e9\u30b9\u30bf\u5916\u306e\u30d6\u30ed\u30b0\u30b5\u30fc\u30d3\u30b9\u3078\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/use-external-service-for-ingress-backend\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092Ingress backend\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b"},{"content":"TL;DR ingress-nginx\u3092\u4f7f\u7528\u3059\u308b\u3068\u30aa\u30f3\u30d7\u30ec\u3067\u3082Ingress\u3092\u4f7f\u7528\u51fa\u6765\u308b MetalLB\u3068\u7d44\u307f\u5408\u308f\u305b\u308b Ingress Ingress\u306fKubernetes \u306e\u6a5f\u80fd\u306e\u4e00\u3064\u3067\u3001L7 LoadBalancer\u306e\u6a5f\u80fd\u3092\u6301\u3061\u307e\u3059\u3002\u5148\u65e5\u7d39\u4ecb\u3057\u305f type LoadBalancer\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\u3001Ingress\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\n\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\u306bIngress\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u305b\u3093\u3002 \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 \u3069\u3046\u305b\u306a\u3089Ingress\u3001\u4f7f\u3044\u305f\u3044\u3067\u3059\u306d\uff1f\n\u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304cingress-nginx (GitHub: kubernetes\/ingress-nginx )\u3067\u3059\u3002ingress-nginx\u306f\u305d\u306e\u540d\u306e\u3068\u304a\u308a\u3001nginx\u3092\u4f7f\u7528\u3057\u305fIngress Controller\u3067\u3059\u3002Ingress\u30ea\u30bd\u30fc\u30b9\u306e\u4f5c\u6210\u6642\u306b\u3001nginx\u306e\u8a2d\u5b9a\u3092ConfigMap\u3068\u3057\u3066\u4fdd\u5b58\u3059\u308b\u3053\u3068\u3067Ingress\u306e\u4f5c\u6210\u3092\u5b9f\u73fe\u3057\u307e\u3059\u3002\nInstall MetalLB\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \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\n1 2 $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/ingress-nginx\/master\/deploy\/mandatory.yaml $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/ingress-nginx\/master\/deploy\/provider\/cloud-generic.yaml \u4e8c\u884c\u76ee\u306e\u30b3\u30de\u30f3\u30c9\u306f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u4e0a\u3067\u306f docker for mac\u306e\u30b3\u30de\u30f3\u30c9\u3068\u3057\u3066\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001type: LoadBalancer\u304c\u4f7f\u7528\u3067\u304d\u308b\u30af\u30e9\u30b9\u30bf\u4e00\u822c\u3067\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\n\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\n1 2 3 4 $ kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default-http-backend ClusterIP 10.233.50.56 &lt;none&gt; 80\/TCP 2d ingress-nginx LoadBalancer 10.233.47.246 192.168.1.100 80:30431\/TCP,443:30017\/TCP 2d \u5b9f\u969b\u306b\u30d6\u30e9\u30a6\u30b6\u3067ingress-nginx\u306eIP\u30a2\u30c9\u30ec\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u3066\u3001default backend - 404\u3068\u8868\u793a\u3055\u308c\u308c\u3070\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\u3002\n\u30eb\u30fc\u30bf\u30fc\u304b\u3089Kubernetes\u4e0a\u306e\u30b5\u30fc\u30d3\u30b9\u306b\u76f4\u901a\u3067\u554f\u984c\u306a\u3044(Ingress\u3067HTTPS\u7d42\u7aef\u306a\u3069\u3082\u884c\u3046)\u5834\u5408\u3001\u30eb\u30fc\u30bf\u30fc\u306eNAT\/NAPT\u8a2d\u5b9a\u3067\u300180\/443\u756a\u30dd\u30fc\u30c8\u306e\u884c\u304d\u5148\u3092\u3053\u306eIP\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u307e\u3059\u3002\n\u30af\u30e9\u30b9\u30bf\u5916\u306eLAN\u5185\u306b\u5225\u306e\u30b5\u30fc\u30d3\u30b9\u3082\u5b58\u5728\u3057\u3001\u5225\u9014\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u30fc\u306a\u3069\u3067\u632f\u308a\u5206\u3051\u3092\u884c\u3063\u3066\u3044\u308b\u5834\u5408\u3001\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3053\u306eIP\u30a2\u30c9\u30ec\u30b9\u3078\u632f\u308a\u5206\u3051\u308b\u306e\u304c\u304a\u52e7\u3081\u3067\u3059(nginx\u3067\u306f\u3001\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3088\u308a\u3001\u6b63\u78ba\u306b\u30de\u30c3\u30c1\u3057\u305f\u65b9\u306e\u30eb\u30fc\u30eb\u3092\u512a\u5148\u3059\u308b\u305f\u3081\u3001\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306bKubernetes\u3078\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u6d41\u308c\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059)\u3002\n\u5f0a\u5b85\u3067\u306f\u3001\u30eb\u30fc\u30bf\u30fc\u304b\u308980\/443\u3067\u30a2\u30af\u30bb\u30b9\u3055\u308c\u308bnginx\u306b\u6b21\u306e\u69d8\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\nserver { listen\t80; server_name\t*.web-apps.tech; location \/ { return 301 https:\/\/$host$request_uri; } } server { listen 443; server_name\t*.web-apps.tech; ssl on; ssl_certificate \/etc\/letsencrypt\/live\/web-apps.tech\/fullchain.pem; ssl_certificate_key \/etc\/letsencrypt\/live\/web-apps.tech\/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location \/ { proxy_pass\thttp:\/\/192.168.1.100; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection &#34;upgrade&#34;; proxy_set_header host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; # HSTS config add_header Strict-Transport-Security &#39;max-age=31536000; includeSubDomains&#39;; } } DNS\u306fCloudflare \u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001Let&rsquo;s Encrypt\u306e\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3057\u3066\u9069\u7528\u3057\u3066\u3044\u307e\u3059\u3002 \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001ingress-nginx\u3067HTTPS\u7d42\u7aef\u3092\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001Ingress\u3092\u4f5c\u6210\u3057\u305f\u6642\u70b9\u304b\u3089\u8a3c\u660e\u66f8\u306e\u8a2d\u5b9a\u306a\u3069\u3092\u3059\u308b\u3053\u3068\u7121\u304f\u3001\u5e38\u306bHTTPS\u3067\u901a\u4fe1\u3092\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u3066\u3044\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/ingress-nginx-on-prem\/","summary":"<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=\"\/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=\"\/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":"ingress-nginx\u3092\u4f7f\u7528\u3057\u3066\u30aa\u30f3\u30d7\u30ec\u3067\u3082Ingress\u3092\u4f7f\u7528\u3059\u308b"},{"content":"TL;DR MetalLB\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u30aa\u30f3\u30d7\u30ec(not on OpenStack)\u306b\u69cb\u7bc9\u3057\u305fk8s\u3067\u3082type: LoadBalancer\u3092\u4f7f\u7528\u3067\u304d\u308b\ntype: LoadBalancer kubespray \u7b49\u3092\u4f7f\u7528\u3057\u3066\u3001Kubernetes \u3092\u30aa\u30f3\u30d7\u30ec(on OpenStack\u3092\u9664\u304f)\u3067\u69cb\u7bc9\u3057\u305f\u5834\u5408\u3001\u901a\u5e38\u3001type: LoadBalancer \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001type: LoadBalancer\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\n\u3057\u304b\u3057\u3001k8s\u3092\u4f7f\u7528\u3059\u308b\u304b\u3089\u306b\u306ftype: LoadBalancer\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 \u305d\u3053\u3067\u4f7f\u7528\u3067\u304d\u308b\u306e\u304cMetalLB (GitHub: google\/metallb )\u3067\u3059\u3002 MetalLB\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001type LoadBalancer\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\nLayer 2 mode 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\nL2 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\nrequirements &amp; installation \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\n\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 MetalLB\u5bfe\u5fdc\u8868 \u306b\u8a18\u8f09\u306e\u3042\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068 \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 \u79c1\u306e\u74b0\u5883\u3067\u306fk8s\u306e\u30ce\u30fc\u30c9\u304c192.168.1.0\/24\u306b\u3042\u308b\u305f\u3081\u3001192.168.1.100\u304b\u3089192.168.1.159\u307e\u3067\u306e60\u500b\u306e\u30a2\u30c9\u30ec\u30b9\u3092MetalLB\u7528\u3068\u3057\u307e\u3057\u305f\u3002\n\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 MetalLB\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\n1 $ kubectl apply -f https:\/\/raw.githubusercontent.com\/google\/metallb\/v0.7.2\/manifests\/metallb.yaml Helm \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\n\u6b21\u306b\u3001\u6b21\u306e\u3088\u3046\u306aConfigMap\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.1.100-192.168.1.159 \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\u3001type: LoadBalancer\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 \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\u306ftype: LoadBalancer\u306e\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306bmetallb.universe.tf\/address-pool: &lt;ADDRESS_POOL_NAME&gt;\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/type-loadbalancer_by_metallb\/","summary":"<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":"MetalLB\u3092\u4f7f\u7528\u3057\u3066\u30aa\u30f3\u30d7\u30ec\u3067\u3082type: LoadBalancer\u3092\u4f7f\u7528\u3059\u308b"},{"content":"Kubernetes \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\n\u5171\u901a Liveness Probe\u3068Readiness Probe\u306e\u8a2d\u5b9a\u306f\u5171\u901a\u3067\u3001Deployment\u3084Pod\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5185\u3067\u3001containers\u306e\u4e2d\u306blivenessProbe\u3068readinessProbe\u3068\u3057\u3066\u305d\u308c\u305e\u308cProbe spec \u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002\n\u6b21\u306e\u9805\u76ee\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\nfailureThreshold Success\u72b6\u614b\u306e\u6642\u3001\u4f55\u56de\u5931\u6557\u3057\u305f\u3089Failure\u306b\u306a\u308b\u304b\u3002\u6700\u5c0f\u30671\u56de\u3002 Default: 3 initialDelaySeconds \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 Default: 0 periodSeconds \u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u306e\u9593\u9694\u3002\u6700\u5c0f\u30671\u79d2 Default: 10 successThreshold Failure\u72b6\u614b\u306e\u6642\u3001\u4f55\u56de\u6210\u529f\u3057\u305f\u3089Success\u306b\u306a\u308b\u304b\u3002\u6700\u5c0f\u30671\u56de\u3002 Default: 1 timeoutSeconds \u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u79d2\u6570\u3002\u6700\u5c0f\u30671\u79d2\u3002 Default: 1 httpGet \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 httpGet\u306e\u9805\u76ee\u306f\u6b21\u306e\u69d8\u306a\u9805\u76ee\u3092\u6301\u3063\u305fobject\u3092\u66f8\u304d\u307e\u3059\u3002\nhost \u5bfe\u8c61\u306e\u30db\u30b9\u30c8\u540d\u3002 Default: Pod\u306eIP httpHeaders \u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30ab\u30b9\u30bf\u30e0\u30d8\u30c3\u30c0\u6307\u5b9a\u3002{name: HEADER_NAME, value: HEADER_VALUE}\u306e\u5f62\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\u3067\u66f8\u304f\u3002 port \u30a2\u30af\u30bb\u30b9\u3059\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u307e\u305f\u306f\u540d\u79f0 path \u30a2\u30af\u30bb\u30b9\u3059\u308b\u30d1\u30b9\u3002 scheme \u30a2\u30af\u30bb\u30b9\u3059\u308b\u969b\u306e\u30b9\u30ad\u30fc\u30e0\u3002 Default: HTTP Liveness Probe \u4e00\u3064\u76ee\u306fLiveness Probe\u3067\u3059\u3002\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u306f\u6b21\u306e\u69d8\u306b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\nlivenessProbe: Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its restart policy . If a Container does not provide a liveness probe, the default state is Success.\nLiveness Probe\u306e\u5f79\u5272\u306f\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u751f\u5b58\u78ba\u8a8d\u3067\u3059\u3002\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u5f8c\u306e\u72b6\u614b\u306fSuccess\u3067\u3001Failure\u306b\u306a\u308b\u3068Kubernetes\u306f\u30b3\u30f3\u30c6\u30ca\u3092kill\u3057\u307e\u3059\u3002\u30b3\u30f3\u30c6\u30ca\u304ckill\u3055\u308c\u305f\u5f8c\u306f\u3001Pod\u306erestart policy\u306b\u5f93\u3044\u307e\u3059\u3002 \u3088\u304f\u4f7f\u7528\u3055\u308c\u308b\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30d1\u30b9\u306f\/healthz\u3067\u3059(\u6700\u5f8c\u306ez\u304c\u3069\u3053\u304b\u3089\u6765\u305f\u306e\u304b\u3001\u77e5\u3063\u3066\u308b\u4eba\u304c\u3044\u305f\u3089\u6559\u3048\u3066\u304f\u3060\u3055\u3044)\u3002\nGo\u8a00\u8a9e\u3067\u306eLiveness Probe\u7528\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u30b5\u30f3\u30d7\u30eb\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002\n1 2 3 func livenessProbeHandler(w http.ResponseWriter, r *http.Request) { w.Write([]byte(&#34;OK&#34;)) } Readiness Probe \u3082\u3046\u4e00\u3064\u306e\u30d8\u30eb\u30b9\u30c1\u30a7\u30c3\u30af\u304cReadiness Probe\u3067\u3059\u3002\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306e\u8aac\u660e\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002\nreadinessProbe: Indicates whether the Container is ready to service requests. If the readiness probe fails, the endpoints controller removes the Pod\u2019s IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success.\nReadinessProbe\u306f\u3001\u30b5\u30fc\u30d3\u30b9\u304c\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u4ed8\u3051\u3089\u308c\u308b\u72b6\u614b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001DB\u63a5\u7d9a\u306e\u521d\u671f\u5316\u51e6\u7406\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u5834\u5408\u306a\u3069\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u751f\u304d\u3066\u3044\u308b\u304c\u307e\u3060\u5bfe\u5fdc\u51fa\u6765\u306a\u3044\u3001\u3068\u3044\u3046\u72b6\u614b\u3092\u5224\u65ad\u3057\u307e\u3059\u3002\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u5f8c\u306e\u72b6\u614b\u306fFailure\u3067\u3001Success\u306b\u306a\u308b\u3068Kubernetes\u306fPod\u306eIP\u3092\u3001\u30bb\u30ec\u30af\u30bf\u304c\u30de\u30c3\u30c1\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u306e\u5bfe\u8c61\u3068\u3057\u3066\u8ffd\u52a0\u3057\u307e\u3059\u3002\u307e\u305f\u3001Success\u304b\u3089Failure\u306b\u306a\u3063\u305f\u5834\u5408\u306f\u3001\u540c\u69d8\u306b\u30b5\u30fc\u30d3\u30b9\u304b\u3089IP\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6e96\u5099\u304c\u51fa\u6765\u3066\u3044\u306a\u3044Pod\u306fService\u306b\u3088\u308b\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u306e\u5bfe\u8c61\u304b\u3089\u5916\u308c\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u3002 \u3088\u304f\u4f7f\u7528\u3055\u308c\u308b\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30d1\u30b9\u306f\/readiness\u3067\u3059\u3002\nGo\u8a00\u8a9e\u3067\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u6b21\u306e\u69d8\u306a\u3082\u306e\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 func readinessProbeHandler(w http.ResponseWriter, r *http.Request) { if err := db.Ping(); err != nil { w.WriteHeader(http.StatusServiceUnavailable) w.Write([]byte(&#34;error: DB connection&#34;)) return } w.WriteHeader(http.StatusOK) w.Write([]byte(&#34;OK&#34;)) return } ","permalink":"https:\/\/blog.web-apps.tech\/liveness-readiness-probe\/","summary":"<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":"Liveness\/Readiness Probe"},{"content":"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 \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\n\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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 \/* package, import part *\/ func main() { in := make(chan int) out := Double(in) \/\/ \u3053\u306e\u6642\u70b9\u3067\u306f\u7d50\u679c\u306f\u5f97\u3089\u308c\u306a\u3044 go func() { for i := 0; i &lt; 10; i++ { in &lt;- i } close(in) }() for d := range out { fmt.Println(d) \/\/ \u3053\u3053\u3067\u7d50\u679c\u3092\u5f97\u308b } } func Double(in &lt;-chan int) &lt;-chan int { out := make(chan int) go func() { for i := range in { out &lt;- 2 * i } close(out) } return out \/\/ Future\u30aa\u30d6\u30b8\u30a7\u30af\u30c8 } main\u95a2\u6570\u304b\u3089\u547c\u3073\u51fa\u3055\u308c\u305fDouble\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\u540dout\u306echannel\u304cFuture\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002 \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\u3067outchannel\u304b\u3089\u5f97\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u3002\n\u4ee5\u4e0b\u306b\u793a\u3059\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u3088\u3046\u306a\u95a2\u6570\u5b9f\u884c\u30d1\u30bf\u30fc\u30f3\u306b\u3082\u4f7f\u7528\u3057\u3084\u3059\u3044\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 \/* package, import part *\/ func main() { ar := []int{1, 2, 3, 4, 5} a2c := Array2Chan(ar) x2 := Double(a2c) xx := Square(x2) for i := range xx { fmt.Println(i) \/\/ Output: \/\/ 4 \/\/ 16 \/\/ 36 \/\/ 64 \/\/ 100 } } func Array2Chan(ar []int) &lt;-chan int { out := make(chan int) go func() { for _, i := range ar { out &lt;- i } close(out) }() return out } func Double(in &lt;-chan int) &lt;-chan int { out := make(chan int) go func() { for i := range in { out &lt;- 2 * i } close(out) }() return out } func Square(in &lt;-chan int) &lt;-chan int { out := make(chan int) go func() { for i := range in { out &lt;- i * i } close(out) }() return out } ","permalink":"https:\/\/blog.web-apps.tech\/future-pattern\/","summary":"<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":"Future Pattern"},{"content":"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\n1 2 3 4 5 ls = [&#34;foo&#34;, &#34;bar&#34;, &#34;baz&#34;] s = &#34;baz&#34; if s in ls: print(&#34;FOOBAR!&#34;) \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\n1 2 3 4 5 func something(s string) error { if s != &#34;foo&#34; &amp;&amp; s != &#34;bar&#34; &amp;&amp; s != &#34;baz&#34; { return errors.New(&#34;value invalid&#34;) } } \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\nTL; DR \u7d20\u76f4\u306bfor\u6587\u3092\u56de\u3057\u3066\u3082\u5927\u3057\u3066\u554f\u984c\u306f\u306a\u3055\u305d\u3046\nresult \u4eca\u56de\u53d6\u3063\u305f\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u306f6\u7a2e\u985e\u3067\u3059\u3002\nfor-range\u6587\u3092\u56de\u3059 for\u6587\u3092\u56de\u3059 map[string]struct{}\u3092\u96c6\u5408\u3068\u3057\u3066\u53d6\u308a\u6271\u3063\u3066\u307f\u308b &amp;&amp;, ||\u3067\u3064\u306a\u3050 switch\u6587\u3092\u4f7f\u3046 sort.SearchStrings()\u3092\u4f7f\u3046 6\u756a\u76ee\u306esort.SearchStrings()\u3092\u4f7f\u3046\u65b9\u6cd5\u306fstackoverflow \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\n\u7d50\u679c\u306f\u6b21\u306e\u901a\u308a\u3002\nBenchmarkInByForRange-4 200000000\t9.34 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkInByFor-4 100000000\t10.1 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkInByMap-4 200000000\t7.79 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkInByAnd-4 1000000000\t2.85 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkInBySwitch-4 2000000000\t1.39 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkInBySortSearchStrings-4 10000000\t179 ns\/op\t32 B\/op\t1 allocs\/op \u307e\u3041\u4e88\u60f3\u901a\u308a\u3067\u306f\u3042\u308b\u3082\u306e\u306e\u3001sort.SearchStrings()\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)\n\u4e00\u756a\u901f\u304b\u3063\u305f\u306e\u306fswitch\u6587\u3092\u4f7f\u3063\u305f\u3084\u3064\u3067\u3001\u3053\u308c\u3082\u4e88\u60f3\u901a\u308a(Go\u8a00\u8a9e\u306eswitch\u3055\u3093\u3001\u3059\u3054\u304f\u901f\u3044\u306e\u306f\u77e5\u3063\u3066\u3044\u305f)\u3002\n\u3068\u306f\u3044\u3048\u3001(sort.SearchString()\u306f\u9664\u3044\u3066)\u305b\u3044\u305c\u3044\u4e00\u6841\u30ca\u30ce\u79d2\u306e\u4e09\u500d\u7a0b\u5ea6\u3057\u304b\u9055\u308f\u306a\u3044\u306e\u3067\u3001\u3088\u307b\u3069\u306e\u3053\u3068\u304c\u7121\u3051\u308c\u3070\u666e\u901a\u306bfor\u6587\u3092\u56de\u3059\u65b9\u6cd5\u3067\u3082\u554f\u984c\u306a\u3044\u304b\u306a\u3001\u3068\u3044\u3046\u7a0b\u5ea6\u306e\u901f\u5ea6\u5dee\u3067\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/benchmark_in_func\/","summary":"<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            \t200000000\t         9.34 ns\/op\t       0 B\/op\t       0 allocs\/op\nBenchmarkInByFor-4                 \t100000000\t        10.1 ns\/op\t       0 B\/op\t       0 allocs\/op\nBenchmarkInByMap-4                 \t200000000\t         7.79 ns\/op\t       0 B\/op\t       0 allocs\/op\nBenchmarkInByAnd-4                 \t1000000000\t         2.85 ns\/op\t       0 B\/op\t       0 allocs\/op\nBenchmarkInBySwitch-4              \t2000000000\t         1.39 ns\/op\t       0 B\/op\t       0 allocs\/op\nBenchmarkInBySortSearchStrings-4   \t10000000\t       179 ns\/op\t      32 B\/op\t       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":"array\/slice\u306b\u5bfe\u3059\u308b\u5b58\u5728\u78ba\u8a8d\u95a2\u6570\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af"},{"content":"AWS\u306emanaged Kubernetes\u3067\u3001\u3053\u308c\u307e\u3067\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d9\u30fc\u30bf\u3060\u3063\u305fElastic Container Service for Kubernetes \u304cGA\u306b\u306a\u3063\u305f \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\u30021\n\u53c2\u8003\u306b\u3057\u305f\u306e\u306fAWS\u516c\u5f0f\u3001EKS\u306eGetting Started Guide \u3067\u3059\u3002\n\u307e\u305a\u306fEKS\u306e\u30da\u30fc\u30b8\u3092\u898b\u3066\u307f\u3088\u3046\u3068\u3057\u305f\u3068\u3053\u308d\u30fb\u30fb\u30fb \u3076\u3063\u58ca\u308c\u3066\u307e\u3059\u306d\uff01\u3053\u308c\u306f\u306a\u3093\u304b\u30a2\u30ec\u3067\u3059\u306d\u3002 gettext\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\n\u7121\u4e8b\u3001\u6b63\u3057\u3044\u3068\u601d\u308f\u308c\u308b\u30da\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3057\u305f\u3002 \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\n\u6268\u3001\u3053\u3053\u304b\u3089Getting Started\u3057\u3066\u3044\u304d\u307e\u3059\u3002\n\u307e\u305a\u306fEKS\u7528\u306eIAM\u30ed\u30fc\u30eb\u3092\u4f5c\u3063\u3066\u3044\u304d\u307e\u3059\u3002 IAM\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\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\n\u30d5\u30e0\u30fc\u3002\nIAM\u30ed\u30fc\u30eb\u304c\u51fa\u6765\u307e\u3057\u305f\u3002\nCloudFormation\u3067\u30af\u30e9\u30b9\u30bf\u3092\u7d44\u3093\u3067\u3044\u304d\u307e\u3059\u3002 \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\nCloudFormation\u3067Create Stack\u3092\u3084\u3063\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002 S3 template URL\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u5165\u529b\u3057\u307e\u3059\u3002 template URL\u306fhttps:\/\/amazon-eks.s3-us-west-2.amazonaws.com\/1.10.3\/2018-06-05\/amazon-eks-vpc-sample.yaml\u3067\u3059\u3002\nView\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u306a\u308b\u307b\u3069\u3002\n\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\u306fGettingStarted\u306b\u3057\u307e\u3057\u305f\u3002\n\u3067\u304d\u305f\u3002\nOutput\u306e\u30bf\u30b0\u3092\u9078\u629e\u3057\u3066\u3001SecurityGroups\u3068VpcId\u3068SubnetIds\u3092(\u4e00\u5fdc)\u30e1\u30e2\u3063\u3066\u304a\u304d\u307e\u3059\u30022\n\u6b21\u306bkubectl\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u304a\u304d\u307e\u3059\u3002 \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\nEKS\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 \u79c1\u306f\u3044\u308d\u3044\u308d\u8003\u3048\u308b\u306e\u304c\u9762\u5012\u3060\u3063\u305f\u305f\u3081\u3001go get\u3057\u307e\u3057\u305f\u3002\n1 $ go get -u -v github.com\/heptio\/authenticator\/cmd\/heptio-authenticator-aws \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\n1 $ heptio-authenticator-aws help \u3053\u3053\u3067\u6ce8\u610f\u306a\u306e\u3067\u3059\u304c\u3001\u30ac\u30a4\u30c9\u3067\u306fDownload and Install the Latest AWS CLI\u306e\u3068\u3053\u308d\u306bOptional\u3063\u3066\u3064\u3044\u3066\u308b\u3093\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u307b\u307c\u5fc5\u9808\u3067\u3059\u3002 AWS 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\n\u3067\u306f\u3044\u3088\u3044\u3088\u3001EKS\u3067\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u3063\u3066\u3044\u304d\u307e\u3059\u3002 \u3053\u3053\u3067\u79c1\u306f\u82e5\u5e72\u624b\u9593\u53d6\u3063\u305f\u306e\u3067\u3059\u304c\u3001EKS\u3067\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u308b\u306e\u306f\u30eb\u30fc\u30c8\u30af\u30ec\u30c7\u30f3\u30b7\u30e3\u30eb\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u3044\u308b\u72b6\u614b\u3067\u306f\u3060\u3081\u3067\u3001IAM\u30e6\u30fc\u30b6\u3092\u4f5c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3057\u305f\u3002 \u666e\u6bb5\u304b\u3089AWS\u3092\u3054\u308a\u3054\u308a\u4f7f\u3063\u3066\u3044\u308b\u4eba\u306f\u30a2\u30ec\u3067\u3059\u304c\u3001\u79c1\u307f\u305f\u3044\u306b\u307b\u3068\u3093\u3069\u4f7f\u3063\u3066\u306a\u3044\u4eba\u306f\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\n\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u8a73\u7d30\u753b\u9762\u3092\u958b\u3044\u3066\u3001\u30a2\u30ab\u30a6\u30f3\u30c8ID\u3092\u30e1\u30e2\u308a\u307e\u3059\u3002\n\u3056\u3063\u304f\u308aIAM\u30e6\u30fc\u30b6\u3092\u4f5c\u308a\u307e\u3059\u3002\u4eca\u56de\u306f\u9069\u5f53\u306beks-user\u3068\u3057\u307e\u3057\u305f\u3002 \u6a29\u9650\u3082\u3001\u4f55\u304c\u5fc5\u8981\u306a\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067Administrator Access\u3068\u3057\u3066\u304a\u304d\u307e\u3057\u305f\u3002 \u672c\u756a\u3067\u306f\u3061\u3083\u3093\u3068\u3084\u3089\u306a\u304d\u3083\u3060\u3081\u3067\u3059\u306d\u3002\n\u306f\u3044\u3002\n\u4e00\u65e6\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u3001IAM\u30e6\u30fc\u30b6\u3092\u4f7f\u3063\u3066\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3059\u3002\nEKS\u306e\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u3067\u30af\u30e9\u30b9\u30bf\u540d\u3092\u5165\u308c\u307e\u3059\u3002\u4eca\u56de\u306fgetting-started\u3068\u3057\u307e\u3057\u305f\u3002\n\u3044\u308d\u3044\u308d\u306a\u60c5\u5831\u3092\u5165\u308c\u3066\u3044\u304d\u307e\u3059\u3002 \u3053\u308c\u3089\u306fCloudFormation\u3067\u4f5c\u3063\u305f\u5974\u3067\u3059\u306d\u3002\n\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3057\u305f\u3002\u30ac\u30a4\u30c9\u3092\u898b\u308b\u3068\u3001\u3069\u3046\u3057\u305f\u3089\u826f\u3044\u304b\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\nImportant\nYou may receive an error that one of the Availability Zones in your request does not have sufficient capacity to create an Amazon EKS cluster. If this happens, the error output contains the Availability Zones that can support a new cluster. Retry creating your cluster with at least two subnets that are located in the supported Availability Zones for your account.\n\u30b5\u30d6\u30cd\u30c3\u30c8\u306e\u30a2\u30d9\u30a4\u30e9\u30d3\u30ea\u30c6\u30a3\u30be\u30fc\u30f3(AZ)\u304c\u305f\u308a\u306a\u3044\u3088\u3001\u3068\u3002\u3075\u3080\u3002\nVPC\u306e\u30da\u30fc\u30b8\u306b\u884c\u304d\u3001\u3055\u304f\u3063\u3068\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u4f5c\u3063\u3066\u304d\u307e\u3059\u3002 \u6700\u4f4e\u4e8c\u3064\u3001EKS\u304c\u4f7f\u3048\u308bAZ\u304c\u6709\u308c\u3070OK\u3068\u306e\u3053\u3068\u306a\u306e\u3067\u3001\u4e00\u500b\u8db3\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n\u4f5c\u3063\u305f\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u5165\u308c\u3066\u518d\u6311\u6226\u3002\n\u4eca\u5ea6\u306f\u4e0a\u624b\u304f\u3044\u304d\u307e\u3057\u305f\u3002\nCREATING\u3067\u7d50\u69cb\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067\u3001API server endpoint\u3068Certificate authority\u306e\u5024\u3092\u30e1\u30e2\u3063\u3066\u304a\u304d\u307e\u3059\u3002\n\u3042\u3068\u3001\u3053\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067AWS CLI\u306b\u8a8d\u8a3c\u60c5\u5831\u3092\u8a2d\u5b9a\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u4eca\u56de\u3067\u8a00\u3046\u3068\u3001eks-user\u306e\u8a8d\u8a3c\u60c5\u5831\u3092aws configure\u3067\u7a81\u3063\u8fbc\u3093\u3067\u304a\u304d\u307e\u3059\u3002\n\u52a0\u3048\u3066\u3001kubectl\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u3044\u304d\u307e\u3059\u3002 ~\/.kube\/config-getting-started\u3068\u3057\u3066\u6b21\u306e\u5185\u5bb9\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308a\u307e\u3059(getting-started\u306f\u9069\u5b9c\u30af\u30e9\u30b9\u30bf\u540d\u306b\u3059\u308b)\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 apiVersion: v1 clusters: - cluster: server: &lt;endpoint-url&gt; certificate-authority-data: &lt;base64-encoded-ca-cert&gt; name: kubernetes contexts: - context: cluster: kubernetes user: aws name: aws current-context: aws kind: Config preferences: {} users: - name: aws user: exec: apiVersion: client.authentication.k8s.io\/v1alpha1 command: heptio-authenticator-aws args: - &#34;token&#34; - &#34;-i&#34; - &#34;&lt;cluster-name&gt;&#34; \u3053\u3053\u3067\u3001&lt;endpoint-url&gt;\u3068&lt;base64-encoded-ca-cert&gt;\u306f\u305d\u308c\u305e\u308c\u3055\u3063\u304d\u30e1\u30e2\u3092\u3057\u305fAPI server endpoint\u3068Certificate authority\u3067\u3001&lt;cluster-name&gt;\u306f\u30af\u30e9\u30b9\u30bf\u540d(\u4eca\u56de\u3060\u3068getting-started)\u3067\u7f6e\u304d\u63db\u3048\u307e\u3059\u3002\nshell\u3067export KUBECONFIG=$KUBECONFIG:~\/.kube\/config-getting-started\u3068\u3057\u3066\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\n\u305d\u3046\u3053\u3046\u3057\u3066\u3044\u308b\u9593\u306b\u30af\u30e9\u30b9\u30bf\u304cActive\u306b\u306a\u3063\u305f\u308a\u306a\u3089\u306a\u304b\u3063\u305f\u308a(\u610f\u5916\u3068\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067)\u3059\u308b\u306e\u3067\u3001Active\u306b\u306a\u3063\u305f\u3089\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a2d\u5b9a\u306e\u78ba\u8a8d\u3092\u3057\u307e\u3059\u3002\n1 2 3 $ kubectl get all NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service\/kubernetes ClusterIP 10.100.0.1 &lt;none&gt; 443\/TCP 23m \u79c1\u306f\u3053\u3053\u3067\u3001kubectl\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u53e4\u304f\u3001\u304b\u3064AWS CLI\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u3044\u306a\u304b\u3063\u305f\u304c\u305f\u3081\u306b\u7d50\u69cb\u56f0\u308a\u307e\u3057\u305f\u3002 \u30e6\u30fc\u30b6\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u805e\u304b\u308c\u305f\u308a\u3001\u7b54\u3048\u3066\u3082Forbidden\u3060\u3063\u305f\u308a\u3001error: You must be logged in to the server (Unauthorized)\u3068\u304b\u8a00\u308f\u308c\u305f\u308a\u3002 \u3053\u308c\u3089\u306f\u307e\u3060\u826f\u3044\u306e\u3067\u3059\u304c\u3001error: the server doesn't have a resource type &quot;cronjobs&quot;\u3068\u304b\u3063\u3066\u8a33\u306e\u308f\u304b\u3089\u3093\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u308a\u3057\u3066\u5927\u5909\u56f0\u308a\u307e\u3057\u305f\u3002 kubectl\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3068AWS CLI\u306e\u8a2d\u5b9a\u306b\u8981\u6ce8\u610f\u3067\u3059\u3002\n\u4e0a\u624b\u304f\u3044\u3063\u305f\u3089\u3001\u30ef\u30fc\u30ab\u30fc\u30ce\u30fc\u30c9\u3092\u7acb\u3066\u3066\u3044\u304d\u307e\u3059\u3002 \u30ef\u30fc\u30ab\u30fc\u30ce\u30fc\u30c9\u306e\u4f5c\u6210\u3082CloudFormation\u3067\u3055\u304f\u3063\u3068\u3084\u308a\u307e\u3057\u3087\u3046\u3002\n\u5148\u307b\u3069\u3068\u540c\u3058\u304f\u3001S3 template URL\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002https:\/\/amazon-eks.s3-us-west-2.amazonaws.com\/1.10.3\/2018-06-05\/amazon-eks-nodegroup.yaml\u3092\u5165\u529b\u3057\u307e\u3057\u3087\u3046\u3002\nStack\u540d\u306fgetting-started-worker-nodes\u3068\u3057\u307e\u3057\u305f\u3002 ClusterName\u306b\u306f\u305d\u306e\u307e\u307e\u30af\u30e9\u30b9\u30bf\u540d(getting-started)\u3092\u5165\u529b\u3002 NodeGroupName\u306f\u9069\u5f53\u306b\u3064\u3051\u3066\u304a\u304d\u307e\u3059\u3002 MinSize\u3068MazSize\u306f\u305d\u306e\u307e\u307e\u3001NodeInstanceType\u306ft2.small\u306b\u3057\u307e\u3057\u305f(\u4eca\u56de\u306f\u691c\u8a3c\u306a\u306e\u3067)\u3002 NodeImageId\u306a\u3093\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u9055\u3044\u307e\u3059\u3002\nRegion AMI ID US West ami-73a6e20b US East ami-dea4d5a1 \u4eca\u56de\u306fUS East\u306a\u306e\u3067ami-dea4d5a1\u3068\u5165\u529b\u3057\u307e\u3057\u305f\u3002 KeyName\u306b\u306f\u30ad\u30fc\u30da\u30a2\u3092\u9078\u629e\u3057\u3066\u5165\u308c\u307e\u3059\u3002EC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u76f4\u63a5SSH\u3059\u308b\u4e88\u5b9a\u304c\u306a\u304f\u3066\u3082\u3001\u9078\u629e\u3057\u306a\u3044\u3068\u3001\u4f5c\u6210\u4e2d\u306b\u5931\u6557\u3057\u307e\u3059\u306e\u3067\u3001\u5165\u308c\u3066\u304a\u304d\u307e\u3059\u3002 VpcId\u3068Subnets\u306f\u30af\u30e9\u30b9\u30bf\u306b\u4f7f\u3063\u305f\u3082\u306e\u3092\u5165\u308c\u3066\u304a\u304d\u307e\u3059\u3002\n\u3067\u304d\u307e\u3057\u305f\u3002Output\u306e\u30bf\u30d6\u3092\u9078\u629e\u3057\u3066\u3001NodeInstanceRole\u3092\u30e1\u30e2\u3063\u3066\u304a\u304d\u307e\u3059\u3002\n\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u3001\u30ce\u30fc\u30c9\u3092\u30af\u30e9\u30b9\u30bf\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 $ curl -O https:\/\/amazon-eks.s3-us-west-2.amazonaws.com\/1.10.3\/2018-06-05\/aws-auth-cm.yaml \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304d\u3066\u3001&lt;ARN of instance role (not instance profile&gt;\u306e\u90e8\u5206\u306b\u5148\u307b\u3069\u306eNodeInstanceRole\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: &lt;ARN of instance role (not instance profile)&gt; username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes \u3067\u3001apply\u3057\u307e\u3059\u3002\n1 $ kubectl apply -f aws-auth-cm.yaml \u3056\u3063\u304f\u308a\u30ce\u30fc\u30c9\u304c\u8ffd\u52a0\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n1 2 3 4 $ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-132-251.ec2.internal Ready &lt;none&gt; 2m v1.10.3 ip-192-168-229-157.ec2.internal Ready &lt;none&gt; 2m v1.10.3 \u554f\u984c\u306a\u3055\u305d\u3046\u3067\u3059\u306d\u3002\n\u4e00\u5fdc\u3001guest book\u30a2\u30d7\u30ea\u3082\u3084\u3063\u3066\u304a\u304d\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/redis-master-controller.json replicationcontroller &#34;redis-master&#34; created $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/redis-master-service.json service &#34;redis-master&#34; created $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/redis-slave-controller.json replicationcontroller &#34;redis-slave&#34; created $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/redis-slave-service.json service &#34;redis-slave&#34; created $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/guestbook-controller.json replicationcontroller &#34;guestbook&#34; created $ kubectl apply -f https:\/\/raw.githubusercontent.com\/kubernetes\/kubernetes\/v1.10.3\/examples\/guestbook-go\/guestbook-service.json service &#34;guestbook&#34; created $ kubectl get services -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR guestbook LoadBalancer 10.100.178.116 ad0f4fcee692d11e88ee612f8cc97e4d-88389123.us-east-1.elb.amazonaws.com 3000:32656\/TCP 5m app=guestbook kubernetes ClusterIP 10.100.0.1 &lt;none&gt; 443\/TCP 47m &lt;none&gt; redis-master ClusterIP 10.100.24.130 &lt;none&gt; 6379\/TCP 6m app=redis,role=master redis-slave ClusterIP 10.100.195.26 &lt;none&gt; 6379\/TCP 5m app=redis,role=slave \u51fa\u6765\u307e\u3057\u305f\u3002 \u30d6\u30e9\u30a6\u30b6\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u307e\u3059\u3002\n\u3088\u3055\u305d\u3046\u3067\u3059\u306d\u3002\n\u52d5\u4f5c\u78ba\u8a8d\u304c\u51fa\u6765\u305f\u3089\u3082\u3046\u3044\u3089\u306a\u3044\u306e\u3067guestbook\u306f\u6d88\u3057\u3066\u3057\u307e\u3044\u307e\u3059\u3002\n1 2 3 4 5 6 7 $ kubectl delete rc\/redis-master rc\/redis-slave rc\/guestbook svc\/redis-master svc\/redis-slave svc\/guestbook replicationcontroller &#34;redis-master&#34; deleted replicationcontroller &#34;redis-slave&#34; deleted replicationcontroller &#34;guestbook&#34; deleted service &#34;redis-master&#34; deleted service &#34;redis-slave&#34; deleted service &#34;guestbook&#34; deleted \u306f\u3044\u3002 \u306a\u304b\u306a\u304b\u624b\u6570\u306f\u591a\u3044\u3067\u3059\u304c\u3001\u96e3\u3057\u3044\u3053\u3068\u306f\u3042\u307e\u308a\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002 AWS CLI\u304c\u6697\u9ed9\u7684\u306b\u4f7f\u308f\u308c\u3066\u3066\u3001Optional\u3068\u304b\u66f8\u304b\u308c\u3066\u305f\u306e\u304c\u3061\u3087\u3063\u3068\u304f\u305b\u8005\u3067\u3059\u306d\u3002\nGA: Generally Available\u306e\u7565\u3002\u4e00\u822c\u306bProduction Ready\u3068\u540c\u3058\u3088\u3046\u306a\u610f\u5473\u5408\u3044\u3067\u53d6\u3089\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u3002&#160;&#x21a9;&#xfe0e;\n\u3060\u3044\u305f\u3044\u306f\u9078\u629e\u51fa\u6765\u308bUI\u306a\u306e\u3067\u3001\u5224\u5225\u51fa\u6765\u308b\u306a\u3089\u3044\u3089\u306a\u3044\u3067\u3059\u304c&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/amazon-eks-is-now-ga\/","summary":"<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\n\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/eks_top_ja_hu_142539013442122f.png\" alt=\"eks_top_ja\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/eks_top_en_hu_efabeb0e93cc05b8.png\" alt=\"eks_top_en\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/create_iam_hu_474e39e25d8b4d61.png\" alt=\"create_iam\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/eks_usecase_hu_a82e04adad2afb58.png\" alt=\"eks_usecase\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/eks_permission_hu_ef58f8b87462b9c7.png\" alt=\"eks_permission\"  \/>\n\n\u30d5\u30e0\u30fc\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/iam_created_hu_59efb1ae8bfed64c.png\" alt=\"iam_created\"  \/>\n\nIAM\u30ed\u30fc\u30eb\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/cf_template_hu_5c0fe8db095f3750.png\" alt=\"cf_template\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/cf_template_view_hu_8b1b3f4b587d21df.png\" alt=\"cf_template_view\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/cf_stack_complete_hu_f1ae54b26c86216a.png\" alt=\"cf_stack_complete\"  \/>\n\n\u3067\u304d\u305f\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/amazon-eks-is-now-ga\/images\/cf_stack_output-1_hu_2a1833050cb6e1db.png\" alt=\"cf_stack_output-1\"  \/>\n\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":"Amazon EKS\u304cGA\u3060\u3068\u8a00\u3046\u306e\u3067\u89e6\u3063\u3066\u307f\u305f"},{"content":"\u3081\u3057\u306b\u3057\u307e\u3057\u3087\u3046 \u306b\u51fa\u3066\u3044\u305f\u3001\u8d85\u7d1a\u30ab\u30c4\u4e3c\u3092Anova\u3092\u4f7f\u3063\u3066\u3084\u3063\u3066\u307f\u307e\u3057\u305f\u3002\n\u307e\u305a\u306f\u304a\u6e6f\u3092\u4e88\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u300258\u5ea6\u3067\u3059\u3002 \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\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\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 \u524d\u56de \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 \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\n\u6295\u5165\u3002\u4eca\u56de\u306f24\u6642\u9593(!)\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002\n24\u6642\u9593\u305f\u3063\u305f\u304a\u8089\u304c\u3053\u3061\u3089\u3002\u304a\u3044\u3057\u304f\u306a\u3055\u305d\u3046\u3002\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\n\u8089\u306f\u56db\u5206\u5272\u3057\u307e\u3057\u305f\u3002 \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\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\n\u63da\u3052\u307e\u3057\u305f\u3002200\u5ea6\u306e\u6cb9\u306720\u79d2\u3067\u3059\u3002\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\n\u30a2\u30c4\u3044\u3002\n\u5927\u5909\u67d4\u3089\u304b\u304f\u3001\u304a\u3044\u3057\u304b\u3063\u305f\u3067\u3059\u3002 \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 \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\n","permalink":"https:\/\/blog.web-apps.tech\/super-katsudoon\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180530_211744_hu_918f91472ac87646.jpg\" alt=\"preheating\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180530_211854_hu_6599f116446869e2.jpg\" alt=\"pork\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180530_212656_hu_defa8b36b4d7205e.jpg\" alt=\"packing\"  \/>\n\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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180530_212807_hu_71c3643f3473c6c0.jpg\" alt=\"heating\"  \/>\n\n\u6295\u5165\u3002\u4eca\u56de\u306f24\u6642\u9593(!)\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_205323_hu_ce6ac3eb617c997b.jpg\" alt=\"heated\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_202055_hu_2a6e3039c01ae7b8.jpg\" alt=\"onion\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_205431_hu_8eb07bc18245a41.jpg\" alt=\"cut_pork\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_210933_hu_9b7de65f9187824b.jpg\" alt=\"coating\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_211840_hu_f6c42dc22db61c58.jpg\" alt=\"fried\"  \/>\n\n\u63da\u3052\u307e\u3057\u305f\u3002200\u5ea6\u306e\u6cb9\u306720\u79d2\u3067\u3059\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_212641_hu_2a4cad52df0237d8.jpg\" alt=\"done\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/super-katsudoon\/images\/IMG_20180531_213153_hu_79d119afc109097a.jpg\" alt=\"thick\"  \/>\n\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":"\u8d85\u7d1a\u30ab\u30c4\u4e3c\u3092Anova\u3067\u3084\u3063\u305f"},{"content":"\u53bb\u308b5\u670812\u65e5\u3001\u8089\u306e\u796d\u5178\u3067\u3042\u308b\u3068\u3053\u308d\u306ebuilderscon \u4f4e\u6e29\u8abf\u7406\u8089\u4f1a 2018 Spring \u304c\u958b\u50ac\u3055\u308c\u307e\u3057\u305f\u3002 \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 \u304c\u3001\u5bb6\u3092\u51fa\u308b\u305e\uff01\u3068\u3044\u3046\u6bb5\u306b\u306a\u3063\u3066KubeCon \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\u3089Anova \u3092\u30dd\u30c1\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3057\u305f\u3002\n[^amzn] \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\n\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\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\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\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@lestrrat\u3055\u3093 \u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u3092\u53c2\u8003 \u306b\u3057\u3066\u3001\u30d0\u30b1\u30c4\u3092\u8cfc\u5165\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \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\u30c8\u30f3\u30dc \u30cb\u30e5\u30fc\u30bb\u30ec\u30af\u30c8\u30d0\u30b1\u30c415L \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\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 58\u5ea6\u306b\u30bb\u30c3\u30c8\u3057\u3066\u4f59\u71b1\u3057\u3066\u304a\u304d\u307e\u3059\u3002\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\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 \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\nIKEA\u306e\u30b8\u30c3\u30d7\u30ed\u30c3\u30af\u7684\u306a\u888b \u306b\u5165\u308c\u3066\u3001\u7a7a\u6c17\u3092\u9069\u5f53\u306b\u629c\u304d\u307e\u3057\u305f\u30021\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 \u3053\u306e\u72b6\u614b\u30672\u6642\u9593\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002\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\n\u30d5\u30e9\u30a4\u30d1\u30f3\u3067\u713c\u304d\u76ee\u3092\u3064\u3051\u3066\u3044\u304d\u307e\u3059\u3002 \u30ac\u30b9\u30d0\u30fc\u30ca\u30fc\u304c\u307b\u3057\u3044\u3002\n\u5207\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u7d20\u6674\u3089\u3057\u3044\u30d4\u30f3\u30af\u8272\u3002\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 \u8ab0\u304b\u3053\u3064\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002\n\u6700\u7d42\u7684\u306b\u5fa1\u98ef\u306e\u4e0a\u3067\u30c9\u30fc\u30f3\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u6e29\u7389\u3082anova\u3067\u3084\u3063\u305f\u3084\u3064\u3002\u3061\u3087\u3063\u3068\u5805\u304b\u3063\u305f\u6c17\u304c\u3057\u307e\u3059\u3002\n\u304a\u3044\u3057\u304b\u3063\u305f\u3002\n\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;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/anova-hello-world\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_155529_hu_ea79f3a0250a18e6.jpg\" alt=\"anova_paper\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_155548_hu_8db01c10c1ebcc9d.jpg\" alt=\"anova_paper_rev\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_155614_hu_e696ee7568c6a0c3.jpg\" alt=\"anova1\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_155705_hu_2f972f364266df3f.jpg\" alt=\"anova2\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_184843_hu_7037e6191a136cdf.jpg\" alt=\"bucket\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_185535_hu_bb955213631e8687.jpg\" alt=\"set_anova\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_185617_hu_c91e9ca27a0bb080.jpg\" alt=\"beef_pack\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_190114_hu_ddc794ab751e7add.jpg\" alt=\"beef_spice\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_190535_hu_8ddc6aecd779cb19.jpg\" alt=\"packing\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_200038_hu_9b81f39bea95733a.jpg\" alt=\"warming\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_220439_hu_8043ba025c5b34cb.jpg\" alt=\"warmed\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180526_221028_hu_67ff521190f2b56f.jpg\" alt=\"fire\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180527_110415_hu_1b13a2abd7977f40.jpg\" alt=\"cut\"  \/>\n\n\u5207\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u7d20\u6674\u3089\u3057\u3044\u30d4\u30f3\u30af\u8272\u3002<\/p>\n<p>\n\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180527_110802_hu_7da3ce14cfd8da07.jpg\" alt=\"slice\"  \/>\n\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\n\n\n\n<img loading=\"lazy\" src=\"\/anova-hello-world\/images\/IMG_20180527_220827_hu_3925268921cd0df.jpg\" alt=\"IMG_20180527_220827\"  \/>\n\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":"Anova\u304c\u5c4a\u3044\u305f\u306e\u3067Hello World\u3057\u305f"},{"content":"\u5148\u65e5\u3001\u521d\u3081\u3066\u6d77\u5916\u306b\u884c\u3063\u3066\u304d\u305f \u3093\u3067\u3059\u304c\u3001\u305d\u306e\u969b\u3001slimduet \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\n\u524d\u63d0 \u7aef\u672b\u306fFREETEL\u306eKiwami 2 (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\n\u8a2d\u5b9a SIM\u3092\u8cfc\u5165\u3059\u308b slimduet\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u5c02\u7528\u306eeSIM\u304c\u5fc5\u8981\u3067\u3059\u306e\u3067\u3001\u516c\u5f0f\u30b5\u30a4\u30c8 \u3084Amazon(\u8a18\u4e8b\u57f7\u7b46\u6642\u70b9\u3067\u306f\u5728\u5eab\u306a\u3057)\u304b\u3089\u8cfc\u5165\u3057\u3066\u304a\u304d\u307e\u3059\u3002\nSIM\u30ab\u30fc\u30c9\u306e\u4fa1\u683c\u306f\u306f2000\u5186\u3092\u5207\u308b\u7a0b\u5ea6\u3067\u3059\u3002\nslimduet\u306e\u30a2\u30d7\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b 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 Google Play\u3067slimduet \u3068\u691c\u7d22\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n\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\n\u30d7\u30e9\u30f3\u3092\u8cfc\u5165\u3059\u308b 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 \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\nslimduet\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 \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\u691c\u7d22\u30d0\u30fc\u6a2a\u306e\u30eb\u30fc\u30da\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059(\u30ad\u30fc\u30dc\u30fc\u30c9\u306eGo\u3084Done\u3001\u30a8\u30f3\u30bf\u30fc\u306a\u3069\u3067\u306f\u691c\u7d22\u3055\u308c\u306a\u3044\u306e\u3067\u6ce8\u610f)\u3002 \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 \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 \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\n\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\n\u96fb\u8a71\u756a\u53f7\u3092\u5207\u308a\u66ff\u3048\u308b \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\nKiwami 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 Android\u306e\u30a2\u30d7\u30ea\u30c9\u30ed\u30ef\u30fc\u304b\u3089SIM Toolkit\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002 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 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 \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 \u8cfc\u5165\u3057\u305f\u30d7\u30e9\u30f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u9078\u629e\u3057\u307e\u3059\u3002 APN\u306e\u8a2d\u5b9a\u3092\u3059\u308b \u96fb\u8a71\u756a\u53f7\u306e\u5207\u308a\u66ff\u3048\u304c\u51fa\u6765\u305f\u3089\u3001APN\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059\u3002 Android\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 \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 \u300c\u30a2\u30af\u30bb\u30b9\u30dd\u30a4\u30f3\u30c8\u540d\u300d\u306e\u8a2d\u5b9a\u753b\u9762\u3092\u958b\u304d\u3001\u53f3\u4e0a\u306e + \u304b\u3089APN\u306e\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002 \u540d\u524d\u306f\u9069\u5f53\u306a\u3082\u306e(slimduet\u306a\u3069)\u3092\u5165\u529b\u3057\u3001APN\u3092 uinternet\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002 \u4fdd\u5b58\u3057\u305f\u3089\u3001\u4f5c\u6210\u3057\u305fAPN\u8a2d\u5b9a\u3092\u9078\u629e\u3057\u307e\u3059\u3002 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/using-slimduet\/","summary":"<p>\u5148\u65e5\u3001<a href=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/using-slimduet\/images\/Screenshot_20180502-200652_hu_1d820c851365ebb.png\" alt=\"plan_detail\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/using-slimduet\/images\/Screenshot_20180502-200821_hu_d2219d1eba32e76.png\" alt=\"settings_sim\"  \/>\n\n\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/using-slimduet\/images\/Screenshot_20180502-200827_hu_a92daf2e1c53e6c4.png\" alt=\"choose_ap\"  \/>\n\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":"slimduet\u3092\u4f7f\u3063\u3066\u6d77\u5916\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3092\u78ba\u4fdd\u3059\u308b"},{"content":"\u904e\u304e\u30575\u67081\u65e5\u301c5\u67086\u65e5\u3001\u51fa\u5f35\u3067KubeCon + CloudNativeCon Europe 2018 \u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\uff01\nKubeCon\u306fKubernetes(k8s) \u306e\u30a4\u30d9\u30f3\u30c8\u3067\u3001Cloud Native Computing Foundation(CNCF) \u304c\u4e3b\u50ac\u3059\u308bCloudNativeCon\u3068\u4f75\u305b\u305f\u958b\u50ac\u3067\u3057\u305f\u3002 \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 twitter\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u306f#kubecon \u3067\u3001\u4e00\u90e8#cloudnativecon \u3082\u4f7f\u308f\u308c\u3066\u3044\u305f\u3088\u3046\u3067\u3059\u3002\n\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\nfinnair \u4eca\u56de\u3001\u98db\u884c\u6a5f\u306fFinnair \u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u3002 \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 \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\n\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 \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\nThe Square \u4eca\u56de\u3068\u3063\u305f\u30db\u30c6\u30eb\u306f\u30b3\u30da\u30f3\u30cf\u30fc\u30b2\u30f3\u306e\u7e41\u83ef\u8857\u306b\u307b\u3069\u8fd1\u3044The Square \u3068\u3044\u3046\u30db\u30c6\u30eb\u3067\u3059\u3002 \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\n\u8fd1\u6240\u306b\u306fNETTO \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\u306aIrma \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\n\u7e41\u83ef\u8857\u307e\u3067\u811a\u3092\u4f38\u3070\u305b\u3070\u3001Hard Rock Cafe \u3084\u3001\u56fd\u5185\u3067\u3082\u4e00\u6642\u671f\u8a71\u984c\u3068\u306a\u3063\u305fSuperdry1\u306a\u3069\u3082\u3042\u308a\u307e\u3059\u3002\n\u307e\u305f\u3001\u4eca\u56de\u306eKubeCon\u306e\u30d1\u30fc\u30c6\u30a3\u30fc\u304cTivoli garden \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\n\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 \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\n\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\nKubeCon + CloudNativeCon Europe 2018 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\n\u30b9\u30e9\u30a4\u30c9\u306f\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u307e\u305f\u3001@superbrothers \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\nI created a script that downloads all KubeCon + CloudNativeCon Europe 2018 slides from Sched! ? https:\/\/t.co\/FyD1zhJbNk #KubeCon\n&mdash; Kazuki Suda \/ \u3059\u3071\u3076\u3089 (@superbrothers) 2018\u5e745\u67083\u65e5 1 $ curl https:\/\/gist.githubusercontent.com\/superbrothers\/2c2d3713d8d30a785cabf77831489fcd\/raw\/666ba22738e1d18ece311d7ba9bb4b88e5def60c\/kccnceu18-dl.sh | bash - https:\/\/t.co\/drmFJzq7RX #kubecon\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x19\u6b73) (@nasa9084) 2018\u5e745\u67082\u65e5 \u4e0a\u8a18tweet\u306fURL\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3057\u305f\u30fb\u30fb\u30fb\nhttps:\/\/t.co\/tIqBuF7oL1\u3092\u898b\u3088 #kubecon\n&mdash; nasa9084@\u67d0\u67d0\u67d0\u67d0(0x19\u6b73) (@nasa9084) 2018\u5e745\u67082\u65e5 https:\/\/l.cncf.io \u3067\u306f\u3001CNCF\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3084\u3001\u95a2\u9023\u3059\u308b(Cloud-Native\u306a)\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e00\u89a7\u3092\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306b\u691c\u7d22\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002 \u975e\u5e38\u306b\u898b\u3084\u3059\u3044\u305f\u3081\u3001\u60c5\u5831\u53ce\u96c6\u306b\u306f\u3082\u3063\u3066\u3053\u3044\u3067\u3059\u3002\n\u65e5\u672c\u56fd\u5185\u304b\u3089\u306f\u516c\u5f0f\u30b5\u30a4\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u51fa\u6765\u306a\u3044&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/i-went-to-kubecon-cloudnativecon-eu-2018\/","summary":"<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":"KubeCon + CloudNativeCon Europe 2018\u306b\u3044\u3063\u3066\u304d\u305f"},{"content":"Japan Container Days v18.04 \u3067\u8868\u984c\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u805e\u3044\u305f\u306e\u3067\u3001\u307e\u3068\u3081\u307e\u3057\u305f\u3002\n\u30b9\u30e9\u30a4\u30c9\u8cc7\u6599 Kubernetes\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9(SpeakerDeck) API\u30b5\u30fc\u30d0\u3078\u306e\u653b\u6483\u3092\u9632\u3050 RBAC\u3067Pod\u306b\u4ed8\u4e0e\u3055\u308c\u308b\u6a29\u9650\u3092\u7d5e\u308b 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\nFirewall\u3067API\u30b5\u30fc\u30d0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306b\u3064\u3044\u3066IP\u5236\u9650\u3092\u4ed8\u4e0e\u3059\u308b \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\nNetworkPolicy\u3067DB\u3078\u306e\u63a5\u7d9a\u304c\u8a31\u53ef\u3055\u308c\u308bPod\u3092\u5236\u9650\u3059\u308b \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\nexample: 1 2 3 4 5 6 7 8 9 10 11 12 13 kind: NetworkPolicy apiVersion: networking.k8s.io\/v1 metadata: name: redis spec: podSelector: matchLabels: name: redis ingress: - from: - podSelector: matchLabels: name: guestBook \u30db\u30b9\u30c8\u3078\u306e\u653b\u6483\u3092\u9632\u3050 \u6b21\u306e\u4e09\u3064\u3092\u4f75\u7528\u3059\u308b\u3068\u826f\u3044\nnon-root\u30e6\u30fc\u30b6\u3067Pod\u3092\u5b9f\u884c\u3059\u308b example: 1 2 3 4 5 6 7 kind: Pod apiVersion: v1 metadata: name: security-context-demo spec: securityContext: runAsUser: 1000 \u8aad\u307f\u8fbc\u307f\u5c02\u7528\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3059\u308b example: 1 2 3 4 5 6 7 kind: Pod apiVersion: v1 metadata: name: security-context-demo spec: securityContext: readOnlyRootFilesystem: true no_new_privs fork\u3057\u305f\u30d7\u30ed\u30bb\u30b9\u304c\u5f37\u3044\u6a29\u9650\u3092\u6301\u3066\u306a\u3044\u3088\u3046\u306b\u3059\u308b\nexample: 1 2 3 4 5 6 7 kind: Pod apiVersion: v1 metadata: name: security-context-demo spec: securityContext: allowPrivilegeEscalation: false seccomp\/AppArmor\/SELinux \u30b3\u30f3\u30c6\u30ca\u81ea\u4f53\u82e5\u5e72\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u6027\u80fd\u306f\u3042\u308b\u304c\u3001\u307b\u307c\u306a\u3044\u306e\u3067\u3001seccomp\u3068AppArmor\/SELinux\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u58c1\u3092\u5897\u3084\u3059\nseccomp seccomp: Linux\u3067\u30d7\u30ed\u30bb\u30b9\u306e\u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u306e\u767a\u884c\u3092\u5236\u9650\u3059\u308b\u6a5f\u80fd\ndocker\u3067\u306fseccomp\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u306b\u306a\u3063\u3066\u304c\u3001kubernetes\u3067\u306f\u307e\u3060\u30c7\u30d5\u30a9\u30eb\u30c8\u306b\u306a\u3063\u3066\u3044\u306a\u3044\u305f\u3081\u3001docker\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6d41\u7528\u3059\u308b\n\u307e\u3060\u30a2\u30eb\u30d5\u30a1\u3060\u304c\u3001\u4f7f\u3063\u305f\u65b9\u304c\u826f\u3044\nexample: 1 2 3 4 5 6 kind: Pod apiVersion: v1 metadata: name: myPod annotations: seccomp.security.alpha.kubernetes.io\/pod: runtime\/default AppArmor AppArmor: Linux Security Modules\u306e\u4e00\u3064\u3067\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9\u3001Raw socket \u30a2\u30af\u30bb\u30b9\u3001\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u8aad\u307f\u66f8\u304d\u5b9f\u884c\u306a\u3069\u306e\u6a5f\u80fd\u3092\u5236\u9650\u3059\u308b\u6a5f\u80fd\nexample: 1 2 3 4 5 6 kind: Pod apiVersion: v1 metadata: name: myPod annotations: container.apparmor.security.beta.kubernetes.io\/hello: runtime\/default SELinux example: 1 2 3 4 5 6 7 8 kind: Pod apiVersion: v1 metadata: name: myPod spec: securityContext: seLinuxOptions: level: &#34;s0:c123,c456&#34; kubelet\u306e\u6a29\u9650\u3092\u5236\u9650\u3059\u308b RBAC\u3092\u8a2d\u5b9a\u3059\u308b --authorization-mode=RBAC,Node --admission-control=...,NodeRestriction kubelet\u306e\u8a3c\u660e\u66f8\u3092\u30ed\u30fc\u30c6\u30fc\u30c8\u3059\u308b --rotate-certificates \u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u508d\u53d7\u3092\u9632\u3050 Istio\u3092\u5c0e\u5165\u3059\u308b \u30b5\u30fc\u30d3\u30b9\u9593\u306e\u30d7\u30ed\u30ad\u30b7 \u6697\u53f7\u5316 \u8a3c\u660e\u66f8\u306e\u81ea\u52d5\u66f4\u65b0 \u30dd\u30ea\u30b7\u30fc\u306e\u4e2d\u592e\u7ba1\u7406 ","permalink":"https:\/\/blog.web-apps.tech\/k8s-security-best-practices-by-ianlewis\/","summary":"<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":"Kubernetes\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9 by Ian Lewis"},{"content":"uzulla\u3055\u3093\u304c\u30d6\u30ed\u30b0\u3067\u3053\u3093\u306a\u3053\u3068\u3092\u66f8\u3044\u3066\u305f\u3002\n\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 \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 \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\n\/boot\/wpa_supplicant.conf\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\/etc\/wpa_supplicant\/wpa_supplicant.conf\u306b\u826f\u3044\u611f\u3058\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u308c\u307e\u3059\u3002\n\u4e0a\u8a18uzulla\u3055\u3093\u306e\u30d6\u30ed\u30b0\u3067\u3044\u3046\u3068\u3001\u300cmicroSD\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\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 \u3042\u3068\u306fnmap\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\u3066ssh pi@xxx.xxx.xxx.xxx\u7684\u306bSSH\u3059\u308b\u304b\u3001avahi\/bonjour\u3092\u3064\u304b\u3063\u3066ssh pi@raspberrypi.local\u7684\u306bSSH\u3059\u308b\u304b\u3067\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u307e\u3059\u3002\nwpa_supplicant.conf\u306e\u66f8\u304d\u65b9\u306f\u3001\u4e0a\u8a18uzulla\u3055\u3093\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u306e\u3001\u300cRaspberry Pi Zero w\u306bWifi\u3092\u8a2d\u5b9a\u3059\u308b\u300d\u3063\u3066\u3068\u3053\u308d\u3092\u898b\u308b\u304b\u3001\u3053\u3053 \u3068\u304b\u3053\u3053 \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 \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\n\u306a\u304a\u3001NOOBS\u3067\u3084\u308b\u3068\u304d\u306f\u3001wpa_supplicant.conf\u3068ssh\u306f\/boot\u3067\u306f\u306a\u304f\u3001\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u304a\u3051\u3070OK\u3067\u3059\u3002 \u3055\u3089\u306b\u3001recovery.cmdline\u3068\u8a00\u3046\u30d5\u30a1\u30a4\u30eb\u306equiet\u3068\u3044\u3046\u90e8\u5206\u3092vncinstall\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\n","permalink":"https:\/\/blog.web-apps.tech\/raspberry-pi-headless-wifi-setup\/","summary":"<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":"Raspberry Pi\u306e\u30d8\u30c3\u30c9\u30ec\u30b9\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067Wi-Fi\u3092\u8a2d\u5b9a\u3059\u308b"},{"content":"\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 \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 \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 TOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306fRFC6238 \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 RFC\u3084Wikipedia \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 Go\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\nHOTP\u3068TOTP 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 \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 HOTP\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 \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 \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\n\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\nTOTP\u3092\u5b9f\u88c5\u3059\u308b \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 \u6b21\u306e\u5f0f\u3067\u8868\u3055\u308c\u307e\u3059\u3002\n\\begin{eqnarray*} TOTP(K, T_0, X) &amp;=&amp; HOTP(K, T(T_0, X)) \\\\ T(T_0, X) &amp;=&amp; \\frac{(CurrentUnixTime - T_0)}{X} \\end{eqnarray*}\n$K$\u306f\u5171\u6709\u79d8\u5bc6\u9375\u3067\u3059\u3002 $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 $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) \u30d7\u30ed\u30b0\u30e9\u30e0\u5b9f\u88c5\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u66f8\u3044\u3066\u307f\u307e\u3059\u3002\n1 2 3 4 5 6 7 func TOTP(k string, t0, x int) int { return HOTP(k, T(t0, x)) } func T(t0, x int) int { return (time.Now().Unix - t0)\/x } \u7c21\u5358\u3067\u3059\u306d\u3002\u4e0a\u8a18\u306e\u5185\u3001\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u306e\u306fHOTP(K, T)\u3060\u3051\u3068\u306a\u308a\u307e\u3057\u305f\u3002\nHOTP\u3092\u5b9f\u88c5\u3059\u308b TOTP\u306e\u30b3\u30fc\u30c9\u3067\u306fHOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u90e8\u5206\u304c\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u306e\u3067\u3001\u3053\u3053\u3092\u5b9f\u88c5\u3059\u308c\u3070\u5b9f\u969b\u306b\u4f7f\u7528\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002 HOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306fRFC4226 \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u8aad\u307f\u306a\u304c\u3089\u5b9f\u88c5\u3057\u307e\u3059\u3002\nRFC\u3092\u8aad\u3080\u3068\u3001HOTP\u306f\u5927\u304d\u304f\u6b21\u306e3\u30b9\u30c6\u30c3\u30d7\u3067\u6c42\u3081\u3089\u308c\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\n\u5171\u6709\u79d8\u5bc6\u9375\u3068\u8a8d\u8a3c\u56de\u6570\u304b\u3089HMAC-SHA1\u306e\u5024\u3092\u6c42\u3081\u308b 4byte\u306e\u6587\u5b57\u5217\u3092\u751f\u6210\u3059\u308b HOTP\u306e\u5024\u3092\u8a08\u7b97\u3059\u308b \u4f55\u304c\u4f55\u3084\u3089\u3067\u3059\u306d\u3002\u3082\u3046\u5c11\u3057\u8a73\u3057\u304f\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\n1. HMAC-SHA1\u306e\u5024\u3092\u6c42\u3081\u308b HMAC\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u8a8d\u8a3c\u30b3\u30fc\u30c9\u306e\u4e00\u7a2e\u3067\u3001\u30cf\u30c3\u30b7\u30e5\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3001\u79d8\u5bc6\u9375\u3068\u30e1\u30c3\u30bb\u30fc\u30b8\u304b\u3089\u8a8d\u8a3c\u30b3\u30fc\u30c9\u3092\u751f\u6210\u3057\u307e\u3059\u3002 \u3053\u3053\u3067\u306f\u3001\u305d\u306e\u540d\u306e\u901a\u308a\u3001\u30cf\u30c3\u30b7\u30e5\u95a2\u6570\u3068\u3057\u3066SHA1\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 \u307e\u305f\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u3068\u3057\u3066\u8a8d\u8a3c\u56de\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\nHMAC-SHA1\u306e\u5024\u3092$HS$\u3068\u3057\u3066\u3001\u5f0f\u3067\u8868\u3059\u3068\u6b21\u306e\u3088\u3046\u306a\u5f62\u3067\u3059\u3002\n[ HS = HMAC-SHA-1(K, C) ]\n$K$\u306f\u79d8\u5bc6\u9375 $C$\u306f\u30e1\u30c3\u30bb\u30fc\u30b8(\u3053\u3053\u3067\u306f\u8a8d\u8a3c\u56de\u6570) Go\u8a00\u8a9e\u3067\u306f\u3001HMAC\u3082SHA1\u3082\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u5165\u3063\u3066\u307e\u3059\u306e\u3067\u3001\u3053\u3061\u3089\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 HMAC\u306fcrypto\/hmac \u30d1\u30c3\u30b1\u30fc\u30b8\u3001SHA1\u306fcrypto\/sha1 \u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\n\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002\n1 2 3 4 5 func HMACSHA1(k, c []byte) []byte { mac := hmac.New(sha1.New, k) mac.Write(c) return mac.Sum(nil) } Go\u8a00\u8a9e\u3067\u3001HMAC\u306fhash.Hash\u3068\u3057\u3066\u5b9f\u88c5\u3055\u308c\u3066\u304a\u308a\u3001hmac.New(func() hash.Hash, []byte)\u3067\u30cf\u30c3\u30b7\u30e5\u95a2\u6570\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5f97\u3066\u4f7f\u7528\u3057\u307e\u3059\u3002 SHA1\u306e\u30d6\u30ed\u30c3\u30af\u95771\u306f160bit\u3067\u3059\u304b\u3089\u3001\u6587\u5b57\u5217\u3067\u3044\u3046\u306820\u6587\u5b57\u306e\u6587\u5b57\u5217\u3092\u5f97\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\n2. 4byte\u306e\u6587\u5b57\u5217\u3092\u751f\u6210\u3059\u308b \u6b21\u306b\u3001\u5148\u306b\u8a08\u7b97\u3057\u305f$HS$\u304b\u30894byte\u306e\u6587\u5b57\u5217\u3092\u4f5c\u308a\u307e\u3059\u3002 RFC\u306e6\u30da\u30fc\u30b8\u76ee\u306b\u3001\u8a08\u7b97\u65b9\u6cd5\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u305d\u306e\u901a\u308a\u8a08\u7b97\u3057\u307e\u3059\u3002\n[ Sbits = DT(HS) ]]\n\u307e\u305a\u3001offsetbits\u3092\u6c42\u3081\u307e\u3059\u3002 offsetbits\u306f$HS$\u306e20\u6587\u5b57\u76ee(\u3064\u307e\u308a\u6700\u5f8c\u306e\u6587\u5b57)\u306e\u4e0b\u4f4d4bit\u3067\u3059\u3002 Go\u8a00\u8a9e\u3067\u6271\u3046\u306e\u306fbyte\u5217\u3067\u3059\u304b\u3089\u300120\u6587\u5b57\u76ee\u30928bit\u307e\u308b\u3054\u3068\u53d6\u308a\u51fa\u3057\u3066\u3001\u4e0a\u4f4d4bit\u30920\u3067\u57cb\u3081\u308b($00001111_{(2)}$\u3067\u30de\u30b9\u30af\u3092\u304b\u3051\u308b)\u3053\u3068\u3067\u4e0b\u4f4d4bit\u3092\u53d6\u308a\u51fa\u3057\u305f\u3053\u3068\u3068\u3057\u307e\u3059\u3002 \u306a\u304a\u3001Python\u7b49\u3067\u306f2\u9032\u6570\u306e\u30ea\u30c6\u30e9\u30eb\u3082\u3042\u308a\u307e\u3059\u304c\u3001Go\u3067\u306f2\u9032\u6570\u306e\u30ea\u30c6\u30e9\u30eb\u306f\u3042\u308a\u307e\u305b\u3093\u306e\u3067\u300116\u9032\u6570\u3067\u8868\u8a18\u3057\u307e\u3059($00001111_{(2)}$\u306f$F_{(16)}$\u3067\u3059)\u3002\n1 offsetbits := hs[19] &amp; 0xF \u6b21\u306b\u3001offset\u3092\u6c42\u3081\u307e\u3059\u3002 offset\u306f\u3001offsetbits\u3092\u6570\u5024\u3068\u3057\u3066\u53d6\u308a\u51fa\u3057\u307e\u3059\u3002 \u3053\u308c\u306f\u3001\u7279\u5225\u5909\u63db\u3092\u884c\u3046\u308f\u3051\u3067\u306f\u7121\u304f\u3001byte\u5217\u3092\u76f4\u63a5int\u3068\u3057\u3066\u8aad\u307f\u307e\u3059(4bit\u306a\u306e\u3067\u30010\u301c15\u306e\u5024)\u3002\n1 offset := int(offsetbits) \u7d9a\u3044\u3066\u3001$HS$\u306eoffset\u756a\u76ee\u306e\u6587\u5b57\u304b\u30894\u6587\u5b57\u3092\u629c\u304d\u51fa\u3057\u3001\u3053\u308c\u3092p\u3068\u3057\u307e\u3059\u3002\n1 p := hs[offset:offset+4] p\u306e\u7d42\u7aef31bit\u3092\u629c\u304d\u51fa\u3057\u307e\u3059\u3002 \u3053\u308c\u3082\u3001offsetbits\u306e\u6642\u306e\u8a08\u7b97\u540c\u69d8\u3001\u30de\u30b9\u30af\u3092\u304b\u3051\u308b\u3053\u3068\u3067\u540c\u69d8\u306e\u51e6\u7406\u3068\u3057\u307e\u3059($01111111111111111111111111111111_{(2)}$\u306f$7FFFFFFF_{(16)}$)\u3002 \u5c1a\u3001byte\u5217\u306b\u76f4\u63a5\u30de\u30b9\u30af\u3092\u304b\u3051\u308b\u306e\u306f\u5c11\u3005\u9762\u5012\u3067\u3059\u3057\u3001\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u6570\u5024\u3078\u306e\u5909\u63db\u3092\u884c\u3044\u307e\u3059\u306e\u3067\u3001\u4e00\u65e6\u6570\u5024\u306b\u3057\u3066\u304b\u3089\u30de\u30b9\u30af\u3092\u304b\u3051\u307e\u3059\u3002 []byte\u304b\u3089int\u3078\u306f\u76f4\u63a5\u30ad\u30e3\u30b9\u30c8\u3067\u304d\u306a\u3044\u305f\u3081\u3001encoding\/binary \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u3053\u3053\u307e\u3067\u3092\u307e\u3068\u3081\u308b\u3068\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u308a\u307e\u3059\u3002\n1 2 3 4 5 6 func DT(hs []byte) int { offsetbits := hs[19] &amp; 0xF offset := int(offsetbits) p := hs[offset:offset+4] return int(binary.BigEndian.Uint32(p)) &amp; 0x7FFFFFFF } 3. HOTP\u306e\u5024\u3092\u8a08\u7b97\u3059\u308b \u524d\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u51fa\u305f\u5024\u306e\u6570\u5024\u8868\u73fe\u3068\u3001$10^{Digit}$\u306e\u5270\u4f59\u3092\u3068\u308a\u3001\u6240\u5b9a\u306e\u6841\u6570\u306b\u7d0d\u3081\u307e\u3059\u3002 \u5e78\u3044\u3001\u524d\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u51fa\u529b\u5024\u306fint\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u304b\u3089\u3001\u307b\u3068\u3093\u3069\u305d\u306e\u307e\u307e\u4f7f\u3048\u307e\u3059\u3002\n1 2 3 func ReductionModulo(snum int) int { return int(int64(snum) % int64(math.Pow10(g.Digit))) } HOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u307e\u3068\u3081 \u3053\u3053\u307e\u3067\u306b\u898b\u3066\u304d\u305f\u30b9\u30c6\u30c3\u30d7\u3092\u5408\u308f\u305b\u3066\u3001HOTP\u3092\u5f97\u308b\u95a2\u6570\u3092\u4f5c\u6210\u3057\u307e\u3057\u3087\u3046\u3002 \u6539\u3081\u3066RFC\u3092\u773a\u3081\u308b\u3068\u3001HOTP\u306f\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n[ HOTP(K, C) = Truncate(HMAC-SHA-1(K, C)) ]\n$Truncate$\u306fDT\u306e\u3053\u3068\u3067\u3059\u3002\n\u3053\u308c\u3092Go\u8a00\u8a9e\u3067\u66f8\u304d\u76f4\u3059\u3068\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n1 2 3 func HOTP(k, c []byte) int { return DT(HMACSHA1(k, c)) } TOTP\u306b\u4f75\u305b\u3066HOTP\u3092\u4fee\u6b63\u3059\u308b \u6268\u3001\u672c\u8a18\u4e8b\u306e\u76ee\u6a19\u306fTOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u5b9f\u88c5\u3067\u3057\u305f\u3002 \u672c\u8a18\u4e8b\u306e\u5192\u982d\u3067\u4f5c\u6210\u3057\u305fTOTP\u95a2\u6570\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3057\u305f\u3002\n1 2 3 4 5 6 7 func TOTP(k string, t0, x int) int { return HOTP(k, T(t0, x)) } func T(t0, x int) int { return (time.Now().Unix - t0)\/x } T(t0, x)\u306e\u8fd4\u308a\u5024\u306fint\u3067\u3059\u304b\u3089\u3001func HOTP(k, c []byte) int\u306b\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002 \u3053\u3053\u306fHOTP\u95a2\u6570\u3092\u3061\u3087\u3063\u3068\u4fee\u6b63\u3057\u3066\u307f\u307e\u3059\u3002\n1 2 3 4 5 func HOTP(k []byte, c int) int { cb := make([]byte, 8) binary.BigEndian.PutUint64(cb, c) return DT(HMACSHA1(k, cb)) } \u5f15\u6570\u3092TOTP\u95a2\u6570\u3067\u4e0e\u3048\u305f\u3044\u5f62\u306b\u5408\u308f\u305b\u3001\u95a2\u6570\u5185\u3067\u578b\u5909\u63db\u30ed\u30b8\u30c3\u30af\u3092\u5165\u308c\u307e\u3057\u305f\u3002\n\u3053\u308c\u3067\u3001\u7121\u4e8bTOTP\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002 (\u672c\u6587\u4e2d\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u30c6\u30b9\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u672c\u756a\u3067\u306f\u4f7f\u7528\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044)\n\u51fa\u529b\u306e\u9577\u3055\u306e\u3053\u3068&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/implementing_totp\/","summary":"<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":"TOTP\u3092\u5b9f\u88c5\u3059\u308b"},{"content":" TL;DR: slice := array[:]\u3067\u5909\u63db\u3067\u304d\u308b 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 \u4e00\u822c\u306b\u3001Go\u8a00\u8a9e\u3067\u914d\u5217\u3092\u6271\u3046\u3053\u3068\u306f\u591a\u304f\u306a\u3044\u3067\u3057\u3087\u3046\u3002 \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\n\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 \u4f8b\u3048\u3070\u3001crypto\/sha512\u3092\u898b\u3066\u307f\u308b \u3068\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u95a2\u6570\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\n1 func Sum512(data []byte) [Size]byte \u3053\u3053\u3067\u3001Size\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 \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\n\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 \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\nGo\u8a00\u8a9e\u306b\u306f\u3082\u3061\u308d\u3093\u306e\u3053\u3068\u306a\u304c\u3089\u3001encoding\/hex\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 16\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\n1 func EncodeToString(src []byte) string \u5f15\u6570\u306b\u6ce8\u76ee\u3057\u307e\u3059\u3002 \u8981\u6c42\u3055\u308c\u3066\u3044\u308b\u306e\u306fbyte\u306e\u30b9\u30e9\u30a4\u30b9\u3067\u3059\u3002\nGo\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\n1 2 3 4 h := sha512.Sum512(&#34;foobar&#34;) \/\/ \u578b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b EncodeToString(h) \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 \u6b21\u306e\u3088\u3046\u306b\u66f8\u304d\u305f\u304f\u306a\u308a\u307e\u3059\u306d\u3002\n1 2 h := sha512.Sum512(&#34;foobar&#34;) EncodeToString([]byte(h)) \/\/ \u914d\u5217\u3092\u30b9\u30e9\u30a4\u30b9\u306b\u5909\u63db\u3057\u305f\u3044 \u3057\u304b\u3057\u3001\u6b21\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u3092\u751f\u3058\u307e\u3059\u3002\ncannot convert sha512.Sum512(&#34;foobar&#34;) (type [64]byte) to type []byte \u578b\u5909\u63db\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u3067\u3059\u3002 \u3069\u3046\u3057\u305f\u3089\u826f\u3044\u306e\u3067\u3057\u3087\u3046\u304b\u3002\nGo\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\n1 2 a := [3]string{&#34;foo&#34;, &#34;bar&#34;, &#34;baz&#34;} s := a[0:2] \/\/ s\u306f\u30b9\u30e9\u30a4\u30b9 \u307e\u305f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u7701\u7565\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \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\n1 2 3 a := [3]string{&#34;foo&#34;, &#34;bar&#34;, &#34;baz&#34;} s1 := a[:2] \/\/ a[0:2]\u3068\u7b49\u3057\u3044 s2 := a[0:] \/\/ a[0:3]\u3068\u7b49\u3057\u3044 \u3067\u306f\u3001\u4e21\u65b9\u7701\u7565\u3059\u308b\u3068\u3069\u3046\u306a\u308b\u3067\u3057\u3087\u3046\u304b\u3002 \u4e21\u65b9\u7701\u7565\u3059\u308b\u3068\u3001\u3082\u3068\u306e\u914d\u5217\u3068\u540c\u3058\u5185\u5bb9\u306e\u30b9\u30e9\u30a4\u30b9\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002\n\u3064\u307e\u308a\u3001\u914d\u5217\u3092\u30b9\u30e9\u30a4\u30b9\u306b\u5909\u63db\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u6b21\u306e\u3088\u3046\u306b\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n1 2 a := [3]string{&#34;foo&#34;, &#34;bar&#34;, &#34;baz&#34;} s := array[:] \u3055\u304d\u307b\u3069\u306e\u4f8b\u306b\u623b\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002 sha512.Sum512()\u306f\u914d\u5217\u3092\u8fd4\u3057\u3001hex.EncodeToString()\u306f\u30b9\u30e9\u30a4\u30b9\u3092\u8981\u6c42\u3059\u308b\u306e\u3067\u3057\u305f\u3002 \u3053\u306e\u5834\u5408\u3001\u6b21\u306e\u3088\u3046\u306b\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n1 2 h := sha512.Sum512([]byte(&#34;foobar&#34;)) hex.EncodeToString(h[:]) \u3053\u308c\u3067\u7121\u4e8b\u3001\u914d\u5217\u3068\u30b9\u30e9\u30a4\u30b9\u306e\u5909\u63db\u3092\u3057\u3066\u3001SHA512\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u306e16\u9032\u8868\u73fe\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/golang-array-to-slice\/","summary":"<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":"Golang: \u914d\u5217\u304b\u3089\u30b9\u30e9\u30a4\u30b9\u306b\u5909\u63db\u3059\u308b"},{"content":"\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\u767a\u8868\u3055\u308c\u307e\u3057\u305f !1\n\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\n\u5c1a\u3001\u4eca\u56de\u5bfe\u8c61\u3068\u3057\u305f\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002\nCentOS 7 \u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066nginx DNS\u306fGehirn DNS \u3067\u306f\u3001\u4f5c\u696d\u3057\u3066\u3044\u304d\u307e\u3059\u3002\nCentOS 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\n1 $ sudo yum update \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 0.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\n\u516c\u5f0f\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u3067\u306f\u3001dns-plugin\u3092\u4f7f\u3046\u3088\u3046\u66f8\u3044\u3066\u3042\u308a \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 \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 # certbot certonly --manual --preferred-challenges dns -d *.web-apps.tech --server https:\/\/acme-v02.api.letsencrypt.org\/directory Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log Plugins selected: Authenticator manual, Installer None Enter email address (used for urgent renewal and security notices) (Enter &#39;c&#39; to cancel): nasa.9084.bassclarinet@gmail.com Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org ------------------------------------------------------------------------------- Please read the Terms of Service at https:\/\/letsencrypt.org\/documents\/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https:\/\/acme-v02.api.letsencrypt.org\/directory ------------------------------------------------------------------------------- (A)gree\/(C)ancel: a ------------------------------------------------------------------------------- Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let&#39;s Encrypt project and the non-profit organization that develops Certbot? We&#39;d like to send you email about EFF and our work to encrypt the web, protect its users and defend digital rights. ------------------------------------------------------------------------------- (Y)es\/(N)o: y Starting new HTTPS connection (1): supporters.eff.org Obtaining a new certificate Performing the following challenges: dns-01 challenge for web-apps.tech ------------------------------------------------------------------------------- NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you&#39;re running certbot in manual mode on a machine that is not your server, please ensure you&#39;re okay with that. Are you OK with your IP being logged? ------------------------------------------------------------------------------- (Y)es\/(N)o: y ------------------------------------------------------------------------------- Please deploy a DNS TXT record under the name _acme-challenge.web-apps.tech with the following value: qiGA8Vep17l0nYJ1O1AdF68D9iT7bL5Mpoe3j7-Caag Before continuing, verify the record is deployed. ------------------------------------------------------------------------------- Press Enter to Continue \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 Gehirn\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u306b\u306a\u308a\u307e\u3059\u3002\n\u8ffd\u52a0\u3057\u305f\u3089\u3001dig\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066DNS\u30ec\u30b3\u30fc\u30c9\u304c\u6d78\u900f()\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3067\u304d\u308b\u307e\u3067\u5f85\u3061\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 $ dig -t txt _acme-challenge.web-apps.tech (\u524d\u7565) ;; ANSWER SECTION: _acme-challenge.web-apps.tech. 30 IN\tTXT\t&#34;qiGA8Vep17l0nYJ1O1AdF68D9iT7bL5Mpoe3j7-Caag&#34; (\u4ee5\u4e0b\u7565) certbot\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u7aef\u672b\u306b\u623b\u308a\u3001Enter\u3067\u9032\u307f\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: \/etc\/letsencrypt\/live\/web-apps.tech\/fullchain.pem Your key file has been saved at: \/etc\/letsencrypt\/live\/web-apps.tech\/privkey.pem Your cert will expire on 2018-06-12. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run &#34;certbot renew&#34; - If you like Certbot, please consider supporting our work by: Donating to ISRG \/ Let&#39;s Encrypt: https:\/\/letsencrypt.org\/donate Donating to EFF: https:\/\/eff.org\/donate-le \u4e0a\u624b\u304f\u3044\u304f\u3068\u3001\u4e0a\u8a18\u306e\u3088\u3046\u306b Congratulations!\u304c\u542b\u307e\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002 fullchain\u304c\/etc\/letsencrypt\/live\/&lt;\u30c9\u30e1\u30a4\u30f3\u540d&gt;\/fullchain.pem\u306b\u3001\u30ad\u30fc\u30d5\u30a1\u30a4\u30eb\u304c\/etc\/letsencrypt\/live\/&lt;\u30c9\u30e1\u30a4\u30f3\u540d&gt;\/privkey.pem\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\n\u81ea\u52d5\u66f4\u65b0\u306e\u8a2d\u5b9a\u306f\u307e\u305f\u5225\u306e\u8a18\u4e8b\u3067\u3002\n\u5b9f\u969b\u306f\u4e00\u9031\u9593\u307b\u3069\u524d\u306b\u30ea\u30ea\u30fc\u30b9\u306f\u3055\u308c\u3066\u3044\u305f\u3088\u3046\u3067\u3059&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/lets-encrypt-wildcard\/","summary":"<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":"Let's Encrypt\u3067\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3059\u308b"},{"content":"github.com\/nasa9084\/syg \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\u30591\n\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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 package app import ( &#34;context&#34; &#34;net\/http&#34; &#34;os&#34; &#34;time&#34; &#34;github.com\/nasa9084\/syg&#34; ) type Server struct { server *http.Server closed chan struct{} } func NewServer() *Server { http.HandleFunc(&#34;\/&#34;, longlongHandler) return &amp;Server{ server: &amp;http.Server{ Addr: &#34;:8080&#34;, }, closed: make(chan struct{}), } } func (s *Server) Run() error { \/\/ os.Interrupt\u3000= syscall.SIGINT cancel := syg.Listen(s.shutdown, os.Interrupt) defer cancel() err := s.server.ListenAndServe() &lt;-s.closed return err } func (s *Server) shutdown(os.Signal) { s.Shutdown(context.Background()) close(s.closed) } func longlongHandler(w http.ResponseWriter, r *http.Request) { \/\/ \u306a\u3093\u304b\u9577\u3044\u51e6\u7406\u306e\u3064\u3082\u308a time.Sleep(10 * time.Second) w.Write([]byte(&#34;hello&#34;)) } main\u304b\u3089\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u547c\u3073\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 package main import ( &#34;log&#34; &#34;foo\/bar\/app&#34; \/\/ \u4e0a\u8a18\u306eapp\u304c$GOPATH\/foo\/bar\u4ee5\u4e0b\u306b\u3042\u308b\u3068\u4eee\u5b9a ) func main() { s := app.NewServer() if err := s.Run(); err != http.ErrServerClosed { log.Print(err) } } \u4e0a\u624b\u304f\u52d5\u4f5c\u3057\u3066\u3044\u308b\u304b\u8a66\u3057\u3066\u307f\u307e\u3059\u3002\n\u307e\u305a\u306f\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002\n1 2 $ go build main.go $ .\/main \u6b21\u306b\u3001Terminal\u3092\u3082\u3046\u4e00\u3064\u8d77\u52d5\u3057\u3066\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u6295\u3052\u3066\u307f\u307e\u3059\u3002\n1 2 $ curl localhost:8080 hello 10\u79d2\u5f85\u3064\u3068\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u8fd4\u3063\u3066\u304d\u307e\u3059\u3002\n\u3082\u3046\u4e00\u5ea6\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u8fd4\u3063\u3066\u304f\u308b\u524d\u306b\u4e00\u3064\u76ee\u306eTerminal\u3067Ctrl-C(SIGINT)\u3092\u53e9\u304d\u307e\u3059\u3002 \u3059\u308b\u3068\u3001\u30b5\u30fc\u30d0\u306f\u3059\u3050\u306b\u306f\u7d42\u4e86\u305b\u305a\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u3057\u7d42\u308f\u308b\u306e\u3092\u5f85\u3063\u3066\u304b\u3089\u30b5\u30fc\u30d0\u304c\u7d42\u4e86\u3057\u307e\u3059\u3002\n\u7121\u4e8b\u3001main\u304b\u3089\u306fgoroutine\u3084\u30c1\u30e3\u30f3\u30cd\u30eb\u3092\u610f\u8b58\u3057\u305f\u30b3\u30fc\u30c9\u3092\u66f8\u304b\u305a\u3068\u3082graceful shutdown\u3067\u304d\u308b\u30b5\u30fc\u30d0\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\n\u524d\u56de\u306e\u8a18\u4e8b \u3092\u53c2\u7167&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/graceful-shutdown-with-syg\/","summary":"<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":"syg\u3092\u4f7f\u7528\u3057\u305fgraceful shutdown server\u30d1\u30bf\u30fc\u30f3"},{"content":"Go\u8a00\u8a9e\u3067\u30b7\u30b0\u30ca\u30eb\u3092\u53d6\u308a\u6271\u3044\u305f\u3044\u5834\u5408\u3001os\u30d1\u30c3\u30b1\u30fc\u30b8\u304a\u3088\u3073os\/signal\u30d1\u30c3\u30b1\u30fc\u30b8\u3001syscall\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n\u5177\u4f53\u7684\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 func main() { sigCh := make(chan os.Signal, 1) doneCh := make(chan struct{}) signal.Notify(sigCh, syscall.SIGINT) go func() { sig := &lt;-sigCh fmt.Println(sig) \/\/ (1) close(doneCh) }() &lt;-done } \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\u3001context\u3092\u4f7f\u7528\u3057\u3066for-select\u30eb\u30fc\u30d7\u3092\u66f8\u304f\u3053\u3068\u306b\u3082\u306a\u308b\u3067\u3057\u3087\u3046\u3002\n\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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 func main() { sigCh := make(chan os.Signal, 1) doneCh := make(chan struct{}) ctx, cancel := context.WithCancel(context.Background()) signal.Notify(sigCh, syscall.SIGINT) s := &amp;http.Server{ Addr: &#34;:8080&#34;, Handler: http.DefaultServeMux, } go func() { for { select { case sig := &lt;-sigCh: sig := &lt;-sigCh s.Shutdown(context.Background()) close(doneCh) case &lt;-ctx.Done(): return } } }() if err := s.ListenAndServe(); err != http.ErrServerClosed { log.Println(err) cancel() return } &lt;-doneCh } \u30b7\u30b0\u30ca\u30eb\u3092\u53d7\u3051\u53d6\u3063\u3066\u3001\u95a2\u6570\u306e\u547c\u3073\u51fa\u3057(\u3053\u3053\u3067\u306fs.Shutdown())\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 goroutine\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\n\u3067\u304d\u308c\u3070\u3001\u3053\u308c\u3089\u306e\u51e6\u7406\u3092\u3001\u3082\u3063\u3068\u6c17\u8efd\u306b\u53d6\u308a\u6271\u3044\u305f\u3044\u3067\u3059\u3088\u306d\u3002\n\u305d\u3053\u3067\u3001syg \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\ngithub.com\/nasa9084\/syg syg\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u306f\u95a2\u6570\u4e8c\u3064\u3060\u3051\u3067\u3059\u3002 Listen\u3068ListenContext\u3060\u3051\u3067\u3059\u3002 \u5bdf\u3057\u306e\u826f\u3044\u65b9\u306f\u304a\u6c17\u3065\u304d\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001Listen\u306f\u5185\u90e8\u3067context.Background\u3092\u4f7f\u3063\u3066ListenContext\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002 database\/sql\u30d1\u30c3\u30b1\u30fc\u30b8\u306e*DB.Query\u3068*DB.QueryContext\u306a\u3069\u306e\u95a2\u4fc2\u3068\u540c\u3058\u3067\u3059\u3002 \u3064\u307e\u308a\u3001\u51e6\u7406\u7684\u306b\u306f\u5b9f\u8cea\u4e00\u3064\u306e\u95a2\u6570\u306e\u307f\u3057\u304b\u3042\u308a\u307e\u305b\u3093\u3002\n\u3053\u308c\u3089\u306e\u95a2\u6570\u306f\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3068\u30b7\u30b0\u30ca\u30eb(\u53ef\u5909\u9577)\u3092\u3068\u308a\u3001CancelFunc\u3092\u8fd4\u3057\u307e\u3059\u3002 \u540d\u524d\u306e\u901a\u308a\u3001\u30b7\u30b0\u30ca\u30eb\u3092Listen\u3057\u3066\u3001\u30b7\u30b0\u30ca\u30eb\u3092\u53d7\u3051\u53d6\u3063\u305f\u3089\u6240\u5b9a\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u547c\u3076\u3001\u3068\u3044\u3046\u3082\u306e\u3067\u3059\u3002 CancelFunc\u306fgoroutine\u3092\u505c\u6b62\u3059\u308b\u30ad\u30e3\u30f3\u30bb\u30eb\u7528\u306e\u95a2\u6570\u306e\u305f\u3081\u3001defer\u3067\u547c\u3073\u51fa\u3059\u3053\u3068\u3067goroutine\u306e\u30ea\u30fc\u30af\u3082\u9632\u3052\u307e\u3059\u3002\n\u5148\u7a0b\u306eHTTP\u30b5\u30fc\u30d0\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u306e\u4f8b\u3092\u3001syg\u3092\u4f7f\u7528\u3057\u3066\u66f8\u304d\u63db\u3048\u3066\u307f\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 func main() { doneCh := make(chan struct{}) s := &amp;http.Server{ Addr: &#34;:8080&#34;, Handler: http.DefaultServeMux, } cancel := syg.Listen(func(os.Signal) { s.Shutdown(context.Background()) close(doneCh) }) defer cancel() if err := s.ListenAndServe(); err != http.ErrServerClosed { log.Println(err) return } &lt;-doneCh } goroutine\u306e\u7acb\u3061\u4e0a\u3052\u3084\u3001\u30b7\u30b0\u30ca\u30eb\u3092\u53d7\u3051\u6e21\u3059\u30c1\u30e3\u30f3\u30cd\u30eb\u306e\u51e6\u7406\u3001for-select\u30eb\u30fc\u30d7\u306a\u304f\u306a\u308a\u3001\u30b9\u30c3\u30ad\u30ea\u3057\u307e\u3057\u305f\u3002\nsyg\u306f\u6570\u5341\u884c\u7a0b\u5ea6\u306e\u5c0f\u3055\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u304c\u3001\u662f\u975e\u4f7f\u3063\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff01 \u30d0\u30b0\u3084\u6539\u5584\u70b9\u304c\u6709\u308a\u307e\u3057\u305f\u3089\u3001issue\u3001PR\u3082\u304a\u5f85\u3061\u3057\u3066\u3044\u307e\u3059\uff01\n","permalink":"https:\/\/blog.web-apps.tech\/go-signal-more-simply\/","summary":"<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":"Golang: \u624b\u8efd\u306b\u30b7\u30b0\u30ca\u30eb\u3092Listen\u3057\u3066callback\u95a2\u6570\u3092\u547c\u3076"},{"content":"TL; DR \u5e73\u5747\u3057\u3066\u898b\u308b\u3068strings.Builder#WriteXXX\u306e\u65b9\u304c\u901f\u305d\u3046\nstrings.Builder Go 1.10\u304b\u3089strings.Builder\u69cb\u9020\u4f53\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u3001\nA 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.\n\u3068\u8aac\u660e\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002 \u304a\u305d\u3089\u304f\u3001\u3053\u308c\u307e\u3067\u6587\u5b57\u5217\u306e\u7d44\u307f\u7acb\u3066\u3092\u3059\u308b\u969b\u306b\u306fbytes.Buffer\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 \u304c\u3001\u8aac\u660e\u3092\u8aad\u3093\u3067\u3082\u3044\u307e\u3044\u3061\u9055\u3044\u304c\u308f\u304b\u308a\u307e\u305b\u3093\u3002\n\u3068\u308a\u3042\u3048\u305a\u3001bytes.Buffer\u3068strings.Builder\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\n\u6761\u4ef6 \u5b9f\u884c\u3057\u305f\u74b0\u5883 MacBook Air MacOS Sierra 10.12.6 CPU: Core i7 1.7GHz \u30e1\u30e2\u30ea: 8GB \u5b9f\u884c\u3059\u308b\u95a2\u6570 Write WriteByte WriteRune WriteString exec 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 $ for i in {1..10}; do go test -bench . | tail -n +4 | head -n 8 &amp;&amp; echo; done BenchmarkBuilderWrite-4 10000000\t129 ns\/op BenchmarkBuiderWriteByte-4 200000000\t6.47 ns\/op BenchmarkBuilderWriteRune-4 200000000\t7.61 ns\/op BenchmarkBuilderWriteString-4 30000000\t92.4 ns\/op BenchmarkBufferWrite-4 50000000\t196 ns\/op BenchmarkBufferWriteByte-4 300000000\t9.40 ns\/op BenchmarkBufferWriteRune-4 200000000\t8.18 ns\/op BenchmarkBufferWriteString-4 50000000\t217 ns\/op BenchmarkBuilderWrite-4 10000000\t189 ns\/op BenchmarkBuiderWriteByte-4 100000000\t10.5 ns\/op BenchmarkBuilderWriteRune-4 100000000\t10.4 ns\/op BenchmarkBuilderWriteString-4 30000000\t157 ns\/op BenchmarkBufferWrite-4 50000000\t238 ns\/op BenchmarkBufferWriteByte-4 100000000\t19.9 ns\/op BenchmarkBufferWriteRune-4 100000000\t15.5 ns\/op BenchmarkBufferWriteString-4 30000000\t422 ns\/op BenchmarkBuilderWrite-4 10000000\t131 ns\/op BenchmarkBuiderWriteByte-4 200000000\t7.58 ns\/op BenchmarkBuilderWriteRune-4 200000000\t8.48 ns\/op BenchmarkBuilderWriteString-4 30000000\t113 ns\/op BenchmarkBufferWrite-4 50000000\t199 ns\/op BenchmarkBufferWriteByte-4 100000000\t10.4 ns\/op BenchmarkBufferWriteRune-4 200000000\t12.0 ns\/op BenchmarkBufferWriteString-4 50000000\t382 ns\/op BenchmarkBuilderWrite-4 10000000\t122 ns\/op BenchmarkBuiderWriteByte-4 200000000\t7.45 ns\/op BenchmarkBuilderWriteRune-4 200000000\t8.44 ns\/op BenchmarkBuilderWriteString-4 30000000\t155 ns\/op BenchmarkBufferWrite-4 50000000\t264 ns\/op BenchmarkBufferWriteByte-4 200000000\t7.08 ns\/op BenchmarkBufferWriteRune-4 200000000\t10.1 ns\/op BenchmarkBufferWriteString-4 30000000\t413 ns\/op BenchmarkBuilderWrite-4 20000000\t117 ns\/op BenchmarkBuiderWriteByte-4 200000000\t6.81 ns\/op BenchmarkBuilderWriteRune-4 200000000\t6.87 ns\/op BenchmarkBuilderWriteString-4 50000000\t219 ns\/op BenchmarkBufferWrite-4 20000000\t101 ns\/op BenchmarkBufferWriteByte-4 200000000\t6.22 ns\/op BenchmarkBufferWriteRune-4 200000000\t12.2 ns\/op BenchmarkBufferWriteString-4 50000000\t513 ns\/op BenchmarkBuilderWrite-4 10000000\t161 ns\/op BenchmarkBuiderWriteByte-4 200000000\t8.36 ns\/op BenchmarkBuilderWriteRune-4 200000000\t8.24 ns\/op BenchmarkBuilderWriteString-4 30000000\t109 ns\/op BenchmarkBufferWrite-4 50000000\t296 ns\/op BenchmarkBufferWriteByte-4 100000000\t10.6 ns\/op BenchmarkBufferWriteRune-4 100000000\t11.4 ns\/op BenchmarkBufferWriteString-4 50000000\t484 ns\/op BenchmarkBuilderWrite-4 10000000\t133 ns\/op BenchmarkBuiderWriteByte-4 200000000\t7.16 ns\/op BenchmarkBuilderWriteRune-4 200000000\t8.10 ns\/op BenchmarkBuilderWriteString-4 30000000\t194 ns\/op BenchmarkBufferWrite-4 50000000\t190 ns\/op BenchmarkBufferWriteByte-4 200000000\t5.51 ns\/op BenchmarkBufferWriteRune-4 200000000\t8.72 ns\/op BenchmarkBufferWriteString-4 50000000\t281 ns\/op BenchmarkBuilderWrite-4 10000000\t136 ns\/op BenchmarkBuiderWriteByte-4 200000000\t11.4 ns\/op BenchmarkBuilderWriteRune-4 50000000\t28.0 ns\/op BenchmarkBuilderWriteString-4 10000000\t119 ns\/op BenchmarkBufferWrite-4 20000000\t144 ns\/op BenchmarkBufferWriteByte-4 100000000\t16.0 ns\/op BenchmarkBufferWriteRune-4 200000000\t8.43 ns\/op BenchmarkBufferWriteString-4 50000000\t248 ns\/op BenchmarkBuilderWrite-4 10000000\t130 ns\/op BenchmarkBuiderWriteByte-4 200000000\t7.83 ns\/op BenchmarkBuilderWriteRune-4 200000000\t7.13 ns\/op BenchmarkBuilderWriteString-4 30000000\t99.0 ns\/op BenchmarkBufferWrite-4 50000000\t202 ns\/op BenchmarkBufferWriteByte-4 200000000\t10.7 ns\/op BenchmarkBufferWriteRune-4 100000000\t13.8 ns\/op BenchmarkBufferWriteString-4 50000000\t452 ns\/op BenchmarkBuilderWrite-4 10000000\t146 ns\/op BenchmarkBuiderWriteByte-4 200000000\t7.89 ns\/op BenchmarkBuilderWriteRune-4 200000000\t8.24 ns\/op BenchmarkBuilderWriteString-4 30000000\t122 ns\/op BenchmarkBufferWrite-4 50000000\t248 ns\/op BenchmarkBufferWriteByte-4 100000000\t31.7 ns\/op BenchmarkBufferWriteRune-4 100000000\t25.4 ns\/op BenchmarkBufferWriteString-4 30000000\t413 ns\/op Source \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 package benchmark_test import ( &#34;bytes&#34; &#34;strings&#34; &#34;testing&#34; ) var ( ss = &#34;1234567890abcdefghijklmnopqrstuvwxyz&#34; bs = []byte(ss) rn = &#39;a&#39; bt = byte(&#39;a&#39;) ) func BenchmarkBuilderWrite(b *testing.B) { var builder strings.Builder for i := 0; i &lt; b.N; i++ { builder.Write(bs) } } func BenchmarkBuiderWriteByte(b *testing.B) { var builder strings.Builder for i := 0; i &lt; b.N; i++ { builder.WriteByte(bt) } } func BenchmarkBuilderWriteRune(b *testing.B) { var builder strings.Builder for i := 0; i &lt; b.N; i++ { builder.WriteRune(rn) } } func BenchmarkBuilderWriteString(b *testing.B) { var builder strings.Builder for i := 0; i &lt; b.N; i++ { builder.WriteString(ss) } } func BenchmarkBufferWrite(b *testing.B) { var buffer bytes.Buffer for i := 0; i &lt; b.N; i++ { buffer.Write(bs) } } func BenchmarkBufferWriteByte(b *testing.B) { var buffer bytes.Buffer for i := 0; i &lt; b.N; i++ { buffer.WriteByte(bt) } } func BenchmarkBufferWriteRune(b *testing.B) { var buffer bytes.Buffer for i := 0; i &lt; b.N; i++ { buffer.WriteRune(rn) } } func BenchmarkBufferWriteString(b *testing.B) { var buffer bytes.Buffer for i := 0; i &lt; b.N; i++ { buffer.WriteString(ss) } } ","permalink":"https:\/\/blog.web-apps.tech\/strings-builder-vs-bytes-buffer\/","summary":"<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         \t10000000\t       <span class=\"m\">129<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         6.47 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         7.61 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t        92.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">196<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t300000000\t         9.40 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t         8.18 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">189<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t100000000\t        10.5 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t100000000\t        10.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">157<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">238<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t100000000\t        19.9 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t100000000\t        15.5 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t30000000\t       <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         \t10000000\t       <span class=\"m\">131<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         7.58 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         8.48 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">113<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">199<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t100000000\t        10.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t        12.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">122<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         7.45 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         8.44 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">155<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">264<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t200000000\t         7.08 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t        10.1 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t30000000\t       <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         \t20000000\t       <span class=\"m\">117<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         6.81 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         6.87 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t50000000\t       <span class=\"m\">219<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t20000000\t       <span class=\"m\">101<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t200000000\t         6.22 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t        12.2 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">161<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         8.36 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         8.24 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">109<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">296<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t100000000\t        10.6 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t100000000\t        11.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">133<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         7.16 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         8.10 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">194<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">190<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t200000000\t         5.51 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t         8.72 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">136<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t        11.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t50000000\t        28.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t10000000\t       <span class=\"m\">119<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t20000000\t       <span class=\"m\">144<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t100000000\t        16.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t200000000\t         8.43 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">130<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         7.83 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         7.13 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t        99.0 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">202<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t200000000\t        10.7 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t100000000\t        13.8 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t50000000\t       <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         \t10000000\t       <span class=\"m\">146<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuiderWriteByte-4      \t200000000\t         7.89 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteRune-4     \t200000000\t         8.24 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBuilderWriteString-4   \t30000000\t       <span class=\"m\">122<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWrite-4          \t50000000\t       <span class=\"m\">248<\/span> ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteByte-4      \t100000000\t        31.7 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteRune-4      \t100000000\t        25.4 ns\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBufferWriteString-4    \t30000000\t       <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":"strings.Builder\u3068bytes.Buffer\u306eWrite\u7cfb\u95a2\u6570\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af"},{"content":"Go\u8a00\u8a9e\u306eregexp\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\u30931\u3002 \u305d\u306e\u305f\u3081\u3001\u53ef\u80fd\u3067\u3042\u308b\u306a\u3089regexp\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u306a\u3044\u3088\u3046\u306b\u3059\u3079\u304d\u3067\u3059\u3002 \u3057\u304b\u3057\u3001\u3059\u3079\u3066\u306e\u51e6\u7406\u3092\u81ea\u5206\u3067\u66f8\u304f\u306e\u306f\u5927\u5909\u3067\u3059\u3002 \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\nstrings \u30d1\u30c3\u30b1\u30fc\u30b8 strings\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 UTF-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\n\u5224\u5225\u7cfb Contains 1 func Contains(s, substr string) bool Contains\u95a2\u6570\u306f\u3001s\u306e\u4e2d\u306bsubstr\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u8fd4\u3057\u307e\u3059\u3002 Python\u3067\u8a00\u3046\u3068\u3053\u308d\u306esubstr in s\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002 \u6b63\u898f\u8868\u73fe\u306a\u3089\u3070\u3001substr\u3068\u306ematch\u3067\u771f\u507d\u5024\u3092\u3068\u308b\u3053\u3068\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\nexample 1 2 3 4 5 fmt.Println(strings.Contains(&#34;hogefugapiyo&#34;, &#34;fuga&#34;)) \/\/ Output: true fmt.Println(strings.Contains(&#34;hogefugapiyo&#34;, &#34;foo&#34;)) \/\/ Output: false ContainsAny 1 func ContainsAny(s, chars string) bool ContainsAny\u95a2\u6570\u306fs\u306e\u4e2d\u306b\u3001chars\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 \u3064\u307e\u308a\u3001chars\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\n\u6b63\u898f\u8868\u73fe\u3067\u8868\u3059\u306a\u3089\u3001\/[${chars}]\/\u306e\u69d8\u306a\u8868\u73fe\u3068\u8003\u3048\u3089\u308c\u307e\u3059(${chars}\u306f\u7f6e\u304d\u63db\u3048\u308b)\u3002\nexample 1 2 3 4 5 fmt.Println(strings.ContainsAny(&#34;hogefugapiyo&#34;, &#34;abcd&#34;)) \/\/ Output: true fmt.Println(strings.ContainsAny(&#34;hogefugapiyo&#34;, &#34;1234&#34;)) \/\/ Output: false HasPrefix 1 func HasPrefix(s, prefix string) bool HasPrefix\u95a2\u6570\u306f\u3001s\u306e\u982d\u304cprefix\u3068\u7b49\u3057\u3044\u304b\u3069\u3046\u304b\u3092\u5224\u5225\u3057\u307e\u3059\u3002 \u6b63\u898f\u8868\u73fe\u3067^\u3092\u4f7f\u3063\u305f\u6587\u5b57\u5217\u30de\u30c3\u30c1\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\nPrefix\u306a\u306e\u3067\u30de\u30c3\u30c1\u3055\u305b\u305f\u3044\u6587\u5b57\u5217\u3092\u3064\u3044\u7b2c\u4e00\u5f15\u6570\u306b\u4e0e\u3048\u305f\u304f\u306a\u308a\u307e\u3059\u304c\u3001\u7b2c\u4e8c\u5f15\u6570\u304cPrefix\u3067\u3059\u3002\nexample 1 2 3 4 5 fmt.Println(strings.HasPrefix(&#34;hogefugapiyo&#34;, &#34;hoge&#34;)) \/\/ Output: true fmt.Println(strings.HasPrefix(&#34;hogefugapiyo&#34;, &#34;piyo&#34;)) \/\/ Output: false HasSuffix 1 func HasSuffix(s, suffix string) bool HasSuffix\u95a2\u6570\u306f\u3001HasPrefix\u95a2\u6570\u3068\u5bfe\u306b\u306a\u308b\u95a2\u6570\u3067\u3001s\u306e\u672b\u5c3e\u304csuffix\u3068\u7b49\u3057\u3044\u304b\u3069\u3046\u304b\u3092\u5224\u5225\u3057\u307e\u3059\u3002 \u6b63\u898f\u8868\u73fe\u3067$\u3092\u4f7f\u3063\u305f\u6587\u5b57\u5217\u30de\u30c3\u30c1\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\nexample 1 2 3 4 5 fmt.Println(strings.HasSuffix(&#34;hogefugapiyo&#34;, &#34;piyo)) \/\/ Output: true fmt.Println(strings.HasSuffix(&#34;hogefugapiyo&#34;, &#34;hoge&#34;)) \/\/ Output: false \u5206\u5272\u7cfb Split 1 2 func Split(s, sep string) []string func SplitN(s, sep string, n int) []string Split\u95a2\u6570\u306f\u4efb\u610f\u306e\u533a\u5207\u308a\u6587\u5b57\u5217sep\u3067s\u3092\u5206\u5272\u3057\u3001\u5206\u5272\u3057\u305f\u5f8c\u306e\u914d\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002 SplitN\u95a2\u6570\u3067\u306f\u7b2c\u4e09\u5f15\u6570\u306b\u5206\u5272\u3055\u308c\u305f\u3042\u3068\u306e\u914d\u5217\u306e\u9577\u3055\u3092\u4e0e\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u3053\u308c\u3092\u8d85\u3048\u305f\u5206\u5272\u306f\u884c\u308f\u305a\u306b\u914d\u5217\u306e\u6700\u5f8c\u306e\u8981\u7d20\u306b\u307e\u3068\u3081\u3066\u5165\u308c\u3089\u308c\u307e\u3059\u3002 SplitN\u306en\u306b\u8ca0\u306e\u5024\u3092\u5165\u308c\u308b\u3068\u3001\u7121\u9650\u56de\u3092\u610f\u5473\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3001SplitN(s, sep, -1)\u306fSplit(s, sep)\u3068\u7b49\u4fa1\u3067\u3059\u3002\nexample 1 2 3 4 5 fmt.Println(strings.Split(&#34;hoge,fuga,piyo&#34;, &#34;,&#34;)) \/\/ Output: [hoge fuga piyo] fmt.Println(strings.SplitN(&#34;hoge,fuga,piyo&#34;, &#34;,&#34;, 2)) \/\/ Output: [hoge fuga,piyo] SplitAfter 1 2 func SplitAfter(s, sep string) []string func SplitAfterN(s, sep string, n int) []string SplitAfter\u53ca\u3073SplitAfterN\u95a2\u6570\u306f\u3001\u4efb\u610f\u306e\u6587\u5b57\u5217sep\u306e\u76f4\u5f8c\u3067s\u3092\u5206\u5272\u3057\u307e\u3059\u3002 Split\u53ca\u3073SplitN\u3068\u306e\u9055\u3044\u306f\u3001\u533a\u5207\u3063\u305f\u5f8c\u306e\u6587\u5b57\u5217\u306b\u533a\u5207\u308a\u6587\u5b57\u304c\u542b\u307e\u308c\u308b\u3068\u3053\u308d\u3067\u3057\u3087\u3046\u3002\nexample 1 2 fmt.Println(strings.SplitAfter(&#34;hoge,fuga,piyo&#34;, &#34;,&#34;)) \/\/ Output: [hoge, fuga, piyo] Fields 1 func Fields(s string) []string Fields\u95a2\u6570\u306f\u3001\u4efb\u610f\u56de\u6570\u306e\u7a7a\u767d\u6587\u5b572\u3067\u6587\u5b57\u5217\u3092\u5206\u5272\u3057\u307e\u3059\u3002 Split\u306b\u7a7a\u767d\u6587\u5b57\u3092\u4e0e\u3048\u305f\u5834\u5408\u3068\u9055\u3044\u3001\u4efb\u610f\u56de\u6570\u306e\u9023\u7d9a\u3059\u308b\u7a7a\u767d\u6587\u5b57\u3092\u4e00\u533a\u5207\u308a\u3068\u3057\u307e\u3059(Split\u3067\u306f\u56fa\u5b9a\u56de\u6570\u3057\u304b\u6307\u5b9a\u3067\u304d\u306a\u3044)\u3002\nexample 1 2 fmt.Println(strings.Fields(&#34; hoge fuga piyo `)) \/\/ Output: [hoge fuga piyo] \u7d50\u5408\u7cfb Join 1 func Join(a []string, sep string) string Join\u95a2\u6570\u306f\u6587\u5b57\u5217\u306e\u30b9\u30e9\u30a4\u30b9\u3092\u4e00\u3064\u306e\u6587\u5b57\u5217\u306b\u7d50\u5408\u3057\u307e\u3059\u3002 \u305d\u306e\u969b\u3001\u533a\u5207\u308a\u6587\u5b57\u3068\u3057\u3066sep\u3092\u4e0e\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nexample 1 2 3 4 5 6 fmt.Println(strings.Join([]string{ &#34;foo&#34;, &#34;bar&#34;, &#34;baz&#34;, }, &#34;, &#34;)) \/\/ Output: foo, bar, baz Repeat 1 func Repeat(s string, count int) string Repeat\u95a2\u6570\u306fcount\u3067\u4e0e\u3048\u305f\u56de\u6570\u3001s\u3067\u4e0e\u3048\u305f\u6587\u5b57\u5217\u3092\u7e70\u308a\u8fd4\u3057\u3001\u7d50\u5408\u3057\u305f\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002\nPython\u3067s * count\u306b\u76f8\u5f53\u3057\u307e\u3059\u3002\nexample 1 2 fmt.Println(strings.Repeat(&#34;foo&#34;, 3)) \/\/ Output: foofoofoo \u7f6e\u63db\u7cfb ToUpper 1 func ToUpper(s string) string ToUpeer\u95a2\u6570\u306f\u3001\u4e0e\u3048\u3089\u308c\u305f\u6587\u5b57\u5217\u3092\u3059\u3079\u3066\u5927\u6587\u5b57\u306b\u7f6e\u63db\u3057\u305f\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002 \u5927\u6587\u5b57\u3001\u5c0f\u6587\u5b57\u306e\u5225\u3092\u6301\u305f\u306a\u3044\u6587\u5b57\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002\nexample 1 2 fmt.Println(strings.ToUpper(&#34;foo\u6587\u5b57\u03b1&#34;)) \/\/ Output: FOO\u6587\u5b57\u0391 ToLower 1 func ToLower(s string) string ToLower\u95a2\u6570\u306f\u4e0e\u3048\u3089\u308c\u305f\u6587\u5b57\u5217\u3092\u5c0f\u6587\u5b57\u306b\u7f6e\u63db\u3057\u305f\u3082\u306e\u3092\u8fd4\u3057\u307e\u3059\u3002\nexample 1 2 fmt.Println(strings.ToUpper(&#34;FOO\u6587\u5b57\u0391&#34;)) \/\/ \u0391\u306f\u03b1\u306e\u5927\u6587\u5b57 \/\/ Output: foo\u6587\u5b57\u03b1 Replace 1 func Replace(s, old, new string, n int) string Replace\u95a2\u6570\u306f\u6587\u5b57\u306e\u7f6e\u63db\u3092n\u56de\u5b9f\u65bd\u3057\u305f\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002 \u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u306eecho ${s} | sed -e &quot;s\/${old}\/${new}\/&quot;\u3068\u540c\u69d8\u3067\u3059\u3002\nn\u306f\u56de\u6570\u3067\u3001\u8ca0\u306e\u5024\u3092\u4e0e\u3048\u308b\u3068old\u306b\u30de\u30c3\u30c1\u3057\u305f\u90e8\u5206\u3092\u3059\u3079\u3066\u7f6e\u63db\u3057\u307e\u3059\u3002\nexample 1 2 3 4 5 fmt.Println(strings.Replace(&#34;barbarbar&#34;, &#34;ar&#34;, &#34;az&#34;, 2)) \/\/ Output: bazbazbar fmt.Println(strings.Replace(&#34;barbarbar&#34;, &#34;ar&#34;, &#34;az&#34;, -1)) \/\/ Output: bazbazbaz Trim 1 func Trim(s string, cutset string) string Trim\u95a2\u6570\u306f\u4e0e\u3048\u3089\u308c\u305f\u6587\u5b57\u5217\u306e\u5de6\u53f3\u304b\u3089cutset\u306b\u542b\u307e\u308c\u308b\u6587\u5b57\u3092\u524a\u9664\u3057\u307e\u3059\u3002 \u6ce8\u610f\u304c\u5fc5\u8981\u306a\u306e\u306f\u3001\u6587\u5b57\u5217\u30de\u30c3\u30c1\u3067\u306f\u7121\u304f\u3001\u6587\u5b57\u30bb\u30c3\u30c8\u3068\u306e\u30de\u30c3\u30c1\u3060\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002 cutset\u306b\u542b\u307e\u308c\u306a\u3044\u6587\u5b57\u306e\u5185\u5074\u306f\u30c1\u30a7\u30c3\u30af\u3057\u307e\u305b\u3093\u3002\nexample 1 2 fmt.Print(strings.Trim(&#34;foobarbaz&#34;, &#34;foaz&#34;)) \/\/ Output: barb TrimLeft\/TrimRight 1 2 func TrimLeft(s string, cutset string) string func TrinRight(s string, cutset string) string TrimLeft\u95a2\u6570\u3068TrimRight\u95a2\u6570\u306f\u305d\u308c\u305e\u308c\u3001Trim\u95a2\u6570\u3092\u53f3\u5074\u307e\u305f\u306f\u5de6\u5074\u306b\u5236\u9650\u3057\u305f\u3082\u306e\u3067\u3059\u3002 TrimLeft(TrimRight(s, cutset), cutset)\u306fTrim(s, cutset)\u3068\u7b49\u4fa1\u3067\u3059\u3002\nexample 1 2 3 4 5 6 7 8 9 fmt.Print(strings.TrimLeft(&#34;foobarbaz&#34;, &#34;foaz&#34;)) \/\/ Output: barbaz fmt.Print(strings.TrimRight(&#34;foobarbaz&#34;, &#34;foaz&#34;)) \/\/ Output: foobarb fmt.Print(strings.TrimLeft(strings.TrimRight(&#34;foobarbaz&#34;, &#34;foaz&#34;), &#34;foaz&#34;)) } \/\/ Output: barb TrimPrefix\/TrimSuffix 1 2 func TrimPrefix(s, prefix string) string func TrifSuffix(s, suffix string) string TrimPrefix\u95a2\u6570\u3068TrimSuffix\u95a2\u6570\u306f\u305d\u308c\u305e\u308c\u3001Prefix\u6587\u5b57\u5217\u3068Suffix\u6587\u5b57\u5217\u3092\u53d6\u308a\u9664\u304d\u307e\u3059\u3002 TrimLeft\u95a2\u6570\u3001TrimRight\u95a2\u6570\u3068\u306e\u9055\u3044\u306f\u3001\u6587\u5b57\u5217\u30de\u30c3\u30c1\u3060\u3068\u8a00\u3046\u3053\u3068\u3067\u3059\u3002 \u30de\u30c3\u30c1\u3057\u306a\u304b\u3063\u305f\u5834\u5408\u306f\u5909\u66f4\u3055\u308c\u3066\u3044\u306a\u3044\u6587\u5b57\u5217\u304c\u305d\u306e\u307e\u307e\u8fd4\u3055\u308c\u307e\u3059\u3002\nexample 1 2 fmt.Println(strings.TrimPrefix(&#34;foobarbaz&#34;, &#34;fo&#34;)) \/\/ Output: obarbaz strconv \u30d1\u30c3\u30b1\u30fc\u30b8 strconv\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001\u6587\u5b57\u5217\u3092\u3042\u308b\u578b\u306e\u8868\u73fe\u3078\u3068\u5909\u63db\u3057\u307e\u3059\u3002 \u3053\u3053\u3067\u306f\u4e8c\u3064\u306e\u95a2\u6570\u306e\u307f\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\nAtoi 1 func Atoi(s string) (int, error) Atoi\u95a2\u6570\u306f\u3001\u4e0e\u3048\u3089\u308c\u305f\u6587\u5b57\u5217\u309210\u9032\u6570\u306e\u6574\u6570\u6587\u5b57\u5217\u3068\u3057\u3066\u89e3\u91c8\u3057\u3066\u5909\u63db\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002 10\u9032\u6570\u6574\u6570\u3068\u3057\u3066\u89e3\u91c8\u3067\u304d\u306a\u304b\u3063\u305f\u5834\u5408\u3001\u30a8\u30e9\u30fc\u3092\u8fd4\u3057\u307e\u3059\u3002(\u5024\u306f0\u3068\u306a\u308a\u307e\u3059\u3002)\nstrconv.ParseInt(s, 10, 0)\u306e\u8fd4\u5024\u3092int\u578b\u306b\u30ad\u30e3\u30b9\u30c8\u3057\u305f\u3082\u306e\u3068\u7b49\u4fa1\u306a\u7d50\u679c\u3068\u306a\u308a\u307e\u3059\u3002\nexample 1 2 3 4 5 6 7 8 9 var i int var err error i, err = strconv.Atoi(&#34;1&#34;) fmt.Println(i, err) \/\/ Output: 1, &lt;nil&gt; i, err = strconv.Atoi(&#34;0.1&#34;) fmt.Println(i, err) \/\/ Output: 0 strconv.Atoi: parsing &#34;0.1&#34;: invalid syntax Quote func Quote(s string) string Quote\u95a2\u6570\u306f\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\u3067\u56f2\u307e\u308c\u305f\u3001Go\u3067\u306e\u6587\u5b57\u5217\u306e\u30ea\u30c6\u30e9\u30eb\u8868\u73fe\u3092\u8fd4\u3057\u307e\u3059\u3002 \u6539\u884c\u306a\u3069\u306e\u8868\u793a\u3055\u308c\u306a\u3044\u6587\u5b57\u306f\\n\u306a\u3069\u306e\u30a8\u30b9\u30b1\u30fc\u30d7\u30b7\u30fc\u30b1\u30f3\u30b9\u3092\u4f7f\u7528\u3057\u3066\u8868\u73fe\u3055\u308c\u307e\u3059\u3002\nexample 1 2 3 fmt.Println(strconv.Quote(`foobar `)) \/\/ Output: &#34;foobar\\n&#34; unicode \u30d1\u30c3\u30b1\u30fc\u30b8 unicode\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001\u30e6\u30cb\u30b3\u30fc\u30c9\u306e\u6587\u5b57\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306e\u95a2\u6570\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u3053\u3053\u3067\u306f\u4e00\u3064\u306e\u307f\u7d39\u4ecb\u3057\u307e\u3059\u3002\nIsXXX IsXXX\u95a2\u6570\u7fa4\u306frune\u3092\u5f15\u6570\u306b\u3068\u308a\u3001\u305d\u306e\u6587\u5b57\u304c\u6240\u5b9a\u306e\u30ab\u30c6\u30b4\u30ea3\u306b\u5c5e\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\u3057\u307e\u3059\u3002 \u4f8b\u3048\u3070IsGraphic\u3067\u3042\u308c\u3070Graphic\u30ab\u30c6\u30b4\u30ea(L, M, N, P, S, Zs\u306e\u3044\u305a\u308c\u304b)\u306b\u5c5e\u3059\u308b\u304b\u3069\u3046\u304b\u3001IsNumber\u3067\u3042\u308c\u3070Number\u30ab\u30c6\u30b4\u30ea(N)\u306b\u5c5e\u3059\u308b\u304b\u3069\u3046\u304b\u3001\u3068\u3044\u3063\u305f\u5177\u5408\u3067\u3059\u3002\ngolang\u306e\u6b63\u898f\u8868\u73fe\u306f\u9045\u3044\u306e\u304b? &#160;&#x21a9;&#xfe0e;\nunicode.IsSpace\u3067\u898f\u5b9a\u3055\u308c\u305f\u3082\u306e&#160;&#x21a9;&#xfe0e;\nUnicode Character Categories &#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/string-processing-in-go\/","summary":"<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":"Go\u8a00\u8a9e\u3067\u6587\u5b57\u5217\u3092\u51e6\u7406\u3059\u308b"},{"content":"YAPC::Fukuoka 2017 HAKATA (\u884c\u3063\u3066\u304d\u305f\u3068\u304d\u306e\u8a18\u4e8b\u306f\u3053\u3061\u3089 )\u306b\u5f15\u304d\u7d9a\u304d\u3001YAPC::Okinawa 2018 ONNASON \u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002 YAPC\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#yapcjapan \u3067\u3057\u305f(#yapcokinawa \u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u305f\u3088\u3046\u3067\u3059)\u3002\n\u6c96\u7e04\u306f\u6628\u5e746\u6708\u306bOSC 2017 Okinawa \u3067\u884c\u3063\u3066\u4ee5\u6765\u4e8c\u5ea6\u76ee\u3067\u3059\u3002 YAPC\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\n\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\nYAPC::Okinawa 2018 ONNASON \u4eca\u56de\u306f\u4f1a\u5834\u304cOIST \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 \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\n\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0\u306fCodeHex \u6c0f\u3002\n\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\n\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 \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\nYAPC::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 \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\n\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\n\u500b\u4eba\u7684\u306b\u306f\u3001@moznion\u3055\u3093 \u306eInline\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8a71\u3084\u3001\u65b0\u5c4b\u3055\u3093 \u306e\u6b63\u898f\u8868\u73fe\u306e\u8a71\u304c\u975e\u5e38\u306b\u9762\u767d\u304b\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002 \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\n\u6b21\u56de\u306e\u304a\u8a71 \u6b21\u56deYAPC\u306f\u6771\u4eac \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\n","permalink":"https:\/\/blog.web-apps.tech\/yapc_okinawa_2018\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"YAPC::Okinawa 2018 ONNASON\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f"},{"content":"TL;DR:: bash\/zsh parameter expansion is faster than cut.\nwhich is faster? Consider you want to take out hostname from URL or IP with port like some.mysql.server:3306 or 192.168.1.10:3306 using bash\/zsh. There are some way to do this.\nThe first way is using cut command:\n1 2 $ TARGET=&#34;192.168.1.10:3306&#34; $ echo ${TARGET} | cut -d &#34;:&#34; -f 1 Now printed 192.168.1.10 on your screen.\nThe second way is using &ldquo;shell parameter expansion&rdquo;, which is functions of bash\/zsh built-in. You can use shell parameter expansion like below:\n1 2 $ TARGET=&#34;192.168.1.10:3306&#34; $ echo ${TARGET%:*} Printed 192.168.1.10 too.\nWhich is faster, using cut or shell parameter expansion? I make a small benchmark.\n1 2 3 4 5 6 7 8 9 10 $ time for i in {1..1000}; do echo $(echo ${TARGET} | cut -d &#39;:&#39; -f 1); done &gt; \/dev\/null real\t0m17.422s user\t0m1.325s sys\t0m1.890s $ time for i in {1..1000}; do echo ${TARGET%:*}; done &gt; \/dev\/null real\t0m0.008s user\t0m0.007s sys\t0m0.001s Wow! In this situation, shell parameter expansion is faster than cut command solution!\nBecause this is very simple situation, shell parameter expantion is not always better than cut command. However, situations like this example, we should use shell parameter expansion.\n","permalink":"https:\/\/blog.web-apps.tech\/cut-vs-parameter-expansion\/","summary":"<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":"cut vs. parameter expansion"},{"content":"TL;DR github.com\/jessevdk\/go-flags\u304c\u4fbf\u5229 flag\u30d1\u30c3\u30b1\u30fc\u30b8 \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\nGo\u8a00\u8a9e\u3067\u306f\u3001\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306bflag\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 \u3057\u304b\u3057\u3001flag\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-XXX\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 \u3053\u308c\u306f\u3042\u307e\u308a\u4e00\u822c\u7684\u3067\u306f\u306a\u304f1\u3001\u4fbf\u5229\u3068\u3082\u8a00\u3044\u306b\u304f\u3044\u3067\u3057\u3087\u3046\u3002\n\u305d\u3053\u3067\u4fbf\u5229\u306a\u306e\u304c\u3001jessevdk\/go-flags \u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\ngo-flags\u30d1\u30c3\u30b1\u30fc\u30b8 jessevdk\/go-flags \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 \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 \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\n\u7c21\u5358\u306a\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 type options struct { Name string `short:&#34;n&#34; long:&#34;name&#34; description:&#34;listen address&#34;` } func main() { var opts options if _, err := flags.Parse(&amp;opts); err != nil { \/\/ some error handling return } fmt.Printf(&#34;Hello, %s\\n&#34;, opts.name) } \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\n1 2 3 4 5 6 7 8 9 10 11 12 $ go run main.go -h Usage: main [OPTIONS] Application Options: -n, --name= listen address Help Options: -h, --help Show this help message $ go run main.go -n Foo Hello, Foo \u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u8a2d\u5b9a jessevdk\/go-flags\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u306f\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306b\u69cb\u9020\u4f53\u3092\u4f5c\u308a\u307e\u3059\u3002 \u69cb\u9020\u4f53\u306e\u5404\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u30aa\u30d7\u30b7\u30e7\u30f3\u4e00\u3064\u4e00\u3064\u306b\u5f53\u305f\u308a\u307e\u3059\u3002 \u305d\u306e\u305f\u3081\u3001\u7d30\u304b\u3044\u8a2d\u5b9a\u306f\u30bf\u30b0\u3067\u884c\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002 \u4ee5\u4e0b\u3067\u3001\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u4f7f\u7528\u3067\u304d\u308b\u3001\u4e3b\u306a\u30bf\u30b0\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\nshort \u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u540d\u524d\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u30b7\u30e7\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u306e\u3067\u3001\u4e00\u6587\u5b57\u3092\u3057\u3066\u3044\u3057\u307e\u3059\u3002 long \u30ed\u30f3\u30b0\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002 description \u30d8\u30eb\u30d7\u3067\u8868\u793a\u3055\u308c\u308b\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u8aac\u660e\u6587\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002 no-flag \u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\u6271\u308f\u306a\u3044\u3068\u304d\u306b\u6307\u5b9a\u3057\u307e\u3059\u3002\u5024\u306f\u7a7a\u5024\u4ee5\u5916\u3068\u3057\u307e\u3059\u3002 env \u8aad\u307f\u8fbc\u3080\u74b0\u5883\u5909\u6570\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u74b0\u5883\u5909\u6570\u304b\u3089\u8aad\u307f\u8fbc\u307e\u308c\u305f\u5024\u306f\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u898f\u5b9a\u5024\u3068\u306a\u308a\u307e\u3059\u3002(\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3055\u308c\u305f\u3082\u306e\u304c\u512a\u5148\u3055\u308c\u307e\u3059) env-delim slice\u3084map\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u74b0\u5883\u5909\u6570\u304b\u3089\u5024\u3092\u8aad\u307f\u8fbc\u3080\u5834\u5408\u3001\u3053\u306e\u30bf\u30b0\u3067\u6307\u5b9a\u3057\u305f\u5024\u3067\u5206\u5272\u3055\u308c\u307e\u3059\u3002 default \u898f\u5b9a\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002map\u3084slice\u306e\u5024\u306e\u5834\u5408\u306f\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 default-mask \u30d8\u30eb\u30d7\u3067\u898f\u5b9a\u5024\u306e\u6b04\u306b\u8868\u793a\u3055\u308c\u308b\u5024\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u6307\u5b9a\u3057\u306a\u304b\u3063\u305f\u5834\u5408\u306fdefault\u306e\u5024\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u304c\u3001\u3053\u306e\u30bf\u30b0\u3092\u6307\u5b9a\u3059\u308b\u3068\u8868\u793a\u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u3059\u3002-\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u898f\u5b9a\u5024\u3092\u8868\u793a\u3057\u306a\u3044\u8a2d\u5b9a\u3068\u306a\u308a\u307e\u3059\u3002 choice \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u6307\u5b9a\u53ef\u80fd\u306a\u5024\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002\u8907\u6570\u306e\u9078\u629e\u80a2\u3092\u5b9a\u7fa9\u3059\u308b\u5834\u5408\u306f\u8907\u6570\u56de\u6307\u5b9a\u3057\u307e\u3059\u3002 required \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u5fc5\u9808\u306a\u5834\u5408\u306b\u6307\u5b9a\u3057\u307e\u3059\u3002\u5024\u306f\u7a7a\u5024\u4ee5\u5916\u3068\u3057\u307e\u3059\u3002\u3053\u306e\u30bf\u30b0\u304c\u6307\u5b9a\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u5b9f\u884c\u6642\u306b\u4e0e\u3048\u3089\u308c\u306a\u304b\u3063\u305f\u5834\u5408\u3001ErrRequired\u3092\u8fd4\u3057\u307e\u3059\u3002 positional-args \u69cb\u9020\u4f53\u306b\u5bfe\u3057\u3066\u3053\u306e\u30bf\u30b0\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u4f4d\u7f6e\u5f15\u6570\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002 \u3053\u306e\u307b\u304b\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u30b0\u30eb\u30fc\u30d7\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u540d\u524d\u7a7a\u9593\u3001\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306e\u5b9a\u7fa9\u306a\u3069\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002\njava\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3069\u3001\u5168\u304f\u898b\u306a\u3044\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/go-cmdline-option-jessevdk-go-flags\/","summary":"<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":"Go\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u51e6\u7406\u3059\u308b"},{"content":"3\u30f6\u6708\u307b\u3069\u524d\u306b\u3001kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b \u3068\u3044\u3046\u3001kubespray \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 \u3057\u304b\u3057\u3001kubespray-cli\u306f\u3059\u3067\u306bdeprecated\u3060\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067 \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\n\u8981\u4ef6 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\nansible 2.4\u4ee5\u964d\u3068python-netaddr (python-netaddr\u3092\u5fd8\u308c\u304c\u3061\u306a\u306e\u3067\u6ce8\u610f) pip install ansible netaddr Jinja 2.9\u4ee5\u964d(ansible\u306e\u4f9d\u5b58\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308b\u3068\u601d\u3044\u307e\u3059) \u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3067\u304d\u308b\u3053\u3068 \u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u3067swap\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u308b\u3053\u3068 \u69cb\u7bc9\u5148\u30b5\u30fc\u30d0\u3067IPv4 forwarding\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068 sysctl -w net.ipv4.ip_forward=1\u3059\u308b(\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067) \/etc\/sysctl.conf\u306bnet.ipv4.ip_forward = 1\u3068\u8a18\u5165\u3059\u308b(\u518d\u8d77\u52d5\u5f8c) 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 \u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u308b\u3053\u3068 \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 \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\n\u69cb\u6210 \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\n192.168.1.11 192.168.1.12 192.168.1.13 \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\u7f6e1\u6e08\u307f\u3068\u3057\u307e\u3059\u3002\n\u624b\u9806 \u6e96\u5099 \u307e\u305a\u3001kubespray\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002\n1 2 $ git clone https:\/\/github.com\/kubernetes-incubator\/kubespray $ cd kubespray \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\u30592\u3002\n1 kubespray$ pip install -r requirements.txt \u6b21\u306b\u3001ansible\u7528\u306e\u30a4\u30f3\u30d9\u30f3\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n1 2 3 kubespray$ cp -rfp inventory\/sample inventory\/mycluster kubespray$ declare -a IPS=(192.168.1.11 192.168.1.12 192.168.1.13) CONFIG_FILE=inventory\/mycluster\/hosts.ini python3 contrib\/inventory_builder\/inventory.py ${IPS[@]} IPS\u306f\u5bfe\u8c61\u30b5\u30fc\u30d0\u306eIP\u306b\u5408\u308f\u305b\u3066\u5b9a\u7fa9\u3092\u3057\u307e\u3059\u3002 \u307e\u305f\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u3001python3\u30b3\u30de\u30f3\u30c9\u3067\u306f\u306a\u304f\u3001python\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\n\u6700\u5f8c\u306b\u3001\u69cb\u6210\u3059\u308bkubernetes\u30af\u30e9\u30b9\u30bf\u306e\u8a2d\u5b9a\u3092\u3057\u307e\u3059\u3002inventory\/mycluster\/group_vars\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u3001all.yml\u3068k8s-cluster.yml\u3092\u9069\u5b9c\u5909\u66f4\u3057\u307e\u3059\u3002 \u7279\u306b\u3001k8s-cluster.yml\u306b\u542b\u307e\u308c\u308b\u3001\u4ee5\u4e0b\u306e\u9805\u76ee\u306f\u78ba\u8a8d\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\u3067\u3057\u3087\u3046\u3002\nkube_version kubernetes\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002 kube_network_plugin kubernetes\u306enetwork plugin\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u521d\u671f\u5024\u306fcalico\u3067\u3059\u304c\u3001flannel\u304c\u4e00\u822c\u7684\u3067\u3059\u30023 kube_service_addresses, kube_pods_subnet kubernetes\u5185\u90e8\u3067\u4f7f\u7528\u3059\u308bIP\u306e\u7bc4\u56f2\u3092CIDR\u5f62\u5f0f\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002LAN\u5185\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u304b\u3076\u3089\u306a\u3044\u3088\u3046\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002 dashboard_enabled kubernetes dashboard\u3092\u7528\u610f\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u771f\u507d\u5024\u3067\u3059\u3002\u521d\u671f\u5024\u306ftrue\u3067\u3059\u3002true\u306e\u5834\u5408\u3001RBAC\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 helm_enabled, istio_enabled, registry_enabled \u305d\u308c\u305e\u308c\u3001kubernetes Helm\u3001Istio\u3001Docker registry\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u771f\u507d\u5024\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u4e88\u5b9a\u306a\u3089\u3053\u3053\u3067true\u306b\u3057\u3066\u304a\u304f\u3068\u697d\u3067\u3059\u3002 \u8a2d\u5b9a\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001\u6e96\u5099\u306f\u7d42\u4e86\u3067\u3059\u3002\n\u30c7\u30d7\u30ed\u30a4\u3059\u308b \u6e96\u5099\u304c\u3067\u304d\u305f\u3089\u3001\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3057\u3087\u3046\uff01 \u3068\u306f\u3044\u3063\u3066\u3082\u3001\u30b3\u30b3\u307e\u3067\u6765\u305f\u3089\u5f8c\u306f\u666e\u901a\u306bansible playbook\u3092\u6d41\u3057\u8fbc\u3080\u3060\u3051\u3067\u3059\u3002 \u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\n1 kubespray$ ansible-playbook -i inventory\/mycluster\/hosts.ini cluster.yml \u30a8\u30e9\u30fc\u3092\u51fa\u3055\u305a\u306b\u7d42\u4e86\u3057\u305f\u3089\u3001kubernetes\u306e\u30c7\u30d7\u30ed\u30a4\u306f\u5b8c\u4e86\u3067\u3059\uff01\nkubernetes\u3092\u64cd\u4f5c\u3059\u308b \u30c7\u30d7\u30ed\u30a4\u3067\u304d\u305f\u3089\u3001kubernetes\u3092\u64cd\u4f5c\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002 \u4e00\u756a\u524d\u306b\u6307\u5b9a\u3057\u305f\u30b5\u30fc\u30d0\u306bSSH\u3067\u63a5\u7d9a\u3057\u3001kubectl\u3092\u4f7f\u3063\u3066\u64cd\u4f5c\u3057\u307e\u3059\u3002\n1 2 3 4 5 $ kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master,node 10d v1.9.2+coreos.0 node2 Ready master,node 10d v1.9.2+coreos.0 node3 Ready node 10d v1.9.2+coreos.0 \u307e\u305f\u3001LAN\u5185\u306e\u4ed6\u306e\u30de\u30b7\u30f3\u304b\u3089\u64cd\u4f5c\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u7ba1\u7406\u8005\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 4 $ kubectl create serviceaccount nasa serviceaccount &#34;nasa&#34; created $ kubectl create clusterrolebinding nasa --clusterrole cluster-admin --serviceaccount=default:nasa clusterrolebinding &#34;nasa&#34; created \u8ffd\u52a0\u3067\u304d\u305f\u3089\u3001\u30c8\u30fc\u30af\u30f3\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $ kubectl describe serviceaccount nasa Name: nasa Namespace: default Labels: &lt;none&gt; Annotations: &lt;none&gt; Image pull secrets: &lt;none&gt; Mountable secrets: nasa-token-pcn8j Tokens: nasa-token-pcn8j Events: &lt;none&gt; $ kubectl describe secret nasa-token-pcn8j Name: nasa-token-pcn8j Namespace: default Labels: &lt;none&gt; Annotations: kubernetes.io\/service-account.name=nasa kubernetes.io\/service-account.uid=8916621a-1010-11e8-8bf3-0200c0a80130 Type: kubernetes.io\/service-account-token Data ==== ca.crt: 1090 bytes namespace: 7 bytes token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwaa3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im5yc2EtdG9rZW4tcGNuOGoiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoibmFzYSIsImt1YmVybmV0ZXMuaW8dc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6Ijg5MTY2MjFhLTEwMTAtMTFlOC04YmYzLTAyMDBjMGE4MDEfMCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDgkZWZhdWx0Om5hc2FifQ.D1o3Jvko91dX6pk2qG505dd2zaXW468GGc9RT6eSzJlrjEG7UEtjF9vlhy7c3BegjPddpPpHsc_ouMx5BAmFdWh74v-PvxnX0IKsCVt_9dlSAcxbbk2PSOloqiwMxTs5q-j6y0Tx64zKzq5e520cNBQrkjJV96-f_riRHHXCrLXQKh2vroh_kpVDViQPqM-e4UKLU4zINGHnraouc7T95ib5wIMcVHEejgsZvF-hLgItxiMAhu4NQXzJ2gM4tMhXupgQZLL1-N_oqoTCNFssPQcoE9Ziyj9_RBkUoodhizpxGOKMFogUgG07DRae4OkEjywoR5xDAuQSJMPihTPqzw kubectl\u30b3\u30de\u30f3\u30c9\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3001\u5225\u306e\u30de\u30b7\u30f3\u306b\u30c8\u30fc\u30af\u30f3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 $ kubectl config set-cluster mycluster --server=https:\/\/192.168.1.11:6443 --insecure-skip-tls-verify=true $ kubectl config set-credentials mycluster --token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwaa3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im5yc2EtdG9rZW4tcGNuOGoiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoibmFzYSIsImt1YmVybmV0ZXMuaW8dc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6Ijg5MTY2MjFhLTEwMTAtMTFlOC04YmYzLTAyMDBjMGE4MDEfMCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDgkZWZhdWx0Om5hc2FifQ.D1o3Jvko91dX6pk2qG505dd2zaXW468GGc9RT6eSzJlrjEG7UEtjF9vlhy7c3BegjPddpPpHsc_ouMx5BAmFdWh74v-PvxnX0IKsCVt_9dlSAcxbbk2PSOloqiwMxTs5q-j6y0Tx64zKzq5e520cNBQrkjJV96-f_riRHHXCrLXQKh2vroh_kpVDViQPqM-e4UKLU4zINGHnraouc7T95ib5wIMcVHEejgsZvF-hLgItxiMAhu4NQXzJ2gM4tMhXupgQZLL1-N_oqoTCNFssPQcoE9Ziyj9_RBkUoodhizpxGOKMFogUgG07DRae4OkEjywoR5xDAuQSJMPihTPqzw $ kubectl config set-context mycluster --cluster=mycluster --user=mycluster $ kubectl config use-context mycluster $ kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master,node 10d v1.9.2+coreos.0 node2 Ready master,node 10d v1.9.2+coreos.0 node3 Ready node 10d v1.9.2+coreos.0 \u7121\u4e8b\u3001\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\uff01 \u4eca\u56de\u306fcluster\u306e\u8a2d\u5b9a\u3067--insecure-skip-tls-verify=true\u3068\u3057\u3001TLS\u306e\u78ba\u8a8d\u3092\u7701\u7565\u3057\u307e\u3057\u305f\u304c\u3001\u30de\u30b9\u30bf\u30fc\u30ce\u30fc\u30c9\u306e\/etc\/kubernetes\/ssl\/apiserver.pem\u3092\u30b3\u30d4\u30fc\u3057\u3066\u304d\u3066\u3001kubectl config set-cluster\u306e--certificate-authority=\u306b\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001TLS\u3092\u78ba\u8a8d\u3057\u305f\u4e0a\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u697d\u3057\u3044kubernetes\u30e9\u30a4\u30d5\u3092\u9001\u308a\u307e\u3057\u3087\u3046\uff01\nssh-copy-id\u30b3\u30de\u30f3\u30c9\u3092\u5229\u7528\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002&#160;&#x21a9;&#xfe0e;\n\u74b0\u5883\u306b\u3088\u3063\u3066\u306fsudo\u304c\u5fc5\u8981\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002&#160;&#x21a9;&#xfe0e;\n\u500b\u4eba\u7684\u306b\u306fcontiv\u3067\u69cb\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u6df1\u3044\u610f\u5473\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001Web UI\u304c\u3064\u3044\u3066\u3044\u308b\u306e\u304c\u6c17\u306b\u5165\u3063\u3066\u3044\u307e\u3059\u3002&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/deploy-k8s-with-kubespray-2\/","summary":"<p>3\u30f6\u6708\u307b\u3069\u524d\u306b\u3001<a href=\"\/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":"kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b(2)"},{"content":"When we create a new repository on GitHub , we can choose an open source license.\nWe choose an OSS license, then, LICENSE file is put into the new repository.\nNow, I&rsquo;m usually using hub command to create a new repository. I&rsquo;ll do below to create:\n1 2 3 4 5 6 7 8 $ mkdir my_new_repository $ cd my_new_repository $ git init # # ... some code writing and commit ... # $ git create # git command is aliased to hub $ git push -u origin master In this flow, I can write description for repository1, set homepage2, make the repository private3, but I CANNOT choose LICENSE. I can choose and create LICENSE file on the GitHub web page, or I can copy from my other repositories because its content is fixed. However, I don&rsquo;t do that.\nThus I created git-license , which is subcommand for git. As you know, when you put git-XXX executable into your PATH, you can use git-XXX command as subcommand of git like git XXX.\ngit-license is written in Go. So its executable is only one binary, and it means very easy to start using. If you have already had Go environment, you can install with:\n1 $ go get github.com\/nasa9084\/go-license If not, you can download binary for your os from Releases page .\nThe command creates LICENSE file you choose using GitHub Licenses API , so network connection is required.\nIf there&rsquo;s some bugs, comment, or enhancement, please feel free to make issues or make Pull Request.\nwith -d option&#160;&#x21a9;&#xfe0e;\nwith -h option&#160;&#x21a9;&#xfe0e;\nwith -p option&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/generate_license_with_gitlicense\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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>\n command 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":"Generates LICENSE file: git-license"},{"content":"TL;DR: \u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8text\/tabwriter \u3092\u4f7f\u7528\u3059\u308b\n\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 \u4f8b\u3048\u3070\u3001docker \u3067\u306f\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u3002\n1 2 3 4 $ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8caad461b4a4 redis &#34;docker-entrypoint.s\u2026&#34; 5 days ago Up 5 days 0.0.0.0:6379-&gt;6379\/tcp redis-svr 329c9f9be035 mysql &#34;docker-entrypoint.s\u2026&#34; 5 days ago Up 5 days 0.0.0.0:3306-&gt;3306\/tcp mysql-svr \u3053\u306e\u3088\u3046\u306a map\u3001\u3042\u308b\u3044\u306f\u69cb\u9020\u4f53\u306e\u914d\u5217 \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\u306etext\/tabwriter \u3067\u3059\u3002 \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\ntext\/tabwriter\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u306f\u3044\u304f\u3064\u304b\u306e\u8a2d\u5b9a\u7528\u5b9a\u6570 \u3068\u3001Writer\u69cb\u9020\u4f53 \u306e\u307f\u3067\u3059\u3002 Writer\u306f(\u52ff\u8ad6)io.Writer\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9 \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\n\u4f7f\u7528\u65b9\u6cd5\u306f\u901a\u5e38\u306eio.Writer\u3068\u306f\u3059\u3053\u3057\u5909\u308f\u3063\u3066\u3044\u3066\u3001\u6700\u521d\u306bWriter.Init() \u3067\u521d\u671f\u5316\u3057\u3001\u4efb\u610f\u56de\u6570Writer.Write() \u3067\u66f8\u304d\u8fbc\u307f\u3092\u3057\u305f\u5f8c\u3001Writer.Flush() \u3067\u6574\u5f62\u3057\u305f\u6587\u5b57\u5217\u3092\u51fa\u529b\u3057\u307e\u3059\u3002 NewWriter() \u95a2\u6570\u306fWriter\u69cb\u9020\u4f53\u3092new()\u3057\u305f\u5f8cInit()\u3059\u308b\u306e\u3068\u540c\u7b49\u3067\u3059\u3002\nWriter.Init()\u95a2\u6570\u53ca\u3073NewWriter()\u95a2\u6570\u306b\u4e0e\u3048\u308b\u5f15\u6570\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n\u540d\u524d \u578b \u5185\u5bb9 output io.Writer Flush()\u3057\u305f\u3068\u304d\u306e\u51fa\u529b\u5148 minwidth int 1\u30bb\u30eb\u3042\u305f\u308a\u306e\u6700\u5c0f\u5e45(\u30d1\u30c7\u30a3\u30f3\u30b0\u3092\u542b\u3080) tabwidth int \u30bf\u30d6\u6587\u5b57\u306e\u5e45(\u30b9\u30da\u30fc\u30b9\u306e\u500b\u6570\u3068\u7b49\u3057\u3044) padding int \u30d1\u30c7\u30a3\u30f3\u30b01 padchar byte \u30d1\u30c7\u30a3\u30f3\u30b0\u6587\u5b572 flags int \u8abf\u6574\u7528\u30d5\u30e9\u30b0 \u6700\u5f8c\u306e\u5f15\u6570\u3067\u3042\u308b\u3001\u8abf\u6574\u7528\u30d5\u30e9\u30b0\u306b\u306f0(\u6a19\u6e96\u72b6\u614b)\u3092\u4e0e\u3048\u308b\u304b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u5b9a\u6570 \u306e\u8ad6\u7406\u548c\u3092\u7528\u3044\u3066\u8a2d\u5b9a\u3092\u4e0e\u3048\u307e\u3059\u3002\n\u30d5\u30e9\u30b0\u7528\u5b9a\u6570 \u306f\u4ee5\u4e0b\u306e\u3082\u306e\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u5b9a\u6570\u540d \u610f\u5473 FilterHTML HTML\u30bf\u30b0\u3084 &rsquo;&amp;&rsquo; \u3067\u59cb\u307e\u308b\u7279\u6b8a\u6587\u5b57\u30921\u6587\u5b57\u3068\u3057\u3066\u30ab\u30a6\u30f3\u30c8\u3059\u308b StripEscape \u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\u3092\u53d6\u308a\u9664\u304f AlignRight \u53f3\u5bc4\u305b\u306b\u3059\u308b DiscardEmptyColumns \u6700\u521d\u306e\u7a7a\u5217\u3092\u7121\u8996\u3059\u308b TabIndent padchar\u306e\u5024\u306b\u95a2\u4fc2\u306a\u304f\u3001\u30a4\u30f3\u30c7\u30f3\u30c8\u306bTAB\u6587\u5b57\u3092\u4f7f\u7528\u3059\u308b Debug \u5217\u540c\u58eb\u306e\u9593\u306b\u7e26\u68d2` example source 1 2 3 4 5 6 w := tabwriter.NewWriter(os.Stdout, 0, 1, 1, &#39; &#39;, tabwriter.AlignRight|tabwriter.Debug) w.Write([]byte(&#34;alpha\\tbeta\\tgamma\\t\\n&#34;)) for i := 0; i &lt; 5; i++ { w.Write([]byte(&#34;foo\\tbar\\tbaz\\t\\n&#34;)) } w.Flush() \u51fa\u529b alpha| beta| gamma| foo| bar| baz| foo| bar| baz| foo| bar| baz| foo| bar| baz| foo| bar| baz| \u6587\u5b57\u5217\u306e\u5e45\u306b\u52a0\u3048\u3089\u308c\u308b&#160;&#x21a9;&#xfe0e;\nASCII\u6587\u5b57\u3067\u6307\u5b9a\u3059\u308b&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/output-columned-text\/","summary":"<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":"\u30c6\u30ad\u30b9\u30c8\u3092\u5217\u3054\u3068\u306b\u305d\u308d\u3048\u3066\u51fa\u529b\u3059\u308b"},{"content":"vmware fusion\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u306eCPU\u8a2d\u5b9a\u3067\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\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 \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u8f09\u3063\u3066\u3044\u307e\u305b\u3093\u304c1\u3001Vagrant + vmware-fusion plugin\u306e\u69cb\u6210\u3067\u3082\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002 Vagrantfile\u306b\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 2 3 config.vm.provider &#34;vmware_fusion&#34; do |v| v.vmx[&#34;vhv.enable&#34;] = &#34;TRUE&#34; end vmx\u306e\u8a2d\u5b9a\u3092\u3059\u308b\u65b9\u6cd5\u81ea\u4f53\u306f\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u3082\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u8a73\u7d30\u304c\u3042\u308a\u307e\u305b\u3093&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/vagrant-vmware-fusion-nested-vm\/","summary":"<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":"Vagrant\/vmware-fusion\u3067\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4eee\u60f3\u5316\u3092\u6709\u52b9\u306b\u3057\u305fVM\u3092\u4f5c\u6210\u3059\u308b"},{"content":"container-up \u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u305f\u306e\u3067\u3054\u7d39\u4ecb\u3002\n\u80cc\u666f \u3053\u306e\u30d6\u30ed\u30b0\u306fghost \u3068\u3044\u3046\u30d6\u30ed\u30b0\u30a8\u30f3\u30b8\u30f3\u3067\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\u52d5\u4f5c\u74b0\u5883\u3068\u3057\u3066Docker \u3092\u4f7f\u7528\u3057\u3066\u3044\u3066\u3001Ghost\u306e\u516c\u5f0f\u30a4\u30e1\u30fc\u30b8 \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002 \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\n\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 \u305f\u3068\u3048\u3070\u3001Docker Compose\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001docker-compose up\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\n\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 Ghost\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 \u305d\u308c\u3092\u697d\u306b\u3059\u308b\u305f\u3081\u3001container-up\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb Go\u74b0\u5883\u304c\u3042\u308b\u4eba 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\n1 $ go get github.com\/nasa9084\/container-up \u305d\u308c\u4ee5\u5916\u306e\u4eba Go\u8a00\u8a9e\u306e\u74b0\u5883\u304c\u306a\u3044\u4eba\u306f\u3001Releases \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 windows, 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 \u52d5\u4f5c\u78ba\u8a8d\u306fmacos\u3001linux(CentOS 7)\u306e\u307f\u884c\u3063\u3066\u3044\u307e\u3059\u3002\n\u3053\u308c\u3089\u4ee5\u5916\u306e\u74b0\u5883\u306e\u4eba\u306f\u3001\u4e88\u3081dep \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\n1 2 3 4 $ git clonse https:\/\/github.com\/nasa9084\/container-up.git $ cd container-up $ dep ensure $ go build -o container-up main.go \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\n\u4f7f\u3044\u65b9 \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\n1 $ container-up CONTAINER_NAME \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 :latest\u306a\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001docker pull\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\n\u3082\u3068\u306e\u30b3\u30f3\u30c6\u30ca\u306f--rm\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u8d77\u52d5\u3057\u3066\u3044\u305f\u5834\u5408\u3092\u9664\u3044\u3066\u3001_oldContainer\u3068\u3044\u3046\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u304c\u4ed8\u3044\u305f\u72b6\u614b\u3067stop\u3057\u307e\u3059\u3002 \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\n\u3082\u3057\u3001\u5143\u306e\u30b3\u30f3\u30c6\u30ca\u304c\u5fc5\u8981\u306a\u3044\u5834\u5408\u306f\u3001--rm\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308b\u3068\u3001\u5dee\u3057\u66ff\u3048\u6642\u306b\u524a\u9664\u3057\u307e\u3059\u3002\n1 $ container-up --rm CONTAINER_NAME :latest\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\n1 $ container-up -i IMAGE_NAME CONTAINER_NAME \u3053\u306e\u5834\u5408\u3001\u5dee\u3057\u66ff\u3048\u308b\u30b3\u30f3\u30c6\u30ca\u306f\u6307\u5b9a\u3055\u308c\u305f\u30a4\u30e1\u30fc\u30b8\u3067\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\n\u3053\u308c\u3089\u306e\u30b3\u30de\u30f3\u30c9\u3067\u306f\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u30de\u30a6\u30f3\u30c8\u8a2d\u5b9a\u306f\u5f15\u304d\u7d99\u304e\u307e\u3059\u304c\u3001\u305d\u308c\u4ee5\u5916\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3079\u3066\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u306b\u5dee\u3057\u66ff\u308f\u308a\u307e\u3059\u3002 \u3082\u3057\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u30de\u30a6\u30f3\u30c8\u3057\u3066\u3044\u308b\u3068\u3053\u308d\u4ee5\u5916\u306b\u5f15\u304d\u7d99\u304e\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u304c\u3042\u308b\u5834\u54081\u3001-f\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u65b0\u3057\u3044\u30b3\u30f3\u30c6\u30ca\u306b\u30b3\u30d4\u30fc\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n1 $ container-up -f \/path\/to\/file.ex CONTAINER_NAME -f\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u8907\u6570\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u306e\u3067\u3001\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3057\u305f\u3044\u5834\u5408\u306b\u306f\u8907\u6570\u56de\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n1 $ container-up -f \/path\/to\/file1 -f \/path\/to\/file2 CONTAINER_NAME \u73fe\u72b6\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u6a5f\u80fd\u306f\u4ee5\u4e0a\u3067\u3059\u3002 \u30d8\u30eb\u30d7\u306f-h\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308b\u3053\u3068\u3067\u898b\u3089\u308c\u307e\u3059\u3002\n\u305f\u3068\u3048\u3070\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306a\u3069&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/container-up\/","summary":"<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":"container-up\u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u66f8\u3044\u305f"},{"content":"DockerCon EU 2017\u3067\u3001Docker\u304cKubernetes\u3092\u7d71\u5408\u30fb\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3068\u767a\u8868\u3055\u308c\u307e\u3057\u305f \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\n\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\n\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\nKubernetes\u306e\u8d77\u52d5\u624b\u9806 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 Install Docker for mac \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 Docker\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\u30931\u3002 Edge\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\nKubernetes\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\nEnable Kubernetes\u306b\u30c1\u30a7\u30c3\u30af\u3092\u5165\u308c(Show system containers\u306f\u304a\u597d\u307f\u3067)\u3001Apply &amp; Restart\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\u3001Install\u3092\u62bc\u3057\u307e\u3059\u3002\n\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 \u6570\u5206\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u308a\u307e\u3059\u3002\n\u7121\u4e8b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u4e86\u3057\u305f\u3089\u3001Close\u3092\u62bc\u3057\u305f\u3042\u3068\u3001\u8a2d\u5b9a\u753b\u9762\u3092\u9589\u3058\u307e\u3059\u3002\n\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\n\u4eca\u56de\u79c1\u306fShow system containers\u3092\u30aa\u30f3\u306b\u3057\u305f\u306e\u3067\u3001docker ps2\u3059\u308b\u3068Kubernetes\u306e\u52d5\u4f5c\u306b\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002 DNS\u3001API Server\u3001Etcd\u3001Scheduler\u3001Proxy\u3068\u6700\u5c0f\u9650\u306e\u69cb\u6210\u3067\u3059\u306d\u3002\nkubectl\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) kubectl\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\n$ kubectl config use-context docker-for-desktop kubectl get nodes\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\nEdge\u7248\u306e\u521d\u56de\u8d77\u52d5\u6642\u306b\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059&#160;&#x21a9;&#xfe0e;\ndocker container ls\u3068\u6253\u3064\u306e\u306f\u9762\u5012\u3067\u3059\u306d&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/kubernetes-powerd_docker_for_mac\/","summary":"<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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"Kubernetes-powered Docker for mac is released!"},{"content":"\u3053\u306e\u8a18\u4e8b\u306fGo2 Advent Calendar 2017 13\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u6628\u65e5\u306f@kami_zh \u3055\u3093\u306e Go\u3067\u6a19\u6e96\u51fa\u529b\u3092\u30ad\u30e3\u30d7\u30c1\u30e3\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u66f8\u3044\u305f \u3067\u3057\u305f\u3002\ngo-sqlrow 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\u30591\u3002\n1 2 3 4 5 6 7 8 9 type Person struct { ID string Name string } db, _ := sql.Open(&#34;dn&#34;, &#34;dsn&#34;) row, _ := db.Query(`SELECT id, name FROM person where id=&#39;foo&#39;`) var p Person row.Scan(&amp;p.ID, &amp;p.Name) SQL\u6587\u3092\u767a\u884c\u3059\u308b\u307e\u3067\u306f\u3044\u3044\u306e\u3067\u3059\u304c\u3001\u6700\u5f8c\u306e\u884c\u3001sql.Row#Scan\u304c\u304f\u305b\u8005\u3067\u3059\u3002 \u4e0a\u8a18\u306e\u4f8b\u306e\u3088\u3046\u306b\u3001sql.row#Scan\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\n\u3053\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u3001go-sqlrow \u3068\u3044\u3046\u5c0f\u3055\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u308a\u307e\u3057\u305f2\u3002 \u3053\u308c\u306f\u4e0a\u8a18\u306erow.Scan\u3092\u4ee3\u308f\u308a\u306b\u3084\u3063\u3066\u304f\u308c\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\n\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\n1 2 3 4 5 6 7 8 9 type Person struct { ID string Name string } db, _ := sql.Open(&#34;dn&#34;, &#34;dsn&#34;) row, _ := db.Query(`SELECT id, name FROM person where id=&#39;foo&#39;`) var p Person sqlrow.Bind(row, &amp;p) \u5f8c\u306f\u5185\u90e8\u3067row.Scan\u76f8\u5f53\u306e\u51e6\u7406\u3092\u884c\u3044\u307e\u3059\u3002 unexported\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u306fencoding\/json\u540c\u69d8\u3001sql.Row\u3068\u306e\u5bfe\u5fdc\u304c\u3068\u308c\u307e\u305b\u3093\u306e\u3067\u3001\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\n\u30a8\u30e9\u30fc\u51e6\u7406\u3084\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306a\u3069\u306f\u7701\u7565&#160;&#x21a9;&#xfe0e;\ngodoc: https:\/\/godoc.org\/github.com\/nasa9084\/go-sqlrow &#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/go-sqlrow\/","summary":"<p>\u3053\u306e\u8a18\u4e8b\u306f<a href=\"https:\/\/qiita.com\/advent-calendar\/2017\/go2\" target=\"_blank\" rel=\"noopener\">Go2 Advent Calendar 2017<\/a>\n 13\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":"go-sqlrow"},{"content":"\u3053\u306e\u8a18\u4e8b\u306f Riot.js Advent Calendar 2017 13\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u6628\u65e5\u306f@supple \u3055\u3093\u306b\u3088\u308bRiot+Electron\u3067Markdown\u30a8\u30c7\u30a3\u30bf\u3092\u4f5c\u308b \u3067\u3057\u305f\u3002\ntl;dr Parcel \u3068\u3044\u3046JavaScript\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u30d0\u30f3\u30c9\u30e9\u3092\u89e6\u3063\u3066\u307f\u305f webpack\u306a\u3069\u3068\u6bd4\u3079\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u3082\u3044\u3089\u305a\u3068\u3066\u3082\u7c21\u5358 \u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u306a\u958b\u767a\u30b5\u30fc\u30d0\u3092\u7c21\u5358\u306b\u5b9f\u884c\u3067\u304d\u308b Riot\u3068\u7d44\u307f\u5408\u308f\u305b\u308b\u306e\u3082\u305d\u308c\u307b\u3069\u96e3\u3057\u304f\u306a\u3044 Parcel + Riot.js Parcel \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 \u56fd\u5185\u3067\u8a71\u984c\u306b\u306a\u3063\u3066\u3044\u308b\u5143\u306e\u8a18\u4e8b\u306f\u300cwebpack\u6642\u4ee3\u306e\u7d42\u308f\u308a\u3068parcel\u6642\u4ee3\u306e\u306f\u3058\u307e\u308a \u300d\u3002 React \u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u8a18\u4e8b\u3092\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\n\u500b\u4eba\u7684\u306b\u306fRiot.js \u304c\u597d\u307f\u306a\u306e\u3067\u3001Riot.js\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u5c1a\u3001webpack\u306f\u632b\u6298\u3057\u305f\u305f\u3081\u6bd4\u8f03\u3067\u304d\u307e\u305b\u3093\u3002\nParcel\/Riot.js\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb npm\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n1 $ npm install -g parcel-bundler riot source code \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020 \u4ee5\u4e0b\u306e\u69d8\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u9020\u3060\u3068\u3057\u307e\u3059\u3002 \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\nsrc\/ |- index.html |- index.js |- package.json |- app\/ | |- App.tag index.html 1 2 3 4 5 6 7 8 &lt;!doctype html&gt; &lt;html lang=&#34;ja&#34;&gt; &lt;head&gt;&lt;\/head&gt; &lt;body&gt; &lt;App&gt;&lt;\/App&gt; &lt;script src=&#34;index.js&#34;&gt;&lt;\/script&gt; &lt;\/body&gt; &lt;\/html&gt; index.js 1 2 3 4 import riot from &#39;riot&#39; import &#39;.\/app\/tags&#39; riot.mount(&#39;App&#39;) App.tag 1 2 3 4 5 6 7 &lt;App&gt; &lt;h1&gt;Hello, parcel world!&lt;\/h1&gt; &lt;script&gt; import riot from &#39;riot&#39; &lt;\/script&gt; &lt;\/App&gt; package.json package.json\u306fnpm init -y\u3067\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\ncompile\/bundle &amp; run 1 2 $ riot app\/ app\/tags.js $ parcel index.html \u4e0a\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u3067 http:\/\/localhost:1234 \u3067\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u306e\u30b5\u30fc\u30d0\u304c\u52d5\u4f5c\u3057\u307e\u3059\u3002 \u6700\u7d42\u7684\u306a\u6210\u679c\u7269\u3092\u4f5c\u308b\u5834\u5408\u306f parcel build index.html\u3068\u3059\u308c\u3070\u826f\u3044\u3088\u3046\u3067\u3059\u3002\n\u3057\u304b\u3057\u3001riot.js\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u306fparcel\u306e\u524d\u6bb5\u3067\u5225\u9014\u884c\u3063\u3066\u3044\u308b\u305f\u3081\u3001tag\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306fwatch\u3055\u308c\u307e\u305b\u3093\u3002riot\u30b3\u30de\u30f3\u30c9\u306b-w\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u308b\u3053\u3068\u3067\u30a6\u30a9\u30c3\u30c1\u3067\u304d\u307e\u3059\u304c\u3001\u305d\u306e\u307e\u307e\u3060\u3068\u4e8c\u3064\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5225\u3005\u306e\u7aef\u672b\u3067\u958b\u304f\u306a\u3069\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u82e5\u5e72\u9762\u5012\u3067\u3059\u3002 package.json\u306escripts\u306b\u4ee5\u4e0b\u306e\u4e09\u3064\u306e\u30b3\u30de\u30f3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 2 3 4 5 { &#34;watch&#34;: &#34;npm run watch:riot &amp; npm run watch:parcel&#34;, &#34;watch:riot&#34;: &#34;riot -w app\/ app\/tags.js&#34;, &#34;watch:parcel&#34;: &#34;parcel index.html&#34; } \u8ffd\u52a0\u3057\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\n1 $ npm run watch \u3053\u308c\u3067\u30b3\u30de\u30f3\u30c9\u4e00\u3064\u3067\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u306e\u958b\u767a\u30b5\u30fc\u30d0\u3092\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/parcel-riot-js\/","summary":"<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>\n 13\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":"Parcel + Riot.js"},{"content":"\u6ce8\u610f: \u60c5\u5831\u304c\u53e4\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u65b0\u3057\u3044\u60c5\u5831\u306b\u3042\u308f\u305b\u3066\u8a18\u4e8b\u3092\u66f8\u3044\u305f \u306e\u3067\u3001\u305d\u3061\u3089\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\nkubespray \u306fproduction ready\u306akubernetes(k8s)\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3067\u304d\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002 Ansible \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\n\u4eca\u56de\u306f\u30013\u53f0\u306eVM\u3092\u7528\u610f\u3057\u3066\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u6210\u3057\u3066\u307f\u307e\u30591\u3002\n\u691c\u8a3c\u74b0\u5883 \u4eca\u56de\u7528\u610f\u3057\u305fVM\u306f\u4ee5\u4e0b\u306e\u69cb\u6210\u3067\u3059\u3002\n2Core 8GB RAM 80GB HDD CentOS 7 IP\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u307e\u3059\u3002\n192.168.1.11 192.168.1.12 192.168.1.13 \u307e\u305f\u3001kubespray\u3092\u5b9f\u884c\u3059\u308b\u30ed\u30fc\u30ab\u30eb\u306e\u74b0\u5883\u306fmacOS Sierra\u3067\u3059\u3002 \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\nrequirements \u5b9f\u884c\u3059\u308b\u74b0\u5883\u306b\u3001Ansible \u304c\u5fc5\u8981\u306a\u305f\u3081\u3001pip\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u300223\n1 $ pip install ansible install kubespray-cli kubespray\u81ea\u4f53\u3082pip\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n1 $ pip install kubespray prepare \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u3001kubespray prepare\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n1 $ kubespray prepare --nodes node1[ansible_ssh_host=192.168.1.11] node2[ansible_ssh_host=192.168.1.12] node3[ansible_ssh_host=192.168.1.13] deploy \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067k8s\u30af\u30e9\u30b9\u30bf\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002\n1 $ kubespray deploy -u root -n flannel \u4eca\u56de\u306fflannel \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u69cb\u6210\u3057\u307e\u3057\u305f\u3002 kubespray\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\nflannel 4 calico 5 canal contiv 6 weave 7 \u3042\u3068\u306f\u69cb\u6210\u304c\u7d42\u4e86\u3059\u308b\u306e\u3092\u5f85\u3064\u3060\u3051\u3067\u3059\u3002\nvmware vSphere \u4e0a\u306b\u4f5c\u6210\u3057\u307e\u3057\u305f&#160;&#x21a9;&#xfe0e;\n\u6700\u521d\u3001Python 3\u3067kubespray\u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u305f\u3068\u3053\u308d\u3001raw_input\u3092\u4f7f\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3001\u4e0a\u624b\u304f\u3044\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002Python 2\u3067\u5b9f\u884c\u3057\u307e\u3059&#160;&#x21a9;&#xfe0e;\n\u79c1\u306f\u4e00\u5fdcvenv\u3092\u631f\u307f\u307e\u3057\u305f&#160;&#x21a9;&#xfe0e;\nhttps:\/\/github.com\/kubernetes-incubator\/kubespray\/blob\/master\/docs\/flannel.md &#160;&#x21a9;&#xfe0e;\nhttps:\/\/github.com\/kubernetes-incubator\/kubespray\/blob\/master\/docs\/calico.md &#160;&#x21a9;&#xfe0e;\nhttps:\/\/github.com\/kubernetes-incubator\/kubespray\/blob\/master\/docs\/contiv.md &#160;&#x21a9;&#xfe0e;\nhttps:\/\/github.com\/kubernetes-incubator\/kubespray\/blob\/master\/docs\/weave.md &#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/deploy-k8s-cluster-using-kubespray\/","summary":"<p><strong>\u6ce8\u610f: \u60c5\u5831\u304c\u53e4\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<a href=\"\/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":"kubespray\u3092\u4f7f\u7528\u3057\u3066kubernetes cluster\u3092\u69cb\u7bc9\u3059\u308b"},{"content":"GitLab \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 GitLab\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 GitLab-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\n\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 \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\n\u89e3\u6cd5 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 docker run\u3059\u308b\u969b\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 -e GITLAB_OMNIBUS_CONFIG=&#34;gitlab_rails[&#39;initial_shared_runners_registration_token&#39;] = &#39;HOGEHOGETOKEN&#39;&#34; \u3082\u3057\u3001\u307b\u304b\u306e\u7406\u7531\u3067\u3059\u3067\u306bGITLAB_OMNIBUS_CONFIG\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\n1 -e GITLAB_OMNIBUS_CONFIG=&#34;gitlab_rails[&#39;initial_root_password&#39;] = &#39;FUGAFUGAPASSWORD&#39;; gitlab_rails[&#39;initial_shared_runners_registration_token&#39;] = &#39;HOGEHOGETOKEN&#39;&#34; \u3053\u3053\u3067\u6307\u5b9a\u3057\u305f\u5024\u3092runner\u306e\u767b\u9332\u6642\u306b\u4e0e\u3048\u308c\u3070\u3001OK\u3067\u3059\u3002\n1 docker exec 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 \u3053\u306e\u3068\u304d\u3001GITLAB_RUNNER_CONTAINER_NAME\u3068GITLAB_URL\u306f\u9069\u5b9c\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/gitlab-docker-init-runners-reg-token\/","summary":"<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":"GitLab Docker: initial runners registration token"},{"content":"\u5143\u30cd\u30bf\u306f@lestrrat \u3055\u3093\u306e\u300cAbusing type aliases to augment context.Context \u300d\u3002\ngolang\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\n1 http.HandleFunc(path string, handler func(w http.ResponseWriter, r *http.Request) \u3082\u3061\u308d\u3093\u3001http.Handle\u3092\u7528\u3044\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3057\u3001gorilla\/mux \u306a\u3069\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7528\u3044\u308b\u3053\u3068\u3082\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002 \u3053\u3053\u3067\u91cd\u8981\u306a\u306e\u306f\u3001func(w http.ResponseWriter, r *http.Request)\u3068\u3044\u3046\u5f15\u6570\u306e\u65b9\u3067\u3059\u3002\n\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 \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\u304cfunc (w http.ResponseWriter, r *http.Request)\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\n\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\u3001db\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\u30b0\u30ed\u30fc\u30d0\u30eb\u306a\u5909\u6570\u306f\u3067\u304d\u308b\u3060\u3051\u6301\u3061\u305f\u304f\u306a\u3044 \u3067\u3059\u3088\u306d\u3002\n\u305d\u3053\u3067\u3001Go 1.8\u304b\u3089\u8ffd\u52a0\u3055\u308c\u305fcontext \u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002http.Request \u306b\u306fcontext.Context\u304c\u5165\u3063\u3066\u3044\u3066\u3001Request.Context() \u3067get\u3001Request.WithContext() \u3067set\u3067\u304d\u307e\u3059\u3002\ncontext.Context\u306b\u5024\u3092\u6301\u305f\u305b\u308b\u65b9\u6cd5\u3067\u6700\u521d\u306b\u601d\u3044\u3064\u304f\u306e\u306fContext.WithValue() \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\u3088\u304f\u3042\u308a\u307e\u305b\u3093 \u3002 \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package context \/\/ internal context subpackage import ( &#34;context&#34; &#34;errors&#34; ) type withSomethingContext struct { context.Context something *Something } func WithSomething(ctx context.Context, something *Something) context.Context { return &amp;withSomethingContext{ Context: ctx, something: something, } } func Something(ctx context.Context) (*Something, error) { if sctx, ok := ctx.(*withSomethingContext); ok { if sctx.something != nil { return sctx.something, nil } } return nil, errors.New(`no asscosiated something`) } \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\n\u6268\u3001\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068context\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4e21\u65b9\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306b\u306f\u3001\u3069\u3061\u3089\u304b\u306e\u8aad\u307f\u8fbc\u307f\u540d\u79f0\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u5177\u5408\u3067\u3059\u3002\n1 2 3 import ( &#34;context&#34; mycontext &#34;github.com\/hoge\/fuga\/context&#34; \u307e\u305f\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u4e2d\u3067\u3082context\u3068mycontext\u3092\u4f7f\u3044\u5206\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u7169\u96d1\u3067\u3059\u3002 \u3053\u306e\u554f\u984c\u306f\u3001Go 1.9\u3067\u5c0e\u5165\u3055\u308c\u305fType Alias \u3092\u4f7f\u3046\u3068\u304d\u308c\u3044\u306b\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n1 2 3 import &#34;context&#34; type Context = context.Context \u3053\u306e\u3088\u3046\u306b\u66f8\u304f\u3068\u3001\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306econtext.Context\u3068\u3001\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u304a\u3051\u308bcontext.Context\u304c\u540c\u4e00\u306e\u3082\u306e\u3068\u3057\u3066\u6271\u308f\u308c\u307e\u3059\u3002 \u305d\u306e\u305f\u3081\u3001\u4e00\u3064\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u3060\u3051\u3067\u826f\u304f\u306a\u308a\u307e\u3059\u3002\n\u6700\u7d42\u7684\u306acontext\u30b5\u30d6\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30b3\u30fc\u30c9\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package context \/\/ internal context subpackage import ( &#34;context&#34; &#34;errors&#34; ) type Context = context.Context \/* ** some more definition *\/ type withSomethingContext struct { Context something *Something } func WithSomething(ctx Context, something *Something) Context { return &amp;withSomethingContext{ Context: ctx, something: something, } } func Something(ctx Context) (*Something, error) { if sctx, ok := ctx.(*withSomethingContext); ok { if sctx.something != nil { return sctx.something, nil } } return nil, errors.New(`no asscosiated something`) } \u5b9f\u969b\u306b\u306f\u3001\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306econtext\u3068\u540c\u7b49\u306b\u4f7f\u7528\u3059\u308b\u306b\u306f\u305d\u306e\u4ed6\u306e\u5b9a\u7fa9\u306e\u518d\u5b9a\u7fa9\u3084\u3001\u8907\u6570\u306ewithXXXContext\u3092\u5b9a\u7fa9\u3057\u305f\u5834\u5408\u306b\u306f\u518d\u5e30\u7684\u306b\u5024\u3092\u8aad\u307f\u51fa\u3059\u51e6\u7406\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u304c\u3001\u57fa\u672c\u7684\u306b\u306f\u3053\u306e\u5f62\u3092\u4f7f\u7528\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002 \u3053\u306e\u3088\u3046\u306bcontext\u3092\u5b9a\u7fa9\u3057\u3066\u304a\u304d\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 func withSomethingMiddleware(h http.Handler) http.Handler { return http.Handler(func(w http.ResponseWriter, r *http.Request) { something := &amp;Something{} r = r.WithContext(context.WithSomething(r.Context(), something)) h.ServeHTTP(w, r) }) } http.Handler\u306emiddleware\u306b\u3064\u3044\u3066\u306f\u307e\u305f\u306e\u6a5f\u4f1a\u306b\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/package-specified-context\/","summary":"<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":"Application Specific Context"},{"content":"\u8907\u6570\u306e\u8a00\u8a9e1\u306b\u5bfe\u5fdc\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u969b\u3001\u591a\u304f\u306e\u5834\u5408\u7528\u3044\u3089\u308c\u308b\u306e\u304cGNU gettext (\u4ee5\u4e0bgettext)\u3068\u547c\u3070\u308c\u308b\u30c4\u30fc\u30eb\u30bb\u30c3\u30c8\u3067\u3059\u3002 gettext\u306f\u69d8\u3005\u306a\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306b\u5bfe\u5fdc\u3057\u305f\u56fd\u969b\u5316\u30c4\u30fc\u30eb\u3067\u3059\u3002\u516c\u5f0f\u306e\u30c4\u30fc\u30eb\u3067\u3082\u4e00\u822c\u7684\u306a\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u304c\u591a\u6570\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u4ed6\u3001\u516c\u5f0f\u30c4\u30fc\u30eb\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306b\u3064\u3044\u3066\u3082\u6709\u5fd7\u304c\u5bfe\u5fdc\u30c4\u30fc\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\ngettext\u3092\u7528\u3044\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u56fd\u969b\u5316\u306fgettext - Wikipedia \u3092\u8aad\u3080\u306e\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u6268\u3001gettext\u3092\u7528\u3044\u3066\u56fd\u969b\u5316\u3092\u884c\u3046\u5834\u5408\u3001\u6700\u7d42\u7684\u306a\u7ffb\u8a33\u30d5\u30a1\u30a4\u30eb\u306f .mo \u3068\u3044\u3046\u62e1\u5f35\u5b50\u3092\u6301\u3063\u305f\u30d0\u30a4\u30ca\u30ea\u30d5\u30a1\u30a4\u30eb\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u3092\u8aad\u307f\u8fbc\u3080\u305f\u30812\u306b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u9020\u304c\u3069\u3046\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u3092\u77e5\u3089\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\n\u57fa\u672c\u7684\u306b\u306f\u516c\u5f0f\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u8f09\u3063\u3066\u3044\u308b\u901a\u308a\u3067\u3059\u304c\u3001\u65e5\u672c\u8a9e\u306e\u60c5\u5831\u304c\u5c11\u306a\u3044\u305f\u3081\u3001\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002\nMO\u30d5\u30a1\u30a4\u30eb\u306f\u5927\u304d\u304f\u5206\u3051\u3066\u6b21\u306e4\u3064\u306e\u30d1\u30fc\u30c8\u306b\u5206\u304b\u308c\u3066\u3044\u307e\u3059\u3002\n\u30d8\u30c3\u30c0\u30fc \u6587\u5b57\u5217\u60c5\u5831 \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb \u6587\u5b57\u5217 \u3053\u306e\u3046\u3061\u3001\u3068\u308a\u3042\u3048\u305aMO\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u3080\u305f\u3081\u306b\u5fc5\u8981\u306a\u3001\u30d8\u30c3\u30c0\u30fc\u3001\u6587\u5b57\u5217\u60c5\u5831\u3001\u6587\u5b57\u5217\u306e\u90e8\u5206\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002\n\u30d8\u30c3\u30c0\u30fc \u30d8\u30c3\u30c0\u30fc\u306f\u30d5\u30a1\u30a4\u30eb\u306e\u982d\u304b\u30894bytes\u533a\u5207\u308a\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002 \u57fa\u672c\u7684\u306b\u306f\u3001\u6b21\u306e7\u3064\u306e\u60c5\u5831\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\n\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc \u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30ea\u30d3\u30b8\u30e7\u30f3 N: \u6587\u5b57\u5217\u6570 O: \u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 T: \u7ffb\u8a33\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 S: \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306e\u5927\u304d\u3055 H: \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 \u3053\u306e\u307b\u304b\u3001\u5834\u5408\u306b\u3088\u308a\u8ffd\u52a0\u3067\u30d8\u30c3\u30c0\u30fc\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002 \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u60c5\u5831\u3068\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306e\u958b\u59cb\u70b9\u306fO\u53ca\u3073H\u3067\u8868\u73fe\u3055\u308c\u308b\u305f\u3081\u3001\u4efb\u610f\u306e\u30d8\u30c3\u30c0\u30fc\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\n\u30d8\u30c3\u30c0\u30fc\u306e\u5404\u60c5\u5831\u306b\u3064\u3044\u3066\u3001\u305d\u308c\u305e\u308c\u898b\u3066\u307f\u307e\u3059\u3002\n\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc \u304a\u305d\u3089\u304f\u3001\u540d\u524d\u3060\u3051\u3092\u898b\u3066\u4e00\u756a\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u306e\u304c\u3053\u306e \u300c\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u300d \u3060\u3068\u601d\u308f\u308c\u307e\u3059\u3002 \u3053\u3053\u306b\u306f\u30010x950412de \u3082\u3057\u304f\u306f 0xde120495 \u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002 \u3053\u308c\u306fMO\u30d5\u30a1\u30a4\u30eb\u304c\u751f\u6210\u3055\u308c\u305f\u6642\u306e\u30d0\u30a4\u30c8\u30aa\u30fc\u30c0\u30fc\u3092\u793a\u3057\u3066\u304a\u308a\u3001 0x950412de \u306e\u5834\u5408\u306f\u30d3\u30c3\u30b0\u30a8\u30f3\u30c7\u30a3\u30a2\u30f3 \u3001 0xde120495 \u306e\u5834\u5408\u306f\u30ea\u30c8\u30eb\u30a8\u30f3\u30c7\u30a3\u30a2\u30f3 \u3067\u751f\u6210\u3055\u308c\u305f\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30ea\u30d3\u30b8\u30e7\u30f3 \u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306e\u30ea\u30d3\u30b8\u30e7\u30f3\u3092\u793a\u3057\u307e\u3059\u3002\u73fe\u72b63\u3001\u901a\u5e38\u306f0\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002\n\u6587\u5b57\u5217\u6570 N \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3067\u306f\u5909\u6570\u540dN\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u672c\u8a18\u4e8b\u3067\u3082N\u3068\u3057\u3066\u8aac\u660e\u3057\u307e\u3059\u3002 \u7ffb\u8a33\u5bfe\u8c61\u306e\u6587\u5b57\u5217\u306e\u6570\u3067\u3059\u3002\n\u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 O \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3067\u306f\u5909\u6570\u540dO\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u672c\u8a18\u4e8b\u3067\u3082O\u3068\u3057\u3066\u8aac\u660e\u3057\u307e\u3059\u3002 \u7ffb\u8a33\u524d\u306e\u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u958b\u59cb\u5730\u70b9\u3092\u793a\u305932bit int\u306e\u5024\u3067\u3059\u3002 MO\u30d5\u30a1\u30a4\u30eb\u306eObyte\u76ee\u304b\u3089\u30aa\u30ea\u30b8\u30ca\u30eb\u306e\u6587\u5b57\u5217\u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u3092\u8868\u3057\u307e\u3059\u3002\n\u7ffb\u8a33\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 T \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3067\u306f\u5909\u6570\u540dT\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u672c\u8a18\u4e8b\u3067\u3082T\u3068\u3057\u3066\u8aac\u660e\u3057\u307e\u3059\u3002 \u7ffb\u8a33\u5f8c\u306e\u6587\u5b57\u5217\u30c6\u30fc\u30d6\u30eb\u306e\u958b\u59cb\u5730\u70b9\u3092\u793a\u305932bit int\u306e\u5024\u3067\u3059\u3002 MO\u30d5\u30a1\u30a4\u30eb\u306eTbyte\u76ee\u304b\u3089\u7ffb\u8a33\u6587\u5b57\u5217\u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u3092\u793a\u3057\u307e\u3059\u3002\n\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306e\u5927\u304d\u3055 S \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3067\u306f\u5909\u6570\u540dS\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u4f7f\u7528\u3057\u306a\u304f\u3066\u3082MO\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u89e3\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u305f\u3081\u3001\u672c\u8a18\u4e8b\u3067\u306f\u7701\u7565\u3057\u307e\u3059\u3002\n\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306e\u30aa\u30d5\u30bb\u30c3\u30c8 H \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3067\u306f\u5909\u6570\u540dH\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u4f7f\u7528\u3057\u306a\u304f\u3066\u3082MO\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u89e3\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u305f\u3081\u3001\u672c\u8a18\u4e8b\u3067\u306f\u7701\u7565\u3057\u307e\u3059\u3002\n\u6587\u5b57\u5217\u60c5\u5831 \u6587\u5b57\u5217\u60c5\u5831\u90e8\u5206\u306f\u3001MO\u30d5\u30a1\u30a4\u30eb\u306eObyte\u76ee\u304b\u3089\u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u60c5\u5831\u304c\u3001Tbyte\u76ee\u304b\u3089\u7ffb\u8a33\u6587\u5b57\u5217\u60c5\u5831\u304c\u59cb\u307e\u308a\u30018bytes\u533a\u5207\u308a\u3067\u5024\u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u3055\u3089\u306b\u30018bytes\u306e\u3046\u3061\u3001\u524d\u534a4bytes\u304c\u6587\u5b57\u5217\u306e\u9577\u3055\u3001\u5f8c\u534a4bytes\u304c\u30aa\u30d5\u30bb\u30c3\u30c8\u3092\u793a\u3057\u307e\u3059\u3002\n\u6587\u5b57\u5217\u60c5\u5831\u90e8\u5206\u306b\u306fN\u500b\u306e\u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u60c5\u5831\u3068\u3001N\u500b\u306e\u7ffb\u8a33\u6587\u5b57\u5217\u60c5\u5831\u3001\u3042\u308f\u305b\u30662N\u500b\u306e\u6587\u5b57\u5217\u60c5\u5831\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u6587\u5b57\u5217\u60c5\u5831\u306f\u30aa\u30ea\u30b8\u30ca\u30eb\u6587\u5b57\u5217\u60c5\u5831\u3068\u7ffb\u8a33\u6587\u5b57\u5217\u60c5\u5831\u304c\u4e00\u5bfe\u4e00\u3067\u540c\u3058\u6dfb\u5b57\u3092\u6301\u3064\u69d8\u306b\u4e26\u3079\u3089\u308c\u3066\u3044\u307e\u3059\u3002\n\u6587\u5b57\u5217 \u6587\u5b57\u5217\u60c5\u5831\u304b\u3089\u5f97\u3089\u308c\u305f\u30aa\u30d5\u30bb\u30c3\u30c8\u304c\u793a\u3059\u4f4d\u7f6e\u304b\u3089\u3001\u5f97\u3089\u308c\u305f\u9577\u3055\u306e\u90e8\u5206\u306b\u6587\u5b57\u5217\u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u30aa\u30ea\u30b8\u30ca\u30eb\u306e\u6587\u5b57\u5217\u60c5\u5831\u3068\u7ffb\u8a33\u6587\u5b57\u5217\u60c5\u5831\u3092\u540c\u3058\u6dfb\u5b57\u3067\u53d6\u308a\u51fa\u3059\u3053\u3068\u3067\u3001\u5bfe\u306b\u306a\u3063\u305f\u6587\u5b57\u5217\u3092\u53d6\u308a\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u3053\u3053\u3067\u300c\u8a00\u8a9e\u300d\u306f\u81ea\u7136\u8a00\u8a9e\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u672c\u8a18\u4e8b\u4e2d\u3067\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306f\u300c\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u300d\u3068\u8868\u8a18\u3057\u307e\u3059\u3002&#160;&#x21a9;&#xfe0e;\n\u5c02\u7528\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u308f\u305a\u3001\u81ea\u529b\u3067\u51e6\u7406\u3059\u308b\u5834\u5408\u3002&#160;&#x21a9;&#xfe0e;\n2017\u5e7411\u67086\u65e5\u73fe\u5728\u3002&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/gnu_mo_format\/","summary":"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":"GNU MO\u30d5\u30a1\u30a4\u30eb\u306e\u69cb\u9020"},{"content":"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.travis.yml\u306b\u8a18\u8ff0\u3059\u308b\u3053\u3068\u3067docker\u3092\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u3067\u304d\u307e\u3059\u3002\n1 2 3 4 sudo: required service: - docker \u304c\u3001\u305d\u306e\u969b\u306edocker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f17.03.11\u3068\u3001\u6700\u65b0\u7248\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u7279\u306b\u554f\u984c\u306a\u306e\u304c\u3001multi-stage build \u306f17.05\u304b\u3089\u306e\u6a5f\u80fd\u3067\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002 Travis 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\n\u89e3\u6c7a\u65b9\u6cd5 Travis-CI\u3067Docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4e0a\u3052\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u8ff0\u3092.travis.yml\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 sudo: required service: - docker before_install: - sudo apt-get update - sudo apt-get install -y -o Dpkg::Options::=&#34;--force-confnew&#34; docker-ce docker\u306e\u518d\u8d77\u52d5\u306a\u3069\u306e\u51e6\u7406\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002 \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\n2017\u5e7410\u670818\u65e5\u73fe\u5728&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/travis-ci-update-docker\/","summary":"<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":"Travis CI\u3067docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6700\u65b0\u306b\u3059\u308b"},{"content":"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 \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 \u57fa\u672c\u7684\u306a\u624b\u9806\u306f\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u6cbf\u3063\u3066\u3044\u307e\u3059\u3002\nVM\u3092\u7528\u610f\u3059\u308b \u307e\u305a\u3001VM\u3092\u4e00\u53f0\u7528\u610f\u3057\u307e\u3059\u3002\u52ff\u8ad6\u7269\u7406\u30de\u30b7\u30f3\u3067\u3082\u304b\u307e\u3044\u307e\u305b\u3093\u3002 \u8981\u4ef6\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n2 Network Interfaces 8GB or more RAM 40GB or more free Disk Space \u4eca\u56de\u306fvmware vSphere\u4e0a\u306bCentOS 7\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u3092\u4f5c\u88fd\u3057\u307e\u3057\u305f\u3002 2\u3064\u306eNetwork Interface\u306e\u3046\u3061\u3001\u7247\u65b9\u306fIP\u3092\u6301\u3063\u3066\u3044\u308b\u72b6\u614b(Activated)\u3001\u7247\u65b9\u306fIP\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u72b6\u614b(Deactivated)\u306b\u3057\u307e\u3059\u3002 CentOS 7\u306e\u5834\u5408\u3001nmtui\u7b49\u3092\u4f7f\u7528\u3059\u308b\u3068\u7c21\u5358\u306bActivate\/Deactivate\u3067\u304d\u307e\u3059\u3002\n\u4eca\u56de\u306fActivated\u3055\u308c\u3066\u3044\u308bNetwork Interface\u306e\u540d\u524d\u3092ens160\u3067IP\u3092192.168.1.10\/24\u3001Deactivate\u3055\u308c\u3066\u3044\u308b\u65b9\u306e\u540d\u524d\u3092ens192\u3068\u3057\u307e\u3059\u3002\n\u4e88\u3081\u3001ip a\u30b3\u30de\u30f3\u30c9\u3067\u3069\u3061\u3089\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3082\u72b6\u614b\u304cUP\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304a\u304d\u307e\u3059\u3002 (DOWN\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\u306fip link set ens192 up\u306a\u3069\u3068\u3057\u3066UP\u306b\u3059\u308b)\n\u307e\u305f\u3001\u4eca\u56de\u306f\u7c21\u5358\u306e\u305f\u3081\u3001firewalld\u3092\u7121\u52b9\u5316\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n$ sudo systemctl stop firewalld $ sudo systemctl disable firewalld \u4f9d\u5b58\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u7b49\u3092\u5c0e\u5165\u3059\u308b Kolla-Ansible\u306e\u5b9f\u884c\u306b\u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u30fb\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5c0e\u5165\u3057\u3066\u3044\u304d\u307e\u3059\u3002\npip\u306e\u5c0e\u5165 Ansible \u306fPython\u3067\u66f8\u304b\u308c\u305f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059\u3002Ansible\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u305f\u3081\u3001Python\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u7ba1\u7406\u30c4\u30fc\u30eb\u3067\u3042\u308bpip\u3092\u5c0e\u5165\u3057\u307e\u3059\u3002 CentOS\u306e\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u5c0e\u5165\u53ef\u80fd\u3067\u3059(\u8af8\u822c\u306e\u4e8b\u60c5\u306b\u3088\u308a\u3001Python\u304c2\u7cfb\u3067\u3042\u308b\u3053\u3068\u306b\u306f\u76ee\u3092\u7791\u308a\u307e\u3059)\u3002\n# yum install epel-release # yum install python-pip # pip install -U pip # pip\u3092\u6700\u65b0\u7248\u306b\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9 \u307e\u305f\u3001pip\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\u3059\u308b\u306e\u306b\u5fc5\u8981\u306a\u3044\u304f\u3064\u304b\u306e\u4f9d\u5b58\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u5c0e\u5165\u3057\u3066\u304a\u304d\u307e\u3059\u3002\n# yum install python-devel libffi-devel gcc openssl-devel libselinux-python Ansible\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb Ansible\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 Kolla-Ansible\u3067Ocata\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u6700\u5c0f\u30d0\u30fc\u30b8\u30e7\u30f3\u306eAnsible\u306f2.0.0\u3067\u3042\u308a\u3001Kolla-ansible precheck\u3067\u767a\u751f\u3059\u308b\u30a8\u30e9\u30fc\u306e\u5bfe\u51e6 \u306b\u8a18\u8f09\u306e\u3042\u308b\u3088\u3046\u306b\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306eAnsible\u3067\u306f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3059\u3002 \u30a8\u30e9\u30fc\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u69d8\u306bAnsible\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\n# pip install ansible==2.2 \u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u306b\u3088\u308a\u3001Ansible 2.2\u7cfb\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002\nDocker\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb # curl -sSL https:\/\/get.docker.io | bash \u3092\u5b9f\u884c\u3057\u307e\u3059\u3002 \u5b9f\u884c\u5f8c\u3001\u6b63\u5e38\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u3067\u304d\u305f\u304b\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001\n# docker --version \u3092\u5b9f\u884c\u3057\u3066\u3001\u6700\u65b0\u306eDocker\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\ndocker\u306e\u8a2d\u5b9a \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n# mkdir -p \/etc\/systemd\/system\/docker.service.d # tee \/etc\/systemd\/system\/docker.service.d\/kolla.conf &lt;&lt;-&#39;EOF&#39; [Service] MountFlags=shared EOF # systemctl daemon-reload # systemctl restart docker docker python\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb python\u304b\u3089docker\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\n# pip install -U docker NTP\u306e\u5c0e\u5165 OpenStack\u306fRabbitMQ\u3068Ceph\u304c\u6b63\u5e38\u306b\u52d5\u4f5c\u3059\u308b\u305f\u3081\u306b\u3001\u6b63\u78ba\u306a\u6642\u9593\u306e\u540c\u671f\u304c\u5fc5\u8981\u3067\u3059\u3002 \u305d\u306e\u305f\u3081\u3001NTP\u5c0e\u5165\u3057\u307e\u3059\u3002\n# yum install ntp # systemctl enable ntpd.service # systemctl start ntpd.service libvirtd\u3092\u505c\u6b62\u3059\u308b libvirtd\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u505c\u6b62\u3057\u307e\u3059\u3002\n# systemctl stop libvirtd.service # systemctl disable libvirtd.service Kolla-Ansible\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b \u3088\u3046\u3084\u304fKolla-Ansible\u305d\u306e\u3082\u306e\u306e\u5c0e\u5165\u306b\u79fb\u308a\u307e\u3059\u3002 Kolla-Ansible\u306fpip\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 \u73fe\u6642\u70b91\u3067\u30015.0.0(Pike)\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u6b63\u5e38\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u306e\u3067\u30014.0.0(Ocata)\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3044\u307e\u3059\u3002\n# pip install kolla-ansible==4.0.0 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001\u30b3\u30f3\u30d5\u30a3\u30b0\u4f8b\u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u30b3\u30f3\u30d5\u30a3\u30b0\u3092\u7f6e\u304f\u3079\u304d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\ncp -r \/usr\/share\/kolla-ansible\/etc_examples\/kolla \/etc\/kolla\/ cp \/usr\/share\/kolla-ansible\/ansible\/inventory\/* . Kolla-Ansible\u306e\u8a2d\u5b9a\u3092\u884c\u3046 Kolla-Ansible\u306e\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002 \u304a\u597d\u307f\u306e\u30a8\u30c7\u30a3\u30bf\u3067\/etc\/kolla\/globals.yml\u3092\u958b\u304d\u3001\u6b21\u306e\u90e8\u5206\u3092\u7de8\u96c6\u3057\u307e\u3059\u3002\nkolla_internal_vip_address: \u5024\u3092192.168.1.10\u3068\u3059\u308b network_interface: \u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u5916\u3057\u3001\u5024\u3092ens160\u3068\u3059\u308b neutron_external_interface: \u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u5916\u3057\u3001\u5024\u3092ens192\u3068\u3059\u308b Kolla options\u306e\u3059\u3050\u4e0b\u306benable_haproxy: &quot;no&quot;\u3092\u8ffd\u8a18\u3059\u308b \u7de8\u96c6\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n# kolla-genpwd nova\u306e\u8a2d\u5b9a\u3092\u884c\u3046 \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30a2\u30af\u30bb\u30e9\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u4f7f\u7528\u3067\u304d\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n# egrep -c &#39;(vmx|svm)&#39; \/proc\/cpuinfo \u4e00\u822c\u306b\u3001\u591a\u91cd\u5316\u4eee\u60f3\u74b0\u5883\u3067\u306f0\u304c\u8fd4\u308b\u3053\u3068\u304c\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u3002 0\u304c\u8fd4\u3063\u3066\u304d\u305f\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067nova\u306e\u8a2d\u5b9a\u3092\u8ffd\u8a18\u3057\u307e\u3059\u3002\n# mkdir -p \/etc\/kolla\/config\/nova # cat &lt;&lt; EOF &gt; \/etc\/kolla\/config\/nova\/nova-compute.conf [libvirt] virt_type = qemu cpu_mode = none EOF Image\u3092Pull\u3059\u308b OpenStack\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30a4\u30e1\u30fc\u30b8\u3092Pull\u3057\u307e\u3059\u3002 Kolla-Ansible\u3067\u3053\u308c\u3089\u3082\u81ea\u52d5\u5316\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308c\u3070Pull\u3067\u304d\u307e\u3059\u3002\n# kolla-ansible pull -i all-in-one all-in-one\u306f\u30a4\u30f3\u30d9\u30f3\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3067\u3001\u30b3\u30f3\u30d5\u30a3\u30b0\u4f8b\u306e\u30b3\u30d4\u30fc\u6642\u306b\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\nKolla-Ansible\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b \u3044\u3088\u3044\u3088\u3001Kolla-Ansible\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u6642\u9593\u3067\u3059\u3002 \u307e\u305a\u306f\u6b63\u5e38\u306b\u8a2d\u5b9a\u3067\u304d\u3066\u3044\u308b\u304b\u3001\u30d7\u30ea\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3044\u307e\u3059\u3002\n# kolla-ansible prechecks -i all-in-one \u3053\u308c\u304c\u901a\u3063\u3066\u3082\u30c7\u30d7\u30ed\u30a4\u304c\u6210\u529f\u3059\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\u304c(\u60b2\u3057\u3044)\u3001\u3053\u308c\u304c\u901a\u3089\u306a\u3044\u3068\u78ba\u5b9f\u306b\u30c7\u30d7\u30ed\u30a4\u304c\u5931\u6557\u3057\u307e\u3059\u3002 \u30d7\u30ea\u30c1\u30a7\u30c3\u30af\u304c\u554f\u984c\u306a\u304f\u6210\u529f\u3057\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30c7\u30d7\u30ed\u30a4\u3092\u884c\u3044\u307e\u3059\uff01\n# kolla-ansible deploy -i all-in-one \u30c7\u30d7\u30ed\u30a4\u5f8c\u306e\u51e6\u7406\u3092\u884c\u3046 \u30c7\u30d7\u30ed\u30a4\u304c\u6210\u529f\u3057\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u5f8c\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002\n# kolla-ansible post-deploy \u3053\u306e\u30b3\u30de\u30f3\u30c9\u3067admin-openrc.sh\u304c\u751f\u6210\u3055\u308c\u308b\u30cf\u30ba\u3067\u3059\u3002 \u30c7\u30d7\u30ed\u30a4\u304c\u6210\u529f\u3057\u305f\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n# . \/etc\/kolla\/admin-openrc.sh # cd \/usr\/share\/kolla-ansible # .\/init-runonce \u30d1\u30d6\u30ea\u30c3\u30af\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a2d\u5b9a\u3092\u884c\u3046 \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u3001\u30d1\u30d6\u30ea\u30c3\u30af\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n# ip addr add 10.0.2.1\/24 dev br-ex # ip link set br-ex up # ip route add 10.0.2.0\/24 dev br-ex Dashboard\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b \u30c7\u30d7\u30ed\u30a4\u306f\u4ee5\u4e0a\u3067\u304a\u308f\u308a\u3067\u3059\u3002 Web\u304b\u3089\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002 \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30ed\u30b0\u30a4\u30f3\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n# env | grep OS_PASSWORD \u30d6\u30e9\u30a6\u30b6\u304b\u3089\u3001192.168.1.10\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3001admin\u30e6\u30fc\u30b6\u3001\u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u3067\u8868\u793a\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3059\u3002\n\u4ee5\u4e0a\u3067\u3001Kolla-Ansible\u3092\u4f7f\u7528\u3057\u305fOpenStack Ocata\u306e\u30c7\u30d7\u30ed\u30a4\u306f\u7d42\u4e86\u3067\u3059\uff01\n2017\u5e7410\u67084\u65e5\u73fe\u5728&#160;&#x21a9;&#xfe0e;\n","permalink":"https:\/\/blog.web-apps.tech\/kolla-ansible-ocata\/","summary":"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\u3067OpenStack Ocata\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b"},{"content":"OpenStack Kolla(Ocata)\u74b0\u5883\u306e\u69cb\u7bc9 \u3092\u53c2\u8003\u306bOpenStack Kolla\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u884c\u3063\u3066\u3044\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3057\u305f\u3002\nTASK [rabbitmq : fail] ************************************************************************************************************************** [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: &#39;{{ hostvars[item[&#39;item&#39;]][&#39;ansible_&#39; + hostvars[item[&#39;item&#39;]][&#39;api_interface&#39;]][&#39;ipv4&#39;][&#39;address&#39;] }}&#39; not in &#39;{{ item.stdout }}&#39; fatal: [localhost]: FAILED! =&gt; {&#34;failed&#34;: true, &#34;msg&#34;: &#34;The conditional check &#39;&#39;{{ hostvars[item[&#39;item&#39;]][&#39;ansible_&#39; + hostvars[item[&#39;item&#39;]][&#39;api_interface&#39;]][&#39;ipv4&#39;][&#39;address&#39;] }}&#39; not in &#39;{{ item.stdout }}&#39;&#39; failed. The error was: Invalid conditional detected: EOL while scanning string literal (&lt;unknown&gt;, line 1)\\n\\nThe error appears to have been in &#39;\/usr\/share\/kolla-ansible\/ansible\/roles\/rabbitmq\/tasks\/precheck.yml&#39;: line 54, column 3, but may\\nbe elsewhere in the file depending on the exact syntax problem.\\n\\nThe offending line appears to be:\\n\\n\\n- fail: msg=\\&#34;Hostname has to resolve to IP address of api_interface\\&#34;\\n ^ here\\n&#34;} ansible\/ansible\u306eissue #22397 \u3092\u898b\u308b\u3068\u3001Ansible 2.3\u304b\u3089when\u6587\u3067\u306fJinja2\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30c7\u30ea\u30df\u30bf\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u975e\u63a8\u5968\u3068\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002\n\u5bfe\u75c7\u7642\u6cd5\u3067\u3059\u304c\u3001pip install ansible==2.2\u3068\u3057\u3066\u5c11\u3057\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306eansible\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308c\u3070\u30a8\u30e9\u30fc\u306f\u51fa\u306a\u304f\u306a\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/kolla-ansible-precheck-error\/","summary":"\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":"Kolla-ansible precheck\u3067\u767a\u751f\u3059\u308b\u30a8\u30e9\u30fc\u306e\u5bfe\u51e6"},{"content":"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\u306eSelf-referential functions and the design of options \u3001Dave Cheney\u6c0f\u306eFunctional options for frendly APIS \u3067\u3059\u3002\nGo\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 \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\nDave Cheney\u6c0f\u306e\u8a18\u4e8b\u306b\u3082\u3042\u308b\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\u4f8b 1 2 3 4 5 6 7 8 9 10 11 12 13 type Server struct { listener net.Listener } func NewServer(addr string) (*Server, error) { l, err := net.Listen(&#34;tcp&#34;, addr) if err != nil { return nil, err } srv := Server{listener: l} go srv.run return &amp;srv, nil } \u3088\u304f\u3042\u308b\u69cb\u9020\u4f53\u306e\u521d\u671f\u5316\u95a2\u6570\u3067\u3059\u3002 \u521d\u671f\u5316\u304c\u4e0a\u624b\u304f\u3044\u3051\u3070\u3001\u30dd\u30a4\u30f3\u30bf\u3068nil\u3092\u3001\u4e0a\u624b\u304f\u3044\u304b\u306a\u3051\u308c\u3070nil\u3068\u30a8\u30e9\u30fc\u3092\u8fd4\u3059\u5f62\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n\u3053\u3053\u3067\u3001Server\u306b\u306a\u306b\u304c\u3057\u304b\u306e\u62e1\u5f35\u3092\u52a0\u3048\u308b\u3053\u3068\u3092\u8003\u3048\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3084\u3001TLS\u5bfe\u5fdc\u7b49\u3067\u3059\u3002 \u3057\u304b\u3057\u3053\u308c\u3089\u306f\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u7121\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002 Go\u8a00\u8a9e\u3092\u7528\u3044\u305f\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3059\u3050\u306b\u601d\u3044\u3064\u304f\u306e\u306f\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u7d44\u307f\u5408\u308f\u305b\u306e\u6570\u3060\u3051\u521d\u671f\u5316\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u3067\u3059\u306d\u3002(\u305f\u3068\u3048\u3070\u3001With...\u3068\u3044\u3046\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u3066)\n\u3057\u304b\u3057\u3053\u308c\u306f\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6570\u304c\u5897\u3048\u308b\u3068\u3001\u4f5c\u6210\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u95a2\u6570\u306e\u6570\u304c\u81a8\u5927\u306b\u306a\u3063\u3066\u3044\u304d\u307e\u3059\u3002 \u4fdd\u5b88\u306e\u89b3\u70b9\u304b\u3089\u898b\u3066\u3082\u3053\u308c\u306f\u4f59\u308a\u3046\u308c\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002\nConfig\u69cb\u9020\u4f53\u3092\u7528\u3044\u308b \u305d\u3053\u3067\u3088\u304f\u7528\u3044\u3089\u308c\u308b\u306e\u304c\u3001\u8a2d\u5b9a\u3092\u4fdd\u6301\u3059\u308b\u69cb\u9020\u4f53\u3092\u7528\u3044\u308b\u65b9\u6cd5\u3067\u3059\u3002 \u4f8b\u3068\u3057\u3066\u306f\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 type Config struct { Timeout time.Duration Cert *tls.Cert } func NewServer(addr string, config Config) { \/\/ ... } \u3053\u308c\u3082\u826f\u304f\u7528\u3044\u3089\u308c\u3066\u3044\u308b\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002 \u3057\u304b\u3057\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e00\u5207\u4e0e\u3048\u306a\u3044\u5834\u5408\u306e\u30d1\u30bf\u30fc\u30f3\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 4 func main() { srv, err := NewServer(&#34;localhost&#34;, Config{}) \/\/ ... } \u3080\u3080\u30fb\u30fb\u30fb\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e0e\u3048\u308b\u5fc5\u8981\u304c\u7121\u3044\u3068\u304d\u3067\u3082Config\u69cb\u9020\u4f53\u3092\u4e0e\u3048\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u306e\u304c\u4f59\u308a\u7f8e\u3057\u304f\u306a\u3044\u3067\u3059\u306d\u3002 \u52ff\u8ad6\u3001\u5f15\u6570\u3092Config\u306e\u30dd\u30a4\u30f3\u30bf\u306b\u3059\u308b\u3068\u3044\u3046\u9078\u629e\u80a2\u3082\u3042\u308a\u307e\u3059\u3002\n1 2 3 func NewServer(addr string, config *Config) { \/\/ ... } \u3053\u306e\u5834\u5408\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e0e\u3048\u308b\u5fc5\u8981\u304c\u7121\u3044\u5834\u5408\u306fnil\u3092\u4e0e\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u3057\u304b\u3057\u6b21\u306e\u69d8\u306a\u5834\u5408\u306e\u52d5\u4f5c\u306f\u3069\u3046\u306a\u308b\u3067\u3057\u3087\u3046\u304b\u3002\n1 2 3 4 5 6 7 8 func main() { config := Config{Port: 9000} srv, err := NewServer(&#34;localhost&#34;, &amp;config) \/\/ error handling config.Port = 9001 \/\/ ... } \u52ff\u8ad6\u3001\u3053\u306e\u5834\u5408\u306e\u52d5\u4f5c\u306f\u5b9f\u88c5\u6b21\u7b2c\u3067\u3059\u3002 \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306a\u3069\u3067\u8aac\u660e\u6587\u3092\u8aad\u3080\u304b\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u8aad\u307f\u89e3\u304b\u306a\u3051\u308c\u3070\u3001\u5b9f\u969b\u306b\u3069\u306e\u3088\u3046\u306b\u52d5\u4f5c\u3059\u308b\u306e\u304b\u304c\u308f\u304b\u308a\u307e\u305b\u3093\u3002 \u3067\u3059\u304b\u3089\u3001\u30dd\u30a4\u30f3\u30bf\u3092\u4e0e\u3048\u308b\u3068\u3044\u3046\u9078\u629e\u80a2\u306f\u4fdd\u5b88\u306e\u89b3\u70b9\u304b\u3089\u306f\u611a\u7b56\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002\n\u53ef\u5909\u9577\u5f15\u6570\u3092\u5c0e\u5165\u3059\u308b Go\u8a00\u8a9e\u306b\u306f\u53ef\u5909\u9577\u5f15\u6570\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3092\u7528\u3044\u308c\u30700\u500b(=\u5f15\u6570\u3092\u4e0e\u3048\u306a\u3044)\u304c\u5b9f\u73fe\u3067\u304d\u308b\u3068\u8003\u3048\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n1 2 3 func NewServer(addr string, config ...Config) (*Server, error) { \/\/ ... } \u78ba\u304b\u306b\u3053\u306e\u65b9\u6cd5\u306a\u3089\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e0e\u3048\u308b\u3053\u3068\u3082\u3001\u4e0e\u3048\u306a\u3044\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002 \u306a\u308b\u307b\u3069\u3001\u7d20\u6674\u3089\u3057\u3044\u3088\u3046\u306b\u601d\u3048\u307e\u3059\u3002\n\u3057\u304b\u3057\u307e\u3060\u554f\u984c\u306f\u3042\u308a\u307e\u3059\u3002 \u53ef\u5909\u9577\u5f15\u6570\u306f0 or 1\u500b\u306e\u5f15\u6570\u3092\u3068\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3067\u3059\u3002 Config\u3092\u8907\u6570\u4e0e\u3048\u3089\u308c\u305f\u5834\u5408\u306e\u6319\u52d5\u306f\u3069\u3046\u306a\u308b\u306e\u3067\u3057\u3087\u3046\u304b\u3002 \u3053\u308c\u306f\u5927\u304d\u306a\u554f\u984c\u3067\u3057\u3087\u3046\u3002\nFunctional Options \u6268\u3001\u3053\u3053\u307e\u3067\u898b\u3066\u304d\u305f\u3001\u300c\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u3092\u3069\u3046\u3059\u308b\u304b\u300d\u3092\u89e3\u6c7a\u3059\u308b\u306e\u304cFunctional Option Pattern\u3068\u547c\u3070\u308c\u308b\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002\nGo\u8a00\u8a9e\u306e\u95a2\u6570\u306f\u7b2c\u4e00\u7d1a\u95a2\u6570 \u3067\u3059\u3002 \u3053\u308c\u3092\u5229\u7528\u3057\u3066\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u30dd\u30a4\u30f3\u30bf\u3092\u5f15\u6570\u306b\u3068\u308b\u95a2\u6570\u3068\u3057\u307e\u3059\u3002\n\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002 \u5148\u307b\u3069\u306e\u521d\u671f\u5316\u95a2\u6570\u3092\u4ee5\u4e0b\u306e\u69d8\u306b\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 func NewServer(addr string, options ...func(*Server)) (*Server, error) { l, err := net.Listen(&#34;tcp&#34;, addr) if err != nil { return nil, err } srv := Server{listener: l} \/\/ \u3053\u3053\u307e\u3067\u306f\u540c\u3058 for _, option := range options { option(&amp;srv) } return &amp;srv, nil } \u5b9f\u969b\u306b\u4f7f\u7528\u3059\u308b\u969b\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u3057\u307e\u3059\u3002Option\u95a2\u6570\u3092\u8fd4\u3059\u3088\u3046\u306a\u95a2\u6570\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 func Timeout(t int) func(*Server) { return func(s *Server) { s.Timeout = time.Duration(t) * time.Second } } func main() { srv, err := NewServer(&#34;localhost&#34;, Timeout(30)) } \u3069\u3046\u3067\u3057\u3087\u3046\u304b\u3002 \u3053\u306e\u5f62\u306b\u3059\u308b\u3053\u3068\u3067\u3001\n\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u306a\u3044\u5834\u5408\u306e\u5bfe\u5fdc(\u53ef\u5909\u9577\u5f15\u6570\u306e\u305f\u3081) \u7d44\u307f\u5408\u308f\u305b\u306e\u81ea\u7531(\u9806\u756a\u3082\u81ea\u7531) \u62e1\u5f35\u6027(\u95a2\u6570\u306e\u8ffd\u52a0\u3067\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u8ffd\u52a0\u3067\u304d\u308b) \u81ea\u5df1\u8aac\u660e\u6027(\u95a2\u6570\u540d\u3067\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u660e\u793a) \u5b89\u5168\u6027(\u30dd\u30a4\u30f3\u30bf\u3058\u3083\u306a\u3044\u306e\u3067) nil\u3084\u7a7a\u5024\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u306a\u3044 \u3068\u3001\u591a\u304f\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3067\u304d\u307e\u3059\u3002\n\u95a2\u6570\u3092\u7b2c\u4e00\u7d1a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u6271\u3046\u306e\u306f\u6163\u308c\u3082\u5fc5\u8981\u3067\u3059\u304c\u3001\u899a\u3048\u3066\u304a\u3044\u3066\u640d\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/go-functional-option-pattern\/","summary":"<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":"Functional Option Pattern"},{"content":"tl;dr \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 Bolt\u306eGet\u304c\u3081\u3061\u3083\u3081\u3061\u3083\u901f\u3044 go-redis\u3088\u308a\u306fredigo\u306e\u65b9\u304c\u901f\u3044 Bolt\u306e\u30bb\u30c3\u30c8\u304c\u30e1\u30e2\u30ea\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3059\u3054\u304f\u591a\u3044 result 1 2 3 4 5 6 7 8 9 $ go test -bench . BenchmarkRedisSet-4 10000\t246527 ns\/op\t249 B\/op\t9 allocs\/op BenchmarkRedisGet-4 5000\t231569 ns\/op\t225 B\/op\t9 allocs\/op BenchmarkRedigoSet-4 5000\t204545 ns\/op\t70 B\/op\t4 allocs\/op BenchmarkRedigoGet-4 5000\t209392 ns\/op\t80 B\/op\t6 allocs\/op BenchmarkBoltSet-4 10000\t166142 ns\/op\t34287 B\/op\t57 allocs\/op BenchmarkBoltGet-4 1000000\t1140 ns\/op\t488 B\/op\t8 allocs\/op PASS ok practices\/redis-bolt-benchmark\t8.705s source 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 package rbbench_test import ( &#34;testing&#34; &#34;github.com\/boltdb\/bolt&#34; redigo &#34;github.com\/garyburd\/redigo\/redis&#34; redis &#34;github.com\/go-redis\/redis&#34; ) var redisOpts = &amp;redis.Options{ Addr: &#34;localhost:6379&#34;, Password: &#34;&#34;, DB: 0, } func BenchmarkRedisSet(b *testing.B) { client := redis.NewClient(redisOpts) defer client.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { client.Set(&#34;key&#34;+string(i), &#34;value&#34;, 0).Err() } } func BenchmarkRedisGet(b *testing.B) { client := redis.NewClient(redisOpts) defer client.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { client.Get(&#34;key&#34; + string(i)).Val() } } func BenchmarkRedigoSet(b *testing.B) { conn, _ := redigo.Dial(&#34;tcp&#34;, &#34;localhost:6379&#34;) defer conn.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { conn.Do(&#34;SET&#34;, &#34;key&#34;+string(i), &#34;value&#34;) } } func BenchmarkRedigoGet(b *testing.B) { conn, _ := redigo.Dial(&#34;tcp&#34;, &#34;localhost:6379&#34;) defer conn.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { redigo.String(conn.Do(&#34;GET&#34;, &#34;key&#34;+string(i))) } } func BenchmarkBoltSet(b *testing.B) { db, _ := bolt.Open(&#34;bolt.db&#34;, 0600, nil) defer db.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { db.Update(func(tx *bolt.Tx) error { b, _ := tx.CreateBucketIfNotExists([]byte(&#34;bucket&#34;)) b.Put([]byte(&#34;key&#34;+string(i)), []byte(&#34;value&#34;)) return nil }) } } func BenchmarkBoltGet(b *testing.B) { db, _ := bolt.Open(&#34;bolt.db&#34;, 0600, nil) defer db.Close() b.ResetTimer() for i := 0; i &lt; b.N; i++ { db.View(func(tx *bolt.Tx) error { _ = string(tx.Bucket([]byte(&#34;bucket&#34;)).Get([]byte(&#34;key&#34; + string(i)))) return nil }) } } ","permalink":"https:\/\/blog.web-apps.tech\/go-redis-redigo-bolt-benchmark\/","summary":"<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    \t   10000\t    <span class=\"m\">246527<\/span> ns\/op\t     <span class=\"m\">249<\/span> B\/op\t       <span class=\"m\">9<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedisGet-4    \t    5000\t    <span class=\"m\">231569<\/span> ns\/op\t     <span class=\"m\">225<\/span> B\/op\t       <span class=\"m\">9<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedigoSet-4   \t    5000\t    <span class=\"m\">204545<\/span> ns\/op\t      <span class=\"m\">70<\/span> B\/op\t       <span class=\"m\">4<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkRedigoGet-4   \t    5000\t    <span class=\"m\">209392<\/span> ns\/op\t      <span class=\"m\">80<\/span> B\/op\t       <span class=\"m\">6<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBoltSet-4     \t   10000\t    <span class=\"m\">166142<\/span> ns\/op\t   <span class=\"m\">34287<\/span> B\/op\t      <span class=\"m\">57<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkBoltGet-4     \t 1000000\t      <span class=\"m\">1140<\/span> ns\/op\t     <span class=\"m\">488<\/span> B\/op\t       <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  \tpractices\/redis-bolt-benchmark\t8.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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t\t\t<\/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\">\t\t\t<\/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\">\t\t\t<\/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\">\t\t<\/span><span class=\"p\">})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t\t\t<\/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\">\t\t\t<\/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\">\t\t<\/span><span class=\"p\">})<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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":"go-redis, redigo, bolt\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u53d6\u3063\u3066\u307f\u305f"},{"content":"\u7686\u69d8\u306eWeb\u30b5\u30fc\u30d0\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u69cb\u6210\u306f\u3069\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304b\uff1f \u4eee\u60f3\u30de\u30b7\u30f3\u3092\u591a\u7528\u3059\u308b\u73fe\u5728\u3001\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\/\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u3092\u4f7f\u7528\u3057\u3066\u3044\u306a\u3044\u69cb\u6210\u306f\u305d\u3046\u591a\u304f\u306f\u4ea1\u3044\u306e\u3067\u306f\u306a\u3044\u306e\u3067\u3057\u3087\u3046\u304b\u3002 \u305d\u306e\u5834\u5408\u3001\u4e00\u756a\u6700\u521d\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u308b\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\/\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u306fHTTPS\u3067\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u306e\u901a\u4fe1\u306fHTTP\u3068\u3044\u3046\u69cb\u6210\u3082\u305d\u3046\u73cd\u3057\u304f\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u4eca\u56de\u3001Rancher Server\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u69cb\u6210\u306f\u4e0b\u56f3\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002 \u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u5f79\u306enginx\u304cHTTPS\u3067\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u307e\u3059\u3002 \u8a3c\u660e\u66f8\u306fLet&rsquo;s encrypt\u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001\u3053\u3053\u3067HTTPS\u3092\u89e3\u304d\u307e\u3059\u3002\n\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u306f\u89e3\u3044\u305f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u305d\u306e\u307e\u307e\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306b\u6295\u3052\u307e\u3059\u3002\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u304c\u30ea\u30af\u30a8\u30b9\u30c8URI\u306b\u5f93\u3044\u3001\u3055\u3089\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d3\u30b9\u306e\u30b5\u30fc\u30d0\u3078\u3068\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\u6268\u3001Rancher\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u306b\u3092\u898b\u308b\u3068\u3001HTTPS\u3067\u901a\u4fe1\u3092\u884c\u3046\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u5834\u5408\u3001nginx\u7528\u8a2d\u5b9a\u306e\u30b5\u30f3\u30d7\u30eb\u3068\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5185\u5bb9\u304c\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 upstream rancher { server rancher-server:8080; } map $http_upgrade $connection_upgrade { default Upgrade; &#39;&#39; close; } server { listen 443 ssl spdy; server_name &lt;server&gt;; ssl_certificate &lt;cert_file&gt;; ssl_certificate_key &lt;key_file&gt;; location \/ { proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http:\/\/rancher; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; # This allows the ability for the execute shell window to remain open for up to 15 minutes. Without this parameter, the default is 1 minute and will automatically close. proxy_read_timeout 900s; } } server { listen 80; server_name &lt;server&gt;; return 301 https:\/\/$server_name$request_uri; } \u4eca\u56de\u3053\u308c\u3092\u53c2\u8003\u306bnginx\u306e\u8a2d\u5b9a\u3092\u884c\u3063\u305f\u7d50\u679c\u3001\u30cf\u30de\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\n\u30dd\u30a4\u30f3\u30c8\u306f18\u884c\u76ee\u3001\u4ee5\u4e0b\u306e\u90e8\u5206\u3067\u3059\u3002\n1 proxy_set_header X-Forwarded-Proto $scheme; \u3053\u308c\u306f\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3092\u884c\u3046\u5834\u5408\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u30d8\u30c3\u30c0\u306e\u8a2d\u5b9a\u3067\u3001\u53d7\u3051\u305f\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u3092X-Forwarded-Proto\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3044\u3046\u5185\u5bb9\u3067\u3059\u3002 \u3048\u3047\u3001\u898b\u305f\u307e\u307e\u3067\u3059\u306d\u3002\n\u4eca\u56de\u306e\u69cb\u6210\u306e\u5834\u5408\u3001\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u306fHTTPS\u3092\u3001\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306fHTTP\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002 \u3064\u307e\u308a\u3001rancher\u304c\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u53d6\u3063\u305f\u6642\u70b9\u3067\u3001X-Forwarded-Proto\u306fHTTP\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u308f\u3051\u3067\u3059\u3002\nRancher Server\u306f\u3001X-Forwarded-Proto\u3092\u898b\u3066\u30ea\u30f3\u30af\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u6c7a\u5b9a\u3057\u3066\u3044\u308b\u69d8\u3067\u3001\u3053\u306e\u5834\u5408Rancher\u306eUI\u306e\u30ea\u30f3\u30af\u304c\u3059\u3079\u3066HTTP\u3067\u4f5c\u6210\u3055\u308c\u308b\u3053\u3068\u3068\u306a\u308a\u307e\u3059\u3002 \u30e6\u30fc\u30b6\u306fHTTPS\u3067\u30a2\u30af\u30bb\u30b9\u3092\u3057\u3066\u3044\u307e\u3059\u304b\u3089\u3001\u30d6\u30e9\u30a6\u30b6\u306f\u6df7\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u30b3\u30f3\u30c6\u30f3\u30c4\u3068\u3057\u3066\u30d6\u30ed\u30c3\u30af \u3057\u307e\u3059\u3002 \u3053\u308c\u306b\u3088\u308a\u3001Rancher\u306eUI\u306f\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u306a\u304f\u306a\u308a\u3001\u6700\u521d\u306b\u8868\u793a\u3055\u308c\u308b\u753b\u9762\u3068\u30a8\u30e9\u30fc\u753b\u9762\u4ee5\u5916\u306b\u9077\u79fb\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002\n\u3064\u307e\u308a\u3001\u30db\u30b9\u30c8\u306e\u8ffd\u52a0\u3082\u3001\u74b0\u5883\u306e\u8ffd\u52a0\u3082\u3001\u3082\u3061\u308d\u3093\u30ab\u30bf\u30ed\u30b0\u304b\u3089\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8ffd\u52a0\u3082\u3067\u304d\u307e\u305b\u3093\u3002 \u4f55\u3082\u3067\u304d\u306a\u3044\u306e\u3067\u3059\u3002\n\u3053\u308c\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u306f\u3001\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306e\u8a2d\u5b9a\u3067\u8a72\u5f53\u884c\u3092\u4ee5\u4e0b\u306e\u69d8\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n1 proxy_set_header X-Forwarded-Proto HTTPS; \u3042\u304f\u307e\u3067\u5e38\u6642SSL\u306e\u5834\u5408\u306b\u306e\u307f\u6709\u52b9\u3067\u3059\u304c\u3001\u3053\u308c\u3067Rancher\u306eUI\u3082\u6b63\u5e38\u306b\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/2proxied-rancher-server\/","summary":"\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":"\u4e8c\u91cd\u306b\u30d7\u30ed\u30ad\u30b7\u3055\u308c\u305fRancher Server\u306e\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u8a2d\u5b9a"},{"content":"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\n\u6700\u8fd1\u3067\u306f\u30a6\u30a7\u30d6\u30b5\u30fc\u30d3\u30b9\u306fHTTPS\u5316\u3057\u3066\u5f53\u7136\u3068\u3044\u3046\u6d41\u308c\u306b\u306a\u3063\u3066\u304d\u3066\u3044\u307e\u3059\u3002 \u3053\u306e\u30d6\u30ed\u30b0\u306f\u73fe\u5728Rancher\u4e0a\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u306eHTTP\/HTTPS\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u3068\u3057\u3066Rancher-HAProxy\u3092\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001HSTS\u3092\u8a2d\u5b9a\u3059\u308b\u306e\u306b\u96e3\u5100\u3057\u305f\u306e\u3067\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\nHSTS\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u3001HTTP\u30ec\u30b9\u30dd\u30f3\u30b9\u30d8\u30c3\u30c0\u306b\u4ee5\u4e0b\u3092\u542b\u3081\u307e\u3059\u3002\nStrict-Transport-Security:max-age=\u6709\u52b9\u671f\u9593\u79d2\u6570; max-age\u3067\u6307\u5b9a\u3055\u308c\u305f\u671f\u9593\u306e\u9593\u3001\u30d6\u30e9\u30a6\u30b6\u306f\u5fc5\u305aHTTPS\u3067\u901a\u4fe1\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n\u6268\u3001\u3053\u308c\u3092\u5b9f\u969b\u306bRancher-HAProxy\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u3001Rancher-HAProxy\u306e\u8a2d\u5b9a\u30da\u30fc\u30b8\u3067\u3001Custom haproxy.cfg\u306e\u6b04\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\nbackend 80 http-response set-header Strict-Transport-Security max-age=16000000; \u6539\u884c\u3082\u5fc5\u8981\u306a\u3088\u3046\u3067\u3059\u3002HSTS on HAProxy \u00b7 Issue #4443 \u00b7 rancher\/rancher \u00b7 GitHub \u306b\u306f\u6539\u884c\u306a\u3057\u3067\u66f8\u304b\u308c\u3066\u3044\u305f\u306e\u3067\u3001\u30cf\u30de\u308a\u307e\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/hsts-rancher-haproxy\/","summary":"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":"Rancher-HAProxy\u3067HSTS\u3092\u8a2d\u5b9a\u3059\u308b"},{"content":"tl;dr \u57fa\u672c\u7684\u306bio.Writer.Write()\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u9ad8\u901f\u306a\u3088\u3046\u3067\u3059\u3002\nresult 1 2 3 4 5 6 $ go test -bench . -benchmem BenchmarkWrite-4 30000000\t48.7 ns\/op\t16 B\/op\t1 allocs\/op BenchmarkWriteWithBytes-4 500000000\t3.95 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkFprintf-4 20000000\t91.5 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkWriteTo-4 100000000\t10.0 ns\/op\t0 B\/op\t0 allocs\/op BenchmarkWriteWithBufferBytes-4 300000000\t4.31 ns\/op\t0 B\/op\t0 allocs\/op source 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 package main_test import ( &#34;bytes&#34; &#34;fmt&#34; &#34;io&#34; &#34;net\/http&#34; &#34;testing&#34; ) var s = &#34;Hello, my world&#34; var bs = []byte(s) var buf = bytes.Buffer{} type NullWriter struct{} func (w *NullWriter) Write(b []byte) (int, error) { return len(b), nil } func BenchmarkWrite(b *testing.B) { var w io.Writer = &amp;NullWriter{} b.ResetTimer() for i := 0; i &lt; b.N; i++ { w.Write([]byte(s)) } } func BenchmarkWriteWithBytes(b *testing.B) { var w io.Writer = &amp;NullWriter{} b.ResetTimer() for i := 0; i &lt; b.N; i++ { w.Write(bs) } } func BenchmarkFprintf(b *testing.B) { var w io.Writer = &amp;NullWriter{} b.ResetTimer() for i := 0; i &lt; b.N; i++ { fmt.Fprintf(w, s) } } func BenchmarkWriteTo(b *testing.B) { var w io.Writer = &amp;NullWriter{} b.ResetTimer() for i := 0; i &lt; b.N; i++ { buf.WriteTo(w) } } func BenchmarkWriteWithBufferBytes(b *testing.B) { var w io.Writer = &amp;NullWriter{} b.ResetTimer() for i := 0; i &lt; b.N; i++ { w.Write(buf.Bytes()) } } ","permalink":"https:\/\/blog.web-apps.tech\/benchmark-iowriter-and-fprintf\/","summary":"<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                  \t30000000\t        48.7 ns\/op\t      <span class=\"m\">16<\/span> B\/op\t       <span class=\"m\">1<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteWithBytes-4         \t500000000\t         3.95 ns\/op\t       <span class=\"m\">0<\/span> B\/op\t       <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkFprintf-4                \t20000000\t        91.5 ns\/op\t       <span class=\"m\">0<\/span> B\/op\t       <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteTo-4                \t100000000\t        10.0 ns\/op\t       <span class=\"m\">0<\/span> B\/op\t       <span class=\"m\">0<\/span> allocs\/op\n<\/span><\/span><span class=\"line\"><span class=\"cl\">BenchmarkWriteWithBufferBytes-4   \t300000000\t         4.31 ns\/op\t       <span class=\"m\">0<\/span> B\/op\t       <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\">\t<\/span><span class=\"s\">&#34;bytes&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/span><span class=\"s\">&#34;fmt&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/span><span class=\"s\">&#34;io&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t<\/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":"io.Writer.Write()\u3068fmt.Fprintf()\u306eBenchmark"},{"content":"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 Goroutine\u3067\u30c7\u30fc\u30bf\u306e\u30ea\u30b9\u30c8\u3092\u4f5c\u308b\u3068\u3044\u3046\u51e6\u7406\u3092\u8003\u3048\u307e\u3059\u3002 \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 \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\n1 2 3 4 5 6 7 datalist := []string{} for i := 0; i &lt; 10; i++ { go func() { \/\/ something w\/datalist } } fmt.Println(&#34;next step&#34;) \u3053\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u3001sync.WaitGroup\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 sync.WaitGroup\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 \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\n1 2 3 4 5 6 7 8 9 10 11 12 datalist := []string{} wg := sync.WaitGroup{} for i := 0; i &lt; 10; i++ { wg.Add(1) \/\/ Goroutine\u306e\u6570\u3060\u3051\u30ab\u30a6\u30f3\u30bf\u3092\u5897\u3084\u3059 go func() { \/\/ something w\/datalist wg.Done() \/\/ \u30ab\u30a6\u30f3\u30bf\u3092\u6e1b\u3089\u3059 } } wg.Wait() \/\/ \u30ab\u30a6\u30f3\u30bf\u304c0\u306b\u306a\u308b\u307e\u3067\u30d6\u30ed\u30c3\u30af\u3059\u308b fmt.Println(&#34;next step&#34;) \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\n\u30dd\u30a4\u30f3\u30c8\u306f\u30ab\u30a6\u30f3\u30bf\u3092\u5897\u3084\u3059\u90e8\u5206\u3067\u3059\u3002 Goroutine\u5185\u3067\u306f\u306a\u304f\u3001\u5916\u5074\u3067Add(1)\u3057\u307e\u3059\u3002 Goroutine\u5185\u3067Add(1)\u3057\u3066\u3057\u307e\u3046\u3068\u3001wg.Wait()\u306b\u5230\u9054\u3057\u305f\u6642\u70b9\u3067Goroutine\u304c\u307e\u3060\u3069\u308c\u3082\u5b9f\u884c\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u6b21\u306e\u51e6\u7406\u306b\u9032\u3093\u3067\u3057\u307e\u3046\u53ef\u80fd\u6027\u304c\u3042\u308b\u306e\u3067\u3001\u5fc5\u305aGoroutine\u306e\u5916\u5074\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u809d\u8981\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/how-to-use-sync-waitgroup\/","summary":"<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":"sync.WaitGroup"},{"content":"\u5148\u65e52017\u5e748\u670824\u65e5\u306bGo 1.9\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\u3002 \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30da\u30fc\u30b8 \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u53ef\u80fd\u3067\u3059\u3002\n\u6700\u5927\u306e\u5909\u66f4\u70b9\u306fGo1.9rc1 is released! \u3067\u3082\u304a\u4f1d\u3048\u3057\u305f\u3088\u3046\u306b\u3001Type Alias \u3067\u3057\u3087\u3046\u3002 \u578b\u540d\u306b\u5bfe\u3057\u3066\u5225\u540d\u3092\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u6a5f\u80fd\u3067\u3059\u3002\n\u307e\u305f\u3001\u305d\u306e\u307b\u304b\u306b\u3082\u591a\u304f\u306e\u5909\u66f4\u304c\u52a0\u3048\u3089\u308c\u3066\u3044\u307e\u3059\u3002 \u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u306f\u3053\u3061\u3089 \u3067\u3059\u3002\n\u4ee5\u4e0b\u3067\u306f\u3001\u3044\u304f\u3064\u304b\u5909\u66f4\u70b9\u3092\u898b\u3066\u3044\u304d\u307e\u3059\u3002\nPorts 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\nPOWER8 IBM\u306ePOWER8\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002 GOARCH=ppc64\u307e\u305f\u306fGOARCH=ppc64le\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nFreeBSD 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) Go 1.10\u304b\u3089\u306fFreeBSD 10.3+\u3067\u52d5\u4f5c\u3059\u308b\u69d8\u306b\u306a\u308b\u4e88\u5b9a\u3067\u3059\u3002\nOpenBSD 6.0 OpenBSD 6.0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002 \u304b\u308f\u308a\u306b\u3001Go 1.9\u3067\u306fOpenBSD5.9\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002\nParallel Compilation \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 \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\u3067GO19CONCURRENTCOMPILATION\u30920\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\nVendor matching with .\/&hellip; \u3053\u308c\u307e\u3067\u3001.\/...\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\u3001go test\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\u969bglide nv\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 go1.9\u304b\u3089\u306f.\/...\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.\/vendor\/...\u3068\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\nMoved GOROOT Go 1.9\u304b\u3089\u3001GOROOT\u304c\u79fb\u52d5\u3068\u306a\u308a\u307e\u3057\u305f\u3002 \u8d77\u52d5\u3055\u308c\u305f\u30d1\u30b9\u304b\u3089\u81ea\u52d5\u3067GOROOT\u3092\u63a2\u7d22\u3057\u307e\u3059\u3002 \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\nCompiler Toolchain \u8907\u7d20\u6570\u306e\u5272\u308a\u7b97\u304cC99\u6e96\u62e0\u3068\u306a\u308a\u307e\u3057\u305f\u3002 Doc \u9577\u3044\u5f15\u6570\u30ea\u30b9\u30c8\u306f\u7701\u7565\u3055\u308c\u307e\u3059\u3002 \u3053\u308c\u306fgo doc\u3067\u751f\u6210\u3055\u308c\u308b\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u5411\u4e0a\u306e\u305f\u3081\u3067\u3059\u3002 \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\u3002go doc http.Client.Jar\u306a\u3069\u3067\u3069\u3046\u306a\u3063\u305f\u306e\u304b\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\nenv go env -json\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\nTest go test\u30b3\u30de\u30f3\u30c9\u306b-list\u30d5\u30e9\u30b0\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \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\nVet vet\u30b3\u30de\u30f3\u30c9\u304c\u3088\u308a\u5f37\u5316\u3055\u308c\u307e\u3057\u305f\u3002\nGC \u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304c\u3088\u308a\u52b9\u7387\u5316\u3055\u308c\u307e\u3057\u305f\u3002\n\u30e9\u30a4\u30d6\u30e9\u30ea Transparent Monotonic Times \u30e2\u30ce\u30c8\u30cb\u30c3\u30af\u6642\u9593\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002\nmath\/bits \u30d3\u30c3\u30c8\u64cd\u4f5c\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u3057\u3066math\/bits\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\nHelper method (\\*testings.T).Helper\u3068`(*testings.B).Helper\u3068\u3044\u3046\u4e8c\u3064\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \u30d5\u30a1\u30a4\u30eb\u3084\u884c\u756a\u53f7\u3092\u8868\u793a\u3059\u308b\u969b\u306b\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u95a2\u6570\u3092\u7528\u610f\u3067\u304d\u307e\u3059\u3002 \u3053\u308c\u306b\u3088\u308a\u4fbf\u5229\u306a\u30c6\u30b9\u30c8\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u3092\u66f8\u3044\u3066\u3001\u4e14\u3064\u30e6\u30fc\u30b6\u306b\u5bfe\u3057\u3066\u306f\u308f\u304b\u308a\u3084\u3059\u3044\u884c\u756a\u53f7\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea sync\u30d1\u30c3\u30b1\u30fc\u30b8\u306bMap\u3068\u3044\u3046\u69cb\u9020\u4f53\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u308b\u307b\u304b\u3001\u591a\u304f\u306e\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u5bfe\u3057\u3066\u7d30\u304b\u3044\u5909\u66f4\u304c\u52a0\u308f\u3063\u3066\u3044\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/go-1-9-is-released\/","summary":"<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":"Go 1.9 is released"},{"content":"docker-machine\u3068\u305d\u306e\u30e1\u30ea\u30c3\u30c8 docker-machine \u306f\u4eee\u60f3\u30de\u30b7\u30f3\u4e0a\u306bDocker Engine \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002 docker-machine\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 docker-machine\u3092\u4f7f\u7528\u3057\u3066Docker\u30db\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001\n1 $ docker-machine env &lt;MACHINE_NAME&gt; \u3067\u30b7\u30a7\u30eb\u8a55\u4fa1\u53ef\u80fd\u306aDocker\u63a5\u7d9a\u60c5\u5831\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u3001\n1 $ eval $(docker-machine env &lt;MACHINE_NAME&gt;) \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\ndocker-machine\u3067\u4f7f\u7528\u3059\u308bOS \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\u306fBoot2Docker \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\nRancherOS Boot2Docker\u306b\u985e\u4f3c\u3057\u305fOS\u3068\u3057\u3066\u3001RancherOS \u304c\u3042\u308a\u3001ros\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\nRancherOS\u306f\u4ee5\u524d\u3001\u4eee\u60f3\u30de\u30b7\u30f3\u74b0\u5883\u306e\u30b5\u30dd\u30fc\u30c8\u3068\u3057\u3066\u3001Vagrant \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\n\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\ndocker-machine\u3067RancherOS\u3092\u7acb\u3061\u3042\u3052\u308b \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \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\u3001docker-machine env\u304c\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\n\u30a8\u30e9\u30fc\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306b\u306f\u3001Rancher\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u4e0a\u306b\u3042\u308b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b9\u30af\u30ea\u30d7\u30c8 \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n1 $ 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 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001docker-machine ls\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\n1 2 3 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS ros - virtualbox Running tcp:\/\/192.168.99.100:2376 v17.06.0-ce Docker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b \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 Docker Engine\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\u306b\u306fRancherOS\u4e0a\u3067ros\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u306e\u3067\u3057\u305f\u3002\nRancherOS\u306fdocker-machine\u3067\u4f5c\u6210\u3055\u308c\u305fVM\u4e0a\u3067\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u7528\u3044\u3066\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3059\u3002\n1 $ docker-machine ssh &lt;RANCHEROS_VM_NAME&gt; Vagrant\u3092\u4f7f\u7528\u3057\u305f\u3053\u3068\u304c\u3042\u308b\u65b9\u306f\u306a\u3058\u307f\u3084\u3059\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002 SSH\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u305f\u3089\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u4f7f\u7528\u53ef\u80fd\u306aDocker Engine\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 $ sudo ros engine list disabled docker-1.10.3 disabled docker-1.11.2 disabled docker-1.12.6 disabled docker-1.13.1 disabled docker-17.03.1-ce disabled docker-17.04.0-ce disabled docker-17.05.0-ce current docker-17.06.0-ce disabled\u3068\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u304c\u4f7f\u7528\u53ef\u80fd\u306aDocker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3001current\u3068\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u304c\u73fe\u5728\u4f7f\u7528\u4e2d\u306eDocker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002 \u4eca\u56de\u306f\u30011.12.6\u306b\u5909\u66f4\u3057\u3066\u307f\u307e\u3057\u3087\u3046(Kubernetes \u304c\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059)) Docker\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\n1 $ sudo ros engine switch &lt;DOCKER_VERSION&gt; \u4eca\u56de\u306f1.12.6\u306b\u5909\u66f4\u3057\u305f\u3044\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u3057\u307e\u3059\u3002\n1 $ sudo ros engine switch docker-1.12.6 \u5b9f\u884c\u3057\u7d42\u308f\u308a\u3001docker version\u30b3\u30de\u30f3\u30c9\u3067\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5909\u66f4\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3055\u308c\u305f\u3089\u3001CTRL-d\u3067\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u3001docker-machine ls\u3067\u3082\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 2 3 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS ros - virtualbox Running tcp:\/\/192.168.99.100:2376 v1.12.6 docker-machine\u304b\u3089\u898b\u3048\u3066\u3044\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u304d\u3061\u3093\u3068\u5909\u66f4\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3057\u305f\u3002\n\u307e\u3068\u3081 docker-machine\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306b\u7c21\u5358\u306b\u8907\u6570\u306eDocker\u30db\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002docker-machine\u306b\u306f\u30c9\u30e9\u30a4\u30d0\u3092\u9078\u629e\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3082\u3042\u308a\u3001Virtualbox \u4ee5\u5916\u306b\u3082vmware fusion \u3001xhyve \/hyperkit \u306a\u3069\u306e\u30ed\u30fc\u30ab\u30eb\u4eee\u60f3\u30de\u30b7\u30f3\u74b0\u5883\u3001Amazon Web Service \u3084Microsoft Azure \u3001Google Cloud Platform \u306a\u3069\u306e\u30af\u30e9\u30a6\u30c9\u74b0\u5883\u306bDocker\u30db\u30b9\u30c8\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/docker-machine-with-rancheros\/","summary":"<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-machine\u3067RancherOS\u3092\u4f7f\u3046"},{"content":"Docker 17.05\u304b\u3089\u3001\u65b0\u6a5f\u80fd\u3068\u3057\u3066multi-stage builds \u3068\u3044\u3046\u3082\u306e\u304c\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002 \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\n\u5177\u4f53\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002 Go\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 \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\n\u307e\u305a\u306f\u30d3\u30eb\u30c9\u7528Dockerfile\u3067\u3059\n1 2 3 4 FROM golang:1.7.3 WORKDIR \/go\/src\/github.com\/someone\/foo\/ COPY app.go . RUN GOOS=linux go build -a -o app . \u3064\u304e\u306b\u3001\u5b9f\u884c\u7528\u306eDockerfile\u3067\u3059\u3002\n1 2 3 4 FROM busybox:latest WORKDIR \/root\/ COPY app . CMD [&#34;.\/app&#34;] \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 \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\nmulti-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\n1 2 3 4 5 6 7 8 9 FROM golang:1.7.3 AS build WORKDIR \/go\/src\/github.com\/someone\/foo\/ COPY app.go . RUN GOOS=linux go build -a -o app . FROM busybox:latest WORKDIR \/root\/ COPY --from=build \/go\/src\/github.com\/someone\/foo\/app . CMD [&#34;.\/app&#34;] \u4e00\u884c\u76ee\u306eAS build\u3001\u4e5d\u884c\u76ee\u306e--from=build\u304c\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002\nAS hoge\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30d3\u30eb\u30c9\u30b9\u30c6\u30fc\u30b8\u306b\u540d\u524d\u3092\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u52a0\u3048\u3066\u3001COPY\u306b--from=hoge\u306e\u5f62\u3067\u540d\u79f0\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u30d3\u30eb\u30c9\u30b9\u30c6\u30fc\u30b8\u304b\u3089\u76f4\u63a5\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3057\u3066\u304f\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u3053\u308c\u307e\u3067\u306f\u4e00\u65e6\u30db\u30b9\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u308a\u51fa\u3057\u3066\u304b\u3089\u518d\u5ea6\u30b3\u30d4\u30fc\u3059\u308b\u3068\u3044\u3046\u5f62\u3060\u3063\u305f\u306e\u3067\u3001\u304b\u306a\u308a\u624b\u9593\u304c\u7701\u3051\u308b\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002\ngolang\u30a4\u30e1\u30fc\u30b8\u306e\u4e2d\u3067\u3082\u5c0f\u3055\u3044\u3001golang:alpine\u3068busybox\u30a4\u30e1\u30fc\u30b8\u3067\u306f\u3001\u30a4\u30e1\u30fc\u30b8\u30b5\u30a4\u30ba\u304c200\u500d\u4ee5\u4e0a\u9055\u3046\u305f\u3081\u3001\u3053\u308c\u306f\u91cd\u8981\u306a\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3068\u8003\u3048\u3089\u308c\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/docker-multi-stage-builds\/","summary":"<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":"Docker multi-stage builds"},{"content":"Go1.9rc1\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff01 \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 (\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)\n\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\ntype alias Go1.9\u3067\u306fType Alias\u3068\u3044\u3046\u3082\u306e\u304c\u5c0e\u5165\u3055\u308c\u307e\u3059\u3002 \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 \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\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package main import ( &#34;fmt&#34; &#34;log&#34; ) type T1 struct { ID string Name string } type T2 = T1 func main() { t := T1{ ID: &#34;id&#34;, Name: &#34;Taro&#34;, } log.Println(&#34;call t1.Call()&#34;) fmt.Println(t.Call()) log.Println(&#34;call t2.Call2()&#34;) fmt.Println(t.Call2()) return 0 } func (t *T1) Call() string { return &#34;hello, &#34; + t.Name } func (t *T2) Call2() string { return &#34;hi, &#34; + t.ID } 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\n1 2 3 4 5 $ go1.9rc1 run main.go 2017\/07\/26 09:38:27 call t1.Call() hello, Taro 2017\/07\/26 09:38:27 call t1.Call2() hi, id t\u306fT1\u578b\u3067\u3042\u308a\u3001Call2()\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u306fT2\u578b\u3067\u3059\u304c\u3001T1\u578b\u3068T2\u578b\u306f\u540c\u3058\u3082\u306e\u3068\u898b\u306a\u3055\u308c\u308b\u306e\u3067\u3001T1\u578b\u3067\u3042\u308bt\u304b\u3089Call2()\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002(\u3084\u3084\u3053\u3057\u3044) \u3053\u306e\u3001Type Alias\u304c\u5c0e\u5165\u3055\u308c\u308b\u80cc\u666f\u306a\u3069\u3092\u8aac\u660e\u3057\u305f\u63d0\u6848\u306fproposa\/18130-type-alias.md \u306b\u3042\u308a\u307e\u3059\u3002\n\u3053\u3053\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u306a\u306e\u306f\u3001C\u8a00\u8a9e\u306etypedef\u306e\u3088\u3046\u306b\u3001\n1 type sp = *string \u306e\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059(\u5b9f\u969b\u306b\u306f\u4e0a\u306e\u30b3\u30fc\u30c9\u81ea\u4f53\u306f\u52d5\u4f5c\u3057\u307e\u3059\u304c\u3001\u3053\u306e\u578b\u540d\u3092\u4f7f\u304a\u3046\u3068\u3059\u308b\u3068\u4e0a\u624b\u304f\u3044\u304b\u306a\u3044\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3001\u4f7f\u7528\u3057\u306a\u3044\u65b9\u304c\u826f\u3044\u3067\u3057\u3087\u3046)\nVendor matching with .\/&hellip; \u4ee5\u524d\u3088\u308a\u3001.\/...\u3068\u3059\u308b\u3053\u3068\u3067\u3001\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u4e0b\u3092\u518d\u5e30\u7684\u306b\u63a2\u7d22\u3057\u3066\u30c6\u30b9\u30c8\u306a\u3069\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002 \u3057\u304b\u3057\u3053\u3053\u3067\u554f\u984c\u3068\u306a\u308b\u306e\u304c\u3001vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3001\u30c6\u30b9\u30c8\u306e\u969b\u306f\u3053\u3053\u3092\u907f\u3051\u305f\u3044\u3001\u3068\u3044\u3063\u305f\u8981\u671b\u3082\u591a\u304b\u3063\u305f\u3088\u3046\u3067\u3059\u3002 \u5b9f\u969b\u3001glide\u7b49\u3067\u306fglide nv\u30b3\u30de\u30f3\u30c9\u306a\u3069\u306b\u3088\u308a\u3001vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u5916\u3092\u5217\u6319\u3059\u308b\u3088\u3046\u306a\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002\n1.9\u304b\u3089\u306f\u3001.\/...\u306b\u306fvendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u542b\u307e\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\ngo test -list go test\u30b3\u30de\u30f3\u30c9\u306b-list\u30d5\u30e9\u30b0\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001\u5f15\u6570\u3068\u3057\u3066\u6b63\u898f\u8868\u73fe\u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3001\u30de\u30c3\u30c1\u3059\u308b\u30c6\u30b9\u30c8\u3084\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092(\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u305b\u305a\u306b)\u5217\u6319\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002\nTransparent Monotonic Time support time\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30e2\u30ce\u30c8\u30cb\u30c3\u30af\u6642\u523b\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\nNew bit manipulation package math\/bits\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u65b0\u305f\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 bit\u3092\u30ab\u30a6\u30f3\u30c8\u3057\u305f\u308a\u3001\u64cd\u4f5c\u3057\u305f\u308a\u3059\u308b\u95a2\u6570\u7fa4\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\nTest Helper Functions testing\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3001(*T).Helper()\u304a\u3088\u3073(*B).Helper()\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \u3053\u308c\u306f\u3001\u547c\u3073\u51fa\u3055\u308c\u305f\u95a2\u6570\u3092\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u3060\u3068\u30de\u30fc\u30af\u3057\u3001\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9\u3084\u305d\u306e\u884c\u6570\u3092\u51fa\u529b\u3059\u308b\u3088\u3046\u306a\u5834\u5408\u306b\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u3092\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u69d8\u306b\u306a\u308a\u307e\u3059\u3002\n\u305d\u306e\u307b\u304b\u3001\u6a19\u6e96\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5909\u66f4 crypto\/rand Linux\u74b0\u5883\u3067\u3001getrandom\u304c\u5341\u5206\u306a\u30e9\u30f3\u30c0\u30e0\u6027\u3092\u7528\u610f\u3067\u304d\u306a\u3044\u5834\u5408\u3001\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u3082\u3057\u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u5834\u5408\u3001go\u306f\/dev\/urandom\u304b\u3089\u4e71\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\ndatabase\/sql database\/sql\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u306f\u3001Tx.Stmt()\u304c\u547c\u3070\u308c\u305f\u969b\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u305fStmt\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308c\u3070\u305d\u308c\u3092\u5229\u7528\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u305d\u306e\u4ed6 \u5b9f\u969b\u306b\u306f\u3001\u3082\u3063\u3068\u591a\u304f\u306e\u5909\u66f4\u304c\u3042\u308a\u307e\u3059\u3002 \u8a73\u3057\u304f\u77e5\u308a\u305f\u3044\u304b\u305f\u306frelease note \u3092\u3054\u89a7\u306b\u306a\u3063\u3066\u4e0b\u3055\u3044\uff01\uff01\uff01\n","permalink":"https:\/\/blog.web-apps.tech\/go1-9rc1_is_released\/","summary":"<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\">\t<\/span><span class=\"s\">&#34;fmt&#34;<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t\t<\/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\">\t\t<\/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\">\t<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"w\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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\">\t<\/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":"Go1.9rc1 is released!"},{"content":"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 \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\n1 2 3 &lt;style type=&#34;less&#34;&gt; ... &lt;\/style&gt; \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) \u306a\u306e\u3067\u3001Sass\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n\u57fa\u672c\u65b9\u91dd \u57fa\u672c\u7684\u306b\u306f\u3001riot.parser.css.sass\u306bSass\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308b\u3060\u3051\u3067\u3059\u3002 riot.parser.css.sass\u306b\u306f\u3001\u5f15\u6570\u3068\u3057\u3066\u3001\n\u30bf\u30b0\u540d stylesheet \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 \u30e9\u30f3\u30bf\u30a4\u30e0\u30b3\u30f3\u30d1\u30a4\u30eb\u3067Sass(SCSS)\u3092\u4f7f\u7528\u3059\u308b \u30e9\u30f3\u30bf\u30a4\u30e0\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306fsass.js\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 &lt;head&gt;\u30bf\u30b0\u5185\u3067\u3001https:\/\/cdn.rawgit.com\/medialize\/sass.js\/v0.6.3\/dist\/sass.js\u3092\u8aad\u307f\u8fbc\u3080\u306a\u3069\u3059\u308c\u3070\u826f\u3044\u3067\u3057\u3087\u3046\u3002 \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\n1 2 3 4 riot.parsers.css.sass = function(tagName, stylesheet) { var result = Sass.compile(stylesheet); return result; }; gulp-riot\u30d7\u30ea\u30b3\u30f3\u30d1\u30a4\u30eb\u3067Sass(SCSS)\u3092\u4f7f\u7528\u3059\u308b glup-riot\u3067\u30d7\u30ea\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u969b\u306bSass\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001node-sass\u3092\u4f7f\u7528\u3057\u3066\u3001gulpfile.js\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 var gulp = require(&#39;gulp&#39;); var riot = require(&#39;gulp-riot&#39;); var sass = require(&#39;node-sass&#39;); gulp.task(&#39;riot&#39;, function() { gulp .src(&#39;app.tag&#39;) .pipe(riot({ parsers: { css: { sass: function(tagName, stylesheet) { var result = sass.renderSync({ data: stylesheet }); return result.css.toString(); }, }, }, })) .pipe(gulp.dest(&#39;.\/&#39;)) ; }); ","permalink":"https:\/\/blog.web-apps.tech\/sass_into_riotjs\/","summary":"<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":"Riot.js\u306bSass(SCSS)\u3092\u5c0e\u5165\u3059\u308b"},{"content":"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 \u81ea\u5206\u7528\u306e\u30e1\u30e2\u3068\u3057\u3066\u3002\nVM\u5185\u3067\u306e\u64cd\u4f5c VBoxGuestAdditions\u3092\u5c0e\u5165\u3059\u308b\u3002 \u4ee5\u4e0b\u306e\u30bd\u30fc\u30b9\u3092\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3059\u308b\u3002(\u3053\u3053\u3067\u306f$HOME\/ins.sh\u3068\u3057\u307e\u3059\u3002) \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 \u30ea\u30b9\u30c8\u306f\u3053\u3061\u3089 1 2 3 4 5 6 7 8 yum install -y wget kernel kernel-devel perl gcc wget http:\/\/download.virtualbox.org\/virtualbox\/5.1.18\/VBoxGuestAdditions_5.1.18.iso mkdir \/media\/VBoxGuestAdditions mount -o loop,ro VBoxGuestAdditions_5.1.18.iso \/media\/VBoxGuestAdditions sh \/media\/VBoxGuestAdditions\/VBoxLinuxAdditions.run rm VBoxGuestAdditions_5.1.18.iso umount \/media\/VBoxGuestAdditions rmdir \/media\/VBoxGuestAdditions \u4fdd\u5b58\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7ba1\u7406\u8005\u6a29\u9650\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002\n1 sudo bash ins.sh yum\u3092\u304d\u308c\u3044\u306b\u3059\u308b \u8efd\u91cf\u5316\u306e\u305f\u3081\u3001yum\u3092\u304d\u308c\u3044\u306b\u3057\u307e\u3059\u3002\n1 sudo yum clean all \u30bc\u30ed\u57cb\u3081\u3057\u3066\u6d88\u3059 \u5727\u7e2e\u52b9\u7387\u5411\u4e0a\u306e\u305f\u3081\u3001\u30bc\u30ed\u57cb\u3081\u3057\u3066\u6d88\u3057\u307e\u3059\u3002\n1 2 sudo dd if=\/dev\/zero of=\/EMPTY bs=1M sudo rm \/EMPTY \u30db\u30b9\u30c8\u304b\u3089\u306e\u64cd\u4f5c BOX\u3092\u4f5c\u6210\u3059\u308b 1 vagrant package ** box list\u306b\u767b\u9332\u3059\u308b\n1 vagrant box add package.box ","permalink":"https:\/\/blog.web-apps.tech\/create_vagrant_box_from_vagrant_vm\/","summary":"<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":"Vagrant\u3067\u8d77\u52d5\u3057\u305fVM\u304b\u3089BOX\u3092\u4f5c\u308b"},{"content":"\u4eca\u56de\u306f\u8a00\u308f\u308c\u307e\u3057\u305f\uff01\u300c\u30d6\u30ed\u30b0\u3092\u66f8\u304f\u307e\u3067\u304cYAPC!\u300d \u3068\u8a00\u3046\u3053\u3068\u3067\u3001YAPC::Kansai 2017 OSAKA (\u884c\u3063\u3066\u304d\u305f\u3068\u304d\u306e\u8a18\u4e8b\u306f\u3053\u3061\u3089 )\u306b\u5f15\u304d\u7d9a\u304d\u3001YAPC::Fukuoka 2017 HAKATA \u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002 YAPC\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#yapcjapan \u3067\u3057\u305f\u3002\n\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 \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\n\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 \u610f\u5916\u3068\u306a\u3093\u3068\u304b\u306a\u308b\u3082\u306e\u3067\u3059\u3002\nYAPC::Fukuoka 2017 HAKATA \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 \u4eca\u56de\u306fPerl6\u306e\u8a71\u306f\u4f59\u308a\u591a\u304f\u306a\u304b\u3063\u305f\u5370\u8c61\u3067\u3059\u3002\n\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\n\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 \u3042\u3001\u3044\u3064\u3082\u306e\u30b5\u30a4\u30ea\u30e5\u30fc\u30e0\u3082\u5165\u3063\u3066\u307e\u3057\u305f\u3088\u3002\n\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\nLT\u3092\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \u4eca\u56de\u306fLT\u3082\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \u30bf\u30a4\u30c8\u30eb\u306f\u300c\u55da\u547c\u7d20\u6674\u3089\u3057\u304demacs \u300d\u3067\u3059\u3002\n\u30d9\u30b9\u30c8\u30c8\u30fc\u30af\u8cde 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 \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 \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 \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 \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\n\u30d9\u30b9\u30c8LT\u8cde\u306f@codehex \u3055\u3093\u3067\u3001YAPC::Okinawa\u306e\u5ba3\u4f1d\u3067\u3057\u305f\u3002\n\u61c7\u89aa\u4f1a \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 Pawoo\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\n\u6b21\u56de\u306e\u304a\u8a71 \u6b21\u56deYAPC\u306f3\u6708\u306b\u6c96\u7e04\u3067\u958b\u50ac\u4e88\u5b9a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/yapc_fukuoka_2017\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/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":"YAPC::Fukuoka 2017 HAKATA\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f"},{"content":"Open Source Summit Fujitsu Museum Tour )\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\nFujitsu FACOM128B \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\u3002Fujitsu Web\u30b5\u30a4\u30c8 \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\n\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\n","permalink":"https:\/\/blog.web-apps.tech\/fujitsu_facom128b\/","summary":"<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":"Fujitsu FACOM128B\u3092\u898b\u3066\u304d\u305f"},{"content":"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 \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 \u6bce\u56de\u3001\u6bce\u56de\u3001\u8d77\u52d5\u6642\u306e\u6697\u53f7\u5316\u30d5\u30a7\u30fc\u30ba\u3067\nEncrypt failed Exit \u3068\u8a00\u308f\u308c\u30fb\u30fb\u30fb\u30fb \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\n\u80cc\u666f \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 GnuPG2.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 twittering-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 \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\n\u89e3\u6c7a\u7b56 \u307f\u3093\u306a\u5927\u597d\u304darch wiki \u306b\u89e3\u6c7a\u7b56\u304c\u3042\u308a\u307e\u3057\u305f\u3002 \u307e\u305a\u3001~\/.gnupg\/gpg-agent.conf\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\nallow-loopback-pinentry \u3064\u304e\u306b\u3001~\/.gnupg\/gpg.conf\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\npinentry-mode loopback \u6700\u5f8c\u306b\u3001gpg-agent\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002 \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u3001\n1 $ gpgconf --kill gpg-agent \u3067gpg-agent\u3092\u518d\u8d77\u52d5\u3067\u304d\u307e\u3059\u3002\n\u4ee5\u4e0a\u3067\u3001twittering-mode\u304c\u6b63\u5e38\u306b\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u306f\u305a\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/emacs-mac-twittering-mode-every-asked-pin\/","summary":"<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":"emacs-mac\u3067twittering-mode\u3092\u4f7f\u3063\u305f\u969b\u306b\u6bce\u56dePIN\u3092\u805e\u304b\u308c\u308b\u554f\u984c\u306e\u89e3\u6d88"},{"content":"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 \u7279\u306b\u3001\u7df4\u7fd2\u6bb5\u968e\u3084\u3001\u52d5\u4f5c\u78ba\u8a8d\u306a\u3069\u306e\u5834\u5408\u3001 test_hogehoge \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\n\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\n1 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD password mysql:latest \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\n1 $ mysql -u hoge -p -h 127.0.0.1 --port 3306 \u7279\u306b\u30dd\u30a4\u30f3\u30c8\u306a\u306e\u304c\u3001-h 127.0.0.1\u306e\u90e8\u5206\u3002localhost\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 \u3053\u3053\u3067\u3057\u3070\u3089\u304f\u60a9\u307f\u307e\u3057\u305f\u3002\u3002\u3002\n\u4ee5\u4e0a\u3001\u7c21\u5358\u3067\u3059\u304c\u30e1\u30e2\u304c\u3066\u3089\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/mysql_on_docker_on_mac\/","summary":"<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":"MySQL on docker mac\u306a\u958b\u767a\u74b0\u5883\u3067\u30ed\u30fc\u30ab\u30eb\u304b\u3089MySQL\u306b\u63a5\u7d9a\u3059\u308b"},{"content":"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\u3001net\/http\u3067handler\u306b\u6e21\u3055\u308c\u308bhttp.Request\u306bBasicAuth()\u3068\u3044\u3046\u30e1\u30bd\u30c3\u30c9\u304c\u751f\u3048\u3066\u307e\u3057\u305f\u3002 \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 \u306a\u306e\u3067\u3001\n1 2 3 4 5 6 7 8 9 func handler(w http.ResponseWriter, r *http.Request) { username, password, ok := r.BasicAuth() if !ok { return } if username == &#34;hogehogeuser&#34; &amp;&amp; password == &#34;fugafugapasswd&#34; { \/\/ something } } \u3068\u3059\u308b\u3053\u3068\u3067\u8a8d\u8a3c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u7c21\u5358\u3001\u7c21\u5358\u3002 \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\n","permalink":"https:\/\/blog.web-apps.tech\/golang_nethttp_basicauth\/","summary":"<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":"golang: net\/http\u3067BASIC\u8a8d\u8a3c"},{"content":"12\u6708\u306eYAPC::Hokkaido 2016 SAPPORO (\u884c\u3063\u3066\u304d\u305f\u6642\u306e\u8a18\u4e8b\u306f\u3053\u3061\u3089 )\u306b\u5f15\u304d\u7d9a\u304d\u3001YAPC::Kansai 2017 OSAKA \u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f\u3002\n\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 YAPC\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#yapcjapan \u3067\u3057\u305f\u3002\n\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 \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\n\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 \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\n\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\n\u30db\u30c6\u30eb\u63a2\u3057 \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 \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 \u904b\u826f\u304f\u4f1a\u5834(MOTEX \u30db\u30fc\u30eb )\u306e\u8fd1\u304f\u306b\u5272\u3068\u5b89\u304f\u5bbf\u3092\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\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 \u5b89\u304b\u3063\u305f\u3082\u306e\u306e\u3001\u306a\u3093\u3068\u306a\u304f\u8c6a\u52e2\u306a\u611f\u3058\u3002\n\u591c\u3054\u98ef\u306f\u8fd1\u304f\u306e\u304a\u5e97\u3067\u305f\u3053\u713c\u304d\u3092\u98df\u3079\u307e\u3057\u305f\u3002 \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 \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 YAPC::Kansai 2017 OSAKA \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\n\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 \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 \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\n\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 \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\n\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 \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\n\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 \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 \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\nYAPC::Kansai 2017 OSAKA\u306e\u30b9\u30c6\u30c3\u30ab\u30fc\u306f\u3053\u3093\u306a\u611f\u3058\u3002 \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\n\u6b21\u56de\u306e\u304a\u8a71 \u6b21\u56deYAPC\u306f\u798f\u5ca1\u3067\u958b\u50ac\u3060\u305d\u3046\u3067\u3059\u3002YAPC::Fukuoka 2017 HAKATA \u3059\u3067\u306b\u30c1\u30b1\u30c3\u30c8\u3082\u767a\u58f2\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\u305d\u306e\u5f8c\u306f\u6c96\u7e04\u3001\u6771\u4eac\u304c\u4f01\u753b\u3055\u308c\u3066\u3044\u308b\u305d\u3046\u3067\u3059\u3002 \u662f\u975e\u56de\u308a\u305f\u3044\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/yapc_kansai_2017\/","summary":"<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=\"\/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\n\n\n\n<img loading=\"lazy\" src=\"\/yapc_kansai_2017\/images\/yapc2017kansai_hotel1_hu_87f302b71ee233e2.jpg\" alt=\"yapc2017kansai_hotel1\"  \/>\n\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\n\n\n\n\n<img loading=\"lazy\" src=\"\/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\n\n\n\n\n<img loading=\"lazy\" src=\"\/yapc_kansai_2017\/images\/yapc_kansai2017_sticker_hu_2b61357db7f329c8.jpg\" alt=\"yapc_kansai2017_sticker\"  \/>\n\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\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":"YAPC::Kansai 2017 OSAKA\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f"},{"content":"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; TSDB)\u3068\u547c\u3070\u308c\u308b\u3082\u306e\u304c\u6709\u308a\u307e\u3059\u3002 TSDB\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 \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\n\u305d\u306e\u3046\u3061\u3001DB-ENGINES \u306eDB-Engines Ranking of Time Series DBMS \u3067\u4e00\u4f4d\u3092\u53d6\u3063\u3066\u3044\u308bInfluxDB\u3092\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\u3002\nInfluxDB\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306fInfluxData | Documentation | InfluxDB Version 1.2 Documentation \u306b\u3042\u308a\u307e\u3059\u3002\n\u53c2\u8003\u306b\u3057\u305f\u8cc7\u6599\u30fb\u5b9f\u884c\u74b0\u5883 \u4eca\u56de\u306fQiita\/Docker\u306eInfluxDB\u3068Grafana\u3067dweet.io\u306e\u30c7\u30fc\u30bf\u3092\u53ef\u8996\u5316\u3059\u308b \u306e\u524d\u534a\u3092\u53c2\u8003\u306b\u3001Docker\u4e0a\u3067InfluxDB\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u306a\u304a\u3001\u4e0a\u8a18\u306e\u8a18\u4e8b\u4e2d\u3067\u306f\u3001tutum\/influxdb\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 \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\nInfluxDB\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3059\u308b \u65e9\u901fInfluxDB\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\u3002\n1 2 $ docker pull influxdb $ docker run --name influxdb_test -p 8083:8083 -p 8086:8086 influxdb \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\n8083: Admin Web \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9 8086: HTTP API Admin UI\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b Admin UI\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u307e\u3059\u3002 InfluxDB\u306b\u306fWeb\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308bUI\u304c\u3064\u3044\u3066\u3044\u307e\u3059\u3002\n\u307e\u305a\u306f\u30b3\u30f3\u30c6\u30ca\u306eIP\u3092\u8abf\u3079\u3066\u307f\u307e\u3057\u3087\u3046\u3002\n1 $ docker inspect influxdb_test 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 \u4eca\u56de\u306f172.17.0.2\u3060\u3063\u305f\u3068\u3057\u3066\u9032\u3081\u307e\u3059\u3002\n\u30d6\u30e9\u30a6\u30b6\u3092\u8d77\u52d5\u3057\u3001172.17.0.2:8083\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\n\u3059\u308b\u3068\u3001\u4e0a\u8a18\u306e\u3088\u3046\u306a\u753b\u9762\u304c\u73fe\u308c\u307e\u3059\u3002 \u3053\u306e\u753b\u9762\u304b\u3089\u3001InfluxDB\u306e\u57fa\u672c\u7684\u306a\u64cd\u4f5c\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u308b \u521d\u671f\u72b6\u614b\u3067\u306f\u3001_internal\u3068\u3044\u3046\u3001InfluxDB\u81ea\u4f53\u304c\u4f7f\u7528\u3059\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u3042\u308b\u306e\u307f\u306a\u306e\u3067\u3001\u307e\u305a\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002 \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u308b\u306b\u306f\u3001SQL\u3068\u540c\u3058\u3088\u3046\u306a\u3001CREATE DATABASE\u6587\u3092\u4f7f\u3044\u307e\u3059\u3002WebUI\u306eQuery\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5165\u529b\u3057\u307e\u3059\u3002\nCREATE DATABASE test_db \u30bb\u30df\u30b3\u30ed\u30f3\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305f\u3001InfluxDB\u306f\u56fa\u5b9a\u30b9\u30ad\u30fc\u30de\u3067\u306f\u7121\u3044\u306e\u3067\u3001\u30ab\u30e9\u30e0\u306e\u6307\u5b9a\u3082\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\n\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u4f5c\u6210\u306b\u6210\u529f\u3059\u308b\u3068\u3001\u4e0a\u306e\u56f3\u306e\u3088\u3046\u306bSuccess!\u3068\u8868\u793a\u3055\u308c\u307e\u3059\u3002\n\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u3067\u304d\u305f\u306e\u3067\u3001\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3057\u3066\u307f\u307e\u3059\u3002 \u4f5c\u6210\u3057\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b\u305f\u3081\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u9078\u629e\u3092\u884c\u3044\u307e\u3059\u3002 \u753b\u9762\u53f3\u4e0a\u306eDatabase: _internal\u3068\u8868\u793a\u3055\u308c\u305f\u3068\u3053\u308d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u9078\u629e\u80a2\u304b\u3089\u5148\u7a0b\u4f5c\u6210\u3057\u305ftest_db\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n\u9078\u629e\u5f8c\u3001\u3044\u3088\u3044\u3088\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3057\u307e\u3059\u3002 \u30c7\u30fc\u30bf\u306e\u633f\u5165\u306f\u3001\u30bf\u30a4\u30c8\u30eb\u6a2a\u306eWrite Data\u304b\u3089\u884c\u3044\u307e\u3059\u3002 Write Data\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u30c7\u30fc\u30bf\u306e\u5165\u529b\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002 \u30b3\u30b3\u306b\u3001\u30c7\u30fc\u30bf\u3092Line Protocol\u3068\u547c\u3070\u308c\u308b\u5f62\u5f0f\u3067\u30c7\u30fc\u30bf\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002\n&lt;measurement&gt;[,&lt;tag-key&gt;=&lt;tag-value&gt;...] &lt;field-key&gt;=&lt;field-value&gt;[,&lt;field2-key&gt;=&lt;field2-value&gt;...] [unix-nano-timestamp] Measurement\u306fRDBMS\u3067\u3044\u3046\u3068\u3053\u308d\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3001\u30c7\u30fc\u30bf\u306e\u7cfb\u5217\u3092\u8868\u73fe\u3057\u3066\u3044\u307e\u3059\u3002 Tag\u306fIndex\u3055\u308c\u308b\u5024\u3067\u3001key=value\u306e\u5f62\u5f0f\u3067\u8a18\u5165\u3057\u307e\u3059\u3002\u30e1\u30bf\u30c7\u30fc\u30bf\u306a\u3069\u306b\u7528\u3044\u307e\u3059\u3002 Field\u306fIndex\u3055\u308c\u306a\u3044\u5024\u3067\u3001key=value\u306e\u5f62\u5f0f\u3067\u8a18\u5165\u3057\u307e\u3059\u3002\u3053\u3061\u3089\u304c\u901a\u5e38\u306e\u5024\u3067\u3059\u3002\nInfluxDB\u3067\u306f\u3001\u3042\u308b\u6642\u70b9\u3067\u306e\u5024\u306e\u30bb\u30c3\u30c8\u3092\u307e\u3068\u3081\u3066\u3001point\u3068\u547c\u3073\u307e\u3059\u3002point\u306f\u6642\u9593\u3001\u6240\u5c5e\u3059\u308bMeasurement\u30010\u500b\u4ee5\u4e0a\u306eTag set\u30011\u500b\u4ee5\u4e0a\u306eField set\u304b\u3089\u69cb\u6210\u3055\u308c\u307e\u3059\u3002\nField\u306e\u5024\u306b\u4f7f\u3048\u308b\u578b\u306f4\u7a2e\u985e(Float, Integer, String, Boolean)\u3067\u3059\u3002 Integer\u578b\u304c\u6709\u308a\u307e\u3059\u304c\u3001\u901a\u5e38\u306e\u6570\u5024(\u6574\u6570\u542b\u3080)\u306f\u57fa\u672c\u7684\u306bFloat\u3067\u6271\u3044\u307e\u3059\u3002 \u307e\u305f\u3001\u6587\u5b57\u5217\u306f\u6700\u592764KB\u307e\u3067\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n\u4f55\u3089\u304b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u3068\u3044\u3046\u4f53\u88c1\u3067\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3057\u3066\u307f\u307e\u3059\u3002\nlog,level=Error detail=&#34;An Error&#34; \u3053\u308c\u3067\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3067\u304d\u307e\u3057\u305f\u306e\u3067\u3001Query\u3092\u767a\u884c\u3057\u3066\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\nQuery\u3092\u767a\u884c\u3059\u308b \u30c7\u30fc\u30bf\u3092\u5f15\u304d\u51fa\u3059\u305f\u3081\u3001Query\u3092\u767a\u884c\u3057\u3066\u307f\u307e\u3059\u3002 WebUI\u306e\u30c8\u30c3\u30d7\u306b\u3042\u308b\u3001Query\u7a93\u306bQuery\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002\nSQL\u3068\u305d\u3063\u304f\u308a\u306aSELECT\u6587\u3092\u4f7f\u3044\u307e\u3059\u3002\nSELECT * FROM log \u30b3\u30b3\u3067\u3082\u30bb\u30df\u30b3\u30ed\u30f3\u306f\u3044\u308a\u307e\u305b\u3093\u3002\n\u5165\u529b\u3057\u3001\u30a8\u30f3\u30bf\u30fc\u3092\u62bc\u3059\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30c7\u30fc\u30bf\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002 Query\u306e\u5834\u5408\u306f\u30af\u30a8\u30ea\u30b9\u30c8\u30ea\u30f3\u30b0\u306eq=\u306e\u5024\u306bQuery\u6587\u5b57\u5217\u3092\u5165\u308c\u307e\u3059\u3002 Write\u306e\u5834\u5408\u306f\u3001POST\u306ebody\u306bLine Protocol\u3067\u66f8\u304d\u307e\u3059\u3002 \u305d\u308c\u305e\u308c\u3001db\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u64cd\u4f5c\u306e\u5834\u5408\u306fdb=\u306b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d\u3092\u66f8\u304d\u307e\u3059\u3002\n\u5148\u7a0b\u306eQuery\u3092\u5b9f\u969b\u306bHTTP\u3067\u53e9\u304f\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n1 2 $ curl &#39;http:\/\/172.17.0.2:8086\/query?db=test_db&amp;q=SELECT+*+FROM+log&#39; {&#34;results&#34;:[{&#34;statement_id&#34;:0,&#34;series&#34;:[{&#34;name&#34;:&#34;log&#34;,&#34;columns&#34;:[&#34;time&#34;,&#34;detail&#34;,&#34;level&#34;],&#34;values&#34;:[[&#34;2017-02-18T09:21:45.251016378Z&#34;,&#34;An Error&#34;,&#34;Error&#34;]]}]}]} \u307e\u3068\u3081 \u7c21\u5358\u306b\u3001InfluxDB\u306e\u4e00\u901a\u308a\u306e\u64cd\u4f5c\u3092\u884c\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u5404\u8a00\u8a9e\u5411\u3051\u306e\u516c\u5f0f\u30e9\u30a4\u30d6\u30e9\u30ea\u3082\u6574\u5099\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\n\u30ed\u30b0\u306e\u96c6\u8a08\u7b49\u306b\u4fbf\u5229\u305d\u3046\u3067\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/play_influxdb\/","summary":"<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":"InfluxDB\u3092\u89e6\u3063\u3066\u307f\u305f"},{"content":"Python 3\u3067bottle-websocket \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\n\u89e3\u6c7a\u65b9\u6cd5 \u901a\u5e38\u901a\u308apip install bottle-websocket\u3057\u3066\u304b\u3089\u3001 pip install karellen-geventws\u3059\u308b\u3068\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002 karellen-geventws\u306fGeventWebSocket\u306efork\u3067\u3001Python 3\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/bottle-websocket_with_python3\/","summary":"<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":"Python 3\u3067bottle-websocket\u3092\u4f7f\u3046"},{"content":"\u3053\u306e\u8a18\u4e8b\u306fIT\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u904b\u55b6 Advent Calendar 2016 \u306b\u5bc4\u305b\u3066\u66f8\u3044\u305f\u8a18\u4e8b\u3067\u3059\u3002 \u57f7\u7b46\u8005\u306f@nasa9084 \u3067\u3059\u3002 \u524d\u65e5\u306e\u8a18\u4e8b\u306f\u4e00\u822c\u793e\u56e3\u6cd5\u4ebaLOCAL\u3055\u3093\u306e\u4e00\u822c\u793e\u56e3\u6cd5\u4ebaLOCAL \u306e\u3054\u7d39\u4ecb \u3067\u3057\u305f\u3002\n\u307e\u305a\u306f\u3058\u3081\u306b \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 \u3069\u3046\u3082\u3053\u3093\u306b\u3061\u306fnasa9084 \u3068\u3044\u3044\u307e\u3059\u3002 \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 \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 PyCon JP \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\n\u300c\u3067\u3058\u307d\u308d\u300d\u3068\u3044\u3046\u52c9\u5f37\u4f1a \u6628\u5e74\u306e\u304b\u3089\u4eca\u5e74\u306e10\u6708\u307e\u3067\u3001\u672d\u5e4c\u3067\u3067\u3058\u307d\u308d \u3068\u3044\u3046\u52c9\u5f37\u4f1a\u3092\u4e3b\u50ac\u3057\u3066\u3044\u307e\u3057\u305f\u3002 \u3067\u3058\u307d\u308d\u306fIT\u6280\u8853\u521d\u5fc3\u8005\u3001\u3082\u3046\u5c11\u3057\u5177\u4f53\u7684\u306b\u8a00\u3046\u3068\nUNIX\/Linux\u306b\u8208\u5473\u304c\u3042\u308b\/\u4f7f\u3063\u305f\u3053\u3068\u304c\u3042\u308b \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u8208\u5473\u304c\u3042\u308b\/\u3059\u3053\u3057\u3084\u3063\u305f\u3053\u3068\u304c\u3042\u308b \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\n\u79c1\u3068\u3001@chamaharun \u306e\u4e8c\u4eba\u3067\u4e3b\u50ac\u3092\u3057\u3066\u3044\u3066\u3001\u5185\u5bb9\u3068\u3057\u3066\u306f\nHTTP\u5165\u9580 SQL\u5165\u9580 \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u5927\u6a2a\u65ad Linux\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u7d39\u4ecb \u306a\u3093\u304b\u3092\u3084\u3063\u305f\u308a\u3057\u3066\u3044\u307e\u3057\u305f\u3002\n\u52c9\u5f37\u4f1a\u3092\u958b\u50ac\u3059\u308b\u3068\u3044\u3046\u3053\u3068 \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 \u4eca\u56de\u306fIT\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u904b\u55b6 Advent Calendar \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\n\u6301\u3061\u51fa\u3057\u306f\u3057\u306a\u3044 \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 \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 \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 \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\n\u81ea\u5206\u306b\u5f37\u5236\u3059\u308b\u3001\u3068\u3044\u3046\u9078\u629e\u80a2 \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 \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\u5f37\u5236\u7684\u306b\u958b\u50ac\u3059\u308b\u300d\u3068\u3044\u3046\u9078\u629e\u80a2\u3082\u3042\u308b\u3001\u3068\u899a\u3048\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\n\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 \u52a0\u3048\u3066\u3001\u4e3b\u50ac\u3067\u3042\u308b\u79c1\u3082\u3001@chamaharun \u3082\u3001\u6bd4\u8f03\u7684\u6020\u60f0\u306a\u6027\u683c\u3092\u3057\u3066\u3044\u307e\u3059\u3002 \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 \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\n\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 \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 \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 \u3067\u3058\u307d\u308d\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\n\u3042\u307e\u308a\u6df1\u304f\u8003\u3048\u306a\u3044 \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 \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 \u7686\u8a00\u3063\u3066\u308b\u3053\u3068\u3067\u306f\u6709\u308a\u307e\u3059\u304c\u3001\u4ed5\u4e8b\u3067\u306f\u306a\u3044\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 \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\n\u61c7\u89aa\u4f1a\u3092\u3059\u308b \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\u30a8\u30f3\u30b8\u30cb\u30a2\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e\u3064\u304f\u308a\u304b\u305f \u3067\u3082\u66f8\u304b\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u61c7\u89aa\u4f1a\u304c\u672c\u7de8\u3060\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002 \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 \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\u4eba\u3068\u4eba\u3068\u306e\u51fa\u4f1a\u3044\u304c\u91cd\u8981\u3060\u304b\u3089\u3060\u3068\u601d\u3044\u307e\u3059\u3002 \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 \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\n\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\n\u300c\u5b66\u751f\u304c\u300d\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3068\u3044\u3046\u3053\u3068 \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 \u30b3\u30b3\u3067\u4e00\u3064\u3001\u300c\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3053\u3068\u300d\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u8003\u3048\u3066\u307f\u307e\u3059\u3002\n\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\u3092\u904b\u55b6\u3059\u308b\u3053\u3068\u306e\u6700\u5927\u306e\u30e1\u30ea\u30c3\u30c8\u306f\u3001\u30ba\u30d0\u30ea\u3001\u300c\u540d\u524d\u3084\u9854\u3092\u899a\u3048\u3066\u3082\u3089\u3044\u3084\u3059\u304f\u306a\u308b\u300d\u3068\u3044\u3046\u70b9\u3060\u3068\u601d\u3044\u307e\u3059\u3002 \u52ff\u8ad6\u3053\u308c\u306f\u5927\u4eba\u3067\u3082\u3042\u308b\u3053\u3068\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u5b66\u751f\u306e\u5834\u5408\u7279\u306b\u5927\u304d\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\u3092\u4e3b\u50ac\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u4f8b\u306f\u3001\u305d\u308c\u307b\u3069\u591a\u304f\u3042\u308a\u307e\u305b\u3093\u3002\u3064\u307e\u308a\u3001\u52c9\u5f37\u4f1a\u3092\u4e3b\u50ac\u3057\u3066\u3044\u308b\u5b66\u751f\u3068\u3044\u3046\u306e\u306f\u3001\u305d\u308c\u3060\u3051\u3067\u4e00\u3064\u5927\u304d\u306a\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u61c7\u89aa\u4f1a\u306e\u3068\u3053\u308d\u3067\u3082\u66f8\u304d\u307e\u3057\u305f\u304c\u3001\u52c9\u5f37\u4f1a\u306b\u53c2\u52a0\u3059\u308b\u6700\u5927\u306e\u610f\u5473\u306f\u3064\u306a\u304c\u308a\u3092\u3064\u304f\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002 \u3057\u304b\u3057\u3001\u305d\u308c\u306a\u308a\u306e\u898f\u6a21\u306e\u52c9\u5f37\u4f1a\u3084\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u306a\u308b\u3068\u3001\u4eba\u304c\u591a\u3044\u306e\u3067\u3001\u306a\u304b\u306a\u304b\u4e00\u5ea6\u3067\u306f\u899a\u3048\u3066\u3082\u3089\u3048\u306a\u3044\u3053\u3068\u3082\u591a\u3044\u3067\u3059\u3002 \u305d\u3093\u306a\u6642\u3001\u3084\u306f\u308a\u3072\u3068\u3064\u5927\u304d\u306a\u7279\u5fb4\u304c\u3042\u308b\u3001\u3068\u3044\u3046\u306e\u306f\u3068\u3066\u3082\u5f37\u3044\u30e1\u30ea\u30c3\u30c8\u3060\u3068\u601d\u3044\u307e\u3059\u3002\n\u307e\u3068\u3081\u3002 \u306a\u3093\u3060\u304b\u3044\u308d\u3044\u308d\u66f8\u3044\u305f\u3093\u3067\u3059\u304c\u3001\u3068\u308a\u3042\u3048\u305a\u8a00\u3044\u305f\u3044\u3053\u3068\u306f\u4e00\u3064\u3067\u3059\u3002\n\u601d\u3044\u7acb\u3063\u305f\u304c\u5409\u65e5\u3001\u3068\u308a\u3042\u3048\u305a\u52c9\u5f37\u4f1a\u3084\u3063\u3066\u307f\u305f\u3089\u3044\u3044\u3088\n","permalink":"https:\/\/blog.web-apps.tech\/community_advent\/","summary":"<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":"\u5b66\u751f\u304c\u52c9\u5f37\u4f1a\/\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3092\u904b\u55b6\u3059\u308b\u3068\u3044\u3046\u3053\u3068"},{"content":"\u3053\u306e\u8a18\u4e8b\u306fEmacs Advent Calendar 2016 \u306e\u300113\u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3001\u57f7\u7b46\u8005\u306f @nasa9084 \u3067\u3059\u3002 \u524d\u65e5\u306ffujimisakari\u3055\u3093\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u5f79\u7acb\u3064elisp10\u9078 \u3067\u3057\u305f\u3002\norg\u8a18\u6cd5\u3067\u30d6\u30ed\u30b0\u3092\u66f8\u304d\u305f\u3044 \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 \u666e\u6bb5Python\u3092\u66f8\u304f\u79c1\u306b\u3068\u3063\u3066\u3001#\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u3001#\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\n\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 \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 \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 Python\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 \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\n\u6b63\u898f\u8868\u73fe\u306e\u7f6e\u63db\u3060\u3051\u3067\u5b9f\u88c5\u3057\u3066\u307f\u305f 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 \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 \u3057\u304b\u3057\u30b3\u30ec\u304c\u5927\u304d\u306a\u9593\u9055\u3044\u3060\u3063\u305f\u306e\u3067\u3059\u3002\n\u30ea\u30b9\u30c8 \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 \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 \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 \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&lt;ul&gt;\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\n\u30b9\u30e9\u30c3\u30b7\u30e5 \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 \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 \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 \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\n\u7d50\u5c40\u30d1\u30fc\u30b5\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u5316 \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 \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(nasa9084\/py-org )\u3002 \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 \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(pyorg )\u3002 \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\n\u4ee5\u4e0a\u3001pyorg\u306e\u304a\u8a71\u3067\u3057\u305f\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/create_pyorg\/","summary":"<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":"pyorg\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f5c\u308a\u307e\u3057\u305f"},{"content":"\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\n\u6628\u5e74\u3067\u7d42\u4e86\u3057\u305fYAPC::Asia Tokyo\u304b\u3089\u4e00\u5e74\u3001\u65b0\u751fYAPC\u3068\u3057\u3066\u958b\u50ac\u3055\u308c\u305fYAPC::Hokkaido 2016 SAPPORO \u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002 YAPC\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#yapcjapan \u3067\u3057\u305f\u3002\n\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\n\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 \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 \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\n\u4eca\u56de\u306f\u8907\u6570\u62bd\u9078\u304c\u6709\u308a\u3001Azure\u672c(Azure\u30c6\u30af\u30ce\u30ed\u30b8\u5165\u9580 )\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\n\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 \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\n","permalink":"https:\/\/blog.web-apps.tech\/yapc_hokkaido_2016\/","summary":"<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":"YAPC::Hokkaido 2016 SAPPORO\u306b\u884c\u3063\u3066\u304d\u307e\u3057\u305f"},{"content":"\u3053\u306e\u8a18\u4e8b\u306f\u3001PyCon JP Advent Calendar 5\u65e5\u76ee\u3078\u5bc4\u305b\u3066\u66f8\u3044\u305f\u8a18\u4e8b\u3067\u3059\u3002 \u57f7\u7b46\u306f@nasa9084 \u3067\u3059\u3002 \u6628\u65e5\u306f\u5bfa\u7530\u3055\u3093\u306b\u3088\u308b\u3001PyCon JP\u306e\u7acb\u3061\u4e0a\u3052 \u3068\u3044\u3046\u8a18\u4e8b\u3067\u3057\u305f\u3002\nPython\u3068\u79c1\u306e\u60f3\u3044\u51fa PyCon JP\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u30c6\u30fc\u30de\u306f\u300cPython\u3068\u79c1\u306e\u60f3\u3044\u51fa\u300d\u3060\u305d\u3046\u3067\u3059\u3002 \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 \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\n\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\nPython\u3092\u4f7f\u3046\u7406\u7531 \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 \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 \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 HTML\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 \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 \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\n\u3068\u304d\u306f\u6d41\u308c\u307e\u3057\u3066\u3001Python\u3068\u3044\u3046\u8a00\u8a9e\u306b\u51fa\u4f1a\u3044\u307e\u3059\u3002 \u805e\u304f\u3068\u3053\u308d\u306b\u3088\u308b\u3068\u3001\u3053\u306e\u8a00\u8a9e\u3001\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u304d\u3061\u3093\u3068\u3057\u306a\u3044\u3068\u52d5\u4f5c\u3057\u306a\u3044\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 \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 \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\nGitHub Repository \u73fe\u5728\u3001\u79c1\u306eGitHub\u30ea\u30dd\u30b8\u30c8\u30ea(https:\/\/github.com\/nasa9084 )\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 \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\nPyCon JP 2016 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 \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 \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\nEureka \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 \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 \u306a\u3093\u3068\u304b\u3057\u305f\u3044\u3002 \u30d6\u30ed\u30b0\u79fb\u8ee2\u3067\u9055\u3046\u30b7\u30b9\u30c6\u30e0\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u307e\u3068\u3081\u7684\u306a \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 \u3068\u308a\u3042\u3048\u305a\u3067\u3059\u306d\u3002\u4f55\u304c\u8a00\u3044\u305f\u3044\u304b\u3068\u3044\u3046\u3068\u3001Python\u306f\u3044\u3044\u305e\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002 \u305c\u3072PyCon JP 2017\u306b\u3082\u304a\u8d8a\u3057\u304f\u3060\u3055\u3044\u3002\n","permalink":"https:\/\/blog.web-apps.tech\/python_with_me\/","summary":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u3001<a href=\"http:\/\/www.adventar.org\/calendars\/1741\" target=\"_blank\" rel=\"noopener\">PyCon JP Advent Calendar<\/a>\n 5\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":"Python\u3068\u308f\u305f\u3057"},{"content":"\u904e\u304e\u30572016\u5e7412\u67083\u65e5\u3001builderscon tokyo 2016\u3092\u958b\u50ac\u3057\u307e\u3057\u305f\u3002 builderscon 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 blog\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\n\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 \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\n\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\n\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 \u30b3\u30ec\u306f\u4ed5\u65b9\u306a\u3044\u3067\u3059\u3088\u3002 \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\n\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 builderscon tokyo 2017 \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 builderscon slack invite form ","permalink":"https:\/\/blog.web-apps.tech\/builderscon_tokyo_2016\/","summary":"<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>","title":"builderscon tokyo 2016 \u3092\u958b\u50ac\u3057\u307e\u3057\u305f\uff01"}]