1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <link rel="icon" href="./favicon.png" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 <link rel="stylesheet" href="./fonts/hack/hack-subset.css"> 8 9 <meta name="description" content="èç¾½ç太 (Kota Usuha) homepage and blog"> 10 <meta name="author" content="Kota Usuha"> 11 <meta name="keywords" content="èç¾½ç太, Kota Usuha, homepage, blog, software engineer, web developer, programmer, designer, artist, musician, composer, writer, poet, philosopher"> 12 <meta charset="utf-8"> 13 14 <meta property="og:title" content="ahus.uk"> 15 <meta property="og:description" content="my homepage and blog"> 16 <meta property="og:image" content="https://ahus.uk/favicon.png"> 17 <meta property="og:url" content="https://ahus.uk"> 18 <meta property="og:type" content="website"> 19 <meta property="og:site_name" content="ahus.uk"> 20 <meta property="og:locale" content="ja_JP"> 21 <meta property="og:locale:alternate" content="en_US"> 22 23 24 <link href="./_app/immutable/assets/0.GJonypYj.css" rel="stylesheet"> 25 <link href="./_app/immutable/assets/3.C3LP-3p_.css" rel="stylesheet"> 26 <link rel="modulepreload" href="./_app/immutable/entry/start.Daoojf4R.js"> 27 <link rel="modulepreload" href="./_app/immutable/chunks/entry.D5I0hpdo.js"> 28 <link rel="modulepreload" href="./_app/immutable/chunks/runtime.B7uHmZwC.js"> 29 <link rel="modulepreload" href="./_app/immutable/chunks/paths.CZRnjR3S.js"> 30 <link rel="modulepreload" href="./_app/immutable/entry/app.B4amE5rk.js"> 31 <link rel="modulepreload" href="./_app/immutable/chunks/store.U14WhaR7.js"> 32 <link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.DPoOH-Mq.js"> 33 <link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.aJqlrpEZ.js"> 34 <link rel="modulepreload" href="./_app/immutable/chunks/if.De2i2mxV.js"> 35 <link rel="modulepreload" href="./_app/immutable/chunks/props.DWmrlzzz.js"> 36 <link rel="modulepreload" href="./_app/immutable/nodes/0.DLXZSnAO.js"> 37 <link rel="modulepreload" href="./_app/immutable/nodes/3.DAEE4Xd5.js"> 38 <link rel="modulepreload" href="./_app/immutable/chunks/legacy.DQNYSWjG.js"> 39 <link rel="modulepreload" href="./_app/immutable/chunks/attributes.D4EFm6nH.js"><!--[--><!--]--><!--[--><!--]--><title>ahus.uk | blog</title> 40 </head> 41 <body data-sveltekit-preload-data="hover"> 42 <div style="display: contents"><!--[--><!--[--><!----><div><div class="mt-5 max-w-screen-xl m-auto"><header><nav class="h-32 flex justify-evenly items-center w-full bg-stone-300"><a href="/" class="w-[30%] pl-5 text-xl md:text-2xl">ahus.uk</a> <div class="flex justify-around w-[30%] md:w-[10%] underline underline-offset-8 text-base"><a href="/me">me</a> <a href="/blog">blog</a></div></nav></header> <div class="mt-10 mx-auto w-[95%]"><!----><div class="w-[90%] m-auto"><div class="text-2xl my-10">Blog</div> <ul class="list-disc pl-[2rem] svelte-1ip2ume"><!--[--><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2024-11-10--svelte-blog">11/10/2024 43 ããã°ã·ã¹ãã ãå·æ°ãã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2023-03-11--oji-chan-and-police">3/11/2023 44 ãããã¡ãããã®è·é¢æ©ãã®ã¯ç¡çã ã£ã¦</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-11-14--could-not-build-wheels-for----">11/14/2022 45 Condaä¸Poetry addã§ERROR: Could not build wheels for ...</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-06-11--variable-roller">6/11/2022 46 ã´ã¡ãªã¢ãã«ãã¼ã©ã¼ãã©ã¤ã«ã§ã¨ãªã¢X帯è¡ãã¾ã§ã«èãããã¨</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2021-09-21--customize-python-http-server">5/11/2022 47 Pythonæ¨æºã®HTTPãµã¼ãã¼ãã«ã¹ã¿ãã¤ãºãããæ</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-05-8--blog-search">5/8/2022 48 忥ç ç©¶ã®ææãèªåã®ããã°ã«çµã¿è¾¼ãã§ã¿ã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-03-31--half-dot">3/31/2022 49 åãããã¯ãªãéªæªãªã®ã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-03-12--python-confluence">3/12/2022 50 Pythonã§è§¦ãConfluence API</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-03-6--learn-ml-model-in-online">3/6/2022 51 éç¨ä¸ã®æ©æ¢°å¦ç¿ã¢ããªã§ãã¼ã¿ãåéãã¦ã¢ãã«ãåå¦ç¿ããã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-02-1--wordle-solver">2/1/2022 52 Wordleã®ã½ã«ãã¼ãæ¸ãã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2022-01-22--mapchip-gen">1/29/2022 53 ãããããããèªåçæããWebã¢ããªãä½ã£ã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2021-09-27--use_state_dict">9/27/2021 54 torch.save(model)ãããã¨ãã¯ã¢ã¸ã¥ã¼ã«ã«æ°ãã¤ãã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2021-08-9--swift-go-mobile-app">8/9/2021 55 Swiftã¨Golangã§ã¹ããã¢ããªãä½ã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2021-05-8--weed-tea">6/6/2021 56 ãã®è¾ºã«çãã¦ãããããããèãããè¶ã«ãã¦å³ãã£ã¦ã¿ãã
56</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2021-01-8--put-link-within-same-workbook-with-axlsx">1/8/2021 57 axlsx ã§åãã¯ã¼ã¯ããã¯å ã®ãªã³ã¯ãè²¼ã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2020-12-18--get-schema-comment-in-rails">12/18/2020 58 railsã¢ããªã±ã¼ã·ã§ã³å ã§ã¹ãã¼ãã®ã³ã¡ã³ãæ å ±ãåå¾ãã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2020-11-24--waniCTF-2020-writeup">11/24/2020 59 waniCTF 2020 writeup</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2020-10-2--traffic-signal">10/2/2020 60 ä¿¡å·å®ã£ããè»ã«è½¢ããããã«ãªã£ã話</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2020-08-30--cpaw-ctf">8/30/2020 61 cpawCTFãè§£ãã</a></li><li class="text-lg my-5 svelte-1ip2ume"><a href="/blog/2020-08-29--initial-article">8/29/2020 62 initial-article</a></li><!--]--></ul></div><!----><!----></div> <div><footer class="mt-20 bg-stone-300 w-[500px]"></footer></div></div></div><!----><!--]--> <!--[!--><!--]--><!--]--> 63 64
64<script> 65 { 66 __sveltekit_1w3mi6q = { 67 base: new URL(".", location).pathname.slice(0, -1) 68 }; 69 70 const element = document.currentScript.parentElement; 71 72 const data = [null,{"type":"data","data":{post_entries:[{slug:"2024-11-10--svelte-blog",post:{meta:{title:"ããã°ã·ã¹ãã ãå·æ°ãã",date:new Date(1731196800000),tags:["tag1","tag2","tag3"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ããã°ã·ã¹ãã ãå·æ°ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã ...ãã®äººã¾ãããã°ä½ã£ã¦ã...\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ååã®å¼è¶ã\" class=\"anchor\" href=\"#ååã®å¼è¶ã\">\n ååã®å¼è¶ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"http://localhost:5542/blog/2020-08-29--initial-article.md\">åå\u003C/a>ã§ã¯ãæ°ããä½ã£ãã¨è¨ã£ã¦Gatsbyã§ããã°ä½ã£ã話ãã¡ãã¡ããã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®æã¯ããã¨ãã¨hatena blogããªããã§ããã°ãæ¸ãã¦ãããã®ã®ãããã°ãä½ã£ã¦ã¿ãããªã£ã¦ä½ã£ãã®ã§ãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å ¨ç¶æè¿ããã°ãæ¸ãã¦ããªãããã«ãããã°ã·ã¹ãã ã®Gatsbyããã®ä¾åé¢ä¿ã®æ´æ°ãããã©ããããªã£ã¦ãç°å¢æ§ç¯ã大å¤ããã©ããããªã£ã¦ãã¾ã£ããã¨ã¨ãmarkdownããããã°è¨äºãçæããä»çµã¿ãé¢ç½ãã®ã§ä½ã£ã¦ã¿ããã£ãã®ã§ãä½ã£ã¦ã¿ã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æã£ãããã¹ãããªä½ãã¦ããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åæã«ãµã¨æãç«ã£ã¦ä½ãåããæ¨æ¥ä¸ã«å¤§ä½ã®å®è£ ãçµããæ¥æã«ãã®è¨äºãããã¦ãã¦é±æ«ã§å®çµãã¦ãã®ã¯ã¨ã¦ãããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ãã¤ãã§ã«ããããã¼ã¸ããªãã£ãã®ã§ããããä½ã£ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ããã°ã·ã¹ãã \" class=\"anchor\" href=\"#ããã°ã·ã¹ãã \">\n ããã°ã·ã¹ãã \n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æè¿ web frontend 㯠Sveltekit ã使ã£ã¦æ¸ãã®ã好ããªã®ã§ãä»åã svelte kit ã使ã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åºæ¬çã«ãã¼ã¯ãã¦ã³ã§æ¸ããããã°ãhtmlã«ã¬ã³ããªã³ã°ãã¦è¨äºã«ãã¦ãã¾ããåçãªè¦ç´ ããªãã®ã§ãSSGãã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">markedã¨ããjsã®ã©ã¤ãã©ãªããªããªãã«ãªããã§ä½¿ãåæãè¯ããæã£ããããªã«ã¹ã¿ãã¤ãºãããããã¦ã¨ã¦ãããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã£ã±ããããããmarkdownããhtmlãçæãããã¢ããã¯å¤ããã ãããªããæç¨¿é¨åã§markdownãµãã¼ããã¦ããµã¼ãã¹å¤ããããzennã¨ãqiitaã¨ãgithubã¨ãesaã¨ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç»åã®åãæ±ãã¯ã¡ãã£ã¨æ©ãã§ãã§ããã°markdownãã¡ã¤ã«ã¨è©±ããä½ç½®ã«é ç½®ããããªããªãã¨æã£ããã©ã¡ãã£ã¨ããã©ããããã ã£ãã®ã§ã䏿¦assetsã«ã¾ã¨ããå½¢ã«ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ãã¨ã¯ãè¨äºã®URLãä½ã«ããããåèããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§è¨äºã®ãã¡ã¤ã«åãurlã«ãªã£ã¦ãããã©ããã¡ã¤ã«åãå¤ããã¨ãã«urlãå¤ãã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">䏿¹ã§ãfront matterã«ãã¡ãã¡è¨å®ããã®ãé¢åãªæ°ããã¦ãã¾ã£ãããããã ã¨ãã¡ã¤ã«åã¨ã®éãã§ã¾ãæ··åãã¦ãã¾ãã...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªã©ã¨èããæ«ãæ®éã«ãã¡ã¤ã«åã使ããã¨ã«ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"è¨äºç§»è¡\" class=\"anchor\" href=\"#è¨äºç§»è¡\">\n è¨äºç§»è¡\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¨ãã¨markdownã§æ¸ãã¦ããã®ã§ãfront matterã®ãã£ã¼ã«ããã¡ãã£ã¨èª¿æ´ããããç»åã®urlã調æ´ããããããããã§ãã¾ã大å¤ã«ãªããªãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ããããããªãè¨äºãããªãæ¶ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãã¶ã¤ã³\" class=\"anchor\" href=\"#ãã¶ã¤ã³\">\n ãã¶ã¤ã³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¶ã¤ã³ã¯ä¸çªæéããããé¨åãªã®ã§ãããªãæãæãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå°éã«ãã¶ã¤ã³ã«ãã¦ã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä»å¾\" class=\"anchor\" href=\"#ä»å¾\">\n ä»å¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã«ãã´ãªã¨ããå¹´ãã¨ã®è¨äºã¨ãRSSé
ä¿¡ãããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ã¯ãåã«ãã£ãã¿ã°ã®æ
å ±ãæ´»ç¨ãã¦ãã¿ã°ãã¨ã®ãªã³ã¯ã¨ããé¢é£è¨äºãè²¼ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãµã ããããããã¨ããããã\u003C/p>\n"}},{slug:"2023-03-11--oji-chan-and-police",post:{meta:{title:"ãããã¡ãããã®è·é¢æ©ãã®ã¯ç¡çã ã£ã¦",date:new Date(1678492800000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">仿¥ã¯çãããã¨ãèµ·ãããã ãã©ï¼ä¸æã対å¿ã§ããªãã£ãã®ã§ï¼æ¬¡ã«ä¼¼ããããªåºæ¥äºãèµ·ããã¨ãã®ããã«åçãã¾ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãæ¼ã® 13 æããï¼ç 究室ã«åããåã«ï¼ãå¼å½å±ããã«å¯ã£ã¦ãæ¼ã飯ãè²·ãã«è¡ããã¨èªè»¢è»ãèµ°ããã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æè¿ã¯ãããã£ããæ¥ã®é½æ°ã«å
ã¾ãã¦ãã¾ãï¼ã·ã£ãï¼æã§ã¡ããã©ãããããã®æ°æ¸©ã§ï¼è±ç²ã§ç®ããªã¯ã£ã¦ãããã¨ãé¤ãã°ï¼å¤©æ°ãè¯ãèªè»¢è»ã§é¢¨ãæµ´ã³ãªããèµ°ãã®ãæ°æã¡è¯ãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãå¼å½å±ããã¯å¤§å¦ã®åããã«ããã®ã§ï¼ã¡ããã©æçµç®çå°ã®å¤§å¦ãéãéãã¦ã¡ãã£ã¨è¡ã£ãå
ã«ï¼ã·ã«ãã¼ã®ã¸ã£ã±ãããçããããã¡ãããéã®ç«¯ã®æ¯èã®ä¸ã«åº§ãè¾¼ãã§ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æåã¯ãã¼ã ã¬ã¹ã®æ¹ããªãããã«æã£ããï¼ãããã¸ãã§ãã¼ã ã¬ã¹ãªãã¦è¦ããã¨ããªãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããå°ãæ³¨ææ·±ãè¦ã¦ã¿ãã¨ï¼åº§ã£ã¦ããç¶æ
ããèµ·ãããããã¨ï¼ãããããããã¨ãã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">éãéã«ããã«ããè¦ã¦ã¿ãã¨ï¼ãããã¡ãããæã¨ç´è¢ãæã£ã¦ããï¼ãã¯ãã©ãã«ãèµ·ãããããã¨ãã¦ãããï¼ãã 座ãè¾¼ãã§ããããã§ã¯ãªãããã ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ããã«èªè»¢è»ãå転ããã¦ï¼ã大ä¸å¤«ã§ããï¼ãã¨å£°ãæããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¿ãã¾ã§ããã¨ï¼ã大ä¸å¤«ãã¨è¿äºããã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãç«ã¦ã¾ããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã大ä¸å¤«ãã¨ããã¤ã¤ãï¼èã«åãå
¥ããªãã®ãï¼æ¸å½ã«ç«ã¨ãã¨ãããï¼åãå
¥ãåããã«å¾ãã«åãããã§ãã¾ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§ã©ããã£ã¦ããã®ã䏿è°ãªã»ã©ã«ï¼ç«ã¡ä¸ãããã¨ã«è¦æ¦ãã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ãã¯ç±ä¸çãçã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããæ°´é£²ã¿ã¾ããï¼ãã¨è¨ã£ã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã£ã±ã飲ãã§ãããããã¨ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã飲ã¿ç©æã£ã¦ã¾ããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã«ãã³ã«ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾ä½åº¦ãæ°´ã飲ãããã«ä¿ããï¼ããã¤ã¬è¡ããããªã£ã¡ãããããã¨ãããã£ã±ã飲ã¾ããã¦ããã®ããã¨é£²ã¾ãªãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã¡ããã¯é»ãè©æãã®ã«ãã³ãæã£ã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã®ã«ãã³ï¼éããã§ããï¼æã¡ã¾ããããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã大ä¸å¤«ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ããã¤ã¤ãï¼ãã¯ãç«ã¦ãªãï¼ãããã¡ããã¯ããã°ã«ä½ãæã£ã¦ãããã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä½åº¦ãèªåãã«ãã³ãæã¤ãã¨ãææ¡ãããï¼å
¨ã¦æãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">10 åã»ã©åãåçãç¹°ãè¿ããã ãããï¼èªåãçºããåããã¦\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã«ãã³é ããã¾ãããã¨ãããªããè©ã«ããã¦ããã«ãã³ãæã¡ä¸ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¨ï¼ãããã¡ããã¯ã¹ãã¨èªåã®è©ã«ããã£ã¦ããç´ãå¤ãã¦ï¼èªåãã«ãã³ãé ãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã ãæãããããæµæããããã¨æã£ã¦èº«æ§ãããï¼æãã¬å¯¾å¿ã«é©ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã ï¼ãããã¡ãããæ¬å½ã¯é ãã£ã¦æ¬²ããã£ãã®ããªï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ããããã¡ããããåãä¸ãã¦ãç«ã¤ãã¨ã«ã¯è¦æ¦ãã¦ãããï¼ãªãã¨ãç«ã¡ä¸ãããã¨ãã§ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããï¼ãã¯ãå®å®ããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èä¸ãæ¯ãããã¨ã§ããããæ©ãããããã ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã°ããæ©ããã¨ããã§ã¾ãåããããã«åº§ãè¾¼ãã§ãã¾ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§ä¼è©±ãããªããï¼ãããã¡ãããç
é¢ããæ©ãã¦ãããã¨ï¼ãããã¦ããå
ã 1km 以ä¸ã¯ããé ãå ´æã ã¨ãããã¨ï¼æ®æ®µãããæ©ãã¦éã£ã¦ããããã§ã¯ãªããã¨ãããã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">確å®ã«ãã徿©ã§ã¯ç§»åãå³ãããï¼ãã®å ´æäº¤ééã®å¤ãéè·¯ã®åºãæ©éã§ï¼æ©éã«ã¯äººéããå¤ããªãï¼ã¿ã¯ã·ã¼çã®è»ãå¼ã³ã¤ãã¥ããå ´æã ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§æ°´ã飲ãã ãã¨ã確èªã§ãã¦ããªãããï¼ãé¡ãã§ããã飲ãã§ããã¾ãããã¨ããï¼ãããã¡ããã®ããã¯ãããè¶ãåãåºãã¦é£²ãã§ããã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããï¼ãã¯ãå
¨ç¶é£²ãã§ããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã¯éæ¹ã«æ®ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ãããã¡ããã¯æ±çµæ§ããã¦ããï¼ç«ã¦ãªãã®ã¯æ°´ä¸è¶³ã®ãããããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼åãçãã¯ãã£ãããã¦ãããä»ããã©ãããã¨ããæãã§ã¯ãªããï¼ãã®ã¾ã¾ã§ã¯ç±ä¸çã«ãªã£ã¦ãã¾ããããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼é«é½¢è
ã¯èªåã®ä½æ¸©ã«æ°ä»ãã¥ããã¨ãããï¼åã®æ¸ãã«èªè¦ãã¦ããªãã®ãããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ããã§å¼·ã飲ãããã«ä¿ããã¨ãã§ããã ãããï¼"ã¯ããã¦æ¬å½ã«ãããªãã¨ãã¦è¯ãã®ã ããã"ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ææãããã¡ããã®æºå¸¯ã«é»è©±ãããã£ã¦ãããï¼é»è©±ã«åºããã¨ãã¦ãåãã¦ãã¾ãï¼æãç´ãã¦ãåºãªã
72ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">徿©ã§ã®ç§»åã¯ç¾å®çã§ã¯ãªããã¨ã¯ç¢ºå®ã§ããããï¼ä»£æ¿ææ®µãèããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã¡ããã¯ããã¾ã§å
¨ã¦ã®åã®ææ¡ãã大ä¸å¤«ãã¨ãã£ã¦æã£ã¦ãããã¨ããï¼ãããã大ãã¨ã«ãªããã¨ãå«ã£ã¦ããã®ã ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èªåã¯ã¾ã ãããã¨ãããã©ã¤ããããã®ãããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">人ã®å©ããåãããã¨ãæ¥ã ã¨æã£ã¦ããå¯è½æ§ãé«ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¿ã¯ã·ã¼ãå¼ãã å ´åã¯ã©ãããä¹ãã°è¯ãã®ã ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ¢ã¾ã£ã¦ãããã ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ææ¥è»ãå¼ã¶ã«ã¯æ©ãã ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããè¦å¯ãå¼ã¶ããã«ã...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªã©ã¨èããªããå¨å²ãè¦æ¸¡ãã¦ããã¨ï¼è¿ãã«å¤ããã¹åããããã¨ã«æ°ãã¤ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¸å¿ãã¹åã確èªããã¨ï¼ãã®è¾ºã§èµ°ã£ã¦ãããã¹ä¼ç¤¾ã§ã¯ãããï¼æ¨èãããªãå¤ãï¼ã¼ãã¼ãã ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããï¼å
ãæ¥ããã¨ãããããã¡ãããããã¾ã§ç§»åãã¦ã¿ããã¨ä¿ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããã«ãã¹åãããã¾ãï¼ãã¹ã§ç§»åãã¾ãããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãæ®æ®µãã¹ã§ç§»åãã¦ãããã§ããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã使ã£ããã¨ãªããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¹ä½¿ã£ãæ¹ãããã¨æãã®ã§ï¼ãã¹ä½¿ã£ã¦ã¿ã¾ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããããªããï¼ï¼èªè»¢è»ãããããä¸ç·ã«ãã¹ã«ã¯ä¹ããªãï¼ã©ããããï¼ã¨èããªããï¼ãã£ããã¨æ©ããããã¡ããããã¹åã®æ¹ã«ããã²ã¼ããã¦ããæ\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åããèµ°ã£ã¦ãã女æ§ã®æ¹ãè¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ã大ä¸å¤«ã§ããã¼ï¼ï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã¯æ£ç´ããªãããã¨ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§ãããã¡ããã仿±ããªããä½åº¦ã人ã¨éãããããï¼å£°ãããã¦ãããã®ã¯åãã¦ã ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®æ¹ãè¿ã¥ãã¦ãã¦ï¼æ¸æãã®è¡¨æ
ã§ã大ä¸å¤«ã§ããï¼ãã¨å£°ããããªããåã¨ãããã¡ããã交äºã«è¦ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åãä»ã¾ã§ã®ç¶æ³ã説æããã¨\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¹ã£ã¦ãã£ã¦ã...ããã®ããªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãè¦å¯ã«é»è©±ããæ¹ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¡ãã£ã¨ç¢ºèªãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããããªãã女æ§ã®æ¹ã¯ãã¹åã®æ¹ã«è¡ãï¼ãã¹åã確èªããå¾ï¼é»è©±ãããã¦ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¦å¯ã«é£çµ¡ãã¦ãããããï¼ãã®å¾æ»ã£ã¦ããã¨\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãè¦å¯ã®æ¹ã«é£çµ¡ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¹ãå
¨ç¶éããªãã¿ããã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ã¹ããã®ç»é¢ãè¦ããªããåã«è¨ã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããè¦å¯ã«éå ±ãã以ä¸ï¼è¦å¯ãå¾
ã¤ãã¨ã«ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¾ã§ï¼åã¯ãããã¡ããããã£ã¨è¦å¯ã¸ã®éå ±ã ã£ããä»ã®äººã®ååãæããã®ã ã¨èº«æ§ãã¦ãããï¼ãããã£ãç´ æ¯ãã¯ãªãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¦å¯ã«é£çµ¡ããã¨ãã£ããï¼ééããªããå«ãã¨ãã大ä¸å¤«ãã¨ãè¨ã£ãã¯ãã ãï¼ãã以ä¸å¼·ãã¯è¨ããªãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">女æ§ã®æ¹ã®ããããã¨ããåããè¦ãªããï¼åã¯èªåã®è²¬ä»»ã®èªè¦ãä¸ååã ã£ããã¨ã«æ°ãã¤ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã£ã¨æ©ãï¼åãè¦å¯ã«é£çµ¡ããã¹ãã ã£ãã ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ææ¥è»ã§ãè¯ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åãªãã«ãä¸éå端ã«å©ãããã¨ã¯ãã¦ã¯ãããªããã¨æã£ã¦ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ã¨ããªè§£æ±ºçãæç¤ºã§ããªããªãï¼ãã®ä¸ã§ç¢ºå®æ§ã®é«ã鏿è¢ããªããµãæ§ããåããªããã°è¡ããªãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¸æããï¼èªåã®æãå·®ã伸ã¹ã¦ããã®äººã®å®å
¨ã確ä¿ãããã¨ãã責任ãå
¨ããããã¨ã第ä¸ã«èããªãã¦ã¯ãããªããã¨ã«æ°ãã¤ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»®ã«ãã®çµæï¼å©ããããäººã«æããããã¨ã«ãªãããï¼æãå·®ã伸ã¹ã責任ãå
¨ããããªãã°ï¼åã«æãå·®ã伸ã¹ããããããªç¶æ³ã«å±
ããã¨ãæªãã¨èãããããããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ç¶æ³ã§ã¾ã ãç¸æã«è¿·æã«ãªããªããããèãã¦ãã¾ãã®ã¯ï¼åçããªãããããªãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾ï¼éããããã®éå¹´ãå ããï¼ä¸ç·ã«è¦å¯ãå¾
ã£ã¦ï¼è¦å¯ãå°çããå¾ã¯ãã®ã¾ã¾è¦å¯ã®æ¹ã«å¼ãåã£ã¦ããã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾ãããã¡ããã®å®¶æã®æ¹ããæè¬ã®é»è©±ãæ¥ããï¼ãä½ãã§ããªãã¦ãã¿ã¾ãããã¨ããã®ãå¿ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¦å¯ã£ã¦ï¼çµæ§ãªãã§ãåãã¦ããããã ãªãï¼\u003C/p>\n"}},{slug:"2022-11-14--could-not-build-wheels-for----",post:{meta:{title:"Condaä¸Poetry addã§ERROR: Could not build wheels for ...",date:new Date(1668384000000),tags:["error","python"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">conda ä¸ã§ poetry add ããã¨ã\u003Ccode>ERROR: Could not build wheels for ...\u003C/code>ã¨ãã£ã¦æ»ã¬ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çµå±ãconda ä¸ã§ä½ã£ã¦ãã¾ã£ã poetry ã® env ãæ¶ãã¦ãæ®éã® python ã«ããç¶æ
ã§ poetry ã®ä»®æ³ç°å¢ãä½ã£ã¦ãpoetry add ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"詳細\" class=\"anchor\" href=\"#詳細\">\n 詳細\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">å¯ä¸è¦ã¤ããé¢é£ãããããªæ
å ±ã¯ä¸è¨ã® issue ã®ã¿\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/freqtrade/freqtrade/issues/7193\">https://github.com/freqtrade/freqtrade/issues/7193\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ããã«ããããã«ãconda ç°å¢ã§æ»ãã§ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">conda ç°å¢ä¸ã§ python ã®ãã«ããããæã«ãchecking g++ ... no ã¨ãªã£ã¦ãããã¨ããããconda ç°å¢ä¸ã 㨠g++å¨ãã§ä½ãè¸ãã§ããã®ãããããªãã\u003C/p>\n"}},{slug:"2022-06-11--variable-roller",post:{meta:{title:"ã´ã¡ãªã¢ãã«ãã¼ã©ã¼ãã©ã¤ã«ã§ã¨ãªã¢X帯è¡ãã¾ã§ã
72«èãããã¨",date:new Date(1654905600000),tags:["new"],draft:false},content:"\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"åºç« \" class=\"anchor\" href=\"#åºç« \">\n åºç« \n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã«ã¼ãã³ãã¼ã©ã¼ã使ã£ã¦ B å¸¯ã§æ¦ã£ã¦ããåã¯ããã®ã¬ã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«åã£ã¦ãåããªãã¦ãåã¦ããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¸åº¦ã¯ã«ã¼ãã³ãã¼ã©ã¼ã§ S ã«å
¥ã£ããã¨ããããããã®å¾ä¸æ°ã«è»¢è½ããB 帯ã§ç»ã£ã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">B 帯ã§ãå®å®ãã¦åã¦ããæ¬¡ç¬¬ã«ãã®æ¦å¨ã®ã¨ãªã¢é©æ£ãçãå§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«åã£ã¦ãåã¦ãªããããã®æ¦å¨ã¨ãªã¢ã«åãã¦ãªããã...ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ãªã¢ã«åãã¦ãæ¦å¨ã£ã¦ãªãã ï¼å¡ããæ¦å¨ï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã試ãã«\u003Cstrong>ã´ã¡ãªã¢ãã«ãã¼ã©ã¼\u003C/strong>ã¨ã使ã£ã¦ãã²ãããã¨ãªã¢ãå¡ãç¶ãã¦ã¿ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®èãã¯éå¸¸ã«æµ
ã¯ãã§ããããå¾¹åºãã¦ã¨ãªã¢å¡ãç¶ããè¡å㯠B 帯ã§ã¯ããªãåºãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã䏿°ã« A 帯ã¾ã§æ¥ã...ãéãåã£ã¦ã¨ãªã¢å¡ãã¤ããã ãã§ããã«åããªãã¦ããåçãå
¨ç¶éãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã©å¾ã
ã«è¡ãè©°ã¾ããæãã¦ãã¦ããããã®ã¾ã¾ãããã£ã¨ä¸ã¯è¡ããªããª...ã©ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ãªã¢å¡ãç¶ãããã£ã¦æã£ããã©ã峿¹ãæ»ã¬ã¨ç¸æãè©°ãã¦ãã¦ã©ããã¦ãã¨ãªã¢å¡ããªããªããã ããªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¼ã...ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¤ã¾ãåç·ã大äºã£ã¦ãã¨ãï¼åç·ãä¸ããããã°å¡ããç¶æã§ããããä¸ããã°ã¨ãªã¢ãå¡ããªããªã...ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããªãã»ã©ãåç·ã大äºã ãªããã©åç·ãä¸ããã«ã¯ã©ãããã°ï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã£ã±ã対é¢å¼·ããªããããªãã®ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¾ã¦ããã´ã¡ãªã¢ãã«ãã¼ã©ã¼ãã©ã¤ã«ã«ã¯\u003Cstrong>ãã«ãããµã¤ã«\u003C/strong>ããããªãããã使ããããããªããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããµã¤ã«æã¦ã°ææããç¸æã¯åç·ãä¸ããããå¾ãªããªãããã®éã«ãã£ã¡ãåç·ä¸ããã°ãç¡çç¢çåç·ãä¸ããããããããªããï¼ï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã£ãããã£ã¦ã¿ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"å婿¡ä»¶ããéã£ã¦ãã\" class=\"anchor\" href=\"#å婿¡ä»¶ããéã£ã¦ãã\">\n å婿¡ä»¶ããéã£ã¦ãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¤ã¾ããããããã¨ã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ãªã¢ã¨ããã«ã¼ã«ã®å婿¡ä»¶ã¯ããã«å¤ãã®æµãåããã§ã¯ãªãããããã«ç¹å®ã®ã¨ãªã¢ãèªãã¼ã ã®è²ã«ãªã£ã¦ãç¶æ
ãç¶æã§ããããã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¡ãç¶ãããã¨ãããããç¶æããããã¨ãéè¦ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¶æããã«ã¯ãç¸æãã¨ãªã¢ã«è¿ã¥ãããã¦ã¯ãªããªããã¤ã¾ãèªãã¼ã ã®åç·ãä¸ãããã¨ãç´æ¥çã«åå©ã«è²¢ç®ããã®ã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããæµãã¼ã ã®åç·ãä¸ããèªãã¼ã ã®åç·ããããã®ã¯å®¹æã§ã¯ãªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ããããã¹ãã·ã£ã«ã¦ã§ãã³ãã®æå¹æ´»ç¨ãå¿
é ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã«ãããµã¤ã«ã¯ããã«æ§è½ã¯é«ããªãããç¸æã®åç·ãä¸ããã¨ããç¹ã§ã¯é常ã«å¹æçãªã¹ãã·ã£ã«ã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¡ããããã«ãããã¨ãåç·ãä¸ãããã¨ã«ç¹ãããããã«ã¯é£ããå®å®ããªãããã¤åããã¨ãã¦ãèªåãæ»ã¬ã¨ä¸ããåç·ãç¶æã§ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åç·ãç¶æããè¡åãåãã¨ããåæã®ä¸ã§ããã«ãçãã®ã¯ã¨ã¦ããªã¹ã¯ã大ããè¡åã§ããããããã«ãçãã«è¡ãã¹ãç¬éã¨ããã®ã¯å°ãªãã¯ãã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æµãåãã«è¡ãã®ã§ã¯ãªããæµããæãããã¤ã¡ã¼ã¸ã§ãæµã«åãã£ã¦å¡ãç¶ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¸æã¨åç·ãæ®æãã¦ãç¶æ
ã§ã¹ãã·ã£ã«ãæºããã¹ãã·ã£ã«ãæºã¾ã£ããåãã¦åç·ãä¸ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããç¹°ãè¿ããã¨ã§ãã¤ãã« S+ã«ä¹ããã¨ãã§ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"s+ãã¼ãã§æ¦ãããã«\" class=\"anchor\" href=\"#s+ãã¼ãã§æ¦ãããã«\">\n S+ãã¼ãã§æ¦ãããã«\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã£ã¡ãåã¦ãããã«ãªã£ã...䏿°ã« S+ã¾ã§ãããªããã£ããã©ãã¾ã§è¡ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããå
ã¯ãããã¾ã§èãããã¨ããã¼ã¹ã«ç´°ããªæ¹åãç©ã¿éãã¦ãããã¨ã«ãªãããç¹ã«æè
72ãã¦å¹ããã¨æããã®ã¯ãããªæãã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ä¸å©å¯¾é¢ã¯çµ¶å¯¾é¿ããã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ã´ã¡ãªã¢ãã«ã®å ´åãèªåã®å°ç¨ä»¥ä¸ã®å°ç¨ãæã¤æ¦å¨ã¯å¤§ä½ãã¤ãã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ã¹ããã¼ç³»\u003C/li>\n\u003Cli class=\"list-disc\">ãã£ã¼ã¸ã£ã¼\u003C/li>\n\u003Cli class=\"list-disc\">ã風å\u003C/li>\n\u003Cli class=\"list-disc\">æ´æ¿¯æ©\u003C/li>\n\u003Cli class=\"list-disc\">ã©ããããã©ã¹ã¿ã¼\u003C/li>\n\u003Cli class=\"list-disc\">ãã³ã°ãã©ã¹ã¿ã¼\u003C/li>\n\u003Cli class=\"list-disc\">etc...\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">ããã¤ãã¨ã®å¯¾é¢ã¯çµ¶å¯¾ã«é¿ãããä½ããªãã§ãé¿ããã\u003C/li>\n\u003Cli class=\"list-disc\">ããã¤ãã¨ã®å¯¾é¢ã¯é¿ãã¤ã¤ãä¸å¿ä¸ä¹±ã«ãã¼ã©ã¼ãæ¯ãç¶ããã\u003C/li>\n\u003Cli class=\"list-disc\">ã¹ãã·ã£ã«ã使ã£ã¦ç¸æãã©ããããªã¼ãå·®ãåãã¦åºãã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ç¹ã«ã¹ããã¼ç³»ã¯å¤ãã®æ¦å¨ã«ã¨ã£ã¦è
å¨ã«ãªãããããããæå¤ã¨ãã£ã¡ã®æèã®æ¹ãéè¦ãªæ°ããã\u003C/li>\n\u003Cli class=\"list-disc\">ã©ãããå¾ã«è¡ããããªããã«ãåãã«è¡ããã¨ãå¤ã\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">ç¸æã«å§ãããã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">å°ç¨ã§åã£ã¦ããªããå¡ããçããã¦ã¨ã«ããæ¯ããæ³¨ææ·±ãåç·ããã¦å§ãããã\u003C/li>\n\u003Cli class=\"list-disc\">åç·ã«ç«ã¤ããæåç·ã«ã¯ç«ãããå
端 2 åã§åãã\u003C/li>\n\u003Cli class=\"list-disc\">ãã¨ã¯è©°ãã¦ããæµãæ½°ãã°è¯ãã\u003C/li>\n\u003Cli class=\"list-disc\">éã«è¨ãã°å§ãããããããã°ããã§ããã®ã§ããã«ãåãã«è¡ããªãããªã¼ãã¨å¾¹åºããå¨è¾ºè¦éã§åããå¼ãããã ãã§ãè¯ãã\u003C/li>\n\u003Cli class=\"list-disc\">å¡ãã°ã¹ãã·ã£ã«åºããããèªé£ã®åããç¯å²(åç·ï¼ã¯èªãã¼ã ã®åå©ã«ç´çµãããããã¨ã«ããå¡ã\u003C/li>\n\u003Cli class=\"list-disc\">é·å°ç¨ãçããã¦ã¨ã«ããå¡ããèªåãåããã¨æµ®ãã¦ããæµãè¿ãè¨ã¡ã«ãããç¡çãããªãéãã\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">ããããè¦ã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ã´ã¡ãªã¢ãã«ãã¼ã©ã¼ã®å ´åãåç·ã®ä¸æ©å¾ãã«ç«ã¤ãã¨ã«ãªããããè£ã©ãã¨åç·ããã®æãã«æ°ãé
ã\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">å¼·ãå ´æãèãã¦ãããã«ç«ã¤\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ã¨ãªã¢ãå¡ãã¦ãç¸æã«åããã¥ããå ´æã¯å¤§ä½ã©ã®ã¹ãã¼ã¸ã«ãç¨æããã¦ãã\u003C/li>\n\u003Cli class=\"list-disc\">ãã®ãã¸ã·ã§ã³ãç«ã£ã¦ãã¨ãªã¢ã«å¹²æ¸ãç¶ããæ§åã伺ã£ã¦åç·ãä¸ãã\u003C/li>\n\u003Cli class=\"list-disc\">ããã¦ããããå¼·ãå ´æã¯å¤§æµè£ã©ãã«ã¼ããã»ããã§ããã®ã§ãè£åãã«ã¼ãã絶対ã«è¨±ããªã\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ãã¡ããã¡ãå¤ãè¦ããããç´°ãã説æãã¦ããã ãã§ãå
¨ä½ã§ï¼ã¤ã»ã©ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èªåã¯ãããã§ããããã«ãªãã¾ã§æèãã¦ãå¾¹åºã§ãå§ããããã« X ã«ä¹ã£ã\u003C/p>\n"}},{slug:"2021-09-21--customize-python-http-server",post:{meta:{title:"Pythonæ¨æºã®HTTPãµã¼ãã¼ãã«ã¹ã¿ãã¤ãºãããæ",date:new Date(1652227200000),tags:["python","http"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">pythonã®ã©ã¤ãã©ãªã®ãã¹ããæ¸ãã¨ãã«ãç°¡æçãªãµã¼ãã¼ãç«ã¦ããæããããhttp.serverã©ã¤ãã©ãªãæ¼ã£ãã
72®ã§ã¡ã¢\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"pythonæ¨æºã®httpãµã¼ãã¼ãã«ã¹ã¿ãã¤ãºãããæ\" class=\"anchor\" href=\"#pythonæ¨æºã®httpãµã¼ãã¼ãã«ã¹ã¿ãã¤ãºãããæ\">\n Pythonæ¨æºã®HTTPãµã¼ãã¼ãã«ã¹ã¿ãã¤ãºãããæ\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">pythonã®æ¨æºã©ã¤ãã©ãªã§ããhttpã«ã¯ãç°¡æHTTPãµã¼ããã¤ãã¦ããã\næ©è½ã¯é常ã«ã·ã³ãã«ãªãã®ã§ãGETã¨HEADãªã¯ã¨ã¹ãã«ãã対å¿ãã¦ãããããªã¯ã¨ã¹ãããããã¡ã¤ã«ããµã¼ãä¸ã«ãããã確èªããããã°è¿ãã¨ãããã®ã§ãã\nå®éã®å
¬å¼ããã¥ã¡ã³ãã®ãµã³ãã«ã³ã¼ã[1]ã¯ãããªæã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">import http.server\nimport socketserver\n\nPORT = 8000\n\nHandler = http.server.SimpleHTTPRequestHandler\n\nwith socketserver.TCPServer(("", PORT), Handler) as httpd:\n print("serving at port", PORT)\n httpd.serve_forever()\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ããã ãã§ç°¡æãµã¼ããåãã\n(ã¡ãªã¿ã«ãCGIHTTPRequestHandlerã使ãã®ã§ããã°POSTãæãã)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããåã«ãµã¼ãä¸ã®ãã¡ã¤ã«ãè¿ãã ãã§ãªããã¬ã¹ãã³ã¹ãã«ã¹ã¿ãã¤ãºãããï¼ã¨ããæã©ãããã°è¯ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çµè«ã¯SimpleHTTPRequestHandlerããã®ä¸ä½ã¯ã©ã¹ãç¶æ¿ãã¦ã«ã¹ã¿ãã¤ãºãã³ãã©ã¼ãä½ãããã ãããããã¥ãããã«ã¹ã¿ãã¤ãºãã¦ä½¿ããã¨ãæ¨å¥¨ãããããªè¨è¨ã«ãªã£ã¦ããªãã¨æãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ãä»åãã®APIã¯ã©ã¤ã¢ã³ãã®ãã¹ããä½ãã«ãããããããã¸ããããã£ãã®ã§ãã¡ã¢ãã¦ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"simplehttprequesthandler\" class=\"anchor\" href=\"#simplehttprequesthandler\">\n SimpleHTTPRequestHandler\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">å
¨ä½çãªå¦çã®æµãã¯\u003C/p>\n\u003Cp class=\"my-5 leading-6\">serve_forever()ã§listen\nâ\nãªã¯ã¨ã¹ããæ¥ã\nâ\nHTTPã¡ã½ããã«å¯¾å¿ããã¡ã½ããããã°ãã\nâ\nããã®ã¡ã½ããã§ã¬ã¹ãã³ã¹ãè¿ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ããªãã®å¤å²ããªãã¨ããæãã ãã©ãä¸å¿ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã§ã¯ããã§å
·ä½ä¾ãæ¸ãã¦ã¿ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãªã¯ã¨ã¹ãããããã¹ã䏿¸ããã¦ã¿ã\" class=\"anchor\" href=\"#ãªã¯ã¨ã¹ãããããã¹ã䏿¸ããã¦ã¿ã\">\n ãªã¯ã¨ã¹ãããããã¹ã䏿¸ããã¦ã¿ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã§ã¯ãã©ããªãã¹ã§ãªã¯ã¨ã¹ããé£ãã§ãã¦ãã«ã¼ãã®ã¬ã¹ãã³ã¹ãè¿ããRedirectRoootHTTPRequestHandlerããå®ç¾©ãã¦ã¿ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">class RedirectRoootHTTPRequestHandler(SimpleHTTPRequestHandler):\n def __init__(self, *args, directory=None, **kwargs):\n super().__init__(*args, directory=directory, **kwargs)\n\n def do_GET(self):\n self.path = "/"\n f = self.send_head()\n if f:\n try:\n self.copyfile(f, self.wfile)\n finally:\n f.close()\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">åã«ãHTTPã¡ã½ããã«å¯¾å¿ããã¡ã½ããããã°ãããã¨æ¸ããããGETã«å¯¾å¿
72ããã¡ã½ãããã¾ãã«ãdo_GETãã ã\né¢ç½ããã¨ã«ï¼ï¼ï¼ããã®å¯¾å¿ããã¡ã½ãããå¼ã¶å¦çã¯ãäºã¤ä¸ã®ç¶æ¿å
ã§ãããBaseHTTPRequestHandlerãã§è¨è¿°ããã¦ããã®ã ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">mname = 'do_' + self.command\nif not hasattr(self, mname):\n self.send_error(\n HTTPStatus.NOT_IMPLEMENTED,\n "Unsupported method (%r)" % self.command)\n return\nmethod = getattr(self, mname)\nmethod()\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã¨ã"do_" + HTTPã¡ã½ããã§ã¡ã½ãããæ¢ãã¦å¯¾å¿ããã¡ã½ãããå¼ã³åºãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¦èå¿ã®ãªãã¤ã¬ã¯ããããããªå¦çã¯\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">self.path = "/"\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">self.pathã«ã¯å
ã
ãªã¯ã¨ã¹ãããããã¹ãæ ¼ç´ããã¦ãããcopyfile(f, self.wfile) ã®ä¸ã§åç
§ãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¡ãªã¿ã«ãself.wfile ã¯ã¬ã¹ãã³ã¹ãæ¸ãè¾¼ãæ¹ã®ãã¡ã¤ã«ãªãã¸ã§ã¯ãã§ãf ã¯ã¬ã¹ãã³ã¹ã¨ãªããã¡ã¤ã«ãªãã¸ã§ã¯ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">self.send_head() ã§ã¯ãã¬ã¹ãã³ã¹ããããéãã¤ã¤ããªã¯ã¨ã¹ãããããã¹ã®ãã¡ã¤ã«ãopen()ãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¡ãªã¿ã«ããã¹ããã£ã¬ã¯ããªã¨ãªã£ã¦ããå ´åã¯ãã¡ããã¨ãã®ãã£ã¬ã¯ããªã®ãã¡ã¤ã«ä¸è¦§ãè¿ãããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"pythonã§ã¬ã¹ãã³ã¹ããã£ãçæãã\" class=\"anchor\" href=\"#pythonã§ã¬ã¹ãã³ã¹ããã£ãçæãã\">\n pythonã§ã¬ã¹ãã³ã¹ããã£ãçæãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"simplehttprequesthandlerã§å©ç¨ã§ããããããã£\" class=\"anchor\" href=\"#simplehttprequesthandlerã§å©ç¨ã§ããããããã£\">\n SimpleHTTPRequestHandlerã§å©ç¨ã§ããããããã£\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">command: ãªã¯ã¨ã¹ãHTTPã¡ã½ãã\u003C/li>\n\u003Cli class=\"list-disc\">path : ãªã¯ã¨ã¹ã対象ã®ãã¹\u003C/li>\n\u003Cli class=\"list-disc\">version: HTTPãã¼ã¸ã§ã³\u003C/li>\n\u003Cli class=\"list-disc\">client_address: ãã®ã¾ã¾ãã¯ã©ã¤ã¢ã³ãã¢ãã¬ã¹\u003C/li>\n\u003C/ul>\n\n \u003Cdiv class=\"text-xl my-10\">\n \u003Ca name=\"追è¨\" class=\"anchor\" href=\"#追è¨\">\n 追è¨\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">çµæ§å(2021-09-21)ã«æ¸ãã¦ãè¨äºãéä¸ã§ä¸æ¸ãã®ã¾ã¾çµãã£ã¦ããã®ãçºè¦ãã¾ãã!\néä¸ãªããã¨ããããå
¬éãã¾ãï¼\nããã¾éè¦ãªãããã ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">1: \u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://docs.python.org/ja/3/library/http.server.html\">https://docs.python.org/ja/3/library/http.server.html\u003C/a>\u003C/p>\n"}},{slug:"2022-05-8--blog-search",post:{meta:{title:"忥ç ç©¶ã®ææãèªåã®ããã°ã«çµã¿è¾¼ãã§ã¿ã",date:new Date(1651968000000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ä¸å¹´ä½åã«ããã£ã¦ãæ²ãèãã¨ããã®ããã£ã¦ãé ã®è¨æ¶ã¨ãææ
ãæãåºãã®ã£ã¦ããã¾ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èªåã¯ãæ²ã«ã¯ç¹ã«ææ
ãããæã¿ä»ãã¿ããã§ãæã¿è¾¼ã¿ãå¼·ãã¨åããæãåºããã¨ãããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«ã¡ã¯ãæè¿å¤§å¦ã忥ãã人ã§ãã\nä»å㯠GW ã§èªåã®\u003Cstrong>忥ç ç©¶\u003C/strong>ã§è¡ã£ãå
容ãèªåã®\u003Cstrong>
72ããã°ã«å¿ç¨\u003C/strong>ãã¦ã¿ãã®ã§ããã®ç´¹ä»ããããã¨æãã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"å®è£
ãããã®\" class=\"anchor\" href=\"#å®è£
ãããã®\">\n å®è£
ãããã®\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä»åå®è£
ããã®ã¯ãã®ããã°ã®\u003Cstrong>æ¤ç´¢æ©è½\u003C/strong>ã§ãã\n忥ç ç©¶ã§ã¯æ
å ±æ¤ç´¢ã®ç ç©¶ããã¦ãã¾ããã\nããã°ã®ãµã¤ãã¡ãã¥ã¼ã«ãããæ¤ç´¢ããã¯ã¹ããè¨äºã®æ¤ç´¢ãã§ããããã«ãªã£ãã®ã§ããããã®æ¤ç´¢ã®è£å´ã§èªåã®ç ç©¶ã使ããã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"500px\" src=\"/img/blog_search/blog_search_intro.mov.gif\" alt=\"æ©è½ã®åä½ã®æ§å\">\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ã©ããªç ç©¶ï¼\" class=\"anchor\" href=\"#ã©ããªç ç©¶ï¼\">\n ã©ããªç ç©¶ï¼\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">忥ç ç©¶ã®ãã¼ãã¯ã質åçæã¨æ©æ¢°èªè§£ã¢ãã«ã«åºã¥ãæ
å ±æ¤ç´¢ã¢ã«ã´ãªãºã ãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¸è¨ã§ããã¨ãæ
å ±æ¤ç´¢ã®ã¢ã«ã´ãªãºã ã«æ©æ¢°èªè§£ã¨ããå¥åéã®æè¡ã使ã£ãç ç©¶ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åæ±ãæ
å ±æ¤ç´¢ã¯ç«¯çã«è¨ã£ã¦ Google æ¤ç´¢ã®ã¤ã¡ã¼ã¸è¿ããã®ã§ããä½ãããã®ãã¼ã¯ã¼ãï¼ã¯ã¨ãªï¼ãå
¥åãã¦ãããã«é¢é£ãããããªææ¸ã ã£ããã¦ã§ããµã¤ããè¿ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«å¯¾ãã¦ãæ©æ¢°èªè§£ã¯æ
å ±æ¤ç´¢ã¨ã¯ç°ãªãæè¡ã§ãã質åã¨æç« ããå
¥åã¨ãã¦ã質åã«å¯¾ãããçãããæç« ä¸ããæãåºãã¾ãã\nä¾ãã°ãã人éå¤±æ ¼ã®èè
ã¯ï¼ãã¨ãã質åã¨ãå¤ªå®°æ²»ã¯æ¥æ¬ã®å°èª¬å®¶ã§ãã代表ä½ã«äººéå¤±æ ¼ãèµ°ãã¡ãã¹ãããã¾ããã¨ããæç« ãä¸ããããæã«ã質åã«å¯¾ããçãã¨ãã¦ãæç« ããã太宰治ãã¨ããæååãæãåºããã¨ãæå¾
ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¡ãã£ã¨èª¬æãç²ãã¦ãã¾ã£ãã®ã§ä¸è¨ã§è¨å²ãã¦æ¬²ãããã§ããããã®æ©æ¢°èªè§£ã®æè¡ããã®ã¾ã¾æ
å ±æ¤ç´¢ã«ä½¿ã£ã¦ã¿ããã¨ããã®ãèªåã®ç ç©¶ãªã®ã§ã\nãã£ããã¨ã¨ãã¦ã¯æ¤ç´¢ API ãå®è£
ãã¦ãããã§æ©æ¢°èªè§£ã使ã£ã¦æ¤ç´¢ãå®ç¾ãããã£ã¦ãã¨ã§ããã\u003C/p>\n\u003Ciframe src=\"https://drive.google.com/file/d/1Upoe0BvosutaCMHmaEcrcI5QY18DTBw6/preview\" width=\"600\" height=\"400\" class=\"max-w-[100%]\">\u003C/iframe>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ã·ã¹ãã æ§æï¼ã«ä½¿ã£ãæè¡ãã¡ï¼\" class=\"anchor\" href=\"#ã·ã¹ãã æ§æï¼ã«ä½¿ã£ãæè¡ãã¡ï¼\">\n ã·ã¹ãã æ§æï¼ã«ä½¿ã£ãæè¡ãã¡ï¼\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ããã°\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">Gatsby\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">æ¤ç´¢ãµã¼ã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">Elasticsearch\u003C/li>\n\u003Cli class=\"list-disc\">fastapi\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">pytorch\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">nginx\u003C/li>\n\u003Cli class=\"list-disc\">lightsail\u003C/li>\n\u003Cli class=\"list-disc\">Docker\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ä»åã¯è«¸äºæ
ãããlightsail ããããã·ãµã¼ãã¼ã¨ãã¦ä½¿ããgpu ãµã¼ãã¼ãå¥ã«ç¨æãã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">Elasticsearch ã使ã£ã¦ãããã¨ããä¸é¨ã®äººã¯å¯ãã¦ããããããã¾ããããä»åã¯æ©æ¢°èªè§£ã®åºçªã¯ãªã©ã³ãã³ã°ã§ãã\nå°éçãªè©±ã§ããããããã first-stage retireval ã Elasticsearch ã§è¡ãããªã©ã³ãã³ã°ãæ©æ¢°èªè§£ã¢ãã«ã§è¡ãªã£ã¦ãã¾ãã\næ©æ¢°èªè§£ã¢ãã«ã«ã¯ãLaboro.AI ããã® ddqa ãã¼ã¿ã»ããã§ fine-tuning ãããã®ãæåãã¦å©ç¨ãã¦ãã¾ãï¼\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/laboroai/Laboro-DistilBERT-Japanese\">link\u003C/a>ï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã°ãéçãµã¤ããªç¹ã§ãããã¥ããããã°ããæ¥½ããã ãæ®éã®ãã®ã«æ»ããã¨æãã¾ããGatsby ã«ãã¡ãã£ã¨è©³ãããªãã¾ãã...\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"æ¤ç´¢ãã¦ã¿ã\" class=\"anchor\" href=\"#æ¤ç´¢ãã¦ã¿ã\">\n æ¤ç´¢ãã¦ã¿ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">試ãã«ãGo ã©ã¤ãã©ãªãã¨æ¤ç´¢ãã¦ã¿ã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"500px\" src=\"/img/blog_search/blog_search_go_library.png\" alt=\"æ¤ç´¢çµæ\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãanswer: ããããªãã¼ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ã¨æ¤ç´¢çµæã«è¡¨ç¤ºããã¦ããã®ãè¦ããã§ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããæ©æ¢°èªè§£ã¢ãã«ããå¾ãããã¯ã¨ãªã«å¯¾ããè¨äºããå¾ããããçããã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã§ãã®ããããªãã¼ãã¨ããçãã¯ãå®ã¯ãã®è¨äºã®ä¸ã§ãããããªãã¼ããå®ç¾ãã¦ãããã©ã¤ãã©ãªãã使ã£ã¦ãããã§ãããããããæãåºãããã¢ãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»ã«ããã¯ã©ãã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"500px\" src=\"/img/blog_search/zassou_otya_kaori.png\" alt=\"éèè¶\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ãã«ãéèã®ãè¶ã«ã¤ãã¦æ¸ããé¨åãçãã¨ãã¦åãåºããã¦ãã¾ãã\nï¼éèãããè¶ãä½ã£ã話ã¯\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://www.argonism.info/2021/weeds_tea/2021-05-8--%E3%2581%259D%25E3%2581%25AE%25E8%25BE%25BA%25E3%2581%25AE%25E8%258D%2589%25E3%2581%25A7%25E3%2581%258A%25E8%258C%25B6%25E3%2582%2592%25E4%25BD%259C%25E3%2582%258B/\">ãã¡ã\u003C/a>ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã©ãã§ãããããªãã¨ãªãé¢ç½ããªãã§ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã ãããªãã ã¨è¨ãããã°ã¢ã¬ã§ãããæ©æ¢°å¦ç¿ã£ã½ããæãã¾ãï¼å°ä¸¦æï¼ã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ææ³\" class=\"anchor\" href=\"#ææ³\">\n ææ³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã®è¨äºã«ã¯æ¸ãã¦ããªãã§ãããããã®å®è£
èªä½ã¯ããã¾ã§éããªãã£ãã®ã§ããããã以å¤ã®ãµã¼ãã¼ã®ç¨æã§ãã¡ããã¡ãè©°ã¾ã£ã¦ãã¦ãããã¡ãã¨æãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cstrong>GW æéä¸ã«çµãã£ã¦ããã£ããï¼ï¼ï¼\u003C/strong>\nï¼ãªãè¨äºãæ¸ããã®ã¯å¤ä¼ã¿ï¼\u003C/p>\n"}},{slug:"2022-03-31--half-dot",post:{meta:{title:"åãããã¯ãªãéªæªãªã®ã",date:new Date(1648684800000),tags:["new","pixelart","ãããçµµ"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://dotown.maeda-design-room.net/\">ãããã¿ã¦ã³\u003C/a>ã¨ãããµã¤ãããåç¥ã ãããã\nãããã¿ã¦ã³ãµã¤ãã®èª¬æãå¼ç¨ãã\u003C/p>\n\u003Cblockquote>\n\u003Cp class=\"my-5 leading-6\">DOTOWNã¯ç²ãããããã¦ã³ãã¼ãã§ãããµã¤ãã§ãã\nç²ãããã¨ã¯ãå¯è½ãªéãä½ãè§£å度ãç¨ãç©¶æ¥µã«æ½è±¡çãªè¡¨ç¾ããããããçµµãæãã¾ãã\næ½è±¡åããã¦ããã«ãé¢ãããæ
å ±ãè©°ã¾ã£ã¦ãããã²ã¼ã ã°ã©ãã£ãã¯ã«ããããéé²åï¼ï¼ç©¶æ¥µã®æ½è±¡åï¼ããéãã¦ããç²ãããã¯ãã¡ãã£ã¨ãã±ãé°å²æ°ã§ãåç°ãã¶ã¤ã³ã£ã½ããã象徴ãã¦ãããã®ã§ãããç¾å¨ã§ãåç°ãã¶ã¤ã³å®¤ã®WEBãµã¤ããå
¥ä¼ãã¼ã¸ï¼Campfire ã³ãã¥ããã£ï¼ãªã©è³ãæã«ç²ããããç»å ´ãã¾ãã\u003C/p>\n\u003C/blockquote>\n\u003Cp class=\"my-5 leading-6\">ããããç²ããããã売ãã«ãããããçµµç´ æé
å¸ãµã¤ãã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããããã®ãµã¤ããç»å ´ãã彿ããµã¤ãå
ã®ãããçµµã«ãåããããã使ãããã¨ãããã¨ã§ããããçµµã³ãã¥ããã£ã§è»½ã\u003Cdel>çãã\u003C/del>話é¡ã«ãªã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åã¯ããããçµµå°éå®¶ã§ããªããã°ãããçµµã䏿ãããã§ããªããã ã®ããã絵好ããããªã\u003Cdel>çã\u003C/del>話é¡ã«ãªã£ã¦ãã¾ã£ãã®ãããèªåã®è¦ç¹ã§æ¸ãã¦ã¿ããã¨æãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"åãããã¨ã¯\" class=\"anchor\" href=\"#åãããã¨ã¯\">\n åãããã¨ã¯\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">
72ããã§ã¯ããçµµãæ§æãã¦ãããããã¯ã®å¤§ããã®åå以ä¸ã®ãµã¤ãºã®ãããã¯ããåãããã¨å¼ã³ã¾ãã\nã¤ã¾ããã1pxãããå°ãããããã®ãã¨ããåãããã¨å¼ã¶ãã¨ã«ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
·ä½çã«ã¯ããã®ãããçµµä¸å¤®ã«ãããç½ã®å¨ãããååã»ã©å°ãããããã®ãã¨ã§ã\n\u003Cimg width=\"500px\" src=\"/img/media/half-dot/mademoiselle_notation.png\" alt=\"\">\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ãªãåãããã¯éªæªãªã®ã\" class=\"anchor\" href=\"#ãªãåãããã¯éªæªãªã®ã\">\n ãªãåãããã¯éªæªãªã®ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãããããããçµµã®é
åã¨ã¯\" class=\"anchor\" href=\"#ãããããããçµµã®é
åã¨ã¯\">\n ãããããããçµµã®é
åã¨ã¯\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãããçµµã«ãã»ã©èå³ã®ãªã人ããããã¨ãããããªã®èª°ãæ°ã«ãããã ããã¨æããããããããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããããã絵表ç¾ããã£ã¦ã人ããããã¨ãããã¯ä¸å¤§äºãªãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããããä½ããããçµµããããçµµãããããã®ã§ããããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã主ã«è§£å度ã ã¨æãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">é常ã«å°ããè§£å度ã®ãã£ã³ãã¹ã®ä¸ã§ãçµµãæ¸ããããããããçµµã ã¨è¨ããã§ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è§£å度ããã¾ãã«ãå°ããã®ã§ã表ç¾ã§ãããã¨ãéããã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å°ãããããçµµã»ã©ã表ç¾ã§ãããã¨ãæ¸ããããé£æåº¦ã¯ä¸ãã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¶éã®ä¸ã§ãããã«ãã¦è¡¨ç¾ãä½ãããããããçµµã®ééå³ã§ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ããããç²ã©ã£ã¨ããªãã¦ããæ¥µå°ã¬ãã«ã®ãããçµµã¯ãçã£ããã®ãæ¸ãã®ã¯ããªãé£ããããã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"åãããã¯åãããã§ã¯ãªã\" class=\"anchor\" href=\"#åãããã¯åãããã§ã¯ãªã\">\n åãããã¯åãããã§ã¯ãªã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">åãããã®èª¬æããã¾ããããå®éã«ã¯ãããçµµã«ããã¦ãåãããããªãã¦ãã®ã¯åå¨ããªãã¨æã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åå®ç¾©ãããããªåãããã¯ãããã¯åãããã§ã¯ãªããå¨ãã®ãã¯ã»ã«ã2åã«ãªã£ã¦ããã®ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æåã«åãä¸ãããããçµµã®ä¾ãè¦ã¦ã¿ã¾ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"500px\" src=\"/img/media/half-dot/mademoiselle.png\" alt=\"\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åãããã®ä¾ã¨ãã¦ãçãä¸ã®ç½ã®å°ããããããåãããã§ããã¨è¨ãã¾ããããå®éã«ã¯\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cstrong>ãã®ãã¯ã»ã«ä»¥å¤ã2pixelã®å¤§ãã\u003C/strong>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"åãããã使ã£ãç¬éã«ãè§£å度ã¯åã«ãªã\" class=\"anchor\" href=\"#åãããã使ã£ãç¬éã«ãè§£å度ã¯åã«ãªã\">\n åãããã使ã£ãç¬éã«ãè§£å度ã¯åã«ãªã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¤ã¾ããåãããã¨ããã®ã¯åãããã§ã¯ãªããããããã1pixelã¨ãªã£ã¦ãã¾ãããã\nåãããã使ã£ãç¬éã«ããã®ãããçµµã¯è§£å度ã2åã«ãªã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åãããã使ããã¦ãããããçµµã縮å°ãããã¨ãèãã¦ã¿ã¾ãããã\nä¾ãã°ãå
ã»ã©åãä¸ãããããçµµã®è§£å度ã¯ä¸è¦ã8 x 9ãã®ããã«è¦ãã¾ãããåãããããããããå
72®éã«ã¯ã16 x 18ãã ã¨æããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®éã«16x18ã«ãã¦ã¿ã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ãã¾ãã«ãå°ããã®ã§ãcssã§æ¡å¤§ãã¦ãã¾ããæ¬æ¥ã®å¤§ããã§ç¢ºããããå ´åã¯ç»åãã¯ãªãã¯ãã¦ã¿ã¦ãã ããï¼\u003C/p>\n\u003Cstyle>\n#downscale span {\n width: 64px;\n height: 72px;\n image-rendering: pixelated;\n}\n\u003C/style>\n\n\u003Cdiv id=\"downscale\" style=\"display: flex; flex-direction: row; justify-content: center;\">\n \u003Cdiv id=\"downscale\" style=\"margin-bottom: 1rem; image-rendering: pixelated;\">\n \u003Ca href=\"/img/media/half-dot/mademoiselle_16x18.png\">\n \u003Cimg width=\"128px\" src=\"/img/media/half-dot/mademoiselle_16x18.png\">\u003C/img>\n \u003C/a>\n \u003C/div>\n\u003C/div>\n\n\u003Cp class=\"my-5 leading-6\">ç»åã®æ¬ä½ã®å¤§ãã以å¤ã¯å¤ãããªãã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã§ã¯ããã®ãããçµµã®è§£å度ã\u003Cstrong>ããã«ååã«\u003C/strong>è½ã¨ããå ´åãã©ããªãã§ããããï¼\u003C/p>\n\u003Cdiv id=\"downscale\" style=\"display: flex; flex-direction: row; justify-content: center;\">\n \u003Cdiv id=\"downscale\" style=\"margin-bottom: 1rem; image-rendering: pixelated;\">\n \u003Ca href=\"/img/media/half-dot/mademoiselle_8x9.png\">\n \u003Cimg width=\"128px\" src=\"/img/media/half-dot/mademoiselle_8x9.png\">\u003C/img>\n \u003C/a>\n \u003C/div>\n\u003C/div>\n\n\u003Cp class=\"my-5 leading-6\">ã¯ããåãããããã£ãç®æãå¤ãã£ã¦ãã¾ãã¾ãããã¤ã¾ããã16x18ãããã¯ãæ¬å½ã®è§£å度ã ã£ãããã§ããï¼èªæã§ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¦ãåãããããªãç®æã«ã¤ãã¦ã¯å¤ãã£ã¦ããªãç¹ãããä¸è¦8x9ã®è§£å度ã«è¦ããããè£ä»ãã¦ãã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãªã話é¡ã«ãªã£ãã®ã\" class=\"anchor\" href=\"#ãªã話é¡ã«ãªã£ãã®ã\">\n ãªã話é¡ã«ãªã£ãã®ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">2åã®è§£å度ãå¾ã¦ãããããå
¬å¼ã®èª¬æã¨ç
§ããåãããã¨ãããã¯ãã¯ããç²ããããã®ãããªè§£å度ã§ã¯ãªãããã¾ãã¾ãç²ããããçµµãã®æ¹ã«ãªãã§ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
¬å¼ãµã¤ãã®èª¬æã«ã\u003C/p>\n\u003Cblockquote>\n\u003Cp class=\"my-5 leading-6\">ç²ãããã¨ã¯ãå¯è½ãªéãä½ãè§£å度ãç¨ãç©¶æ¥µã«æ½è±¡çãªè¡¨ç¾ããããããçµµãæãã¾ãã\næ½è±¡åããã¦ããã«ãé¢ãããæ
å ±ãè©°ã¾ã£ã¦ããã...\u003C/p>\n\u003C/blockquote>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã«ãå³ããè§£å度ã®å¶ç´ã®ä¸ã§ããããçµµã¯æ½è±¡åãã©ã®ããã«ãããããè
ã®è¦ãã©ãã§ãããããçµµã®è¦ã©ãããªãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã§ããããè§£å度ãåå¢ãã¦ãããçµµã®è¡¨ç¾ã§ããããã³ã·ã£ã«ã大å¹
ã«å¢ãã¦ããã®ã«ããããããããåããããã®ç®æä»¥å¤ã¯ã¯è§£å度ãä½ãã¾ã¾ãªã®ã§ããã¯ãããã¯ã¯ãªãªãã£ãé«ããããçµµã¨ã¯è¨ããªããªã£ã¦ãã¾ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¤ã¾ããé¨åçã«è§£å度ãä¸ãããªãã¦ãã¨ã¯ããããçµµã«ããã¦ä¸å¤§äºãªããã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãç²ããããã¨ããæå°ã¬ãã«ã®ãµã¤ãºã売ãã«ããã®ã§ããã°ããã®å¶ç´ã«å¯¾ãã¦çæ£é¢ããåãçµããã¨ãæå¾
ããã¦ããã®ã«ãåãããã使ã£ã¦å®è³ªçãªè§£å度ãåã«ãã¦ãã¾ã£ã¦ããã夿°ã®ããã¿ã¼ã®åæãè²·ã£ãã®ã ã¨æãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¾ã責ãç«ã¦ããããªãã¨ã¯è¨ããããªãã§ããã1/4ã®åãããã使ã£ã¦ãããã®ããããç§ããã®ãµã¤ãã®ãããçµµã®èª¬æã¨å®éã®ãããçµµãä¸è´ãã¦ããªãããã«è¦ãã¦ãã¾ãã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"æå¾ã«\" class=\"anchor\" href=\"#æå¾ã«\">\n æå¾ã«\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">
72以ä¸ããªãåããããéªæªãªã®ããç§ã®è¦è§£ãä¼ãã£ãã§ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åä¸ãããã¯ããã絵師ããããçµµçéã®ç·æã§ã¯ãªããç§åäººã®æè¦ã§ãããã¨ãä¼ãã¦ããããã¨æãã¾ãã\u003C/p>\n"}},{slug:"2022-03-12--python-confluence",post:{meta:{title:"Pythonã§è§¦ãConfluence API",date:new Date(1647043200000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ä»å Confluence API ã触ããã¨ããã£ããã©ãæ¥æ¬èªã®ããã¥ã¡ã³ãããªãã£ãã®ã¨ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¼ã¯ã³ã®åå¾->API å©ãã¾ã§ã®ããã¼ãä½åçã«ã¾ã¨ã¾ã£ã¦ãªã & å
¬å¼ããã¥ã¡ã³ãããããã¥ããã£ãã®ã§ãä»åèªå·±æµã«ã¾ã¨ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ãããã¥ã¡ã³ãã«è¼ã£ã¦ããªãæ
å ±ãããã®ã§ããããã¾ã¨ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã ãèªå㯠Confluence èªä½ã触ããã¨ãã»ã¨ãã©ãªãã®ã§ãããã¾ããã¼ãºã¨ãããããªããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åºæ¬ç㪠oauth ããã¼ã oauth ã§åå¾ãããã¼ã¯ã³ãå©ç¨ãã API ãªã¯ã¨ã¹ãã®æ¹æ³ã«ã¤ãã¦ã¯èª¬æãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
·ä½çã«ã¯ã以ä¸ã®å
å®¹ãæ±ãã¾ãã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%AE%E5%8F%96%E5%BE%97\">ãã¼ã¯ã³ã®åå¾\u003C/a>\u003C/li>\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#Oauth%E3%81%A7%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%AE%E5%8F%96%E5%BE%97\">Oauth ã§ãã¼ã¯ã³ã®åå¾\u003C/a>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#%E6%9C%9F%E9%99%90%E5%88%87%E3%82%8C%E3%81%AB%E9%9A%9B%E3%81%97%E3%81%A6%E3%81%AE%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%AE%E6%9B%B4%E6%96%B0\">æéåãã«éãã¦ã®ãã¼ã¯ã³ã®æ´æ°\u003C/a>\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#cloud_id\">cloud id ã«ã¤ãã¦\u003C/a>\u003C/li>\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#%E8%A8%98%E4%BA%8B%E3%81%AE%E5%8F%96%E5%BE%97\">è¨äºã®åå¾\u003C/a>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#%E8%A8%98%E4%BA%8B%E3%81%AE%E6%9C%AC%E6%96%87%E3%81%AE%E5%8F%96%E5%BE%97\">è¨äºã®æ¬æã®åå¾\u003C/a>\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%8D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3\">
72ãã¼ã¸ãã¼ã·ã§ã³\u003C/a>\u003C/li>\n\u003Cli class=\"list-disc\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"#confluence_api_client\">ç°¡æ confluence api ã¯ã©ã¤ã¢ã³ã\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cdiv id=\"ãã¼ã¯ã³ã®åå¾\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ãã¼ã¯ã³ã®åå¾\" class=\"anchor\" href=\"#ãã¼ã¯ã³ã®åå¾\">\n ãã¼ã¯ã³ã®åå¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Col class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">Confluence ã®è¨å®ç»é¢ã«è¡ã\n\u003Cimg width=\"500px\" src=\"/img/confluence/settings.png\" alt=\"\">\u003C/li>\n\u003Cli class=\"list-disc\">ãã¹ã¯ã¼ã\n\u003Cimg width=\"500px\" src=\"/img/confluence/password.png\" alt=\"\">\u003C/li>\n\u003Cli class=\"list-disc\">ã»ãã¥ãªãã£ï¼API ãã¼ã¯ã³\n\u003Cimg width=\"500px\" src=\"/img/confluence/api-token.png\" alt=\"\">\u003C/li>\n\u003Cli class=\"list-disc\">API ãã¼ã¯ã³ã®ä½æãããã¿ã³ãããã¼ã¯ã³ã使ã§ãã\u003C/li>\n\u003C/ol>\n\u003Cdiv id=\"Oauthã§ãã¼ã¯ã³ã®åå¾\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"oauth-ã§ãã¼ã¯ã³ã®åå¾\" class=\"anchor\" href=\"#oauth-ã§ãã¼ã¯ã³ã®åå¾\">\n Oauth ã§ãã¼ã¯ã³ã®åå¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Col class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ãã£ããããã¼ã³ã³ã½ã¼ã«ã«ã¢ã¯ã»ã¹ãã¾ãã\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/console\">https://developer.atlassian.com/console\u003C/a>\u003C/li>\n\u003Cli class=\"list-disc\">Create ãã¿ã³ > OAuth 2.0 integration ãã Confluence ã¢ããªã使ã§ãã¾ã\u003C/li>\n\u003Cli class=\"list-disc\">次ã«ã¹ã³ã¼ããè¨å®ãã¾ããã¢ããªã®ç®¡çç»é¢ > Permisisons > Confluence API Add/Configure > Edit scope ããç·¨éãã¾ãã\u003C/li>\n\u003Cli class=\"list-disc\">ã¹ã³ã¼ãã®è©³ç´°ã¯ãããã確èªã§ãã¾ããå¿
è¦ãªã¹ã³ã¼ããè¨å®ãã¦ãã ããã\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/cloud/confluence/scopes-for-oauth-2-3LO-and-forge-apps/\">https://developer.atlassian.com/cloud/confluence/scopes-for-oauth-2-3LO-and-forge-apps/\u003C/a>\u003C/li>\n\u003Cli class=\"list-disc\">Oauth ãã¼ã¯ã³ã®åå¾ã¯ãJira ã§ã®å
¬å¼ã®ä¾ãæµç¨ãã¦è¡ãã¾ãã\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/atlassian-api/atlassian-python-api/blob/master/examples/jira/jira_oauth2.py\">https://github.com/atlassian-api/atlassian-python-api/blob/master/examples/jira/jira_oauth2.py\u003C/a>\u003C/li>\n\u003C/ol>\n\u003Cpre>\u003Ccode class=\"language-python\">from requests_oauthlib import OAuth2Session\nfrom atlassian import Confluence\nfrom flask import Flask, request, redirect, session\nimport requests\n\napp = Flask(__name__)\napp.secret_key = ""\n\n# JIRA OAuth URLs\nauthorization_base_url = "https://auth.atlassian.com/authorize"\ntoken_url = "https://auth.atlassian.com/oauth/token"\n\n\nclient_id = "{client_id}"\nclient_secret = "{client_secret}"\nredirect_uri = "{callback}"\n\[email protected]("/login")\ndef login():\n scope = ["read:page:confluence","read:attachment:confluence","read:blogpost:confluence",\n "read:custom-content:confluence","read:comment:confluence","read:group:confluence",\n "read:configuration:confluence","read:space:confluence","read:space.permission:confluence",\n "read:space.property:confluence","read:space.setting:confluence","read:content.permission:confluence",\n "read:content.property:confluence","read:content.restriction:confluence","read:content.metadata:confluence",\n "read:content-details:confluence", "read:space-details:confluence",\n "read:user:confluence", "read:space:confluence", "offline_access"]\n audience = "api.atlassian.com"\n\n oauth = OAuth2Session(client_id, scope=scope, redirect_uri=redirect_uri)\n authorization_url, state = oauth.authorization_url(\n authorization_base_url,\n audience=audience,\n )\n session["oauth_state"] = state\n return redirect(authorization_url)\n\[email protected]("/callback")\ndef callback():\n jira_oauth = OAuth2Session(client_id, state=session["oauth_state"], redirect_uri=redirect_uri)\n token_json = jira_oauth.fetch_token(token_url, client_secret=client_secret, authorization_response=request.url)\n with open("token.json", "w") as f:\n f.write(str(token_json).replace("'", '"'))\n\n # return "Token: {}<p />Projects: {}".format(token_json, ", ".join(get_projects(token_json)))\n return "Token: {}<p />".format(token_json)\n\ndef get_projects(token_json):\n req = requests.get(\n "https://api.atlassian.com/oauth/token/accessible-resources",\n headers={\n "Authorization": "Bearer {}".format(token_json["access_token"]),\n "Accept": "application/json",\n },\n )\n req.raise_for_status()\n resources = req.json()\n cloud_id = resources[0]["id"]\n\n oauth2_dict = {\n "client_id": client_id,\n "token": {\n "access_token": token_json["access_token"],\n "token_type": "Bearer",\n },\n }\n jira = Jira(url="https://api.atlassian.com/ex/jira/{}".format(cloud_id), oauth2=oauth2_dict)\n return [project["name"] for project in jira.projects()]\n\napp.secret_key = "{secret_key}"\napp.run(host="localhost", port=8080, ssl_context=('crt_path', 'key_path'), threaded=True, debug=True)\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">以éã® api ã¸ã®ãªã¯ã¨ã¹ãã¯ããã§åå¾ãã token ã使ã£ã¦è¡ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã§æ³¨æãã¦æ¬²ããã®ã¯ã\u003Cstrong>åå¾ãããã¼ã¯ã³ã®æå¹æé㯠1 æé\u003C/strong>ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼æéå¾ã«æå¹æéãåãã¦ãã¾ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼æéå¾ã«ã¯ãã¼ã¯ã³ã®ååå¾ãã\næéãåãããã¼ã¯ã³ã® refresh ãå¿
è¦ã§ãã\u003C/p>\n\u003Cdiv id=\"æéåãã«éãã¦ã®ãã¼ã¯ã³ã®æ´æ°\">\u003C/div>\n\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"æéåãã«éãã¦ã®ãã¼ã¯ã³ã®æ´æ°\" class=\"anchor\" href=\"#æéåãã«éãã¦ã®ãã¼ã¯ã³ã®æ´æ°\">\n æéåãã«éãã¦ã®ãã¼ã¯ã³ã®æ´æ°\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">å
¬å¼ããã¥ã¡ã³ãã»è©³ç´°ã¯ãã¡ãã«ããã¾ãã\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/#faq1\">https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/#faq1\u003C/
72a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¼ã¯ã³ã®æ´æ°ã®ããã«ãoffline_access ã追å ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ãã¢ããªç®¡çç»é¢ã®ã¹ã³ã¼ã管çã«ã¯ãªãã®ã§ãOauth èªè¨¼ããã¼ã® scope ã«è¿½å ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã追å ãããã¨ã§ããã¼ã¯ã³ã¨åæã«\u003Ccode>refresh token\u003C/code>ãåå¾ã§ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®\u003Ccode>refresh token\u003C/code>ã使ã£ã¦ãæ°ãã«èªè¨¼ãç´ããªãã¦ãæ°ãããã¼ã¯ã³ãåå¾ã§ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
·ä½çã«ã¯ã以ä¸ã®ã¨ã³ããã¤ã³ããå©ãã¨ãæ°ãããã¼ã¯ã³ã¨ãæ°ãã refresh tokenãæå¹æéçã®æ
å ±ãè¿ã£ã¦ãã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-shell\">curl --request POST \\\n --url 'https://auth.atlassian.com/oauth/token' \\\n --header 'Content-Type: application/json' \\\n --data '{ "grant_type": "refresh_token", "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "refresh_token": "YOUR_REFRESH_TOKEN" }'\n\u003C/code>\u003C/pre>\n\u003Cdiv id=\"cloud_id\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"cloud-id-ã«ã¤ãã¦\" class=\"anchor\" href=\"#cloud-id-ã«ã¤ãã¦\">\n cloud id ã«ã¤ãã¦\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¨ä¸æ©ã§å®éã« API å©ãã¦è¨äºãåå¾ã§ãã¾ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
¬å¼ããã¥ã¡ã³ãã¯ãã¡ãã§ãã\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/#3--make-calls-to-the-api-using-the-access-token\">https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/#3--make-calls-to-the-api-using-the-access-token\u003C/
72a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå¾ã«ã¹ããã㯠cloud id ã®åå¾ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããªæãã§ cloud id ãåå¾ã§ãã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode>curl --request GET \\\n --url https://api.atlassian.com/oauth/token/accessible-resources \\\n --header 'Authorization: Bearer ACCESS_TOKEN' \\\n --header 'Accept: application/json'\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ãã® cloud id ã使ã£ã¦ãapi å©ãããã® url ãä½ãã¾ãã\u003C/p>\n\u003Cdiv id=\"è¨äºã®åå¾\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"è¨äºã®åå¾\" class=\"anchor\" href=\"#è¨äºã®åå¾\">\n è¨äºã®åå¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã§ã¯å®éã«è¨äºãåå¾ãã¦ã¿ã¾ãã\nå
¬å¼ããã¥ã¡ã³ã: \u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/cloud/confluence/rest/api-group-content/#api-wiki-rest-api-content-get\">https://developer.atlassian.com/cloud/confluence/rest/api-group-content/#api-wiki-rest-api-content-get\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
¬å¼ã® exapmle ãã¡ãã£ã¨å¤ãã¦ãã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\"># This code sample uses the 'requests' library:\n# http://docs.python-requests.org\nimport requests\nimport json\n\ncloud_id = "åå¾ããcloud_id"\n\n# url = "https://your-domain.atlassian.net/wiki/rest/api/content"\nurl = "https://api.atlassian.com/ex/confluence/{cloud_id}/rest/api/content"\n\nheaders = {\n "Accept": "application/json",\n "Authorization": "Bearer <access_token>"\n}\n\nresponse = requests.request(\n "GET",\n url,\n headers=headers\n)\n\nprint(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">å
¬å¼ããã¥ã¡ã³ãã 㨠url ã"\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://your-domain.atlassian.net/wiki/rest/api/content%22%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81\">https://your-domain.atlassian.net/wiki/rest/api/content"ã¨ãªã£ã¦ãã¾ããã\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">your-domain ãç½®ãæãã¦ã"Unauthorized"ã«ãªã£ã¦çµããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®éã«ã¯ cloud id ã使ã£ã¦ãä¸è¨ã®ããã« url ãä½ããapi å©ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">url 以å¤ã¯ããã¥ã¡ã³ãã¨åãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ä¾ã§ãpage ãåå¾ã§ãã¾ãï¼blogpost ã¯å¥ï¼\u003C/p>\n\u003Cdiv id=\"è¨äºã®æ¬æã®åå¾\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"è¨äºã®æ¬æã®åå¾\" class=\"anchor\" href=\"#è¨äºã®æ¬æã®åå¾\">\n è¨äºã®æ¬æã®åå¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä¸è¨ã® API ãå©ããæ¹ãæ°ã¥ããã¨æãã¾ãããè¨äºã®æ¬æãã³ã¡ã³ãçã®æ
å ±ãåå¾ã§ãã¦ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ãå¥ã«æå®ããå¿
è¦ãããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå®ã¯ expand ãã©ã¡ã¼ã¿ãæå®ãããã¨ã§è¡ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¾ãã°ãè¨äºã®æ¬æãåå¾ããéãæ¬¡ã®ãã㪠url ãå¿
è¦ã«ãªãã¾ã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">url = "https://api.atlassian.com/ex/confluence/{cloud_id}/rest/api/content?expand=body.storage,body.view"\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">
72ãã®ããã«ãexpand ã¯è¤æ°æå®ã§ãã\u003Cstrong>ã«ã³ãã§ãããã¾ã\u003C/strong>ãï¼å
¬å¼ããã¥ã¡ã³ã: \u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://developer.atlassian.com/server/confluence/expansions-in-the-rest-api/%EF%BC%89\">https://developer.atlassian.com/server/confluence/expansions-in-the-rest-api/ï¼\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ¬æã¯è¤æ°ã®ãã©ã¼ãããããã£ã¦ãç´°ãããã¨ã¯èª¿ã¹ã¦ããªããã§ãããstorage ã®æ¹ããµã¤ãºãå°ãããview 㯠html ã¿ã°ã¨ããã®ã¾ã¾ã®ç¶æ
ã¨ããé°å²æ°ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åæ§ã«ãã³ã¡ã³ããåæã«åå¾ãããæã¯æ¬¡ã®ããã«ãªãã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">url = "https://api.atlassian.com/ex/confluence/{cloud_id}/rest/api/content?expand=body.storage,body.view,comment.body.storage"\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">å
¬å¼ããã¥ã¡ã³ãã«ã¯æ¸ããã¦ããªãï¼ã£ã½ãã§ãããã³ã¡ã³ãã body 以ä¸ã¨åããã㪠expand ãããããã§ãã³ã¡ã³ãæ¬æã®åå¾ã«ã¯ comment.body.storage(comment.body.view)ãå¿
è¦ã«ãªãã¾ãã\u003C/p>\n\u003Cdiv id=\"ãã¼ã¸ãã¼ã·ã§ã³\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ãã¼ã¸ãã¼ã·ã§ã³\" class=\"anchor\" href=\"#ãã¼ã¸ãã¼ã·ã§ã³\">\n ãã¼ã¸ãã¼ã·ã§ã³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¼ã¸ãã¼ã·ã§ã³ã¯ãã¯ã¨ãªãã©ã¡ã¼ã¿ã® start ã§ç®¡çããã¦ããããã§ãã\nã¾ããç´æ¥æ¬¡ã«ã¢ã¯ã»ã¹ãã¹ããªã³ã¯ãéã£ã¦ããã¦ãã¾ãã\nãªã¯ã¨ã¹ãã«æåããæãã¾ã ãã¼ã¸ãããå ´åãæ¬¡ã®ä½ç½®ã«ãããªã³ã¯ãå©ãã¨ãç¶ããè²°ãã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n "_links": {\n "next": "ãªã³ã¯"\n }\n}\n\u003C/code>\u003C/pre>\n\u003Cdiv id=\"confluence_api_client\">\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ç°¡æ-python-confluence-api-ã¯ã©ã¤ã¢ã³ã\" class=\"anchor\" href=\"#ç°¡æ-python-confluence-api-ã¯ã©ã¤ã¢ã³ã\">\n ç°¡æ Python confluence api ã¯ã©ã¤ã¢ã³ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ç°¡æãª python confluence api ã¯ã©ã¤ã¢ã³ãæ¸ããã®ã§è¼ãã¨ãã¾ãããåèã«ãªãã°ã\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://gist.github.com/argonism/2a32691c1356526e6b892815c35f54da#file-confluence_api_client-py\">https://gist.github.com/argonism/2a32691c1356526e6b892815c35f54da#file-confluence_api_client-py\u003C/a>\u003C/p>\n\u003Ciframe\n width=\"100%\"\n height=\"350\"\n src=\"data:text/html;charset=utf-8,\n \u003Chead>\u003Cbase target='_blank' />\u003C/head>\n \u003Cbody>\u003Cscript src='https://gist.github.com/argonism/2a32691c1356526e6b892815c35f54da.js'>\u003C/script>\n \u003C/body>\">\n\u003C/iframe>\n"}},{slug:"2022-03-6--learn-ml-model-in-online",post:{meta:{title:"éç¨ä¸ã®æ©æ¢°å¦ç¿ã¢ããªã§ãã¼ã¿ãåéãã¦ã¢ãã«ãåå¦ç¿ããã",date:new Date(1646524800000),tags:["pytorch","ml"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ããéãé£ã¹é£½ãã¦ãã¾ã以åã®ããã«ä½ãæ
£ããã¬ã·ããåç¾ããæ¥ã
ãç¶ãã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ¬å½ã«ï¼ã¶æä»¥ä¸éãé£ã¹ç¶ãã¦ããã®ã§ãé£ã¹æ
£ãããã®ã§ãããªãæ°é®®ã«æãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»ã¯å¦é¨ã®é大æãçµãããããæ¥ä¼ã¿ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">以åããããããã¨æã£ã¦ãããã¨ããæ¥ãã§çµãããããã§ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"以åä½ã£ãæ©æ¢°å¦ç¿ã¢ããªãmapchip-generatorã\" class=\"anchor\" href=\"#以åä½ã£ãæ©æ¢°å¦ç¿ã¢ããªãmapchip-generatorã\">\n 以åä½ã£ãæ©æ¢°å¦ç¿ã¢ããªãMapchip Generatorã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">以åã\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://www.argonism.info/2022/2022-01-22--%E3%2583%259E%25E3%2583%2583%25E3%2583%2597%25E3%2583%2581%25E3%2583%2583%25E3%2583%2597%25E3%2582%2592%25E8%2587%25AA%25E5%258B%2595%25E7%2594%259F%25E6%2588%2590%25E3%2581%2599%25E3%2582%258BWeb%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA%25E3%2582%2592%25E4%25BD%259C%25E3%2581%25A3%25E3%2581%259F/\">ããããããã¨ããç»åãèªåçæãã Web ã¢ããªãMapchip Generatorããä½ã£ãã\u003C/a>ã¨ããè¨äºãæ¸ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ä»ã稼åãã¦ãã¦ãGCP æ§ã®ãããã¦ç¡æã§éç¨ã§ãã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ã¢ããªãç 究室å
ã§ç´¹ä»ããã¨ãã**ãå©ç¨ããããã¼ã¿ã使ã£ã¦ãå¦ç¿ãã¼ã¿ãä½ããã®ã§ã¯ãªããã**ã¨ããã¢ããã¤ã¹ãããã ãããã£ã¦ã¿ããã¨ã«ã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"éç¨ä¸ã®ãã¼ã¿ããå¦ç¿ãã¼ã¿ãéãã\" class=\"anchor\" href=\"#éç¨ä¸ã®ãã¼ã¿ããå¦ç¿ãã¼ã¿ãéãã\">\n éç¨ä¸ã®ãã¼ã¿ããå¦ç¿ãã¼ã¿ãéãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä»åããã®ã¢ããªã®å©ç¨ãã¼ã¿ãããå¦ç¿ã«ä½¿ããããªãã¼ã¿ãéããããã«ã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ããããããã®çæã¯ä¸åº¦ã« 3 ã¤æç¤ºãã\u003C/li>\n\u003Cli class=\"list-disc\">çæããããããããã¯ã鏿ãããã¨ã§ãã¦ã³ãã¼ãã§ãã\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ã¨ããä¿®æ£ããã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«ããããã¦ã³ãã¼ãããããããããããåå¾ã§ããããã«ãªãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¤ã¾ãã\u003C/p>\n\u003Cpre>\u003Ccode>ãã¦ã³ãã¼ããããããããããã¯ãã¦ã¼ã¶ãæ°ã«å
¥ã£ãããããããã§ããã¨å¤æãã¦ã\nãã®ãããªããããããã¯ãã£ã¨ã¯ãªãªãã£ã®é«ãããããããã ããããããããå©ç¨ãã¦ã¢ãã«ãå¦ç¿ããã\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã¨ããå
·åã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ããã«ã\u003Cstrong>ãã¦ã³ãã¼ããããããããããã¯ãè¯ãããããããã§ããããããªãã£ããã®ã¯æªãããããããã§ãã\u003C/strong>ã¨ããä»®å®ã®å
ã§ã\nãããã®ãã¼ã¿ããã£ã¹ã¯ãªããã¼ã¿ã®å¦ç¿ãã¼ã¿ã¨ãã¦ã¿ã¾ãï¼\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ããã\" class=\"anchor\" href=\"#ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ããã\">\n ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ããã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">GAN ã®æ§é ã«ã¤ãã¦ã¯è©³ç´°ãªèª¬æããã¾ããããç°¡åã«ããã¨ã\nãããããããä½ããã¤ã¨ãããããããå¤å¥ãããã¤ãç¨æãã¦ããããããããå¤å¥ãããã¤ã¯ãããããããããããããããä½ããã¤ã«ä½ããããã®ãã©ãããå¤å¥ãã¾ãã\nãããããããä½ããã¤ã¯ããããããããå¤å¥ãããã¤ã«ãèªåãä½ã£ãã¨ãã¬ãªãããã«ãããããããä½ãããã«å¦ç¿ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããããããå¤å¥ãããã¤ããã£ã¹ã¯ãªããã¼ã¿ã¨ããã®ã§ããããã®ãã£ã¹ã¯ãªããã¼ã¿ãè³¢ããã°ã\nãããããããçæãããã¤ï¼ã¸ã§ãã¬ã¼ã¿ï¼ã¯ããèªç¶ãªï¼ä¸ãããããã¼ã¿ã«è¿ããããªï¼ãããããããçæããããå¦ç¿ã§ããããã«ãªãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
ã
ãã£ã¹ã¯ãªããã¼ã¿ã¯ãããã¼ã¿ã»ããä¸ã®ãããããããã©ããããå¤å¥ãã¾ãã\nã¤ã¾ããã¸ã§ãã¬ã¼ã¿ã¯ãã¼ã¿ã»ããä¸ã®ããããããã£ã½ããããããããçæããããã«å¦ç¿ãã¦ããããã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"åéãããã¼ã¿ã§ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ãã\" class=\"anchor\" href=\"#åéãããã¼ã¿ã§ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ãã\">\n åéãããã¼ã¿ã§ãã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¼ã¿ã»ããä¸ã®ããããããã¯å½ç¶ãè¯ããããããããã§ãããããç§ã¯ãã£ã¹ã¯ãªããã¼ã¿ã¯è¯ããããããããã©ããããå¤å¥ãã¦ããã¨è¨ãæãã¦ãä»ååéãããã¼ã¿ã使ã£ã¦å¦ç¿ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ã¤ã¾ããè¯ãããããããã¨ãã¦åéãããã®ã¯ããã¼ã¿ã»ããä¸ã«å«ã¾ããããããããã¨ãã¦ããã£ã¹ã¯ãªããã¼ã¿ãå¦ç¿ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¦ç¿æé ã¨ãã¦ã¯ã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">æåã«ããã£ã¹ã¯ãªããã¼ã¿ã«ãã®è¯ããããããããå
¥åãããã¼ã¿ã»ããä¸ã®ããããããããã¸ã§ãã¬ã¼ã¿ã«ããçæããããã®ããå¤å¥ããã\u003C/li>\n\u003Cli class=\"list-disc\">次ã«ã¸ã§ãã¬ã¼ã¿ã«ããçæãããã®å
¥åãå¤å¥ãããå¦ç¿ããã¾ãã\u003C/li>\n\u003Cli class=\"list-disc\">次ã«ããã£ã¹ã¯ãªããã¼ã¿ã®å¤å¥ãå
ã«ãã¸ã§ãã¬ã¼ã¿ãå¦ç¿ããã¾ãã\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ã¨ãã£ãå
·åã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"å®è£
\" class=\"anchor\" href=\"#å®è£
\">\n å®è£
\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¦ã³ãã¼ããããããããããã¨ã¢ãã«ã¯ GCS ãã¢ãããã¼ããã管çãã¾ãã\nã¢ãããã¼ããããããããããããã¦ã³ãã¼ãããã¢ãã«ãå¦ç¿ãããå¦ç¿ãããã¢ãã«ãã¢ãããã¼ããããµã¼ãå´ã§ã¢ãã«ããã¦ã³ãã¼ãããã¾ãã\nããã¾ã§ã¯ã¹ã¯ãªãããå¾ã¯ cron çãè¨å®ãã¦å®æå®è¡ãããã ããªãã§ãããå¦ç¿ã¯éã使¥ãªã®ã§ã¨ãããããã¼ã«ã«ã§è¡ãã¾ãã\nãã®ãã¡ç½®ç©ã®ãã¹ã¯ãããã§ cron ãè¨å®ããããã¢ãã«ãããªãå°ããã®ã§å¯è½ãªã使ã£ã¦ãªãã©ã¹ãã¤ã§ãã£ã¦ã¿ããããªã¨æã£ã¦ã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ææ³\" class=\"anchor\" href=\"#ææ³\">\n ææ³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">使ã«éãã¦è¦æ¦ããç®æã¯è²ã
ãããã©ãæãåºããã¨ããã¨ãã¦ã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ããããããã®ã¯ãªãªãã£ãä½ã\u003C/li>\n\u003Cli class=\"list-disc\">ã¢ã¼ãã£ã³ã°ã®çæããã¾ããããªã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ã¯ãªãªãã£ãä½ã\u003C/li>\n\u003Cli class=\"list-disc\">ã¢ã¼ãã£ã³ã°ãæå®ããç»åããå§ã¾ã£ã¦ãªã\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">GitHub Actions\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ssh\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ä½ãå§ããå½åãããããããã®ã¯ãªãªãã£ãèããä½ããªãç¾è±¡ããã£ã¦åå ãããããªãã£ãã\nå
·ä½çã«ã¯ãããªã¼ãä¼¼ããããªç»åãçæãããã¨ããå
·åã\næåã¯ããããããã®ã¯ãªãªãã£ãä¸ãã£ã¦ãããã¨ã«ããæ°ã¥ããããã¾ããããªãããï¼ããããã«ããæã£ã¦ãªãã£ãã\nåå 㯠batch size ã«ãã£ããbatch size ã 1 ã«ãã¦çæãã¦ããããããããããªãã£ãããããå¦ç¿æã«æããããã¾ãè¡ã£ãã\nbatch size ãæ¨è«æã«å¤ããã¨çæçµæã®ã¯ãªãªãã£ã«å¤§ããå½±é¿ããã¨ãã£ã話ã¯èãããã¨ããªããããããªãã¨æ³åããªãã£ãï¼å¸¸èã ãã©èªåãç¥ããªãã ãï¼ï¼ãããè§£æ±ºã«æéãããã£ãã\n調ã¹ã¦ãå
·ä½çãªæ
å ±ã¯åºã¦æ¥ããããã¯ä»ååºæã®åé¡ãªãã ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¢ã¼ãã£ã³ã°ã®çæã¯ãbatch size 1 ã ã£ããããªãå®è£
ããããæ©è½ã ã£ãã\nããããä¸è¿°ããããã«ãbatch size 1 ãã ã¨ã¯ãªãªãã£ãããªã¼ãè½ã¡ããã¨ã夿ãããããbatch size ã大ã
72ãããå¿
è¦ãåºãã\nããããã¨ãã¢ã¼ãã£ã³ã°ã®çæãé£ãããªãã\nãã®ãã¨ããã䏿ã¯ã¢ã¼ãã£ã³ã° gif çææ©è½ãæ¶ãããã¨ãæã£ãã\nããããå®è¡æéã¨ã¡ã¢ãªãç ç²ã«ãã®ãª GCE ä¸ã§åãããç¯å²ã«åã¾ãããã ã£ããããbatch size ãç¶æããã¾ã¾ã¢ã¼ãã£ã³ã° gif ãçæãããã¨ã«ããã\nãã®ã¨ãã®å®è£
ã§ãè²ã
ããã¤ãããç°ãªãï¼ã¤ã® batch ã®ä¸ã®ããããä¸ã¤ãã¤ã®ããããããã«ã¤ãã¦ãã¢ã¼ãã£ã³ã°ãçæãããããæ°ãã¤ããªããã°ãããªãç¹ãå¤ããç
©ãããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¤ããã®éãåã㦠GitHub Actions ã«ãã CI ãå°å
¥ããã\nssh ã§ GCE ã«ãããã¤ããã®ã ããssh 㯠interactive ã«å®è¡ããªãæã« alias ãå±éããªãã¨ãããã¨ãç¥ãã®ã«æéãããã£ãã\nã¤ã¾ããGCE ã§ã¯ docker-compose ã docker run ãããèµ·åãããããalias ã¨ã㦠docker-compose ãç»é²ãã¦ããã®ã ããããã使ããªãã¨ãããã¨ã«æ°ã¥ããªãã£ãã\nå ´åã«ãã£ã¦ã¯ shopt ã§ãªãã·ã§ã³ãæå®ãããã¨ã§ãalias ãå±éããããæå®ã§ããã¿ããã ãããã¾ããããªãã£ãããæ®éã« alias ã®å
ããã¿æ¸ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å人çã«ã¯ãæ°ã«å
¥ãã®ãµã¤ããã§ãã¦ããã£ãã§ãã\næè¡çã«ã触ã£ããã¨ãªããã®ã«ãããããã念é¡ã® CI ã«å
¥éã§ãã¦ããã£ãã§ãã\u003C/p>\n"}},{slug:"2022-02-1--wordle-solver",post:{meta:{title:"Wordleã®ã½ã«ãã¼ãæ¸ãã",date:new Date(1643673600000),tags:["wordle","python","informatics"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">wordleã®ã½ã«ããæ¸ããããªãã¨æã£ã¦ããæãTwitterã§ã¡ããã©\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãåæã§æ
å ±éãä¸çªå¤§ããåèªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã調ã¹ã¦ãã人ã®ãã¤ã¼ããåã£ã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ
å ±éãèããã®ãããªãã»ã©ãªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">...ããããWordleã§ã®åèªã®æ
å ±éã£ã¦ã©ããã£ã¦è¨ç®ãããã ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨æã£ã¦ãåãããã«Wordleã§ã®æ
å ±éãèãã¦ã人ãããããããªããã¨æã£ã¦ã調ã¹ã¦ã¿ãã¨ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://xcloche.hateblo.jp/entry/2022/01/24/212558\">https://xcloche.hateblo.jp/entry/2022/01/24/212558\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">xclocheããã¨ããæ¹ãä¸å¯§ã«è§£èª¬ãã¦ããã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®æ¹ã¯ãwordleã§ã®åèªwã®æ
å ±é-log(p(w))ããp(w)ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">$$p(w) = \\frac{(wãå
¥åããæã«å¾ããããã³ããæºãããããªåèªæ°)}{(ç·åèªæ°)}$$\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ãã¦è¨ç®ãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã»ã©ãã¤ã¾ã\u003Ccode>価å¤ãé«ãåèª = å
¥åãã¦å¹³åçã«ä¾¡å¤ã®é«ããã³ããå¾ããã\u003C/code>ã\u003Ccode>価å¤ã®é«ããã³ã = ããå°ããåèªãçµãè¾¼ãããã³ã\u003C/code>ã¨èãã¦p(w)ãå®ç¾©ããã°ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">価å¤ãé«ããªãã»ã©p(w)ãä½ããªããæ
å ±éã¨ãã¦æ±ããããã«ãªãã®ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«ããããçãå
¨ã¦ã«ã¤ãã¦æ
å ±éãè¨ç®ãã¦ãå¹³åæ
å ±éãæ±ããã°ããã®æç¹ã§æé©ãªæã®å¤æãã¤ãã¨ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ã¦ãé¢ç½ãã®ã§ãåæã ãã§ã¯ãªãã½ã«ããæ¸ãã¦ã¿ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ã½ã«ã\" class=\"anchor\" href=\"#ã½ã«ã\">\n ã½ã«ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã½ã«ãã¨ãã¦ãã£ããã¨ã¯ãä¸è¨ã®åèªãã¨ã®å¹³åæ
å ±éã®è¨ç®ãæ¯åè¡ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã ããåæä»¥å¤ã¯ãããã¾ã§å¾ããããã³ããæ´»ç¨ãã¦ãè¾æ¸ãçµã£ãç¶æ
ã§è¡ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ããããå
¨åèªãèæ
®ãã¦å¹çãããã³ããéãããã¨ãããã¨ãã§ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
¨åèªãèæ
®ããã¨è¨ç®éãããªã¼ãå¤ããªã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åèªãã¨ã®å¦çã¯ç¬ç«ã ããå¦çã忣ããããã¨ãã§ãããããã£ã¨è³¢ãæ¹æ³ã§è§£æ±ºã§ããæ°ããã¦...\u003C/p>\n"}},{slug:"2022-01-22--mapchip-gen",post:{meta:{title:"ãããããããèªåçæããWebã¢ããªãä½ã£ã",date:new Date(1643414400000),tags:["nextjs","web","application","GCE","vercel","fastapi","ml"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">æè¿ã¯éã°ããé£ã¹ã¦ãã¦ãéã®å³ããã¯ãããããªããªã£ã¦ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¬ã¯é¤
ãé£ã¹ããã ãé£ã¹ãæ¹ãè¯ãã¨ãã強迫観念ããã£ã¦ãé¤
ãããããé£ã¹ãã«ã¯éãè¯ããããéã°ããé£ã¹ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¬ä»¥å¤ã«é¤
ãé£ã¹ããè² ãã ã¨æãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¦ãåè«ãä¸åºåãã¤ããã¨ãããã¨ã§ãããããããããèªåçæãããµã¤ãããä½ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://mapchip.argonism.info/\">
72https://mapchip.argonism.info/\u003C/a>\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ããããããã¨ã¯ï¼\" class=\"anchor\" href=\"#ããããããã¨ã¯ï¼\">\n ããããããã¨ã¯ï¼\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã²ã¼ã ã®ããããæ§æããã¨ãã«ä½¿ãããé¨åã§ããããããããçµã¿åããããã¨ã§ã²ã¼ã å
ã®ããããæ§æããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¤ãã®ã²ã¼ã ã§åã使ãããææ³ã§ãä»ã¯ãã®æ¹æ³ã§ãããä½ã£ã¦ãã²ã¼ã ã¯å°ãªãããããªãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»å使ããã·ã¹ãã ã§çæãããããããããã®ä¾\u003C/p>\n\u003Cdiv style=\"display: flex; flex-direction: row; justify-content: space-evenly; padding: 0 3rem;\">\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/ogp_image.png\">\u003C/img>\n \u003C/div>\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip1.png\">\u003C/img>\n \u003C/div>\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip5.png\">\u003C/img>\n \u003C/div>\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip3.png\">\u003C/img>\n \u003C/div>\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip4.png\">\u003C/img>\n \u003C/div>\n\u003C/div>\n\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä½ã£ããµã¤ãã«ã¤ãã¦\" class=\"anchor\" href=\"#ä½ã£ããµã¤ãã«ã¤ãã¦\">\n ä½ã£ããµã¤ãã«ã¤ãã¦\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä»åä½ã£ããµã¤ãã¯ããããããããçæãããµã¤ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://mapchip.argonism.info/\">https://mapchip.argonism.info/\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãµã¤ããããã«è¡ãã¨ããGenerate!ããã¿ã³ãããã ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã¯ãªãã¯ããã¨ããããããããçæãããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ã¢ã¼ãã£ã³ã°\" class=\"anchor\" href=\"#ã¢ã¼ãã£ã³ã°\">\n ã¢ã¼ãã£ã³ã°\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããããããã®çææ©è½ã®ä»ã«ããã¢ã¼ãã£ã³ã°GIFãçæãããæ©è½ãä½ã£ã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://mapchip.argonism.info/gallery\">https://mapchip.argonism.info/gallery\u003C/a> ã§ä½¿ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">Galleryã«è¡ãã¨ãããããã®ããããããã表示ããã¦ãããããã¯ä»ã¾ã§çæãããããããããã®ä¸è¦§ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ä¸ãããäºã¤ã®ããããããã鏿ãããGO!ããã¿ã³ãæ¼ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¨ã鏿ããçæ¹ã®ããããããããããçæ¹ã®ããããããã«æ»ããï¼ï¼ï¼ã«ç§»åãããããªGIFãçæãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">NOTE: çæã«ã¯ã¡ãã£ã¨æéããããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¾ãã°ã次ã®äºã¤ã®ããããããã鏿ããã¨ã次ã®ãããªGIFãçæãããã\u003C/p>\n\u003Cdiv style=\"display: flex; flex-direction: row; justify-content: space-evenly; padding: 0 3rem; align-items: center;\">\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip6.png\">\u003C/img>\n \u003C/div>\n \u003Cp>â\u003C/p>\n \u003Cdiv style=\"width: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip4.png\">\u003C/img>\n \u003C/div>\n \u003Cp>=\u003C/p>\n \u003Cdiv style=\"width: 64px; height: 64px; image-rendering: pixelated;\">\n \u003Cimg src=\"/img/media/mapchip-morphing.gif\">\u003C/img>\n \u003C/div>\n\u003C/div>\n\n\u003Cp class=\"my-5 leading-6\">ããã¯ï¼ã¤ã®ããããããã®çæ¹ã®æ½å¨å¤æ°ããããçæ¹ã®æ½å¨å¤æ°ã«ã¡ãã£ã¨ãã¤è¿ã¥ããªãããã¬ã¼ã ãçæããGIFãæ§æãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¹ã«ç®æ°ããæ©è½ã¨ããããã§ã¯ãªãããWebã¢ããªã¨ãã¦éã¹ãã¨ãªãã¨ããªããªãé¢ç½ãããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">
72\n \u003Ca name=\"ãªãä½ã£ãã®ã\" class=\"anchor\" href=\"#ãªãä½ã£ãã®ã\">\n ãªãä½ã£ãã®ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">大å¦ã®æ©æ¢°å¦ç¿ã»æ·±å±¤å¦ç¿ã®ææ¥ã§ãèªåã§èª²é¡ãè¨å®ãã¦ã¢ãã«ãå¦ç¿ãããã¨ãããã®ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã¯ããã§ããããããããä¸ã¤ä¸ã¤ä½ãã®ã¯å¤§å¤ã ï¼ããé
å¸ããã¦ãç´ æããããã¨ãããã¨ãèæ¯ã«ãããããããã¸ã§ãã¬ã¼ã¿ã®éçºã宣è¨ããä½ã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®éã®ä½æ¥éã®ã»ã¨ãã©ãã¼ã¿ãããéãããã¨ã ã£ãã幸ãDCGANã®æå¸«ãªãå¦ç¿ã ã£ãããããã¼ã¿ã»ããã®ç´ æãéããã ãã§æ¸ãã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">人ã«ãã£ã¦ã¯èªåã§ã©ããªã³ã°ãããå¿
è¦ããã£ã¦ãæéãé·ããªãã®ã§ããã¸ã§ã¯ãã®è¦æ¨¡ãééããã¨è©°ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã½ã¼ã¹ã³ã¼ãã®ã»ãã¯ãã¢ãã«ãã¢ãã«ã®è¨ç·´ã¹ã¯ãªããã¯å
çãç¨æãã¦ããã¦ããã®ã§ãä¸é¨ãã¡ãã¡ãã£ã¨æ¸ãæ¿ããã ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããããã¸ã§ã¯ãç³»ã®ææ¥ã¯å°ãªããã大夿æç¾©ã ã¨æãã®ã§å¢ãã¦æ¬²ããã¨æãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä½¿ç¨æè¡ã»ãµã¼ãã¹\" class=\"anchor\" href=\"#ä½¿ç¨æè¡ã»ãµã¼ãã¹\">\n ä½¿ç¨æè¡ã»ãµã¼ãã¹\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">github\u003C/li>\n\u003Cli class=\"list-disc\">ããã¯ã¨ã³ã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">python\u003C/li>\n\u003Cli class=\"list-disc\">pytorch\u003C/li>\n\u003Cli class=\"list-disc\">fastapi\u003C/li>\n\u003Cli class=\"list-disc\">docker\u003C/li>\n\u003Cli class=\"list-disc\">Google Compute Engine\u003C/li>\n\u003Cli class=\"list-disc\">Google Container Registry\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">ããã³ãã¨ã³ã\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">NextJS\u003C/li>\n\u003Cli class=\"list-disc\">TailwindCSS\u003C/li>\n\u003Cli class=\"list-disc\">Vercel\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">NextJSã¯ä½¿ãåæããã£ããå
ã
Reactã使ã£ããã¨ããã£ãããSSRãæã£ãããããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã¨ã³ãã¯æ©æ¢°å¦ç¿ã¢ãã«ããã¹ãã£ã³ã°ãã¦ãããããã¾ãæããããªãã¦ãããããã¨ãã«NextJSã®API routeæ©è½ã便å©ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããVercelã«ãããã¤ããã®ããã¡ããã¡ãç°¡åã§ãããããããåç¨å©ç¨ãããªããã°ç¡æã¨ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"æé\" class=\"anchor\" href=\"#æé\">\n æé\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">大å¤ããããããã¨ã«ãæéã¯ä»ã®æããã£ã¦ãªããæéããããã¨ãããGCEã ããç¡ææ ã«åãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ä¸åè¨å®ãã¹ã£ã¦ã25åãããããã£ã¦ãã¾ã£ããï¼\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"æãåº\" class=\"anchor\" href=\"#æãåº\">\n æãåº\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ããããããçæã¢ãã«\" class=\"anchor\" href=\"#ããããããçæã¢ãã«\">\n ããããããçæã¢ãã«\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">å¦é¨ï¼å¹´ã®é ã«ææ¥ã§ä½æããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">彿ããããããããéãã¦ãå¿
è¦ã«å¿ãã¦ãããããããåå²ãã¦ãåé¡ãã¦çããã¼ã¿éããã®ã¯ãã¯ã大å¤ã ã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¦æ©æ¢°å¦ç¿ã¢ãã«ãå§ãã¦ããã£ããããè²ã
次å
ã®ãµã¤ãºãåããªãã¦æç§æ¸èªãã ããããè¨äºèªãã ãã§æåæããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããããã®è¦å´ã¯ä»ã®åå°ã«ãªã£ã¦ãã¨æãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãµã¤ã使\" class=\"anchor\" href=\"#ãµã¤ã使\">\n ãµã¤ã使\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä½ãå§ããæåãã¢ãã«ããçæãããããããããã®ã¯ãªãªãã£ãä½ãã¦ãåå ããªããªãããããªãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åå ã¯ããããµã¤ãºã ã£ãã®ã ããããããµã¤ãºã夿´ããã¨ãã¢ã¼ãã£ã³ã°GIFçææ©è½ã«å½±é¿ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">両ç«ãããã®ã¯å°é£ã ã£ãããã¢ã¼ãã£ã³ã°GIFçææ©è½ããæ£ç¢ºæ§ã¨çææéãç ç²ã«ãã¦ãããããããã®ã¯ãªãªãã£ãç¶æãããã¨ã«ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ç¥è¦\" class=\"anchor\" href=\"#ç¥è¦\">\n ç¥è¦\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">Webãµã¤ãã§ãããçµµã表示ããã¨ãã¯ã次ã®ã¹ã¿ã¤ã«ãé©å¿ããã¨ããªãµã¤ãºã«å¼·ããªããã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-css\">image-rendering: pixelated\n\u003C/code>\u003C/pre>\n"}},{slug:"2021-09-27--use_state_dict",post:{meta:{title:"torch.save(model)ãããã¨ãã¯ã¢ã¸ã¥ã¼ã«ã«æ°ãã¤ãã",date:new Date(1632700800000),tags:["ml","pytorch"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">pytorchã§ã¢ãã«ãä¿åããæ¹æ³ã¯åã®ç¥ã£ã¦ããã¨ããï¼éããã£ã¦ã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">torch.save(model, filename)\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã¨\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">torhc.save(model.state_dict(), filename)\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¾è
ã¯ã¢ãã«ã¨ãããããã¢ãã«ã®ãã©ã¡ã¼ã¿ãä¿åãã¦ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¢ãã«ãä¿åãããµã³ãã«ã³ã¼ããæ¢ãã¨ãå
¬å¼ããã¥ã¡ã³ãã§ãã ãããã®ãµã¤ãã§ãå¾è
ã®\u003Ccode>model.state_dict()\u003C/code>ã使ããµã³ãã«ã³ã¼ãã«ãªã£ã¦ããã¨æãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åã¯ããªãåè
ã§ãªãå¾è
ãªã®ãç¥ãæ©ä¼ããã£ãã
72®ã§ãã¡ã¢ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ãªã\u003Ccode>torch.save(model,-filename)\u003C/code>ã ã¨ãã¡ãªã®ã\" class=\"anchor\" href=\"#ãªã\u003Ccode>torch.save(model,-filename)\u003C/code>ã ã¨ãã¡ãªã®ã\">\n ãªã\u003Ccode>torch.save(model, filename)\u003C/code>ã ã¨ãã¡ãªã®ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"çç±:-ã¢ãã«ããã¼ãããã¨ããã¢ãã«ãã¤ã³ãã¼ãããã¢ã¸ã¥ã¼ã«ãå¿
è¦ã«ãªãã\" class=\"anchor\" href=\"#çç±:-ã¢ãã«ããã¼ãããã¨ããã¢ãã«ãã¤ã³ãã¼ãããã¢ã¸ã¥ã¼ã«ãå¿
è¦ã«ãªãã\">\n çç±: ã¢ãã«ããã¼ãããã¨ããã¢ãã«ãã¤ã³ãã¼ãããã¢ã¸ã¥ã¼ã«ãå¿
è¦ã«ãªãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä¾ãã°èªä½ã®ã¢ã¸ã¥ã¼ã«ã使ã£ã¦ã¢ãã«ãå¦ç¿ããã¨ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ã¢ãã«ã\u003Ccode>torch.save(model, filename)\u003C/code>
72ã§ä¿åãããã¨ããã¨ããã®ã¢ãã«ããã¼ãããã¨ãã«ãã®èªä½ã®ã¢ã¸ã¥ã¼ã«ãå¿
è¦ã¨ãªãï¼ä½¿ã使ããªãã«éããï¼ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åãå¦ç¿ããã¢ãã«ããã¼ããã¦æ¨è«ã«ä½¿ããã¨ããããã¢ãã«å
ã®ã¹ã¯ãªããã§ã¤ã³ãã¼ãããã¦ããã¢ã¸ã¥ã¼ã«ãã¤ã³ã¹ãã¼ã«ã§ããªãã¦ãã¢ãã«ããã¼ãã§ããªãã¨ãããã¨ããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ£ç¢ºã«ã¯ãã¢ãã«ã®ã¢ã¸ã¥ã¼ã«ããã¼ãããæã«ãsaveããæã¨åãã¢ã¸ã¥ã¼ã«ãimportå¯è½ã«ãªã£ã¦ããªãã¨ãã¡ã£ã¦æãã£ã½ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/pytorch/pytorch/issues/3678\">https://github.com/pytorch/pytorch/issues/3678\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">調ã¹ãæãã ã¨ãä»ã«ãGPUã«éã£ãã¢ãã«ã\u003Ccode>torch.save(model, filename)\u003C/code>ããå ´åããã®ã¢ãã«ããã¼ãããã¨ãã«GPUã«ç½®ããããããGPUã使ããªãã¨ã¢ãã«ããã¼ãã§ããªããªããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ãããã¨ãããã®ã§ã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">torhc.save(model.state_dict(), filename)\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã使ãã¾ãã\u003C/p>\n"}},{slug:"2021-08-9--swift-go-mobile-app",post:{meta:{title:"Swiftã¨Golangã§ã¹ããã¢ããªãä½ã",date:new Date(1628467200000),tags:["golang","echo","swift","smartphone"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ä»ã¾ã§ä½åº¦ãã¹ããã¢ããªãä½ããã¨æã£ããã¨ã¯ãã£ãããä½ã£ããã¨ã¯ãªãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ã䏿ã®4é£ä¼ã§ä½ã£ã¦ã¿ãï¼\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä½¿ç¨æè¡\" class=\"anchor\" href=\"#ä½¿ç¨æè¡\">\n ä½¿ç¨æè¡\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">iOSã®éçºã«é·ããã¨è¦ææèã¨ãã©ã¦ãããã£ããããå
æãã¹ãiOSã¢ããªãä½ããã¨ã«ããã\nã¨ããããã§ãç¾å¨ã®ä½¿ç¨æè¡ã¯ãããªæãã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">Swift\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">SwiftUI\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">Golang\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">Echo: REST Api åãã®ãã¬ã¼ã ã¯ã¼ã¯\u003C/li>\n\u003Cli class=\"list-disc\">GORM: Goã®ORM\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">GCE\u003C/li>\n\u003Cli class=\"list-disc\">MySQL\u003C/li>\n\u003Cli class=\"list-disc\">GitHub\u003C/li>\n\u003C/ul>\n\n \u003Cdiv class=\"text-xl my-10\">\n \u003Ca name=\"éçºç°å¢ã®ã¿\" class=\"anchor\" href=\"#éçºç°å¢ã®ã¿\">\n éçºç°å¢ã®ã¿\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">docker\u003C/li>\n\u003Cli class=\"list-disc\">Air: Goã®ããããªãã¼ãç¨ã®ã©ã¤ãã©ãª\u003C/li>\n\u003C/ul>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä½ãã¢ããª\" class=\"anchor\" href=\"#ä½ãã¢ããª\">\n ä½ãã¢ããª\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä»åã¯ã以忿¥ã§ä½æããã¢ããªã±ã¼ã·ã§ã³ã®ã¹ããçãä½ã£ã¦ã¿ãã\nãã®ã¢ããªã±ã¼ã·ã§ã³ã¯ããããã³ã³ãã¨ããããã飯ãé£ã¹ã«ãããã¨ã¯æ±ºã¾ã£ããã©ãã©ãã«ãããæ±ºã¾ããªãã人ã®ããã«ãè¡ãã飯å±ãããæ±ºå®ãã¦ãããã¢ããªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">éçºã¯ã詳細ã¯ä½ããªããèãã¦ãããã¨ããè¦åãçºè»Developmentæ¹å¼ãæ¡ç¨\u003C/p>\n\u003Ciframe src=\"https://docs.google.com/presentation/d/e/2PACX-1vR3A9YzS-0NOlkZomtQowRqUfsExcqnxfUzXKPsfQ4jJyqUZnJWId7eY_Ag3iPAFw/embed?start=false&loop=false&delayms=3000\" frameborder=\"0\" width=\"1280\" height=\"749\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\">\u003C/iframe>\n\n\u003Cp class=\"my-5 leading-6\">æè¿æ°ã¥ãããã¨ãªãã§ããããã§ã«ååã®ãµã¤ããåå¨ãã¦ãããæ¹åãæ¤è¨ä¸ã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"swiftã§ããã³ãã¨ã³ããä½ã\" class=\"anchor\" href=\"#swiftã§ããã³ãã¨ã³ããä½ã\">\n Swiftã§ããã³ãã¨ã³ããä½ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">
72Appleå
¬å¼ã®ãã¥ã¼ããªã¢ã«ã§Swiftã§ã®ã¢ããªã®ä½ãæ¹ãå¦ã¶ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã»ã©ã以åã«è¦ããã®ã¨ã¡ãã£ã¨éãå°è±¡ãåããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããstoryboardã¨ããªãã£ãã£ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">調ã¹ã¦ã¿ãã¨ãä»åå¦ãã ãã®ã¯SwiftUIã¨ãããã®ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">storyboardã¯GUIã§ç»é¢ãæ§æããã®ã«å¯¾ãã¦ãSwiftUIã¯ã³ã¼ãã§ã¬ã¤ã¢ã¦ããæ§ç¯ãããã®ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãµã¼ãã¨ããæãã ããã¨ããããæ°ããã»ãã§å®éã«ããã¸ã§ã¯ããä½ã£ã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¥ã¼ããªã¢ã«ã§ã¯ããæ°ã«å
¥ãã®å ´æãç»é²ããã¢ããªãä½ãã¨ããæãã§ãå²ã¨æµç¨ã§ããããªå
容ã§ãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ãããããã飯å±ããã®ä¸è¦§ã表示ã§ããããã«ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã¦ãã飯å±ããã®ä¸è¦§ãããã飯å±ãããã¿ããããã¨ãã®è©³ç´°æ
å ±ã®ãã¼ã¸ã¸é£ã¶ãããªã¢ããªãã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">(ãã¼ã¿ã¯ä»®ç½®ã)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"300px\" src=\"/img/media/meshikoko-swift-first.gif?width=300\" alt=\"\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">Swiftã¨ããè¨èªãã»ã¼åãã¦è§¦ã£ãããçµæ§ããæè§¦ãè¦ããã\nè¨èªæ©è½ãçµæ§è±å¯ã\nOptionalåã¨ãããã®ããç¥ã£ã¦ã¯ãããããããè¨èªæ©è½ã¨ãã¦çµã¿è¾¼ã¾ãã¦ããè¨èªã使ã£ããã¨ã¯ãªãã£ããããæ°é®®ã ã£ãã\nãã ãæ
£ãã¦ãªãã ããããããªããããããã°ãã¡ãã£ã¨ãã¥ããããªã¨æããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ããã¯ã¨ã³ããä½ã\" class=\"anchor\" href=\"#ããã¯ã¨ã³ããä½ã\">\n ããã¯ã¨ã³ããä½ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã¯ã¨ã³ãã¯Goãæ¡ç¨ããã\nããã¯ã¨ã³ãã§ãã使ãããè¨èªã§ã使ã£ããã¨ããªãã£ããããªããããèãã®ã§ä¸åº¦ä½¿ã£ã¦ã¿ããããªã¨ããæ°æã¡ã§ä½¿ãå§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¹ããåãã®APIã¨ãããã¨ã§ããã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦Echoã使ã£ã¦ã¿ãã\nGinãEchoã§è¿·ã£ãããGinã¯ä»å¾å¥ã«ä½¿ãå¯è½æ§ãããããã使ããªããããªEchoã試ãã¦ã¿ãã\nORMãã§ããã°æ¬²ããã¨ãããã¨ã§ãGORMã使ã£ã¦ã¿ãã\nãã¼ã¿ãã¼ã¹ã¯åéºããã«MySQLã§è¡ã£ã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã¨ã³ãã«é¢ãã¦ã¯ç¹çãããã¨ããªãããã Goã®å¦ç¿ã¨ããæãã\nãªã«ããAPIãä½ãä¸ã§ãMVC以å¤ã«Cleanã¢ã¼ããã¯ãã£ã¨ãããã®ããããããã\nå¤å°èª¿ã¹ã¦ã¿ãããä»åã®ããã¸ã§ã¯ãã§æ¡ç¨ããã«ã¯ã¢ã¼ããã¯ãã£ããã«ãããããã«æãããããè¦éã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">Goã¯Cã«è¿ãå°è±¡ã ã£ãã\nCã«ã¢ãã³ãªæ©è½ã¨ææ³ãä¸ãããããªã\nã¾ã ã´ã¼ã«ã¼ãã³ã¯ä½¿ã£ããã¨ããªããï¼æå¹ã«ä½¿ãããããªå ´é¢ã«ééãã¦ããªãã¨æãï¼\nã·ã³ã°ã«ãã¤ããªå¥½ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åæã«äºã¤ã®è¨èªãæ°ãã触ãã¨é ããã°ããã¡ãªã®ã§ããããããªãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ã©ãã§ãã¹ãã£ã³ã°ããã\" class=\"anchor\" href=\"#ã©ãã§ãã¹ãã£ã³ã°ããã\">\n ã©ãã§ãã¹ãã£ã³ã°ããã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">åè£ã¨ãã¦ã¯\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">AWSã®ä½ã(EC2ãªã©)\u003C/li>\n\u003Cli class=\"list-disc\">GCP\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">GAE\u003C/li>\n\u003Cli class=\"list-disc\">GCE\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli class=\"list-disc\">Azureã®ä½ã\u003C/li>\n\u003Cli class=\"list-disc\">ä½ãã®VPS(Conohaãªã©)\u003C/li>\n\u003Cli class=\"list-disc\">Heroku\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ã§ããã ããç¡æã§ããããã¨ããæ°æã¡ãå¼·ããããVPSã¯é¤å¤\nç¡ææ ãããAWS, GCP, Azure, Herokuã®ä¸ã§ãHerokuã¯ãã§ã«Twitter Botã§ç¡ææ ã使ã£ã¦ããããé¤å¤\nã¾ãããã£ãããªã使ã£ããã¨ã®ãªããµã¼ãã¹ã使ããã¨ããæ°æã¡ããAWSãé¤å¤\nãããã¦Azureã¨GCPãæ®ã£ãããAzureã¯ç¡ææ ã®å¤å®ã ã£ããã©ããããµã¼ãã¹ãã©ãããæ©è½ãæã£ã¦ããã®ãåããã¥ããã£ãããã\nGCPã使ããã¨ã«ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"gce?-gae?\" class=\"anchor\" href=\"#gce?-gae?\">\n GCE? GAE?\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">GCPã®ä¸ã§ãä»å使ãããã«ãªããµã¼ãã¹ã¯GCEã¨GAEã\nGCEã¯AWSã§ããEC2ã§ãVPSçãªã¢ã¬ã§ã
72ããGAEã¯AWSã§ããã¨ãªã«ã«ãªãã®ãããããªãããPaaSã¨è¨ããããã®ã§ãHerokuã®ããã«ã¢ããªã±ã¼ã·ã§ã³ããããã¤ããã ãã§ããã°ã©ã ãèµ°ãããããã¨ããããªã®ãã®ã\nãã®ä¸¡æ¹ã®ãµã¼ãã¹ã«ç¡ææ ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æåãGAEãAPãµã¼ããGCEãMySQLãµã¼ãã«ãããã¨èãã¦ãããããã§ã«ä¼¼ããããªãã¨ããã£ã¦çµæãã¾ã¨ãã¦ããã¦ããè¨äºãçºè¦\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://crieit.net/posts/GCE-DB-GAE\">https://crieit.net/posts/GCE-DB-GAE\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®æ§æã§ç¡æã§åããã®ã«è¦æ¦ããã£ã½ã\u003C/p>\n\u003Cblockquote>\n\u003Cp class=\"my-5 leading-6\">GCEã«Web+DBå
¨é¨å
¥ãã«ãããè²»ç¨ãããããªããªã£ãã®ã§ãã¯ããã®æ§æã ã¨è²»ç¨ããããã¿ããã§ãã\u003C/p>\n\u003C/blockquote>\n\u003Cp class=\"my-5 leading-6\">ã¨ã®ãã¨ã ã£ããããGCEã«å
¨é¨è¼ãã«ãã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æåããã«ãéçºç°å¢ã§ä½¿ã£ã¦ããDocker-composeãGCEä¸ã§åããã¦ã¿ãããå½ç¶ã¡ã¢ãªä¸è¶³ã§åããªãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ãããæ¬çªç°å¢ã§ã¯MySQLãã»ããã¢ããããAPãµã¼ããæ®éã«èµ·åããæ¹éã«ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">NginXãã¾ã ã»ããã¢ãããã¦ããªãããããã®ãã¡ãããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä»å¾\" class=\"anchor\" href=\"#ä»å¾\">\n ä»å¾\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¨ãããããä¸é£ã®æµãã¯ã§ããã®ã§ãã¨ã¯æ©è½ãå¢ããã¦ããã ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¾å¨ã¯ãåºã®ã¹ããããç»é²ããæ©è½ã追å ããã¨ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">次ã¯ç»åã®ç»é²ã¨ããã£ã¦ã¿ããããªã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã¸ããªã¯ãéçºã«é£½ãã¦ãµã¼ãæ¢ãããå
¬éããäºå®\u003C/p>\n"}},{slug:"2021-05-8--weed-tea",post:{meta:{title:"ãã®è¾ºã«çãã¦ãããããããèãããè¶ã«ãã¦å³ãã£ã¦ã¿ãã",date:new Date(1622937600000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">ãã£ã¦ã¿ããç ç©¶æãçæ³¢æ¯é¨ ã®ç¬¬ä¸å¼¾ããã¸ã§ã¯ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®è¾ºã«çãã¦ãããããããèãããè¶ã«ãã¦å³ãã£ã¦ã¿ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"èãéãã\" class=\"anchor\" href=\"#èãéãã\">\n èãéãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¨ãããããè¿ããæ©ãåã£ã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">大å¦è¿ãã«ã¯æã£ãããè²ã
ãªæ¤ç©ãçãã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç¬ã®ãµãã¨ãããã£ãã¨ãããã£ã¦ã¦ãå«ã ãããã¡ãã£ã¨é«ãã®èã¨ã奥ãã®èãæèãã¦æ¡éããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããè¶ã«ããããã¨ããç®ç·ã§ã¾ããã®èãè¦ã¦ã¿ãã¨ããªãã¨ãªãç¾å³ãããã¨ãä¸å³ããã¨ãæãã¦ããããã«ãªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¦ããããçµæ§èªçãã¦ããããããã¯ãè¶ã£èã¨ãã¦ä½¿ãããã¿ãããªè©±ãèãããã¨ãããããã¡ãã£ã¨å¤ãã«éãã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èãéãã¦ãæã¯éãããã人ã®è¦ç·ãæ°ã«ãªã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã¨ããèªç±ç ç©¶ããã¦ã大å¦çãã®ã¢ããããããæ°æã¡ã§åãçµãã¨ç²¾ç¥çã«æ¥½ã«ãªãã©ã¤ãããã¯ãçºè¦ããä¹ãè¶ããã
72\u003C/p>\n\u003Cp class=\"my-5 leading-6\">1æéã»ã©ã®ç´ æéããçµããã ããããè¶5æ¯åã«ãªããããªãããã®èãéã¾ã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\"><img width="400px" src="/img/weeds_tea/otya_raw.JPG>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è²ã
ãªç¨®é¡ã®èã ãèã£ã±ã®å½¢ããã種é¡ãå
¨ç¶éãèãéãããããã¨ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¦ãæ©éãè¶ã£ã±ã«ãã¦ã¿ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"èãæã\" class=\"anchor\" href=\"#èãæã\">\n èãæã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¾ãã¯ãè¶ã£èããæãããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">é常ã¯èï¼ããï¼ã«èãæ¼ãä»ããªãã転ãããã¨ã§ãæãããããããã´ã¶ãªãã¦ãªãã®ã§ã¾ãªæ¿ã®ä¸ã§è»¢ããã¦ã¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\"># æãå\n\u003Cimg width=\"400px\" src=\"/img/weeds_tea/before_momi.png\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">(æãã å¾ã®ç»åã¨ã£ã¦ã¾ããã§ããï¼æå¤ã¨é£ããã®ã¨ã¾ãªæ¿ãç·è²ã«ãªã£ããã¨ããè¦ãã¦ã¾ããï¼)\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"èãç
ã\" class=\"anchor\" href=\"#èãç
ã\">\n èãç
ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æãã å¾ãèãç
ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å ç±ã®æ¹æ³ã¯é»åã¬ã³ã¸ã ã£ãããéã ã£ãããããããããä»åã¯ãã©ã¤ãã³ã§ç±ãã¦ã¿ãã\u003C/p>\n\u003Cimg width=\"400px\" src=\"/img/weeds_tea/on_flying_pan.png\">\n\n\u003Cp class=\"my-5 leading-6\">ãªãã¨ãã形容ãé£ãå
ãã ãã¨ã®ãªãèããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¨ãæªãã¨ãè¨ãé£ããæ¬å½ã«è²ã
ãªèããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããããé£ã¹ãããããï¼ã¨ããæ°æã¡ã«ãªãèãã§ãé ç®ã«å
ãã¨ãåãç¬ç¹ãªã森ã®é¦ããã¿ãããªè³é¦å¤çãªæãã®åã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">éèãã¨é£ã¹ãããããªåããåã
ããããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãæããã¨ãç
ãããç¹°ãè¿ã\" class=\"anchor\" href=\"#ãæããã¨ãç
ãããç¹°ãè¿ã\">\n ãæããã¨ãç
ãããç¹°ãè¿ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">以ä¸ã®ãæãããç
ãããç¹°ãè¿ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼åã»ã©ç¹°ãè¿ããããããç
ãã®ã«çµæ§æéããããã\u003C/p>\n\u003Cimg width=\"400px\" src=\"/img/weeds_tea/iru_and_momu.png\">\n\n\u003Cp class=\"my-5 leading-6\">å½ç¶ã ããç
ã£ãå¾ã®èã¯ç±ãããæ°ãã¤ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã ãããèãã«ã©ã«ã©ã«ä¹¾ãããããçµããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"宿ï¼\" class=\"anchor\" href=\"#宿ï¼\">\n 宿ï¼\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ãéèãè¶ã£ã±ã®å®æï¼\u003C/p>\n\u003Cimg width=\"400px\" src=\"/img/weeds_tea/kansei.png\">\n\n\u003Cp class=\"my-5 leading-6\">ã¡ããã¨æãã¦ãªããã®ãå¤ãæ··ãã£ã¦ãããã¾ãã¼å¤§ä¸å¤«ã§ã
72ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»ã®ã¨ããé¦ãã¯ç¹ã«ç®ç«ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã§ã¯ãæ©éãè¶ãå
¥ãã¦ã¿ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãè¶ãæ·¹ãã¦ã¿ã\" class=\"anchor\" href=\"#ãè¶ãæ·¹ãã¦ã¿ã\">\n ãè¶ãæ·¹ãã¦ã¿ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æ¥é ã«ãè¶ã£ã±ãå
¥ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã£ã±ãã¡ããã¨æãã¦ãªãã¨ãããããã¨ããã§ã¡ãã£ã¨æéããããã\u003C/p>\n\u003Cimg width=\"400px\" src=\"/img/weeds_tea/kyu-su_de_ireta_kusatya.png\">\n\n\u003Cp class=\"my-5 leading-6\">ããã¦ãè¶ã注ãã¨...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cstrong>ä¿¡ããããªãããããããè¶ã®é¦ãããã\u003C/strong>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">èãç
ã£ã¦ã段éã®èããããå«ãªèããå®å
¨ã«æ¶ãã¦é¢¨å³ã ãæ®ãããããªæãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®ã£ã£ã£ã£å
¨ã«ãè¶ã«ãªã£ãããè¶ä»¥å¤ã«è¨ãããã®ãªãããè¶ã«ãªã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã ã確å®ã«é£²ãã ãã¨ã¯ãªããè¶ããã°ãã¡ããã¡ã§åºã¦ããããªã¡ãã£ã¨èãããããããªããè¶ã¿ãããªå°è±¡ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã³ã£ãããéèã§ããè¶ã«ãªã£ããå¤ãªå³ã¯ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ã大æåã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ã¯å¾ã
ä½èª¿ãå´©ããªããã¨ãç¥ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"çµããã«\" class=\"anchor\" href=\"#çµããã«\">\n çµããã«\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">è²ã
ãªå³ãããã¨ããããã¯ã風å³ãã¯ãã«ãä¸å®ã®æ¹åã«å®ã¾ã£ã¦ãããã«æãããããç¹å®ã®èãç¹ã«é¢¨å³ã«è²¢ç®ãã¦ãã¦ãä»ã®èããã¯ä½ã風å³ãæ½åºã§ãã¦ããªãã®ãããããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã ããªãã®èãéããã®ã¯ããããªãããããªã«ãå½±é¿ããã®ãç¹å®ã§ããªãã®ã ãã\u003C/p>\n"}},{slug:"2021-01-8--put-link-within-same-workbook-with-axlsx",post:{meta:{title:"axlsx ã§åãã¯ã¼ã¯ããã¯å
ã®ãªã³ã¯ãè²¼ã",date:new Date(1610064000000),tags:["new","tech"],draft:false},content:"\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"èæ¯\" class=\"anchor\" href=\"#èæ¯\">\n èæ¯\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ruby ãã excel ãããã©ã¤ãã©ãªã§ãã axlsx ã§ãåãã¯ã¼ã¯ããã¯å
ã®ã·ã¼ãã®ãªã³ã¯ãè²¼ãããã£ãããã¾ããããªãã£ãã®ã§ã¡ã¢\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"åå \" class=\"anchor\" href=\"#åå \">\n åå \n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¾ããããªãã£ãåå ã¯ããªã³ã¯ã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-ruby\"> sheet.add_hyperlink :location => "'Next Sheet'!A1", :ref => 'A2', :target => :sheet\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã¨ããå½¢ã§ã¯ãããã ãããã®ãlocationãããªãã¨ãã£ã¡ã«ã±ã¼ã¹ã«å¤æãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¯ãªããªãæ°ã¥ããªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çæããããªã³ã¯ã¯ã䏿£ãã¨ã ãè¨ããã¦ã¿ããã¨ããªããªãã§ããªãã£ãããã ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾ããã°ããããã¼ãã¦ããã¨æ
å ±ãå¾ããããã¨ãçºè¦ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã«ãã°ããå¾ããªã³ã¯ããã£ã¡ã«ã±ã¼ã¹ã«ãªã£ã¦ãããã¨ãçºè¦ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çµæ§æéãåãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¡ãªã¿ã«ã以ä¸ã®åå ã®ãããã¯ã¼ã¯ã·ã¼ãã®ååããã£ã¡ã«ã±ã¼ã¹ã§ããã°åé¡ãªãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åã®äºæ¡ã¯ã¯ã¼ã¯ã·ã¼ãã¯ã¹ãã¼ã¯ã±ã¼ã¹ã ã£ããããè¦äºã«ããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼axlsx ã® issue ã§è¦ããããããªã«ããã¯ã¼ã¯ã·ã¼ãã®ååããã£ã¡ã«ã±ã¼ã¹ã«ããããããã®ã ãä¸ä½...ï¼\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ä¿®æ£\" class=\"anchor\" href=\"#ä¿®æ£\">\n ä¿®æ£\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">
72ãªã³ã¯å
ã®ã·ã¼ãåããã£ã¡ã«ã±ã¼ã¹ã«å¤ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"éè¨\" class=\"anchor\" href=\"#éè¨\">\n éè¨\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">xlsx ã£ã¦ã©ããã£ã¦èªã¿è¾¼ããã ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ®éã® xml ã§ã¯ãªãã£ã½ãï¼ãã¬ã¼ã³ããã¹ãã¨ãã¦èªããªãã£ãï¼ã®ã§ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã©ããã£ã¦ãããã®ãæ°ã«ãªãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ãemotet...èªåå®è¡ã¯èå¼±æ§ã®æ¸©åº...\u003C/p>\n"}},{slug:"2020-12-18--get-schema-comment-in-rails",post:{meta:{title:"railsã¢ããªã±ã¼ã·ã§ã³å
ã§ã¹ãã¼ãã®ã³ã¡ã³ãæ
å ±ãåå¾ãã",date:new Date(1608249600000),tags:["new","tech"],draft:false},content:"\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"èæ¯\" class=\"anchor\" href=\"#èæ¯\">\n èæ¯\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">rails ã® rake ã¿ã¹ã¯ã§ããã¼ã¿ãã¼ã¹ã¹ãã¼ãã®ã³ã¡ã³ããåå¾ãããå ´é¢ããã£ãããæ
å ±ãå
¨ç¶ãªãã£ãã®ã§ã¡ã¢\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"çµè«\" class=\"anchor\" href=\"#çµè«\">\n çµè«\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cpre>\u003Ccode class=\"language-ruby\">## Rails 4\nModel.connection.retrieve_table_comment(table_name)\n\n## Rails 5\nModel.connection.table_comment(table_name)\n\u003C/code>\u003C/pre>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"éè¨\" class=\"anchor\" href=\"#éè¨\">\n éè¨\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">rails4 ã§ã®æ¹æ³ã¯è¦ã¤ããããrails5 ã§ã¹ãã¼ãã®ã³ã¡ã³ãæ¸ãè¾¼ã¿ãåãè¾¼ã¾ãã¦ãããrails4 ã§ã®æ¹æ³ã使ããªããªã£ã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">table_comment ã«é¢ããæ
å ±ãã¨ã«ãããªããè²ã
æ¼ã£ãå¾ github ã® rails ãªãã¸ããªã® test ã§ãã®ã¡ã½ããã使ããã¦ããã®ãçºè¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">test ã£ã¦ãããã風ã«ãããã¥ã¡ã³ãçãªæãã§ä½¿ãã¾ããã\u003C/p>\n"}},{slug:"2020-11-24--waniCTF-2020-writeup",post:{meta:{title:"waniCTF 2020 writeup",date:new Date(1606176000000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">waniCTF ã«åå ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://wanictf.org/\">https://wanictf.org/\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æè¿èª²é¡ã§å¿æ®ºããã¦ãã¦ãksnctf ãè§£ãçµãã£ã¦ããªãã§ãããã¡ãã£ã¨è§£ããããªåé¡ãå¤ããã ã£ããããåå ãã¦ã¿ã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã® CTF ã¯åå¿è
åãã® CTF ã«ãªã£ã¦ãã¦ããã³ããå¤ãã«ããããããããã® CTF ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çµæã¯ 64 / 242 ã ã£ããã\n\u003Cimg width=\"500px\" src=\"/img/media/wanictf_result.png\" alt=\"result\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¹ã³ã¢ã®è©³ç´°\n\u003Cimg width=\"500px\" src=\"/img/media/wanictf_score.png\" alt=\"score\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¼ããpwn ãè¦æã§ãããreverse ãè¦æã ã¨æãã¾ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"crypt\" class=\"anchor\" href=\"#crypt\">\n Crypt\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"veni,-vidi\" class=\"anchor\" href=\"#veni,-vidi\">\n Veni, vidi\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã·ã¶ã¼æå·ã§ãããFLAG{...}ã®å½¢å¼ã®æååã«ãªã£ã¦ãããããF -> S ã®ã·ããæ°ãèãã¾ã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"exclusive\" class=\"anchor\" href=\"#exclusive\">\n exclusive\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">
72xor ã§æå·åãããæãå
ã«æ»ãåé¡ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå·åã«ä½¿ã£ãã§ããã encrypt.py 㨠æå·æã§ããã output.txt ãé
ããã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">encrypt.py\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">key = "REDACTED"\nflag = "FAKE{this_is_fake_flag}"\n\nassert len(key) == len(flag) == 57\nassert flag.startswith("FLAG{") and flag.endswith("}")\nassert key[0:3] * 19 == key\n\n\ndef encrypt(s1, s2):\n assert len(s1) == len(s2)\n\n result = ""\n for c1, c2 in zip(s1, s2):\n result += chr(ord(c1) ^ ord(c2))\n return result\n\n\nciphertext = encrypt(flag, key)\nprint(ciphertext, end="")\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">encrypt.py ã®ä»¥ä¸ã®é¨åãã¿ã¦ã¿ãã¨ãã©ããã xor ã®ãã¼ã¨ãªãæç« 㯠3 æåã®ç¹°ãè¿ãã®ããã§ããã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">assert key[0:3] * 19 == key\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ãããã assert ã§ä¿è¨¼ãã¦ããã¦ãã¾ãã\nï¼ã¡ãªã¿ã«ãREDACTED ã¯[å餿¸ã¿]ã¨ããæå³)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ascii ã® 3 æåã®ç¯å²å
ãªãç·å½ããã§æ¢ãããã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç·å½ããã§ 3 æåãä½ãã\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">output.txt ã®æåã®ä¸æå\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ã¨\u003C/p>\n\u003Cul class=\"ml-[1.5rem] my-[0.3rem]\" >\n\u003Cli class=\"list-disc\">ãFLAã㨠key ã§ xor ãããã®\u003C/li>\n\u003C/ul>\n\u003Cp class=\"my-5 leading-6\">ãä¸è´ãããã㪠key ãæ¢ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã§ç¡äº key ãçºè¦ã§ããflag ãåãåºãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">exploit.py\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">
72def encrypt(s1, s2):\n assert len(s1) == len(s2)\n\n result = ""\n for c1, c2 in zip(s1, s2):\n result += chr(ord(c1) ^ ord(c2))\n return result\n\nif __name__ == "__main__":\n output = ""\n with open("output.txt", "r") as f:\n output = f.read()\n\n output_boutou = output[0:3]\n\n key_head = ""\n\n for a in range(32, 126):\n for b in range(32, 126):\n for c in range(32, 126):\n key_tmp = chr(a) + chr(b) + chr(c)\n print(key_tmp)\n encrypted = encrypt("FLA", key_tmp)\n if output_boutou == encrypted:\n key_head = key_tmp\n print("KEY FOUNDED:", key_head)\n break\n\n plain_text = encrypt(output, key_head * 19)\n print(plain_text)\n\u003C/code>\u003C/pre>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"basic-rsa\" class=\"anchor\" href=\"#basic-rsa\">\n Basic RSA\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã¯æ¬å½ã«ãã¼ã·ãã¯ãª RSA æå·ã®è¨ç®ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">p * q\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããå§ã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå·åã®è¨ç®\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æå·æã®è¤å\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã®è¨ç®ãé ã«ããªã㦠FLAG ç²å¾ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä½è«ã§ãããnc ã§ãµã¼ãã¼ã«ã¢ã¯ã»ã¹ããã¨ãã«è¡¨ç¤ºããããã¤(?)ããªãµã¬ã§ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"lcg-crack\" class=\"anchor\" href=\"#lcg-crack\">\n LCG crack\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ç·å½¢ååæ³ã®äºæ¸¬ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">好ããªã ã.next()ã®å¤ãå¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">.next()ã®å¤ãååã«åãåºããããäºæ¸¬ãã§ã¼ãºã«å
¥ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">10 åãããäºæ³ãå½ããã°ãã©ã°ããããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç·å½¢ååæ³ã®äºæ¸¬ã®ããã°ã©ã ã¯è²ã
ãªäººãè¼ãã¦ããã¦ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã使ã£ã¦ã¨ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®éã«ã¯ãã¡ãã®æ¹ã®ããã°ãããåããã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://satto.hatenadiary.com/entry/solve-LCG\">https://satto.hatenadiary.com/entry/solve-LCG\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã㦠pwntools ã使ã£ã¦è§£ããããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®åé¡ãè§£ããã¨ä»¥ä¸ã« pwntools ã®æ±ãã«æéããããã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">exploit.py\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">from pwn import *\nfrom Crypto.Util.number import inverse, GCD\nfrom functools import reduce\nimport re\n\nclass LCG:\n # X_{n+1} = (A \\times X_n + B) \\bmod M\n A = 9605000926055143081 # multiplier\n B = 9749676397194673813 # increment\n M = 18446744073709551615 # modulus\n\n def __init__(self, seed):\n # start value\n self.state = seed\n\n def next(self):\n self.state = (self.A * self.state + self.B) % self.M\n return self.state\n\n def get_parameters(self):\n return self.A, self.B, self.M\n\ndef solve_unknown_increment(states, A, M):\n B = (states[1] - A * states[0]) % M\n return B\n\ndef solve_unknown_multiplier(states, M):\n A = (states[2] - states[1]) * inverse((states[1] - states[0]), M)\n return A\n\ndef prediction_test(PRNGs, states, A, B, M):\n next_value = PRNGs.next()\n predicted_value = (A * states[-1] + B) % M\n\n for i, state in enumerate(states):\n print('X_{0}: {1}'.format(i, state))\n\n print('\\nnext value: {}'.format(next_value))\n print('predicted value: {}'.format(predicted_value))\n\n if next_value == predicted_value:\n print('correct!')\n else:\n print('incorrect!')\n\ndef output_example():\n states = [114514]\n PRNGs = LCG(states[0])\n states.append(PRNGs.next())\n states.append(PRNGs.next())\n states.append(PRNGs.next())\n states.append(PRNGs.next())\n\n A, B, M = PRNGs.get_parameters()\n\n prediction_test(PRNGs, states, A, B, M)\n\ndef solve_unknown_modulus(states):\n diffs = [X_1 - X_0 for X_0, X_1 in zip(states, states[1:])]\n multiples_of_M = [T_2 * T_0 - T_1 ** 2 for T_0, T_1, T_2, in zip(diffs, diffs[1:], diffs[2:])]\n\n # GCD(GCD(multiples_of_M[0],multiples_of_M[1]), multiples_of_M[2])\n M = reduce(GCD, multiples_of_M)\n return M\n\n\n\n\ndef send_cmd_num(io, num):\n io.sendline(str(num))\n io.recv()\n return ret\n\ndef get_next_number(io):\n io.sendline(str(1))\n ret = io.recvline()\n return ret.decode('utf-8').rstrip()\n\n\ndef estimate_next(state):\n M = solve_unknown_modulus(states)\n A = solve_unknown_multiplier(states, M)\n B = solve_unknown_increment(states, A, M)\n return (A * states[-1] + B) % M\n\nif __name__ == "__main__":\n\n io = remote('lcg.wanictf.org', 50001)\n io.recvuntil('> ')\n\n states = []\n while len(states) <= 7:\n ret = get_next_number(io).rstrip()\n ret = re.sub(r"[^\\d]", '', ret)\n print(ret.strip())\n if len(ret) > 3:\n x = int(ret.rstrip())\n states.append(x)\n io.recv()\n\n for n in range(10):\n print("collected_states:", states)\n\n M = solve_unknown_modulus(states)\n A = solve_unknown_multiplier(states, M)\n B = solve_unknown_increment(states, A, M)\n predicted_value = (A * states[-1] + B) % M\n\n if n == 0:\n io.sendline(str(2))\n ret = io.recv()\n print(ret)\n io.sendline(str(predicted_value))\n ret = io.recv()\n print(ret)\n if "Correct" in ret.decode('utf-8'):\n print("corrected!")\n states.pop(0)\n states.append(predicted_value)\n else:\n print(ret)\n print("failed!")\n break\n # io.interactive()\n\n ret = io.recv()\n print(ret)\n\n print(ret.decode('utf-8'))\n\u003C/code>\u003C/pre>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"forensics\" class=\"anchor\" href=\"#forensics\">\n Forensics\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"logged_flag\" class=\"anchor\" href=\"#logged_flag\">\n logged_flag\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã¼ãã¬ã¼ãã¿ãã¨ãFLAG{...}ã¨ããæååã売ã£ã¦ãããã¨ã確èªã§ãã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"alligator_01\" class=\"anchor\" href=\"#alligator_01\">\n ALLIGATOR_01\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¡ã¢ãªãã³ããé
å¸ããã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">volatility ã¨ãããã¼ã«ã使ã£ã¦è§£ãåé¡ã®ããã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åãã¦ä½¿ããã¼ã«ã§ãããã¡ã¢ãªãã³ããã©ããã£ããã¨ã¾ã§ã§ããã®ããããã¾ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¦æ§è¦çä¼¼ã§ã³ãã³ããè²ã
æã£ã¦ flag ãè¦ã¤ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">確ãã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-sh\">volatility -f ã¡ã¢ãªãã³ãã®ãã¡ã¤ã« --profile=Win7SPx86 pstree\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã¨ãã ã£ãæ°ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããã¨ãevil.exe ãã¿ã¤ãããå®è¡æéããããã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"alligator_02\" class=\"anchor\" href=\"#alligator_02\">\n ALLIGATOR_02\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä¸ã®åé¡ã®ç¶ãã§ã\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-sh\">volatility -f ã¡ã¢ãªãã³ãã®ãã¡ã¤ã« --profile=Win7SPx86 pstree\n\u003C/code>\u003C/pre>\n\u003Cp class=\"my-5 leading-6\">ã§ flag ãããã£ãæ°ããã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-base my-10\">\n \u003Ca name=\"ææ³\" class=\"anchor\" href=\"#ææ³\">\n ææ³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¡ã¢ãªãã³ãã§ã³ã³ã½ã¼ã«ã®å±¥æ´ã¾ã§è¦ãããã§ãã...ãã®ã¨ãèµ·åãã¦ããã³ã³ã½ã¼ã«ã£ã¦ãã¨ã§ã
72ãããå¤åã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"chunk_eater\" class=\"anchor\" href=\"#chunk_eater\">\n chunk_eater\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">png ã¯ãã£ã³ã¯ã¨ããããã¼ã¿ã®å¡ã§æ§æããã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ãã£ã³ã¯ã®ä¸ã§ãå¿
é ãã£ã³ã¯ã¨ãããã®ã 4 ã¤ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åé
å¸ããã¦ãã png ãã¡ã¤ã«ã¯æ®éã«éãã¨ããã¡ã¤ã«ãå£ãã¦ãã¾ãã\nã¨åºã¦ãã¡ã¤ã«ãè¦ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">詳ãã調ã¹ãã¨ããã£ã³ã¯ãè¶³ããªããããWANIãã¨ããè¬ã®ãã£ã³ã¯ãçãã¦ãããã¨ããããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">png ã®å¿
é ãã£ã³ã¯ã¯ 4 ä¸ 2 ã¤ããã¼ã¿ã®ãµã¤ãºãåºå®ã«ãªã£ã¦ãã¦ã\nã¾ãé çªãããç¨åº¦æ±ºã¾ã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®ãããWANI ãã£ã³ã¯ãããããã®é çªã«å¾ã£ã¦ãå¿
é ãã£ã³ã¯ã«ãªãã¼ã ãã¦ãããã¨...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">chunk_eater.png\n\u003Cimg src=\"/img/media/chunk_eater.png\" width=\"300px\">\u003C/p>\n\u003Cp class=\"my-5 leading-6\">iHDR ãã£ã³ã¯ãé£ã¹ã¦ã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">png ãã¡ã¤ã«ã®è§£æã«ã¯ png-parser ã¨ããã©ã¤ãã©ãªããã£ãããã使ããã¦é ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">exploit.py\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-python\">from pngparser import PngParser, ImageData, ChunkTypes\n\nimport sys\nif __name__ == "__main__":\n png = PngParser(sys.argv[1])\n text_ind = None\n idat_ind = None\n text = 0\n idat = 0\n for i, chunk in enumerate(png.chunks):\n if chunk.type.name == "WANI":\n if chunk.length == 11:\n chunk.type = ChunkTypes.IEND\n elif chunk.length == 24:\n chunk.type = ChunkTypes.IHDR\n else:\n chunk.type = ChunkTypes.IDAT\n idat_ind = i\n idat = chunk\n if chunk.type == ChunkTypes.tEXt:\n text_ind = i\n text = chunk\n print(text_ind, ":", text)\n print(idat_ind, ":", idat)\n png.chunks = [ chunk for chunk in png.chunks \\\n if not chunk.type == ChunkTypes.tEXt and not chunk.type == ChunkTypes.iTXt ]\n for i, chunk in enumerate(png.chunks):\n print(chunk.length, ":", chunk.type)\n png.save_file("output.png")\n # print(data)\n\u003C/code>\u003C/pre>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"misc\" class=\"anchor\" href=\"#misc\">\n Misc\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"find-a-number\" class=\"anchor\" href=\"#find-a-number\">\n Find a Number\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æ°åå½ã¦ã¯ã¤ãºã§ããæå®ãããåæ°ããªãã«å½ã¦ããã¨ãæ±ãããã¦ãã¾ãã\næ®éã«äºåæ¢æ»ã§ã¨ãã¾ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"pwn\" class=\"anchor\" href=\"#pwn\">\n Pwn\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"netcat\" class=\"anchor\" href=\"#netcat\">\n netcat\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">nc ã®ä½¿ãæ¹ç¢ºèªåé¡ã§ãï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è²ã
åé¡ã®è¡¨ç¤ºãåªãããåå¿è
åã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"var-rewrite\" class=\"anchor\" href=\"#var-rewrite\">\n var rewrite\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æ¨æºå
¥åãããããã¡ãªã¼ãã¼ããã¼ã§å¤æ°ã䏿¸ããã¦ãã©ã°ã奪åããåé¡ã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"reversing\" class=\"anchor\" href=\"#reversing\">\n Reversing\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"strings\" class=\"anchor\" href=\"#strings\">
72\n strings\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">strings ã使ã£ã¦ãã©ã°ãã¿ã¤ããåé¡ã§ãï¼\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"simple\" class=\"anchor\" href=\"#simple\">\n simple\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">é
å¸ãããå®è¡ãã¡ã¤ã«ãsimpleãã¯ãæåãå
¥åãã¦ããincorrectãã¨ã§ãæãã®ãã®ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã¼ã¹ãã¦ããã©ã°ãã¿ã¤ããåé¡ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">gdb ã¨ã objdump ã§éã¢ã»ã³ãã«ããã¨ãæ¨æºå
¥åããæååãåå¾ããå¾ãå
¥åæåã®ãµã¤ãºã確èªãã¦ããã®å¾é
åã« ascii æåã£ã½ããã®ã代å
¥ãã¾ãã£ã¦ããã¨ããããã£ããããæåã® 4 ã¤ã確èªããã FLAG ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ããã®é
åã«ä»£å
¥ããã¦ãããã®ãé ã«æåã«å¤æãã¦ãç¡äºãã©ã°ã²ããã§ãã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"web\" class=\"anchor\" href=\"#web\">\n Web\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"devtools_1\" class=\"anchor\" href=\"#devtools_1\">\n DevTools_1\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã¯éçºè
ãã¼ã«ãéãã¨ãã©ã°ãè¦ã¤ããã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"devtools_2\" class=\"anchor\" href=\"#devtools_2\">\n DevTools_2\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">éçºè
ãã¼ã«ã使ã£ã¦ãhtml è¦ç´ ï¼ããã¹ããã¼ãï¼ãæ¸ãæããã¨ãã©ã°ãéã£ã¦ãã¾ãã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"simple-memo\" class=\"anchor\" href=\"#simple-memo\">\n Simple Memo\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ç°¡åãªãã»ãã·ã§ã³ã使ã£ãã¡ã¢ã¢ããªã§ããï¼php)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åé¡ã«ãæ¸ãã¦ããã®ã§ããããã£ã¬ã¯ããªãã©ãã¼ãµã«ã®åé¡ã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">url ã«/flag.txt ã¨å
¥ãããã²ããã§ãã¾ããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"striped-table\" class=\"anchor\" href=\"#striped-table\">\n striped table\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ä¸ã®ã·ã³ãã«ã¡ã¢ã¢ããªã« xss èå¼±æ§ãããã®ã§ããããã¤ãã¦ãalert(19640503)ããå®è¡ãããããã©ã°ãæã«å
¥ãã¨æ¸ãã¦ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã« devtools ã§å®è¡ãã¦ã¿ãããã³ã³ã½ã¼ã«ããå®è¡ãã¦ããã¡ã ã¨ã¨æããã¦ãã¾ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã½ã¼ã¹ã³ã¼ããé示ããã¦ãããããxss ã§ããããªç®æãè²ã
æ¢ãã¦ã¿ãã¨ãã¡ã¢ã®å¥æ°è¡ç®ã®ã¿ã¤ãã«æ¬ã¯ãµãã¿ã¤ãºãããã¦ããªããã¨ããããã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ã奿°è¡ç®ã®ã¡ã¢ã®ã¿ã¤ãã«æ¬ã« xss ãåãè¾¼ãã°ãããã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã®ç°å¢ã§ã¯ããã«åãè¾¼ãã§ããdevtools ã§æãããæã¨åã表示ãåºã¦ãã¦ãã¾ãããã©ã°ãå¾ããã¾ãããã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ãã®ããæ¹ã§ãã£ã¦ãã®ããª...?)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ãjs ãèªã¿ã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">js ã¯é£èªåããã¦ãã¾ãããchrome ã® devtools ã§ãã¬ã¤ã¯ãã¤ã³ãã¨ãã³ã³ã½ã¼ã«ããã¾ã使ãã¨è²ã
ããã£ã¦ãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¾ãã½ã¼ã¹ã³ã¼ããæ³¨ææ·±ãã¿ã¦ãæªããããªç®æå¨è¾ºã§å®è¡ãæ¢ãã¦ã³ã³ã½ã¼ã«ã§ã¡ã¾ã¡ã¾ç¢ºèªãã¦ã¿ãã¨ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">js ã§ãã©ã°ãæ¸ãè¾¼ã¾ãã¦ããç®æãè¦ã¤ãã¦ãflag ãã²ãããã¾ããã\u003C/p>\n\n \u003Cdiv class=\"text-3xl my-10\">\n \u003Ca name=\"ææ³\" class=\"anchor\" href=\"#ææ³\">\n ææ³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ã¨ããããã§ãåãè§£ããåé¡ã¯ããã§å
¨ã¦ã«ãªãã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åªããåé¡ãå¤ãã¦ãåã§ãè§£ããåé¡ãå¤ãã¦æ¥½ã
72ãã£ãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">sql_challenge1 ãè§£ããªãã£ãã®ããã¡ããã¡ãæããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¨ã§è§£ããªãã£ãåé¡ã® writeup ãã¿ã¦ãã§ãããã¾ã¨ããªããããã¨æãã¾ãã\u003C/p>\n"}},{slug:"2020-10-2--traffic-signal",post:{meta:{title:"ä¿¡å·å®ã£ããè»ã«è½¢ããããã«ãªã£ã話",date:new Date(1601596800000),tags:["new"],draft:false},content:"\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãã¨åå¹´ãããç§ã§ãã¦ãã\" class=\"anchor\" href=\"#ãã¨åå¹´ãããç§ã§ãã¦ãã\">\n ãã¨åå¹´ãããç§ã§ãã¦ãã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æè¿ããããæ¶¼ãããªã£ã¦ãæé«ã®å£ç¯ã«ãªãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æè¿èªè»¢è»ãè¥å¹²ãããã«ãã¦èµ°ãããããªã£ãã®ã§ãè²·ãç©ã¤ãã§ã«ã¡ãã£ã¨è¡ãæ¢æ¤ãããã¨ã«ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¡ãæ¢æ¤ããã¨ãã¯åºæ¬çã«ç®çå°ãè¨å®ããªãã¨èµ°ãåºããªãã®ã§ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»åã¯ã¡ãã£ã¨é ç®ã®ãã³å±ã§ãªããè²·ã£ã¦ãããããªã¨ã²ãããåã«èµ°ãåºãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ç®çå°å¨è¾ºã«ã¤ããã¯ãããã®ã®ãèå¿ã®ãã³å±ã®ãåºãè¦ã¤ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ¥ãè½ã¡ã¤ã¤ãã£ããã帰路ã«ã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ä¿¡å·ã¯åºæ¬çã«å®ã\" class=\"anchor\" href=\"#ä¿¡å·ã¯åºæ¬çã«å®ã\">\n ä¿¡å·ã¯åºæ¬çã«å®ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">å¨ãã«è»ãè¦ããªãã¦ãä¿¡å·ã¯å®ã人ã£ã¦ãã¾ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¸äººã§è¡åããã¨ãåããã®ã¿ã¤ãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">
72ã§ããã仿¥ã¡ãã£ã¨é¢ç½ããã¨ããã£ãã®ã§æ¸ãã¦ããã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">帰ãéãé å½ã«ä¿¡å·ãå®ãã赤信å·ã§æ¢ã¾ã£ã¦ããã¨ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¯ãã¹ãã¤ã¯ä¹ããåã®æ¨ªãã¹ãã¨ãè¶
ãã¦ãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å以å¤ã«æ°äººæ¢ã¾ã£ã¦ããä¸ã ã£ãã®ã§ãããã¾ãæ°ã«ããªã人ãªãã ãªã¨æããªããéã«ãªãã®ãå¾
ã¤ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã¦ãéã«ãªã£ãã®ã§ããã«ã«ã°ãã¨åãå
¥ããæ¨ªææ©éã®çãä¸ãããã«å·®ãå½ãã£ãã¨ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¹ãã¼ãã®ä¹ã£ãéè²ã®è»½ãçªã£è¾¼ãã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">(ããå輪ãæã£ã¦ãããã)\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã¨èªè»¢è»ã®æ»äº¡ãé ãéãã£ãããè»ã¯åã®èªè»¢è»ã¨å
±ã«æ¥åæ¢ãã¦ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãäºãè¡çªãããã¨ã¯ãªãã軽ã®é転æã¯ãºããã¨é ãä¸ããªããéãããã¦ãã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è»ã«ä¹ã£ã¦ããã®ã¯ãæ¯è¦ªã¨æ¯åã¨ãã£ããããã®äºäººã§ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ¯åã®æ¹ã¯å®å
¨ã«ãã¤ããã¦ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è½¢ãããããã®ã¯åã ãã§ãï¼ä¸çªè»éå´ã«ããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä¿¡å·ç¡è¦ãã人ãã¿ã¦ãè»ã®éããªãæ¨ªææ©éã§å¾åã«ä¿¡å·ãå®ã£ãå¾ã®åºæ¥äºã ã£ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã ãæ¥ããããã¦ãèªåã馬鹿ããããªã£ã¦ç¬ãã¦ãã¦ãè¥å¹²ã«ãããªããç«ã¡æ¼ãã§ãã®å ´ãå¾ã«ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾èªè»¢è»ã§èµ°ããªããã俯ãã¦ããæ¯åãã¡ãã£ã¨æ°ã®æ¯ã«ãªã£ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããªãæ¥ãã§ããã®ããªãªã©ã¨ä¿¡å·å®ã£ã¦è½¢ãããããã¨ãããã¨ããèããé¸ãããã¨ãã¦ãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®å¾ããã«è±ç²ã®ãã¨ã§é¼»ã¨ç®ã¨é ããã£ã±ãã«ãªã£ãã\u003C/p>\n"}},{slug:"2020-08-30--cpaw-ctf",post:{meta:{title:"cpawCTFãè§£ãã",date:new Date(1598745600000),tags:["cpawCTF"],draft:false},content:"\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"cpawctf-ãè§£ãã¾ããã\" class=\"anchor\" href=\"#cpawctf-ãè§£ãã¾ããã\">\n cpawCTF ãè§£ãã¾ããã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://ctf.cpaw.site/index.php\">https://ctf.cpaw.site/index.php\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å¸¸è¨ CTF ã§ãå
¥éã»åå¿è
ã«ããããããããã®ã¨ãã¦æå㪠cpawCTF ãè§£ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å
容ã¯ç°¡åãªãã®ãå¤ããããªã楽ããã£ãã§ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">CTF ãã£ããã¨ãªã人ã¯ã確ãã« cpawCTF ããå
¥ãã¹ãã ã..\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ãã®äººã®æè¡åã«ãããã©ï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">CTF ã¯ãã£ããã¨ãªãç¶æ
ã§ãå
¨é¨è§£ãã®ã«åè¨ã§ 12 æéãããããã£ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ï¼ãã®ãã¡ 6 æé㯠Level 3 ã®æ°å¦ã®åé¡ã§æº¶ããã...æ°å¼±ãããï¼\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åé¡ãè§£ãã¨å¾ç¹ãããããå¾ç¹ã¨éæé ï¼ï¼ï¼ã§ã©ã³ãã³ã°ãã¤ããç¹å
¸ã¯ Max ã§ 1890 ç¹ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å㯠694 ä½ã§ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">çµæ§æè¿ 1890 ç¹ã«å°éãããã©ãä»ç¢ºèªãããåã®å¾ãã«æ°ãã« 1890 ã®äººããã§ã«æ°äººå±
ã¦é©ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">\u003Cimg width=\"500px\" src=\"/img/media/cpawCTF.png\" alt=\"\">\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ç¹ã«é£ããã£ãåé¡\" class=\"anchor\" href=\"#ç¹ã«é£ããã£ãåé¡\">\n ç¹ã«é£ããã£ãåé¡\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">Q26.[PPC]Remainder theorem 㨠Q29.[Crypto] Common World ãé£ããã£ã...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">æ°å¦å¥½ããªãã ãã©è¦æãªããããã¼ï¼\u003C/p>\n\n \u003Cdiv class=\"text-xl my-10\">\n \u003Ca name=\"q26.[ppc]remainder-theorem\" class=\"anchor\" href=\"#q26.[ppc]remainder-theorem\">\n Q26.[PPC]Remainder theorem\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">æ®éã®æ°å¦ã®åé¡ã ããæ°å¼±ããã¦çè§£ã«æéãããããè¨ç®ã 100 ä¸åããç´ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã®åé¡ãè§£ãã®ã« factordb ã®åå¨ã¯æ¯éç¥ã£ã¦ãã¦ãããããã\u003C/p>\n\n \u003Cdiv class=\"text-xl my-10\">\n \u003Ca name=\"q29.[crypto]-common-world\" class=\"anchor\" href=\"#q29.[crypto]-common-world\">\n Q29.[Crypto] Common World\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã³ãã®æå³ãçè§£ã§ããã«æéãç¡é§ã«æ¶è²»ããããã«æãã\nãã¨ãè¨ç®ã«èªä¿¡ããªãããã¦ã¾ã 100 ä¸åè¨ç®ããªãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã³ããã¨ãããããã®ãã³ãããªãã¨ç¾å®çã«è§£èªä¸å¯è½ãªã®ã§ã¯...?\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å½ç¶ã¡ãå½ç¶ã ãã©ãrsa æå·ãæ£ãã使ããªãã¨åã¿ãããªåå¿è
ã§ãç°¡åã«è§£èªã§ãã¦ãã¾ãäºå®ãè¡æã ã£ãã\u003C/p>\n"}},{slug:"2020-08-29--initial-article",post:{meta:{title:"initial-article",date:new Date(1598659200000),tags:["new"],draft:false},content:"\u003Cp class=\"my-5 leading-6\">initialize article\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"gatsby-ã¨ã®åºä¼ã\" class=\"anchor\" href=\"#gatsby-ã¨ã®åºä¼ã\">\n Gatsby ã¨ã®åºä¼ã\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ããã°ãä½ããã¨æããã¡ãããæãã®ãã¬ã¼ã ã¯ã¼ã¯ãæ¢ãã¦ã¿ãã
72\nrails ã¨ãã§ä½ããã¨èããããã»ãã¥ãªãã£é¢ã§ã©ããã¦ãä¸å®ããããï¼èç ï¼\nããããã°ããµã¼ã¯ã«ã§ Hugo ã使ã£ããã¨ããã£ãã\nHugo 㯠SSGãéçãªãµã¤ããçæãã¦ãããã¨ã³ã¸ã³ãªã®ã ããããããªããªãã¯ã¼ã«ãªæ©è½ããã£ã¦ããã\nããã§éçãµã¤ãã¸ã§ãã¬ã¼ã¿ã¼ãæ¢ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããããã¨ããªã«ãã\nãHugo ããæåã ãï¼ã\nã¿ãããªããªã§ç´¹ä»ããã¦ãã Gatsby ãè¦ã¤ããã\nç´¹ä»ãã¦ããè¨äºãèªãã§ã¿ãã¨ãæªããªãããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">åã¯ä¸åº¦ä½¿ã£ããã¨ã®ãããã®ï¼ãã¬ã¼ã ã¯ã¼ã¯ãæè¡ï¼ãä½åº¦ã使ãã®ã«è¥å¹²æµæãããããã\nä»åã¯ãã® Gatsby ã§ä½ããã¨æ±ºããã\u003C/p>\n\n \u003Cdiv class=\"text-2xl my-10\">\n \u003Ca name=\"ãã¶ã¤ã³\" class=\"anchor\" href=\"#ãã¶ã¤ã³\">\n ãã¶ã¤ã³\n \u003Cspan class=\"header-link\">\u003C/span>\n \u003C/a>\n \u003C/div>\u003Cp class=\"my-5 leading-6\">ãã®ããã°ã®ãã®ãã¶ã¤ã³ã¯ãâ ã®ãã³ãã¬ã¼ãã使ã£ã¦ããã\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/kimnagui/gatsby-starter-nagui\">https://github.com/kimnagui/gatsby-starter-nagui\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãªãã¨ãã·ã³ãã«ã§è¯ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ããã¦æ©è½ãå¤ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãããã¨ããéçºãã¼ã ã®äººã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ä»å¾ã¡ãã£ã¨ãã¤æãå ãããã¨æã£ã¦ã¾ãã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">å®ã¯ãã®ãã³ãã¬ã¼ãï¼ã¹ã¿ã¼ã¿ã¼ï¼ï¼ã«è³ãã¾ã§ã¯ãä¸ã®ãã®ã使ããã¨ãã¦ããã\n\u003Ca class=\"text-[#0968DA] underline underline-offset-2\" href=\"https://github.com/alxshelepenok/gatsby-starter-lumen\">https://github.com/alxshelepenok/gatsby-starter-lumen\u003C/a>\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ãã©ããã¯ãã«ãã§ããããã°ãç´ãããã«ãªãã£ãã®ã§å¥ã®ãã®ãæ¢ãã¾ããã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">gatsby-remark-relative-images ã¨ãããã©ã°ã¤ã³ã§æ»ãã§ãã£ã½ããã©ã\u003C/p>\n\u003Cp class=\"my-5 leading-6\">ã°ã°ã£ã¦ãåºã¦ããªããã¨ã©ã¼ã¡ãã»ã¼ã¸ããããããã...\u003C/p>\n\u003Cp class=\"my-5 leading-6\">è¬ã\u003C/p>\n"}}]},"uses":{}}]; 73 74 Promise.all([ 75 import("./_app/immutable/entry/start.Daoojf4R.js"), 76 import("./_app/immutable/entry/app.B4amE5rk.js") 77 ]).then(([kit, app]) => { 78 kit.start(app, element, { 79 node_ids: [0, 3], 80 data, 81 form: null, 82 error: null 83 }); 84 }); 85 } 86 </script>
86 87 </div> 88
88<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8ee59880ebf646258318dd72a590dfd5","r":1,"spa":2}' crossorigin="anonymous"></script>
88 89</body> 90</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.