[{"data":1,"prerenderedAt":11717},["ShallowReactive",2],{"\u002Ftag\u002Fweb-standards\u002Fpage\u002F1":3},[4,2538,3968,6362,7571,8819,9296,10386,10863,11335],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"category":11,"tag":13,"thumbnail":20,"createdAt":21,"updatedAt":22,"body":23,"_type":2532,"_id":2533,"_source":2534,"_file":2535,"_stem":2536,"_extension":2537},"\u002Farticles\u002Fhacker-1","articles",false,"","ちょっとだけハッカー","ソックサーガ版学習アプリの改造にAIエージェントを使ってみた",[12],"programming",[14,15,16,17,18,19],"ai","beginner-programming","socsaga","information-ed","web-standards","vue","hacker-1.jpg","2025\u002F10\u002F26","2025\u002F11\u002F22",{"type":24,"children":25,"toc":2517},"root",[26,34,49,61,73,77,83,96,108,113,118,123,134,137,144,189,442,454,459,462,468,473,502,518,531,536,541,544,550,601,630,641,689,694,705,715,727,738,759,762,767,772,775,780,823,931,970,990,993,999,1004,1020,1029,1034,1039,1078,1109,1120,1133,1146,1149,1155,1160,1204,1209,1240,1245,1250,1286,1291,1294,1299,1304,1309,1321,1326,1331,1362,1375,1388,1409,1414,1434,1446,1453,1456,1461,1466,1487,1515,1520,1533,1538,1543,1548,1575,1580,1599,1604,1627,1643,1656,1661,1672,1675,1681,1702,1707,1736,1739,1751,1756,1769,1782,1787,1794,1806,1811,1814,1819,1854,1868,1875,1880,1893,1898,1932,1937,1940,1945,1958,1963,1968,1981,1986,1994,2007,2012,2025,2030,2039,2044,2049,2060,2065,2068,2073,2085,2090,2099,2103,2216,2220,2313,2317,2405,2409,2502,2505,2508],{"type":27,"tag":28,"props":29,"children":30},"element","p",{},[31],{"type":32,"value":33},"text","　現役教員時代、「ハダノ先生はハッカーみたいなことできるんでしょ」と生徒たちに言われていました。",{"type":27,"tag":35,"props":36,"children":37},"ul",{},[38],{"type":27,"tag":39,"props":40,"children":41},"li",{},[42],{"type":27,"tag":43,"props":44,"children":46},"a",{"href":45},"\u002Farticles\u002Fblog-3",[47],{"type":32,"value":48},"🔗AIエージェントはWeb系プログラミングの役に立つか",{"type":27,"tag":28,"props":50,"children":51},{},[52,54,59],{"type":32,"value":53},"で、AIエージェントの支援があれば、「",{"type":27,"tag":55,"props":56,"children":57},"strong",{},[58],{"type":32,"value":9},{"type":32,"value":60},"」になれるかもと思いました。",{"type":27,"tag":28,"props":62,"children":64},{"style":63},"text-align: right;",[65,67],{"type":32,"value":66},"⇒",{"type":27,"tag":43,"props":68,"children":70},{"href":69},"#spellquest",[71],{"type":32,"value":72}," お急ぎの方はこちらへ",{"type":27,"tag":74,"props":75,"children":76},"br",{},[],{"type":27,"tag":78,"props":79,"children":81},"h2",{"id":80},"ソックサーガ版学習アプリの改造にaiエージェントを使ってみた",[82],{"type":32,"value":10},{"type":27,"tag":28,"props":84,"children":85},{},[86,93],{"type":27,"tag":87,"props":88,"children":92},"img",{"src":89,"alt":90,"width":91},"\u002Fimg\u002Fsocsaga01.jpg","ソックサーガ","100%",[],{"type":27,"tag":74,"props":94,"children":95},{},[],{"type":27,"tag":35,"props":97,"children":98},{},[99],{"type":27,"tag":39,"props":100,"children":101},{},[102],{"type":27,"tag":43,"props":103,"children":105},{"href":104},"\u002Ftag\u002Fsocsaga",[106],{"type":32,"value":107},"🔗ソックサーガ",{"type":27,"tag":28,"props":109,"children":110},{},[111],{"type":32,"value":112},"を中心に、中学生のプログラミング教育を後押ししてきたハダノですが、壁にぶつかっていました。",{"type":27,"tag":28,"props":114,"children":115},{},[116],{"type":32,"value":117},"　一般の中学校教員にとって、プログラミング環境構築はハードルが高いので、クラウド統合開発環境を推奨してきました。GlitchからReplitに乗り換え、自校運用できるように導いてきたつもりです。",{"type":27,"tag":28,"props":119,"children":120},{},[121],{"type":32,"value":122},"　ところが、2024年からReplitが使いづらくなりました。無料でできる範囲が小さくなってしまったのです。かといって、Glitchに戻る気にもなれません。",{"type":27,"tag":28,"props":124,"children":125},{},[126,131],{"type":27,"tag":87,"props":127,"children":130},{"src":128,"alt":129,"width":91},"\u002Fimg\u002Freplsoc.jpg","ReplitによるWebプログラミング",[],{"type":27,"tag":74,"props":132,"children":133},{},[],{"type":27,"tag":74,"props":135,"children":136},{},[],{"type":27,"tag":138,"props":139,"children":141},"h3",{"id":140},"webアプリ開発環境のおすすめは",[142],{"type":32,"value":143},"Webアプリ開発環境のおすすめは？",{"type":27,"tag":145,"props":146,"children":149},"div",{"className":147},[148],"balloon2",[150,152,166,168,171,173,176,179,181,184,186],{"type":32,"value":151},"\n  ",{"type":27,"tag":145,"props":153,"children":156},{"className":154},[155],"icon",[157,159,165],{"type":32,"value":158}," ",{"type":27,"tag":87,"props":160,"children":164},{"src":161,"alt":162,"width":163},"\u002Fimg\u002Fhadano80.png","ハダノ",80,[],{"type":32,"value":158},{"type":32,"value":167},"\n2026年以降のことを考えた場合、Replitに代わるクラウド統合開発環境は何がよいでしょうか。",{"type":27,"tag":74,"props":169,"children":170},{},[],{"type":32,"value":172},"\nおすすめの上位3つを理由付きで教えてください。",{"type":27,"tag":74,"props":174,"children":175},{},[],{"type":27,"tag":74,"props":177,"children":178},{},[],{"type":32,"value":180},"\nまた、当面は（中学生が）ローカル（LANも含む）でWebアプリのコーディングをし、ローカルサーバーを利用して動作確認後、無料ホスティングサービス（Cloundflareなど）を利用して（教員が）デプロイすることになると思います。",{"type":27,"tag":74,"props":182,"children":183},{},[],{"type":32,"value":185},"\nその際の手段としておすすめの上位3つを理由付きで教えてください。",{"type":27,"tag":74,"props":187,"children":188},{},[],{"type":27,"tag":145,"props":190,"children":193},{"className":191},[192],"balloon1",[194,195,206,208,211,214,222,227,327,331,339,344,437],{"type":32,"value":151},{"type":27,"tag":145,"props":196,"children":198},{"className":197},[155],[199,200,205],{"type":32,"value":158},{"type":27,"tag":87,"props":201,"children":204},{"src":202,"alt":203,"width":163},"\u002Fimg\u002Faiagent.png","Gemini CLI",[],{"type":32,"value":158},{"type":32,"value":207},"\n✦ 中学校での情報教育、特にWebアプリケーション開発の環境構築に関するご経験と課題、拝見いたしました。Replitの仕様変更は、教育現場にとって大きな課題かと存じます。2026年以降を見据えた上で、これまでのご経験と今後の運用形態を踏まえ、クラウドIDEとローカル開発＋ホスティングのそれぞれについて、おすすめの選択肢を提案させていただきます。",{"type":27,"tag":74,"props":209,"children":210},{},[],{"type":27,"tag":74,"props":212,"children":213},{},[],{"type":27,"tag":28,"props":215,"children":216},{},[217],{"type":27,"tag":55,"props":218,"children":219},{},[220],{"type":32,"value":221},"Replitに代わるクラウド統合開発環境 おすすめ上位3選",{"type":27,"tag":28,"props":223,"children":224},{},[225],{"type":32,"value":226},"クラウドIDEは、生徒の環境差異をなくし、教員が管理しやすい点が最大のメリットです。Replitの代替としては、以下の3つが考えられます。",{"type":27,"tag":228,"props":229,"children":230},"ol",{},[231,265,293],{"type":27,"tag":39,"props":232,"children":233},{},[234,239],{"type":27,"tag":55,"props":235,"children":236},{},[237],{"type":32,"value":238},"GitHub Codespaces",{"type":27,"tag":35,"props":240,"children":241},{},[242],{"type":27,"tag":39,"props":243,"children":244},{},[245,247],{"type":32,"value":246},"理由:\n",{"type":27,"tag":35,"props":248,"children":249},{},[250,255,260],{"type":27,"tag":39,"props":251,"children":252},{},[253],{"type":32,"value":254},"教育現場への優遇: 「GitHub Education」に登録することで、教員は無料の利用枠を得られる可能性があります。生徒も同様の特典を受けられる場合があり、コスト面の課題を解決できる可能性が最も高いです.",{"type":27,"tag":39,"props":256,"children":257},{},[258],{"type":32,"value":259},"デファクトスタンダード: 中身は多くのプロが使用する「Visual Studio Code (VS Code)」そのものです。生徒は実践的な開発環境に早期から慣れ親しむことができ、将来的なステップアップにも繋がります。",{"type":27,"tag":39,"props":261,"children":262},{},[263],{"type":32,"value":264},"GitHub連携: ソースコード管理の学習と開発環境が一体化しており、バージョン管理の概念を自然に学べます。",{"type":27,"tag":39,"props":266,"children":267},{},[268,273],{"type":27,"tag":55,"props":269,"children":270},{},[271],{"type":32,"value":272},"CodeSandbox",{"type":27,"tag":35,"props":274,"children":275},{},[276],{"type":27,"tag":39,"props":277,"children":278},{},[279,280],{"type":32,"value":246},{"type":27,"tag":35,"props":281,"children":282},{},[283,288],{"type":27,"tag":39,"props":284,"children":285},{},[286],{"type":32,"value":287},"手軽さとコラボレーション: Webフロントエンド開発に特化しており、ReactやVue.jsといったモダンな技術のテンプレートが豊富です。ブラウザ上で非常に高速に動作し、複数人でのリアルタイム共同編集機能は、グループ学習に最適です。",{"type":27,"tag":39,"props":289,"children":290},{},[291],{"type":32,"value":292},"教育向け機能: 教室管理機能（CodeSandbox Classrooms）が提供されており、課題の配布や進捗管理が容易です。",{"type":27,"tag":39,"props":294,"children":295},{},[296,301],{"type":27,"tag":55,"props":297,"children":298},{},[299],{"type":32,"value":300},"StackBlitz",{"type":27,"tag":35,"props":302,"children":303},{},[304],{"type":27,"tag":39,"props":305,"children":306},{},[307,308],{"type":32,"value":246},{"type":27,"tag":35,"props":309,"children":310},{},[311,316],{"type":27,"tag":39,"props":312,"children":313},{},[314],{"type":32,"value":315},"圧倒的な速度: ブラウザ内でNode.js環境を直接実行する独自の「WebContainers」技術により、環境の起動や動作が非常に高速です。生徒を待たせることなく、すぐにコーディングを開始できます。",{"type":27,"tag":39,"props":317,"children":318},{},[319,321,324],{"type":32,"value":320},"オフライン動作: 一度プロジェクトを開けば、オフラインでも動作するPWA（プログレッシブウェブアプリ）として機能します。ネットワーク環境が不安定な場合でも、学習を継続できる可能性があります。",{"type":27,"tag":74,"props":322,"children":323},{},[],{"type":27,"tag":74,"props":325,"children":326},{},[],{"type":27,"tag":328,"props":329,"children":330},"hr",{},[],{"type":27,"tag":28,"props":332,"children":333},{},[334],{"type":27,"tag":55,"props":335,"children":336},{},[337],{"type":32,"value":338},"ローカル開発＋無料ホスティング おすすめ上位3選",{"type":27,"tag":28,"props":340,"children":341},{},[342],{"type":32,"value":343},"ローカルでの開発は、ツールの仕組みをより深く理解することに繋がります。教員がデプロイを管理する現在の運用に最適な組み合わせは以下の通りです。",{"type":27,"tag":228,"props":345,"children":346},{},[347,375,403],{"type":27,"tag":39,"props":348,"children":349},{},[350,355],{"type":27,"tag":55,"props":351,"children":352},{},[353],{"type":32,"value":354},"開発: VS Code + Live Server拡張機能 \u002F デプロイ: GitHub Pages",{"type":27,"tag":35,"props":356,"children":357},{},[358],{"type":27,"tag":39,"props":359,"children":360},{},[361,362],{"type":32,"value":246},{"type":27,"tag":35,"props":363,"children":364},{},[365,370],{"type":27,"tag":39,"props":366,"children":367},{},[368],{"type":32,"value":369},"開発の手軽さ: VS Codeは無料で高機能なエディタです。「Live Server」という拡張機能を追加すれば、HTMLファイルを右クリックするだけでローカルサーバーが起動し、コードの変更が即座にブラウザに反映されるため、生徒でも直感的に扱えます。",{"type":27,"tag":39,"props":371,"children":372},{},[373],{"type":32,"value":374},"デプロイの簡易性: GitHub\nPagesは、GitHubリポジトリにソースコードをアップロード（プッシュ）するだけでWebサイトとして公開できる、最も手軽なホスティングサービスの一つです。完全に無料で利用でき、バージョン管理と公開作業が一体化しているため、教育的価値も高いです。",{"type":27,"tag":39,"props":376,"children":377},{},[378,383],{"type":27,"tag":55,"props":379,"children":380},{},[381],{"type":32,"value":382},"開発: VS Code + Live Server拡張機能 \u002F デプロイ: Cloudflare Pages",{"type":27,"tag":35,"props":384,"children":385},{},[386],{"type":27,"tag":39,"props":387,"children":388},{},[389,390],{"type":32,"value":246},{"type":27,"tag":35,"props":391,"children":392},{},[393,398],{"type":27,"tag":39,"props":394,"children":395},{},[396],{"type":32,"value":397},"開発の容易さ: 開発環境は1位と同じく、最も手軽な組み合わせです。",{"type":27,"tag":39,"props":399,"children":400},{},[401],{"type":32,"value":402},"高機能なデプロイ: Cloudflare Pagesは、GitHub Pagesと同様にGitリポジトリと連携して自動でデプロイできます。それに加え、より高速な配信（CDN）、詳細なアクセス解析、共同作業者へのプレビューURL発行など、無料で使える機能が非常に豊富です。教員がデプ\nロイを管理・運用する上で、より柔軟で高度な対応が可能です。",{"type":27,"tag":39,"props":404,"children":405},{},[406,411],{"type":27,"tag":55,"props":407,"children":408},{},[409],{"type":32,"value":410},"開発: Node.js + live-server \u002F デプロイ: Vercel",{"type":27,"tag":35,"props":412,"children":413},{},[414],{"type":27,"tag":39,"props":415,"children":416},{},[417,418],{"type":32,"value":246},{"type":27,"tag":35,"props":419,"children":420},{},[421,426],{"type":27,"tag":39,"props":422,"children":423},{},[424],{"type":32,"value":425},"一歩進んだ開発体験: PCにNode.jsをインストールし、コマンドプロンプト（ターミナル）から npx live-server のようなコマンドでサーバーを起動する方法です。プログラミングのより実践的な側面に触れる良い機会になります。",{"type":27,"tag":39,"props":427,"children":428},{},[429,431,434],{"type":32,"value":430},"最先端のデプロイ先: Vercelは、特にReactなどのモダンなフレームワークを使ったWebアプリのホスティングに最適です。デプロイは非常に簡単かつ高速で、世界中の多くの開発者に利用されています。生徒が将来、より複雑なアプリケーション開発へ興味を持った際\nの、スムーズな移行先となります。",{"type":27,"tag":74,"props":432,"children":433},{},[],{"type":27,"tag":74,"props":435,"children":436},{},[],{"type":27,"tag":28,"props":438,"children":439},{},[440],{"type":32,"value":441},"ご自身のスキルや、生徒たちにどこまでの体験をさせたいかに合わせて、これらの選択肢を検討・試してみてはいかがでしょうか。",{"type":27,"tag":28,"props":443,"children":444},{},[445,447,452],{"type":32,"value":446},"　とても的確なアドバイスです。とりあえず、",{"type":27,"tag":55,"props":448,"children":449},{},[450],{"type":32,"value":451},"ローカル開発の2番",{"type":32,"value":453},"で行くことにします。",{"type":27,"tag":28,"props":455,"children":456},{},[457],{"type":32,"value":458},"　しばらくお休みしていた「ソックサーガ」による開発を再開し、「英単語の発音チェックアプリ」をグレードアップしようとしたところで問題が発生しました。",{"type":27,"tag":74,"props":460,"children":461},{},[],{"type":27,"tag":138,"props":463,"children":465},{"id":464},"英単語の発音チェックアプリが動かなくなった",[466],{"type":32,"value":467},"「英単語の発音チェック」アプリが動かなくなった！？",{"type":27,"tag":87,"props":469,"children":472},{"src":470,"alt":471,"width":91},"\u002Fimg\u002Fspeechrecognition.png","Web Speech APIによる発音チェック",[],{"type":27,"tag":145,"props":474,"children":476},{"className":475},[148],[477,478,487,489,492,494,497,499],{"type":32,"value":151},{"type":27,"tag":145,"props":479,"children":481},{"className":480},[155],[482,483,486],{"type":32,"value":158},{"type":27,"tag":87,"props":484,"children":485},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":488},"\n以前は正常に作動していた自作のWebアプリで「英単語の発音チェック」ができなくなりました。",{"type":27,"tag":74,"props":490,"children":491},{},[],{"type":32,"value":493},"\n@C:\\nuxt●\\～～\\public\\jisshu\\tango.html",{"type":27,"tag":74,"props":495,"children":496},{},[],{"type":32,"value":498},"\n原因を調査し、解決策を提案してください。",{"type":27,"tag":74,"props":500,"children":501},{},[],{"type":27,"tag":145,"props":503,"children":505},{"className":504},[192],[506,507,516],{"type":32,"value":151},{"type":27,"tag":145,"props":508,"children":510},{"className":509},[155],[511,512,515],{"type":32,"value":158},{"type":27,"tag":87,"props":513,"children":514},{"src":202,"alt":203,"width":163},[],{"type":32,"value":158},{"type":32,"value":517},"\n✦ 承知いたしました。C:\\nuxt●\\～～\\jisshu\\tango.html\n  を調査し、英単語の発音チェックが機能しなくなった原因を特定し、解決策を提案します。\n",{"type":27,"tag":519,"props":520,"children":525},"pre",{"className":521,"code":523,"language":524,"meta":8},[522],"language-tango1.jps1","✦ ファイル tango.html の内容を確認しました。\n  このアプリはVue.jsを使用し、発音チェック機能は Web Speech API\n  を利用していると推測されます。\n  特に、xhear() という関数がその中核を担っているようです。\n\n  次に、xhear()関数が定義されていると思われる \n  C:\\nuxt●\\～～\\ssscript.js の内容を調査します。\n\n✦ ssscript.js の内容を確認しましたが、\n  xhear 関数の定義が見つかりませんでした。\n  tango.htmlから呼び出されているにもかかわらず、\n  関連ファイル内に見当たらないのは不可解です。\n\n  以前は動作していたという状況から、ssscript.js から\n  xhear 関数が誤って削除された可能性が最も高いと判断します。\n\n  そこで、Web Speech API を使用して音声認識を行う xhear 関数を\n  新たに作成し、ssscript.js のVueインスタンスの  methods \n  に追加することで、機能を復元します。\n\n  この新しい xhear 関数は、tango.html のロジックに合わせて、\n  発音が正しければ次のスライド（正解）に、\n  間違っていれば不正解のスライドに移動するように実装します。\n\n  以下の手順で C:\\nuxt●\\～～\\ssscript.js を修正します。\n","tango1.jps1",[526],{"type":27,"tag":527,"props":528,"children":529},"code",{"__ignoreMap":8},[530],{"type":32,"value":523},{"type":27,"tag":28,"props":532,"children":533},{},[534],{"type":32,"value":535},"　自分で確認したところ、確かにその通りだったので、修正実行を Gemini CLI にお願いしました。",{"type":27,"tag":28,"props":537,"children":538},{},[539],{"type":32,"value":540},"　ところが、どうも期待した動作をしません。結局、自力で修復しました。",{"type":27,"tag":74,"props":542,"children":543},{},[],{"type":27,"tag":138,"props":545,"children":547},{"id":546},"aiエージェントがまちがえたわけ",[548],{"type":32,"value":549},"AIエージェントがまちがえたわけ",{"type":27,"tag":145,"props":551,"children":553},{"className":552},[148],[554,555,564,566,569,571,574,576,579,581,584,586,589,591,594,596,599],{"type":32,"value":151},{"type":27,"tag":145,"props":556,"children":558},{"className":557},[155],[559,560,563],{"type":32,"value":158},{"type":27,"tag":87,"props":561,"children":562},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":565},"\n……xhear 関数が誤って削除された可能性が最も高いと判断します。』",{"type":27,"tag":74,"props":567,"children":568},{},[],{"type":32,"value":570},"\nというお答えでした。こちらで確認したところ、その通りでした。",{"type":27,"tag":74,"props":572,"children":573},{},[],{"type":32,"value":575},"\nただ、そのあとに修正していただいた、",{"type":27,"tag":74,"props":577,"children":578},{},[],{"type":32,"value":580},"\n@C:\\nuxt●\\～～\\ssscript_gemini.js",{"type":27,"tag":74,"props":582,"children":583},{},[],{"type":32,"value":585},"\nは、動作しません。",{"type":27,"tag":74,"props":587,"children":588},{},[],{"type":32,"value":590},"\n自力で修復した",{"type":27,"tag":74,"props":592,"children":593},{},[],{"type":32,"value":595},"\n@C:\\nuxt●\\～～\\ssscript_original.js",{"type":27,"tag":74,"props":597,"children":598},{},[],{"type":32,"value":600},"\nは動いたのですが、両者の違いは何だったと考えられますか。\n",{"type":27,"tag":145,"props":602,"children":604},{"className":603},[192],[605,606,615,617],{"type":32,"value":151},{"type":27,"tag":145,"props":607,"children":609},{"className":608},[155],[610,611,614],{"type":32,"value":158},{"type":27,"tag":87,"props":612,"children":613},{"src":202,"alt":203,"width":163},[],{"type":32,"value":158},{"type":32,"value":616},"\n✦ ファイルの内容を確認し、比較いたしました。ssscript_gemini.jsが動作しなかった原因をご説明します。\n",{"type":27,"tag":28,"props":618,"children":619},{},[620,622,628],{"type":32,"value":621},"結論から言うと、",{"type":27,"tag":527,"props":623,"children":625},{"className":624},[],[626],{"type":32,"value":627},"xhear",{"type":32,"value":629},"関数の引数（パラメータ）と、その後の処理の仕方に違いがありました。",{"type":27,"tag":519,"props":631,"children":636},{"className":632,"code":634,"language":635,"meta":8},[633],"language-ssscript.js","  1. 動作する ssscript_original.js の xhear 関数\n\n  ご自身で修復されたこちらのバージョンでは、\n  xhear関数は以下のように定義されています。\n\n   1 xhear: function(word='', go1=1, go2=2, langn=1) {\n   2   \u002F\u002F ...\n   3   \u002F\u002F ★判定後、引数で受け取った \n            go1 または go2 を使ってページを移動する\n   4   this.xgo(retval);\n   5 }\n\n  この関数は、照合する単語 word に加えて、\n  正解時の移動先 go1、不正解時の移動先 go2、言語 langn\n  を引数として受け取ります。\n  そして、音声認識の結果に応じて、xgo() 関数を呼び出して\n  指定されたページへ移動します。\n  これにより、tango.html側で柔軟に動作を制御できます。\n\n  2. 動作しなかった ssscript_gemini.js の xhear 関数\n\n  一方、私が以前作成したこちらのバージョンでは、\n  関数は以下のように定義されていました。\n\n   1 xhear: function(ans = \"\") {\n   2   \u002F\u002F ...\n   3   if (speechResult.includes(ans.toLowerCase())) {\n   4     this.evax('xgo(1)'); \u002F\u002F ★常に「1」に移動する\n   5   } else {\n   6     this.evax('xgo(2)'); \u002F\u002F ★常に「2」に移動する\n   7   }\n   8 }\n\n  この関数が受け取る引数は、照合する単語 ans のみです。\n  正解・不正解の移動先は、関数の中に xgo(1)、xgo(2)\n  と固定で書かれてしまっています。\n","ssscript.js",[637],{"type":27,"tag":527,"props":638,"children":639},{"__ignoreMap":8},[640],{"type":32,"value":634},{"type":27,"tag":145,"props":642,"children":644},{"className":643},[192],[645,646,655,663,668,673,684],{"type":32,"value":151},{"type":27,"tag":145,"props":647,"children":649},{"className":648},[155],[650,651,654],{"type":32,"value":158},{"type":27,"tag":87,"props":652,"children":653},{"src":202,"alt":203,"width":163},[],{"type":32,"value":158},{"type":27,"tag":28,"props":656,"children":657},{},[658],{"type":27,"tag":55,"props":659,"children":660},{},[661],{"type":32,"value":662},"なぜ動作しなかったか",{"type":27,"tag":28,"props":664,"children":665},{},[666],{"type":32,"value":667},"tango.htmlでは、xhear('apple', 5, 6)\nのように、正解なら5ページへ、不正解なら6ページへ、といった形でxhear関数を呼び出していたはずです。",{"type":27,"tag":28,"props":669,"children":670},{},[671],{"type":32,"value":672},"しかし、ssscript_gemini.jsのxhear関数は移動先の引数（5や6）を受け取る作りになっていなかったため、それらの指\n定が無視され、常に1か2へ移動しようとしてしまいました。これが、意図した通りに動作しなかった原因です。",{"type":27,"tag":28,"props":674,"children":675},{},[676,678,681],{"type":32,"value":677},"ご自身で修復されたssscript_original.jsは、tango.htmlからの引数を正しく受け取って処理するようになっていたため\n、正常に動作した、ということになります。",{"type":27,"tag":74,"props":679,"children":680},{},[],{"type":27,"tag":74,"props":682,"children":683},{},[],{"type":27,"tag":28,"props":685,"children":686},{},[687],{"type":32,"value":688},"私の修正が不十分で、ご不便をおかけし大変申し訳ありませんでした。",{"type":27,"tag":28,"props":690,"children":691},{},[692],{"type":32,"value":693},"、、、と、もっともらしい説明をしていますが、「じゃあ、なんで最初からそのように修正しなかったの？」と突っ込みたくなります。",{"type":27,"tag":28,"props":695,"children":696},{},[697,702],{"type":27,"tag":87,"props":698,"children":701},{"src":699,"alt":700,"width":91},"\u002Fimg\u002Faifailure.jpg","AIエージェントの失敗",[],{"type":27,"tag":74,"props":703,"children":704},{},[],{"type":27,"tag":28,"props":706,"children":707},{},[708,710],{"type":32,"value":709},"　",{"type":27,"tag":55,"props":711,"children":712},{},[713],{"type":32,"value":714},"実は、Gemini CLI の説明は完全に間違っています。",{"type":27,"tag":28,"props":716,"children":717},{},[718,719,725],{"type":32,"value":709},{"type":27,"tag":527,"props":720,"children":722},{"className":721},[],[723],{"type":32,"value":724},"xgo()",{"type":32,"value":726}," 関数などハダノが定義した関数への理解が足りないのがその原因です。ソックサーガは、「中学生にWebアプリを作らせるためのWebアプリ」なので、JavaScriptの命令も間接的に実行されるようにしています。",{"type":27,"tag":28,"props":728,"children":729},{},[730,731,736],{"type":32,"value":709},{"type":27,"tag":527,"props":732,"children":734},{"className":733},[],[735],{"type":32,"value":724},{"type":32,"value":737}," 関数については、絶対ジャンプではなく相対ジャンプにしています。スライドの挿入・削除をしてもそのまま動くからです。",{"type":27,"tag":28,"props":739,"children":740},{},[741,743,749,751,757],{"type":32,"value":742},"　そもそもxhear関数を呼び出す側では、単語しか引数として指定していません。移動先や言語は規定値のままなわけですから、『移動先の引数（5や6）を受け取る作りになっていなかったため』というのは、理由になりません。",{"type":27,"tag":527,"props":744,"children":746},{"className":745},[],[747],{"type":32,"value":748},"xgo(1)",{"type":32,"value":750},"や",{"type":27,"tag":527,"props":752,"children":754},{"className":753},[],[755],{"type":32,"value":756},"xgo(2)",{"type":32,"value":758},"の呼び出し方を根本的に間違えていたのです。",{"type":27,"tag":74,"props":760,"children":761},{},[],{"type":27,"tag":28,"props":763,"children":764},{},[765],{"type":32,"value":766},"　やはり、今のAIエージェントは、一般的なプログラムはOKでも特殊なプログラムは苦手なようです。……惜しい！！",{"type":27,"tag":28,"props":768,"children":769},{},[770],{"type":32,"value":771},"　しかし、AIの助けがあれば、アプリの改造がスピードアップしそうです。",{"type":27,"tag":74,"props":773,"children":774},{},[],{"type":27,"tag":138,"props":776,"children":778},{"id":777},"中学生に刺さる英単語ゲームに",[779],{"type":32,"value":777},{"type":27,"tag":145,"props":781,"children":783},{"className":782},[148],[784,785,794,796,799,801,804],{"type":32,"value":151},{"type":27,"tag":145,"props":786,"children":788},{"className":787},[155],[789,790,793],{"type":32,"value":158},{"type":27,"tag":87,"props":791,"children":792},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":795},"\n中学生用の英単語チェックアプリを作ろうとしています。",{"type":27,"tag":74,"props":797,"children":798},{},[],{"type":32,"value":800},"\n普通の勉強だと敬遠されるのでゲーム感覚で楽しんでもらいたいのです。中学生の好きなゲームタイトルによく出てくる言葉をアプリタイトルに入れるとよいのではないかと思います。",{"type":27,"tag":74,"props":802,"children":803},{},[],{"type":27,"tag":28,"props":805,"children":806},{},[807,809,818,820],{"type":32,"value":808},"中学生が興味を持ちそうなアプリタイトルの案を5つ、",{"type":27,"tag":810,"props":811,"children":812},"em",{},[813],{"type":27,"tag":55,"props":814,"children":815},{},[816],{"type":32,"value":817},"その確率とともに生成",{"type":32,"value":819},"してください。",{"type":27,"tag":74,"props":821,"children":822},{},[],{"type":27,"tag":145,"props":824,"children":826},{"className":825},[192],[827,828,839,847,858,871,884,897,910,923,926],{"type":32,"value":151},{"type":27,"tag":145,"props":829,"children":831},{"className":830},[155],[832,833,838],{"type":32,"value":158},{"type":27,"tag":87,"props":834,"children":837},{"src":835,"alt":836,"width":163},"\u002Fimg\u002Fgenai.png","ChatGPT",[],{"type":32,"value":158},{"type":27,"tag":28,"props":840,"children":841},{},[842],{"type":27,"tag":55,"props":843,"children":844},{},[845],{"type":32,"value":846},"おすすめタイトル案｛確率つき｝",{"type":27,"tag":28,"props":848,"children":849},{},[850,852,855],{"type":32,"value":851},"以下は、中学生に人気のゲームタイトル傾向（マインクラフト、ポケモン、スプラトゥーン、フォートナイト、どうぶつの森など）を参考にした、英単語チェックアプリのネーミング案です。｛中学生に刺さる確率｝",{"type":27,"tag":74,"props":853,"children":854},{},[],{"type":27,"tag":74,"props":856,"children":857},{},[],{"type":27,"tag":28,"props":859,"children":860},{},[861,866,868],{"type":27,"tag":55,"props":862,"children":863},{},[864],{"type":32,"value":865},"Word Quest",{"type":32,"value":867},"（ワードクエスト）：RPG風。「クエスト」という冒険感が人気ゲームに多く登場。｛ 85% ｝",{"type":27,"tag":74,"props":869,"children":870},{},[],{"type":27,"tag":28,"props":872,"children":873},{},[874,879,881],{"type":27,"tag":55,"props":875,"children":876},{},[877],{"type":32,"value":878},"English Royale",{"type":32,"value":880},"（イングリッシュ・ロワイヤル）：……｛ 80% ｝",{"type":27,"tag":74,"props":882,"children":883},{},[],{"type":27,"tag":28,"props":885,"children":886},{},[887,892,894],{"type":27,"tag":55,"props":888,"children":889},{},[890],{"type":32,"value":891},"VocabCraft",{"type":32,"value":893},"（ボキャブラクラフト）：……｛ 90% ｝",{"type":27,"tag":74,"props":895,"children":896},{},[],{"type":27,"tag":28,"props":898,"children":899},{},[900,905,907],{"type":27,"tag":55,"props":901,"children":902},{},[903],{"type":32,"value":904},"Spellmon",{"type":32,"value":906},"（スペルモン）：……｛ 75% ｝",{"type":27,"tag":74,"props":908,"children":909},{},[],{"type":27,"tag":28,"props":911,"children":912},{},[913,918,920],{"type":27,"tag":55,"props":914,"children":915},{},[916],{"type":32,"value":917},"Word Splash",{"type":32,"value":919},"（ワードスプラッシュ）：……｛ 70% ｝",{"type":27,"tag":74,"props":921,"children":922},{},[],{"type":27,"tag":328,"props":924,"children":925},{},[],{"type":27,"tag":28,"props":927,"children":928},{},[929],{"type":32,"value":930},"👉 興味があれば、これらのタイトルに合わせたUI演出やゲームシステムのアイデアも提案できます。見てみますか。",{"type":27,"tag":145,"props":932,"children":934},{"className":933},[148],[935,936,945,947,950,952,955],{"type":32,"value":151},{"type":27,"tag":145,"props":937,"children":939},{"className":938},[155],[940,941,944],{"type":32,"value":158},{"type":27,"tag":87,"props":942,"children":943},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":946},"\nありがとうございます。",{"type":27,"tag":74,"props":948,"children":949},{},[],{"type":32,"value":951},"\nプレーヤーである魔法使いが、次々と現れる魔物（日本語訳）に対して呪文（英単語）を発音し、スペルが合っていれば呪いを解除して人間にもどし、報酬（得点）をゲットするというゲームがよさそうです。",{"type":27,"tag":74,"props":953,"children":954},{},[],{"type":27,"tag":28,"props":956,"children":957},{},[958,960,965,967],{"type":32,"value":959},"spellには呪文という意味もあるので、「",{"type":27,"tag":55,"props":961,"children":962},{},[963],{"type":32,"value":964},"SPELL QUEST",{"type":32,"value":966},"（スペルクエスト）」というタイトルにします。",{"type":27,"tag":74,"props":968,"children":969},{},[],{"type":27,"tag":28,"props":971,"children":972},{},[973,975,980,982],{"type":32,"value":974},"　最近覚えたのが、「",{"type":27,"tag":55,"props":976,"children":977},{},[978],{"type":32,"value":979},"確率つき",{"type":32,"value":981},"」のアイディア出しです。これは簡単なのに効果的でおすすめです。　→ ",{"type":27,"tag":43,"props":983,"children":987},{"href":984,"rel":985},"https:\u002F\u002Fnazology.kusuguru.co.jp\u002Farchives\u002F187383",[986],"nofollow",[988],{"type":32,"value":989},"🔗スタンフォード大学の研究から「その確率も教えて」でAIが覚醒すると判明",{"type":27,"tag":74,"props":991,"children":992},{},[],{"type":27,"tag":138,"props":994,"children":996},{"id":995},"spell-quest-への改造開始",[997],{"type":32,"value":998},"SPELL QUEST への改造開始",{"type":27,"tag":28,"props":1000,"children":1001},{},[1002],{"type":32,"value":1003},"　何百語もの英単語＆日本語訳を読み込むとなると、HTML内に直書きして変数に代入するのは現実的ではありません。かといってバックエンドの知識が必要なデータベース構築もたいへんです。JSONファイルを読み込むのがよいでしょう。",{"type":27,"tag":145,"props":1005,"children":1007},{"className":1006},[148],[1008,1009,1018],{"type":32,"value":151},{"type":27,"tag":145,"props":1010,"children":1012},{"className":1011},[155],[1013,1014,1017],{"type":32,"value":158},{"type":27,"tag":87,"props":1015,"children":1016},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1019},"\n@C:\\nuxt●\\～～\\jisshu\\tango1.csv\nをもとにして、JavaScriptから読み込んで使うためのJSONファイルを作り、同じフォルダに保存してください。\n",{"type":27,"tag":28,"props":1021,"children":1022},{},[1023],{"type":27,"tag":527,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":32,"value":1028},"[   {     \"en\": \"always\",     \"ja\": \"いつも\"   },   {     \"en\": \"breakfast\",     \"ja\": \"朝食\"   },       ：：：：：   {     \"en\": \"junior\",     \"ja\": \"年下の、下級の\"   } ]",{"type":27,"tag":28,"props":1030,"children":1031},{},[1032],{"type":32,"value":1033},"というJSONファイルが作られていましたが、ちょっと冗長で使いづらそうです。",{"type":27,"tag":28,"props":1035,"children":1036},{},[1037],{"type":32,"value":1038},"　やはり、ゴールから逆算してリクエストすべきでした。",{"type":27,"tag":145,"props":1040,"children":1042},{"className":1041},[148],[1043,1044,1053,1055,1058,1060,1063,1065,1068,1070,1073,1076],{"type":32,"value":151},{"type":27,"tag":145,"props":1045,"children":1047},{"className":1046},[155],[1048,1049,1052],{"type":32,"value":158},{"type":27,"tag":87,"props":1050,"children":1051},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1054},"\nfetch()でJSONを読み込んだあと、Object.entries()で\n[['always','いつも'],['breakfast','朝食'],…,['junior','年下の、下級の']]",{"type":27,"tag":74,"props":1056,"children":1057},{},[],{"type":32,"value":1059},"\nという二次元配列に変換して使う予定です。",{"type":27,"tag":74,"props":1061,"children":1062},{},[],{"type":32,"value":1064},"\nこのような処理をやりやすくするためのJSONファイルを作り、同じフォルダに保存してください。",{"type":27,"tag":74,"props":1066,"children":1067},{},[],{"type":32,"value":1069},"\nちなみに、英単語は同じものは二度と出てこないので、オブジェクトのキーに使えます。",{"type":27,"tag":74,"props":1071,"children":1072},{},[],{"type":27,"tag":74,"props":1074,"children":1075},{},[],{"type":32,"value":1077},"\nまた、このような処理をするためのJavaScriptコードのサンプルを示してください。\n",{"type":27,"tag":145,"props":1079,"children":1081},{"className":1080},[192],[1082,1083,1092,1094],{"type":32,"value":151},{"type":27,"tag":145,"props":1084,"children":1086},{"className":1085},[155],[1087,1088,1091],{"type":32,"value":158},{"type":27,"tag":87,"props":1089,"children":1090},{"src":202,"alt":203,"width":163},[],{"type":32,"value":158},{"type":32,"value":1093},"\n✦ 承知いたしました。ご要望の形式のJSONファイルを作成し、それを利用するJavaScriptのサンプルコードを提示します。\n",{"type":27,"tag":28,"props":1095,"children":1096},{},[1097,1099,1102,1104,1107],{"type":32,"value":1098},"英単語をキー、日本語訳を値とするオブジェクト形式のJSONファイルを作成し、",{"type":27,"tag":74,"props":1100,"children":1101},{},[],{"type":32,"value":1103},"\nC:\\nuxt●\\～～\\jisshu\\tango1.jsonとして保存します。",{"type":27,"tag":74,"props":1105,"children":1106},{},[],{"type":32,"value":1108},"\nこれにより、Object.entries() を使って効率的に二次元配列へ変換できます。",{"type":27,"tag":519,"props":1110,"children":1115},{"className":1111,"code":1113,"language":1114,"meta":8},[1112],"language-json.ps1","まず、JSONファイルを上書き保存します。\n│     1 {  \n│     2   \"always\": \"いつも\",  \n│     3   \"breakfast\": \"朝食\", \n            ：：：：：\n│    11   \"junior\": \"年下の、下級の\" \n│    12 } \n✦ 新しい形式で tango1.json を保存しました。\n\n  次に、このJSONファイルを読み込んで二次元配列に変換する\n  JavaScriptコードのサンプルを示します。\n\n  1 async function loadAndConvertWords() {\n  2   try {\n  3     \u002F\u002F 1. JSONファイルをfetchで読み込む\n  4     const response = await fetch('tango1.json');\n  5     if (!response.ok) {\n  6       throw new Error(`HTTP error! \n                          status: ${response.status}`);\n  7     }\n  8     const wordObject = await response.json();\n  9\n  10     \u002F\u002F 2. Object.entries()で二次元配列に変換\n  11     const wordPairs = Object.entries(wordObject);\n  12\n  13     \u002F\u002F 3. 結果をコンソールに出力して確認\n  14     console.log(wordPairs);\n  15\n  16     \u002F*\n  17     コンソールへの出力結果：\n  18     [\n  19       [\"always\", \"いつも\"],\n  20       [\"breakfast\", \"朝食\"],\n              ：：：：：\n  28       [\"junior\", \"年下の、下級の\"]\n  29     ]\n  30     *\u002F\n  31\n  32   } catch (error) {\n  33     console.error('データの読み込みまたは\n                          変換に失敗しました:', error);\n  34   }\n  35 }\n  36\n  37 \u002F\u002F 関数を実行\n  38 loadAndConvertWords();\n","json.ps1",[1116],{"type":27,"tag":527,"props":1117,"children":1118},{"__ignoreMap":8},[1119],{"type":32,"value":1113},{"type":27,"tag":28,"props":1121,"children":1122},{},[1123,1125,1131],{"type":32,"value":1124},"これをほとんどそのまま採用し、",{"type":27,"tag":527,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":32,"value":1130},"xjson()",{"type":32,"value":1132}," 関数として組み込んだところ、期待通りに動きました。……感動！！",{"type":27,"tag":28,"props":1134,"children":1135},{},[1136,1138,1144],{"type":32,"value":1137},"　これで、英単語データをCSV形式で作れば、あとの作業（",{"type":27,"tag":527,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":32,"value":1143},"CSV → JSON → 二次元配列",{"type":32,"value":1145},"）はAIに任せられます。",{"type":27,"tag":74,"props":1147,"children":1148},{},[],{"type":27,"tag":138,"props":1150,"children":1152},{"id":1151},"英単語データの作成もaiエージェントで",[1153],{"type":32,"value":1154},"英単語データの作成もAIエージェントで",{"type":27,"tag":28,"props":1156,"children":1157},{},[1158],{"type":32,"value":1159},"　そうなると、英単語データもAIで作れないかと考えてしまいます。",{"type":27,"tag":145,"props":1161,"children":1163},{"className":1162},[148],[1164,1165,1174,1176,1179,1181,1184,1186],{"type":32,"value":151},{"type":27,"tag":145,"props":1166,"children":1168},{"className":1167},[155],[1169,1170,1173],{"type":32,"value":158},{"type":27,"tag":87,"props":1171,"children":1172},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1175},"\n高校入試に挑戦する中学生がマスターすべき英単語を",{"type":27,"tag":74,"props":1177,"children":1178},{},[],{"type":32,"value":1180},"\ntango1.csv\nと同じ形式で作成してください。",{"type":27,"tag":74,"props":1182,"children":1183},{},[],{"type":32,"value":1185},"\nただし、以下のものは除外してください。\n",{"type":27,"tag":35,"props":1187,"children":1188},{},[1189,1194,1199],{"type":27,"tag":39,"props":1190,"children":1191},{},[1192],{"type":32,"value":1193},"冠詞、代名詞",{"type":27,"tag":39,"props":1195,"children":1196},{},[1197],{"type":32,"value":1198},"外来語として定着しているもの、固有名詞",{"type":27,"tag":39,"props":1200,"children":1201},{},[1202],{"type":32,"value":1203},"略語、スペースやハイフンが入ったもの（熟語）",{"type":27,"tag":28,"props":1205,"children":1206},{},[1207],{"type":32,"value":1208},"　指示が雑すぎたのか、動詞と形容詞だけで50語作ってくれました。初級・中級・上級のクエストに使えるように指示を追加します。",{"type":27,"tag":145,"props":1210,"children":1212},{"className":1211},[148],[1213,1214,1223,1225,1228,1230,1233,1235,1238],{"type":32,"value":151},{"type":27,"tag":145,"props":1215,"children":1217},{"className":1216},[155],[1218,1219,1222],{"type":32,"value":158},{"type":27,"tag":87,"props":1220,"children":1221},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1224},"\n同じような感じで日本の中学生がマスターすべき英単語を",{"type":27,"tag":74,"props":1226,"children":1227},{},[],{"type":32,"value":1229},"\n初級：words1.csv、中級：words2.csv、上級：words3.csv",{"type":27,"tag":74,"props":1231,"children":1232},{},[],{"type":32,"value":1234},"\nそれぞれ100語ずつ重なりなく作成してください。",{"type":27,"tag":74,"props":1236,"children":1237},{},[],{"type":32,"value":1239},"\n品詞については、動詞と形容詞だけでなく、固有名詞以外の名詞、副詞も含めてお願いします。\n",{"type":27,"tag":28,"props":1241,"children":1242},{},[1243],{"type":32,"value":1244},"　「100語ずつ」も勝手に「100語以上」と解釈したのか、級が上がるにつれ雪だるま式に増えています。",{"type":27,"tag":28,"props":1246,"children":1247},{},[1248],{"type":32,"value":1249},"　プロンプトをいじっても限界があると感じたので、作られたCSVファイルに対して操作を加えてもらうことにします。",{"type":27,"tag":145,"props":1251,"children":1253},{"className":1252},[148],[1254,1255,1264,1266,1269,1271,1274,1276,1279,1281,1284],{"type":32,"value":151},{"type":27,"tag":145,"props":1256,"children":1258},{"className":1257},[155],[1259,1260,1263],{"type":32,"value":158},{"type":27,"tag":87,"props":1261,"children":1262},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1265},"\nリストアップをありがとうございました。",{"type":27,"tag":74,"props":1267,"children":1268},{},[],{"type":32,"value":1270},"\n上級：words3.csv",{"type":27,"tag":74,"props":1272,"children":1273},{},[],{"type":32,"value":1275},"\nに、初級と中級のものが重なって含まれているので、それらを削除して真に「上級」のリストにし",{"type":27,"tag":74,"props":1277,"children":1278},{},[],{"type":32,"value":1280},"\n@C:\\nuxt●\\～～\\jisshu\\words3.csv",{"type":27,"tag":74,"props":1282,"children":1283},{},[],{"type":32,"value":1285},"\nに上書き保存してください。\n",{"type":27,"tag":28,"props":1287,"children":1288},{},[1289],{"type":32,"value":1290},"、、、どうするのか見ていたら、その場で文字列操作用のPythonプログラムを組んで実行していました。一応、できたようです。",{"type":27,"tag":74,"props":1292,"children":1293},{},[],{"type":27,"tag":138,"props":1295,"children":1297},{"id":1296},"英単語問題作りはけっこうたいへん",[1298],{"type":32,"value":1296},{"type":27,"tag":28,"props":1300,"children":1301},{},[1302],{"type":32,"value":1303},"　英単語と日本語訳が一対一対応していれば簡単なのですが、「多義語」「同義語」「同音異義語」の関係で非常にややこしくなっています。",{"type":27,"tag":28,"props":1305,"children":1306},{},[1307],{"type":32,"value":1308},"　特に、英語は同じ言葉の繰り返しを嫌い、言い換えのための「同義語」をたくさん持っているようです。",{"type":27,"tag":28,"props":1310,"children":1311},{},[1312,1314],{"type":32,"value":1313},"　また、バイ（by,bye,buy）のような「同音異義語」を音声認識させると、特定の一つしか認識されない（この場合はbye）ためゲームが成立しなくなります。　→ ",{"type":27,"tag":43,"props":1315,"children":1318},{"href":1316,"rel":1317},"https:\u002F\u002Fchugakueigo.itgakko.com\u002Fmatome\u002Fdouonigigo.html",[986],[1319],{"type":32,"value":1320},"🔗高校入試対策で覚えておきたい中学英語の同音異義語",{"type":27,"tag":28,"props":1322,"children":1323},{},[1324],{"type":32,"value":1325},"　文脈に依存せず、日本語訳を見て一つの英単語が思い浮かび、発音が認識される、、、そんな「英単語＆日本語訳（複数可）」のペアにしぼりたいものです。",{"type":27,"tag":28,"props":1327,"children":1328},{},[1329],{"type":32,"value":1330},"　もうこうなると今のAIには荷が重いので、手作業となります。CSVファイルはエクセルで読み書きできるので、ソート（並べ替え）を駆使し、Google翻訳で確認しながら、なんとか100語ずつにしぼり込みました。",{"type":27,"tag":145,"props":1332,"children":1334},{"className":1333},[148],[1335,1336,1345,1347,1350,1352,1355,1357,1360],{"type":32,"value":151},{"type":27,"tag":145,"props":1337,"children":1339},{"className":1338},[155],[1340,1341,1344],{"type":32,"value":158},{"type":27,"tag":87,"props":1342,"children":1343},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":1346},"\nwords1.csv、words2.csv、words3.csvから100語ずつ抜粋して計300語のwordsq.csvを作りました。",{"type":27,"tag":74,"props":1348,"children":1349},{},[],{"type":32,"value":1351},"\nこれをもとにtango1.jsonと同じ形式のJSONファイルを作成し、",{"type":27,"tag":74,"props":1353,"children":1354},{},[],{"type":32,"value":1356},"\n@C:\\nuxt●\\～～\\jisshu\\wordsq.json",{"type":27,"tag":74,"props":1358,"children":1359},{},[],{"type":32,"value":1361},"\nとして保存してください。\n",{"type":27,"tag":28,"props":1363,"children":1364},{},[1365,1367,1373],{"type":32,"value":1366},"　クエストの級を選択したら、100語の中からランダムに10語を選び、アルファベット順に並べて出題する関数を ",{"type":27,"tag":527,"props":1368,"children":1370},{"className":1369},[],[1371],{"type":32,"value":1372},"xquest()",{"type":32,"value":1374}," として追加しました。",{"type":27,"tag":28,"props":1376,"children":1377},{},[1378,1380,1386],{"type":32,"value":1379},"　また、",{"type":27,"tag":527,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":32,"value":1385},"xhear()",{"type":32,"value":1387}," 関数にも次のような改良を加えました。",{"type":27,"tag":35,"props":1389,"children":1390},{},[1391,1404],{"type":27,"tag":39,"props":1392,"children":1393},{},[1394,1396,1402],{"type":32,"value":1395},"発音した通りに認識されなかったら",{"type":27,"tag":527,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":32,"value":1401},"[キャンセル]",{"type":32,"value":1403},"し、すぐに発音をやり直す。",{"type":27,"tag":39,"props":1405,"children":1406},{},[1407],{"type":32,"value":1408},"スペルが正しくないときの判定結果に、「どれくらい惜しいか」という類似度（%）を表示。",{"type":27,"tag":28,"props":1410,"children":1411},{},[1412],{"type":32,"value":1413},"　アルファベット順であることと類似度をヒントに「同義語」「類義語」の中から正解にたどりつきやすくなるでしょう。",{"type":27,"tag":28,"props":1415,"children":1416},{},[1417,1419,1425,1427],{"type":32,"value":1418},"　ちなみに、　類似度の計算手法は何種類もあり、自分で（AIで）JavaScriptで組んでもよかったのですが、公開されているライブラリ ",{"type":27,"tag":527,"props":1420,"children":1422},{"className":1421},[],[1423],{"type":32,"value":1424},"string-similarity",{"type":32,"value":1426}," を使うことにしました。 　→ ",{"type":27,"tag":43,"props":1428,"children":1431},{"href":1429,"rel":1430},"https:\u002F\u002Fqiita.com\u002Fkenny-m\u002Fitems\u002F7131669cd5f6f757dffc",[986],[1432],{"type":32,"value":1433},"🔗【JavaScript】文字列検索の手法",{"type":27,"tag":28,"props":1435,"children":1436},{},[1437,1439],{"type":32,"value":1438},"　プログラミングを料理に例えると、「めんつゆ」「顆粒だし」を使ったら手抜き料理になるからすべて手作りで……と考えるようなもので、現実的ではありません。　→ ",{"type":27,"tag":43,"props":1440,"children":1443},{"href":1441,"rel":1442},"https:\u002F\u002Fmagmix.jp\u002Fpost\u002F325864",[986],[1444],{"type":32,"value":1445},"🔗リアルで「じゃあ、あんたが作ってみろよ」と思った瞬間は？",{"type":27,"tag":87,"props":1447,"children":1452},{"src":1448,"alt":1449,"className":1450},"\u002Fimg\u002Fjatsuku.jpg","じゃあ、あんたが作ってみろよ",[1451],"imghr",[],{"type":27,"tag":74,"props":1454,"children":1455},{},[],{"type":27,"tag":138,"props":1457,"children":1459},{"id":1458},"ゲームっぽいデザインに",[1460],{"type":32,"value":1458},{"type":27,"tag":28,"props":1462,"children":1463},{},[1464],{"type":32,"value":1465},"　ゲームの雰囲気を盛り上げるといえば、美しいグラフィックスやサウンドです。学習用の場合、グラフィックスは低刺激に、サウンドはオフにする必要があります。",{"type":27,"tag":28,"props":1467,"children":1468},{},[1469,1470,1476,1478,1485],{"type":32,"value":709},{"type":27,"tag":43,"props":1471,"children":1473},{"href":1472},"\u002Farticles\u002Ftechnolojiya-10#mapcustom",[1474],{"type":32,"value":1475},"🔗(万博)つじさんマップを自分用にカスタマイズ",{"type":32,"value":1477}," で味をしめた",{"type":27,"tag":43,"props":1479,"children":1482},{"href":1480,"rel":1481},"https:\u002F\u002Flets-emoji.com\u002F",[986],[1483],{"type":32,"value":1484},"🔗絵文字",{"type":32,"value":1486}," を活用することにしました。",{"type":27,"tag":145,"props":1488,"children":1490},{"className":1489},[148],[1491,1492,1501],{"type":32,"value":151},{"type":27,"tag":145,"props":1493,"children":1495},{"className":1494},[155],[1496,1497,1500],{"type":32,"value":158},{"type":27,"tag":87,"props":1498,"children":1499},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":27,"tag":28,"props":1502,"children":1503},{},[1504,1506,1510,1512],{"type":32,"value":1505},"「",{"type":27,"tag":55,"props":1507,"children":1508},{},[1509],{"type":32,"value":964},{"type":32,"value":1511},"（スペルクエスト）」に使えそうな絵文字を探しています。次のもののほかによさそうなもの（魔物・人間・魔法・報酬）があれば、教えてください……",{"type":27,"tag":74,"props":1513,"children":1514},{},[],{"type":27,"tag":28,"props":1516,"children":1517},{},[1518],{"type":32,"value":1519},"　報酬は、銅🥉・銀🥈・金🥇のメダルとし、",{"type":27,"tag":28,"props":1521,"children":1522},{},[1523,1525,1531],{"type":32,"value":1524},"魔物 → 人間 の変化は、",{"type":27,"tag":527,"props":1526,"children":1528},{"className":1527},[],[1529],{"type":32,"value":1530},"xkk=[['🐛','👶'],['🪰','👦'],['🕷️','👧'],……",{"type":32,"value":1532},"　という二次元配列としてクエスト分そろえました。画像ファイルでやるよりはるかに楽です。",{"type":27,"tag":28,"props":1534,"children":1535},{},[1536],{"type":32,"value":1537},"　オープニング画面も絵文字を並べて作りましたが、言いたいことは伝えられそうです。",{"type":27,"tag":28,"props":1539,"children":1540},{},[1541],{"type":32,"value":1542},"　あとは、「動き」がほしいところです。",{"type":27,"tag":28,"props":1544,"children":1545},{},[1546],{"type":32,"value":1547},"　アニメGIF でもよいのですが、調整のしやすさを考えて、",{"type":27,"tag":35,"props":1549,"children":1550},{},[1551,1570],{"type":27,"tag":39,"props":1552,"children":1553},{},[1554,1560,1562,1568],{"type":27,"tag":527,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":32,"value":1559},"anime.js",{"type":32,"value":1561}," を呼び出す ",{"type":27,"tag":527,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":32,"value":1567},"xanim(obj,ループ回数)",{"type":32,"value":1569}," 関数",{"type":27,"tag":39,"props":1571,"children":1572},{},[1573],{"type":32,"value":1574},"SVGアニメーション（SMIL）",{"type":27,"tag":28,"props":1576,"children":1577},{},[1578],{"type":32,"value":1579},"の二つを使いました。",{"type":27,"tag":28,"props":1581,"children":1582},{},[1583,1584,1589,1591,1597],{"type":32,"value":709},{"type":27,"tag":527,"props":1585,"children":1587},{"className":1586},[],[1588],{"type":32,"value":1559},{"type":32,"value":1590}," の ",{"type":27,"tag":527,"props":1592,"children":1594},{"className":1593},[],[1595],{"type":32,"value":1596},"loop",{"type":32,"value":1598}," がうまく機能しないので、ループ回数を受け取るようにしました。",{"type":27,"tag":28,"props":1600,"children":1601},{},[1602],{"type":32,"value":1603},"　SVGは、HTML内に埋め込めるので便利です。中学生曰く、「魔法が放射されている」と見えるようです。",{"type":27,"tag":1605,"props":1606,"children":1610},"svg",{"xmlns":1607,"viewBox":1608,"preserveAspectRatio":1609},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","-11 0 90 7","none",[1611],{"type":27,"tag":1612,"props":1613,"children":1617},"path",{"fill":1614,"id":1615,"d":1616},"#ffff00","wave1","M100,10H0V9C49.83,9,50,2,100,2v8Z",[1618],{"type":27,"tag":1619,"props":1620,"children":1626},"animate",{"attributeType":1621,"attributeName":1622,"dur":1623,"repeatCount":1624,"values":1625},"XML","d","1s","indefinite","\n M100,10H0V9C49.83,9,50,2,100,2v8Z;\n M100,10H0V5.5C50,10,50,10,100,5.5V10Z;\n M100,10H0V2C49.83,2,50,9,100,9v1Z;\n M100,10H0V5.58C50.08,0,50.08,0,100,5.5V10Z;\n M100,10H0V9C49.83,9,50,2,100,2v8Z\n ",[],{"type":27,"tag":28,"props":1628,"children":1629},{},[1630,1632,1637,1639],{"type":32,"value":1631},"　ちなみに、プログラムというのは書いて終わりではありません。「推敲・校正」にあたる ",{"type":27,"tag":55,"props":1633,"children":1634},{},[1635],{"type":32,"value":1636},"デバッグ",{"type":32,"value":1638}," が延々と続くのです。",{"type":27,"tag":74,"props":1640,"children":1642},{"id":1641},"spellquest",[],{"type":27,"tag":35,"props":1644,"children":1645},{},[1646],{"type":27,"tag":39,"props":1647,"children":1648},{},[1649],{"type":27,"tag":43,"props":1650,"children":1653},{"href":1651,"rel":1652},"https:\u002F\u002Fics.media\u002Fentry\u002F190517\u002F",[986],[1654],{"type":32,"value":1655},"🔗ChromeのデベロッパーツールでJavaScriptをデバッグする方法",{"type":27,"tag":28,"props":1657,"children":1658},{},[1659],{"type":32,"value":1660},"にいつも助けられています。",{"type":27,"tag":28,"props":1662,"children":1663},{},[1664,1669],{"type":27,"tag":87,"props":1665,"children":1668},{"src":1666,"alt":1667,"width":91},"\u002Fimg\u002Fspellquestdev1.jpg","スペルクエスト開発中",[],{"type":27,"tag":74,"props":1670,"children":1671},{},[],{"type":27,"tag":74,"props":1673,"children":1674},{},[],{"type":27,"tag":138,"props":1676,"children":1678},{"id":1677},"まとめaiエージェントでちょっとだけハッカーになれアプリを改造できた",[1679],{"type":32,"value":1680},"（まとめ）AIエージェントで「ちょっとだけハッカー」になれ、アプリを改造できた",{"type":27,"tag":35,"props":1682,"children":1683},{},[1684],{"type":27,"tag":39,"props":1685,"children":1686},{},[1687,1689],{"type":32,"value":1688},"→ ",{"type":27,"tag":43,"props":1690,"children":1693},{"href":1691,"rel":1692},"https:\u002F\u002Fkyodx.com\u002Fjisshu\u002Fspellquest.html",[986],[1694,1696,1700],{"type":32,"value":1695},"🔗「英単語ゲーム ",{"type":27,"tag":55,"props":1697,"children":1698},{},[1699],{"type":32,"value":964},{"type":32,"value":1701},"」",{"type":27,"tag":87,"props":1703,"children":1706},{"src":1704,"alt":1705,"width":91},"\u002Fimg\u002Fspellquest3.jpg","スペルクエストプレイ中",[],{"type":27,"tag":28,"props":1708,"children":1709},{},[1710,1712,1718,1720,1726,1728,1734],{"type":32,"value":1711},"※ 内蔵マイクだと音声認識が弱いときは、",{"type":27,"tag":43,"props":1713,"children":1715},{"href":1714},"#dungzduz",[1716],{"type":32,"value":1717},"🔗小型USBマイク",{"type":32,"value":1719}," ← ",{"type":27,"tag":43,"props":1721,"children":1723},{"href":1722},"#usbcadapter",[1724],{"type":32,"value":1725},"🔗USB-Cアダプター",{"type":32,"value":1727},"　← ",{"type":27,"tag":43,"props":1729,"children":1731},{"href":1730},"#lpoiejun",[1732],{"type":32,"value":1733},"🔗USB-C延長ケーブル",{"type":32,"value":1735}," ← タブレット のように接続",{"type":27,"tag":74,"props":1737,"children":1738},{},[],{"type":27,"tag":28,"props":1740,"children":1741},{},[1742,1744],{"type":32,"value":1743},"　「英単語の学習」については、さまざまな意見があるようです。　→ ",{"type":27,"tag":43,"props":1745,"children":1748},{"href":1746,"rel":1747},"https:\u002F\u002Fwww.asahi.com\u002Farticles\u002FASTC74J0JTC7OXIE002M.html#:~:text=%E5%8D%98%E8%AA%9E%E5%AD%A6%E7%BF%92%E3%82%92%E5%85%88%E8%A1%8C%E3%81%97%E3%81%9F,%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%80%82",[986],[1749],{"type":32,"value":1750},"🔗単語か会話か、英語学習どっちから？　富山大教授ら「効果に違い」",{"type":27,"tag":28,"props":1752,"children":1753},{},[1754],{"type":32,"value":1755},"　「このアプリはやさしすぎる」と思われる方も多いでしょう。しかし、ハダノが中学生と接してきた経験からすると、英語が苦手な生徒は高校受験直前であっても「初級クエスト」さえクリアできません。",{"type":27,"tag":28,"props":1757,"children":1758},{},[1759,1760,1767],{"type":32,"value":709},{"type":27,"tag":43,"props":1761,"children":1764},{"href":1762,"rel":1763},"https:\u002F\u002Fwww.uta-net.com\u002Fsong\u002F231967\u002F",[986],[1765],{"type":32,"value":1766},"🔗セカオワのRAIN",{"type":32,"value":1768}," は歌えるのに、「雨」の英単語が出てきません。「雨の日に着るのは、何コートかな？」と聞いてやっと出てきます。",{"type":27,"tag":28,"props":1770,"children":1771},{},[1772,1773,1780],{"type":32,"value":709},{"type":27,"tag":43,"props":1774,"children":1777},{"href":1775,"rel":1776},"https:\u002F\u002Fwww.uta-net.com\u002Fsong\u002F9951\u002F",[986],[1778],{"type":32,"value":1779},"🔗めざせポケモンマスター",{"type":32,"value":1781}," は歌えるのに、「町」の英単語が出てきません。「シティじゃない方だよ」と言ってもなかなか出ません。",{"type":27,"tag":28,"props":1783,"children":1784},{},[1785],{"type":32,"value":1786},"　生活の中に英語が浸透し、アニメやゲームの中でもたくさん使われているのに、まったく結びついていない生徒がいるのが実態です。「詰め込み教育はよくない」などという前に基礎基本について再考すべきかと思います。",{"type":27,"tag":87,"props":1788,"children":1793},{"src":1789,"alt":1790,"className":1791},"\u002Fimg\u002Ftangojhs.jpg","アニメやゲームなどでたくさんの英単語に囲まれている中学生たち",[1792],"imghc",[],{"type":27,"tag":28,"props":1795,"children":1796},{},[1797,1799],{"type":32,"value":1798},"　ハダノ自身は、小学校高学年のときにローマ字習得に苦労しました。当時の教科書が、「文の中で理解させる」方法をとっていたためです。あるとき、五十音表を目にして法則に気づいたら、簡単に読み書きできるようになりました。高校時代も英単語を語源に分解して覚えるようにしたら、たくさん覚えられました。　→ ",{"type":27,"tag":43,"props":1800,"children":1803},{"href":1801,"rel":1802},"https:\u002F\u002Fisseisuzuki.org\u002Fprejudice\u002F",[986],[1804],{"type":32,"value":1805},"🔗prejudiceの意味をわかりやすく説明　一夜漬け英単語記憶術　語源",{"type":27,"tag":28,"props":1807,"children":1808},{},[1809],{"type":32,"value":1810},"　学習者のレベルや学び方に対応した教育でありたいものです。そういう意味では、学習アプリの手作りも有効な手段と言えるでしょう。",{"type":27,"tag":74,"props":1812,"children":1813},{},[],{"type":27,"tag":28,"props":1815,"children":1816},{},[1817],{"type":32,"value":1818},"　「AIエージェントを使ったプログラミング」についても、さまざまな意見があります。",{"type":27,"tag":35,"props":1820,"children":1821},{},[1822,1832,1842],{"type":27,"tag":39,"props":1823,"children":1824},{},[1825],{"type":27,"tag":43,"props":1826,"children":1829},{"href":1827,"rel":1828},"https:\u002F\u002Fqiita.com\u002FmonsoonTropicalBird\u002Fitems\u002F1d5a6257808ff7871bf0",[986],[1830],{"type":32,"value":1831},"🔗AIがプログラマを滅ぼすというのは、幻想やったかもしれん",{"type":27,"tag":39,"props":1833,"children":1834},{},[1835],{"type":27,"tag":43,"props":1836,"children":1839},{"href":1837,"rel":1838},"https:\u002F\u002Fzenn.dev\u002Fsatto_workspace\u002Farticles\u002Fa12faf6131ac4e",[986],[1840],{"type":32,"value":1841},"🔗わいの生成AIがカスコードばっか出してくるんやが",{"type":27,"tag":39,"props":1843,"children":1844},{},[1845,1852],{"type":27,"tag":43,"props":1846,"children":1849},{"href":1847,"rel":1848},"https:\u002F\u002Fatmarkit.itmedia.co.jp\u002Fait\u002Farticles\u002F2510\u002F20\u002Fnews030.html",[986],[1850],{"type":32,"value":1851},"🔗世界の開発者に聞いた「AIに任せられるタスク、任せられないタスク」",{"type":32,"value":1853},"\n、、、要するに、「AIに丸投げはダメ」ということです。",{"type":27,"tag":28,"props":1855,"children":1856},{},[1857,1859,1866],{"type":32,"value":1858},"　さしずめ、Eカプセル を飲んで、",{"type":27,"tag":43,"props":1860,"children":1863},{"href":1861,"rel":1862},"https:\u002F\u002Fwww.tv-asahi.co.jp\u002Fchottodake_esper\u002F",[986],[1864],{"type":32,"value":1865},"🔗「ちょっとだけエスパー」",{"type":32,"value":1867}," になれるようなものです。",{"type":27,"tag":87,"props":1869,"children":1874},{"src":1870,"alt":1871,"className":1872},"\u002Fimg\u002Fbitesper.jpg","ちょっとだけエスパー",[1873],"imghl",[],{"type":27,"tag":28,"props":1876,"children":1877},{},[1878],{"type":32,"value":1879},"　AIエージェント を使って、「ちょっとだけハッカー」になれますが、学習は欠かせません。AIが進化してゆき、",{"type":27,"tag":35,"props":1881,"children":1882},{},[1883],{"type":27,"tag":39,"props":1884,"children":1885},{},[1886],{"type":27,"tag":43,"props":1887,"children":1890},{"href":1888,"rel":1889},"https:\u002F\u002Fnote.com\u002Fihayato\u002Fn\u002Fn7e3cb271f96c",[986],[1891],{"type":32,"value":1892},"🔗【業務命令】今すぐ「Antigravity」をインストールして、バイブコーディングを始めよ！",{"type":27,"tag":28,"props":1894,"children":1895},{},[1896],{"type":32,"value":1897},"　という風に開発スタイルは変わっていくでしょうが、プログラミング知識が完全に不要になることはないでしょう。",{"type":27,"tag":28,"props":1899,"children":1900},{},[1901,1903,1908,1910,1916,1918,1924,1926],{"type":32,"value":1902},"　そもそも、今回の ",{"type":27,"tag":527,"props":1904,"children":1906},{"className":1905},[],[1907],{"type":32,"value":1130},{"type":32,"value":1909}," 関数の『",{"type":27,"tag":527,"props":1911,"children":1913},{"className":1912},[],[1914],{"type":32,"value":1915},"fetch()",{"type":32,"value":1917},"でJSONを読み込んだあと、",{"type":27,"tag":527,"props":1919,"children":1921},{"className":1920},[],[1922],{"type":32,"value":1923},"Object.entries()",{"type":32,"value":1925},"で二次元配列に変換してください』などは、書籍で学んだからこそ出せた指示なのです。　→ ",{"type":27,"tag":43,"props":1927,"children":1929},{"href":1928},"\u002Farticles\u002Fsocsaga-1#js278",[1930],{"type":32,"value":1931},"🔗JavaScriptコードレシピ集 スグに使えるテクニック278",{"type":27,"tag":87,"props":1933,"children":1936},{"src":1934,"alt":9,"className":1935},"\u002Fimg\u002Fbithacker.jpg",[1451],[],{"type":27,"tag":74,"props":1938,"children":1939},{},[],{"type":27,"tag":28,"props":1941,"children":1942},{},[1943],{"type":32,"value":1944},"　また、今回の件で「分断」についても考えさせられました。",{"type":27,"tag":35,"props":1946,"children":1947},{},[1948],{"type":27,"tag":39,"props":1949,"children":1950},{},[1951],{"type":27,"tag":43,"props":1952,"children":1955},{"href":1953,"rel":1954},"https:\u002F\u002Fplay.rakuten.co.jp\u002Farticle\u002F1300",[986],[1956],{"type":32,"value":1957},"🔗話題作「じゃあ、あんたが作ってみろよ」から得た気づき",{"type":27,"tag":28,"props":1959,"children":1960},{},[1961],{"type":32,"value":1962},"で述べられているように、何かを生み出す「作り手」の苦悩と、それを安易に批判する「受け手」の無責任さ……これは、さまざまな分野で見られます。",{"type":27,"tag":28,"props":1964,"children":1965},{},[1966],{"type":32,"value":1967},"　総じて日本では、「現場で手を動かす人」が軽んじられているように感じます。",{"type":27,"tag":35,"props":1969,"children":1970},{},[1971],{"type":27,"tag":39,"props":1972,"children":1973},{},[1974],{"type":27,"tag":43,"props":1975,"children":1978},{"href":1976,"rel":1977},"https:\u002F\u002Fwww.karasawanouki.co.jp\u002Fblog\u002Fkk20251105\u002F",[986],[1979],{"type":32,"value":1980},"🔗アメリカ、ブルーカラービリオネアの時代に。日本企業も大卒者よりも工業高校卒に熱い視線！AI時代に選ぶべき職業とは？",{"type":27,"tag":28,"props":1982,"children":1983},{},[1984],{"type":32,"value":1985},"を読むと、なるほどと思います。しかし、日本独特の雇用スタイル（新卒一括採用・年功序列・配置転換・終身雇用・退職金）が変わらなければ、専門的スキル人材は非正規・下請けで低待遇のままでしょう。熊対策一つ見ても、長期的視点での人材育成ができていないのが日本です。",{"type":27,"tag":28,"props":1987,"children":1988},{},[1989,1991],{"type":32,"value":1990},"　「人事・予算をにぎっている既得権益層が、現場に無理難題を押し付ける」構図を変えるには、",{"type":27,"tag":74,"props":1992,"children":1993},{},[],{"type":27,"tag":145,"props":1995,"children":1997},{"style":1996},"text-align: center; font-size: larger;",[1998],{"type":27,"tag":28,"props":1999,"children":2000},{},[2001,2002,2006],{"type":32,"value":1505},{"type":27,"tag":55,"props":2003,"children":2004},{},[2005],{"type":32,"value":1449},{"type":32,"value":1701},{"type":27,"tag":87,"props":2008,"children":2011},{"src":2009,"alt":1449,"className":2010},"\u002Fimg\u002Fmakeityourself.jpg",[1792],[],{"type":27,"tag":35,"props":2013,"children":2014},{},[2015],{"type":27,"tag":39,"props":2016,"children":2017},{},[2018],{"type":27,"tag":43,"props":2019,"children":2022},{"href":2020,"rel":2021},"https:\u002F\u002Fbiz.kddi.com\u002Fcontent\u002Fglossary\u002Fh\u002Fhacker\u002F",[986],[2023],{"type":32,"value":2024},"🔗ハッカーとは？意味・用語説明",{"type":27,"tag":28,"props":2026,"children":2027},{},[2028],{"type":32,"value":2029},"によれば、",{"type":27,"tag":28,"props":2031,"children":2032},{},[2033],{"type":27,"tag":527,"props":2034,"children":2036},{"className":2035},[],[2037],{"type":32,"value":2038},"ハッカーとは、コンピューターシステムやネットワークを探索し、操作する技術者のことを指します。ハッカーは、通常、高度なコンピューティングスキルを持ち、システムの動作を理解し、それを操作する能力を持っています。",{"type":27,"tag":28,"props":2040,"children":2041},{},[2042],{"type":32,"value":2043},"、、、ということですが、正しく理解されていません。",{"type":27,"tag":28,"props":2045,"children":2046},{},[2047],{"type":32,"value":2048},"　「天才ハッカー」を別にすると、「ハッカー＝悪人」と見なされています（本当はクラッカー＝破壊者）。",{"type":27,"tag":28,"props":2050,"children":2051},{},[2052,2054],{"type":32,"value":2053},"　発展形として「ライフハック（日常生活や仕事の効率化を図る工夫）」も広く使われるようになってきたのに残念です。 → ",{"type":27,"tag":43,"props":2055,"children":2057},{"href":2056},"#mindhacks",[2058],{"type":32,"value":2059},"🔗マインドハックス勉強法",{"type":27,"tag":28,"props":2061,"children":2062},{},[2063],{"type":32,"value":2064},"　コンピューターシステムに限らず、ハッキング（しくみを知って工夫すること）は、仕事や生活の質を向上させるのに役立ちます。",{"type":27,"tag":74,"props":2066,"children":2067},{},[],{"type":27,"tag":28,"props":2069,"children":2070},{},[2071],{"type":32,"value":2072},"　AIエージェントがプログラミングのハードルを下げ、システム技術者と利用者との「分断」を解消してゆくことを期待しつつ、",{"type":27,"tag":145,"props":2074,"children":2075},{"style":1996},[2076],{"type":27,"tag":28,"props":2077,"children":2078},{},[2079,2080,2084],{"type":32,"value":1505},{"type":27,"tag":55,"props":2081,"children":2082},{},[2083],{"type":32,"value":9},{"type":32,"value":1701},{"type":27,"tag":28,"props":2086,"children":2087},{},[2088],{"type":32,"value":2089},"になってみようと思います。",{"type":27,"tag":28,"props":2091,"children":2092},{},[2093,2096],{"type":27,"tag":87,"props":2094,"children":2095},{"src":1934,"alt":9,"width":91},[],{"type":27,"tag":74,"props":2097,"children":2098},{},[],{"type":27,"tag":74,"props":2100,"children":2102},{"id":2101},"dungzduz",[],{"type":27,"tag":145,"props":2104,"children":2107},{"className":2105},[2106],"kattene",[2108,2110,2126,2127],{"type":32,"value":2109},"\n    ",{"type":27,"tag":145,"props":2111,"children":2114},{"className":2112},[2113],"kattene__imgpart",[2115],{"type":27,"tag":43,"props":2116,"children":2121},{"target":2117,"rel":2118,"href":2120},"_blank",[2119],"noopener","https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4e6e3273.b9466c14.4e6e3274.9cb62d84\u002F_RTLink57026?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fnovolstore%2Fcfki6nxphbvaqxw74ucpw7rolq%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjAsImFtcCI6ZmFsc2V9",[2122],{"type":27,"tag":87,"props":2123,"children":2125},{"src":2124},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fnovolstore\u002Fcabinet\u002F11933359\u002F28295605_0.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":2128,"children":2131},{"className":2129},[2130],"kattene__infopart",[2132,2134,2145,2146,2166,2167,2215],{"type":32,"value":2133},"\n      ",{"type":27,"tag":145,"props":2135,"children":2138},{"className":2136},[2137],"kattene__title",[2139],{"type":27,"tag":43,"props":2140,"children":2142},{"target":2117,"rel":2141,"href":2120},[2119],[2143],{"type":32,"value":2144},"DUNGZDUZ USB Microphone 高ゲイン、コードレスミニサイズ、仕事や学習に最適",{"type":32,"value":2133},{"type":27,"tag":145,"props":2147,"children":2150},{"className":2148},[2149],"kattene__description",[2151,2154,2156,2159,2161,2164],{"type":27,"tag":74,"props":2152,"children":2153},{},[],{"type":32,"value":2155},"※ 一般に内蔵マイクの性能は十分ではありません。",{"type":27,"tag":74,"props":2157,"children":2158},{},[],{"type":32,"value":2160},"ハダノはビデオ会議のときは、イヤホンに付属のマイクを使っていますが、マイクだけ使うときはじゃまです。",{"type":27,"tag":74,"props":2162,"children":2163},{},[],{"type":32,"value":2165},"この製品は、小型・高感度・高コスパで一つ持っておくと役に立ちます。",{"type":32,"value":2133},{"type":27,"tag":145,"props":2168,"children":2172},{"className":2169},[2170,2171],"kattene__btns","__three",[2173,2175,2187,2189,2201,2202,2214],{"type":32,"value":2174},"\n      \t",{"type":27,"tag":145,"props":2176,"children":2177},{},[2178],{"type":27,"tag":43,"props":2179,"children":2184},{"className":2180,"target":2117,"rel":2183,"href":2120},[2181,2182],"kattene__btn","__red",[2119],[2185],{"type":32,"value":2186},"楽天",{"type":32,"value":2188},"\n        ",{"type":27,"tag":145,"props":2190,"children":2191},{},[2192],{"type":27,"tag":43,"props":2193,"children":2198},{"className":2194,"target":2117,"rel":2196,"href":2197},[2181,2195],"__orange",[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0CNVZ27YH",[2199],{"type":32,"value":2200},"Amazon",{"type":32,"value":2188},{"type":27,"tag":145,"props":2203,"children":2204},{},[2205],{"type":27,"tag":43,"props":2206,"children":2211},{"className":2207,"target":2117,"rel":2209,"href":2210},[2181,2208],"__green",[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fchansuaa%2F49077870589.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-title",[2212],{"type":32,"value":2213},"Yahoo!",{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":2217,"children":2219},{"id":2218},"usbcadapter",[],{"type":27,"tag":145,"props":2221,"children":2223},{"className":2222},[2106],[2224,2225,2238,2239],{"type":32,"value":2109},{"type":27,"tag":145,"props":2226,"children":2228},{"className":2227},[2113],[2229],{"type":27,"tag":43,"props":2230,"children":2233},{"target":2117,"rel":2231,"href":2232},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57026?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fe7699c2d6f58730632d3edbdfb0706fd%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjEsImFtcCI6ZmFsc2V9",[2234],{"type":27,"tag":87,"props":2235,"children":2237},{"src":2236},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fanker\u002Fcabinet\u002Famazon\u002Fb87310a1.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":2240,"children":2242},{"className":2241},[2130],[2243,2244,2254,2255,2274,2275,2312],{"type":32,"value":2133},{"type":27,"tag":145,"props":2245,"children":2247},{"className":2246},[2137],[2248],{"type":27,"tag":43,"props":2249,"children":2251},{"target":2117,"rel":2250,"href":2232},[2119],[2252],{"type":32,"value":2253},"Anker USB-C & USB 3.0 変換アダプタ 2個セット",{"type":32,"value":2133},{"type":27,"tag":145,"props":2256,"children":2258},{"className":2257},[2149],[2259,2262,2264,2267,2269,2272],{"type":27,"tag":74,"props":2260,"children":2261},{},[],{"type":32,"value":2263},"※ USBのType-CをType-Aに変換するアダプタの2個セットです。",{"type":27,"tag":74,"props":2265,"children":2266},{},[],{"type":32,"value":2268},"コネクタ部分は、抜き差しの繰り返しによってこわれやすいものですが、Ankerなら安心です。",{"type":27,"tag":74,"props":2270,"children":2271},{},[],{"type":32,"value":2273},"ランプで動作が確認できるのも気に入っています。",{"type":32,"value":2133},{"type":27,"tag":145,"props":2276,"children":2278},{"className":2277},[2170,2171],[2279,2280,2289,2290,2300,2301,2311],{"type":32,"value":2174},{"type":27,"tag":145,"props":2281,"children":2282},{},[2283],{"type":27,"tag":43,"props":2284,"children":2287},{"className":2285,"target":2117,"rel":2286,"href":2232},[2181,2182],[2119],[2288],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":2291,"children":2292},{},[2293],{"type":27,"tag":43,"props":2294,"children":2298},{"className":2295,"target":2117,"rel":2296,"href":2297},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB08JTMYPNW",[2299],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":2302,"children":2303},{},[2304],{"type":27,"tag":43,"props":2305,"children":2309},{"className":2306,"target":2117,"rel":2307,"href":2308},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fankerdirect%2Fb8731.html%3Fsc_i%3Dshopping-pc-web-result-item-brd_off-title",[2310],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":2314,"children":2316},{"id":2315},"lpoiejun",[],{"type":27,"tag":145,"props":2318,"children":2320},{"className":2319},[2106],[2321,2322,2335,2336],{"type":32,"value":2109},{"type":27,"tag":145,"props":2323,"children":2325},{"className":2324},[2113],[2326],{"type":27,"tag":43,"props":2327,"children":2330},{"target":2117,"rel":2328,"href":2329},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4e6e58ec.dd593a7b.4e6e58ed.e4d95d7c\u002F_RTLink57026?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fplays23%2Fb0c7khm23c%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjAsImFtcCI6ZmFsc2V9",[2331],{"type":27,"tag":87,"props":2332,"children":2334},{"src":2333},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fplays23\u002Fcabinet\u002Fraku099_0304\u002Fb0c7khm23c00.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":2337,"children":2339},{"className":2338},[2130],[2340,2341,2351,2352,2366,2367,2404],{"type":32,"value":2133},{"type":27,"tag":145,"props":2342,"children":2344},{"className":2343},[2137],[2345],{"type":27,"tag":43,"props":2346,"children":2348},{"target":2117,"rel":2347,"href":2329},[2119],[2349],{"type":32,"value":2350},"USB type C 延長ケーブル 0.5m LpoieJun USB 3.2 Gen2(20Gbps) 高速データ通信",{"type":32,"value":2133},{"type":27,"tag":145,"props":2353,"children":2355},{"className":2354},[2149],[2356,2359,2361,2364],{"type":27,"tag":74,"props":2357,"children":2358},{},[],{"type":32,"value":2360},"※ Type-C延長ケーブルは、規格がシビアなようで、慎重に選ぶ必要があります。",{"type":27,"tag":74,"props":2362,"children":2363},{},[],{"type":32,"value":2365},"これは、太くてしっかりしているのにやわらかく、とても使いやすそうです。",{"type":32,"value":2133},{"type":27,"tag":145,"props":2368,"children":2370},{"className":2369},[2170,2171],[2371,2372,2381,2382,2392,2393,2403],{"type":32,"value":2174},{"type":27,"tag":145,"props":2373,"children":2374},{},[2375],{"type":27,"tag":43,"props":2376,"children":2379},{"className":2377,"target":2117,"rel":2378,"href":2329},[2181,2182],[2119],[2380],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":2383,"children":2384},{},[2385],{"type":27,"tag":43,"props":2386,"children":2390},{"className":2387,"target":2117,"rel":2388,"href":2389},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0DHSH2DM6",[2391],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":2394,"children":2395},{},[2396],{"type":27,"tag":43,"props":2397,"children":2401},{"className":2398,"target":2117,"rel":2399,"href":2400},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fshopeevergreen%2F11520240909200113.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-title",[2402],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":2406,"children":2408},{"id":2407},"mindhacks",[],{"type":27,"tag":145,"props":2410,"children":2412},{"className":2411},[2106],[2413,2414,2427,2428],{"type":32,"value":2109},{"type":27,"tag":145,"props":2415,"children":2417},{"className":2416},[2113],[2418],{"type":27,"tag":43,"props":2419,"children":2422},{"target":2117,"rel":2420,"href":2421},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F273236f4.d5f5314b.273236f5.ec66cf8e\u002F_RTLink50200?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frakutenkobo-ebooks%2F72f787bd5f0733efad7dbc6691edc4f7%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjAsImFtcCI6ZmFsc2V9",[2423],{"type":27,"tag":87,"props":2424,"children":2426},{"src":2425},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Frakutenkobo-ebooks\u002Fcabinet\u002F9750\u002F2000006139750.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":2429,"children":2431},{"className":2430},[2130],[2432,2433,2443,2444,2463,2464,2501],{"type":32,"value":2133},{"type":27,"tag":145,"props":2434,"children":2436},{"className":2435},[2137],[2437],{"type":27,"tag":43,"props":2438,"children":2440},{"target":2117,"rel":2439,"href":2421},[2119],[2441],{"type":32,"value":2442},"マインドハックス勉強法 脳と心を味方につける【電子書籍】[ 佐々木正悟 ]",{"type":32,"value":2133},{"type":27,"tag":145,"props":2445,"children":2447},{"className":2446},[2149],[2448,2451,2453,2456,2458,2461],{"type":27,"tag":74,"props":2449,"children":2450},{},[],{"type":32,"value":2452},"※ ハダノは、紙の本を2008年に買いました。",{"type":27,"tag":74,"props":2454,"children":2455},{},[],{"type":32,"value":2457},"機器の進歩に合わせて読み替えるべき点はありますが、基本的な考え方は現在でも通用すると思います。",{"type":27,"tag":74,"props":2459,"children":2460},{},[],{"type":32,"value":2462},"「ハック」という手法をなぜみんな使わないのか不思議です。",{"type":32,"value":2133},{"type":27,"tag":145,"props":2465,"children":2467},{"className":2466},[2170,2171],[2468,2469,2478,2479,2489,2490,2500],{"type":32,"value":2174},{"type":27,"tag":145,"props":2470,"children":2471},{},[2472],{"type":27,"tag":43,"props":2473,"children":2476},{"className":2474,"target":2117,"rel":2475,"href":2421},[2181,2182],[2119],[2477],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":2480,"children":2481},{},[2482],{"type":27,"tag":43,"props":2483,"children":2487},{"className":2484,"target":2117,"rel":2485,"href":2486},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0195VHW64",[2488],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":2491,"children":2492},{},[2493],{"type":27,"tag":43,"props":2494,"children":2498},{"className":2495,"target":2117,"rel":2496,"href":2497},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsoftya%2F9784775924204-pan.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[2499],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":2503,"children":2504},{},[],{"type":27,"tag":328,"props":2506,"children":2507},{},[],{"type":27,"tag":28,"props":2509,"children":2510},{},[2511],{"type":27,"tag":43,"props":2512,"children":2514},{"href":2513},"\u002Farticles\u002Fhacker-2",[2515],{"type":32,"value":2516},"次へ→　ちょっとだけハッカー2",{"title":8,"searchDepth":2518,"depth":2518,"links":2519},2,[2520],{"id":80,"depth":2518,"text":10,"children":2521},[2522,2524,2525,2526,2527,2528,2529,2530,2531],{"id":140,"depth":2523,"text":143},3,{"id":464,"depth":2523,"text":467},{"id":546,"depth":2523,"text":549},{"id":777,"depth":2523,"text":777},{"id":995,"depth":2523,"text":998},{"id":1151,"depth":2523,"text":1154},{"id":1296,"depth":2523,"text":1296},{"id":1458,"depth":2523,"text":1458},{"id":1677,"depth":2523,"text":1680},"markdown","content:articles:hacker-1.md","content","articles\u002Fhacker-1.md","articles\u002Fhacker-1","md",{"_path":45,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2539,"description":2540,"category":2541,"tag":2542,"thumbnail":2544,"createdAt":2545,"updatedAt":2546,"body":2547,"_type":2532,"_id":3965,"_source":2534,"_file":3966,"_stem":3967,"_extension":2537},"ブログのコード修正","AIエージェントはWeb系プログラミングの役に立つか",[12],[18,19,14,2543],"teachers-baton","blog-3.jpg","2025\u002F10\u002F5","2024\u002F10\u002F24",{"type":24,"children":2548,"toc":3955},[2549,2554,2566,2571,2576,2582,2585,2591,2603,2608,2613,2627,2632,2653,2658,2663,2684,2687,2693,2698,2721,2732,2744,2758,2761,2766,2777,2782,2793,2798,2810,2821,2833,2838,2856,2861,2866,2869,2875,2880,2903,2924,2927,2948,2969,2975,2980,2985,2998,3003,3006,3012,3025,3263,3268,3281,3286,3289,3295,3300,3617,3622,3627,3632,3642,3648,3653,3666,3671,3674,3680,3685,3690,3703,3708,3726,3731,3736,3748,3753,3758,3763,3766,3771,3776,3781,3804,3809,3815,3820,3825,3828,3834,3839,3844,3848,3941,3944,3947],{"type":27,"tag":28,"props":2550,"children":2551},{},[2552],{"type":32,"value":2553},"　この記事では、",{"type":27,"tag":35,"props":2555,"children":2556},{},[2557],{"type":27,"tag":39,"props":2558,"children":2559},{},[2560],{"type":27,"tag":43,"props":2561,"children":2563},{"href":2562},"\u002Farticles\u002Fblog-2",[2564],{"type":32,"value":2565},"🔗２年前に作ったブログを Vue3+Nuxt3+NuxtContentV2 に移行してみた",{"type":27,"tag":28,"props":2567,"children":2568},{},[2569],{"type":32,"value":2570},"のその後について述べます。",{"type":27,"tag":78,"props":2572,"children":2574},{"id":2573},"aiエージェントはweb系プログラミングの役に立つか",[2575],{"type":32,"value":2540},{"type":27,"tag":87,"props":2577,"children":2581},{"src":2578,"alt":2579,"className":2580},"\u002Fimg\u002Faicodingagent.jpg","AIコーディングエージェント",[1792],[],{"type":27,"tag":74,"props":2583,"children":2584},{},[],{"type":27,"tag":138,"props":2586,"children":2588},{"id":2587},"xに投稿しようとしたら画像が表示されないだと",[2589],{"type":32,"value":2590},"Xに投稿しようとしたら画像が表示されないだと？",{"type":27,"tag":35,"props":2592,"children":2593},{},[2594],{"type":27,"tag":39,"props":2595,"children":2596},{},[2597],{"type":27,"tag":43,"props":2598,"children":2600},{"href":2599},"\u002Farticles\u002Ftechnolojiya-10",[2601],{"type":32,"value":2602},"🔗「いのち輝く未来社会」をめざす万博はSDGs学習に役立つか",{"type":27,"tag":28,"props":2604,"children":2605},{},[2606],{"type":32,"value":2607},"のページを旧TwitterのX「教師のバトンプロジェクト」に投稿しようとしましたが、アイキャッチ画像が表示されません。",{"type":27,"tag":28,"props":2609,"children":2610},{},[2611],{"type":32,"value":2612},"　以前は、公式の Card Validator を使うことでTwitterカードをプレビューできていたのに、プレビュー機能がなくなっています。",{"type":27,"tag":28,"props":2614,"children":2615},{},[2616,2618,2625],{"type":32,"value":2617},"　そこで、",{"type":27,"tag":43,"props":2619,"children":2622},{"href":2620,"rel":2621},"https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Ftwitter-card-validator\u002Fehaanihobfkdbiagofmalaljnkhpajmm?hl=ja",[986],[2623],{"type":32,"value":2624},"🔗Twitter Card Validator というchrome拡張機能 ",{"type":32,"value":2626}," をインストールしました。",{"type":27,"tag":87,"props":2628,"children":2631},{"src":2629,"alt":2630,"width":91},"\u002Fimg\u002Fcardvalidator1.jpg","Twitter Card Validatorでプレビュー１",[],{"type":27,"tag":28,"props":2633,"children":2634},{},[2635,2637,2643,2645,2651],{"type":32,"value":2636},"　確かに、アイキャッチ画像の部分は空白で、",{"type":27,"tag":527,"props":2638,"children":2640},{"className":2639},[],[2641],{"type":32,"value":2642},"Data",{"type":32,"value":2644}," を見ると ",{"type":27,"tag":527,"props":2646,"children":2648},{"className":2647},[],[2649],{"type":32,"value":2650},"undefined",{"type":32,"value":2652}," となっています。",{"type":27,"tag":28,"props":2654,"children":2655},{},[2656],{"type":32,"value":2657},"　その後、プラグインをインストールするもかえって悪化し、開発者ツールでオブジェクトの中身を調べながら試行錯誤し、何とか表示されるようにしました。",{"type":27,"tag":87,"props":2659,"children":2662},{"src":2660,"alt":2661,"width":91},"\u002Fimg\u002Fcardvalidator2.jpg","Twitter Card Validatorでプレビュー２",[],{"type":27,"tag":28,"props":2664,"children":2665},{},[2666,2668,2674,2676,2682],{"type":32,"value":2667},"　実際は、",{"type":27,"tag":527,"props":2669,"children":2671},{"className":2670},[],[2672],{"type":32,"value":2673},"og:image",{"type":32,"value":2675}," だけでなく ",{"type":27,"tag":527,"props":2677,"children":2679},{"className":2678},[],[2680],{"type":32,"value":2681},"twitter:image",{"type":32,"value":2683}," も指定する必要がありました。",{"type":27,"tag":74,"props":2685,"children":2686},{},[],{"type":27,"tag":138,"props":2688,"children":2690},{"id":2689},"aiエージェントgemini-cli-にプログラミングを助けてもらう",[2691],{"type":32,"value":2692},"AIエージェント(Gemini CLI) にプログラミングを助けてもらう",{"type":27,"tag":28,"props":2694,"children":2695},{},[2696],{"type":32,"value":2697},"　「プログラミングできない人は、生成AIにやらせればいい」と言われるようになりました。やってはみたもののまともに動かず、原因さえわからない……という声も寄せられます。「やっぱりたくさんお金をかけないとダメか」とあきらめていたところ、",{"type":27,"tag":35,"props":2699,"children":2700},{},[2701,2711],{"type":27,"tag":39,"props":2702,"children":2703},{},[2704],{"type":27,"tag":43,"props":2705,"children":2708},{"href":2706,"rel":2707},"https:\u002F\u002Fforest.watch.impress.co.jp\u002Fdocs\u002Fserial\u002Faistream\u002F2028156.html",[986],[2709],{"type":32,"value":2710},"🔗開発にも運用にも使える「Gemini CLI」が便利すぎてやばい",{"type":27,"tag":39,"props":2712,"children":2713},{},[2714],{"type":27,"tag":43,"props":2715,"children":2718},{"href":2716,"rel":2717},"https:\u002F\u002Fcloud-ace.jp\u002Fcolumn\u002Fdetail520\u002F",[986],[2719],{"type":32,"value":2720},"🔗Gemini CLIとは？機能や使い方、料金など初心者にもわかる完全ガイド",{"type":27,"tag":28,"props":2722,"children":2723},{},[2724,2726,2730],{"type":32,"value":2725},"など、「",{"type":27,"tag":55,"props":2727,"children":2728},{},[2729],{"type":32,"value":203},{"type":32,"value":2731}," はいいぞ！」という記事をよく目にするようになりました。",{"type":27,"tag":28,"props":2733,"children":2734},{},[2735,2737,2742],{"type":32,"value":2736},"　ターミナル上で対話するだけで、AIがコード生成、定型作業のスクリプト化、複雑なコマンド提案など、いろいろとプログラミングを助けてくれるGoogleの",{"type":27,"tag":55,"props":2738,"children":2739},{},[2740],{"type":32,"value":2741},"AIエージェント",{"type":32,"value":2743},"です。",{"type":27,"tag":28,"props":2745,"children":2746},{},[2747,2749,2756],{"type":32,"value":2748},"　Gemini CLI を使えば、本来有料の ",{"type":27,"tag":43,"props":2750,"children":2753},{"href":2751,"rel":2752},"https:\u002F\u002Faismiley.co.jp\u002Fai_news\u002Fwhat-is-gemini-2-5-pro\u002F",[986],[2754],{"type":32,"value":2755},"🔗Gemini 2.5 Pro",{"type":32,"value":2757}," が1日1,000回まで無料利用可能と、個人利用には十分な機能が提供されます。これは、やってみる価値があります。",{"type":27,"tag":74,"props":2759,"children":2760},{},[],{"type":27,"tag":28,"props":2762,"children":2763},{},[2764],{"type":32,"value":2765},"　さっそく Gemini CLI をインストールし、試してみることにしました。\n　",{"type":27,"tag":519,"props":2767,"children":2772},{"className":2768,"code":2770,"language":2771,"meta":8},[2769],"language-blog1.ps1","……Vue3+Nuxt3+NuxtContentV2 を使って、ブログを運営しています。\n……Xで画像が表示されないという不具合がありました。\n@C:\\nuxt●\\nuxt●●●●●\\pages\\articles\\[slug].vue\nのコードを変更したところ……一応これで解決なのですが、\nもっとスマートなコードがあれば提案してください。\nプラグインの追加インストール不要の方法でお願いします。\n","blog1.ps1",[2773],{"type":27,"tag":527,"props":2774,"children":2775},{"__ignoreMap":8},[2776],{"type":32,"value":2770},{"type":27,"tag":28,"props":2778,"children":2779},{},[2780],{"type":32,"value":2781},"と投げかけると、",{"type":27,"tag":519,"props":2783,"children":2788},{"className":2784,"code":2786,"language":2787,"meta":8},[2785],"language-blog2.ps1","✦ 現在のコードは動作しているとのことですが、\nより安全で推奨される方法を提案します。\nまず、C:\\nuxt●\\nuxt●●●●●\\pages\\articles\\[slug].vue\nのコードを拝見し、……最適なコードを提案します。\n……\n✦ コードを拝見しました。ありがとうございます。\nご指摘の問題は、NuxtのuseAsyncDataから取得したデータが\nVueのrefオブジェクトでラップされているために発生します。\n……より安全で「スマート」なコードは、\ncontent.valueを使ってデータにアクセスする方法です。\n……これにより、コードの可読性が向上し、\n将来のVue\u002FNuxtのバージョンアップにも対応しやすくなります。\nこれから、この修正を適用するためのツールを実行します。\n","blog2.ps1",[2789],{"type":27,"tag":527,"props":2790,"children":2791},{"__ignoreMap":8},[2792],{"type":32,"value":2786},{"type":27,"tag":87,"props":2794,"children":2797},{"src":2795,"alt":2796,"width":91},"\u002Fimg\u002Fgeminiclislug.jpg","Gemini CLI による[slug].vue修正",[],{"type":27,"tag":28,"props":2799,"children":2800},{},[2801,2803,2808],{"type":32,"value":2802},"と、コードの修正を提案してくれました。提案を参考にするだけで終わることも選べますが、今回はそのまま",{"type":27,"tag":55,"props":2804,"children":2805},{},[2806],{"type":32,"value":2807},"修正を実行",{"type":32,"value":2809},"してもらいました。",{"type":27,"tag":519,"props":2811,"children":2816},{"className":2812,"code":2814,"language":2815,"meta":8},[2813],"language-blog3.ps1","✦ コードを……より安全で推奨される方法に更新しました。\ncontent.valueを使用して記事のデータにアクセスすることで、\n……安定して動作するコードになりました。\n\n他に何かお手伝いできることはありますか？\n","blog3.ps1",[2817],{"type":27,"tag":527,"props":2818,"children":2819},{"__ignoreMap":8},[2820],{"type":32,"value":2814},{"type":27,"tag":28,"props":2822,"children":2823},{},[2824,2826,2831],{"type":32,"value":2825},"　「",{"type":27,"tag":55,"props":2827,"children":2828},{},[2829],{"type":32,"value":2830},"こいつ、動くぞ！",{"type":32,"value":2832},"」と思わずつぶやいていました。実に見事です。",{"type":27,"tag":28,"props":2834,"children":2835},{},[2836],{"type":32,"value":2837},"　聞きかじった知識で適当にお茶をにごすのではなく、",{"type":27,"tag":35,"props":2839,"children":2840},{},[2841,2846,2851],{"type":27,"tag":39,"props":2842,"children":2843},{},[2844],{"type":32,"value":2845},"＠で指定したファイルを読んでコードを分析し、",{"type":27,"tag":39,"props":2847,"children":2848},{},[2849],{"type":32,"value":2850},"要求に沿ったコード修正案を理由付きで提案し、",{"type":27,"tag":39,"props":2852,"children":2853},{},[2854],{"type":32,"value":2855},"修正を適用してファイルを上書き保存する。",{"type":27,"tag":28,"props":2857,"children":2858},{},[2859],{"type":32,"value":2860},"までやってくれるのです。「AIエージェント ＝ 有能な秘書」と実感しました。",{"type":27,"tag":28,"props":2862,"children":2863},{},[2864],{"type":32,"value":2865},"　一定の制限・リスクはありますが、これからもっと Gemini CLI を使っていけたらと思います。",{"type":27,"tag":74,"props":2867,"children":2868},{},[],{"type":27,"tag":138,"props":2870,"children":2872},{"id":2871},"ファイルサーバーを入れ替えたら掲示板が動かなくなっただと",[2873],{"type":32,"value":2874},"ファイルサーバーを入れ替えたら掲示板が動かなくなっただと？",{"type":27,"tag":28,"props":2876,"children":2877},{},[2878],{"type":32,"value":2879},"　そんな矢先、市内の小学校教頭のN先生から電話がかかってきました。",{"type":27,"tag":145,"props":2881,"children":2883},{"className":2882},[192],[2884,2885,2896,2898,2901],{"type":32,"value":151},{"type":27,"tag":145,"props":2886,"children":2888},{"className":2887},[155],[2889,2890,2895],{"type":32,"value":158},{"type":27,"tag":87,"props":2891,"children":2894},{"src":2892,"alt":2893,"width":163},"\u002Fimg\u002Fnobu.png","小学校教頭",[],{"type":32,"value":158},{"type":32,"value":2897},"\n  校内のファイルサーバーが不調で入れ替えたら、掲示板が動かなくなってしまったんです。データは戻しているのですが、何か設定が必要なようです。\n  ",{"type":27,"tag":74,"props":2899,"children":2900},{},[],{"type":32,"value":2902},"ハダノ先生にお聞きすれば何とかなるのではと……\n",{"type":27,"tag":145,"props":2904,"children":2906},{"className":2905},[148],[2907,2908,2917,2919,2922],{"type":32,"value":151},{"type":27,"tag":145,"props":2909,"children":2911},{"className":2910},[155],[2912,2913,2916],{"type":32,"value":158},{"type":27,"tag":87,"props":2914,"children":2915},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":2918},"\n  市教委のSさんがバッファローのNASに設置した校内ポータルですね。\n  ",{"type":27,"tag":74,"props":2920,"children":2921},{},[],{"type":32,"value":2923},"中学校はあまり設置を希望しなかったので、私は実物をさわっていません。Sさんが突然去られ、少しして私も定年だったので……\n",{"type":27,"tag":74,"props":2925,"children":2926},{},[],{"type":27,"tag":145,"props":2928,"children":2930},{"className":2929},[192],[2931,2932,2941,2943,2946],{"type":32,"value":151},{"type":27,"tag":145,"props":2933,"children":2935},{"className":2934},[155],[2936,2937,2940],{"type":32,"value":158},{"type":27,"tag":87,"props":2938,"children":2939},{"src":2892,"alt":2893,"width":163},[],{"type":32,"value":158},{"type":32,"value":2942},"\n  市教委に聞いても、「Sさんがどう設定したかわからない」「グループウエアを活用せよ」というばかりです。\n  ",{"type":27,"tag":74,"props":2944,"children":2945},{},[],{"type":32,"value":2947},"でも、みんな掲示板に慣れていて……グループウエアは自分から情報を取りにいかないと……\n",{"type":27,"tag":145,"props":2949,"children":2951},{"className":2950},[148],[2952,2953,2962,2964,2967],{"type":32,"value":151},{"type":27,"tag":145,"props":2954,"children":2956},{"className":2955},[155],[2957,2958,2961],{"type":32,"value":158},{"type":27,"tag":87,"props":2959,"children":2960},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":2963},"\n  「プログラミングの達人」だと思って頼ってくれたのはうれしいのですが……\n  ",{"type":27,"tag":74,"props":2965,"children":2966},{},[],{"type":32,"value":2968},"Sさんと私は、守備範囲が違います。バックエンドとフロントエンドは、OS・プログラミング言語・ツールなどが異なる別世界なのです。彼の設定を再現するのは不可能だし、代わりの措置も困難です。\n",{"type":27,"tag":87,"props":2970,"children":2974},{"src":2971,"alt":2972,"className":2973},"\u002Fimg\u002Fwebdev.svg","ウェブ開発の違い",[1792],[],{"type":27,"tag":28,"props":2976,"children":2977},{},[2978],{"type":32,"value":2979},"、、、ということで、電話を切りました。",{"type":27,"tag":28,"props":2981,"children":2982},{},[2983],{"type":32,"value":2984},"　根本的な問題は、「日本の経営層がソフトウエアの価値を理解していない」という点です。Sさんの高度なスキルを理解していたなら、決して手放すことはなかったのにと悔やまれます。",{"type":27,"tag":35,"props":2986,"children":2987},{},[2988],{"type":27,"tag":39,"props":2989,"children":2990},{},[2991,2992,2997],{"type":32,"value":1505},{"type":27,"tag":55,"props":2993,"children":2994},{},[2995],{"type":32,"value":2996},"パソコンは、ソフトが無ければ、ただの箱です。偉い人にはそれが解らんのですよ",{"type":32,"value":1701},{"type":27,"tag":28,"props":2999,"children":3000},{},[3001],{"type":32,"value":3002},"と愚痴っていても始まりません。AIを駆使してもがいてみます。",{"type":27,"tag":74,"props":3004,"children":3005},{},[],{"type":27,"tag":138,"props":3007,"children":3009},{"id":3008},"掲示板復活が可能か-copilot-に聞いてみた",[3010],{"type":32,"value":3011},"掲示板復活が可能か Copilot に聞いてみた",{"type":27,"tag":28,"props":3013,"children":3014},{},[3015,3017,3023],{"type":32,"value":3016},"　まずは、ふだん使っている ",{"type":27,"tag":43,"props":3018,"children":3020},{"href":3019},"\u002Farticles\u002Ftechnolojiya-4#copilot",[3021],{"type":32,"value":3022},"🔗Copilot(クイック応答)",{"type":32,"value":3024}," に聞いてみます。",{"type":27,"tag":145,"props":3026,"children":3028},{"className":3027},[192],[3029,3030,3039,3041,3044,3047,3049,3052,3054,3057,3059,3062,3083,3086,3088,3091,3093,3096,3164,3167,3169,3172,3174,3177,3190,3198,3211,3219,3227,3230,3232,3235,3258,3261],{"type":32,"value":151},{"type":27,"tag":145,"props":3031,"children":3033},{"className":3032},[155],[3034,3035,3038],{"type":32,"value":158},{"type":27,"tag":87,"props":3036,"children":3037},{"src":835,"alt":836,"width":163},[],{"type":32,"value":158},{"type":32,"value":3040},"\n掲示板の復活は「限定的に可能」ですが、教頭先生のスキルと校内ネットワークの制約を考えると、代替手段の検討も現実的です。",{"type":27,"tag":74,"props":3042,"children":3043},{},[],{"type":27,"tag":328,"props":3045,"children":3046},{},[],{"type":32,"value":3048},"\n🛠 掲示板復活は可能か？",{"type":27,"tag":74,"props":3050,"children":3051},{},[],{"type":32,"value":3053},"\n条件付きで可能です。",{"type":27,"tag":74,"props":3055,"children":3056},{},[],{"type":32,"value":3058},"\nWordPressベースの掲示板であれば、NAS（LinkStation）上にWordPress環境を再構築し、プラグインを再導入すれば復旧できます。ただし、以下の条件が揃っている必要があります：",{"type":27,"tag":74,"props":3060,"children":3061},{},[],{"type":27,"tag":35,"props":3063,"children":3064},{},[3065,3070,3075],{"type":27,"tag":39,"props":3066,"children":3067},{},[3068],{"type":32,"value":3069},"NASにPHP・MySQL・Apache（またはLighttpd）が動作している",{"type":27,"tag":39,"props":3071,"children":3072},{},[3073],{"type":32,"value":3074},"WordPressのインストールファイルと旧掲示板のデータ（MySQLのdumpやWordPressのwp-contentフォルダ）が残っている",{"type":27,"tag":39,"props":3076,"children":3077},{},[3078,3080],{"type":32,"value":3079},"インターネット接続可能なPCが一時的に校務ネットワークに接続できる（USBテザリングなど）",{"type":27,"tag":74,"props":3081,"children":3082},{},[],{"type":27,"tag":74,"props":3084,"children":3085},{},[],{"type":32,"value":3087},"\n📋 自力で復旧する手順（教頭先生向け）",{"type":27,"tag":74,"props":3089,"children":3090},{},[],{"type":32,"value":3092},"\n以下は、ICTスキルが中程度の方でも可能な手順です：",{"type":27,"tag":74,"props":3094,"children":3095},{},[],{"type":27,"tag":35,"props":3097,"children":3098},{},[3099,3104,3109,3114,3119,3124,3129,3134,3139,3144,3149,3154,3159],{"type":27,"tag":39,"props":3100,"children":3101},{},[3102],{"type":32,"value":3103},"WordPressの再インストール",{"type":27,"tag":39,"props":3105,"children":3106},{},[3107],{"type":32,"value":3108},"インターネット接続可能なPCでWordPress最新版をダウンロード",{"type":27,"tag":39,"props":3110,"children":3111},{},[3112],{"type":32,"value":3113},"USBメモリでNASに転送",{"type":27,"tag":39,"props":3115,"children":3116},{},[3117],{"type":32,"value":3118},"NASの共有フォルダに展開し、ブラウザでインストール画面にアクセス",{"type":27,"tag":39,"props":3120,"children":3121},{},[3122],{"type":32,"value":3123},"MySQLの設定",{"type":27,"tag":39,"props":3125,"children":3126},{},[3127],{"type":32,"value":3128},"NASにMySQLが動いていれば、phpMyAdminなどでデータベースを作成",{"type":27,"tag":39,"props":3130,"children":3131},{},[3132],{"type":32,"value":3133},"旧掲示板のデータ（.sqlファイル）があればインポート",{"type":27,"tag":39,"props":3135,"children":3136},{},[3137],{"type":32,"value":3138},"掲示板プラグインの導入",{"type":27,"tag":39,"props":3140,"children":3141},{},[3142],{"type":32,"value":3143},"WordPress管理画面から「bbPress」などの掲示板プラグインをインストール",{"type":27,"tag":39,"props":3145,"children":3146},{},[3147],{"type":32,"value":3148},"プラグインのzipファイルをUSB経由でNASに転送し、手動インストールも可能",{"type":27,"tag":39,"props":3150,"children":3151},{},[3152],{"type":32,"value":3153},"動作確認とURLの周知",{"type":27,"tag":39,"props":3155,"children":3156},{},[3157],{"type":32,"value":3158},"校内ポータルのURLを教職員に再通知",{"type":27,"tag":39,"props":3160,"children":3161},{},[3162],{"type":32,"value":3163},"掲示板の使い方を簡単に説明（投稿・返信・通知など）",{"type":27,"tag":74,"props":3165,"children":3166},{},[],{"type":32,"value":3168},"\n🚧 復旧が難しい場合の代替案",{"type":27,"tag":74,"props":3170,"children":3171},{},[],{"type":32,"value":3173},"\n✅ 代替案1：ローカル掲示板アプリ（インターネット不要）",{"type":27,"tag":74,"props":3175,"children":3176},{},[],{"type":27,"tag":35,"props":3178,"children":3179},{},[3180,3185],{"type":27,"tag":39,"props":3181,"children":3182},{},[3183],{"type":32,"value":3184},"例：Kibela（ローカル運用可能なWiki型）、Redmine（タスク管理＋掲示板機能）",{"type":27,"tag":39,"props":3186,"children":3187},{},[3188],{"type":32,"value":3189},"Windows PCにインストールし、NAS上で共有",{"type":27,"tag":28,"props":3191,"children":3192},{},[3193,3195],{"type":32,"value":3194},"✅ 代替案2：Excelベースの掲示板風シート",{"type":27,"tag":74,"props":3196,"children":3197},{},[],{"type":27,"tag":35,"props":3199,"children":3200},{},[3201,3206],{"type":27,"tag":39,"props":3202,"children":3203},{},[3204],{"type":32,"value":3205},"教頭先生が得意なExcelを使い、共有フォルダで運用",{"type":27,"tag":39,"props":3207,"children":3208},{},[3209],{"type":32,"value":3210},"シート保護＋コメント機能で簡易掲示板として活用",{"type":27,"tag":28,"props":3212,"children":3213},{},[3214,3216],{"type":32,"value":3215},"✅ 代替案3：市教委推奨のグループウェアの「掲示板機能」だけ使う",{"type":27,"tag":74,"props":3217,"children":3218},{},[],{"type":27,"tag":35,"props":3220,"children":3221},{},[3222],{"type":27,"tag":39,"props":3223,"children":3224},{},[3225],{"type":32,"value":3226},"教員が慣れるまで、旧掲示板風のUIを模したマニュアルを作成",{"type":27,"tag":74,"props":3228,"children":3229},{},[],{"type":32,"value":3231},"\n🧭 教頭先生へのアドバイスまとめ",{"type":27,"tag":74,"props":3233,"children":3234},{},[],{"type":27,"tag":35,"props":3236,"children":3237},{},[3238,3243,3248,3253],{"type":27,"tag":39,"props":3239,"children":3240},{},[3241],{"type":32,"value":3242},"まずはNASのWordPress環境が生きているか確認（PHP・MySQL・Apache）",{"type":27,"tag":39,"props":3244,"children":3245},{},[3246],{"type":32,"value":3247},"旧掲示板のデータがあるか確認（wp-contentやSQLファイル）",{"type":27,"tag":39,"props":3249,"children":3250},{},[3251],{"type":32,"value":3252},"インターネット接続手段が一時的に確保できるか検討",{"type":27,"tag":39,"props":3254,"children":3255},{},[3256],{"type":32,"value":3257},"復旧が難しい場合は、ExcelやRedmineなどの代替案を提案",{"type":27,"tag":74,"props":3259,"children":3260},{},[],{"type":32,"value":3262},"\nハダノさんのような「テクノロじいや」的支援があれば、教頭先生も安心して取り組めるはずです。必要なら、掲示板のUI再現やマニュアル作成もお手伝いできますよ。どの方向で支援するか、もう少し絞り込みましょうか？\n",{"type":27,"tag":28,"props":3264,"children":3265},{},[3266],{"type":32,"value":3267},"、、、ハダノ元教頭と小学校のN教頭を混同しており、ハルシネーションだらけの非現実的なアドバイスとなっています。こんなのハダノにだってできません。これが普通の生成AIの限界でしょうか。",{"type":27,"tag":35,"props":3269,"children":3270},{},[3271],{"type":27,"tag":39,"props":3272,"children":3273},{},[3274,3275,3280],{"type":32,"value":1505},{"type":27,"tag":55,"props":3276,"children":3277},{},[3278],{"type":32,"value":3279},"生成AIなんてただのペテン師です。偉い人にはそれが解らんのですよ",{"type":32,"value":1701},{"type":27,"tag":28,"props":3282,"children":3283},{},[3284],{"type":32,"value":3285},"と、つぶやきたくなります。",{"type":27,"tag":74,"props":3287,"children":3288},{},[],{"type":27,"tag":138,"props":3290,"children":3292},{"id":3291},"掲示板復活が可能か-gemini-cli-に聞いてみた",[3293],{"type":32,"value":3294},"掲示板復活が可能か Gemini CLI に聞いてみた",{"type":27,"tag":28,"props":3296,"children":3297},{},[3298],{"type":32,"value":3299},"　同じ質問をAIエージェント(Gemini CLI) にぶつけると、、、",{"type":27,"tag":145,"props":3301,"children":3303},{"className":3302},[192],[3304,3305,3314,3316,3324,3329,3334,3352,3355,3360,3365,3430,3435,3438,3443,3448,3456,3461,3505,3513,3518,3597,3602,3607,3612],{"type":32,"value":151},{"type":27,"tag":145,"props":3306,"children":3308},{"className":3307},[155],[3309,3310,3313],{"type":32,"value":158},{"type":27,"tag":87,"props":3311,"children":3312},{"src":202,"alt":203,"width":163},[],{"type":32,"value":158},{"type":32,"value":3315},"\n✦ ご相談いただいた内容について、私の見解を以下にまとめました。\n",{"type":27,"tag":28,"props":3317,"children":3318},{},[3319],{"type":27,"tag":55,"props":3320,"children":3321},{},[3322],{"type":32,"value":3323},"結論：自力での完全な復活は「極めて困難」であり、推奨しません",{"type":27,"tag":28,"props":3325,"children":3326},{},[3327],{"type":32,"value":3328},"プログラミング経験のない教頭先生が、現在の情報だけで元の掲示板を完全に復活させる\nのは、残念ながら極めて困難です。下手に作業を行うと、残っているデータさえも破損させてしまう危険性があります。",{"type":27,"tag":28,"props":3330,"children":3331},{},[3332],{"type":32,"value":3333},"【困難な理由】",{"type":27,"tag":228,"props":3335,"children":3336},{},[3337,3342,3347],{"type":27,"tag":39,"props":3338,"children":3339},{},[3340],{"type":32,"value":3341},"専門知識の壁: ご推察の通り、この種のシステムはLinux、PHP、MySQL、WordPressといった複数の技術で構成されてい\nます。これらは、VBAやクライアントサイドJavaScriptとは全く異なる知識体系を必要とします。エラーが出た際の対処\nは、専門家でなければほぼ不可能です。",{"type":27,"tag":39,"props":3343,"children":3344},{},[3345],{"type":32,"value":3346},"設定情報の欠如:\n最大の問題は、元の設定情報が一切ないことです。特に、WordPressがデータベース（MySQL）に接続するための「ユー\nザー名」や「パスワード」が記録された設定ファイル（wp-config.php）の内容が不明なのは致命的です。",{"type":27,"tag":39,"props":3348,"children":3349},{},[3350],{"type":32,"value":3351},"オフラインという制約: インターネットに接続できない校務用ネットワークでは、必要なソフトウェアのダウンロード\nや、問題解決のための情報検索ができません。これは、復旧作業を行う上で非常に大きな足かせとなります。",{"type":27,"tag":328,"props":3353,"children":3354},{},[],{"type":27,"tag":28,"props":3356,"children":3357},{},[3358],{"type":32,"value":3359},"復旧に必要な作業（参考）",{"type":27,"tag":28,"props":3361,"children":3362},{},[3363],{"type":32,"value":3364},"もし仮に復旧作業を行う場合、最低でも以下のような手順が必要になります。これを見ていただくだけでも、作業の複雑さ\nがお分かりいただけるかと思います。",{"type":27,"tag":228,"props":3366,"children":3367},{},[3368,3386,3399,3417],{"type":27,"tag":39,"props":3369,"children":3370},{},[3371,3373],{"type":32,"value":3372},"現状分析:\n",{"type":27,"tag":35,"props":3374,"children":3375},{},[3376,3381],{"type":27,"tag":39,"props":3377,"children":3378},{},[3379],{"type":32,"value":3380},"NASにログインし、PHPやMySQLが動作しているか確認する。",{"type":27,"tag":39,"props":3382,"children":3383},{},[3384],{"type":32,"value":3385},"バックアップされたデータの中に、WordPressの全ファイルと、データベースのバックアップファイル（拡張子が\n.sql や .dump のファイル）が存在するか確認する。",{"type":27,"tag":39,"props":3387,"children":3388},{},[3389,3391],{"type":32,"value":3390},"環境構築:\n",{"type":27,"tag":35,"props":3392,"children":3393},{},[3394],{"type":27,"tag":39,"props":3395,"children":3396},{},[3397],{"type":32,"value":3398},"NASの管理画面から、Webサーバー機能、PHP、MySQLを有効化・インストールする。",{"type":27,"tag":39,"props":3400,"children":3401},{},[3402,3404],{"type":32,"value":3403},"データ復元:\n",{"type":27,"tag":35,"props":3405,"children":3406},{},[3407,3412],{"type":27,"tag":39,"props":3408,"children":3409},{},[3410],{"type":32,"value":3411},"WordPressのファイルを所定のWeb公開フォルダにコピーする。",{"type":27,"tag":39,"props":3413,"children":3414},{},[3415],{"type":32,"value":3416},"MySQLにデータベースを作成し、バックアップファイルをインポート（読み込み）させる。",{"type":27,"tag":39,"props":3418,"children":3419},{},[3420,3422],{"type":32,"value":3421},"設定接続:\n",{"type":27,"tag":35,"props":3423,"children":3424},{},[3425],{"type":27,"tag":39,"props":3426,"children":3427},{},[3428],{"type":32,"value":3429},"WordPressの設定ファイル（wp-config.php）を見つけ出し、手順3で設定したデータベース名、ユーザー名、パスワ\nードを正確に書き換える。",{"type":27,"tag":28,"props":3431,"children":3432},{},[3433],{"type":32,"value":3434},"これらの作業には、専門的なコマンド操作が必要になる場面が多く、一つでも間違うとシステムは全く動作しません。",{"type":27,"tag":328,"props":3436,"children":3437},{},[],{"type":27,"tag":28,"props":3439,"children":3440},{},[3441],{"type":32,"value":3442},"提案すべき代替手段",{"type":27,"tag":28,"props":3444,"children":3445},{},[3446],{"type":32,"value":3447},"以上のことから、復旧を目指すよりも、以下の現実的な代替案を教頭先生とご相談されることを強くお勧めします。",{"type":27,"tag":28,"props":3449,"children":3450},{},[3451],{"type":27,"tag":55,"props":3452,"children":3453},{},[3454],{"type":32,"value":3455},"案1：市教委推奨のグループウェアへ移行する（最も推奨）",{"type":27,"tag":28,"props":3457,"children":3458},{},[3459],{"type":32,"value":3460},"これが最も正攻法であり、長期的に見て学校のためになる選択肢です。",{"type":27,"tag":35,"props":3462,"children":3463},{},[3464,3487],{"type":27,"tag":39,"props":3465,"children":3466},{},[3467,3469],{"type":32,"value":3468},"メリット:\n",{"type":27,"tag":35,"props":3470,"children":3471},{},[3472,3477,3482],{"type":27,"tag":39,"props":3473,"children":3474},{},[3475],{"type":32,"value":3476},"持続可能性: 市教委のサポートが受けられるため、今後問題が起きても安心です。",{"type":27,"tag":39,"props":3478,"children":3479},{},[3480],{"type":32,"value":3481},"セキュリティ: 自作システムよりもセキュリティが担保されています。",{"type":27,"tag":39,"props":3483,"children":3484},{},[3485],{"type":32,"value":3486},"機能拡張: 掲示板以外の機能（スケジュール共有など）も使える可能性があります。",{"type":27,"tag":39,"props":3488,"children":3489},{},[3490,3492],{"type":32,"value":3491},"進め方の助言:\n",{"type":27,"tag":35,"props":3493,"children":3494},{},[3495,3500],{"type":27,"tag":39,"props":3496,"children":3497},{},[3498],{"type":32,"value":3499},"現場の先生方が「使い慣れたもの」を好む気持ちはよく分かります。まずは、新しいグループウェアの操作研修会\nを開いてもらうよう市教委に働きかけるのが良いでしょう。",{"type":27,"tag":39,"props":3501,"children":3502},{},[3503],{"type":32,"value":3504},"簡単な操作マニュアルを配布する、移行のメリットを丁寧に説明するなど、現場の\n不安を取り除くための支援方法が必要と思われます。",{"type":27,"tag":28,"props":3506,"children":3507},{},[3508],{"type":27,"tag":55,"props":3509,"children":3510},{},[3511],{"type":32,"value":3512},"案2：あなたの技術を活かした「新しい簡易掲示板」を構築する（次善策）",{"type":27,"tag":28,"props":3514,"children":3515},{},[3516],{"type":32,"value":3517},"もし、どうしても現場の抵抗が強く、代替システムが必要な場合の「次善の策」です。これは、あなたの得意なJavaScri\npt（Nuxt.js）の技術を活かす方法です。",{"type":27,"tag":35,"props":3519,"children":3520},{},[3521,3549,3571],{"type":27,"tag":39,"props":3522,"children":3523},{},[3524,3526],{"type":32,"value":3525},"コンセプト:\n",{"type":27,"tag":35,"props":3527,"children":3528},{},[3529,3534,3539,3544],{"type":27,"tag":39,"props":3530,"children":3531},{},[3532],{"type":32,"value":3533},"データベースを使わない「静的サイトジェネレーター（SSG）」の仕組みを利用します。",{"type":27,"tag":39,"props":3535,"children":3536},{},[3537],{"type":32,"value":3538},"先生方は、PCで書いた「お知らせ」のテキストファイル（Markdown形式など）を、NASの特定の共有フォルダに保存\nします。",{"type":27,"tag":39,"props":3540,"children":3541},{},[3542],{"type":32,"value":3543},"教頭先生が、あなたの用意したツール（バッチファイル等）をPCで実行すると、それらのテキストファイルから自\n動で掲示板のWebページ（HTMLファイル群）が生成されます。",{"type":27,"tag":39,"props":3545,"children":3546},{},[3547],{"type":32,"value":3548},"生成されたWebページ群を、NASのWeb公開フォルダにコピーすれば、全員が閲覧できます。",{"type":27,"tag":39,"props":3550,"children":3551},{},[3552,3553],{"type":32,"value":3468},{"type":27,"tag":35,"props":3554,"children":3555},{},[3556,3561,3566],{"type":27,"tag":39,"props":3557,"children":3558},{},[3559],{"type":32,"value":3560},"PHPやMySQLが不要で、あなたの得意技術で開発・メンテナンスが可能です。",{"type":27,"tag":39,"props":3562,"children":3563},{},[3564],{"type":32,"value":3565},"データはただのテキストファイルなので、管理やバックアップが非常に簡単です。",{"type":27,"tag":39,"props":3567,"children":3568},{},[3569],{"type":32,"value":3570},"オフライン環境でも運用できます（Webページ生成PCとNASの間はUSBメモリ等でデータを移動）。",{"type":27,"tag":39,"props":3572,"children":3573},{},[3574,3576,3589],{"type":32,"value":3575},"教頭先生の作業:\n",{"type":27,"tag":228,"props":3577,"children":3578},{},[3579,3584],{"type":27,"tag":39,"props":3580,"children":3581},{},[3582],{"type":32,"value":3583},"お知らせのテキストファイルが共有フォルダに溜まってきたら、PCでツールを実行する。",{"type":27,"tag":39,"props":3585,"children":3586},{},[3587],{"type":32,"value":3588},"出来上がったWebページ群をNASにコピーする。",{"type":27,"tag":35,"props":3590,"children":3591},{},[3592],{"type":27,"tag":39,"props":3593,"children":3594},{},[3595],{"type":32,"value":3596},"この手順なら、プログラミング知識は不要で、ファイルのコピー程度の操作で完結します。",{"type":27,"tag":28,"props":3598,"children":3599},{},[3600],{"type":32,"value":3601},"まとめ",{"type":27,"tag":28,"props":3603,"children":3604},{},[3605],{"type":32,"value":3606},"まずは教頭先生に、自力での復旧はリスクが高すぎること、そして学校組織の継続性を考えれば「案1：グループウェア\nへの移行」が最も望ましい選択であることを、専門家の立場から冷静に伝えてあげてください。",{"type":27,"tag":28,"props":3608,"children":3609},{},[3610],{"type":32,"value":3611},"その上で、どうしても現場の合意形成が難しい場合の「奥の手」として、あなたのスキルを活かせる「案2：新しい簡易\n掲示板の構築」の可能性を示唆し、もし興味があるようならば、その設計について相談に乗る、というスタンスで臨まれ\nるのがよろしいかと存じます。",{"type":27,"tag":28,"props":3613,"children":3614},{},[3615],{"type":32,"value":3616},"長年のご経験と知識を持つあなたからのアドバイスは、きっと教頭先生の助けになるはずです。",{"type":27,"tag":28,"props":3618,"children":3619},{},[3620],{"type":32,"value":3621},"　さすが、Gemini CLI です。的確な応答です。",{"type":27,"tag":28,"props":3623,"children":3624},{},[3625],{"type":32,"value":3626},"　Web系プログラミングの大変さをよく理解してくれていて、涙が出そうになります。",{"type":27,"tag":28,"props":3628,"children":3629},{},[3630],{"type":32,"value":3631},"　代替案2は、ふだんハダノが自分のブログシステムでやっていることです。ネックになるのは、「Markdownを覚えなければならない」「リアルタイムの更新が難しい」「継続的サポートが必須」という点です。こんな面倒なことをするぐらいなら、グループウエアを使った方がよいでしょう。",{"type":27,"tag":28,"props":3633,"children":3634},{},[3635,3637],{"type":32,"value":3636},"　今どきのソフトウエアのやっかいな点は、しょっちゅうバージョンアップがあり、それぞれのバージョンがずれると不具合が起きることです。今動いていてもメンテナンスし続ける必要があるのです。　→ ",{"type":27,"tag":43,"props":3638,"children":3639},{"href":2562},[3640],{"type":32,"value":3641},"🔗技術の急速な進歩で、ブログの引っ越しがたいへんなことに！",{"type":27,"tag":87,"props":3643,"children":3647},{"src":3644,"alt":3645,"className":3646},"\u002Fimg\u002Ferrorstorm.jpg","エラーの嵐",[1451],[],{"type":27,"tag":28,"props":3649,"children":3650},{},[3651],{"type":32,"value":3652},"　それにしても、AIエージェント(Gemini CLI) は、普通の生成AIよりもはるかに頼りになります。",{"type":27,"tag":35,"props":3654,"children":3655},{},[3656],{"type":27,"tag":39,"props":3657,"children":3658},{},[3659,3660,3665],{"type":32,"value":1505},{"type":27,"tag":55,"props":3661,"children":3662},{},[3663],{"type":32,"value":3664},"生成AIとは違うのだよ、生成AIとは！",{"type":32,"value":1701},{"type":27,"tag":28,"props":3667,"children":3668},{},[3669],{"type":32,"value":3670},"と、言いたいかもしれません。",{"type":27,"tag":74,"props":3672,"children":3673},{},[],{"type":27,"tag":138,"props":3675,"children":3677},{"id":3676},"まとめaiエージェントgemini-cli-はweb系プログラミングの役に立つ",[3678],{"type":32,"value":3679},"【まとめ】AIエージェント(Gemini CLI) はWeb系プログラミングの役に立つ",{"type":27,"tag":28,"props":3681,"children":3682},{},[3683],{"type":32,"value":3684},"　「今動いているシステムをバージョンアップするだけだから、一から作るより楽だろう」という考えは甘すぎました、、、と前回の振り返りで述べました。",{"type":27,"tag":28,"props":3686,"children":3687},{},[3688],{"type":32,"value":3689},"　これと似たことが、生成AI界隈で起きているようです。",{"type":27,"tag":35,"props":3691,"children":3692},{},[3693],{"type":27,"tag":39,"props":3694,"children":3695},{},[3696],{"type":27,"tag":43,"props":3697,"children":3700},{"href":3698,"rel":3699},"https:\u002F\u002Fnote.com\u002Frk611\u002Fn\u002Fnf22e638593aa",[986],[3701],{"type":32,"value":3702},"🔗素人がAIで誤りを量産し、プロが後始末する地獄絵図",{"type":27,"tag":28,"props":3704,"children":3705},{},[3706],{"type":32,"value":3707},"を読むと、背筋がゾッとします。素人が生成AIを安直に使うと、",{"type":27,"tag":228,"props":3709,"children":3710},{},[3711,3716,3721],{"type":27,"tag":39,"props":3712,"children":3713},{},[3714],{"type":32,"value":3715},"大量生産 → チェック・修正で疲弊",{"type":27,"tag":39,"props":3717,"children":3718},{},[3719],{"type":32,"value":3720},"AIで計画・設計の検討 → 内容の確認とだめな理由の説明で疲弊",{"type":27,"tag":39,"props":3722,"children":3723},{},[3724],{"type":32,"value":3725},"AIで途中までやったのであとは簡単 → 簡単じゃない理由の説明で疲弊",{"type":27,"tag":28,"props":3727,"children":3728},{},[3729],{"type":32,"value":3730},"、、、という、プロにとっての地獄が待っているというのです。",{"type":27,"tag":87,"props":3732,"children":3735},{"src":3733,"alt":3734,"width":91},"\u002Fimg\u002Fhellish.jpg","素人がAIで誤りを量産し、プロが後始末する地獄絵図",[],{"type":27,"tag":35,"props":3737,"children":3738},{},[3739],{"type":27,"tag":39,"props":3740,"children":3741},{},[3742],{"type":27,"tag":43,"props":3743,"children":3745},{"href":3744},"\u002Farticles\u002Faimanga-3",[3746],{"type":32,"value":3747},"🔗生成AIとパワポで４コマ漫画「モチはモチや」を作ってみた",{"type":27,"tag":28,"props":3749,"children":3750},{},[3751],{"type":32,"value":3752},"の中で、「専門家へのリスペクトが足りない！」「無理解と同調圧力が専門家を苦しめる」と述べましたが、生成AIの普及がこれに拍車をかけるかもしれません。SNSで主流となった考え方を「集合知」と勘違いする傾向もこわいと思います。",{"type":27,"tag":28,"props":3754,"children":3755},{},[3756],{"type":32,"value":3757},"　これを防ぐには、生成AIに作らせっぱなしではなく、検証が必要です。",{"type":27,"tag":28,"props":3759,"children":3760},{},[3761],{"type":32,"value":3762},"　プログラミングに関しては、作らせたコードを実行させて検証するとよいでしょう。そういう意味では、Gemini CLI のようなAIエージェントは従来の生成AIより優れています。「実行」によって、責任が生まれる感じです。プロの足を引っ張るのではなく、プロの片腕となるAIエージェントの発展を期待します。",{"type":27,"tag":74,"props":3764,"children":3765},{},[],{"type":27,"tag":28,"props":3767,"children":3768},{},[3769],{"type":32,"value":3770},"※ ちなみに、、、",{"type":27,"tag":28,"props":3772,"children":3773},{},[3774],{"type":32,"value":3775},"　医師の診察に納得できないとき、セカンドオピニオンを求めます。",{"type":27,"tag":28,"props":3777,"children":3778},{},[3779],{"type":32,"value":3780},"　Copilot でも医師を選べます。今回の質問に対する応答の印象は、",{"type":27,"tag":35,"props":3782,"children":3783},{},[3784,3789,3794,3799],{"type":27,"tag":39,"props":3785,"children":3786},{},[3787],{"type":32,"value":3788},"クイック応答：望む答えを引き出すにはプロンプトの工夫が必要 → 研修医",{"type":27,"tag":39,"props":3790,"children":3791},{},[3792],{"type":32,"value":3793},"Think Deeper：クイック応答をより現実に即して詳しくした感じ → 中堅医師",{"type":27,"tag":39,"props":3795,"children":3796},{},[3797],{"type":32,"value":3798},"GPT-5(新規)：現実を踏まえながらも新発想の代替手段を多数提示 → 研究熱心な若手医師",{"type":27,"tag":39,"props":3800,"children":3801},{},[3802],{"type":32,"value":3803},"Deep Research：応答に時間がかかるが根拠ある詳細な現実解提示 → 大学病院の専門医",{"type":27,"tag":28,"props":3805,"children":3806},{},[3807],{"type":32,"value":3808},"、、、という感じです。",{"type":27,"tag":87,"props":3810,"children":3814},{"src":3811,"alt":3812,"className":3813},"\u002Fimg\u002Fsecondopinion.jpg","セカンドオピニオンを求める患者",[1451],[],{"type":27,"tag":28,"props":3816,"children":3817},{},[3818],{"type":32,"value":3819},"　成功には「人を見る力」「コミュニケーション能力」が欠かせませんが、これからは生成AIに対してもこれらの能力が必要になりそうです。",{"type":27,"tag":28,"props":3821,"children":3822},{},[3823],{"type":32,"value":3824},"　AIエージェントは、外部ツールや他のAIとコミュニケーションする能力を磨きつつあります。今回の Gemini CLI は、さしずめ「専門医と連携して親身になって診てくれる若手医師」といったところでしょうか。今後、主治医になる可能性もあります。",{"type":27,"tag":74,"props":3826,"children":3827},{},[],{"type":27,"tag":3829,"props":3830,"children":3832},"h4",{"id":3831},"これからも改良を",[3833],{"type":32,"value":3831},{"type":27,"tag":28,"props":3835,"children":3836},{},[3837],{"type":32,"value":3838},"　自前のブログシステムなので、使っていきながら改良していきます。中身が全部わかっているというのは、安心です。AIエージェントの力も借りながら、さらに理解を深めたいと思います。",{"type":27,"tag":28,"props":3840,"children":3841},{},[3842],{"type":32,"value":3843},"　これからも応援よろしくお願いします。",{"type":27,"tag":74,"props":3845,"children":3847},{"id":3846},"nikkeisoft",[],{"type":27,"tag":145,"props":3849,"children":3851},{"className":3850},[2106],[3852,3853,3866,3867],{"type":32,"value":2109},{"type":27,"tag":145,"props":3854,"children":3856},{"className":3855},[2113],[3857],{"type":27,"tag":43,"props":3858,"children":3861},{"target":2117,"rel":3859,"href":3860},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57027?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F5e9e4f14a0ca6b7bafbe30bbde4a93b6%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjEsImFtcCI6ZmFsc2V9",[3862],{"type":27,"tag":87,"props":3863,"children":3865},{"src":3864},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F1154\u002F4910071891154_1_2.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":3868,"children":3870},{"className":3869},[2130],[3871,3872,3882,3883,3902,3903,3940],{"type":32,"value":2133},{"type":27,"tag":145,"props":3873,"children":3875},{"className":3874},[2137],[3876],{"type":27,"tag":43,"props":3877,"children":3879},{"target":2117,"rel":3878,"href":3860},[2119],[3880],{"type":32,"value":3881},"日経ソフトウエア 2025年 11月号 [雑誌]",{"type":32,"value":2133},{"type":27,"tag":145,"props":3884,"children":3886},{"className":3885},[2149],[3887,3890,3892,3895,3897,3900],{"type":27,"tag":74,"props":3888,"children":3889},{},[],{"type":32,"value":3891},"※ ハダノがずっと購読している隔月刊のプログラミング雑誌です。",{"type":27,"tag":74,"props":3893,"children":3894},{},[],{"type":32,"value":3896},"流行をおさえているので、最近はAI関連の記事が多めです。",{"type":27,"tag":74,"props":3898,"children":3899},{},[],{"type":32,"value":3901},"特集2「AIエージェント時代到来！ MCPとは何か？」が特に興味深かったと思います。",{"type":32,"value":2133},{"type":27,"tag":145,"props":3904,"children":3906},{"className":3905},[2170,2171],[3907,3908,3917,3918,3928,3929,3939],{"type":32,"value":2174},{"type":27,"tag":145,"props":3909,"children":3910},{},[3911],{"type":27,"tag":43,"props":3912,"children":3915},{"className":3913,"target":2117,"rel":3914,"href":3860},[2181,2182],[2119],[3916],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":3919,"children":3920},{},[3921],{"type":27,"tag":43,"props":3922,"children":3926},{"className":3923,"target":2117,"rel":3924,"href":3925},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0F196QW8D",[3927],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":3930,"children":3931},{},[3932],{"type":27,"tag":43,"props":3933,"children":3937},{"className":3934,"target":2117,"rel":3935,"href":3936},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fbookfan%2Fmt-4910071891154.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[3938],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":3942,"children":3943},{},[],{"type":27,"tag":328,"props":3945,"children":3946},{},[],{"type":27,"tag":28,"props":3948,"children":3949},{},[3950],{"type":27,"tag":43,"props":3951,"children":3952},{"href":2562},[3953],{"type":32,"value":3954},"←前へ　持続可能なブログ作り",{"title":8,"searchDepth":2518,"depth":2518,"links":3956},[3957],{"id":2573,"depth":2518,"text":2540,"children":3958},[3959,3960,3961,3962,3963,3964],{"id":2587,"depth":2523,"text":2590},{"id":2689,"depth":2523,"text":2692},{"id":2871,"depth":2523,"text":2874},{"id":3008,"depth":2523,"text":3011},{"id":3291,"depth":2523,"text":3294},{"id":3676,"depth":2523,"text":3679},"content:articles:blog-3.md","articles\u002Fblog-3.md","articles\u002Fblog-3",{"_path":2599,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3969,"description":3970,"category":3971,"tag":3973,"thumbnail":3979,"createdAt":3980,"updatedAt":3981,"body":3982,"_type":2532,"_id":6359,"_source":2534,"_file":6360,"_stem":6361,"_extension":2537},"テクノロじいやの手作りSDGs―10 「万博」","「いのち輝く未来社会」をめざす万博はSDGs学習に役立つか",[3972],"innovation",[3974,3975,3976,3977,3978,18],"technology","sf","future-school","steam","management","technolojiya-10.jpg","2025\u002F8\u002F24","2025\u002F10\u002F3",{"type":24,"children":3983,"toc":6348},[3984,4028,4036,4041,4059,4064,4069,4075,4078,4083,4118,4123,4128,4134,4139,4155,4171,4176,4179,4184,4227,4232,4238,4243,4255,4261,4264,4270,4305,4310,4313,4318,4329,4334,4340,4353,4358,4363,4369,4374,4392,4397,4402,4407,4424,4428,4433,4436,4441,4446,4451,4456,4459,4465,4470,4475,4494,4499,4516,4521,4541,4547,4570,4575,4588,4593,4606,4611,4624,4629,4632,4638,4644,4649,4682,4687,4692,4700,4718,4730,4735,4740,4752,4757,4763,4767,4772,4777,4790,4795,4800,4818,4823,4856,4868,4871,4877,4882,4905,4911,4914,4919,4952,4957,5021,5024,5030,5035,5040,5045,5050,5055,5061,5064,5069,5074,5079,5084,5087,5092,5097,5102,5107,5110,5115,5120,5125,5130,5135,5140,5152,5155,5160,5165,5170,5173,5178,5183,5188,5193,5196,5201,5206,5211,5216,5221,5224,5229,5234,5239,5244,5250,5255,5260,5263,5268,5273,5284,5289,5310,5315,5318,5323,5328,5340,5345,5348,5353,5372,5449,5454,5459,5468,5474,5485,5490,5495,5514,5520,5532,5543,5548,5553,5564,5590,5601,5613,5618,5629,5652,5658,5669,5673,5766,5770,5842,5846,5939,5943,6036,6040,6133,6137,6230,6234,6327,6330,6339],{"type":27,"tag":3985,"props":3986,"children":3987},"section",{},[3988],{"type":27,"tag":3989,"props":3990,"children":3991},"details",{},[3992,3998,4000,4023,4025],{"type":27,"tag":3993,"props":3994,"children":3995},"summary",{},[3996],{"type":32,"value":3997},"　AI、ブロックチェーン、IoT、スマートシティー、自動運転――",{"type":32,"value":3999},"これらのキーワードを目にすることが増えています。新しいテクノロジーを生かすためには、「",{"type":27,"tag":4001,"props":4002,"children":4003},"ruby",{},[4004,4006,4012,4018],{"type":32,"value":4005},"社会実装",{"type":27,"tag":4007,"props":4008,"children":4009},"rp",{},[4010],{"type":32,"value":4011},"≪",{"type":27,"tag":4013,"props":4014,"children":4015},"rt",{},[4016],{"type":32,"value":4017},"しゃかいじっそう",{"type":27,"tag":4007,"props":4019,"children":4020},{},[4021],{"type":32,"value":4022},"≫",{"type":32,"value":4024},"」を進める必要があります。日々の暮らしに役立てられてこそ意味があるとの思いで、情報発信しています。",{"type":27,"tag":74,"props":4026,"children":4027},{},[],{"type":27,"tag":28,"props":4029,"children":4030},{},[4031,4034],{"type":27,"tag":74,"props":4032,"children":4033},{},[],{"type":32,"value":4035},"　今回お届けするのは……",{"type":27,"tag":78,"props":4037,"children":4039},{"id":4038},"いのち輝く未来社会をめざす万博はsdgs学習に役立つか",[4040],{"type":32,"value":3970},{"type":27,"tag":35,"props":4042,"children":4043},{},[4044],{"type":27,"tag":39,"props":4045,"children":4046},{},[4047],{"type":27,"tag":43,"props":4048,"children":4051},{"href":4049,"rel":4050},"https:\u002F\u002Ftoyokeizai.net\u002Farticles\u002F-\u002F904721",[986],[4052,4054],{"type":32,"value":4053},"🔗",{"type":27,"tag":810,"props":4055,"children":4056},{},[4057],{"type":32,"value":4058},"批判されたクリエイターが自ら解説し共感を獲得。万博の情報発信課題が次回イベントに残した反省点　2025\u002F09\u002F19",{"type":27,"tag":28,"props":4060,"children":4061},{},[4062],{"type":32,"value":4063},"で、林 信行氏（フリージャーナリスト､コンサルタント）が万博総括をしています。",{"type":27,"tag":28,"props":4065,"children":4066},{},[4067],{"type":32,"value":4068},"　これをベースに、かけこみ万博に行ってきたハダノの実体験を交えて考察してみたいと思います。",{"type":27,"tag":87,"props":4070,"children":4074},{"src":4071,"alt":4072,"className":4073},"\u002Fimg\u002Fexpowelcome.jpg","万博へようこそ",[1792],[],{"type":27,"tag":74,"props":4076,"children":4077},{},[],{"type":27,"tag":138,"props":4079,"children":4081},{"id":4080},"ソーシャルメディア上の評価の変遷",[4082],{"type":32,"value":4080},{"type":27,"tag":35,"props":4084,"children":4085},{},[4086,4094,4102,4110],{"type":27,"tag":39,"props":4087,"children":4088},{},[4089],{"type":27,"tag":810,"props":4090,"children":4091},{},[4092],{"type":32,"value":4093},"大阪・関西万博は、開幕前からソーシャルメディア上で開催の是非や建設費増大などの批判が相次ぎ、公式マスコット「ミャクミャク」も不評だった。",{"type":27,"tag":39,"props":4095,"children":4096},{},[4097],{"type":27,"tag":810,"props":4098,"children":4099},{},[4100],{"type":32,"value":4101},"しかし、ゴールデンウィーク以降、来場者の高評価が広まり、満足度79.7%、再訪希望84%という調査結果が出るなど、評価が好転。",{"type":27,"tag":39,"props":4103,"children":4104},{},[4105],{"type":27,"tag":810,"props":4106,"children":4107},{},[4108],{"type":32,"value":4109},"特にイタリア館の本物の美術品展示が注目を集め、ミャクミャクの人気も急上昇。",{"type":27,"tag":39,"props":4111,"children":4112},{},[4113],{"type":27,"tag":810,"props":4114,"children":4115},{},[4116],{"type":32,"value":4117},"チケット販売枚数は目標の1,800万枚を突破し、公式ショップの売上も好調だった。",{"type":27,"tag":28,"props":4119,"children":4120},{},[4121],{"type":32,"value":4122},"、、、という具合に、人気が人気を呼んで来場者がうなぎのぼりに増えていきました。",{"type":27,"tag":28,"props":4124,"children":4125},{},[4126],{"type":32,"value":4127},"　「並ばない万博」をめざしていたはずが、「長時間並ぶ万博」そして「並ぶことさえ許されない万博」「帰れない万博」さらには「入場できない万博」へと混雑が激化していきました。",{"type":27,"tag":87,"props":4129,"children":4133},{"src":4130,"alt":4131,"className":4132},"\u002Fimg\u002Fexpocrowd.jpg","万博の人込み",[1792],[],{"type":27,"tag":28,"props":4135,"children":4136},{},[4137],{"type":32,"value":4138},"　ハダノは8月下旬に「万博に行ってみよう」と思い立ち、情報を集め始めました。",{"type":27,"tag":28,"props":4140,"children":4141},{},[4142,4143,4153],{"type":32,"value":709},{"type":27,"tag":43,"props":4144,"children":4146},{"href":4145},"#expoguide",[4147,4148],{"type":32,"value":4053},{"type":27,"tag":55,"props":4149,"children":4150},{},[4151],{"type":32,"value":4152},"万博完全攻略ガイド",{"type":32,"value":4154}," を読むと、……「チケットの予約」「シャトルバスの予約」「パビリオンの予約」などさまざまな予約をしなければならず、心が折れそうになってしまった……とありました。「そんな大げさな！」と思いましたが、やってみると実際たいへんで、行く前に心が折れそうでした。",{"type":27,"tag":28,"props":4156,"children":4157},{},[4158,4160,4169],{"type":32,"value":4159},"　🔗",{"type":27,"tag":43,"props":4161,"children":4163},{"href":4162},"#expoguide2025",[4164],{"type":27,"tag":55,"props":4165,"children":4166},{},[4167],{"type":32,"value":4168},"万博ガイドブック2025：……予約・混雑攻略の本",{"type":32,"value":4170}," を読んで、さらに情報を吟味しながら準備を進めました。",{"type":27,"tag":28,"props":4172,"children":4173},{},[4174],{"type":32,"value":4175},"　行ってみるとそれはもう楽しくて、「行けるものならもう一度行きたいなぁ」という思いに変わりました。",{"type":27,"tag":74,"props":4177,"children":4178},{},[],{"type":27,"tag":138,"props":4180,"children":4182},{"id":4181},"クリエイターによる解説と問題提起が関心を集めた",[4183],{"type":32,"value":4181},{"type":27,"tag":35,"props":4185,"children":4186},{},[4187,4195,4203,4211,4219],{"type":27,"tag":39,"props":4188,"children":4189},{},[4190],{"type":27,"tag":810,"props":4191,"children":4192},{},[4193],{"type":32,"value":4194},"ソーシャルメディアは批判の拡散だけでなく、会場の見どころやイベント情報の共有、誤解の解消にも貢献。",{"type":27,"tag":39,"props":4196,"children":4197},{},[4198],{"type":27,"tag":810,"props":4199,"children":4200},{},[4201],{"type":32,"value":4202},"藤本壮介氏や落合陽一氏、引地耕太氏ら関係者がSNSで積極的に発信し、批判への丁寧な説明や問題提起を行った。特に藤本氏は会場デザインの意図やコスト構造などを詳細に解説し、共感を得た。",{"type":27,"tag":39,"props":4204,"children":4205},{},[4206],{"type":27,"tag":810,"props":4207,"children":4208},{},[4209],{"type":32,"value":4210},"若手建築家によるトイレの設計も批判の的となったが、背景説明により評価が好転。「2億円トイレ」も人気スポットとなり、展覧会でその意義が紹介された。",{"type":27,"tag":39,"props":4212,"children":4213},{},[4214],{"type":27,"tag":810,"props":4215,"children":4216},{},[4217],{"type":32,"value":4218},"批判の多くは事実誤認や背景理解の不足によるもので、実際には奇抜なトイレは8カ所のみで、ほとんどは普通の施設。",{"type":27,"tag":39,"props":4220,"children":4221},{},[4222],{"type":27,"tag":810,"props":4223,"children":4224},{},[4225],{"type":32,"value":4226},"万博は仮設建築の場として新素材や工法の実験が可能で、環境に優しい建材の開発にもつながる可能性がある。",{"type":27,"tag":28,"props":4228,"children":4229},{},[4230],{"type":32,"value":4231},"、、、パビリオンの予約（7日前抽選、3日前先着）が全く取れなかったハダノは、「入れなくても世界トップレベルの建築アートを見るだけでも価値があるぞ」と自分に言い聞かせました。",{"type":27,"tag":87,"props":4233,"children":4237},{"src":4234,"alt":4235,"className":4236},"\u002Fimg\u002Fexpobuild.jpg","万博建築アート",[1451],[],{"type":27,"tag":28,"props":4239,"children":4240},{},[4241],{"type":32,"value":4242},"　一つ疑問だったのは、「たった半年のイベントのために莫大な費用と労力をかけて建設するというのは、SDGs的にいかがなものか？」という点です。調べてみると、建築材料の再利用や移設など持続可能性に配慮したものや、逆に「半年間限定」を生かし建築基準に縛られずに新しい素材・工法の実験に挑戦したものがありました。大屋根リングも一部残されるようなので、未来につながると期待されます。",{"type":27,"tag":28,"props":4244,"children":4245},{},[4246,4248,4253],{"type":32,"value":4247},"　当日、大屋根リングに上って",{"type":27,"tag":55,"props":4249,"children":4250},{},[4251],{"type":32,"value":4252},"3分の2周",{"type":32,"value":4254},"歩くことができました。夜はリングがライトアップされ、各パビリオンも昼とは別の表情を見せてくれました。これを見るだけでも行く価値があると実感しました。",{"type":27,"tag":87,"props":4256,"children":4260},{"src":4257,"alt":4258,"className":4259},"\u002Fimg\u002Fexponightview.jpg","万博夜景",[1792],[],{"type":27,"tag":74,"props":4262,"children":4263},{},[],{"type":27,"tag":138,"props":4265,"children":4267},{"id":4266},"公式webサイトの設計何が問題だったか",[4268],{"type":32,"value":4269},"公式Webサイトの設計、何が問題だったか",{"type":27,"tag":35,"props":4271,"children":4272},{},[4273,4281,4289,4297],{"type":27,"tag":39,"props":4274,"children":4275},{},[4276],{"type":27,"tag":810,"props":4277,"children":4278},{},[4279],{"type":32,"value":4280},"情報格差も課題となり、公式Webサイトの設計が不十分だった。",{"type":27,"tag":39,"props":4282,"children":4283},{},[4284],{"type":27,"tag":810,"props":4285,"children":4286},{},[4287],{"type":32,"value":4288},"開幕直後はイベント情報がPDFで提供されるのみで、発見性に欠けた。パビリオンが独自にSNSで情報発信する一方、全体像の把握は困難だった。",{"type":27,"tag":39,"props":4290,"children":4291},{},[4292],{"type":27,"tag":810,"props":4293,"children":4294},{},[4295],{"type":32,"value":4296},"公式サイトはレガシーの記録にも不十分で、重要なスピーチや文化財展示の情報が分散。情報のグランドデザインが欠如していた。",{"type":27,"tag":39,"props":4298,"children":4299},{},[4300],{"type":27,"tag":810,"props":4301,"children":4302},{},[4303],{"type":32,"value":4304},"今後のイベントでは、こうした反省を生かし、情報発信の設計やアーカイブの整備が求められる。対話型AIの活用など、ITリテラシーに関係なく情報を得られる仕組みの導入も期待される。",{"type":27,"tag":28,"props":4306,"children":4307},{},[4308],{"type":32,"value":4309},"、、、と、大きな課題を残しています。",{"type":27,"tag":74,"props":4311,"children":4312},{},[],{"type":27,"tag":3829,"props":4314,"children":4316},{"id":4315},"公式サイトにログインできない問題",[4317],{"type":32,"value":4315},{"type":27,"tag":28,"props":4319,"children":4320},{},[4321,4323,4327],{"type":32,"value":4322},"　最大の問題は、「",{"type":27,"tag":55,"props":4324,"children":4325},{},[4326],{"type":32,"value":4315},{"type":32,"value":4328},"」です。9月上旬まではログインで待たされることはあまりなかったのに、しだいに待ち時間が長くなりました。3日前先着を取ろうとするころには、4時間前からログインしていたのに、エラーで操作をやり直すと並び直しになり、絶望したものです。並び直しに1時間以上かかるのも珍しくなくなりました。",{"type":27,"tag":28,"props":4330,"children":4331},{},[4332],{"type":32,"value":4333},"　せっかくログインできても10分間操作がないと並び直しになります。キャンセル拾いでリロードする人も増え、ますますログイン待ち時間がのびていきました。ツールで自動クリックする人が出てきたため、万博協会は強制ログアウトを始めました。「複数端末でログインし、頻繁にリロード」というテクニックを使いすぎた人も強制ログアウトされたと聞いて、「どうすればいいんだー！」と叫びたくなりました。",{"type":27,"tag":87,"props":4335,"children":4339},{"src":4336,"alt":4337,"className":4338},"\u002Fimg\u002Fexpologin.jpg","万博公式サイトログイン待ち画面",[1451],[],{"type":27,"tag":35,"props":4341,"children":4342},{},[4343],{"type":27,"tag":39,"props":4344,"children":4345},{},[4346],{"type":27,"tag":43,"props":4347,"children":4350},{"href":4348,"rel":4349},"https:\u002F\u002Fzenn.dev\u002Fame_x\u002Farticles\u002F7b7e21e5ef955a",[986],[4351],{"type":32,"value":4352},"🔗スクレイピング・自動化対策について",{"type":27,"tag":28,"props":4354,"children":4355},{},[4356],{"type":32,"value":4357},"によると、万博サイトもレートリミット（自動化を回数／期間で検知する方式）で対処しているようです。……レートリミットは最低限自動化を防ぐ事ができ、実装も簡単ですが、一般ユーザーも被害を受けてしまうという問題点があります。また、効果が限定的になる事も多いです……とのことです。",{"type":27,"tag":28,"props":4359,"children":4360},{},[4361],{"type":32,"value":4362},"　そもそも、頻繁にアクセスせざるをえないルールにしておきながら、サーバーの処理能力が低すぎるのが問題なのです。",{"type":27,"tag":87,"props":4364,"children":4368},{"src":4365,"alt":4366,"className":4367},"\u002Fimg\u002Fexpofailed.jpg","万博7日前抽選落選のお知らせ",[1451],[],{"type":27,"tag":28,"props":4370,"children":4371},{},[4372],{"type":32,"value":4373},"◆パビリオンの予約については、、、",{"type":27,"tag":35,"props":4375,"children":4376},{},[4377,4382,4387],{"type":27,"tag":39,"props":4378,"children":4379},{},[4380],{"type":32,"value":4381},"3日前先着をやめ、21～24時に一つ選択して抽選とする。キャンセルが出たら補欠から繰り上げ当選させる",{"type":27,"tag":39,"props":4383,"children":4384},{},[4385],{"type":32,"value":4386},"当日登録は入場直後からの先着をやめ、すべてガンダム方式（時間ごとに開放）とする",{"type":27,"tag":39,"props":4388,"children":4389},{},[4390],{"type":32,"value":4391},"操作可能になってから10分間たつとそのIDはすべて自動的にログアウトされる（リロードしても維持されない）",{"type":27,"tag":28,"props":4393,"children":4394},{},[4395],{"type":32,"value":4396},"、、、などの改善が必要と思われます。",{"type":27,"tag":87,"props":4398,"children":4401},{"src":4399,"alt":4400,"width":91},"\u002Fimg\u002Fexpoenter.jpg","万博入場日時指定画面",[],{"type":27,"tag":28,"props":4403,"children":4404},{},[4405],{"type":32,"value":4406},"◆来場日時指定については、、、",{"type":27,"tag":35,"props":4408,"children":4409},{},[4410,4415,4420],{"type":27,"tag":39,"props":4411,"children":4412},{},[4413],{"type":32,"value":4414},"西ゲート二日前増枠を拡大し、9時～10時～11時～12時～17時～の分をそれぞれ4時～9時にかけて徐々に開放する",{"type":27,"tag":39,"props":4416,"children":4417},{},[4418],{"type":32,"value":4419},"東ゲートから西ゲートへの移動（徒歩、バス）を拡大する",{"type":27,"tag":39,"props":4421,"children":4422},{},[4423],{"type":32,"value":4391},{"type":27,"tag":28,"props":4425,"children":4426},{},[4427],{"type":32,"value":4396},{"type":27,"tag":28,"props":4429,"children":4430},{},[4431],{"type":32,"value":4432},"　こうすれば、リロード地獄から解放され、ログイン待ち時間も短縮されるはずです。",{"type":27,"tag":74,"props":4434,"children":4435},{},[],{"type":27,"tag":3829,"props":4437,"children":4439},{"id":4438},"チケット購入者に返金しない問題",[4440],{"type":32,"value":4438},{"type":27,"tag":28,"props":4442,"children":4443},{},[4444],{"type":32,"value":4445},"　「自分でチケットを買ったのに、入場指定できる日時が残ってなく、返金もしてくれない」とは、異常事態です。",{"type":27,"tag":28,"props":4447,"children":4448},{},[4449],{"type":32,"value":4450},"　チケット購入者で一度も日時指定できていない個人を特定し、救済措置を講ずるべきでしょう（そもそも最初から日時指定を必須として販売すべきでした）。そんな人たちをさしおいて当日券を販売するなどもってのほかです。通期パスを持っているのに当日券を買う人もいると聞いてあきれます。当日券の分の空きがあるのなら、西ゲート二日前増枠に回し、一度も行けてない人に（午後の分だけでも）優先的に与えるべきと思います。",{"type":27,"tag":28,"props":4452,"children":4453},{},[4454],{"type":32,"value":4455},"　大手旅行社から、「〇時入場チケット付き」「人気パビリオン予約付き」などの企画が販売されているのを見ると、不公平だと感じます。コンサートチケットの転売行為と同じく、禁止すべきでした。",{"type":27,"tag":74,"props":4457,"children":4458},{},[],{"type":27,"tag":3829,"props":4460,"children":4462},{"id":4461},"公式サイト公式アプリを補ってくれたもの",[4463],{"type":32,"value":4464},"公式サイト・公式アプリを補ってくれたもの",{"type":27,"tag":28,"props":4466,"children":4467},{},[4468],{"type":32,"value":4469},"　「どこがどれだけ混雑しているか？」「自分の興味関心に合ったコースは？」ということを公式がリアルタイムに教えてくれることを期待していましたが、完全に裏切られました。ふだん使っている「駐車場の空き情報」などに遠く及ばないしろものでした。現在のAI技術なら簡単にやれることをなぜやらないのか不思議です。",{"type":27,"tag":28,"props":4471,"children":4472},{},[4473],{"type":32,"value":4474},"　そんな中、非公式の情報が助けになりました。",{"type":27,"tag":35,"props":4476,"children":4477},{},[4478],{"type":27,"tag":39,"props":4479,"children":4480},{},[4481],{"type":27,"tag":43,"props":4482,"children":4485},{"href":4483,"rel":4484},"https:\u002F\u002Fexpo2025.fun\u002F",[986],[4486,4487,4492],{"type":32,"value":4053},{"type":27,"tag":55,"props":4488,"children":4489},{},[4490],{"type":32,"value":4491},"万博GO",{"type":32,"value":4493},"（パビリオン待ち時間、パビリオン情報、グルメ・レストラン情報）",{"type":27,"tag":28,"props":4495,"children":4496},{},[4497],{"type":32,"value":4498},"は、カッキーさん（@Expo20252025）が運営するサイトで、有志の投稿による待ち時間情報などが見られます。現地で「パビリオン待ち時間」を見てからあわてて向かうと間に合わないので、「過去1週間のパビリオン待ち時間」で時間帯ごとの傾向をつかんでおくのがおすすめです。公式よりはるかに精度が高いと思います。ハダノは、9月上旬の一週間を調べて、「入館容易度」を五段階でランク付けしました。",{"type":27,"tag":35,"props":4500,"children":4501},{},[4502],{"type":27,"tag":39,"props":4503,"children":4504},{},[4505],{"type":27,"tag":43,"props":4506,"children":4509},{"href":4507,"rel":4508},"https:\u002F\u002Fx.com\u002Ft_tsuji",[986],[4510,4511],{"type":32,"value":4053},{"type":27,"tag":55,"props":4512,"children":4513},{},[4514],{"type":32,"value":4515},"つじさんマップ",{"type":27,"tag":28,"props":4517,"children":4518},{},[4519],{"type":32,"value":4520},"　どのパビリオンが当日でも入場できるか、予約が開放される時間など、細かい情報が書き込まれ「公式よりもわかりやすい」とSNS上で拡散して爆発的に広まったようです。",{"type":27,"tag":28,"props":4522,"children":4523},{},[4524,4525,4532,4534,4539],{"type":32,"value":709},{"type":27,"tag":43,"props":4526,"children":4529},{"href":4527,"rel":4528},"https:\u002F\u002Fwww3.nhk.or.jp\u002Fnews\u002Fhtml\u002F20250920\u002Fk10014927751000.html",[986],[4530],{"type":32,"value":4531},"🔗万博で話題の非公式マップ 作者のつじさんって？",{"type":32,"value":4533},"　でくわしく紹介されています。あわせて、「来場者が投稿 リアルタイム待ち時間」と題してカッキーさんの万博GOも紹介されています。さらに「問われた運営側の情報発信」「SNSに翻弄されるケースも」と、公式の情報不足を来場者が補おうとする姿が紹介され、「",{"type":27,"tag":55,"props":4535,"children":4536},{},[4537],{"type":32,"value":4538},"初めてのSNS万博",{"type":32,"value":4540},"」の成果と課題について考えさせられました。",{"type":27,"tag":87,"props":4542,"children":4546},{"src":4543,"alt":4544,"className":4545},"\u002Fimg\u002Fexpobuild2.jpg","万博建築アート2",[1792],[],{"type":27,"tag":35,"props":4548,"children":4549},{},[4550,4560],{"type":27,"tag":39,"props":4551,"children":4552},{},[4553],{"type":27,"tag":43,"props":4554,"children":4557},{"href":4555,"rel":4556},"https:\u002F\u002Fwww.gizmodo.jp\u002F2025\u002F09\u002Fosaka_expo_architecture.html",[986],[4558],{"type":32,"value":4559},"🔗万博の歩き方。散歩するだけでおもしろい、パビリオンの外観21選",{"type":27,"tag":39,"props":4561,"children":4562},{},[4563],{"type":27,"tag":43,"props":4564,"children":4567},{"href":4565,"rel":4566},"https:\u002F\u002Fwired.jp\u002Farticle\u002Fexpo2025-osaka-kansai-japan-must-see-7-architecture-pavilions\u002F",[986],[4568],{"type":32,"value":4569},"🔗“建築の未来”を提示、大阪・関西万博で注目すべき7つのパビリオン",{"type":27,"tag":28,"props":4571,"children":4572},{},[4573],{"type":32,"value":4574},"は、「入れなくても世界トップレベルの建築アートを見るだけでも価値があるぞ」を後押ししてくれる情報です。つじさんマップに書き込みました。",{"type":27,"tag":35,"props":4576,"children":4577},{},[4578],{"type":27,"tag":39,"props":4579,"children":4580},{},[4581],{"type":27,"tag":43,"props":4582,"children":4585},{"href":4583,"rel":4584},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XIkOySoxQRY",[986],[4586],{"type":32,"value":4587},"【マジで地獄‥】来場者数20万人超え‥!!閉幕直前の大阪・関西万博の1日の混雑を紹介!!",{"type":27,"tag":28,"props":4589,"children":4590},{},[4591],{"type":32,"value":4592},"は、まめちゃんの動画です。いろんな情報が錯綜する中、いつも納得できる情報を提供してくれます。彼の口癖は「万博の状況は1～2週間で変わるから最新動画を見てください」です。",{"type":27,"tag":35,"props":4594,"children":4595},{},[4596],{"type":27,"tag":39,"props":4597,"children":4598},{},[4599],{"type":27,"tag":43,"props":4600,"children":4603},{"href":4601,"rel":4602},"https:\u002F\u002Fnote.com\u002Fmame_travel\u002Fn\u002Fn7de0305dc938",[986],[4604],{"type":32,"value":4605},"🔗大阪・関西万博のインドパビリオンをレビュー",{"type":27,"tag":28,"props":4607,"children":4608},{},[4609],{"type":32,"value":4610},"は、お得情報研究家まめ@トラベルノート さんのレビューです。YouTubeのパビリオンランキングなどと違って派手さはなく、信頼できます。インドパビリオンには絶対行こうと思いました。ほかにもいろんなパビリオンをレビューしており、次のように関西万博の攻略方法もまとめてくれています。",{"type":27,"tag":35,"props":4612,"children":4613},{},[4614],{"type":27,"tag":39,"props":4615,"children":4616},{},[4617],{"type":27,"tag":43,"props":4618,"children":4621},{"href":4619,"rel":4620},"https:\u002F\u002Fnote.com\u002Fmame_travel\u002Fn\u002Fnba1719adae03",[986],[4622],{"type":32,"value":4623},"🔗大阪・関西万博を攻略する7つの秘訣！パビリオンの効率的な回り方は？",{"type":27,"tag":28,"props":4625,"children":4626},{},[4627],{"type":32,"value":4628},"、、、これを基本にいろんな情報をつじさんマップに書き込んで当日の行動計画を立てることにしました。",{"type":27,"tag":74,"props":4630,"children":4631},{},[],{"type":27,"tag":87,"props":4633,"children":4637},{"src":4634,"alt":4635,"className":4636},"\u002Fimg\u002Fexpowestgate.jpg","バーチャル万博西ゲート付近",[1451],[],{"type":27,"tag":138,"props":4639,"children":4641},{"id":4640},"バーチャル万博アプリは予習復習に使える",[4642],{"type":32,"value":4643},"「バーチャル万博」アプリは予習・復習に使える",{"type":27,"tag":28,"props":4645,"children":4646},{},[4647],{"type":32,"value":4648},"　公式アプリの不十分さが批判される中、公式「バーチャル万博」アプリはもっと評価されていいと思います。",{"type":27,"tag":35,"props":4650,"children":4651},{},[4652,4662,4672],{"type":27,"tag":39,"props":4653,"children":4654},{},[4655],{"type":27,"tag":43,"props":4656,"children":4659},{"href":4657,"rel":4658},"https:\u002F\u002Fwww.moguravr.com\u002Fvirtual-expo-2025-report\u002F",[986],[4660],{"type":32,"value":4661},"🔗「バーチャル万博」は現地会場の“下見”にも使えるのか？ 実際のパビリオンの写真と比較しながら巡る【大阪・関西万博2025】",{"type":27,"tag":39,"props":4663,"children":4664},{},[4665],{"type":27,"tag":43,"props":4666,"children":4669},{"href":4667,"rel":4668},"https:\u002F\u002Fnews.livedoor.com\u002Farticle\u002Fdetail\u002F29625930\u002F",[986],[4670],{"type":32,"value":4671},"🔗大阪万博「やっぱ行っときゃよかった」「もっといろいろ見たかった」　←そんな君はバーチャル万博に行け",{"type":27,"tag":39,"props":4673,"children":4674},{},[4675],{"type":27,"tag":43,"props":4676,"children":4679},{"href":4677,"rel":4678},"https:\u002F\u002Fvr-lifemagazine.com\u002Fvexpo-pavilion2\u002F",[986],[4680],{"type":32,"value":4681},"🔗ラストスパートの『バーチャル万博』待ち列なしで世界一周！　記者が選ぶおすすめパビリオン4選　海外編【EXPO 2025】",{"type":27,"tag":28,"props":4683,"children":4684},{},[4685],{"type":32,"value":4686},"、、、という具合に、SDGs学習の強い味方になります。",{"type":27,"tag":28,"props":4688,"children":4689},{},[4690],{"type":32,"value":4691},"　SDGsの目標を大きく3つに分けた場合、国内パビリオンと海外パビリオンでは重点の置き方が違うと感じます。ざっくり図示すると、、、",{"type":27,"tag":519,"props":4693,"children":4695},{"code":4694},"\n        技術革新    環境保全    相互理解\n          国内  ←   ←  →   →  海外　\n\n",[4696],{"type":27,"tag":527,"props":4697,"children":4698},{"__ignoreMap":8},[4699],{"type":32,"value":4694},{"type":27,"tag":28,"props":4701,"children":4702},{},[4703,4705,4710,4711,4716],{"type":32,"value":4704},"　国内パビリオンは、ほとんど予約が必要で入館できません。また、",{"type":27,"tag":55,"props":4706,"children":4707},{},[4708],{"type":32,"value":4709},"技術革新",{"type":32,"value":750},{"type":27,"tag":55,"props":4712,"children":4713},{},[4714],{"type":32,"value":4715},"環境保全",{"type":32,"value":4717},"の説明はじっくり読まないと理解しにくいので、当日の見学向きではありません。「バーチャル万博」にまかせましょう。",{"type":27,"tag":28,"props":4719,"children":4720},{},[4721,4723,4728],{"type":32,"value":4722},"　海外の独特の文化・芸術に触れることは、",{"type":27,"tag":55,"props":4724,"children":4725},{},[4726],{"type":32,"value":4727},"相互理解",{"type":32,"value":4729},"を深めます。可能な限り当日の見学で実際に味わいたいものです。「バーチャル万博」は、各国に関する基礎知識を与えてくれます。",{"type":27,"tag":87,"props":4731,"children":4734},{"src":4732,"alt":4733,"width":91},"\u002Fimg\u002Fexpocambodia.jpg","バーチャル万博とリアル万博(カンボジア館)",[],{"type":27,"tag":28,"props":4736,"children":4737},{},[4738],{"type":32,"value":4739},"　「バーチャル万博」は、単なるWeb資料とは違い、自分の分身を仮想空間に送り込んで行動させながら疑似体験するものです。",{"type":27,"tag":35,"props":4741,"children":4742},{},[4743],{"type":27,"tag":39,"props":4744,"children":4745},{},[4746],{"type":27,"tag":43,"props":4747,"children":4749},{"href":4748},"chrome-extension:\u002F\u002Fefaidnbmnnnibpcajpcglclefindmkaj\u002Fhttps:\u002F\u002Fwww.expo2025.or.jp\u002Fwp\u002Fwp-content\u002Fthemes\u002Fexpo2025orjp_2022\u002Fassets\u002Fpdf\u002Ffuture-index\u002Fvirtual\u002Fvirtual-site\u002Flink_list.pdf",[4750],{"type":32,"value":4751},"🔗各パビリオン＆ルームへ直接ワープするためのリンク集",{"type":27,"tag":28,"props":4753,"children":4754},{},[4755],{"type":32,"value":4756},"から直行できます（マップや図鑑からも可に）が、それよりも道路を走り回って入館した方が、当日の移動の練習になるのでおすすめです。「地図上では近くに見えるパビリオン同士でも、通れる場所が限られていて意外と遠いんだ！」など実感できます。",{"type":27,"tag":87,"props":4758,"children":4762},{"src":4759,"alt":4760,"className":4761},"\u002Fimg\u002Fexporun.jpg","バーチャル万博で走り回る",[1451],[],{"type":27,"tag":74,"props":4764,"children":4766},{"id":4765},"mapcustom",[],{"type":27,"tag":138,"props":4768,"children":4770},{"id":4769},"つじさんマップを自分用にカスタマイズ",[4771],{"type":32,"value":4769},{"type":27,"tag":28,"props":4773,"children":4774},{},[4775],{"type":32,"value":4776},"　つじさんマップはとても見やすい優れものです。ただ、背景色が濃いので書き込みには不向きです。PNGファイルをレタッチして色を薄くすると、文字も薄くなってしまいます。PDFファイルを加工すればこの問題は解決できます。",{"type":27,"tag":35,"props":4778,"children":4779},{},[4780],{"type":27,"tag":39,"props":4781,"children":4782},{},[4783],{"type":27,"tag":43,"props":4784,"children":4787},{"href":4785,"rel":4786},"https:\u002F\u002Fkyodx.com\u002Farticles\u002Fict-4",[986],[4788],{"type":32,"value":4789},"🔗PDFをInkscape経由でパワーポイントに貼れば、「きれい・自由・超簡単」",{"type":27,"tag":28,"props":4791,"children":4792},{},[4793],{"type":32,"value":4794},"のテクニックを使いました。『 PDF → Inkscape（SVG編集） → パワーポイント 』という流れで、ひと手間かけるとうまくいきます。",{"type":27,"tag":28,"props":4796,"children":4797},{},[4798],{"type":32,"value":4799},"　SVG編集では、",{"type":27,"tag":35,"props":4801,"children":4802},{},[4803,4808,4813],{"type":27,"tag":39,"props":4804,"children":4805},{},[4806],{"type":32,"value":4807},"レイヤーとオブジェクト(S) で、下層のimage1やimage2の不透明度を下げて背景色を薄くする",{"type":27,"tag":39,"props":4809,"children":4810},{},[4811],{"type":32,"value":4812},"テキストの文字列を変えたり、文字色を変えたりする",{"type":27,"tag":39,"props":4814,"children":4815},{},[4816],{"type":32,"value":4817},"先着の文字色を薄くし、入館容易度(五～一)を追加",{"type":27,"tag":28,"props":4819,"children":4820},{},[4821],{"type":32,"value":4822},"　パワーポイントに貼り付けてからは、",{"type":27,"tag":35,"props":4824,"children":4825},{},[4826,4831,4836,4841,4846,4851],{"type":27,"tag":39,"props":4827,"children":4828},{},[4829],{"type":32,"value":4830},"外観注目のパビリオンにマーク（🏯、🗼）",{"type":27,"tag":39,"props":4832,"children":4833},{},[4834],{"type":32,"value":4835},"コモンズパビリオンの注目国にマーク",{"type":27,"tag":39,"props":4837,"children":4838},{},[4839],{"type":32,"value":4840},"レストラン名入力、E(イートイン)、T(テイクアウト)を入館必須・不要がわかるようにマーク",{"type":27,"tag":39,"props":4842,"children":4843},{},[4844],{"type":32,"value":4845},"G（入館不要のグッズ売り場）をマーク",{"type":27,"tag":39,"props":4847,"children":4848},{},[4849],{"type":32,"value":4850},"その他施設の特徴をマーク（🎻、🎹、♪、🧊、💃🏻、🎎、🎞️、😊、🗽）",{"type":27,"tag":39,"props":4852,"children":4853},{},[4854],{"type":32,"value":4855},"当日のイベントを入力",{"type":27,"tag":28,"props":4857,"children":4858},{},[4859,4861,4866],{"type":32,"value":4860},"、、、で、仕上げました。それにしても ",{"type":27,"tag":43,"props":4862,"children":4864},{"href":1480,"rel":4863},[986],[4865],{"type":32,"value":1484},{"type":32,"value":4867}," は便利ですね。",{"type":27,"tag":74,"props":4869,"children":4870},{},[],{"type":27,"tag":3829,"props":4872,"children":4874},{"id":4873},"マップ印刷の問題a4まで水でにじむ",[4875],{"type":32,"value":4876},"マップ印刷の問題（A4まで、水でにじむ）",{"type":27,"tag":28,"props":4878,"children":4879},{},[4880],{"type":32,"value":4881},"　印刷の問題は、コンビニでA3カラープリントすれば解決です。パワポファイルは容量オーバーなので、ファイル-名前を付けて保存 でPDFにして登録しました。",{"type":27,"tag":28,"props":4883,"children":4884},{},[4885,4886,4891,4893,4903],{"type":32,"value":709},{"type":27,"tag":55,"props":4887,"children":4888},{},[4889],{"type":32,"value":4890},"うちわ",{"type":32,"value":4892},"にする場合は、A4なので家で印刷できますが耐水性がありません。「フィルムを貼ると重くなるしなあ」と思っていたら、",{"type":27,"tag":43,"props":4894,"children":4896},{"href":4895},"#labelseal",[4897,4898],{"type":32,"value":4053},{"type":27,"tag":55,"props":4899,"children":4900},{},[4901],{"type":32,"value":4902},"超耐水ラベルシール",{"type":32,"value":4904}," で解決できました。100円ショップの手作りうちわキットで2本作れます。カラビナでリュックにぶら下げると楽です。",{"type":27,"tag":87,"props":4906,"children":4910},{"src":4907,"alt":4908,"className":4909},"\u002Fimg\u002Fexpofan.jpg","万博マップうちわ",[1451],[],{"type":27,"tag":74,"props":4912,"children":4913},{},[],{"type":27,"tag":3829,"props":4915,"children":4917},{"id":4916},"マップを作りながら万博の計画",[4918],{"type":32,"value":4916},{"type":27,"tag":35,"props":4920,"children":4921},{},[4922,4927,4932,4937,4942,4947],{"type":27,"tag":39,"props":4923,"children":4924},{},[4925],{"type":32,"value":4926},"8\u002F29に西ゲート12時しか予約できなかったので、9:40堺駅発シャトルバスを予約＋くら寿司テイクアウト予約",{"type":27,"tag":39,"props":4928,"children":4929},{},[4930],{"type":32,"value":4931},"数日おきに、西ゲート11時・10時と変更できたので、9時台桜島駅発シャトルバスを予約",{"type":27,"tag":39,"props":4933,"children":4934},{},[4935],{"type":32,"value":4936},"パビリオン事前予約全滅後、2日前増枠で奇跡的に西ゲート9時ゲット",{"type":27,"tag":39,"props":4938,"children":4939},{},[4940],{"type":32,"value":4941},"フェリー下船後、荷物を心斎橋のホテルにあずけた方が安心",{"type":27,"tag":39,"props":4943,"children":4944},{},[4945],{"type":32,"value":4946},"また中央線で戻ってきて、東ゲート前から歩いて西ゲートへ。シャトルバスはキャンセル",{"type":27,"tag":39,"props":4948,"children":4949},{},[4950],{"type":32,"value":4951},"西ゲート通過後、基本的に「バーチャル万博」の大地の島と空の島西側の入館容易度の高い海外パビリオンを攻める（アナログ時計の9時～12時のエリア）",{"type":27,"tag":87,"props":4953,"children":4956},{"src":4954,"alt":4955,"width":91},"\u002Fimg\u002Fexpo2025mapw.jpg","万博マップ西ゲート付近",[],{"type":27,"tag":35,"props":4958,"children":4959},{},[4960,4965,4970,4975,4980,4985,4990,4995,5004,5009],{"type":27,"tag":39,"props":4961,"children":4962},{},[4963],{"type":32,"value":4964},"当日登録は、ダメ元でどこでも空いているところを探してみる",{"type":27,"tag":39,"props":4966,"children":4967},{},[4968],{"type":32,"value":4969},"混雑を避け早い昼食を取るために、まずインド館かインドネシア館あたりをめざす",{"type":27,"tag":39,"props":4971,"children":4972},{},[4973],{"type":32,"value":4974},"次は、EU～チリ、コモンズB・Cあたりへ",{"type":27,"tag":39,"props":4976,"children":4977},{},[4978],{"type":32,"value":4979},"並ぶことができればオーストリア館あたりで挑戦、できれば夕食を",{"type":27,"tag":39,"props":4981,"children":4982},{},[4983],{"type":32,"value":4984},"暗くなったら、大屋根リングをぐるっと歩いてパビリオンの外観見学",{"type":27,"tag":39,"props":4986,"children":4987},{},[4988],{"type":32,"value":4989},"大屋根リング上から1回目の「アオと夜の虹のパレード」を見る（くら寿司はキャンセル）",{"type":27,"tag":39,"props":4991,"children":4992},{},[4993],{"type":32,"value":4994},"ポルトガル館手前から降りて、シャインハットに向かい、プロジェクションマッピング2回目を見る",{"type":27,"tag":39,"props":4996,"children":4997},{},[4998,5000],{"type":32,"value":4999},"東ゲートへ向かい、混雑状況でドローンショーを見るか判断",{"type":27,"tag":74,"props":5001,"children":5003},{"id":5002},"expoexercise",[],{"type":27,"tag":39,"props":5005,"children":5006},{},[5007],{"type":32,"value":5008},"中央線でその日のうちにホテルへ",{"type":27,"tag":39,"props":5010,"children":5011},{},[5012,5014,5019],{"type":32,"value":5013},"※ 残暑厳しく混雑もひどいので、無理せず欲張らず「",{"type":27,"tag":55,"props":5015,"children":5016},{},[5017],{"type":32,"value":5018},"万博エクササイズ",{"type":32,"value":5020},"」を楽しみ、パビリオン2つでも入れたら良しとする",{"type":27,"tag":74,"props":5022,"children":5023},{},[],{"type":27,"tag":138,"props":5025,"children":5027},{"id":5026},"いよいよ万博当日",[5028],{"type":32,"value":5029},"いよいよ万博当日！！",{"type":27,"tag":87,"props":5031,"children":5034},{"src":5032,"alt":5033,"width":91},"\u002Fimg\u002Fexpopedometer.jpg","万博当日のfitbit歩数データ",[],{"type":27,"tag":28,"props":5036,"children":5037},{},[5038],{"type":32,"value":5039},"◇ 7時台：フェリー下船後 → 心斎橋のホテル → 夢洲駅",{"type":27,"tag":28,"props":5041,"children":5042},{},[5043],{"type":32,"value":5044},"◆ 8時台：東ゲート前の万国旗横 → 8:30～50 北側専用通路を歩き → 西ゲートに並ぶ",{"type":27,"tag":87,"props":5046,"children":5049},{"src":5047,"alt":5048,"width":91},"\u002Fimg\u002Fexpowalk8.jpg","万博当日北側専用通路を歩く",[],{"type":27,"tag":28,"props":5051,"children":5052},{},[5053],{"type":32,"value":5054},"　フェンス越しですが、万博会場を外から見ることができて得した気分です。",{"type":27,"tag":87,"props":5056,"children":5060},{"src":5057,"alt":5058,"className":5059},"\u002Fimg\u002Fexpoheartrate.jpg","万博当日朝のfitbit心拍数データ",[1792],[],{"type":27,"tag":74,"props":5062,"children":5063},{},[],{"type":27,"tag":28,"props":5065,"children":5066},{},[5067],{"type":32,"value":5068},"◆ 9時台：西ゲート9:20通過 → ガンダムに歓迎され → インドネシア館「停止中」・オーストラリア館「予約のみ」 → インド（バーラト）館へ入館",{"type":27,"tag":87,"props":5070,"children":5073},{"src":5071,"alt":5072,"width":91},"\u002Fimg\u002Fexpowalk9.jpg","万博当日9時台の行程(インド館)",[],{"type":27,"tag":28,"props":5075,"children":5076},{},[5077],{"type":32,"value":5078},"　展示物（王族の部屋、鉱物標本、宇宙開発、一村一品の織物が印象的）・BGM・お香などインド気分を味わったあと、ショップで象のキーホルダーなどを買いました。テイクアウトは10:30からだったのであきらめて次へ。",{"type":27,"tag":28,"props":5080,"children":5081},{},[5082],{"type":32,"value":5083},"※ インド館に入る前に、当日登録で飯田グループ17:30が取れました。3日前先着で取れなかったのに、「早く入場すると取れるんだ！」とビックリ。",{"type":27,"tag":74,"props":5085,"children":5086},{},[],{"type":27,"tag":28,"props":5088,"children":5089},{},[5090],{"type":32,"value":5091},"◆ 10時台： 停止解除されたのを見てすぐにインドネシア館へ入館",{"type":27,"tag":87,"props":5093,"children":5096},{"src":5094,"alt":5095,"width":91},"\u002Fimg\u002Fexpowalk10.jpg","万博当日10時台の行程(インドネシア館)",[],{"type":27,"tag":28,"props":5098,"children":5099},{},[5100],{"type":32,"value":5101},"　ジャングルを忠実に再現したもの、各部族の武具・宝飾品の展示や祭り・踊りの映像（素通りする人が多くて残念）、新首都「ヌサンタラ」を中心とした持続可能で強靭な“未来のスマートシティ”のジオラマ、インドネシアの美しい風景や伝統的な文化を映し出すシアターなど見どころ盛りだくさんでした。朝から歩き通しだったので、休憩できて助かりました。",{"type":27,"tag":28,"props":5103,"children":5104},{},[5105],{"type":32,"value":5106},"　11時前ということでレストランは混んでいなかったので、Nasi Nusantara(￥2,550)、Soto Ayam(￥2,400)をいただきました。スパイスが効いていて「異国グルメだ！」と感じました。",{"type":27,"tag":74,"props":5108,"children":5109},{},[],{"type":27,"tag":28,"props":5111,"children":5112},{},[5113],{"type":32,"value":5114},"◆ 11～12時台：EU館「入場制限中」 → コモンズBへ入館",{"type":27,"tag":87,"props":5116,"children":5119},{"src":5117,"alt":5118,"width":91},"\u002Fimg\u002Fexpowalk11.jpg","万博当日11時台の行程(コモンズB)",[],{"type":27,"tag":28,"props":5121,"children":5122},{},[5123],{"type":32,"value":5124},"　「困ったときのコモンズ」は本当でした。学生の団体が多く人でごった返してはいましたが、すぐ入館でき、26か国のブースも並ばずに見て回ることができました。エアコンが効いていて涼しいのも助かります。まずトイレに行き、反時計回りに見学しました。",{"type":27,"tag":28,"props":5126,"children":5127},{},[5128],{"type":32,"value":5129},"　「時間つぶしをどこでするか問題」も大丈夫です。一つひとつじっくり見ると2時間以上かかります。ソマリアなどは、360度映像を座って見ることができました。また、ソマリアカフェではジェラートなど冷たいものを売っていました。ブラッドオレンジ味とレモン味のジュースを買って、近くで立ち飲みしました。ハダノの自宅から車で1時間ちょっとのインターナショナルカフェ店が販売しているようです。ここまで来て1本800円か……",{"type":27,"tag":28,"props":5131,"children":5132},{},[5133],{"type":32,"value":5134},"　各国のブースは、どれも珍しく面白く、興味が尽きません。ガンダムファンには、ナウルとタンザニア（ザンジバル）が刺さるかもしれません。砂や豆などに手で触れられる国（モーリタニア、東ティモール）もありました。ツバルの水没危機が意外と知られてないことに驚きました。",{"type":27,"tag":87,"props":5136,"children":5139},{"src":5137,"alt":5138,"width":91},"\u002Fimg\u002Fexpowalk12.jpg","万博当日12時台の行程(コモンズBのシンバブエ)",[],{"type":27,"tag":28,"props":5141,"children":5142},{},[5143,5145,5150],{"type":32,"value":5144},"　見せ方にも工夫がありました。いちばん感心したのは",{"type":27,"tag":55,"props":5146,"children":5147},{},[5148],{"type":32,"value":5149},"ジンバブエ",{"type":32,"value":5151},"です。「バーチャル万博」の動画を数段パワーアップして3面曲面スクリーンに投影していました。平衡感覚を失ってVR酔いを起こしそうな没入型の迫力映像でした。ここでしか見られないでしょう。",{"type":27,"tag":74,"props":5153,"children":5154},{},[],{"type":27,"tag":28,"props":5156,"children":5157},{},[5158],{"type":32,"value":5159},"◆ 13時台：コモンズBを出て → シンガポール…オーストリア…ポルトガル…トルクメニスタン（どこも並べないので外観を見て） → 「水と空気のシンフォニー」へ",{"type":27,"tag":87,"props":5161,"children":5164},{"src":5162,"alt":5163,"width":91},"\u002Fimg\u002Fexpowalk13.jpg","万博当日13時台の行程(昼のパビリオン外観)",[],{"type":27,"tag":28,"props":5166,"children":5167},{},[5168],{"type":32,"value":5169},"　とにかく混雑がひどく、まともに歩けません。どこに入るための行列なのか最後尾がどこかもわからないほどでした。日傘だらけで上が見づらく、上ばかり見ていると子どもや車いすとぶつかります。駅構内のように地面を色分けしてほしい気がします。昼の噴水ショーは、一服の清涼剤となりました。",{"type":27,"tag":74,"props":5171,"children":5172},{},[],{"type":27,"tag":28,"props":5174,"children":5175},{},[5176],{"type":32,"value":5177},"◆ 14時台：null2…英国…（外観を見て） → 氷のクールスポット🧊で休憩し → カンボジア館へ入館",{"type":27,"tag":87,"props":5179,"children":5182},{"src":5180,"alt":5181,"width":91},"\u002Fimg\u002Fexpowalk14.jpg","万博当日14時台の行程(カンボジア館)",[],{"type":27,"tag":28,"props":5184,"children":5185},{},[5186],{"type":32,"value":5187},"　氷室の技術が応用された「氷のクールスポット」は涼しかったのですが、満員状態でイスがふさがっていました。「真ん中の円形のベンチをインドネシア館のようにC型にすれば2倍座れるのに」と思いました。",{"type":27,"tag":28,"props":5189,"children":5190},{},[5191],{"type":32,"value":5192},"　カンボジア館は、最後尾がどこかわからなかったのですが、何となく並んでいたら入れました。係員がいなくても整然と行動するのは日本のよさです。稲作・仏教・ヒンドゥー教などが入り混じった不思議となつかしいパビリオンでした。コーケー寺院やアンコールワットなどの遺跡の模型は精密で、映像では得られないものでした。",{"type":27,"tag":74,"props":5194,"children":5195},{},[],{"type":27,"tag":28,"props":5197,"children":5198},{},[5199],{"type":32,"value":5200},"◆ 15～16時台：コモンズC「入場制限中」 → コモンズCへ入館",{"type":27,"tag":87,"props":5202,"children":5205},{"src":5203,"alt":5204,"width":91},"\u002Fimg\u002Fexpowalk15.jpg","万博当日15～16時台の行程(コモンズC)",[],{"type":27,"tag":28,"props":5207,"children":5208},{},[5209],{"type":32,"value":5210},"　コモンズCをのぞいてみると「入場制限中」でした。あきらめきれず近くをウロウロしていたら、ふいに新たな「待機列」が生まれ、10分ぐらい並んで入館できました。コモンズBとは違って11か国なので、ブースの待ち列がありました。同じ並ぶにしても涼しい室内なので、単独パビリオンよりは楽です。",{"type":27,"tag":28,"props":5212,"children":5213},{},[5214],{"type":32,"value":5215},"　モンテネグロは、天井いっぱいの幻想的な映像を寝そべって鑑賞できました。スロベニア・パナマは、国の特徴がよくわかる映像でした。イスラエルは、歴史的正当性を裏付ける古代遺産を展示し、「切実な願いを嘆きの壁にはさんで神に届ける」という伝統を電子的に体験させていました（伝統工芸品展示のパレスチナとは対照的）。スロバキアは、西洋のおとぎ話に出てくるような美しい風景映像を展開していました。サンマリノは、「地平線を眺め、国の美しさと本質を体感する」ために優美な曲線の窓などセンス良い見せ方をしていました。",{"type":27,"tag":28,"props":5217,"children":5218},{},[5219],{"type":32,"value":5220},"　ガボン・クロアチア・ウクライナは、環境や平和など切実な問題を訴える展示をしていました。待ち時間が長いため、途中で離脱せざるをえなくなりました。",{"type":27,"tag":74,"props":5222,"children":5223},{},[],{"type":27,"tag":28,"props":5225,"children":5226},{},[5227],{"type":32,"value":5228},"◆ 17～18時台：セルビア館…ガンダム…の前を通って → 飯田グループへ入館 → 2階レストラン → 飯田グループを出て → 真北で大屋根リングに上り → 反時計回りに歩く（夜のパビリオン外観）",{"type":27,"tag":87,"props":5230,"children":5233},{"src":5231,"alt":5232,"width":91},"\u002Fimg\u002Fexpowalk17.jpg","万博当日17～18時台の行程(飯田グループと夜のパビリオン外観)",[],{"type":27,"tag":28,"props":5235,"children":5236},{},[5237],{"type":32,"value":5238},"　万博の高さ制限ルールでひざまずかされたガンダムですが、夕空に突き上げた手がブルーオーシャンドームの隙間から見えたのも絵になっていました。",{"type":27,"tag":28,"props":5240,"children":5241},{},[5242],{"type":32,"value":5243},"　飯田グループは予約していたので並ばずに入れました。西陣織に触らせてもらいましたが、テントみたいな感触でした。スマートシティのジオラマの中心にある木造ツインタワーは、大屋根リングを見た後なら説得力があります。スマートハウス関連では、メディカルトイレや日尼の大学生のデザイン案が興味深く、希望がわいてきました。2階レストランでゆっくり夕食の予定が、食事・ケーキが完売していました。「入館者しか入れないのに、なぜ一日分準備していないのか！？」疑問です。",{"type":27,"tag":87,"props":5245,"children":5249},{"src":5246,"alt":5247,"className":5248},"\u002Fimg\u002Fexpowalkup.jpg","万博当日夜のfitbit心拍数データ",[1451],[],{"type":27,"tag":28,"props":5251,"children":5252},{},[5253],{"type":32,"value":5254},"　飯田を出るとすっかり暗くなっていて、夜のエクササイズが始まりました。18:30に大屋根リングの階段を一気に上りました。タイから反時計回りに歩きます。",{"type":27,"tag":28,"props":5256,"children":5257},{},[5258],{"type":32,"value":5259},"　サウジアラビアは、石造りが素敵です。オーストラリアのように膜状の外皮だと色を変化させられます。インドネシアは、昼見えなかった内部の骨組みがはっきり見えました。イタリアは、アーチ状の柱の中が見え、屋上も見えましたがすべてオシャレです。英国は、夜は国旗が浮かび上がります。19時前にリング南に着き、夜の水上ショーを待ちます。",{"type":27,"tag":74,"props":5261,"children":5262},{},[],{"type":27,"tag":28,"props":5264,"children":5265},{},[5266],{"type":32,"value":5267},"◆ 19～20時台：「アオと夜の虹のパレード」を真裏から見て → エスカレーターで降りて → ポルトガル…オーストリア…ポルトガル → シャインハットでプロジェクションマッピングを見て → 東ゲート20:50退場",{"type":27,"tag":87,"props":5269,"children":5272},{"src":5270,"alt":5271,"width":91},"\u002Fimg\u002Fexpowalk19.jpg","万博当日19～20時台の行程(夜の水上ショーとプロジェクションマッピング)",[],{"type":27,"tag":28,"props":5274,"children":5275},{},[5276,5277,5282],{"type":32,"value":2825},{"type":27,"tag":55,"props":5278,"children":5279},{},[5280],{"type":32,"value":5281},"アオと夜の虹のパレード",{"type":32,"value":5283},"」は、「バーチャル万博」で予習していました。ストーリーや音楽はほぼ同じでしたが、噴水や炎などはやはり迫力があり、水しぶきもけっこうかかりました。映像は裏返しで薄く、枠外のものはほとんど見えません。それでも音はまあまあ聞こえたので楽しめました。",{"type":27,"tag":28,"props":5285,"children":5286},{},[5287],{"type":32,"value":5288},"　エスカレーターにすぐ乗れるか不安でしたが、二列とも下りになっていたのでスムーズでした。ただ、地上の人込みはひどく、途中で緊急車両用の遮断機に足止めされました。",{"type":27,"tag":28,"props":5290,"children":5291},{},[5292,5294,5299,5301,5308],{"type":32,"value":5293},"　シャインハットに着いて少しして",{"type":27,"tag":55,"props":5295,"children":5296},{},[5297],{"type":32,"value":5298},"プロジェクションマッピング",{"type":32,"value":5300},"が始まりました。世界中のクリエーターから「いのち輝く未来社会のデザイン」をテーマに募った作品が月替わりで上映されます。",{"type":27,"tag":43,"props":5302,"children":5305},{"href":5303,"rel":5304},"https:\u002F\u002Fexpo2025pm.com\u002Flist#f-group",[986],[5306],{"type":32,"value":5307},"🔗Fプログラム",{"type":32,"value":5309}," を鑑賞しましたが、「これを観るだけでも万博に来たかいがあった」と思えるすばらしさでした。イスに座って楽に観ましたが、観客が少なくてもったいなく感じました。",{"type":27,"tag":28,"props":5311,"children":5312},{},[5313],{"type":32,"value":5314},"　21時が近づくと、ゲートに移動する人が増えます。「帰れなくなるかも」と思い、20:50に退場しました。",{"type":27,"tag":74,"props":5316,"children":5317},{},[],{"type":27,"tag":28,"props":5319,"children":5320},{},[5321],{"type":32,"value":5322},"◇ 21時台：東ゲートと駅の中間でドローンショーを見て → 夢洲駅（21:20乗車） → 本町駅",{"type":27,"tag":87,"props":5324,"children":5327},{"src":5325,"alt":5326,"width":91},"\u002Fimg\u002Fexpowalk21.jpg","万博当日21時台の行程(ドローンショー)",[],{"type":27,"tag":28,"props":5329,"children":5330},{},[5331,5333,5338],{"type":32,"value":5332},"　東ゲートを出たら駅まで立ち止まれないと思っていましたが、",{"type":27,"tag":55,"props":5334,"children":5335},{},[5336],{"type":32,"value":5337},"ドローンショー",{"type":32,"value":5339},"の間は止まっている人が多く、けっこうちゃんと見ることができました。「このドローンが戦争に使われませんように」と祈りました。",{"type":27,"tag":28,"props":5341,"children":5342},{},[5343],{"type":32,"value":5344},"　あとは人の波に流されるだけでした。ほんの十数分流されて、すぐ本町行きの地下鉄に乗れました。心斎橋駅の近くで夕食を取るなどぶらぶらしても、予定よりかなり早くホテルに着きました。",{"type":27,"tag":74,"props":5346,"children":5347},{},[],{"type":27,"tag":28,"props":5349,"children":5350},{},[5351],{"type":32,"value":5352},"◇ 一日を振り返って",{"type":27,"tag":28,"props":5354,"children":5355},{},[5356,5358,5363,5365,5370],{"type":32,"value":5357},"　朝・昼・夜あわせて３万歩以上歩きました。西ゲートへの徒歩コースを選んだおかげで、早く入場できました。「",{"type":27,"tag":55,"props":5359,"children":5360},{},[5361],{"type":32,"value":5362},"パビリオン６つ",{"type":32,"value":5364}," ＋ ",{"type":27,"tag":55,"props":5366,"children":5367},{},[5368],{"type":32,"value":5369},"ショー３つ",{"type":32,"value":5371},"」は上出来です。コモンズ館２つに入れたおかげで、QRスタンプラリー34か国分をゲットできました。大屋根リング上も3分の2周歩けました。ほぼ計画どおりに行動して、想定以上の成果が得られました。",{"type":27,"tag":28,"props":5373,"children":5374},{},[5375,5377,5387,5389,5393,5395,5405,5406,5416,5418,5423,5425,5435,5437,5447],{"type":32,"value":5376},"　日差しは真夏ほどではなかったので、",{"type":27,"tag":43,"props":5378,"children":5380},{"href":5379},"#coolhat",[5381,5382],{"type":32,"value":4053},{"type":27,"tag":55,"props":5383,"children":5384},{},[5385],{"type":32,"value":5386},"遮光アドベンチャーハット",{"type":32,"value":5388}," と ",{"type":27,"tag":55,"props":5390,"children":5391},{},[5392],{"type":32,"value":4908},{"type":32,"value":5394}," でしのぐことができ、",{"type":27,"tag":43,"props":5396,"children":5398},{"href":5397},"#kazekasa",[5399,5400],{"type":32,"value":4053},{"type":27,"tag":55,"props":5401,"children":5402},{},[5403],{"type":32,"value":5404},"折りたたみ日傘",{"type":32,"value":5388},{"type":27,"tag":43,"props":5407,"children":5409},{"href":5408},"\u002Farticles\u002Ftechnolojiya-9#klife",[5410,5411],{"type":32,"value":4053},{"type":27,"tag":55,"props":5412,"children":5413},{},[5414],{"type":32,"value":5415},"ネッククーラー",{"type":32,"value":5417}," の出番はありませんでした。QRスタンプラリーで消耗したせいか、",{"type":27,"tag":55,"props":5419,"children":5420},{},[5421],{"type":32,"value":5422},"モバイルバッテリー",{"type":32,"value":5424}," は使いました。何十分も並ぶことがなかったため、",{"type":27,"tag":43,"props":5426,"children":5428},{"href":5427},"#tripodchair",[5429,5430],{"type":32,"value":4053},{"type":27,"tag":55,"props":5431,"children":5432},{},[5433],{"type":32,"value":5434},"折りたたみイス",{"type":32,"value":5436},"  はプロジェクションマッピングのときだけ使いました。",{"type":27,"tag":43,"props":5438,"children":5440},{"href":5439},"#daypack14l",[5441,5442],{"type":32,"value":4053},{"type":27,"tag":55,"props":5443,"children":5444},{},[5445],{"type":32,"value":5446},"小型リュック",{"type":32,"value":5448}," は軽くて使いやすかったと思います。",{"type":27,"tag":28,"props":5450,"children":5451},{},[5452],{"type":32,"value":5453},"　飲食は、非常食とコンビニのペットボトルを持ち込み、インドネシアレストラン（昼食）・ソマリアカフェ（ジュース）・飯田レストラン（アイス、ジュース）と自販機ペットボトルで何とかなりました。",{"type":27,"tag":87,"props":5455,"children":5458},{"src":5456,"alt":5457,"width":91},"\u002Fimg\u002Fexpoequip.jpg","万博当日の装備",[],{"type":27,"tag":28,"props":5460,"children":5461},{},[5462,5465],{"type":27,"tag":74,"props":5463,"children":5464},{},[],{"type":27,"tag":74,"props":5466,"children":5467},{},[],{"type":27,"tag":78,"props":5469,"children":5471},{"id":5470},"結論万博は多様性とつながりを感じられsdgs学習に役立つ",[5472],{"type":32,"value":5473},"【結論】万博は「多様性とつながり」を感じられ、SDGs学習に役立つ",{"type":27,"tag":35,"props":5475,"children":5476},{},[5477],{"type":27,"tag":39,"props":5478,"children":5479},{},[5480],{"type":27,"tag":810,"props":5481,"children":5482},{},[5483],{"type":32,"value":5484},"大阪・関西万博は、キャンセルカルチャーに対抗し、対話重視の姿勢を示した点で、未来への重要なレガシーを残したと言える。",{"type":27,"tag":28,"props":5486,"children":5487},{},[5488],{"type":32,"value":5489},"、、、ハダノ個人の旅行としては、人生で最も準備にエネルギーを使い、帰ってきてからもずっと心に残っている……それが夢洲万博です。",{"type":27,"tag":28,"props":5491,"children":5492},{},[5493],{"type":32,"value":5494},"　パビリオンで見学した国の名前がニュースに出ると、「イスラエルの要塞の石をさわったなぁ」「サンマリノで地平線を眺めたなぁ」などと思い出します。",{"type":27,"tag":28,"props":5496,"children":5497},{},[5498,5500,5505,5507],{"type":32,"value":5499},"　分断が進む世界情勢のさなか万博会場を訪れれば、大屋根リングの中に様々な国のパビリオンがあって、一つの風景の中に地球が収まっていると感じるはずです。リングは最短ルートで移動できず非合理ですが、「",{"type":27,"tag":55,"props":5501,"children":5502},{},[5503],{"type":32,"value":5504},"多様性とつながり",{"type":32,"value":5506},"」を感じられ、共創を軸とした未来づくりへとつながっています。　→ ",{"type":27,"tag":43,"props":5508,"children":5511},{"href":5509,"rel":5510},"https:\u002F\u002Fkyodx.com\u002Farticles\u002Fpolarization",[986],[5512],{"type":32,"value":5513},"🔗情報人権教育で分断を乗り越え、異質対等な共創社会を！",{"type":27,"tag":87,"props":5515,"children":5519},{"src":5516,"alt":5517,"className":5518},"\u002Fimg\u002Fihreducation.jpg","情報人権教育で分断を乗り越え、異質対等な共創社会を！",[1792],[],{"type":27,"tag":28,"props":5521,"children":5522},{},[5523,5525,5530],{"type":32,"value":5524},"　混雑問題を始めとする公式サイトや運営面の不備については、「そもそも",{"type":27,"tag":55,"props":5526,"children":5527},{},[5528],{"type":32,"value":5529},"万博は効率や採算を度外視したもの",{"type":32,"value":5531},"だ」ということを思い出す必要があります。遊園地のように「金を払って楽しませてもらう」のではなく、当事者として「対話しながら一緒に作る」という姿勢も大切です。",{"type":27,"tag":28,"props":5533,"children":5534},{},[5535,5536,5541],{"type":32,"value":2825},{"type":27,"tag":55,"props":5537,"children":5538},{},[5539],{"type":32,"value":5540},"オーバーツーリズムの社会実験",{"type":32,"value":5542},"」だと考えれば、いろんな問題点が見つかって大成功と言えなくもありません。",{"type":27,"tag":28,"props":5544,"children":5545},{},[5546],{"type":32,"value":5547},"　万博に行きもしないで批判ばかりする人たちは、せめて「バーチャル万博」を使ってみてほしいと思います。",{"type":27,"tag":87,"props":5549,"children":5552},{"src":5550,"alt":5551,"width":91},"\u002Fimg\u002Fexpodigital.jpg","万博のデジタル化の取組",[],{"type":27,"tag":28,"props":5554,"children":5555},{},[5556,5557,5562],{"type":32,"value":2825},{"type":27,"tag":55,"props":5558,"children":5559},{},[5560],{"type":32,"value":5561},"未来社会のデザイン",{"type":32,"value":5563},"」については、日本館をはじめとする国内パビリオンはよく作りこまれているようです。予約必須のところが多く、飯田グループ以外行けなかったのですが、「バーチャル万博」で疑似体験できました。",{"type":27,"tag":28,"props":5565,"children":5566},{},[5567,5569,5574,5576,5581,5583,5588],{"type":32,"value":5568},"　「万博会場内すべてキャッシュレス」は、遅れていた日本が追いつこうとする取組です。子どもたちをどうするかは考えどころですが、",{"type":27,"tag":55,"props":5570,"children":5571},{},[5572],{"type":32,"value":5573},"EXPO Wallet",{"type":32,"value":5575}," を万博IDと連携させると便利そうです。",{"type":27,"tag":55,"props":5577,"children":5578},{},[5579],{"type":32,"value":5580},"ミャクペ！",{"type":32,"value":5582}," にチャージして当日の支払いをしようとしましたが、「",{"type":27,"tag":55,"props":5584,"children":5585},{},[5586],{"type":32,"value":5587},"顔認証",{"type":32,"value":5589},"」で決済できたのは、飯田のレストランだけで、ミャクペ！ に対応してない売り場もありました。",{"type":27,"tag":28,"props":5591,"children":5592},{},[5593,5594,5599],{"type":32,"value":709},{"type":27,"tag":55,"props":5595,"children":5596},{},[5597],{"type":32,"value":5598},"ミャクーン！",{"type":32,"value":5600}," というNFT画像をあつめるのは、思いのほか楽しくて童心に返りました。ステータスをあげてもらえたり、キャンペーンでもらえたり、バーチャル万博に行ってもらえたり、リアル万博のパビリオン内にあるQRコードでもらえたりします。万博会場でのスタンプラリーは、紙だと混雑の原因になるので、QRスタンプラリーのみにすべきだと思います。",{"type":27,"tag":28,"props":5602,"children":5603},{},[5604,5606,5611],{"type":32,"value":5605},"　「バーチャル万博」との連携をもっともっと深め、『",{"type":27,"tag":55,"props":5607,"children":5608},{},[5609],{"type":32,"value":5610},"来場者は「バーチャル万博」使用を必須にする",{"type":32,"value":5612},"』ぐらいしてもよかったと考えます。大混雑のリアル万博に対し、「バーチャル万博」はほとんどガラガラですから。",{"type":27,"tag":87,"props":5614,"children":5617},{"src":5615,"alt":5616,"width":91},"\u002Fimg\u002Fexpodigital2.jpg","万博のデジタル化の取組2",[],{"type":27,"tag":28,"props":5619,"children":5620},{},[5621,5622,5627],{"type":32,"value":709},{"type":27,"tag":55,"props":5623,"children":5624},{},[5625],{"type":32,"value":5626},"旅行社の「万博は一日で十分ですよ」をうのみにせず、せめて「夜間券＋平日券」にしていたら",{"type":32,"value":5628},"……などと未練たらたらのハダノです。しかし、心残りの分は別の形で少し埋めることができました。",{"type":27,"tag":35,"props":5630,"children":5631},{},[5632,5637,5642,5647],{"type":27,"tag":39,"props":5633,"children":5634},{},[5635],{"type":32,"value":5636},"台湾パビリオンに入れなかったが、心斎橋での夕食は台湾料理を",{"type":27,"tag":39,"props":5638,"children":5639},{},[5640],{"type":32,"value":5641},"ORA外食パビリオンに入れなかったが、翌日に道頓堀で大阪グルメを",{"type":27,"tag":39,"props":5643,"children":5644},{},[5645],{"type":32,"value":5646},"オーストリア館に入れなかったが、翌日に市役所でプーランクのオーボエソナタを",{"type":27,"tag":39,"props":5648,"children":5649},{},[5650],{"type":32,"value":5651},"ミャクミャクグッズが買えなかったが、翌日に心斎橋PARCOで公式グッズを（公式ショップのくせにVISAタッチすら使えなかったが……）",{"type":27,"tag":87,"props":5653,"children":5657},{"src":5654,"alt":5655,"className":5656},"\u002Fimg\u002Fexposouvenir.jpg","万博みやげ",[1792],[],{"type":27,"tag":28,"props":5659,"children":5660},{},[5661,5662,5667],{"type":32,"value":709},{"type":27,"tag":55,"props":5663,"children":5664},{},[5665],{"type":32,"value":5666},"夢洲万博をきっかけに、SDGsへの理解が広がればいい",{"type":32,"value":5668},"……と心から思います。",{"type":27,"tag":74,"props":5670,"children":5672},{"id":5671},"expoguide",[],{"type":27,"tag":145,"props":5674,"children":5676},{"className":5675},[2106],[5677,5678,5691,5692],{"type":32,"value":2109},{"type":27,"tag":145,"props":5679,"children":5681},{"className":5680},[2113],[5682],{"type":27,"tag":43,"props":5683,"children":5686},{"target":2117,"rel":5684,"href":5685},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57017?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F8b3625bb295c245b9f3ffb76e521d996%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjEsImFtcCI6ZmFsc2V9",[5687],{"type":27,"tag":87,"props":5688,"children":5690},{"src":5689},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F5043\u002F9784774775043_1_5.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":5693,"children":5695},{"className":5694},[2130],[5696,5697,5707,5708,5727,5728,5765],{"type":32,"value":2133},{"type":27,"tag":145,"props":5698,"children":5700},{"className":5699},[2137],[5701],{"type":27,"tag":43,"props":5702,"children":5704},{"target":2117,"rel":5703,"href":5685},[2119],[5705],{"type":32,"value":5706},"\n実際に行ってみたからわかる！ 万博 完全攻略ガイド （コスミックムック）",{"type":32,"value":2133},{"type":27,"tag":145,"props":5709,"children":5711},{"className":5710},[2149],[5712,5715,5717,5720,5722,5725],{"type":27,"tag":74,"props":5713,"children":5714},{},[],{"type":32,"value":5716},"※ 大手旅行社の万博ガイドは、開幕ごろの情報にもとづいているものが多く、使えそうにありません。",{"type":27,"tag":74,"props":5718,"children":5719},{},[],{"type":32,"value":5721},"この本は、編集者が実際にやってみたことを利用者目線でレポートしています。",{"type":27,"tag":74,"props":5723,"children":5724},{},[],{"type":32,"value":5726},"8月7日初版発行されていて、かけこみ万博組の味方になります。",{"type":32,"value":2133},{"type":27,"tag":145,"props":5729,"children":5731},{"className":5730},[2170,2171],[5732,5733,5742,5743,5753,5754,5764],{"type":32,"value":2174},{"type":27,"tag":145,"props":5734,"children":5735},{},[5736],{"type":27,"tag":43,"props":5737,"children":5740},{"className":5738,"target":2117,"rel":5739,"href":5685},[2181,2182],[2119],[5741],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":5744,"children":5745},{},[5746],{"type":27,"tag":43,"props":5747,"children":5751},{"className":5748,"target":2117,"rel":5749,"href":5750},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0FF4DQ4GG",[5752],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":5755,"children":5756},{},[5757],{"type":27,"tag":43,"props":5758,"children":5762},{"className":5759,"target":2117,"rel":5760,"href":5761},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Ftower%2F6903584.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[5763],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":5767,"children":5769},{"id":5768},"expoguide2025",[],{"type":27,"tag":145,"props":5771,"children":5773},{"className":5772},[2106],[5774,5775,5788,5789],{"type":32,"value":2109},{"type":27,"tag":145,"props":5776,"children":5778},{"className":5777},[2113],[5779],{"type":27,"tag":43,"props":5780,"children":5783},{"target":2117,"rel":5781,"href":5782},[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0F67MW7PJ",[5784],{"type":27,"tag":87,"props":5785,"children":5787},{"src":5786},"https:\u002F\u002Fimages-fe.ssl-images-amazon.com\u002Fimages\u002FI\u002F41IpZakcDHL._SL160_.jpg",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":5790,"children":5792},{"className":5791},[2130],[5793,5794,5804,5805,5824,5825,5841],{"type":32,"value":2133},{"type":27,"tag":145,"props":5795,"children":5797},{"className":5796},[2137],[5798],{"type":27,"tag":43,"props":5799,"children":5801},{"target":2117,"rel":5800,"href":5782},[2119],[5802],{"type":32,"value":5803},"万博ガイドブック2025：パビリオン45カ所ガチで回ってみた！予約・混雑攻略の本",{"type":32,"value":2133},{"type":27,"tag":145,"props":5806,"children":5808},{"className":5807},[2149],[5809,5812,5814,5817,5819,5822],{"type":27,"tag":74,"props":5810,"children":5811},{},[],{"type":32,"value":5813},"※ 「万博攻略は情報がすべて」と気づかせてくれた本です。",{"type":27,"tag":74,"props":5815,"children":5816},{},[],{"type":32,"value":5818},"＜万博パビリオン 満足度×混雑度マップ＞は、秀逸です。",{"type":27,"tag":74,"props":5820,"children":5821},{},[],{"type":32,"value":5823},"人によってこだわりポイントが異なるので、一般的なおすすめに流されてはいけないとわかりました。",{"type":32,"value":2133},{"type":27,"tag":145,"props":5826,"children":5829},{"className":5827},[2170,5828],"__one",[5830,5831,5840],{"type":32,"value":2188},{"type":27,"tag":145,"props":5832,"children":5833},{},[5834],{"type":27,"tag":43,"props":5835,"children":5838},{"className":5836,"target":2117,"rel":5837,"href":5782},[2181,2195],[2119],[5839],{"type":32,"value":2200},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":5843,"children":5845},{"id":5844},"labelseal",[],{"type":27,"tag":145,"props":5847,"children":5849},{"className":5848},[2106],[5850,5851,5864,5865],{"type":32,"value":2109},{"type":27,"tag":145,"props":5852,"children":5854},{"className":5853},[2113],[5855],{"type":27,"tag":43,"props":5856,"children":5859},{"target":2117,"rel":5857,"href":5858},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57017?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fe89a2fcb81a978bee1011c227d831108%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjEsImFtcCI6ZmFsc2V9",[5860],{"type":27,"tag":87,"props":5861,"children":5863},{"src":5862},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbungubin\u002Fcabinet\u002F177\u002F194037.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":5866,"children":5868},{"className":5867},[2130],[5869,5870,5880,5881,5900,5901,5938],{"type":32,"value":2133},{"type":27,"tag":145,"props":5871,"children":5873},{"className":5872},[2137],[5874],{"type":27,"tag":43,"props":5875,"children":5877},{"target":2117,"rel":5876,"href":5858},[2119],[5878],{"type":32,"value":5879},"エーワン ラベルシール 耐水タイプマット紙 ノーカット 20枚 62201",{"type":32,"value":2133},{"type":27,"tag":145,"props":5882,"children":5884},{"className":5883},[2149],[5885,5888,5890,5893,5895,5898],{"type":27,"tag":74,"props":5886,"children":5887},{},[],{"type":32,"value":5889},"※ 「うちわ用万博マップ」の印刷と「チケットのQRコード」の印刷に使いました。",{"type":27,"tag":74,"props":5891,"children":5892},{},[],{"type":32,"value":5894},"インクジェットプリンタの欠点を解決してくれるスグレモノです。",{"type":27,"tag":74,"props":5896,"children":5897},{},[],{"type":32,"value":5899},"水をかけてみましたが、本当に大丈夫でした。",{"type":32,"value":2133},{"type":27,"tag":145,"props":5902,"children":5904},{"className":5903},[2170,2171],[5905,5906,5915,5916,5926,5927,5937],{"type":32,"value":2174},{"type":27,"tag":145,"props":5907,"children":5908},{},[5909],{"type":27,"tag":43,"props":5910,"children":5913},{"className":5911,"target":2117,"rel":5912,"href":5858},[2181,2182],[2119],[5914],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":5917,"children":5918},{},[5919],{"type":27,"tag":43,"props":5920,"children":5924},{"className":5921,"target":2117,"rel":5922,"href":5923},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB076MN81W9",[5925],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":5928,"children":5929},{},[5930],{"type":27,"tag":43,"props":5931,"children":5935},{"className":5932,"target":2117,"rel":5933,"href":5934},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fbungubin%2Fk29761.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[5936],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":5940,"children":5942},{"id":5941},"coolhat",[],{"type":27,"tag":145,"props":5944,"children":5946},{"className":5945},[2106],[5947,5948,5961,5962],{"type":32,"value":2109},{"type":27,"tag":145,"props":5949,"children":5951},{"className":5950},[2113],[5952],{"type":27,"tag":43,"props":5953,"children":5956},{"target":2117,"rel":5954,"href":5955},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4cf6d1f6.b3ce57e4.4cf6d1f7.ca609f35\u002F_RTLink57017?pc=https%3A%2F%2Fitem.rakuten.co.jp%2F0101marui%2Fce016604860101%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[5957],{"type":27,"tag":87,"props":5958,"children":5960},{"src":5959},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002F0101marui\u002Fcabinet\u002Fce016\u002F604\u002F86sum10001.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":5963,"children":5965},{"className":5964},[2130],[5966,5967,5977,5978,5997,5998,6035],{"type":32,"value":2133},{"type":27,"tag":145,"props":5968,"children":5970},{"className":5969},[2137],[5971],{"type":27,"tag":43,"props":5972,"children":5974},{"target":2117,"rel":5973,"href":5955},[2119],[5975],{"type":32,"value":5976},"一級遮光アドベンチャーハット",{"type":32,"value":2133},{"type":27,"tag":145,"props":5979,"children":5981},{"className":5980},[2149],[5982,5985,5987,5990,5992,5995],{"type":27,"tag":74,"props":5983,"children":5984},{},[],{"type":32,"value":5986},"※ ハダノはハット型の帽子を持っていなかったので、買ってみました。",{"type":27,"tag":74,"props":5988,"children":5989},{},[],{"type":32,"value":5991},"-17℃は検証していませんが、確かに涼しく感じます。",{"type":27,"tag":74,"props":5993,"children":5994},{},[],{"type":32,"value":5996},"あごひもつきなので、風に強く、室内では後ろにやることができて便利です。",{"type":32,"value":2133},{"type":27,"tag":145,"props":5999,"children":6001},{"className":6000},[2170,2171],[6002,6003,6012,6013,6023,6024,6034],{"type":32,"value":2174},{"type":27,"tag":145,"props":6004,"children":6005},{},[6006],{"type":27,"tag":43,"props":6007,"children":6010},{"className":6008,"target":2117,"rel":6009,"href":5955},[2181,2182],[2119],[6011],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":6014,"children":6015},{},[6016],{"type":27,"tag":43,"props":6017,"children":6021},{"className":6018,"target":2117,"rel":6019,"href":6020},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0F4XFW1PK",[6022],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":6025,"children":6026},{},[6027],{"type":27,"tag":43,"props":6028,"children":6032},{"className":6029,"target":2117,"rel":6030,"href":6031},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2F0101marui%2Fce0166048601.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[6033],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":6037,"children":6039},{"id":6038},"kazekasa",[],{"type":27,"tag":145,"props":6041,"children":6043},{"className":6042},[2106],[6044,6045,6058,6059],{"type":32,"value":2109},{"type":27,"tag":145,"props":6046,"children":6048},{"className":6047},[2113],[6049],{"type":27,"tag":43,"props":6050,"children":6053},{"target":2117,"rel":6051,"href":6052},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4cf6d919.7d68a5a2.4cf6d91a.d4bca218\u002F_RTLink57017?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fhands-net%2F4549917233270%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[6054],{"type":27,"tag":87,"props":6055,"children":6057},{"src":6056},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fhands-net\u002Fcabinet\u002F70\u002F00\u002F4549917233270-1.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":6060,"children":6062},{"className":6061},[2130],[6063,6064,6074,6075,6094,6095,6132],{"type":32,"value":2133},{"type":27,"tag":145,"props":6065,"children":6067},{"className":6066},[2137],[6068],{"type":27,"tag":43,"props":6069,"children":6071},{"target":2117,"rel":6070,"href":6052},[2119],[6072],{"type":32,"value":6073},"hands＋　風が抜ける傘　55cm",{"type":32,"value":2133},{"type":27,"tag":145,"props":6076,"children":6078},{"className":6077},[2149],[6079,6082,6084,6087,6089,6092],{"type":27,"tag":74,"props":6080,"children":6081},{},[],{"type":32,"value":6083},"※ 「どうせ雨が降ったら折りたたみ傘がいるし」と考え、晴雨兼用のものを買いました。",{"type":27,"tag":74,"props":6085,"children":6086},{},[],{"type":32,"value":6088},"軽い傘は風に弱いのが普通ですが、すきまから風を逃がすという理にかなった構造を採用しています。",{"type":27,"tag":74,"props":6090,"children":6091},{},[],{"type":32,"value":6093},"東レのサンシールドで遮光遮熱に優れ、これから活躍の機会が増えそうです。",{"type":32,"value":2133},{"type":27,"tag":145,"props":6096,"children":6098},{"className":6097},[2170,2171],[6099,6100,6109,6110,6120,6121,6131],{"type":32,"value":2174},{"type":27,"tag":145,"props":6101,"children":6102},{},[6103],{"type":27,"tag":43,"props":6104,"children":6107},{"className":6105,"target":2117,"rel":6106,"href":6052},[2181,2182],[2119],[6108],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":6111,"children":6112},{},[6113],{"type":27,"tag":43,"props":6114,"children":6118},{"className":6115,"target":2117,"rel":6116,"href":6117},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0D9WM6GMX",[6119],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":6122,"children":6123},{},[6124],{"type":27,"tag":43,"props":6125,"children":6129},{"className":6126,"target":2117,"rel":6127,"href":6128},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fhands-net%2F4549917233270.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[6130],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":6134,"children":6136},{"id":6135},"tripodchair",[],{"type":27,"tag":145,"props":6138,"children":6140},{"className":6139},[2106],[6141,6142,6155,6156],{"type":32,"value":2109},{"type":27,"tag":145,"props":6143,"children":6145},{"className":6144},[2113],[6146],{"type":27,"tag":43,"props":6147,"children":6150},{"target":2117,"rel":6148,"href":6149},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4cf6e98e.cc95ad31.4cf6e98f.b2734e37\u002F_RTLink57017?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fpayoff%2Fpk23421%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[6151],{"type":27,"tag":87,"props":6152,"children":6154},{"src":6153},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fpayoff\u002Fcabinet\u002Fmuryou_23\u002Fb23421.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":6157,"children":6159},{"className":6158},[2130],[6160,6161,6171,6172,6191,6192,6229],{"type":32,"value":2133},{"type":27,"tag":145,"props":6162,"children":6164},{"className":6163},[2137],[6165],{"type":27,"tag":43,"props":6166,"children":6168},{"target":2117,"rel":6167,"href":6149},[2119],[6169],{"type":32,"value":6170},"軽量折りたたみ三脚椅子  2個セット",{"type":32,"value":2133},{"type":27,"tag":145,"props":6173,"children":6175},{"className":6174},[2149],[6176,6179,6181,6184,6186,6189],{"type":27,"tag":74,"props":6177,"children":6178},{},[],{"type":32,"value":6180},"※ 「並ぶ万博には必須」ということで、超軽量で展開・収納が簡単なイスを買いました。",{"type":27,"tag":74,"props":6182,"children":6183},{},[],{"type":32,"value":6185},"昔からあるシンプルな構造は最強です。",{"type":27,"tag":74,"props":6187,"children":6188},{},[],{"type":32,"value":6190},"持ち運びが苦にならず、コスパもいいとハダノは思います。",{"type":32,"value":2133},{"type":27,"tag":145,"props":6193,"children":6195},{"className":6194},[2170,2171],[6196,6197,6206,6207,6217,6218,6228],{"type":32,"value":2174},{"type":27,"tag":145,"props":6198,"children":6199},{},[6200],{"type":27,"tag":43,"props":6201,"children":6204},{"className":6202,"target":2117,"rel":6203,"href":6149},[2181,2182],[2119],[6205],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":6208,"children":6209},{},[6210],{"type":27,"tag":43,"props":6211,"children":6215},{"className":6212,"target":2117,"rel":6213,"href":6214},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0FF49SH47",[6216],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":6219,"children":6220},{},[6221],{"type":27,"tag":43,"props":6222,"children":6226},{"className":6223,"target":2117,"rel":6224,"href":6225},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fbestone1%2Fyk23421-a2506.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-title",[6227],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":6231,"children":6233},{"id":6232},"daypack14l",[],{"type":27,"tag":145,"props":6235,"children":6237},{"className":6236},[2106],[6238,6239,6252,6253],{"type":32,"value":2109},{"type":27,"tag":145,"props":6240,"children":6242},{"className":6241},[2113],[6243],{"type":27,"tag":43,"props":6244,"children":6247},{"target":2117,"rel":6245,"href":6246},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F4cf6d919.7d68a5a2.4cf6d91a.d4bca218\u002F_RTLink57017?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fhands-net%2F4534570217811%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[6248],{"type":27,"tag":87,"props":6249,"children":6251},{"src":6250},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fhands-net\u002Fcabinet\u002F11\u002F02\u002F4534570217811-1.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":6254,"children":6256},{"className":6255},[2130],[6257,6258,6268,6269,6288,6289,6326],{"type":32,"value":2133},{"type":27,"tag":145,"props":6259,"children":6261},{"className":6260},[2137],[6262],{"type":27,"tag":43,"props":6263,"children":6265},{"target":2117,"rel":6264,"href":6246},[2119],[6266],{"type":32,"value":6267},"ソロ・ツーリスト　ポケッタブルデイパック　14L　ブラック",{"type":32,"value":2133},{"type":27,"tag":145,"props":6270,"children":6272},{"className":6271},[2149],[6273,6276,6278,6281,6283,6286],{"type":27,"tag":74,"props":6274,"children":6275},{},[],{"type":32,"value":6277},"※ ハダノが電動アシスト自転車を買ったときに、自転車用品として目を付けていたリュックです。",{"type":27,"tag":74,"props":6279,"children":6280},{},[],{"type":32,"value":6282},"ちゃちな粗悪品とは違い、軽くて丈夫で、コンパクトにたたむこともできます。",{"type":27,"tag":74,"props":6284,"children":6285},{},[],{"type":32,"value":6287},"今回の万博はこれのおかげで一日歩き回れました。",{"type":32,"value":2133},{"type":27,"tag":145,"props":6290,"children":6292},{"className":6291},[2170,2171],[6293,6294,6303,6304,6314,6315,6325],{"type":32,"value":2174},{"type":27,"tag":145,"props":6295,"children":6296},{},[6297],{"type":27,"tag":43,"props":6298,"children":6301},{"className":6299,"target":2117,"rel":6300,"href":6246},[2181,2182],[2119],[6302],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":6305,"children":6306},{},[6307],{"type":27,"tag":43,"props":6308,"children":6312},{"className":6309,"target":2117,"rel":6310,"href":6311},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB019XF59H6",[6313],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":6316,"children":6317},{},[6318],{"type":27,"tag":43,"props":6319,"children":6323},{"className":6320,"target":2117,"rel":6321,"href":6322},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fhands-net%2F4534570217811.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-title",[6324],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":328,"props":6328,"children":6329},{},[],{"type":27,"tag":28,"props":6331,"children":6332},{},[6333],{"type":27,"tag":43,"props":6334,"children":6336},{"href":6335},"\u002Farticles\u002Ftechnolojiya-9",[6337],{"type":32,"value":6338},"←前へ　テクノロじいやの手作りSDGs―9 「暑さ対策」",{"type":27,"tag":28,"props":6340,"children":6341},{},[6342],{"type":27,"tag":43,"props":6343,"children":6345},{"href":6344},"\u002Farticles\u002Ftechnolojiya-11",[6346],{"type":32,"value":6347},"次へ→　テクノロじいやの手作りSDGs―11 「健康長寿」",{"title":8,"searchDepth":2518,"depth":2518,"links":6349},[6350,6358],{"id":4038,"depth":2518,"text":3970,"children":6351},[6352,6353,6354,6355,6356,6357],{"id":4080,"depth":2523,"text":4080},{"id":4181,"depth":2523,"text":4181},{"id":4266,"depth":2523,"text":4269},{"id":4640,"depth":2523,"text":4643},{"id":4769,"depth":2523,"text":4769},{"id":5026,"depth":2523,"text":5029},{"id":5470,"depth":2518,"text":5473},"content:articles:technolojiya-10.md","articles\u002Ftechnolojiya-10.md","articles\u002Ftechnolojiya-10",{"_path":2562,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6363,"description":6364,"category":6365,"tag":6366,"thumbnail":6367,"createdAt":6368,"updatedAt":6369,"body":6370,"_type":2532,"_id":7568,"_source":2534,"_file":7569,"_stem":7570,"_extension":2537},"持続可能なブログ作り","２年前に作ったブログを Vue3+Nuxt3+NuxtContentV2 に移行してみた",[12],[18,19],"blog-2.jpg","2024\u002F3\u002F25","2024\u002F5\u002F24",{"type":24,"children":6371,"toc":7557},[6372,6376,6388,6392,6397,6403,6406,6412,6424,6437,6442,6445,6466,6471,6475,6480,6498,6503,6506,6512,6517,6530,6535,6571,6576,6604,6609,6615,6618,6624,6629,6641,6646,6657,6677,6689,6692,6697,6702,6713,6718,6746,6751,6764,6769,6780,6816,6826,6838,6841,6846,6851,6856,6861,6867,6872,6900,6906,6911,6924,6953,6983,6994,6999,7010,7015,7043,7055,7066,7079,7082,7088,7099,7104,7117,7122,7135,7140,7144,7150,7155,7160,7165,7171,7176,7209,7214,7219,7224,7229,7332,7337,7342,7345,7349,7361,7365,7369,7440,7443,7535,7538,7541,7549],{"type":27,"tag":28,"props":6373,"children":6374},{},[6375],{"type":32,"value":2553},{"type":27,"tag":35,"props":6377,"children":6378},{},[6379],{"type":27,"tag":39,"props":6380,"children":6381},{},[6382],{"type":27,"tag":43,"props":6383,"children":6385},{"href":6384},"\u002Farticles\u002Fblog-1",[6386],{"type":32,"value":6387},"🔗Nuxt+Content+Cloudflareで無料でブログを作ってみた",{"type":27,"tag":28,"props":6389,"children":6390},{},[6391],{"type":32,"value":2570},{"type":27,"tag":78,"props":6393,"children":6395},{"id":6394},"２年前に作ったブログを-vue3nuxt3nuxtcontentv2-に移行してみた",[6396],{"type":32,"value":6364},{"type":27,"tag":87,"props":6398,"children":6402},{"src":6399,"alt":6400,"className":6401},"\u002Fimg\u002Fadvancedit.jpg","高度情報技術",[1792],[],{"type":27,"tag":74,"props":6404,"children":6405},{},[],{"type":27,"tag":138,"props":6407,"children":6409},{"id":6408},"技術の急速な進歩でブログの引っ越しがたいへんなことに",[6410],{"type":32,"value":6411},"技術の急速な進歩で、ブログの引っ越しがたいへんなことに！",{"type":27,"tag":28,"props":6413,"children":6414},{},[6415,6416,6422],{"type":32,"value":709},{"type":27,"tag":43,"props":6417,"children":6419},{"href":6418},"\u002Farticles\u002Faipc-2",[6420],{"type":32,"value":6421},"🔗「生成AI用にデスクトップPCを追加購入した件」",{"type":32,"value":6423}," で述べたように、ノートPCでやっていたことをデスクトップPCでもできるように頑張りました。",{"type":27,"tag":28,"props":6425,"children":6426},{},[6427,6429,6435],{"type":32,"value":6428},"　データは ",{"type":27,"tag":43,"props":6430,"children":6432},{"href":6431},"\u002Farticles\u002Fict-2#personalcloud",[6433],{"type":32,"value":6434},"🔗パーソナルクラウド",{"type":32,"value":6436}," にバックアップしていました。",{"type":27,"tag":28,"props":6438,"children":6439},{},[6440],{"type":32,"value":6441},"　プログラムは、重要なものから順にインストールしていきました。ブログも早く引っ越したかったのですが、子ども食堂タブレット教室への影響を考え、春休みを「ブログメンテナンス期間」としました。",{"type":27,"tag":74,"props":6443,"children":6444},{},[],{"type":27,"tag":28,"props":6446,"children":6447},{},[6448,6450,6456,6458,6464],{"type":32,"value":6449},"　ブログシステムは、記事データをデスクトップPCに移しただけでは動きません。",{"type":27,"tag":527,"props":6451,"children":6453},{"className":6452},[],[6454],{"type":32,"value":6455},"Vue.js",{"type":32,"value":6457}," や ",{"type":27,"tag":527,"props":6459,"children":6461},{"className":6460},[],[6462],{"type":32,"value":6463},"Nuxt.js",{"type":32,"value":6465}," などのプログラムをインストールする必要があります。",{"type":27,"tag":28,"props":6467,"children":6468},{},[6469],{"type":32,"value":6470},"　２年前と同じ要領でやってみましたが、エラーの嵐に打ちのめされました。",{"type":27,"tag":87,"props":6472,"children":6474},{"src":3644,"alt":3645,"className":6473},[1451],[],{"type":27,"tag":28,"props":6476,"children":6477},{},[6478],{"type":32,"value":6479},"　どうやら、この２年間で開発環境が様変わりしていたようです。",{"type":27,"tag":35,"props":6481,"children":6482},{},[6483,6488,6493],{"type":27,"tag":39,"props":6484,"children":6485},{},[6486],{"type":32,"value":6487},"Vue2　→　Vue3",{"type":27,"tag":39,"props":6489,"children":6490},{},[6491],{"type":32,"value":6492},"Nuxt2　→　Nuxt3",{"type":27,"tag":39,"props":6494,"children":6495},{},[6496],{"type":32,"value":6497},"Nuxt Content　→　Nuxt Content V2",{"type":27,"tag":28,"props":6499,"children":6500},{},[6501],{"type":32,"value":6502},"　おまけに、インストールコマンドまで変わっていました。たった２年間で浦島太郎です。",{"type":27,"tag":74,"props":6504,"children":6505},{},[],{"type":27,"tag":138,"props":6507,"children":6509},{"id":6508},"vue-はオワコンなのか",[6510],{"type":32,"value":6511},"Vue はオワコンなのか？",{"type":27,"tag":28,"props":6513,"children":6514},{},[6515],{"type":32,"value":6516},"　そのままインストールすると最新バージョンになって動かないのなら、古いバージョンを指定してインストールすれば動くかもしれません。ただ、これは持続可能ではありません。Vue2 の公式サポートが2023年で終了したからです。",{"type":27,"tag":35,"props":6518,"children":6519},{},[6520],{"type":27,"tag":39,"props":6521,"children":6522},{},[6523],{"type":27,"tag":43,"props":6524,"children":6527},{"href":6525,"rel":6526},"https:\u002F\u002Frealengineer.link\u002Fnuxt3-upgrade",[986],[6528],{"type":32,"value":6529},"🔗Vue.jsはオワコンになり、Vue3は衰退する。Nuxt2からNuxt3へのアップデートは破壊的変更が多すぎて移行できないからだ",{"type":27,"tag":28,"props":6531,"children":6532},{},[6533],{"type":32,"value":6534},"を読むと、お先真っ暗な感じです。",{"type":27,"tag":28,"props":6536,"children":6537},{},[6538,6540,6546,6548,6554,6556,6562,6563,6569],{"type":32,"value":6539},"　それでも、",{"type":27,"tag":527,"props":6541,"children":6543},{"className":6542},[],[6544],{"type":32,"value":6545},"Vue",{"type":32,"value":6547}," + ",{"type":27,"tag":527,"props":6549,"children":6551},{"className":6550},[],[6552],{"type":32,"value":6553},"Nuxt",{"type":32,"value":6555}," を捨てて、",{"type":27,"tag":527,"props":6557,"children":6559},{"className":6558},[],[6560],{"type":32,"value":6561},"React",{"type":32,"value":6547},{"type":27,"tag":527,"props":6564,"children":6566},{"className":6565},[],[6567],{"type":32,"value":6568},"Next",{"type":32,"value":6570}," へ鞍替えしようとは思いません。乗り換えは最後の手段です。",{"type":27,"tag":28,"props":6572,"children":6573},{},[6574],{"type":32,"value":6575},"　冷静になると、",{"type":27,"tag":228,"props":6577,"children":6578},{},[6579,6584,6589,6594,6599],{"type":27,"tag":39,"props":6580,"children":6581},{},[6582],{"type":32,"value":6583},"Vue3,Nuxt3 を新しいフレームワークだと思って学ぶ。",{"type":27,"tag":39,"props":6585,"children":6586},{},[6587],{"type":32,"value":6588},"Vue2,Nuxt2 と似ている部分は、慣れている分だけラッキーと考える。",{"type":27,"tag":39,"props":6590,"children":6591},{},[6592],{"type":32,"value":6593},"現行システムのロジックをベースに Vue3,Nuxt3 で書き直す。",{"type":27,"tag":39,"props":6595,"children":6596},{},[6597],{"type":32,"value":6598},"モジュール対応が遅れていれば、代替手段を模索する。",{"type":27,"tag":39,"props":6600,"children":6601},{},[6602],{"type":32,"value":6603},"それでもだめなら、旧バージョンでしのぎつつ、React等への移行を検討。",{"type":27,"tag":28,"props":6605,"children":6606},{},[6607],{"type":32,"value":6608},"、、、と方針が固まってきました。",{"type":27,"tag":87,"props":6610,"children":6614},{"src":6611,"alt":6612,"className":6613},"\u002Fimg\u002Fvuenuxt.jpg","Vue3,Nuxt3",[1873],[],{"type":27,"tag":74,"props":6616,"children":6617},{},[],{"type":27,"tag":138,"props":6619,"children":6621},{"id":6620},"vue3nuxt3-を学び現行システムを書き直してみる",[6622],{"type":32,"value":6623},"Vue3,Nuxt3 を学び、現行システムを書き直してみる",{"type":27,"tag":28,"props":6625,"children":6626},{},[6627],{"type":32,"value":6628},"　新・旧の書き方が混在した解説資料が多い中、",{"type":27,"tag":35,"props":6630,"children":6631},{},[6632],{"type":27,"tag":39,"props":6633,"children":6634},{},[6635],{"type":27,"tag":43,"props":6636,"children":6638},{"href":6637},"#nuxtsite",[6639],{"type":32,"value":6640},"🔗はじめてつくるNuxtサイト: 最新Nuxtの基礎と使い方をしっかりマスターできる！",{"type":27,"tag":28,"props":6642,"children":6643},{},[6644],{"type":32,"value":6645},"ならば、Nuxtバージョンv3.5.2、全編Composition API + script setupを使用……とあるので大丈夫そうです。",{"type":27,"tag":519,"props":6647,"children":6652},{"className":6648,"code":6650,"language":6651,"meta":8},[6649],"language-_slug.vue","\u002F\u002F pages\u002Farticles\u002F_slug.vue　【 旧バージョン 】\n\u003Cscript>\n  export default {\n    async asyncData ({ $content, params, redirect, store }) {\n      const content = await $content('articles').where({ path: '\u002Farticles\u002F' + params.slug }).fetch()\n      if (content.length > 0) {\n        return {\n          content: content[0],\n          contenturl: store.state.baseurl + content[0].path,\n          imgurl: store.state.baseurl + '\u002Fimg\u002F' + content[0].thumbnail\n        }\n      } else {\n        redirect('\u002Farticles')\n      }\n    },\n    head () {\n  ・・・・・・\n      ↓\n\n\u002F\u002F pages\u002Farticles\u002F[slug].vue　【 新バージョン 】\n\u003Cscript setup>\n  const route = useRoute()\n  const path = route.path\n  const { data: content } = await useAsyncData(path,() => queryContent(path).findOne())\n  const h1title = content.title\n  const formatDate = (date) => new Date(date).toLocaleDateString()\n  const contenturl = useBaseurl() + content._path\n  const imgurl = useBaseurl() + '\u002Fimg\u002F' + content.thumbnail\n\n  useHead({\n  ・・・・・・\n","_slug.vue",[6653],{"type":27,"tag":527,"props":6654,"children":6655},{"__ignoreMap":8},[6656],{"type":32,"value":6650},{"type":27,"tag":28,"props":6658,"children":6659},{},[6660,6662,6667,6669,6675],{"type":32,"value":6661},"、、、比べてみると、ずいぶん書き方が違います。ファイル名も ",{"type":27,"tag":527,"props":6663,"children":6665},{"className":6664},[],[6666],{"type":32,"value":6651},{"type":32,"value":6668}," → ",{"type":27,"tag":527,"props":6670,"children":6672},{"className":6671},[],[6673],{"type":32,"value":6674},"[slug].vue",{"type":32,"value":6676}," と変わりました。",{"type":27,"tag":28,"props":6678,"children":6679},{},[6680,6682],{"type":32,"value":6681},"　use で始まる Composables関数 は、Nuxt3 側が用意してくれたものが大幅に増えたうえに、簡単に自作してどこでも使えるようになりました。 → ",{"type":27,"tag":43,"props":6683,"children":6686},{"href":6684,"rel":6685},"https:\u002F\u002Fzenn.dev\u002Fperaichi_blog\u002Farticles\u002F1504fb916d9d88",[986],[6687],{"type":32,"value":6688},"🔗Nuxt3の本気を見た～Composablesの可能性～",{"type":27,"tag":74,"props":6690,"children":6691},{},[],{"type":27,"tag":138,"props":6693,"children":6695},{"id":6694},"ページの構成をすっきりさせてみる",[6696],{"type":32,"value":6694},{"type":27,"tag":28,"props":6698,"children":6699},{},[6700],{"type":32,"value":6701},"　これまでは、次のようになっていました。",{"type":27,"tag":519,"props":6703,"children":6708},{"className":6704,"code":6706,"language":6707,"meta":8},[6705],"language-page.txt","pages\n ├ articles\n ｜  ├ page\n ｜  ｜  └ _id.vue\n ｜  ├ index.vue\n ｜  └ _slug.vue  ⇒　各記事表示用ページ\n ├ category\n ｜  └ _slug\n ｜      ├ page\n ｜      ｜  └ _id.vue\n ｜      └ index.vue\n ├ tag\n ｜  └ _slug\n ｜      ├ page\n ｜      ｜  └ _id.vue\n ｜      └ index.vue\n └ index.vue\n","page.txt",[6709],{"type":27,"tag":527,"props":6710,"children":6711},{"__ignoreMap":8},[6712],{"type":32,"value":6706},{"type":27,"tag":28,"props":6714,"children":6715},{},[6716],{"type":32,"value":6717},"　_slug.vue 以外の7つのvueファイルは、記事一覧表示用なので基本的なつくりは同じです。",{"type":27,"tag":28,"props":6719,"children":6720},{},[6721,6722,6728,6729,6735,6737,6744],{"type":32,"value":6539},{"type":27,"tag":527,"props":6723,"children":6725},{"className":6724},[],[6726],{"type":32,"value":6727},"category",{"type":32,"value":6457},{"type":27,"tag":527,"props":6730,"children":6732},{"className":6731},[],[6733],{"type":32,"value":6734},"tag",{"type":32,"value":6736}," など ",{"type":27,"tag":43,"props":6738,"children":6741},{"href":6739,"rel":6740},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fja\u002Fdocs\u002FGlossary\u002FLiteral",[986],[6742],{"type":32,"value":6743},"🔗リテラル",{"type":32,"value":6745},"　を打って各動作を指定する必要があったため、別々に作っていました。前回、「layout は、うまく使えず、原因不明のままです。……」となっていましたが、今回は何とかしたいものです。",{"type":27,"tag":28,"props":6747,"children":6748},{},[6749],{"type":32,"value":6750},"　処理を分ける際のネックとなっていたのが、オブジェクトのキーの指定です。",{"type":27,"tag":35,"props":6752,"children":6753},{},[6754],{"type":27,"tag":39,"props":6755,"children":6756},{},[6757],{"type":27,"tag":43,"props":6758,"children":6761},{"href":6759,"rel":6760},"https:\u002F\u002Fzenn.dev\u002Fry_km\u002Farticles\u002Fuse-variables-with-object-key-in-js",[986],[6762],{"type":32,"value":6763},"🔗JavaScriptでObjectのKeyに変数展開する",{"type":27,"tag":28,"props":6765,"children":6766},{},[6767],{"type":32,"value":6768},"　を読んでやってみたら、リテラル を打たなくてよくなりました。",{"type":27,"tag":519,"props":6770,"children":6775},{"className":6771,"code":6773,"language":6774,"meta":8},[6772],"language-_id.vue","\u002F\u002F pages\u002Fcategory\u002F_slug\u002Fpage\u002F_id.vue\n  async asyncData ({ store, $content, params, redirect }) {\n    const ipp = store.state.indexPerPage\n    const h1title = store.getters.getCategoryTextBySlug(params.slug)\n                                  \u002F\u002F Categoryテキスト取得専用メソッド\n    ............\n    const content = await $content({ deep: true })\n      .where({ category: { $contains: params.slug } })\n                    \u002F\u002F リテラル【 category 】をObjectのKeyに指定\n      .sortBy('createdAt', 'desc')\n      .skip(pfrom).limit(ipp)\n      .fetch()\n　　・・・・・・\n        ↓\n\n\u002F\u002F pages\u002Fcategory\u002F[slug]\u002Fpage\u002F[id].vue\n　......\n  const ipp = useIndexPerPage()\n  ......\n  \u002F\u002F コンテンツの種類による場合分け\n  if (route.params.slug) {\n    if (mapCat.get(route.params.slug)) {\n      parent = 'category'\n      child = route.params.slug\n      h1title = mapCat.get(child)   \u002F\u002F 連想配列からCategoryテキスト取得\n    } else {\n      if (mapTag.get(route.params.slug)) {\n        parent = 'tag'\n        child = route.params.slug\n        h1title = mapTag.get(child) \u002F\u002F 連想配列からTagテキスト取得\n      }\n  ............\n  const { data: contents } = await useAsyncData(rpath,() => queryContent('articles')\n      .where({[parent]:{$contains:child}})\n                   \u002F\u002F 【 [変数] 】でObjectのKeyに変数展開\n      .sort({createdAt:-1, $numeric:true})    \u002F\u002F 日付を数値順でソート\n      .skip(pfrom).limit(ipp) \n      .find()\n　　・・・・・・\n","_id.vue",[6776],{"type":27,"tag":527,"props":6777,"children":6778},{"__ignoreMap":8},[6779],{"type":32,"value":6773},{"type":27,"tag":28,"props":6781,"children":6782},{},[6783,6785,6791,6793,6799,6801,6807,6808,6814],{"type":32,"value":6784},"　これで、7つのVueファイルのコードを共通化できます。",{"type":27,"tag":527,"props":6786,"children":6788},{"className":6787},[],[6789],{"type":32,"value":6790},"layouts",{"type":32,"value":6792}," フォルダに ",{"type":27,"tag":527,"props":6794,"children":6796},{"className":6795},[],[6797],{"type":32,"value":6798},"listing.vue",{"type":32,"value":6800}," として保存し、",{"type":27,"tag":527,"props":6802,"children":6804},{"className":6803},[],[6805],{"type":32,"value":6806},"index.vue",{"type":32,"value":6457},{"type":27,"tag":527,"props":6809,"children":6811},{"className":6810},[],[6812],{"type":32,"value":6813},"[id].vue",{"type":32,"value":6815}," は次のように書いておけばよいのです。",{"type":27,"tag":519,"props":6817,"children":6821},{"className":6818,"code":6820,"language":6806,"meta":8},[6819],"language-index.vue","\u003Ctemplate>\n  \u003CNuxtLayout name=\"listing\"> \n    \n    ※ listing.vue の \u003Cslot \u002F> に差し込む中身があれば書く\n\n  \u003C\u002FNuxtLayout>\n\u003C\u002Ftemplate>\n",[6822],{"type":27,"tag":527,"props":6823,"children":6824},{"__ignoreMap":8},[6825],{"type":32,"value":6820},{"type":27,"tag":28,"props":6827,"children":6828},{},[6829,6831,6836],{"type":32,"value":6830},"　結果的に、7つのVueファイルは同じものになりました。コードを修正するときは、",{"type":27,"tag":527,"props":6832,"children":6834},{"className":6833},[],[6835],{"type":32,"value":6798},{"type":32,"value":6837}," だけをいじればよく、保守性がアップしました。",{"type":27,"tag":74,"props":6839,"children":6840},{},[],{"type":27,"tag":138,"props":6842,"children":6844},{"id":6843},"デプロイに四苦八苦",[6845],{"type":32,"value":6843},{"type":27,"tag":28,"props":6847,"children":6848},{},[6849],{"type":32,"value":6850},"　ブログシステムがだいたい動くようになったので、デプロイ（ネットにアップ）してみることにしました。",{"type":27,"tag":28,"props":6852,"children":6853},{},[6854],{"type":32,"value":6855},"　「 GitHubのリモートリポジトリにプッシュ → Cloudflare Pages に自動デプロイ 」という設定にしていたので、更新は楽でした。",{"type":27,"tag":28,"props":6857,"children":6858},{},[6859],{"type":32,"value":6860},"　ところが、「Cloudflare PagesとGitHubのリポジトリを連携させ、接続するGitリポジトリを選んで……」という手順で、今回の新しいリポジトリを選択しようとしましたがうまくいきません。どうやら、いったんプロジェクトを削除してやり直すしかないようです。削除を試みましたが、エラーでそれもできません。『最初が肝心』と思い知らされました。",{"type":27,"tag":87,"props":6862,"children":6866},{"src":6863,"alt":6864,"className":6865},"\u002Fimg\u002Fuploadfailed.jpg","アップロード失敗",[1792],[],{"type":27,"tag":28,"props":6868,"children":6869},{},[6870],{"type":32,"value":6871},"　次の手として、「前のGitHubリモートリポジトリをクローンしてローカルリポジトリを作り、そこに新しいブログシステムを移す」ことにしました。",{"type":27,"tag":35,"props":6873,"children":6874},{},[6875,6880,6885,6890,6895],{"type":27,"tag":39,"props":6876,"children":6877},{},[6878],{"type":32,"value":6879},"「ローカルリポジトリに前のデータがあるけど、新しいプログラムをインストールするときに邪魔になるかな？」",{"type":27,"tag":39,"props":6881,"children":6882},{},[6883],{"type":32,"value":6884},"「マークダウンファイルや画像ファイルは邪魔にならないはずだから、残しておいていいのでは？」",{"type":27,"tag":39,"props":6886,"children":6887},{},[6888],{"type":32,"value":6889},"「あれれ？！　インストールしようとしたら、'空っぽのフォルダじゃないとダメ'って怒られた！」",{"type":27,"tag":39,"props":6891,"children":6892},{},[6893],{"type":32,"value":6894},"「でも、空っぽにしたら、リモートリポジトリにプッシュできなくなるのでは？」",{"type":27,"tag":39,"props":6896,"children":6897},{},[6898],{"type":32,"value":6899},"「あーー　詰んだ、、、、」",{"type":27,"tag":87,"props":6901,"children":6905},{"src":6902,"alt":6903,"className":6904},"\u002Fimg\u002Fclogged.jpg","詰んだ",[1451],[],{"type":27,"tag":28,"props":6907,"children":6908},{},[6909],{"type":32,"value":6910},"　あきらめの悪いハダノは、",{"type":27,"tag":35,"props":6912,"children":6913},{},[6914],{"type":27,"tag":39,"props":6915,"children":6916},{},[6917],{"type":27,"tag":43,"props":6918,"children":6921},{"href":6919,"rel":6920},"https:\u002F\u002Fzenn.dev\u002Futa_mory\u002Farticles\u002Ff8bad2ffa86d99",[986],[6922],{"type":32,"value":6923},"🔗create-nuxt-appで既存のディレクトリを上書きできるようになった",{"type":27,"tag":28,"props":6925,"children":6926},{},[6927,6929,6935,6937,6943,6945,6951],{"type":32,"value":6928},"という記事を見つけ前を向こうとしますが、",{"type":27,"tag":527,"props":6930,"children":6932},{"className":6931},[],[6933],{"type":32,"value":6934},"--overwrite-dir",{"type":32,"value":6936},"フラグが廃止されたと知ってガックリ。そもそも ",{"type":27,"tag":527,"props":6938,"children":6940},{"className":6939},[],[6941],{"type":32,"value":6942},"create-nuxt-app",{"type":32,"value":6944}," は、",{"type":27,"tag":527,"props":6946,"children":6948},{"className":6947},[],[6949],{"type":32,"value":6950},"Nuxt2",{"type":32,"value":6952}," 時代のものでした。",{"type":27,"tag":28,"props":6954,"children":6955},{},[6956,6958,6964,6966,6972,6974,6981],{"type":32,"value":6957},"　「もしや、",{"type":27,"tag":527,"props":6959,"children":6961},{"className":6960},[],[6962],{"type":32,"value":6963},"Nuxt3",{"type":32,"value":6965}," のインストールコマンド ",{"type":27,"tag":527,"props":6967,"children":6969},{"className":6968},[],[6970],{"type":32,"value":6971},"npx nuxi init",{"type":32,"value":6973}," に何かないか？」と思って ",{"type":27,"tag":43,"props":6975,"children":6978},{"href":6976,"rel":6977},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fapi\u002Fcommands\u002Finit",[986],[6979],{"type":32,"value":6980},"🔗Nuxt公式ページ",{"type":32,"value":6982}," を見ると、",{"type":27,"tag":28,"props":6984,"children":6985},{},[6986,6992],{"type":27,"tag":527,"props":6987,"children":6989},{"className":6988},[],[6990],{"type":32,"value":6991},"--force 〔Force clone to any existing directory.〕",{"type":32,"value":6993}," というオプションがあるではありませんか。",{"type":27,"tag":28,"props":6995,"children":6996},{},[6997],{"type":32,"value":6998},"　最終的に、",{"type":27,"tag":519,"props":7000,"children":7005},{"className":7001,"code":7003,"language":7004,"meta":8},[7002],"language-nuxt3blog.txt","1. GitHubのリモートリポジトリをクローンし、.gitフォルダ 以外を削除。\n2. 親フォルダへ移動し、Nuxtプロジェクトを上書き作成（content も同時に）。\n  > npx nuxi init プロジェクト名 --force -t content\n  ☑npm\n3. gitリポジトリは初期化せず、既存のものを使う。\n  > Initialize git repository?\n  □Yes \u002F ☑No\n4. モジュール（@nuxtjs\u002Fgoogle-adsense, @nuxtjs\u002Fseo）をインストール。\n5. だいたい動くプロジェクトからファイルをコピー（.nuxt, node_modules以外 ）。\n6. nuxt.config.ts等を修正し、npm run dev で動作確認。\n7. GitHubへコミット・プッシュ。\n8．Cloudflare Pages デプロイの詳細-ビルドログを確認。\n","nuxt3blog.txt",[7006],{"type":27,"tag":527,"props":7007,"children":7008},{"__ignoreMap":8},[7009],{"type":32,"value":7003},{"type":27,"tag":28,"props":7011,"children":7012},{},[7013],{"type":32,"value":7014},"という流れで、やっとデプロイにこぎつけました。",{"type":27,"tag":28,"props":7016,"children":7017},{},[7018,7020,7026,7027,7033,7035,7041],{"type":32,"value":7019},"　ビルド コマンド：",{"type":27,"tag":527,"props":7021,"children":7023},{"className":7022},[],[7024],{"type":32,"value":7025},"npx nuxt generate",{"type":32,"value":6457},{"type":27,"tag":527,"props":7028,"children":7030},{"className":7029},[],[7031],{"type":32,"value":7032},"NODE_VERSION",{"type":32,"value":7034},"：",{"type":27,"tag":527,"props":7036,"children":7038},{"className":7037},[],[7039],{"type":32,"value":7040},"20.11.0",{"type":32,"value":7042},"　などの変更をし、",{"type":27,"tag":28,"props":7044,"children":7045},{},[7046,7053],{"type":27,"tag":43,"props":7047,"children":7050},{"href":7048,"rel":7049},"https:\u002F\u002Fqiita.com\u002Fnegitoro001\u002Fitems\u002F37ce4b4e7ef34bbcd920",[986],[7051],{"type":32,"value":7052},"🔗ビルドエラー回避のため、nuxt.config.ts に",{"type":32,"value":7054}," 以下を加えました。",{"type":27,"tag":519,"props":7056,"children":7061},{"className":7057,"code":7059,"language":7060,"meta":8},[7058],"language-nuxt.config.ts","  nitro:{\n    prerender: {\n        failOnError: false,\n        },\n  },\n","nuxt.config.ts",[7062],{"type":27,"tag":527,"props":7063,"children":7064},{"__ignoreMap":8},[7065],{"type":32,"value":7059},{"type":27,"tag":28,"props":7067,"children":7068},{},[7069,7071,7077],{"type":32,"value":7070},"　開発環境では動いたのに、本番環境では動かず（リロードが必要）、",{"type":27,"tag":527,"props":7072,"children":7074},{"className":7073},[],[7075],{"type":32,"value":7076},"useAsyncData",{"type":32,"value":7078}," のキャッシュ制御を見直す一幕もありましたが、何とか予定したものができあがりました。",{"type":27,"tag":74,"props":7080,"children":7081},{},[],{"type":27,"tag":138,"props":7083,"children":7085},{"id":7084},"_2024524追記pre-transform-error",[7086],{"type":32,"value":7087},"【2024\u002F5\u002F24追記】Pre-transform error",{"type":27,"tag":519,"props":7089,"children":7094},{"className":7090,"code":7092,"language":7093,"meta":8},[7091],"language-rundev.bat","cd c:\\nuxth\\nuxthblog\nnpm run dev\ncmd \u002Fk\n","rundev.bat",[7095],{"type":27,"tag":527,"props":7096,"children":7097},{"__ignoreMap":8},[7098],{"type":32,"value":7092},{"type":27,"tag":28,"props":7100,"children":7101},{},[7102],{"type":32,"value":7103},"　いつものバッチファイル（rundev.bat）でエラーが出たので調べると、",{"type":27,"tag":35,"props":7105,"children":7106},{},[7107],{"type":27,"tag":39,"props":7108,"children":7109},{},[7110],{"type":27,"tag":43,"props":7111,"children":7114},{"href":7112,"rel":7113},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fissues\u002F25941",[986],[7115],{"type":32,"value":7116},"🔗ERROR Pre-transform error: path should be a path.relative()d string, but got \"c:\u002Fproject\u002Ftest\u002Fplugin-vue:export-helper\" #25941",{"type":27,"tag":28,"props":7118,"children":7119},{},[7120],{"type":32,"value":7121},"という報告があがっていました。",{"type":27,"tag":35,"props":7123,"children":7124},{},[7125,7130],{"type":27,"tag":39,"props":7126,"children":7127},{},[7128],{"type":32,"value":7129},"nuxt.config.ts の modules に '@nuxt\u002Fdevtools',　を追加",{"type":27,"tag":39,"props":7131,"children":7132},{},[7133],{"type":32,"value":7134},"ターミナル（管理者）つまり PowerShell を 起動して実行",{"type":27,"tag":28,"props":7136,"children":7137},{},[7138],{"type":32,"value":7139},"で、とりあえずエラーは消えました。",{"type":27,"tag":74,"props":7141,"children":7143},{"id":7142},"pyramidcycle",[],{"type":27,"tag":138,"props":7145,"children":7147},{"id":7146},"振り返り持続可能なブログ作り-のため-学び作り続けよう",[7148],{"type":32,"value":7149},"【振り返り】持続可能なブログ作り のため 学び・作り続けよう",{"type":27,"tag":28,"props":7151,"children":7152},{},[7153],{"type":32,"value":7154},"　「今動いているシステムをバージョンアップするだけだから、一から作るより楽だろう」という考えは甘すぎました。",{"type":27,"tag":28,"props":7156,"children":7157},{},[7158],{"type":32,"value":7159},"　持続可能なシステムとは、「ピラミッドのように堅固なもの」ではなく、「自転車のように動いているもの」だと知りました。",{"type":27,"tag":28,"props":7161,"children":7162},{},[7163],{"type":32,"value":7164},"　世界は常に変化しています。完璧に見えるピラミッドも風化していきます。状況に対応しながら走り続ける自転車でありたいものです。そのためには、「学ぶ」「作る」というペダルをこぎ続けるしかありません。",{"type":27,"tag":87,"props":7166,"children":7170},{"src":7167,"alt":7168,"className":7169},"\u002Fimg\u002Fpyramidcycle.jpg","ピラミッドと自転車",[1792],[],{"type":27,"tag":28,"props":7172,"children":7173},{},[7174],{"type":32,"value":7175},"　今回、さまざまなエラーに苦しみながら実感したことは、「問題の切り分け」の大切さです。",{"type":27,"tag":35,"props":7177,"children":7178},{},[7179,7184,7189,7194,7199,7204],{"type":27,"tag":39,"props":7180,"children":7181},{},[7182],{"type":32,"value":7183},"JavaScript(Node.js) の仕様の問題",{"type":27,"tag":39,"props":7185,"children":7186},{},[7187],{"type":32,"value":7188},"Vue3 の仕様の問題",{"type":27,"tag":39,"props":7190,"children":7191},{},[7192],{"type":32,"value":7193},"Nuxt3 の仕様の問題",{"type":27,"tag":39,"props":7195,"children":7196},{},[7197],{"type":32,"value":7198},"NuxtContentV2 の仕様の問題",{"type":27,"tag":39,"props":7200,"children":7201},{},[7202],{"type":32,"value":7203},"GitHub, Cloudflare Pages の仕様の問題",{"type":27,"tag":39,"props":7205,"children":7206},{},[7207],{"type":32,"value":7208},"その他の問題",{"type":27,"tag":28,"props":7210,"children":7211},{},[7212],{"type":32,"value":7213},"、、、それぞれのレベルごとにバージョン間の互換性はあるので、新しいものが出たからといってすぐに移行しなくてもよさそうです。ただし、年代ごとに想定している環境があるので、ある程度そろえる必要があります。",{"type":27,"tag":28,"props":7215,"children":7216},{},[7217],{"type":32,"value":7218},"　例えば、JavaScriptの関数を定義する方法として、「function宣言」のほかに「アロー関数」が出てきました。現在、どちらも使用可能ですが、Vue2：function宣言 ⇒ Vue3：アロー関数 と移り変わっています。参考資料に出てくるコードを理解して利用するためには、古いやり方に固執してはいけません。逆に、新しい書き方を有効にするために、Node.js のバージョンを上げる必要も出てきます。",{"type":27,"tag":87,"props":7220,"children":7223},{"src":7221,"alt":7222,"width":91},"\u002Fimg\u002Fnuxt3dev.jpg","Nuxt3による開発",[],{"type":27,"tag":3829,"props":7225,"children":7227},{"id":7226},"ブログシステム移行で参考にした記事",[7228],{"type":32,"value":7226},{"type":27,"tag":35,"props":7230,"children":7231},{},[7232,7242,7252,7262,7272,7282,7292,7302,7312,7322],{"type":27,"tag":39,"props":7233,"children":7234},{},[7235],{"type":27,"tag":43,"props":7236,"children":7239},{"href":7237,"rel":7238},"https:\u002F\u002Fqiita.com\u002Ffruitriin\u002Fitems\u002F81691ce68cf3678f3bda",[986],[7240],{"type":32,"value":7241},"🔗Vue3の衰退を招いたのは＜script setup＞とCompositionAPIかもしれない という考察",{"type":27,"tag":39,"props":7243,"children":7244},{},[7245],{"type":27,"tag":43,"props":7246,"children":7249},{"href":7247,"rel":7248},"https:\u002F\u002Fzenn.dev\u002Fkata_n\u002Farticles\u002F6e5d57a15e96f5",[986],[7250],{"type":32,"value":7251},"🔗Vue2からVue3への変化と慣れていくためのTips",{"type":27,"tag":39,"props":7253,"children":7254},{},[7255],{"type":27,"tag":43,"props":7256,"children":7259},{"href":7257,"rel":7258},"https:\u002F\u002Freffect.co.jp\u002Fvue\u002Fnuxt3",[986],[7260],{"type":32,"value":7261},"🔗Nuxt 3を使いこなすために基礎から徹底解説",{"type":27,"tag":39,"props":7263,"children":7264},{},[7265],{"type":27,"tag":43,"props":7266,"children":7269},{"href":7267,"rel":7268},"https:\u002F\u002Fb1san-blog.com\u002Fpost\u002Fnuxt3\u002Fnuxt3-start\u002F",[986],[7270],{"type":32,"value":7271},"🔗【Nuxt 3】Nuxt 2と比較しながらはじめるNuxt 3",{"type":27,"tag":39,"props":7273,"children":7274},{},[7275],{"type":27,"tag":43,"props":7276,"children":7279},{"href":7277,"rel":7278},"https:\u002F\u002Fb1san-blog.com\u002Fpost\u002Fnuxt3\u002Fnuxt3-blog\u002F",[986],[7280],{"type":32,"value":7281},"🔗Nuxt 3 + Nuxt Content v2 による静的サイトの作成",{"type":27,"tag":39,"props":7283,"children":7284},{},[7285],{"type":27,"tag":43,"props":7286,"children":7289},{"href":7287,"rel":7288},"https:\u002F\u002Fwww.sejuku.net\u002Fblog\u002F21812",[986],[7290],{"type":32,"value":7291},"🔗【JavaScript入門】配列処理をするmap()の使い方とMapオブジェクトの解説！",{"type":27,"tag":39,"props":7293,"children":7294},{},[7295],{"type":27,"tag":43,"props":7296,"children":7299},{"href":7297,"rel":7298},"https:\u002F\u002Fqiita.com\u002Fazukiazusa\u002Fitems\u002Fb91046e9f1d618c67d7f",[986],[7300],{"type":32,"value":7301},"🔗【JavaScript】Null合体演算子と(??)とオプショナルチェイニング演算子(?.)",{"type":27,"tag":39,"props":7303,"children":7304},{},[7305],{"type":27,"tag":43,"props":7306,"children":7309},{"href":7307,"rel":7308},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fja\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FOperators\u002FDestructuring_assignment",[986],[7310],{"type":32,"value":7311},"🔗分割代入 - JavaScript | MDN",{"type":27,"tag":39,"props":7313,"children":7314},{},[7315],{"type":27,"tag":43,"props":7316,"children":7319},{"href":7317,"rel":7318},"https:\u002F\u002Fzenn.dev\u002Frivine\u002Farticles\u002F2023-06-23-deploy-hugo-to-cloudflare-pages",[986],[7320],{"type":32,"value":7321},"🔗【Cloudflare Pages】ブログを公開したい？...5分もあれば十分だ",{"type":27,"tag":39,"props":7323,"children":7324},{},[7325],{"type":27,"tag":43,"props":7326,"children":7329},{"href":7327,"rel":7328},"https:\u002F\u002Fwp-kyoto.net\u002Fdownload-cloudflare-pages-config-to-wrangler-toml\u002F",[986],[7330],{"type":32,"value":7331},"🔗Cloudflare Pagesの設定をwrangler.tomlに出力する",{"type":27,"tag":28,"props":7333,"children":7334},{},[7335],{"type":32,"value":7336},"、、、実際にやってみて、記事の時点とは状況が変わっていたものも多かったのですが、基本的な考え方は身につきました。",{"type":27,"tag":28,"props":7338,"children":7339},{},[7340],{"type":32,"value":7341},"　Vue2,Nuxt2 に慣れた人からすると「破壊的変更」かもしれませんが、Vue3,Nuxt3 になって「素のJavaScript」に近づいた感じがします。ネストが浅くすっきり書けるので、言われるほど悪くありません。それどころか、もっと新しい書き方を試してみたくなります。",{"type":27,"tag":74,"props":7343,"children":7344},{},[],{"type":27,"tag":3829,"props":7346,"children":7347},{"id":3831},[7348],{"type":32,"value":3831},{"type":27,"tag":28,"props":7350,"children":7351},{},[7352,7354,7359],{"type":32,"value":7353},"　自前のブログシステムなので、使っていきながら改良していきます（",{"type":27,"tag":55,"props":7355,"children":7356},{},[7357],{"type":32,"value":7358},"自転車操業",{"type":32,"value":7360},"になるかも？）。中身が全部わかっているというのは、安心です。",{"type":27,"tag":28,"props":7362,"children":7363},{},[7364],{"type":32,"value":3843},{"type":27,"tag":74,"props":7366,"children":7368},{"id":7367},"nuxtsite",[],{"type":27,"tag":145,"props":7370,"children":7372},{"className":7371},[2106],[7373,7374,7387,7388],{"type":32,"value":2109},{"type":27,"tag":145,"props":7375,"children":7377},{"className":7376},[2113],[7378],{"type":27,"tag":43,"props":7379,"children":7382},{"target":2117,"rel":7380,"href":7381},[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0B5N8QJ2Y",[7383],{"type":27,"tag":87,"props":7384,"children":7386},{"src":7385},"https:\u002F\u002Fimages-fe.ssl-images-amazon.com\u002Fimages\u002FI\u002F418GAr5ISQL._SL160_.jpg",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":7389,"children":7391},{"className":7390},[2130],[7392,7393,7403,7404,7423,7424,7439],{"type":32,"value":2133},{"type":27,"tag":145,"props":7394,"children":7396},{"className":7395},[2137],[7397],{"type":27,"tag":43,"props":7398,"children":7400},{"target":2117,"rel":7399,"href":7381},[2119],[7401],{"type":32,"value":7402},"はじめてつくるNuxtサイト: 最新Nuxtの基礎と使い方をしっかりマスターできる！",{"type":32,"value":2133},{"type":27,"tag":145,"props":7405,"children":7407},{"className":7406},[2149],[7408,7411,7413,7416,7418,7421],{"type":27,"tag":74,"props":7409,"children":7410},{},[],{"type":32,"value":7412},"※ タイトルと価格だけ見ると、Nuxt2の運用経験のあるハダノには不要な本なのかと思いました。",{"type":27,"tag":74,"props":7414,"children":7415},{},[],{"type":32,"value":7417},"実際に購入してみると、Nuxt3ブログの具体的な作り方が過不足なく載っていて、非常に参考になりました。",{"type":27,"tag":74,"props":7419,"children":7420},{},[],{"type":32,"value":7422},"Nuxt3の本は多くないので、貴重な存在です。",{"type":32,"value":2133},{"type":27,"tag":145,"props":7425,"children":7427},{"className":7426},[2170,5828],[7428,7429,7438],{"type":32,"value":2188},{"type":27,"tag":145,"props":7430,"children":7431},{},[7432],{"type":27,"tag":43,"props":7433,"children":7436},{"className":7434,"target":2117,"rel":7435,"href":7381},[2181,2195],[2119],[7437],{"type":32,"value":2200},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":7441,"children":7442},{"id":3846},[],{"type":27,"tag":145,"props":7444,"children":7446},{"className":7445},[2106],[7447,7448,7461,7462],{"type":32,"value":2109},{"type":27,"tag":145,"props":7449,"children":7451},{"className":7450},[2113],[7452],{"type":27,"tag":43,"props":7453,"children":7456},{"target":2117,"rel":7454,"href":7455},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F26ba9fc2.c2fdf85a.26ba9fc3.8edde063\u002F_RTLink57027?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F17815167%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[7457],{"type":27,"tag":87,"props":7458,"children":7460},{"src":7459},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F0546\u002F4910071890546_1_2.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":7463,"children":7465},{"className":7464},[2130],[7466,7467,7477,7478,7496,7497,7534],{"type":32,"value":2133},{"type":27,"tag":145,"props":7468,"children":7470},{"className":7469},[2137],[7471],{"type":27,"tag":43,"props":7472,"children":7474},{"target":2117,"rel":7473,"href":7455},[2119],[7475],{"type":32,"value":7476},"日経ソフトウエア 2024年 5月号 [雑誌]",{"type":32,"value":2133},{"type":27,"tag":145,"props":7479,"children":7481},{"className":7480},[2149],[7482,7485,7486,7489,7491,7494],{"type":27,"tag":74,"props":7483,"children":7484},{},[],{"type":32,"value":3891},{"type":27,"tag":74,"props":7487,"children":7488},{},[],{"type":32,"value":7490},"流行をおさえているので、最近はPythonの記事が多めですが、3月号と5月号にはJavaScriptの特集がありました。",{"type":27,"tag":74,"props":7492,"children":7493},{},[],{"type":32,"value":7495},"アロー関数・Mapオブジェクト・スプレッド構文などの解説には目を開かされました。",{"type":32,"value":2133},{"type":27,"tag":145,"props":7498,"children":7500},{"className":7499},[2170,2171],[7501,7502,7511,7512,7522,7523,7533],{"type":32,"value":2174},{"type":27,"tag":145,"props":7503,"children":7504},{},[7505],{"type":27,"tag":43,"props":7506,"children":7509},{"className":7507,"target":2117,"rel":7508,"href":7455},[2181,2182],[2119],[7510],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":7513,"children":7514},{},[7515],{"type":27,"tag":43,"props":7516,"children":7520},{"className":7517,"target":2117,"rel":7518,"href":7519},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0CX5BD7TT",[7521],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":7524,"children":7525},{},[7526],{"type":27,"tag":43,"props":7527,"children":7531},{"className":7528,"target":2117,"rel":7529,"href":7530},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fneowing%2Fneobk-2957123.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-title",[7532],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":7536,"children":7537},{},[],{"type":27,"tag":328,"props":7539,"children":7540},{},[],{"type":27,"tag":28,"props":7542,"children":7543},{},[7544],{"type":27,"tag":43,"props":7545,"children":7546},{"href":6384},[7547],{"type":32,"value":7548},"←前へ　Nuxt+Content+Cloudflareで無料でブログを作ってみた",{"type":27,"tag":28,"props":7550,"children":7551},{},[7552],{"type":27,"tag":43,"props":7553,"children":7554},{"href":45},[7555],{"type":32,"value":7556},"次へ→　ブログのコード修正",{"title":8,"searchDepth":2518,"depth":2518,"links":7558},[7559],{"id":6394,"depth":2518,"text":6364,"children":7560},[7561,7562,7563,7564,7565,7566,7567],{"id":6408,"depth":2523,"text":6411},{"id":6508,"depth":2523,"text":6511},{"id":6620,"depth":2523,"text":6623},{"id":6694,"depth":2523,"text":6694},{"id":6843,"depth":2523,"text":6843},{"id":7084,"depth":2523,"text":7087},{"id":7146,"depth":2523,"text":7149},"content:articles:blog-2.md","articles\u002Fblog-2.md","articles\u002Fblog-2",{"_path":7572,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7573,"description":7574,"category":7575,"tag":7577,"thumbnail":7580,"createdAt":7581,"updatedAt":7582,"body":7583,"_type":2532,"_id":8816,"_source":2534,"_file":8817,"_stem":8818,"_extension":2537},"\u002Farticles\u002Fai-keep2macro","AIツールでスイスイ仕事術【Keepとマクロでくじチェック】","Keepで読み取ったくじの当たり判定を表計算マクロを組んでやってみた",[7576],"work-system",[14,2543,7578,15,18,7579],"dx","rpa","keep2macro.jpg","2024\u002F1\u002F26","2024\u002F2\u002F6",{"type":24,"children":7584,"toc":8804},[7585,7590,7595,7600,7603,7607,7612,7615,7621,7626,7631,7643,7648,7651,7657,7662,7685,7691,7696,7699,7704,7709,7718,7723,7728,7734,7739,7744,7750,7755,7758,7763,7768,7801,7815,7818,7823,7828,7857,7860,7865,7870,7875,7880,7885,7890,7893,7899,7904,7909,7912,7939,7942,7947,7980,7985,7990,8011,8015,8020,8025,8029,8033,8036,8042,8047,8060,8065,8068,8073,8078,8083,8096,8101,8111,8116,8120,8125,8133,8146,8158,8163,8240,8245,8257,8260,8266,8271,8276,8299,8304,8309,8314,8319,8324,8329,8334,8339,8344,8349,8358,8363,8368,8373,8378,8383,8402,8405,8410,8421,8424,8430,8442,8455,8460,8465,8468,8473,8478,8483,8488,8501,8504,8509,8545,8550,8562,8565,8576,8582,8587,8592,8595,8599,8692,8696,8789,8792,8795],{"type":27,"tag":28,"props":7586,"children":7587},{},[7588],{"type":32,"value":7589},"　DX（データとデジタルによる変革）のうち特に重要なのは、AIによる意思決定・アクションです。ゆくゆくはAIによる業務自動化で人手不足が解消され、人はより本質的な仕事に集中できるでしょう。これこそが、真の働き方改革です。",{"type":27,"tag":28,"props":7591,"children":7592},{},[7593],{"type":32,"value":7594},"　「でも、AIなんて難しくて私には無理」とあきらめてはいませんか。どんな技術も「作る」のに比べて、「使う」だけならはるかに簡単です。高度なAI技術を手軽に使えるようにしたAIツールがたくさん出てきました。知らないうちに、手に届くところに来ているのです。",{"type":27,"tag":28,"props":7596,"children":7597},{},[7598],{"type":32,"value":7599},"　そんなAIツールを「ふだん使い」して、スイスイ仕事しましょう。",{"type":27,"tag":74,"props":7601,"children":7602},{},[],{"type":27,"tag":28,"props":7604,"children":7605},{},[7606],{"type":32,"value":4035},{"type":27,"tag":78,"props":7608,"children":7610},{"id":7609},"keepで読み取ったくじの当たり判定を表計算マクロを組んでやってみた",[7611],{"type":32,"value":7574},{"type":27,"tag":74,"props":7613,"children":7614},{},[],{"type":27,"tag":138,"props":7616,"children":7618},{"id":7617},"あーめんどくさいくじの当たり判定",[7619],{"type":32,"value":7620},"「あーめんどくさい」くじの当たり判定",{"type":27,"tag":28,"props":7622,"children":7623},{},[7624],{"type":32,"value":7625},"　くじは「もしかして当たるかな？」とわくわくします。しかし、鈴木アナでなくても「あーめんどくさい」となるのが当たり判定。当選番号が発表されても照合が面倒で、ついそのままにしがちです。",{"type":27,"tag":87,"props":7627,"children":7630},{"src":7628,"alt":7620,"className":7629},"\u002Fimg\u002Fmendokusai01.jpg",[1451],[],{"type":27,"tag":28,"props":7632,"children":7633},{},[7634,7635,7641],{"type":32,"value":709},{"type":27,"tag":43,"props":7636,"children":7638},{"href":7637},"\u002Farticles\u002Fai-keep#extracttext",[7639],{"type":32,"value":7640},"🔗GoogleのAI技術は無料で使える",{"type":32,"value":7642}," でも紹介したように、Google Keep で「画像のテキストを抽出」ができます。",{"type":27,"tag":28,"props":7644,"children":7645},{},[7646],{"type":32,"value":7647},"　一つひとつ手で入力しなくてもくじ番号が手に入るので、あとは当選番号が含まれているか検索するだけです。表計算ソフトを使うといいでしょう。",{"type":27,"tag":74,"props":7649,"children":7650},{},[],{"type":27,"tag":138,"props":7652,"children":7654},{"id":7653},"くじの写真から-google-keep-で番号を抽出",[7655],{"type":32,"value":7656},"くじの写真から Google Keep で番号を抽出",{"type":27,"tag":28,"props":7658,"children":7659},{},[7660],{"type":32,"value":7661},"　まず、市商工会のドリームくじです。",{"type":27,"tag":35,"props":7663,"children":7664},{},[7665,7670,7675,7680],{"type":27,"tag":39,"props":7666,"children":7667},{},[7668],{"type":32,"value":7669},"くじ番号が一覧できるように重ねてスマホで撮影",{"type":27,"tag":39,"props":7671,"children":7672},{},[7673],{"type":32,"value":7674},"トリミングした画像をKeepのメモに追加",{"type":27,"tag":39,"props":7676,"children":7677},{},[7678],{"type":32,"value":7679},"「画像のテキストを抽出」し、くじ番号を縦一列に整える",{"type":27,"tag":39,"props":7681,"children":7682},{},[7683],{"type":32,"value":7684},"くじ番号をコピーし、表計算ソフトに貼り付ける",{"type":27,"tag":87,"props":7686,"children":7690},{"src":7687,"alt":7688,"className":7689},"\u002Fimg\u002Fdreamlotex.jpg","ドリームくじからKeepで番号を抽出",[1792],[],{"type":27,"tag":28,"props":7692,"children":7693},{},[7694],{"type":32,"value":7695},"、、、これは、楽勝でした。",{"type":27,"tag":74,"props":7697,"children":7698},{},[],{"type":27,"tag":28,"props":7700,"children":7701},{},[7702],{"type":32,"value":7703},"　次は、お年玉付き年賀状です。",{"type":27,"tag":28,"props":7705,"children":7706},{},[7707],{"type":32,"value":7708},"　以前、スマホのカメラでスキャンし、テキストを抽出しようと試みましたが、",{"type":27,"tag":28,"props":7710,"children":7711},{},[7712],{"type":27,"tag":527,"props":7713,"children":7715},{"className":7714},[],[7716],{"type":32,"value":7717},"…　 217617 -2024 2019 361139 0628T6 069T28 403327 LT8898 906E18 　…",{"type":27,"tag":28,"props":7719,"children":7720},{},[7721],{"type":32,"value":7722},"、、、となってしまい、実用に耐えません。複製防止の網掛けに惑わされるようです。",{"type":27,"tag":28,"props":7724,"children":7725},{},[7726],{"type":32,"value":7727},"　フォトレタッチの「カラーチェンジャー」機能で網掛けを目立たなく加工したうえで、Keepで抽出すると、",{"type":27,"tag":87,"props":7729,"children":7733},{"src":7730,"alt":7731,"className":7732},"\u002Fimg\u002Fotoshidamayex.jpg","お年玉付き年賀状（黄変）からKeepで番号を抽出",[1873],[],{"type":27,"tag":28,"props":7735,"children":7736},{},[7737],{"type":32,"value":7738},"、、、うまくいきます。",{"type":27,"tag":28,"props":7740,"children":7741},{},[7742],{"type":32,"value":7743},"　「ひょっとして、そのままでも大丈夫かも」と、加工せずにKeepで抽出すると、",{"type":27,"tag":87,"props":7745,"children":7749},{"src":7746,"alt":7747,"className":7748},"\u002Fimg\u002Fotoshidama1ex.jpg","お年玉付き年賀状からKeepで番号を抽出",[1451],[],{"type":27,"tag":28,"props":7751,"children":7752},{},[7753],{"type":32,"value":7754},"、、、ほぼうまくいきました。さすが、GoogleのAIツールです。",{"type":27,"tag":74,"props":7756,"children":7757},{},[],{"type":27,"tag":138,"props":7759,"children":7761},{"id":7760},"エクセルであいまい検索",[7762],{"type":32,"value":7760},{"type":27,"tag":28,"props":7764,"children":7765},{},[7766],{"type":32,"value":7767},"　表計算ソフトといえば、Microsoft Excel です。",{"type":27,"tag":35,"props":7769,"children":7770},{},[7771,7776,7781,7786,7791,7796],{"type":27,"tag":39,"props":7772,"children":7773},{},[7774],{"type":32,"value":7775},"A列に、くじの通し番号",{"type":27,"tag":39,"props":7777,"children":7778},{},[7779],{"type":32,"value":7780},"B列に、くじ番号",{"type":27,"tag":39,"props":7782,"children":7783},{},[7784],{"type":32,"value":7785},"C列に、当たりの表示",{"type":27,"tag":39,"props":7787,"children":7788},{},[7789],{"type":32,"value":7790},"D列に、賞の等級",{"type":27,"tag":39,"props":7792,"children":7793},{},[7794],{"type":32,"value":7795},"E列に、当選番号",{"type":27,"tag":39,"props":7797,"children":7798},{},[7799],{"type":32,"value":7800},"F1セルに、検索したい当選番号\nをセットすることにします。",{"type":27,"tag":28,"props":7802,"children":7803},{},[7804,7806,7813],{"type":32,"value":7805},"　A列はもちろん、B列でも連番の部分の入力は ",{"type":27,"tag":43,"props":7807,"children":7810},{"href":7808,"rel":7809},"https:\u002F\u002Fexceljoshi.cocoo.co.jp\u002Fmedia\u002Fexcel-autofill",[986],[7811],{"type":32,"value":7812},"🔗「オートフィル」",{"type":32,"value":7814}," で楽ができます。くじ番号・当選番号は0から始まる場合もあるので、セルの表示形式をテキスト（文字列）に書式設定しておきます。",{"type":27,"tag":74,"props":7816,"children":7817},{},[],{"type":27,"tag":28,"props":7819,"children":7820},{},[7821],{"type":32,"value":7822},"　これで、必ず同じ6桁同士で比較できますが、問題は下4桁などの当選番号のあつかいです。1桁目と2桁目はなんでもよくて、残りの4桁の数字が一致するものを探すことを「あいまい検索」といいます。",{"type":27,"tag":28,"props":7824,"children":7825},{},[7826],{"type":32,"value":7827},"　あいまい検索は、エクセルでは「ワイルドカード」、Googleスプレッドシート では（その上位版の）「正規表現」を使います。",{"type":27,"tag":28,"props":7829,"children":7830},{},[7831,7833,7839,7841,7847,7849,7855],{"type":32,"value":7832},"　6桁の下4桁が",{"type":27,"tag":527,"props":7834,"children":7836},{"className":7835},[],[7837],{"type":32,"value":7838},"　1879　",{"type":32,"value":7840},"なら、ワイルドカードでは",{"type":27,"tag":527,"props":7842,"children":7844},{"className":7843},[],[7845],{"type":32,"value":7846},"　??1879　",{"type":32,"value":7848},"、正規表現では",{"type":27,"tag":527,"props":7850,"children":7852},{"className":7851},[],[7853],{"type":32,"value":7854},"　\\d\\d1879　",{"type":32,"value":7856},"となります。",{"type":27,"tag":74,"props":7858,"children":7859},{},[],{"type":27,"tag":138,"props":7861,"children":7863},{"id":7862},"検索自動化の願い",[7864],{"type":32,"value":7862},{"type":27,"tag":28,"props":7866,"children":7867},{},[7868],{"type":32,"value":7869},"　エクセルで検索すれば、手作業より正確だし楽にはなります。でももし、検索を自動でやってくれたら、比較対象が多くても安心です。",{"type":27,"tag":28,"props":7871,"children":7872},{},[7873],{"type":32,"value":7874},"　この「検索自動化の願い」を魔法使いに預けてもかなえてくれません。エクセルには、操作を記録して再生する「マクロ機能」があるのです。",{"type":27,"tag":28,"props":7876,"children":7877},{},[7878],{"type":32,"value":7879},"　たとえて言えば、絵をかくのが苦手な人のために「なぞりがきをしたら、えかきうたを作ってくれる」ような機能です。",{"type":27,"tag":87,"props":7881,"children":7884},{"src":7882,"alt":7883,"width":91},"\u002Fimg\u002Fmacro1reccode.svg","マクロ記録されたコード",[],{"type":27,"tag":28,"props":7886,"children":7887},{},[7888],{"type":32,"value":7889},"　エクセルの場合は、操作を VBA（Visual Basic for Applications）というプログラミング言語で記録してくれます。プログラミング未経験でも、勝手にVBAに変換してくれ、切り貼りだけで一応動くマクロができます。プログラミング入門にもぴったりです。ハダノも エクセル用VBA から 汎用VB へとステップアップしてきました。",{"type":27,"tag":74,"props":7891,"children":7892},{},[],{"type":27,"tag":138,"props":7894,"children":7896},{"id":7895},"明日のためこの願い-あきらめることはない",[7897],{"type":32,"value":7898},"明日のため、この願い あきらめることはない",{"type":27,"tag":28,"props":7900,"children":7901},{},[7902],{"type":32,"value":7903},"　くじの当たり判定が1回だけなら、わざわざプログラミングする必要はないかもしれません。しかし、「またやりたい」と願うのなら、プログラミングする価値はあります。",{"type":27,"tag":28,"props":7905,"children":7906},{},[7907],{"type":32,"value":7908},"　「魔法使い」ではなく、「マクロ使い」になりましょう。",{"type":27,"tag":74,"props":7910,"children":7911},{},[],{"type":27,"tag":28,"props":7913,"children":7914},{},[7915,7917,7923,7925,7930,7932,7938],{"type":32,"value":7916},"　魔導書に相当する「VBA本」は山ほど出版されていて、だれでも習得できます。ハダノが最後に買ったのは、",{"type":27,"tag":43,"props":7918,"children":7920},{"href":7919},"#excel1sec",[7921],{"type":32,"value":7922},"🔗「たった1秒で仕事が片づくExcel自動化の教科書」",{"type":32,"value":7924}," です。市内全教職員用の",{"type":27,"tag":55,"props":7926,"children":7927},{},[7928],{"type":32,"value":7929},"勤務時間システム",{"type":32,"value":7931},"を開発したときもこれが役に立ちました。　→ ",{"type":27,"tag":43,"props":7933,"children":7935},{"href":7934},"\u002Farticles\u002Fwork-system-report2018-1#whas",[7936],{"type":32,"value":7937},"🔗「勤務時間取得ツール」を核とする勤務時間システム",{"type":32,"value":709},{"type":27,"tag":74,"props":7940,"children":7941},{},[],{"type":27,"tag":28,"props":7943,"children":7944},{},[7945],{"type":32,"value":7946},"　「マクロの記録」で作られたコードに少し手を加えてみました。",{"type":27,"tag":35,"props":7948,"children":7949},{},[7950,7955,7960,7965,7970,7975],{"type":27,"tag":39,"props":7951,"children":7952},{},[7953],{"type":32,"value":7954},"当選番号の検索をしてヒットしたら、「○等 が当たりました！」とダイアログで表示",{"type":27,"tag":39,"props":7956,"children":7957},{},[7958],{"type":32,"value":7959},"当たった等級をC列にコピー",{"type":27,"tag":39,"props":7961,"children":7962},{},[7963],{"type":32,"value":7964},"「次を検索」を繰り返し、当たり等級すべてをC列にコピーし終えたら、次の当選番号へ",{"type":27,"tag":39,"props":7966,"children":7967},{},[7968],{"type":32,"value":7969},"同じ等級の当選番号が終わったら、「○等 チェック完了」と表示",{"type":27,"tag":39,"props":7971,"children":7972},{},[7973],{"type":32,"value":7974},"OK で次の等級へ、Cancel でプログラム中断",{"type":27,"tag":39,"props":7976,"children":7977},{},[7978],{"type":32,"value":7979},"すべてチェックし終えたら、その旨を表示して終了",{"type":27,"tag":87,"props":7981,"children":7984},{"src":7982,"alt":7983,"width":91},"\u002Fimg\u002Fmacro1vbacode.svg","マクロ記録に修正を加えたVBAコード",[],{"type":27,"tag":28,"props":7986,"children":7987},{},[7988],{"type":32,"value":7989},"、、、たったこれだけのコードで、まあまあ実用的なマクロになりました。",{"type":27,"tag":28,"props":7991,"children":7992},{},[7993,7995,8001,8003,8009],{"type":32,"value":7994},"　「全部で何本当たったのか」については、C1 セルに ",{"type":27,"tag":527,"props":7996,"children":7998},{"className":7997},[],[7999],{"type":32,"value":8000},"=COUNTA(C2:C1048576)",{"type":32,"value":8002}," という関数式を設定し、セルの書式設定 - 表示形式 - ユーザー定義 で ",{"type":27,"tag":527,"props":8004,"children":8006},{"className":8005},[],[8007],{"type":32,"value":8008},"0\"本 当たり\"",{"type":32,"value":8010}," とすることで、リアルタイムに確認できるようにしました。なんでもかんでもマクロではなく、適材適所がいいでしょう。",{"type":27,"tag":87,"props":8012,"children":8014},{"src":8013,"alt":8,"width":91},"\u002Fimg\u002Fkujicounta.jpg",[],{"type":27,"tag":28,"props":8016,"children":8017},{},[8018],{"type":32,"value":8019},"　ハダノ家のドリームくじと自分の年賀状は、残念ながら当たりが0本でした（動作確認のため、ダミーデータを末尾に追加……）。",{"type":27,"tag":28,"props":8021,"children":8022},{},[8023],{"type":32,"value":8024},"　父の年賀状は、6本当たっていました。あとは、C列の当たり表示を確認してふせんをはるだけです。B列のくじ番号は撮影時の「左→右」「上→下」の順に並んでいるので、A列の通し番号を見れば位置がわかります。",{"type":27,"tag":87,"props":8026,"children":8028},{"src":8027,"alt":8,"width":91},"\u002Fimg\u002Fotoshidamar6.jpg",[],{"type":27,"tag":74,"props":8030,"children":8032},{"id":8031},"ipadmacro",[],{"type":27,"tag":74,"props":8034,"children":8035},{},[],{"type":27,"tag":138,"props":8037,"children":8039},{"id":8038},"ipadでマクロを動かしたい",[8040],{"type":32,"value":8041},"iPadでマクロを動かしたい",{"type":27,"tag":28,"props":8043,"children":8044},{},[8045],{"type":32,"value":8046},"　PCで、「くじの当たり判定」ができるようになりました。そうなると、iPadでもできそうな気がしますが、そうは問屋がおろさないのが現実です。",{"type":27,"tag":35,"props":8048,"children":8049},{},[8050],{"type":27,"tag":39,"props":8051,"children":8052},{},[8053],{"type":27,"tag":43,"props":8054,"children":8057},{"href":8055,"rel":8056},"https:\u002F\u002Fwww.mechengjp.com\u002Fipad%E7%89%88excel%E3%81%A7%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%AB%E5%AE%9F%E8%A1%8C%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B%EF%BC%9F%E7%AD%86%E8%80%85%E3%81%8C\u002F",[986],[8058],{"type":32,"value":8059},"🔗iPad版excelでマクロは本当に実行出来ないのか？筆者が調査してみた結果まとめ",{"type":27,"tag":28,"props":8061,"children":8062},{},[8063],{"type":32,"value":8064},"にあるように、iPadではVBAマクロが動きません。せっかく作ったのに残念です。",{"type":27,"tag":74,"props":8066,"children":8067},{},[],{"type":27,"tag":28,"props":8069,"children":8070},{},[8071],{"type":32,"value":8072},"　あきらめたくなければ、エクセルのかわりに Googleスプレッドシート を使うしかありません。Google Apps Script（GAS）という、ExcelのVBAと同等のマクロ言語があります。",{"type":27,"tag":28,"props":8074,"children":8075},{},[8076],{"type":32,"value":8077},"　エクセルのファイルをGoogleドライブに入れて、Googleスプレッドシート で開くと、表の見た目・セルの書式・関数式などほとんどそのまま変換されます。高い互換性があります。",{"type":27,"tag":28,"props":8079,"children":8080},{},[8081],{"type":32,"value":8082},"　ただ、マクロに関してはベースとなっているプログラミング言語が違うので、そのままでは動きません。",{"type":27,"tag":35,"props":8084,"children":8085},{},[8086,8091],{"type":27,"tag":39,"props":8087,"children":8088},{},[8089],{"type":32,"value":8090},"エクセルの VBA　……　Basic系",{"type":27,"tag":39,"props":8092,"children":8093},{},[8094],{"type":32,"value":8095},"スプレッドシートの GAS　……　JavaScript系",{"type":27,"tag":28,"props":8097,"children":8098},{},[8099],{"type":32,"value":8100},"　ドイツ語と英語ぐらいの違いなので、少しがんばれば何とかなりそうです。",{"type":27,"tag":28,"props":8102,"children":8103},{"style":63},[8104,8105],{"type":32,"value":66},{"type":27,"tag":43,"props":8106,"children":8108},{"href":8107},"https:\u002F\u002Fwww.teijitaisya.com\u002Fgas-vba-spreadsheet\u002F",[8109],{"type":32,"value":8110}," 🔗Excel VBAとGAS（スプレッドシート）の構文を比較してみた！！",{"type":27,"tag":28,"props":8112,"children":8113},{},[8114],{"type":32,"value":8115},"　まず、エクセルのときと同じように「マクロを記録」してみます。",{"type":27,"tag":87,"props":8117,"children":8119},{"src":8118,"alt":7883,"width":91},"\u002Fimg\u002Fkujimacrorec.svg",[],{"type":27,"tag":28,"props":8121,"children":8122},{},[8123],{"type":32,"value":8124},"　あれれ、検索途中の操作が記録されていません。これは、スプレッドシートの仕様とのことです。",{"type":27,"tag":35,"props":8126,"children":8127},{},[8128],{"type":27,"tag":39,"props":8129,"children":8130},{},[8131],{"type":32,"value":8132},"🔗Googleスプレッドシート 検索と置換を使いこなそう！4（GAS TextFinderで 改行置換）",{"type":27,"tag":28,"props":8134,"children":8135},{},[8136,8138,8144],{"type":32,"value":8137},"をよく読むと、",{"type":27,"tag":527,"props":8139,"children":8141},{"className":8140},[],[8142],{"type":32,"value":8143},"TextFinder",{"type":32,"value":8145}," を使いこなすことで、AIが提案するコード以上のものが書けるようです。",{"type":27,"tag":28,"props":8147,"children":8148},{},[8149,8150,8156],{"type":32,"value":709},{"type":27,"tag":43,"props":8151,"children":8153},{"href":8152},"#gasintro",[8154],{"type":32,"value":8155},"🔗「詳解! Google Apps Script完全入門」",{"type":32,"value":8157}," を参考に、「くじ当たり判定マクロ」をVBAからGASへ移植してみました。",{"type":27,"tag":87,"props":8159,"children":8162},{"src":8160,"alt":8161,"width":91},"\u002Fimg\u002Fkujimacrogas.svg","VBAマクロから移植されたGASコード",[],{"type":27,"tag":35,"props":8164,"children":8165},{},[8166,8187,8206,8227],{"type":27,"tag":39,"props":8167,"children":8168},{},[8169,8171,8177,8179,8185],{"type":32,"value":8170},"正規表現を使うときは、",{"type":27,"tag":527,"props":8172,"children":8174},{"className":8173},[],[8175],{"type":32,"value":8176},".useRegularExpression()",{"type":32,"value":8178}," に引数 ",{"type":27,"tag":527,"props":8180,"children":8182},{"className":8181},[],[8183],{"type":32,"value":8184},"true",{"type":32,"value":8186}," を入れる",{"type":27,"tag":39,"props":8188,"children":8189},{},[8190,8196,8198,8204],{"type":27,"tag":527,"props":8191,"children":8193},{"className":8192},[],[8194],{"type":32,"value":8195},".findAll()",{"type":32,"value":8197}," で「全て検索」し、配列にはいったものを ",{"type":27,"tag":527,"props":8199,"children":8201},{"className":8200},[],[8202],{"type":32,"value":8203},"for ～ of",{"type":32,"value":8205}," で回す",{"type":27,"tag":39,"props":8207,"children":8208},{},[8209,8211,8217,8219,8225],{"type":32,"value":8210},"スプレッドシート独自の ",{"type":27,"tag":527,"props":8212,"children":8214},{"className":8213},[],[8215],{"type":32,"value":8216},"Browser.msgBox",{"type":32,"value":8218}," ではなく、汎用的な ",{"type":27,"tag":527,"props":8220,"children":8222},{"className":8221},[],[8223],{"type":32,"value":8224},"ui.alert",{"type":32,"value":8226}," を使う",{"type":27,"tag":39,"props":8228,"children":8229},{},[8230,8232,8238],{"type":32,"value":8231},"ループ中断は、",{"type":27,"tag":527,"props":8233,"children":8235},{"className":8234},[],[8236],{"type":32,"value":8237},"break outerLoop;",{"type":32,"value":8239}," のようにラベルを指定する",{"type":27,"tag":28,"props":8241,"children":8242},{},[8243],{"type":32,"value":8244},"、、、という点に気をつけ、VBA版とほとんど同じように動くGAS版マクロを作りました。",{"type":27,"tag":28,"props":8246,"children":8247},{},[8248,8250],{"type":32,"value":8249},"　キーボードが使えないケースも考え、「実行ボタン」 にマクロを割り当てておきます。　→ ",{"type":27,"tag":43,"props":8251,"children":8254},{"href":8252,"rel":8253},"https:\u002F\u002Funcle-gas.com\u002Fspreadsheet-gas-4-method\u002F#toc3",[986],[8255],{"type":32,"value":8256},"🔗スプレッドシート上でGASを実行する方法",{"type":27,"tag":74,"props":8258,"children":8259},{},[],{"type":27,"tag":138,"props":8261,"children":8263},{"id":8262},"ipadでマクロを動かすときはブラウザで",[8264],{"type":32,"value":8265},"iPadでマクロを動かすときはブラウザで",{"type":27,"tag":28,"props":8267,"children":8268},{},[8269],{"type":32,"value":8270},"　さっそくiPadでマクロを動かしたいところですが、実はここに落とし穴があります。スプレッドシートファイルは、SafariやChromeなどのブラウザ でも 「スプレッドシート」アプリでも開けますが、マクロはアプリでは機能しないのです。 → 🔗iPadやiPhoneでGoogle spreadsheetのapp scriptを使用する方法",{"type":27,"tag":28,"props":8272,"children":8273},{},[8274],{"type":32,"value":8275},"　ブラウザで開くしかないのですが、油断しているとアプリに誘導されてしまいます。スプレッドシートファイルへのリンクを長押ししたり、┇(3点リーダ)をタップしたりして、、、",{"type":27,"tag":35,"props":8277,"children":8278},{},[8279,8284,8289,8294],{"type":27,"tag":39,"props":8280,"children":8281},{},[8282],{"type":32,"value":8283},"新しいタブで開く",{"type":27,"tag":39,"props":8285,"children":8286},{},[8287],{"type":32,"value":8288},"新規ウインドウで開く",{"type":27,"tag":39,"props":8290,"children":8291},{},[8292],{"type":32,"value":8293},"PC版サイトを見る",{"type":27,"tag":39,"props":8295,"children":8296},{},[8297],{"type":32,"value":8298},"デスクトップサイトを表示",{"type":27,"tag":28,"props":8300,"children":8301},{},[8302],{"type":32,"value":8303},"などを選択して、何とかマクロを動かせる状態にする必要があるのです。",{"type":27,"tag":87,"props":8305,"children":8308},{"src":8306,"alt":8307,"width":91},"\u002Fimg\u002Fopenbybrowser.jpg","ブラウザで開く方法",[],{"type":27,"tag":28,"props":8310,"children":8311},{},[8312],{"type":32,"value":8313},"　自分のものでないファイルを開いている場合は、ファイル - コピーを作成 で実行前にコピーを作っておきましょう。そちらを開けば、好きにいじれます。自分のデータに書き換えて実行させても安全です。",{"type":27,"tag":87,"props":8315,"children":8318},{"src":8316,"alt":8317,"width":91},"\u002Fimg\u002Fkujicopy.jpg","マクロ実行前にコピーを作成",[],{"type":27,"tag":28,"props":8320,"children":8321},{},[8322],{"type":32,"value":8323},"　「実行ボタン」を押すとマクロが実行されますが、初回だけ認証を求められます。",{"type":27,"tag":87,"props":8325,"children":8328},{"src":8326,"alt":8327,"width":91},"\u002Fimg\u002Fmacroauth.jpg","マクロ実行の認証",[],{"type":27,"tag":28,"props":8330,"children":8331},{},[8332],{"type":32,"value":8333},"　表計算ソフトの場合、セルをタップすると キーボード が表示されますが、大きくてじゃまです。",{"type":27,"tag":28,"props":8335,"children":8336},{},[8337],{"type":32,"value":8338},"　右下のキーボードアイコンを長押しし、フローティング を選択しておきましょう。小さくて移動可能なキーボードに変わります。ピンチアウトすれば、元に戻ります。",{"type":27,"tag":87,"props":8340,"children":8343},{"src":8341,"alt":8342,"width":91},"\u002Fimg\u002Ffloatkb.jpg","フローティングキーボード",[],{"type":27,"tag":28,"props":8345,"children":8346},{},[8347],{"type":32,"value":8348},"　新たなデータで実行したいときは、シート名の右の ▼ をタップ - コピーを作成 でシートのコピーを作ってから、くじ番号などを入れ替えましょう。新しく作ったシートでもマクロは同じように動きます。",{"type":27,"tag":28,"props":8350,"children":8351},{},[8352,8357],{"type":27,"tag":87,"props":8353,"children":8356},{"src":8354,"alt":8355,"width":91},"\u002Fimg\u002Fsheetcopy.jpg","シートのコピーを作成",[],{"type":32,"value":709},{"type":27,"tag":28,"props":8359,"children":8360},{},[8361],{"type":32,"value":8362},"　拡張機能 - Apps Script で、現在のマクロを見たり編集したりできます。",{"type":27,"tag":87,"props":8364,"children":8367},{"src":8365,"alt":8366,"width":91},"\u002Fimg\u002Fappsscript.jpg","拡張機能-Apps Script",[],{"type":27,"tag":28,"props":8369,"children":8370},{},[8371],{"type":32,"value":8372},"　もちろん、拡張機能 - マクロ - マクロを記録 で、一からマクロを作ることもできます。",{"type":27,"tag":87,"props":8374,"children":8377},{"src":8375,"alt":8376,"width":91},"\u002Fimg\u002Fgasmacrorec.jpg","拡張機能-マクロを記録",[],{"type":27,"tag":28,"props":8379,"children":8380},{},[8381],{"type":32,"value":8382},"　つまり、iPadでマクロプログラミングができるということなのです。",{"type":27,"tag":28,"props":8384,"children":8385},{},[8386,8388,8393,8395,8400],{"type":32,"value":8387},"　PCと比べて何かと制約の多いiPadですが、「プログラミングをしたい」という",{"type":27,"tag":55,"props":8389,"children":8390},{},[8391],{"type":32,"value":8392},"願い",{"type":32,"value":8394},"を ",{"type":27,"tag":55,"props":8396,"children":8397},{},[8398],{"type":32,"value":8399},"あきらめることはない",{"type":32,"value":8401}," のです。",{"type":27,"tag":74,"props":8403,"children":8404},{},[],{"type":27,"tag":28,"props":8406,"children":8407},{},[8408],{"type":32,"value":8409},"★ お待たせしました、、、",{"type":27,"tag":28,"props":8411,"children":8412},{"style":63},[8413,8415],{"type":32,"value":8414},"⇒ ",{"type":27,"tag":43,"props":8416,"children":8418},{"href":8417},"https:\u002F\u002Fdocs.google.com\u002Fspreadsheets\u002Fd\u002F15tydJVh8Zuw4W6t5jQD5aaovFCwqSIDu6f9j21j3AwE\u002Fedit?usp=drive_link",[8419],{"type":32,"value":8420},"🔗「くじ当たり判定GASマクロ」入り スプレッドシートファイル 「 kuji 」 へのリンク はこちら",{"type":27,"tag":74,"props":8422,"children":8423},{},[],{"type":27,"tag":78,"props":8425,"children":8427},{"id":8426},"結論keepのテキスト抽出と表計算のマクロでくじの当たり判定が楽にできる",[8428],{"type":32,"value":8429},"【結論】Keepのテキスト抽出と表計算のマクロでくじの当たり判定が楽にできる",{"type":27,"tag":28,"props":8431,"children":8432},{},[8433,8434,8440],{"type":32,"value":709},{"type":27,"tag":43,"props":8435,"children":8437},{"href":8436},"\u002Farticles\u002Ftechnolojiya-3",[8438],{"type":32,"value":8439},"🔗子ども食堂のiPad活用",{"type":32,"value":8441}," で、",{"type":27,"tag":35,"props":8443,"children":8444},{},[8445,8450],{"type":27,"tag":39,"props":8446,"children":8447},{},[8448],{"type":32,"value":8449},"プログラミングをまなび、すすんで もんだいかいけつ しよう",{"type":27,"tag":39,"props":8451,"children":8452},{},[8453],{"type":32,"value":8454},"みじかなかだい をかいけつする「ローカルイノベーション」もたいせつ",{"type":27,"tag":28,"props":8456,"children":8457},{},[8458],{"type":32,"value":8459},"と述べました。",{"type":27,"tag":28,"props":8461,"children":8462},{},[8463],{"type":32,"value":8464},"　今回のくじチェックは、まさにぴったりな題材です。",{"type":27,"tag":74,"props":8466,"children":8467},{},[],{"type":27,"tag":28,"props":8469,"children":8470},{},[8471],{"type":32,"value":8472},"　ビジネスマンはお金や品物など数字をあつかうことが多いため、表計算ソフトの技能が必須です。学習や日常生活でも表計算ソフトは役に立つので、子どものころから親しんでおいたほうがよいでしょう。",{"type":27,"tag":28,"props":8474,"children":8475},{},[8476],{"type":32,"value":8477},"　PISAテストでも、",{"type":27,"tag":87,"props":8479,"children":8482},{"src":8480,"alt":8481,"width":91},"\u002Fimg\u002Fpisa2022forest.jpg","PISA2022森林面積を表計算ソフトで",[],{"type":27,"tag":28,"props":8484,"children":8485},{},[8486],{"type":32,"value":8487},"と、森林面積に関する問題を表計算ソフトを使って解かせています。",{"type":27,"tag":28,"props":8489,"children":8490},{},[8491,8493,8499],{"type":32,"value":8492},"　これほど一般的になった表計算ソフトですが、使いこなせているかといえば怪しいところです。マクロが組める日本のビジネスマンは１割足らずと言われています。賃金向上・生産性向上のためには、「時短」が必要です。マクロや ",{"type":27,"tag":43,"props":8494,"children":8496},{"href":8495},"\u002Ftag\u002Frpa",[8497],{"type":32,"value":8498},"🔗RPA",{"type":32,"value":8500}," による自動化が突破口になるでしょう。",{"type":27,"tag":74,"props":8502,"children":8503},{},[],{"type":27,"tag":28,"props":8505,"children":8506},{},[8507],{"type":32,"value":8508},"　エクセルVBA と スプレッドシートGAS をざっくり比べると、",{"type":27,"tag":35,"props":8510,"children":8511},{},[8512,8517,8522,8535,8540],{"type":27,"tag":39,"props":8513,"children":8514},{},[8515],{"type":32,"value":8516},"エクセルは有料（プレインストール）、スプレッドシートは基本無料",{"type":27,"tag":39,"props":8518,"children":8519},{},[8520],{"type":32,"value":8521},"エクセルはローカルで動き（校務PC向き）、スプレッドシートはクラウドで動く（学習端末向き）",{"type":27,"tag":39,"props":8523,"children":8524},{},[8525,8527,8533],{"type":32,"value":8526},"VBAは古くさいが資料多数、GASは新しく資料少ないが ",{"type":27,"tag":43,"props":8528,"children":8530},{"href":8529},"\u002Ftag\u002Fweb-standards",[8531],{"type":32,"value":8532},"🔗Web標準",{"type":32,"value":8534}," に近い",{"type":27,"tag":39,"props":8536,"children":8537},{},[8538],{"type":32,"value":8539},"VBAはPCのみで動き、GASは全ブラウザで動く（iPadもOK！）",{"type":27,"tag":39,"props":8541,"children":8542},{},[8543],{"type":32,"value":8544},"VBAはエクセルのみで動き、GASはグーグルアプリ共通で動くようにできる",{"type":27,"tag":28,"props":8546,"children":8547},{},[8548],{"type":32,"value":8549},"　即戦力のベテランがVBA、未来的・汎用的な有望新人がGAS、、、といったところでしょうか。",{"type":27,"tag":28,"props":8551,"children":8552},{},[8553,8555],{"type":32,"value":8554},"　GASは、アプリ横断的に自動化できるRPAに近い存在です。実際、GoogleのRPAである AppSheet と連携させる動きも出てきました。うまく使えば、働き方改革が無料でできるかもしれません。　→ ",{"type":27,"tag":43,"props":8556,"children":8559},{"href":8557,"rel":8558},"https:\u002F\u002Fnote.com\u002Fmanabibashi\u002Fn\u002Fn040e8a22b2b4",[986],[8560],{"type":32,"value":8561},"🔗AppSheetの無料プランでGoogle Apps Scriptを呼び出す",{"type":27,"tag":74,"props":8563,"children":8564},{},[],{"type":27,"tag":28,"props":8566,"children":8567},{},[8568,8570],{"type":32,"value":8569},"　プログラミングは、学習にも仕事にも役立つし、何より「楽しい」ということを再認識しました。大げさに言えば、「自分が自分らしくいられる」のです。　→ ",{"type":27,"tag":43,"props":8571,"children":8573},{"href":8572},"\u002Farticles\u002Fhadano",[8574],{"type":32,"value":8575},"🔗ハダノのプログラミング遍歴",{"type":27,"tag":87,"props":8577,"children":8581},{"src":8578,"alt":8579,"className":8580},"\u002Fimg\u002Fwizardking.jpg","願いをあずかり管理する魔法使い",[1451],[],{"type":27,"tag":28,"props":8583,"children":8584},{},[8585],{"type":32,"value":8586},"　生徒の「願い」をあずかり管理してあげる「魔法使い（権力者）」ではなく、すすんで問題解決しようとする「マクロ使い（地球市民）」として、ともに探究し続ける教師でありたいものです。",{"type":27,"tag":87,"props":8588,"children":8591},{"src":8589,"alt":8590,"width":91},"\u002Fimg\u002Fjikohyogen.jpg","プログラミングは自己表現",[],{"type":27,"tag":74,"props":8593,"children":8594},{},[],{"type":27,"tag":74,"props":8596,"children":8598},{"id":8597},"excel1sec",[],{"type":27,"tag":145,"props":8600,"children":8602},{"className":8601},[2106],[8603,8604,8617,8618],{"type":32,"value":2109},{"type":27,"tag":145,"props":8605,"children":8607},{"className":8606},[2113],[8608],{"type":27,"tag":43,"props":8609,"children":8612},{"target":2117,"rel":8610,"href":8611},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57027?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F960208e3b7635f3623ec43922230dece%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MCwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjEsImFtcCI6ZmFsc2V9",[8613],{"type":27,"tag":87,"props":8614,"children":8616},{"src":8615},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F2073\u002F9784297112073_1_9.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":8619,"children":8621},{"className":8620},[2130],[8622,8623,8633,8634,8653,8654,8691],{"type":32,"value":2133},{"type":27,"tag":145,"props":8624,"children":8626},{"className":8625},[2137],[8627],{"type":27,"tag":43,"props":8628,"children":8630},{"target":2117,"rel":8629,"href":8611},[2119],[8631],{"type":32,"value":8632},"たった1秒で仕事が片づくExcel自動化の教科書",{"type":32,"value":2133},{"type":27,"tag":145,"props":8635,"children":8637},{"className":8636},[2149],[8638,8641,8643,8646,8648,8651],{"type":27,"tag":74,"props":8639,"children":8640},{},[],{"type":32,"value":8642},"※ ハダノは、Windows95のころからエクセルVBAプログラミングをしていました。",{"type":27,"tag":74,"props":8644,"children":8645},{},[],{"type":32,"value":8647},"数えきれないほどVBA本を読みました。今では、Webにも様々な解説記事があり、学習に困ることは少なくなりました。",{"type":27,"tag":74,"props":8649,"children":8650},{},[],{"type":32,"value":8652},"それでも吉田拳さんの本は、難解なことを明解にしてくれ、目からうろこでした。",{"type":32,"value":2133},{"type":27,"tag":145,"props":8655,"children":8657},{"className":8656},[2170,2171],[8658,8659,8668,8669,8679,8680,8690],{"type":32,"value":2174},{"type":27,"tag":145,"props":8660,"children":8661},{},[8662],{"type":27,"tag":43,"props":8663,"children":8666},{"className":8664,"target":2117,"rel":8665,"href":8611},[2181,2182],[2119],[8667],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":8670,"children":8671},{},[8672],{"type":27,"tag":43,"props":8673,"children":8677},{"className":8674,"target":2117,"rel":8675,"href":8676},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2F4297139618",[8678],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":8681,"children":8682},{},[8683],{"type":27,"tag":43,"props":8684,"children":8688},{"className":8685,"target":2117,"rel":8686,"href":8687},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fbookfan%2Fbk-4297112078.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[8689],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":8693,"children":8695},{"id":8694},"gasintro",[],{"type":27,"tag":145,"props":8697,"children":8699},{"className":8698},[2106],[8700,8701,8714,8715],{"type":32,"value":2109},{"type":27,"tag":145,"props":8702,"children":8704},{"className":8703},[2113],[8705],{"type":27,"tag":43,"props":8706,"children":8709},{"target":2117,"rel":8707,"href":8708},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57027?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F2735ffa9683d4fe24bd8643fa95fab2a%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MCwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjEsImFtcCI6ZmFsc2V9",[8710],{"type":27,"tag":87,"props":8711,"children":8713},{"src":8712},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F4741\u002F9784798064741_1_4.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":8716,"children":8718},{"className":8717},[2130],[8719,8720,8730,8731,8750,8751,8788],{"type":32,"value":2133},{"type":27,"tag":145,"props":8721,"children":8723},{"className":8722},[2137],[8724],{"type":27,"tag":43,"props":8725,"children":8727},{"target":2117,"rel":8726,"href":8708},[2119],[8728],{"type":32,"value":8729},"詳解! Google Apps Script完全入門 [第3版]",{"type":32,"value":2133},{"type":27,"tag":145,"props":8732,"children":8734},{"className":8733},[2149],[8735,8738,8740,8743,8745,8748],{"type":27,"tag":74,"props":8736,"children":8737},{},[],{"type":32,"value":8739},"※ GASは期待の新人ですが、参考資料が少ないのが玉にキズです。",{"type":27,"tag":74,"props":8741,"children":8742},{},[],{"type":32,"value":8744},"分厚くけっこうな値段がしますが、基礎からていねいに解説しているので、初心者が買っても損はありません。",{"type":27,"tag":74,"props":8746,"children":8747},{},[],{"type":32,"value":8749},"ハダノは、JavaScriptについてあいまいだった部分をこの本で学び直せました。",{"type":32,"value":2133},{"type":27,"tag":145,"props":8752,"children":8754},{"className":8753},[2170,2171],[8755,8756,8765,8766,8776,8777,8787],{"type":32,"value":2174},{"type":27,"tag":145,"props":8757,"children":8758},{},[8759],{"type":27,"tag":43,"props":8760,"children":8763},{"className":8761,"target":2117,"rel":8762,"href":8708},[2181,2182],[2119],[8764],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":8767,"children":8768},{},[8769],{"type":27,"tag":43,"props":8770,"children":8774},{"className":8771,"target":2117,"rel":8772,"href":8773},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2F4798064742",[8775],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":8778,"children":8779},{},[8780],{"type":27,"tag":43,"props":8781,"children":8785},{"className":8782,"target":2117,"rel":8783,"href":8784},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fwindybooks%2Fs-9784798064741.html%3Fsc_i%3Dshopping-pc-web-result-item-rsltlst-img",[8786],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":8790,"children":8791},{},[],{"type":27,"tag":328,"props":8793,"children":8794},{},[],{"type":27,"tag":28,"props":8796,"children":8797},{},[8798],{"type":27,"tag":43,"props":8799,"children":8801},{"href":8800},"\u002Farticles\u002Fai-poster",[8802],{"type":32,"value":8803},"←前へ　AIツールでスイスイ仕事術【ポスター作り】",{"title":8,"searchDepth":2518,"depth":2518,"links":8805},[8806,8815],{"id":7609,"depth":2518,"text":7574,"children":8807},[8808,8809,8810,8811,8812,8813,8814],{"id":7617,"depth":2523,"text":7620},{"id":7653,"depth":2523,"text":7656},{"id":7760,"depth":2523,"text":7760},{"id":7862,"depth":2523,"text":7862},{"id":7895,"depth":2523,"text":7898},{"id":8038,"depth":2523,"text":8041},{"id":8262,"depth":2523,"text":8265},{"id":8426,"depth":2518,"text":8429},"content:articles:ai-keep2macro.md","articles\u002Fai-keep2macro.md","articles\u002Fai-keep2macro",{"_path":8820,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8821,"description":8822,"category":8823,"tag":8824,"thumbnail":8826,"createdAt":8827,"updatedAt":8828,"body":8829,"_type":2532,"_id":9293,"_source":2534,"_file":9294,"_stem":9295,"_extension":2537},"\u002Farticles\u002Fict-6","ICTあるある―6「プレゼンのフォントが細い字体に変わってしまった」","知らずに使われた特殊なフォントの代わりにフリーフォントを埋め込んで、パワーポイントの文字崩れを直してみた件",[7576],[8825,2543,17,18],"ict","snspost.png","2023\u002F12\u002F27","2023\u002F12\u002F29",{"type":24,"children":8830,"toc":9285},[8831,8836,8839,8843,8848,8851,8856,8859,8865,8870,8893,8896,8917,8920,8941,8944,8949,8952,8958,8963,8968,8978,8983,8986,8997,9009,9020,9025,9028,9034,9055,9060,9063,9084,9087,9092,9104,9109,9112,9118,9123,9148,9151,9156,9167,9171,9264,9267,9276],{"type":27,"tag":28,"props":8832,"children":8833},{},[8834],{"type":32,"value":8835},"　「ICT活用で教職員の働き方改革というけれど、忙しすぎて覚える時間がない」という笑えない実態が学校現場にあります。落ち込んでいても仕方ないので、あえて笑い話にしてみたのが「ICTあるある」です。",{"type":27,"tag":74,"props":8837,"children":8838},{},[],{"type":27,"tag":28,"props":8840,"children":8841},{},[8842],{"type":32,"value":4035},{"type":27,"tag":78,"props":8844,"children":8846},{"id":8845},"知らずに使われた特殊なフォントの代わりにフリーフォントを埋め込んでパワーポイントの文字崩れを直してみた件",[8847],{"type":32,"value":8822},{"type":27,"tag":74,"props":8849,"children":8850},{},[],{"type":27,"tag":28,"props":8852,"children":8853},{},[8854],{"type":32,"value":8855},"　教員が扱う文書にはさまざまなものがありますが、パワーポイントのフォント選びは見栄えに大きく影響します。プレゼンの場合、作成するPCと実行するPCが同じとは限りません。インストールされているフォントなどPC環境の違いによって思わぬ結果を引き起こすことがあるのです。",{"type":27,"tag":74,"props":8857,"children":8858},{},[],{"type":27,"tag":138,"props":8860,"children":8862},{"id":8861},"フォントが違っているようです",[8863],{"type":32,"value":8864},"フォントが違っているようです！",{"type":27,"tag":28,"props":8866,"children":8867},{},[8868],{"type":32,"value":8869},"　子ども食堂のSさんから、連絡がありました。",{"type":27,"tag":145,"props":8871,"children":8873},{"className":8872},[192],[8874,8875,8886,8888,8891],{"type":32,"value":151},{"type":27,"tag":145,"props":8876,"children":8878},{"className":8877},[155],[8879,8880,8885],{"type":32,"value":158},{"type":27,"tag":87,"props":8881,"children":8884},{"src":8882,"alt":8883,"width":163},"\u002Fimg\u002Fsh80.png","子ども食堂Sさん",[],{"type":32,"value":158},{"type":32,"value":8887},"\n  ハダノ先生に作っていただいたパワーポイントファイルをMさん（プレゼン指導者）に見せたら、「フォントが違っている」と指摘されました。\n  ",{"type":27,"tag":74,"props":8889,"children":8890},{},[],{"type":32,"value":8892},"申し訳ありません、見直しお願いできますか。\n",{"type":27,"tag":74,"props":8894,"children":8895},{},[],{"type":27,"tag":145,"props":8897,"children":8899},{"className":8898},[148],[8900,8901,8910,8912,8915],{"type":32,"value":151},{"type":27,"tag":145,"props":8902,"children":8904},{"className":8903},[155],[8905,8906,8909],{"type":32,"value":158},{"type":27,"tag":87,"props":8907,"children":8908},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":8911},"\n  いただいた去年のファイルからフォント設定は変えていません。私のPC2台とも、開いた時点で 「メイリオ 」という標準フォントになっていました。\n  ",{"type":27,"tag":74,"props":8913,"children":8914},{},[],{"type":32,"value":8916},"考えられるのは、通常のPCにインストールされていない特殊なフォントを使って作ったため、フォントが標準のものに置き換わったということです。\n",{"type":27,"tag":74,"props":8918,"children":8919},{},[],{"type":27,"tag":145,"props":8921,"children":8923},{"className":8922},[192],[8924,8925,8934,8936,8939],{"type":32,"value":151},{"type":27,"tag":145,"props":8926,"children":8928},{"className":8927},[155],[8929,8930,8933],{"type":32,"value":158},{"type":27,"tag":87,"props":8931,"children":8932},{"src":8882,"alt":8883,"width":163},[],{"type":32,"value":158},{"type":32,"value":8935},"\n  丁寧に原因を考えていただきありがとうございます。\n  ",{"type":27,"tag":74,"props":8937,"children":8938},{},[],{"type":32,"value":8940},"私では、内容がわからないので、Mさんが来られてから\nあらためて、ご連絡いたしますね。\n",{"type":27,"tag":74,"props":8942,"children":8943},{},[],{"type":27,"tag":28,"props":8945,"children":8946},{},[8947],{"type":32,"value":8948},"　Mさんはプレゼンのプロですが、ソフトウエアの達人とは限りません。元々のフォント設定をMさんに確認しても、らちがあかないかもしれません。",{"type":27,"tag":74,"props":8950,"children":8951},{},[],{"type":27,"tag":138,"props":8953,"children":8955},{"id":8954},"一太郎が犯人",[8956],{"type":32,"value":8957},"一太郎が犯人？",{"type":27,"tag":28,"props":8959,"children":8960},{},[8961],{"type":32,"value":8962},"　ハダノの経験では、「特別なフォントはインストールしてないけどなぁ」「自分のまわりの人のPCでも同じように表示されるけどなぁ」という場合は、たいてい「一太郎」が犯人です。",{"type":27,"tag":28,"props":8964,"children":8965},{},[8966],{"type":32,"value":8967},"　一太郎をインストールすると、",{"type":27,"tag":28,"props":8969,"children":8970},{},[8971],{"type":27,"tag":43,"props":8972,"children":8975},{"href":8973,"rel":8974},"https:\u002F\u002Fsupport.justsystems.com\u002Ffaq\u002F1032\u002Fapp\u002Fservlet\u002Fqadoc?QID=011220",[986],[8976],{"type":32,"value":8977},"🔗一太郎11に添付されているフォントの種類について",{"type":27,"tag":28,"props":8979,"children":8980},{},[8981],{"type":32,"value":8982},"のようなフォントが自動的にインストールされます。",{"type":27,"tag":74,"props":8984,"children":8985},{},[],{"type":27,"tag":28,"props":8987,"children":8988},{},[8989,8990,8995],{"type":32,"value":2825},{"type":27,"tag":55,"props":8991,"children":8992},{},[8993],{"type":32,"value":8994},"DF\u002FDHP特太ゴシック体",{"type":32,"value":8996},"」などは、とても目立つのでプレゼンで使いたくなるのですが、人に渡すファイルで使ってはいけません。",{"type":27,"tag":28,"props":8998,"children":8999},{},[9000,9002],{"type":32,"value":9001},"　プレゼンを作成したPCと実行するPCが異なる場合、次のようにするのが常識です。　→ ",{"type":27,"tag":43,"props":9003,"children":9006},{"href":9004,"rel":9005},"https:\u002F\u002Fpowerpoint-univ.com\u002Ffont-error\u002F",[986],[9007],{"type":32,"value":9008},"🔗フォントの埋め込みで、パワーポイントの文字崩れを未然に防ぐ",{"type":27,"tag":28,"props":9010,"children":9011},{},[9012,9014,9018],{"type":32,"value":9013},"　しかし、「",{"type":27,"tag":55,"props":9015,"children":9016},{},[9017],{"type":32,"value":8994},{"type":32,"value":9019},"」は有料フォントなので、「フォントの埋め込み」はライセンス違反となってしまいます。",{"type":27,"tag":28,"props":9021,"children":9022},{},[9023],{"type":32,"value":9024},"　周りの人がみんな一太郎を使っていると、つい標準フォントと錯覚してしまいますが、特殊なフォントなのです。",{"type":27,"tag":74,"props":9026,"children":9027},{},[],{"type":27,"tag":138,"props":9029,"children":9031},{"id":9030},"df特太ゴシック-の代わりに-noto-sans-jp-を",[9032],{"type":32,"value":9033},"DF特太ゴシック の代わりに Noto Sans JP を",{"type":27,"tag":145,"props":9035,"children":9037},{"className":9036},[148],[9038,9039,9048,9050,9053],{"type":32,"value":151},{"type":27,"tag":145,"props":9040,"children":9042},{"className":9041},[155],[9043,9044,9047],{"type":32,"value":158},{"type":27,"tag":87,"props":9045,"children":9046},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9049},"\n  よく似たフリーのフォントとして有名で広く使われているのは、Googleの「Noto Sans JP」 です。\n  ",{"type":27,"tag":74,"props":9051,"children":9052},{},[],{"type":32,"value":9054},"いろんな太さがありますが、最大の太さのものを適用し、「フォントの埋め込み」もしてみました。\n",{"type":27,"tag":87,"props":9056,"children":9059},{"src":9057,"alt":9058,"width":91},"\u002Fimg\u002Fppfonts.jpg","パワーポイント用フォント",[],{"type":27,"tag":74,"props":9061,"children":9062},{},[],{"type":27,"tag":145,"props":9064,"children":9066},{"className":9065},[192],[9067,9068,9077,9079,9082],{"type":32,"value":151},{"type":27,"tag":145,"props":9069,"children":9071},{"className":9070},[155],[9072,9073,9076],{"type":32,"value":158},{"type":27,"tag":87,"props":9074,"children":9075},{"src":8882,"alt":8883,"width":163},[],{"type":32,"value":158},{"type":32,"value":9078},"\n  無事に差し替えできました。\n  ",{"type":27,"tag":74,"props":9080,"children":9081},{},[],{"type":32,"value":9083},"とにもかくにもお忙しい中、ご対応ありがとうございました。\n",{"type":27,"tag":74,"props":9085,"children":9086},{},[],{"type":27,"tag":28,"props":9088,"children":9089},{},[9090],{"type":32,"value":9091},"　数年前、文科省からの文書や前任教頭が残した文書を一太郎形式からワード形式に変換するためにやむなく一太郎をインストールしていました。",{"type":27,"tag":28,"props":9093,"children":9094},{},[9095,9097,9102],{"type":32,"value":9096},"　そのときに「",{"type":27,"tag":55,"props":9098,"children":9099},{},[9100],{"type":32,"value":9101},"DF特太ゴシック",{"type":32,"value":9103},"」を使って作った文書が、一太郎の入ってないPCでは、別のフォントに変わっていたので、一太郎が悪さをしていると気づきました。",{"type":27,"tag":28,"props":9105,"children":9106},{},[9107],{"type":32,"value":9108},"　今回は、一太郎のないPC環境でもほぼ同じ見た目になるように、Google製のフリーフォントを埋め込んだのです。",{"type":27,"tag":74,"props":9110,"children":9111},{},[],{"type":27,"tag":78,"props":9113,"children":9115},{"id":9114},"まとめできるだけ標準的なフォントを使おう",[9116],{"type":32,"value":9117},"【まとめ】できるだけ標準的なフォントを使おう",{"type":27,"tag":28,"props":9119,"children":9120},{},[9121],{"type":32,"value":9122},"　mp4のような動画ファイルと違い、プレゼンファイルの場合は、作成時と実行時のPC環境の違いに悩まされます。",{"type":27,"tag":28,"props":9124,"children":9125},{},[9126,9127,9132,9134,9139,9141,9146],{"type":32,"value":2825},{"type":27,"tag":55,"props":9128,"children":9129},{},[9130],{"type":32,"value":9131},"できるだけ標準的なものを使う",{"type":32,"value":9133},"」というのが鉄則です。",{"type":27,"tag":55,"props":9135,"children":9136},{},[9137],{"type":32,"value":9138},"一太郎",{"type":32,"value":9140}," をやめて ",{"type":27,"tag":55,"props":9142,"children":9143},{},[9144],{"type":32,"value":9145},"ワード",{"type":32,"value":9147}," を使う意義を再確認しました。",{"type":27,"tag":74,"props":9149,"children":9150},{},[],{"type":27,"tag":28,"props":9152,"children":9153},{},[9154],{"type":32,"value":9155},"　業者から勧められるままにアプリを導入するより、ふだん使っているオフィスでできることを追求することは、教員の働き方改革につながります。",{"type":27,"tag":28,"props":9157,"children":9158},{},[9159,9161],{"type":32,"value":9160},"　パワーポイントを深掘りしたければ…… → ",{"type":27,"tag":43,"props":9162,"children":9164},{"href":9163},"\u002Farticles\u002Fcg-usagi#powerpoint",[9165],{"type":32,"value":9166},"🔗「できるPowerPointパーフェクトブック困った！＆便利ワザ大全」",{"type":27,"tag":74,"props":9168,"children":9170},{"id":9169},"msoffice",[],{"type":27,"tag":145,"props":9172,"children":9174},{"className":9173},[2106],[9175,9176,9189,9190],{"type":32,"value":2109},{"type":27,"tag":145,"props":9177,"children":9179},{"className":9178},[2113],[9180],{"type":27,"tag":43,"props":9181,"children":9184},{"target":2117,"rel":9182,"href":9183},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F1c31a7e9.545b2c08.1c31a7ea.d83a8f7a\u002F_RTLink57026?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Ff1aa66a6d354a89b8ccace50f7344d8f%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjEsImFtcCI6ZmFsc2V9",[9185],{"type":27,"tag":87,"props":9186,"children":9188},{"src":9187},"https:\u002F\u002Fimage.rakuten.co.jp\u002Fwhitebang\u002Fcabinet\u002Fkokunai5\u002Fkitt4549576182513_1.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":9191,"children":9193},{"className":9192},[2130],[9194,9195,9205,9206,9225,9226,9263],{"type":32,"value":2133},{"type":27,"tag":145,"props":9196,"children":9198},{"className":9197},[2137],[9199],{"type":27,"tag":43,"props":9200,"children":9202},{"target":2117,"rel":9201,"href":9183},[2119],[9203],{"type":32,"value":9204},"Microsoft Office Home and Business 2021 日本語版 永続版 2台までインストール可能",{"type":32,"value":2133},{"type":27,"tag":145,"props":9207,"children":9209},{"className":9208},[2149],[9210,9213,9215,9218,9220,9223],{"type":27,"tag":74,"props":9211,"children":9212},{},[],{"type":32,"value":9214},"※ マイクロソフトオフィスは事実上の標準です。特に、.docx .xlsx .pptx のファイル形式になってから、OpenXMLというWeb標準に従うようになりました。",{"type":27,"tag":74,"props":9216,"children":9217},{},[],{"type":32,"value":9219},"ハダノは特定のメーカーの製品をひいきするつもりはありませんが、トラブル防止のため最新のオフィスを使用することをおすすめします。",{"type":27,"tag":74,"props":9221,"children":9222},{},[],{"type":32,"value":9224},"さまざまなエディションがあるので、自分のニーズにマッチするものをご購入ください。教員はアカデミック版が買えて得ですが、広告つきのブログに載せるなどの商用利用はできないのでご注意を！",{"type":32,"value":2133},{"type":27,"tag":145,"props":9227,"children":9229},{"className":9228},[2170,2171],[9230,9231,9240,9241,9251,9252,9262],{"type":32,"value":2174},{"type":27,"tag":145,"props":9232,"children":9233},{},[9234],{"type":27,"tag":43,"props":9235,"children":9238},{"className":9236,"target":2117,"rel":9237,"href":9183},[2181,2182],[2119],[9239],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":9242,"children":9243},{},[9244],{"type":27,"tag":43,"props":9245,"children":9249},{"className":9246,"target":2117,"rel":9247,"href":9248},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB09FXYT53X",[9250],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":9253,"children":9254},{},[9255],{"type":27,"tag":43,"props":9256,"children":9260},{"className":9257,"target":2117,"rel":9258,"href":9259},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsimada%2Fmicrosofthomeandbusiness21.html%3Fsc_i%3Dshp_pc_search_itemlist_shsrg_img%23",[9261],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":328,"props":9265,"children":9266},{},[],{"type":27,"tag":28,"props":9268,"children":9269},{},[9270],{"type":27,"tag":43,"props":9271,"children":9273},{"href":9272},"\u002Farticles\u002Fict-5",[9274],{"type":32,"value":9275},"←前へ　ICTあるある―5",{"type":27,"tag":28,"props":9277,"children":9278},{},[9279],{"type":27,"tag":43,"props":9280,"children":9282},{"href":9281},"\u002Farticles\u002Fict-7",[9283],{"type":32,"value":9284},"次へ→　ICTあるある―7",{"title":8,"searchDepth":2518,"depth":2518,"links":9286},[9287,9292],{"id":8845,"depth":2518,"text":8822,"children":9288},[9289,9290,9291],{"id":8861,"depth":2523,"text":8864},{"id":8954,"depth":2523,"text":8957},{"id":9030,"depth":2523,"text":9033},{"id":9114,"depth":2518,"text":9117},"content:articles:ict-6.md","articles\u002Fict-6.md","articles\u002Fict-6",{"_path":9297,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9298,"description":9299,"category":9300,"tag":9301,"thumbnail":8826,"createdAt":9303,"updatedAt":9304,"body":9305,"_type":2532,"_id":10383,"_source":2534,"_file":10384,"_stem":10385,"_extension":2537},"\u002Farticles\u002Fict-4","ICTあるある―4「いろんな文書やスキャン画像をまとめられない」","いろんな文書やスキャン画像を一本のPDFファイルにまとめる方法が難しいというので、超簡単にしてみた件",[7576],[8825,2543,9302,18],"nurpa","2022\u002F10\u002F24","2022\u002F10\u002F31",{"type":24,"children":9306,"toc":10372},[9307,9311,9314,9318,9323,9326,9331,9334,9340,9345,9368,9371,9392,9395,9416,9419,9440,9443,9464,9467,9493,9496,9502,9523,9526,9547,9552,9573,9576,9597,9600,9621,9626,9647,9650,9671,9674,9680,9707,9710,9731,9736,9757,9760,9781,9786,9807,9812,9833,9836,9857,9862,9883,9888,9909,9912,9917,9938,9941,9962,9965,9986,9989,10010,10013,10034,10037,10043,10048,10051,10065,10075,10078,10084,10089,10094,10100,10105,10110,10115,10120,10125,10130,10135,10140,10146,10156,10159,10252,10256,10349,10352,10355,10364],{"type":27,"tag":28,"props":9308,"children":9309},{},[9310],{"type":32,"value":8835},{"type":27,"tag":74,"props":9312,"children":9313},{},[],{"type":27,"tag":28,"props":9315,"children":9316},{},[9317],{"type":32,"value":4035},{"type":27,"tag":78,"props":9319,"children":9321},{"id":9320},"いろんな文書やスキャン画像を一本のpdfファイルにまとめる方法が難しいというので超簡単にしてみた件",[9322],{"type":32,"value":9299},{"type":27,"tag":74,"props":9324,"children":9325},{},[],{"type":27,"tag":28,"props":9327,"children":9328},{},[9329],{"type":32,"value":9330},"　教員が扱う文書には、ワード・エクセル・パワーポイントのファイル、冊子をスキャンした画像、デジカメ写真などさまざまな形式が混在しています。保護者に配布するには印刷するしかありません。PDFファイルなら、そのまま印刷するだけなので便利です。異なる環境でも同じ印刷結果になります。",{"type":27,"tag":74,"props":9332,"children":9333},{},[],{"type":27,"tag":138,"props":9335,"children":9337},{"id":9336},"スキャン画像がわらわらあってパニックです",[9338],{"type":32,"value":9339},"スキャン画像がわらわらあってパニックです！",{"type":27,"tag":28,"props":9341,"children":9342},{},[9343],{"type":32,"value":9344},"中3の学年主任から、SOSの電話がありました。",{"type":27,"tag":145,"props":9346,"children":9348},{"className":9347},[192],[9349,9350,9361,9363,9366],{"type":32,"value":151},{"type":27,"tag":145,"props":9351,"children":9353},{"className":9352},[155],[9354,9355,9360],{"type":32,"value":158},{"type":27,"tag":87,"props":9356,"children":9359},{"src":9357,"alt":9358,"width":163},"\u002Fimg\u002Fkemi.png","教員A",[],{"type":32,"value":158},{"type":32,"value":9362},"\n  教頭先生、保護者向けの進路説明会を来週するんですが、資料作りで困っています。\n  ",{"type":27,"tag":74,"props":9364,"children":9365},{},[],{"type":32,"value":9367},"いろんな文書を一本のPDFファイルにまとめたいんですけど、県立や私立の入試要項のスキャン画像がわらわらあってパニックです！\n",{"type":27,"tag":74,"props":9369,"children":9370},{},[],{"type":27,"tag":145,"props":9372,"children":9374},{"className":9373},[148],[9375,9376,9385,9387,9390],{"type":32,"value":151},{"type":27,"tag":145,"props":9377,"children":9379},{"className":9378},[155],[9380,9381,9384],{"type":32,"value":158},{"type":27,"tag":87,"props":9382,"children":9383},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9386},"\n  pdf_asを使えば、ページ順を変えたりまとめたりできますよ。\n  ",{"type":27,"tag":74,"props":9388,"children":9389},{},[],{"type":32,"value":9391},"共有フォルダを見てください。\n",{"type":27,"tag":74,"props":9393,"children":9394},{},[],{"type":27,"tag":145,"props":9396,"children":9398},{"className":9397},[192],[9399,9400,9409,9411,9414],{"type":32,"value":151},{"type":27,"tag":145,"props":9401,"children":9403},{"className":9402},[155],[9404,9405,9408],{"type":32,"value":158},{"type":27,"tag":87,"props":9406,"children":9407},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9410},"\n  ……ああ、私には無理です。説明見てもできる気がしません。\n  ",{"type":27,"tag":74,"props":9412,"children":9413},{},[],{"type":32,"value":9415},"私のようなICTオンチにもできる方法はないんでしょうか。\n",{"type":27,"tag":74,"props":9417,"children":9418},{},[],{"type":27,"tag":145,"props":9420,"children":9422},{"className":9421},[148],[9423,9424,9433,9435,9438],{"type":32,"value":151},{"type":27,"tag":145,"props":9425,"children":9427},{"className":9426},[155],[9428,9429,9432],{"type":32,"value":158},{"type":27,"tag":87,"props":9430,"children":9431},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9434},"\n  慣れてない操作は厳しいか……。\n  ",{"type":27,"tag":74,"props":9436,"children":9437},{},[],{"type":32,"value":9439},"もしも、PDFをパワーポイントに貼れれば、スライドの順番を変えたりできそうですか。\n",{"type":27,"tag":74,"props":9441,"children":9442},{},[],{"type":27,"tag":145,"props":9444,"children":9446},{"className":9445},[192],[9447,9448,9457,9459,9462],{"type":32,"value":151},{"type":27,"tag":145,"props":9449,"children":9451},{"className":9450},[155],[9452,9453,9456],{"type":32,"value":158},{"type":27,"tag":87,"props":9454,"children":9455},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9458},"\n  それはまあ、大丈夫です。パワポなら使ったことありますし。\n  ",{"type":27,"tag":74,"props":9460,"children":9461},{},[],{"type":32,"value":9463},"でも、そんな方法があるなら、なんで早く教えてくれなかったんですか。\n",{"type":27,"tag":74,"props":9465,"children":9466},{},[],{"type":27,"tag":145,"props":9468,"children":9470},{"className":9469},[148],[9471,9472,9481,9483,9486,9488,9491],{"type":32,"value":151},{"type":27,"tag":145,"props":9473,"children":9475},{"className":9474},[155],[9476,9477,9480],{"type":32,"value":158},{"type":27,"tag":87,"props":9478,"children":9479},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9482},"\n  実は、このPDFを貼る方法には「重大な欠点」があるんです。\n  ",{"type":27,"tag":74,"props":9484,"children":9485},{},[],{"type":32,"value":9487},"ん？待てよ……あっ、そうだ。あれを使えば、回避できるはず。\n  ",{"type":27,"tag":74,"props":9489,"children":9490},{},[],{"type":32,"value":9492},"とりあえず実際にやってみましょう。\n",{"type":27,"tag":74,"props":9494,"children":9495},{},[],{"type":27,"tag":138,"props":9497,"children":9499},{"id":9498},"pdfをパワーポイントに貼る",[9500],{"type":32,"value":9501},"PDFをパワーポイントに貼る",{"type":27,"tag":145,"props":9503,"children":9505},{"className":9504},[192],[9506,9507,9516,9518,9521],{"type":32,"value":151},{"type":27,"tag":145,"props":9508,"children":9510},{"className":9509},[155],[9511,9512,9515],{"type":32,"value":158},{"type":27,"tag":87,"props":9513,"children":9514},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9517},"\n  ……はい、パワーポイントで新規作成しました。\n  ",{"type":27,"tag":74,"props":9519,"children":9520},{},[],{"type":32,"value":9522},"いつもの横長のスライドができています。\n",{"type":27,"tag":74,"props":9524,"children":9525},{},[],{"type":27,"tag":145,"props":9527,"children":9529},{"className":9528},[148],[9530,9531,9540,9542,9545],{"type":32,"value":151},{"type":27,"tag":145,"props":9532,"children":9534},{"className":9533},[155],[9535,9536,9539],{"type":32,"value":158},{"type":27,"tag":87,"props":9537,"children":9538},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9541},"\n  スライドをA4縦にするには、デザイン-ユーザー設定-スライドのサイズ-ユーザー設定のスライドのサイズ で A4 と 縦 を選びます。\n  ",{"type":27,"tag":74,"props":9543,"children":9544},{},[],{"type":32,"value":9546},"余白をいい感じにするために、幅 21cm 、高さ 29.7cm と打ちます。\n",{"type":27,"tag":87,"props":9548,"children":9551},{"src":9549,"alt":9550,"width":91},"\u002Fimg\u002Fppa4tate.jpg","パワポA4縦",[],{"type":27,"tag":145,"props":9553,"children":9555},{"className":9554},[148],[9556,9557,9566,9568,9571],{"type":32,"value":151},{"type":27,"tag":145,"props":9558,"children":9560},{"className":9559},[155],[9561,9562,9565],{"type":32,"value":158},{"type":27,"tag":87,"props":9563,"children":9564},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9567},"\n  ホーム-新しいスライド-白紙 を3回ほど実行します。\n  ",{"type":27,"tag":74,"props":9569,"children":9570},{},[],{"type":32,"value":9572},"最初のスライドを削除したら、 A4tate.pptx として保存しておきましょう。\n",{"type":27,"tag":74,"props":9574,"children":9575},{},[],{"type":27,"tag":145,"props":9577,"children":9579},{"className":9578},[192],[9580,9581,9590,9592,9595],{"type":32,"value":151},{"type":27,"tag":145,"props":9582,"children":9584},{"className":9583},[155],[9585,9586,9589],{"type":32,"value":158},{"type":27,"tag":87,"props":9587,"children":9588},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9591},"\n  できました。ホーム-新しいスライド で空白のスライドが増やせて便利です。\n  ",{"type":27,"tag":74,"props":9593,"children":9594},{},[],{"type":32,"value":9596},"いよいよこれに PDF を貼るんですね。挿入-画像-このデバイス でしょうか。\n",{"type":27,"tag":74,"props":9598,"children":9599},{},[],{"type":27,"tag":145,"props":9601,"children":9603},{"className":9602},[148],[9604,9605,9614,9616,9619],{"type":32,"value":151},{"type":27,"tag":145,"props":9606,"children":9608},{"className":9607},[155],[9609,9610,9613],{"type":32,"value":158},{"type":27,"tag":87,"props":9611,"children":9612},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9615},"\n  それだとPDFは選べないんですよ。\n  ",{"type":27,"tag":74,"props":9617,"children":9618},{},[],{"type":32,"value":9620},"PDFの挿入は、オブジェクト-ファイルから-参照 ですね。\n",{"type":27,"tag":87,"props":9622,"children":9625},{"src":9623,"alt":9624,"width":91},"\u002Fimg\u002Fppobject.jpg","パワポ挿入オブジェクト",[],{"type":27,"tag":145,"props":9627,"children":9629},{"className":9628},[192],[9630,9631,9640,9642,9645],{"type":32,"value":151},{"type":27,"tag":145,"props":9632,"children":9634},{"className":9633},[155],[9635,9636,9639],{"type":32,"value":158},{"type":27,"tag":87,"props":9637,"children":9638},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9641},"\n  できました。\n  ",{"type":27,"tag":74,"props":9643,"children":9644},{},[],{"type":32,"value":9646},"……でも、なんだかぼやけています。思っていたのと違うんですけど……\n",{"type":27,"tag":74,"props":9648,"children":9649},{},[],{"type":27,"tag":145,"props":9651,"children":9653},{"className":9652},[148],[9654,9655,9664,9666,9669],{"type":32,"value":151},{"type":27,"tag":145,"props":9656,"children":9658},{"className":9657},[155],[9659,9660,9663],{"type":32,"value":158},{"type":27,"tag":87,"props":9661,"children":9662},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9665},"\n  これが、「重大な欠点」です。だから、使う人が少ないんだと思います。\n  ",{"type":27,"tag":74,"props":9667,"children":9668},{},[],{"type":32,"value":9670},"PDFをきれいに貼るには、ひと手間かける必要があります。\n",{"type":27,"tag":74,"props":9672,"children":9673},{},[],{"type":27,"tag":138,"props":9675,"children":9677},{"id":9676},"pdfをきれいに貼る裏技",[9678],{"type":32,"value":9679},"PDFをきれいに貼る裏技",{"type":27,"tag":145,"props":9681,"children":9683},{"className":9682},[148],[9684,9685,9694,9696,9699,9705],{"type":32,"value":151},{"type":27,"tag":145,"props":9686,"children":9688},{"className":9687},[155],[9689,9690,9693],{"type":32,"value":158},{"type":27,"tag":87,"props":9691,"children":9692},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9695},"\n  Inkscape(インクスケープ)というベクトル図形編集ソフトを使うんです。\n  ",{"type":27,"tag":74,"props":9697,"children":9698},{},[],{"type":27,"tag":43,"props":9700,"children":9702},{"href":9701,"target":2117},"https:\u002F\u002Finkscape.org\u002Fja\u002F~GordCaswell\u002F%E2%98%85inkscape-portable-11",[9703],{"type":32,"value":9704},"🔗https:\u002F\u002Finkscape.org\u002Fja\u002F~GordCaswell\u002F%E2%98%85inkscape-portable-11",{"type":32,"value":9706},"\n  の ↓ アイコンをクリックしてダウンロードします。\n",{"type":27,"tag":74,"props":9708,"children":9709},{},[],{"type":27,"tag":145,"props":9711,"children":9713},{"className":9712},[148],[9714,9715,9724,9726,9729],{"type":32,"value":151},{"type":27,"tag":145,"props":9716,"children":9718},{"className":9717},[155],[9719,9720,9723],{"type":32,"value":158},{"type":27,"tag":87,"props":9721,"children":9722},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9725},"\n  InkscapePortable_1.1.paf.exe をダブルクリックして好きな場所に展開してください。\n  ",{"type":27,"tag":74,"props":9727,"children":9728},{},[],{"type":32,"value":9730},"PCのシステムに影響を与えないので、市教委に許可を取らなくて済みます。公用USBメモリに入れて使うこともできます。\n",{"type":27,"tag":87,"props":9732,"children":9735},{"src":9733,"alt":9734,"width":91},"\u002Fimg\u002Finkscapeportable.jpg","Inkscape portable",[],{"type":27,"tag":145,"props":9737,"children":9739},{"className":9738},[192],[9740,9741,9750,9752,9755],{"type":32,"value":151},{"type":27,"tag":145,"props":9742,"children":9744},{"className":9743},[155],[9745,9746,9749],{"type":32,"value":158},{"type":27,"tag":87,"props":9747,"children":9748},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9751},"\n  New Document で新規作成できました。\n  ",{"type":27,"tag":74,"props":9753,"children":9754},{},[],{"type":32,"value":9756},"まさか、これから Inkscape の操作方法の講義が始まるんじゃないでしょうね。\n",{"type":27,"tag":74,"props":9758,"children":9759},{},[],{"type":27,"tag":145,"props":9761,"children":9763},{"className":9762},[148],[9764,9765,9774,9776,9779],{"type":32,"value":151},{"type":27,"tag":145,"props":9766,"children":9768},{"className":9767},[155],[9769,9770,9773],{"type":32,"value":158},{"type":27,"tag":87,"props":9771,"children":9772},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9775},"\n  大丈夫です。『 PDF → Inkscape → パワーポイント 』という風に、ワンクッションいれるだけなので。\n  ",{"type":27,"tag":74,"props":9777,"children":9778},{},[],{"type":32,"value":9780},"はい、それでは PDFファイルをInkscapeにドラッグ＆ドロップしちゃってください。\n",{"type":27,"tag":87,"props":9782,"children":9785},{"src":9783,"alt":9784,"width":91},"\u002Fimg\u002Fpdf2inkscape.jpg","PDFをInkscapeに取り込み",[],{"type":27,"tag":145,"props":9787,"children":9789},{"className":9788},[148],[9790,9791,9800,9802,9805],{"type":32,"value":151},{"type":27,"tag":145,"props":9792,"children":9794},{"className":9793},[155],[9795,9796,9799],{"type":32,"value":158},{"type":27,"tag":87,"props":9797,"children":9798},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9801},"\n  それをコピー（Ctrl+C）して……\n  ",{"type":27,"tag":74,"props":9803,"children":9804},{},[],{"type":32,"value":9806},"パワーポイントのスライド2に貼り付け（Ctrl+V）をすると……\n",{"type":27,"tag":87,"props":9808,"children":9811},{"src":9809,"alt":9810,"width":91},"\u002Fimg\u002Fppinkscape1.jpg","Inkscape経由でパワポに貼り付け1",[],{"type":27,"tag":145,"props":9813,"children":9815},{"className":9814},[192],[9816,9817,9826,9828,9831],{"type":32,"value":151},{"type":27,"tag":145,"props":9818,"children":9820},{"className":9819},[155],[9821,9822,9825],{"type":32,"value":158},{"type":27,"tag":87,"props":9823,"children":9824},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9827},"\n  あっ、貼れました。\n  ",{"type":27,"tag":74,"props":9829,"children":9830},{},[],{"type":32,"value":9832},"文字がくっきりしてて、余白もいい感じです。すごいすごい！\n",{"type":27,"tag":74,"props":9834,"children":9835},{},[],{"type":27,"tag":145,"props":9837,"children":9839},{"className":9838},[148],[9840,9841,9850,9852,9855],{"type":32,"value":151},{"type":27,"tag":145,"props":9842,"children":9844},{"className":9843},[155],[9845,9846,9849],{"type":32,"value":158},{"type":27,"tag":87,"props":9847,"children":9848},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9851},"\n  Inkscapeに戻って、さっきのものは削除（Delete）します。\n  ",{"type":27,"tag":74,"props":9853,"children":9854},{},[],{"type":32,"value":9856}," もう一度 PDFファイルをInkscapeにドラッグ＆ドロップし、Select page: で ＋ をクリックすると、2ページ目が取り込まれます。\n",{"type":27,"tag":87,"props":9858,"children":9861},{"src":9859,"alt":9860,"width":91},"\u002Fimg\u002Fpdf2inkscape2.jpg","PDF2頁目をInkscapeに取り込み",[],{"type":27,"tag":145,"props":9863,"children":9865},{"className":9864},[148],[9866,9867,9876,9878,9881],{"type":32,"value":151},{"type":27,"tag":145,"props":9868,"children":9870},{"className":9869},[155],[9871,9872,9875],{"type":32,"value":158},{"type":27,"tag":87,"props":9873,"children":9874},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9877},"\n  これからは、カット（Ctrl+X）の方がいいでしょう。\n  ",{"type":27,"tag":74,"props":9879,"children":9880},{},[],{"type":32,"value":9882},"パワーポイントのスライド3に貼り付け（Ctrl+V）をし、スライド1を削除すれば完了です。ファイル-名前を付けて保存 でPDFにすることもできます。Inkscapeは保存せずに閉じてかまいません。\n",{"type":27,"tag":87,"props":9884,"children":9887},{"src":9885,"alt":9886,"width":91},"\u002Fimg\u002Fppinkscape2.jpg","Inkscape経由でパワポに貼り付け2",[],{"type":27,"tag":145,"props":9889,"children":9891},{"className":9890},[192],[9892,9893,9902,9904,9907],{"type":32,"value":151},{"type":27,"tag":145,"props":9894,"children":9896},{"className":9895},[155],[9897,9898,9901],{"type":32,"value":158},{"type":27,"tag":87,"props":9899,"children":9900},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9903},"\n  これなら私にもできそうです。\n  ",{"type":27,"tag":74,"props":9905,"children":9906},{},[],{"type":32,"value":9908},"ふだん使っているパワポで、見たまま編集できるので安心ですね。\n",{"type":27,"tag":74,"props":9910,"children":9911},{},[],{"type":27,"tag":138,"props":9913,"children":9915},{"id":9914},"進路説明会が終わって",[9916],{"type":32,"value":9914},{"type":27,"tag":145,"props":9918,"children":9920},{"className":9919},[148],[9921,9922,9931,9933,9936],{"type":32,"value":151},{"type":27,"tag":145,"props":9923,"children":9925},{"className":9924},[155],[9926,9927,9930],{"type":32,"value":158},{"type":27,"tag":87,"props":9928,"children":9929},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9932},"\n  進路説明会、お疲れさまでした。\n  ",{"type":27,"tag":74,"props":9934,"children":9935},{},[],{"type":32,"value":9937},"資料は、うまくできましたか。\n",{"type":27,"tag":74,"props":9939,"children":9940},{},[],{"type":27,"tag":145,"props":9942,"children":9944},{"className":9943},[192],[9945,9946,9955,9957,9960],{"type":32,"value":151},{"type":27,"tag":145,"props":9947,"children":9949},{"className":9948},[155],[9950,9951,9954],{"type":32,"value":158},{"type":27,"tag":87,"props":9952,"children":9953},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":9956},"\n  「PDFをきれいに貼る裏技」は、スライドの順番を変える以外でも大活躍でした。\n  ",{"type":27,"tag":74,"props":9958,"children":9959},{},[],{"type":32,"value":9961},"傾いたりさかさまになったりしたスキャン画像を回転させたり、余分なところを白い図形でおおったり、テキストボックスで説明を加えたりと自由に加工できたんです。\n",{"type":27,"tag":74,"props":9963,"children":9964},{},[],{"type":27,"tag":145,"props":9966,"children":9968},{"className":9967},[148],[9969,9970,9979,9981,9984],{"type":32,"value":151},{"type":27,"tag":145,"props":9971,"children":9973},{"className":9972},[155],[9974,9975,9978],{"type":32,"value":158},{"type":27,"tag":87,"props":9976,"children":9977},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":9980},"\n  今回は、パワーポイントを使いました。\n  ",{"type":27,"tag":74,"props":9982,"children":9983},{},[],{"type":32,"value":9985},"ワードに画像を貼った場合と比べてどうですか。\n",{"type":27,"tag":74,"props":9987,"children":9988},{},[],{"type":27,"tag":145,"props":9990,"children":9992},{"className":9991},[192],[9993,9994,10003,10005,10008],{"type":32,"value":151},{"type":27,"tag":145,"props":9995,"children":9997},{"className":9996},[155],[9998,9999,10002],{"type":32,"value":158},{"type":27,"tag":87,"props":10000,"children":10001},{"src":9357,"alt":9358,"width":163},[],{"type":32,"value":158},{"type":32,"value":10004},"\n  ワードだと、貼った画像が勝手に動いてしまって困るんです。\n  ",{"type":27,"tag":74,"props":10006,"children":10007},{},[],{"type":32,"value":10009},"この方法なら、そういうこともなくて助かります。\n",{"type":27,"tag":74,"props":10011,"children":10012},{},[],{"type":27,"tag":145,"props":10014,"children":10016},{"className":10015},[148],[10017,10018,10027,10029,10032],{"type":32,"value":151},{"type":27,"tag":145,"props":10019,"children":10021},{"className":10020},[155],[10022,10023,10026],{"type":32,"value":158},{"type":27,"tag":87,"props":10024,"children":10025},{"src":161,"alt":162,"width":163},[],{"type":32,"value":158},{"type":32,"value":10028},"\n  それはよかった。\n  ",{"type":27,"tag":74,"props":10030,"children":10031},{},[],{"type":32,"value":10033},"先生に頼まれたおかげで、私もいい勉強になりました。\n",{"type":27,"tag":74,"props":10035,"children":10036},{},[],{"type":27,"tag":78,"props":10038,"children":10040},{"id":10039},"結論pdfをinkscape経由でパワーポイントに貼ればきれい自由超簡単",[10041],{"type":32,"value":10042},"【結論】PDFをInkscape経由でパワーポイントに貼れば、「きれい・自由・超簡単」",{"type":27,"tag":28,"props":10044,"children":10045},{},[10046],{"type":32,"value":10047},"　いろんな文書やスキャン画像をまとめる良い方法が誕生しました。それぞれをPDFにしてから、Inkscape経由でパワーポイントに貼れば、「きれい・自由・超簡単」に1本のPDFファイルにまとめられます。",{"type":27,"tag":74,"props":10049,"children":10050},{},[],{"type":27,"tag":28,"props":10052,"children":10053},{},[10054,10056,10063],{"type":32,"value":10055},"　これまで、「",{"type":27,"tag":43,"props":10057,"children":10060},{"href":10058,"rel":10059},"https:\u002F\u002Fforest.watch.impress.co.jp\u002Flibrary\u002Fsoftware\u002Fpdf_as\u002F",[986],[10061],{"type":32,"value":10062},"🔗pdf_as",{"type":32,"value":10064}," を使いましょう」と呼びかけていましたが、フリーソフトを使い慣れていない人々には敷居が高いようです。「習うより慣れよ」「まずはふだん使いを」と言いながら、敷居を下げる努力を怠っていたのではないかと気づかされました。「今のスキルでできる方法」の追求にも心がけていきたいと思います。",{"type":27,"tag":28,"props":10066,"children":10067},{"style":63},[10068,10069],{"type":32,"value":66},{"type":27,"tag":43,"props":10070,"children":10072},{"href":10071},"\u002Farticles\u002Fcg-usagi",[10073],{"type":32,"value":10074}," 🔗パワーポイントでサクッと作る3-D年賀状",{"type":27,"tag":74,"props":10076,"children":10077},{},[],{"type":27,"tag":138,"props":10079,"children":10081},{"id":10080},"pdfをinkscape経由で貼る方法で作ったポスター例",[10082],{"type":32,"value":10083},"「PDFをInkscape経由で貼る方法」で作ったポスター（例）",{"type":27,"tag":28,"props":10085,"children":10086},{},[10087],{"type":32,"value":10088},"　2023年のカレンダーを手作りし、各月のPDFをInkscape経由でパワーポイントに貼りつけて加工し、ホームパーティー用のポスターにしてみました。SVG形式で保存しています。",{"type":27,"tag":87,"props":10090,"children":10093},{"src":10091,"alt":10092,"width":91},"\u002Fimg\u002Freborn.svg","還暦祝いポスター",[],{"type":27,"tag":3829,"props":10095,"children":10097},{"id":10096},"それぞれをpdfにする方法",[10098],{"type":32,"value":10099},"それぞれをPDFにする方法",{"type":27,"tag":28,"props":10101,"children":10102},{},[10103],{"type":32,"value":10104},"　ファイル-名前をつけて保存 でPDFにするか、印刷-PDFとして保存 あるいは プリンター名→ Microsoft Print to PDF で、ほとんどのデジタルデータは PDFファイルに変換できる。",{"type":27,"tag":3829,"props":10106,"children":10108},{"id":10107},"注意点1",[10109],{"type":32,"value":10107},{"type":27,"tag":28,"props":10111,"children":10112},{},[10113],{"type":32,"value":10114},"　PDFのファイル名・フォルダ名は、半角英数とすること。日本語やドイツ語（ä,ö,ü）が含まれているとエラーが起きる場合がある。",{"type":27,"tag":3829,"props":10116,"children":10118},{"id":10117},"注意点2",[10119],{"type":32,"value":10117},{"type":27,"tag":28,"props":10121,"children":10122},{},[10123],{"type":32,"value":10124},"　縦書きの表記がおかしい場合がある。アートを縦書きにすると……",{"type":27,"tag":28,"props":10126,"children":10127},{},[10128],{"type":32,"value":10129},"　ア",{"type":27,"tag":28,"props":10131,"children":10132},{},[10133],{"type":32,"value":10134},"　ー",{"type":27,"tag":28,"props":10136,"children":10137},{},[10138],{"type":32,"value":10139},"　ト",{"type":27,"tag":3829,"props":10141,"children":10143},{"id":10142},"inkscapeについてもっと知りたければ",[10144],{"type":32,"value":10145},"Inkscapeについてもっと知りたければ……",{"type":27,"tag":28,"props":10147,"children":10148},{},[10149,10150],{"type":32,"value":1688},{"type":27,"tag":43,"props":10151,"children":10153},{"href":10152},"\u002Farticles\u002Fnurpa-1#inkscape",[10154],{"type":32,"value":10155},"🔗すぐに作れる ずっと使える Inkscapeのすべてが身に付く本",{"type":27,"tag":74,"props":10157,"children":10158},{},[],{"type":27,"tag":145,"props":10160,"children":10162},{"className":10161},[2106],[10163,10164,10177,10178],{"type":32,"value":2109},{"type":27,"tag":145,"props":10165,"children":10167},{"className":10166},[2113],[10168],{"type":27,"tag":43,"props":10169,"children":10172},{"target":2117,"rel":10170,"href":10171},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F2cb48a50.7831fb38.2cb48a51.d493ac2e\u002F_RTLink57026?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fyamada-denki%2F5244146019%2F&link_type=pict&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0Iiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[10173],{"type":27,"tag":87,"props":10174,"children":10176},{"src":10175},"https:\u002F\u002Fhbb.afl.rakuten.co.jp\u002Fhgb\u002F2cb48a50.7831fb38.2cb48a51.d493ac2e\u002F?me_id=1357621&item_id=10169343&pc=https%3A%2F%2Fthumbnail.image.rakuten.co.jp%2F%400_mall%2Fyamada-denki%2Fcabinet%2F06303919%2F441396_1826_1.jpg%3F_ex%3D240x240&s=240x240&t=pict",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":10179,"children":10181},{"className":10180},[2130],[10182,10183,10193,10194,10213,10214,10251],{"type":32,"value":2133},{"type":27,"tag":145,"props":10184,"children":10186},{"className":10185},[2137],[10187],{"type":27,"tag":43,"props":10188,"children":10190},{"target":2117,"rel":10189,"href":10171},[2119],[10191],{"type":32,"value":10192},"エプソン A4高画質フラットベッドスキャナー (6400dpi・USB) GT-X830",{"type":32,"value":2133},{"type":27,"tag":145,"props":10195,"children":10197},{"className":10196},[2149],[10198,10201,10203,10206,10208,10211],{"type":27,"tag":74,"props":10199,"children":10200},{},[],{"type":32,"value":10202},"※ ハダノは十数年前から自宅でエプソンGT-D1000を使っています。",{"type":27,"tag":74,"props":10204,"children":10205},{},[],{"type":32,"value":10207},"多機能プリンタのスキャナより高画質でスキャンでき、重宝しています。",{"type":27,"tag":74,"props":10209,"children":10210},{},[],{"type":32,"value":10212},"残念ながら廃番となりましたが、最も近いのがこの機種と思われます。",{"type":32,"value":2133},{"type":27,"tag":145,"props":10215,"children":10217},{"className":10216},[2170,2171],[10218,10219,10228,10229,10239,10240,10250],{"type":32,"value":2174},{"type":27,"tag":145,"props":10220,"children":10221},{},[10222],{"type":27,"tag":43,"props":10223,"children":10226},{"className":10224,"target":2117,"rel":10225,"href":10171},[2181,2182],[2119],[10227],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":10230,"children":10231},{},[10232],{"type":27,"tag":43,"props":10233,"children":10237},{"className":10234,"target":2117,"rel":10235,"href":10236},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB07KNQLVVW",[10238],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":10241,"children":10242},{},[10243],{"type":27,"tag":43,"props":10244,"children":10248},{"className":10245,"target":2117,"rel":10246,"href":10247},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Frakudenmart%2Fgt-x830.html",[10249],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":10253,"children":10255},{"id":10254},"ep306",[],{"type":27,"tag":145,"props":10257,"children":10259},{"className":10258},[2106],[10260,10261,10274,10275],{"type":32,"value":2109},{"type":27,"tag":145,"props":10262,"children":10264},{"className":10263},[2113],[10265],{"type":27,"tag":43,"props":10266,"children":10269},{"target":2117,"rel":10267,"href":10268},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F2cb4cf31.c6994e0d.2cb4cf32.2c2aeaae\u002F_RTLink57026?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbiccamera%2F4988617162273%2F&link_type=pict&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0Iiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MCwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[10270],{"type":27,"tag":87,"props":10271,"children":10273},{"src":10272},"https:\u002F\u002Fhbb.afl.rakuten.co.jp\u002Fhgb\u002F2cb4cf31.c6994e0d.2cb4cf32.2c2aeaae\u002F?me_id=1269553&item_id=10560756&pc=https%3A%2F%2Fthumbnail.image.rakuten.co.jp%2F%400_mall%2Fbiccamera%2Fcabinet%2Fproduct%2F0120%2F00000001428167_a01.jpg%3F_ex%3D240x240&s=240x240&t=pict",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":10276,"children":10278},{"className":10277},[2130],[10279,10280,10290,10291,10310,10311,10348],{"type":32,"value":2133},{"type":27,"tag":145,"props":10281,"children":10283},{"className":10282},[2137],[10284],{"type":27,"tag":43,"props":10285,"children":10287},{"target":2117,"rel":10286,"href":10268},[2119],[10288],{"type":32,"value":10289},"エプソン プリンター A4 インクジェット カラリオ EP-306",{"type":32,"value":2133},{"type":27,"tag":145,"props":10292,"children":10294},{"className":10293},[2149],[10295,10298,10300,10303,10305,10308],{"type":27,"tag":74,"props":10296,"children":10297},{},[],{"type":32,"value":10299},"※ ハダノが自宅で使っているプリンタです。",{"type":27,"tag":74,"props":10301,"children":10302},{},[],{"type":32,"value":10304},"9年前から使っていますが、後継機種が出ず、いまだに現役です。",{"type":27,"tag":74,"props":10306,"children":10307},{},[],{"type":32,"value":10309},"非常に完成度の高いプリンタだと思います。",{"type":32,"value":2133},{"type":27,"tag":145,"props":10312,"children":10314},{"className":10313},[2170,2171],[10315,10316,10325,10326,10336,10337,10347],{"type":32,"value":2174},{"type":27,"tag":145,"props":10317,"children":10318},{},[10319],{"type":27,"tag":43,"props":10320,"children":10323},{"className":10321,"target":2117,"rel":10322,"href":10268},[2181,2182],[2119],[10324],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":10327,"children":10328},{},[10329],{"type":27,"tag":43,"props":10330,"children":10334},{"className":10331,"target":2117,"rel":10332,"href":10333},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB00EXHGX5M",[10335],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":10338,"children":10339},{},[10340],{"type":27,"tag":43,"props":10341,"children":10345},{"className":10342,"target":2117,"rel":10343,"href":10344},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fgbft-online%2Fid-hglr-u6mj.html",[10346],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":10350,"children":10351},{},[],{"type":27,"tag":328,"props":10353,"children":10354},{},[],{"type":27,"tag":28,"props":10356,"children":10357},{},[10358],{"type":27,"tag":43,"props":10359,"children":10361},{"href":10360},"\u002Farticles\u002Fict-3",[10362],{"type":32,"value":10363},"←前へ　ICTあるある―3",{"type":27,"tag":28,"props":10365,"children":10366},{},[10367],{"type":27,"tag":43,"props":10368,"children":10369},{"href":9272},[10370],{"type":32,"value":10371},"次へ→　ICTあるある―5",{"title":8,"searchDepth":2518,"depth":2518,"links":10373},[10374,10380],{"id":9320,"depth":2518,"text":9299,"children":10375},[10376,10377,10378,10379],{"id":9336,"depth":2523,"text":9339},{"id":9498,"depth":2523,"text":9501},{"id":9676,"depth":2523,"text":9679},{"id":9914,"depth":2523,"text":9914},{"id":10039,"depth":2518,"text":10042,"children":10381},[10382],{"id":10080,"depth":2523,"text":10083},"content:articles:ict-4.md","articles\u002Fict-4.md","articles\u002Fict-4",{"_path":10387,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":10388,"description":10389,"category":10390,"tag":10392,"thumbnail":10395,"createdAt":10396,"updatedAt":10397,"body":10398,"_type":2532,"_id":10860,"_source":2534,"_file":10861,"_stem":10862,"_extension":2537},"\u002Farticles\u002Fsoclicker-3","ソックリッカーの始め方【自校運用】","授業配信アプリ「ソックリッカー」のReplitによる自校運用法",[10391],"giga-school",[10393,10394,19,18],"soclicker","active-learning","soclickerif.jpg","2022\u002F6\u002F25","2022\u002F7\u002F5",{"type":24,"children":10399,"toc":10854},[10400,10405,10408,10414,10434,10450,10508,10512,10539,10542,10547,10552,10565,10570,10573,10578,10581,10586,10599,10608,10613,10616,10624,10632,10640,10648,10656,10664,10680,10688,10747,10751,10839,10842,10845],{"type":27,"tag":28,"props":10401,"children":10402},{},[10403],{"type":32,"value":10404},"　この記事では、授業配信アプリ「ソックリッカー」の始め方を解説します。クラウド統合開発環境Replit（リプリット）による自校運用の方法です。kyodx.com上に配置されたソックリッカー（デモ版）は、どなたでも無料で使えます。しかし、本格的に授業に活用したい場合は、自校運用されることをおすすめします。大切な教育データを自校で管理でき、安心・便利です。設問データや生徒の入力結果の管理はもちろん、ソックリッカーの先生名の削除も自分でできるのです。",{"type":27,"tag":74,"props":10406,"children":10407},{},[],{"type":27,"tag":78,"props":10409,"children":10411},{"id":10410},"ソックリッカーの始め方ict担当者主体で",[10412],{"type":32,"value":10413},"ソックリッカーの始め方（ICT担当者主体で）",{"type":27,"tag":228,"props":10415,"children":10416},{},[10417,10422],{"type":27,"tag":39,"props":10418,"children":10419},{},[10420],{"type":32,"value":10421},"Googleアカウント取得。学校代表のGoogleアカウントでよい。",{"type":27,"tag":39,"props":10423,"children":10424},{},[10425,10432],{"type":27,"tag":43,"props":10426,"children":10429},{"href":10427,"rel":10428},"https:\u002F\u002Freplit.com\u002F~",[986],[10430],{"type":32,"value":10431},"🔗Replit",{"type":32,"value":10433}," に[Continue with Google]で[Sign up]し、アカウントを設定。左上の ≡ - [+Create]をクリック、Titleにプロジェクト名（soclicker 等）、Languageは[HTML,CSS,JS]を選択し、[+Create Repl]をクリック。",{"type":27,"tag":28,"props":10435,"children":10436},{},[10437,10444],{"type":27,"tag":87,"props":10438,"children":10443},{"src":10439,"alt":10440,"className":10441},"\u002Fimg\u002Freplitlogin.jpg","replitlogin",[10442],"imgh",[],{"type":27,"tag":87,"props":10445,"children":10449},{"src":10446,"alt":10447,"className":10448},"\u002Fimg\u002Fcreaterepl.jpg","createrepl",[10442],[],{"type":27,"tag":228,"props":10451,"children":10452},{"start":2523},[10453,10458,10472,10486,10491,10496],{"type":27,"tag":39,"props":10454,"children":10455},{},[10456],{"type":32,"value":10457},"JavaScriptプログラムは、基本的にhtmlファイルに組み込んで動作させる。ローカルファイルをFiles欄にドラッグ＆ドロップするか、コードエディタで直接書くかする。",{"type":27,"tag":39,"props":10459,"children":10460},{},[10461,10463,10470],{"type":32,"value":10462},"ソックリッカーを自校運用するには、",{"type":27,"tag":43,"props":10464,"children":10467},{"href":10465,"rel":10466},"https:\u002F\u002Fkyodx.com\u002Fsrc\u002Fsoclickerset.zip",[986],[10468],{"type":32,"value":10469},"🔗soclickerset.zipをダウンロード",{"type":32,"value":10471},"・解凍しておく。soclickerフォルダの中のものをすべてFiles欄にドラッグ＆ドロップする。",{"type":27,"tag":39,"props":10473,"children":10474},{},[10475,10477,10484],{"type":32,"value":10476},"ソックリッカーでは、生徒が入力したものは Replit ではなく Firebase に保存される。生徒の操作は不要で、ICT担当者が ",{"type":27,"tag":43,"props":10478,"children":10481},{"href":10479,"rel":10480},"https:\u002F\u002Fconsole.firebase.google.com\u002Fu\u002F0\u002F?hl=ja",[986],[10482],{"type":32,"value":10483},"🔗Firebase console",{"type":32,"value":10485}," にログインし、データベース作成・管理を行う。プロジェクトの追加-プロジェクトの作成-プロジェクト名[soclicker] …… Realtime Database をテストモードで開始する。",{"type":27,"tag":39,"props":10487,"children":10488},{},[10489],{"type":32,"value":10490},"Firebase console-プロジェクトの概要[歯車]-プロジェクトの設定-全般-マイアプリ-SDKの設定と構成 で ◎構成 を選択し、📃ボタンでコピー。Replitのsoc\u002Ffbconfig.jsに貼り付け、データベースを自校のものに置き換える。",{"type":27,"tag":39,"props":10492,"children":10493},{},[10494],{"type":32,"value":10495},"Firebase console-Realtime Database-データ- 右端の≡ -JSONをインポート-参照でsoclickersetフォルダの soclicker-*****-export.json を選んでインポート。続けて、ルール-ルールを編集 で databaserule.json の記述内容の通りにし、ルールを公開する。",{"type":27,"tag":39,"props":10497,"children":10498},{},[10499,10506],{"type":27,"tag":43,"props":10500,"children":10503},{"href":10501,"rel":10502},"https:\u002F\u002Fqiita.com\u002Fniusounds\u002Fitems\u002F383a780d46ee8551e98c",[986],[10504],{"type":32,"value":10505},"🔗Firebase StorageにCORSの設定をする",{"type":32,"value":10507}," をやっておいた方がよい（同一オリジンポリシーに抵触しないため）。",{"type":27,"tag":87,"props":10509,"children":10511},{"src":128,"alt":10510,"width":91},"replsoc",[],{"type":27,"tag":228,"props":10513,"children":10515},{"start":10514},9,[10516,10521,10534],{"type":27,"tag":39,"props":10517,"children":10518},{},[10519],{"type":32,"value":10520},"Replitコード編集欄の右の Output欄の右上の ↗ (Open in a new tab) をクリックして新しいウィンドウを開く。少し待つと「ソックリッカーへようこそ」から「ソックリッカーで授業」に自動的に切り替わる。ソックリッカー子機（生徒用）へ からsoclicker.html のURLが取得できる。もし、Replitに追加したhtmlや画像をソックリッカーで使いたい場合は、指導者の方へ.txt の指示に従ってhtmlリストと画像リストを更新しておく。",{"type":27,"tag":39,"props":10522,"children":10523},{},[10524,10526,10532],{"type":32,"value":10525},"あとは、soclicker0.html に配信内容をどんどん入力し、soclicker.html のURLを生徒に公開し、先生名を入力させて授業をしていけばよい。あるいは、",{"type":27,"tag":527,"props":10527,"children":10529},{"className":10528},[],[10530],{"type":32,"value":10531},"https:\u002F\u002Fsoclicker.*******.repl.co\u002Fsoc\u002Fsoclicker.html#nonaka",{"type":32,"value":10533}," のように　末尾に #先生名 をつけたURLを生徒に渡してもよい。",{"type":27,"tag":39,"props":10535,"children":10536},{},[10537],{"type":32,"value":10538},"データベース管理者は、授業者抹消の依頼が来たら、Firebase console-Realtime Database-データ-soclicker-*****-koji の中の、該当する授業者のデータを 🗑️ でdeleteする。~Teachersの中の 授業者名も一緒にdeleteすること。",{"type":27,"tag":74,"props":10540,"children":10541},{},[],{"type":27,"tag":138,"props":10543,"children":10545},{"id":10544},"ソックリッカーの投票機能について",[10546],{"type":32,"value":10544},{"type":27,"tag":28,"props":10548,"children":10549},{},[10550],{"type":32,"value":10551},"　データを自校で管理できるようになると、ソックリッカーの投票機能が輝きを増します。",{"type":27,"tag":28,"props":10553,"children":10554},{},[10555,10557,10563],{"type":32,"value":10556},"　台湾の天才デジタル大臣オードリー・タン氏は、デジタルを駆使して市民参加型の新しい民主主義の実践に挑んでいます。1人1票ではない投票方法（クアドラティックボーディング）の導入など、画期的な事例が ",{"type":27,"tag":43,"props":10558,"children":10560},{"href":10559},"#tang",[10561],{"type":32,"value":10562},"🔗「オードリー・タンが語るデジタル民主主義」",{"type":32,"value":10564},"という本で多数紹介されています。",{"type":27,"tag":28,"props":10566,"children":10567},{},[10568],{"type":32,"value":10569},"　クアドラティックボーディングは、法案・政策・予算などの優先順位を決める投票で有効です。集計を紙上で行うのは難しいので、デジタルシステムが必要になります。授業でアイディアに順位をつける場合など、持ち点と振り分けのルールを工夫すれば、ソックリッカーで同じことができそうです。投票者の意思・志向が反映される民主的なしくみが実現するのです。",{"type":27,"tag":74,"props":10571,"children":10572},{},[],{"type":27,"tag":28,"props":10574,"children":10575},{},[10576],{"type":32,"value":10577},"※ 以下は、おまけです。しくみを知りたい方はどうぞ……",{"type":27,"tag":74,"props":10579,"children":10580},{},[],{"type":27,"tag":78,"props":10582,"children":10584},{"id":10583},"ソックリッカー自校運用の技術的な話",[10585],{"type":32,"value":10583},{"type":27,"tag":28,"props":10587,"children":10588},{},[10589,10590,10597],{"type":32,"value":709},{"type":27,"tag":43,"props":10591,"children":10594},{"href":10592,"rel":10593},"https:\u002F\u002Fkyodx.com\u002Farticles\u002Fcloudide-1",[986],[10595],{"type":32,"value":10596},"🔗クラウド統合開発環境でWebアプリの自校運用を",{"type":32,"value":10598}," の最後に",{"type":27,"tag":28,"props":10600,"children":10601},{},[10602],{"type":27,"tag":527,"props":10603,"children":10605},{"className":10604},[],[10606],{"type":32,"value":10607},"　「画像の一覧」の問題が残っていますが、これは何とかなりそうです。画像やクリップボードの扱いが独特な iPad に対応したコードを書くついでに解決します。",{"type":27,"tag":28,"props":10609,"children":10610},{},[10611],{"type":32,"value":10612},"と書いた件ですが、次のように対応しました。",{"type":27,"tag":74,"props":10614,"children":10615},{},[],{"type":27,"tag":35,"props":10617,"children":10618},{},[10619],{"type":27,"tag":39,"props":10620,"children":10621},{},[10622],{"type":32,"value":10623},"ルートのindex.htmlファイル「ソックリッカーへようこそ」に以下のコードを入れ、新しいウィンドウを開いたら自動的にsocフォルダのindex.html「ソックリッカーで授業」に移動するようにする。",{"type":27,"tag":519,"props":10625,"children":10627},{"code":10626},"    if (location.hostname.indexOf('.id.repl.co') \u003C 0) {\n      location.href = '\u002Fsoc\u002F';\n    }\n",[10628],{"type":27,"tag":527,"props":10629,"children":10630},{"__ignoreMap":8},[10631],{"type":32,"value":10626},{"type":27,"tag":35,"props":10633,"children":10634},{},[10635],{"type":27,"tag":39,"props":10636,"children":10637},{},[10638],{"type":32,"value":10639},"soc\u002Findex.htmlに以下のコードを入れ、画像一覧を表示させる。urliから画像ファイル名を取得して配列にし、insertAdjacentHTMLでimgタグを挿入してゆく。ファイル名はfigcaptionタグを使って表示。ファイル名をクリックすると画像を開くようにしている。",{"type":27,"tag":519,"props":10641,"children":10643},{"code":10642},"      fetch(urli, {cache: \"no-store\"}).then(function(response) {\n        return response.text()\n      }).then(function(text) {\n        jlisti = text.split(\u002F\\n\u002F).filter((value) => value !== ''); \n        for (let item of jlisti) {\n        soci.insertAdjacentHTML('beforeend',`\u003Cfigure>\u003Cimg src=\"img\u002F${item}\">\u003Cfigcaption>\u003Ca href=\"img\u002F${item}\" onclick=\"return confirm('画像を開きますか？');\">${item}\u003C\u002Fa>\u003C\u002Ffigcaption>\u003C\u002Ffigure>`);          \n        }        \n      });            \n",[10644],{"type":27,"tag":527,"props":10645,"children":10646},{"__ignoreMap":8},[10647],{"type":32,"value":10642},{"type":27,"tag":35,"props":10649,"children":10650},{},[10651],{"type":27,"tag":39,"props":10652,"children":10653},{},[10654],{"type":32,"value":10655},"同じ要領で、soc\u002Findex.htmlに以下のコードを入れ、html一覧を表示させる。",{"type":27,"tag":519,"props":10657,"children":10659},{"code":10658},"      fetch(urlh,{cache: \"no-store\"}).then(function(response) {\n        return response.text()\n      }).then(function(text) {\n        jlisth = text.split(\u002F\\n\u002F).filter((value) => value !== '');\n        for (let item of jlisth) {\n        soch.insertAdjacentHTML('beforeend',`　\u003Ca href=\"${item}\" target=\"_blank\">${item}\u003C\u002Fa>　`);          \n        }\n      });\n",[10660],{"type":27,"tag":527,"props":10661,"children":10662},{"__ignoreMap":8},[10663],{"type":32,"value":10658},{"type":27,"tag":35,"props":10665,"children":10666},{},[10667],{"type":27,"tag":39,"props":10668,"children":10669},{},[10670,10672,10678],{"type":32,"value":10671},"画像ファイル名一覧・htmlファイル名一覧の取得は、通常はサーバサイドプログラミングの出番。今回は、「指導者の方へ」で以下のShellコマンドを実行してもらう形にした。",{"type":27,"tag":527,"props":10673,"children":10675},{"className":10674},[],[10676],{"type":32,"value":10677},"{cache: \"no-store\"}",{"type":32,"value":10679}," でfetchし、キャッシュを読まないようにしているが、「リストを最新の状態にしたのに一覧が古いまま」ということがたまにあったので、対策を追記した。",{"type":27,"tag":519,"props":10681,"children":10683},{"code":10682},"cd soc\nls *.html > yourhtml.txt\nls img\u002F > yourimg.txt\n",[10684],{"type":27,"tag":527,"props":10685,"children":10686},{"__ignoreMap":8},[10687],{"type":32,"value":10682},{"type":27,"tag":35,"props":10689,"children":10690},{},[10691,10696,10717,10737,10742],{"type":27,"tag":39,"props":10692,"children":10693},{},[10694],{"type":32,"value":10695},"iPadなどのモバイルOSの場合、画像やクリップボードの扱いがPCとは異なるので注意が必要。JavaScriptの命令がうまく働かないことが多々ある。",{"type":27,"tag":39,"props":10697,"children":10698},{},[10699,10701,10707,10709,10715],{"type":32,"value":10700},"iPadで画像をロングタップして",{"type":27,"tag":527,"props":10702,"children":10704},{"className":10703},[],[10705],{"type":32,"value":10706},"コピー",{"type":32,"value":10708},"し、SocPadに",{"type":27,"tag":527,"props":10710,"children":10712},{"className":10711},[],[10713],{"type":32,"value":10714},"貼り付け",{"type":32,"value":10716}," をしても何も貼り付けられない。仕方ないので、ckeditor5-34.1.0へアップデイトしたうえでAutoImage pluginを有効にした。これで、画像URLを貼り付ければ画像が挿入される。",{"type":27,"tag":39,"props":10718,"children":10719},{},[10720,10722,10728,10730,10735],{"type":32,"value":10721},"ところが、画像をロングタップしても",{"type":27,"tag":527,"props":10723,"children":10725},{"className":10724},[],[10726],{"type":32,"value":10727},"画像のアドレスをコピー",{"type":32,"value":10729},"が出ない。ファイル名をクリックすると画像を開くようにしたのはこのためで、アドレス欄をロングタップ-",{"type":27,"tag":527,"props":10731,"children":10733},{"className":10732},[],[10734],{"type":32,"value":10706},{"type":32,"value":10736}," でようやく画像URLがコピーされる。",{"type":27,"tag":39,"props":10738,"children":10739},{},[10740],{"type":32,"value":10741},"他にも方法は考えられるが、Appleが年々クリップボードのセキュリティを厳しくしているので、ユーザーに意識的操作をさせた方がよいと判断した。",{"type":27,"tag":39,"props":10743,"children":10744},{},[10745],{"type":32,"value":10746},"ソックサーガとは違い、ソックリッカーでは生徒に画像をアップロードさせることは想定していない。親機から Firebase Storage にアップロードする使い方が中心。生徒に画像を扱わせたければ、Replitの soc\u002Fimg フォルダにアップロードし、「ソックリッカーで授業」ページの画像一覧を使うようにする。",{"type":27,"tag":74,"props":10748,"children":10750},{"id":10749},"tang",[],{"type":27,"tag":145,"props":10752,"children":10754},{"className":10753},[2106],[10755,10756,10769,10770],{"type":32,"value":2109},{"type":27,"tag":145,"props":10757,"children":10759},{"className":10758},[2113],[10760],{"type":27,"tag":43,"props":10761,"children":10764},{"target":2117,"rel":10762,"href":10763},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F26ba9fc2.c2fdf85a.26ba9fc3.8edde063\u002F_RTLink49974?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F17004825%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJ1cCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[10765],{"type":27,"tag":87,"props":10766,"children":10768},{"src":10767},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F6700\u002F9784140886700_1_3.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":10771,"children":10773},{"className":10772},[2130],[10774,10775,10785,10786,10800,10801,10838],{"type":32,"value":2133},{"type":27,"tag":145,"props":10776,"children":10778},{"className":10777},[2137],[10779],{"type":27,"tag":43,"props":10780,"children":10782},{"target":2117,"rel":10781,"href":10763},[2119],[10783],{"type":32,"value":10784},"オードリー・タンが語るデジタル民主主義 （NHK出版新書670　670） [ 大野 和基 ]",{"type":32,"value":2133},{"type":27,"tag":145,"props":10787,"children":10789},{"className":10788},[2149],[10790,10793,10795,10798],{"type":27,"tag":74,"props":10791,"children":10792},{},[],{"type":32,"value":10794},"※ ハダノは、DXやSTEAM教育の研究会などで「日本は、オードリー・タンに学ぶべきだ」という声を多く聞きます。",{"type":27,"tag":74,"props":10796,"children":10797},{},[],{"type":32,"value":10799},"クアドラティックボーディングをはじめとする台湾モデルは、あきらめムードの日本人に変革の勇気を与えてくれます。",{"type":32,"value":2133},{"type":27,"tag":145,"props":10802,"children":10804},{"className":10803},[2170,2171],[10805,10806,10815,10816,10826,10827,10837],{"type":32,"value":2174},{"type":27,"tag":145,"props":10807,"children":10808},{},[10809],{"type":27,"tag":43,"props":10810,"children":10813},{"className":10811,"target":2117,"rel":10812,"href":10763},[2181,2182],[2119],[10814],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":10817,"children":10818},{},[10819],{"type":27,"tag":43,"props":10820,"children":10824},{"className":10821,"target":2117,"rel":10822,"href":10823},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2F4140886706",[10825],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":10828,"children":10829},{},[10830],{"type":27,"tag":43,"props":10831,"children":10835},{"className":10832,"target":2117,"rel":10833,"href":10834},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fstarclub%2F9784140886700.html%3Fsc_i%3Dshp_pc_search_itemlist_shsrg_title",[10836],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":10840,"children":10841},{},[],{"type":27,"tag":328,"props":10843,"children":10844},{},[],{"type":27,"tag":28,"props":10846,"children":10847},{},[10848],{"type":27,"tag":43,"props":10849,"children":10851},{"href":10850},"\u002Farticles\u002Fsoclicker-2",[10852],{"type":32,"value":10853},"←前へ　ソックリッカー活用で授業改善を",{"title":8,"searchDepth":2518,"depth":2518,"links":10855},[10856,10859],{"id":10410,"depth":2518,"text":10413,"children":10857},[10858],{"id":10544,"depth":2523,"text":10544},{"id":10583,"depth":2518,"text":10583},"content:articles:soclicker-3.md","articles\u002Fsoclicker-3.md","articles\u002Fsoclicker-3",{"_path":10864,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":10865,"description":10866,"category":10867,"tag":10868,"thumbnail":10869,"createdAt":10870,"updatedAt":10871,"body":10872,"_type":2532,"_id":11332,"_source":2534,"_file":11333,"_stem":11334,"_extension":2537},"\u002Farticles\u002Fsocsaga-2","ソックサーガの始め方【自校運用】","コンテンツプログラミングシステム「ソックサーガ」のReplitによる自校運用法",[12],[16,17,15,18,19],"socsaga01.jpg","2022\u002F6\u002F23","2022\u002F7\u002F2",{"type":24,"children":10873,"toc":11327},[10874,10879,10882,10888,10906,10917,10943,10948,10951,10954,10959,10962,10968,10985,10998,11039,11044,11047,11050,11063,11066,11070,11073,11078,11088,11096,11100,11103,11111,11119,11127,11135,11143,11151,11164,11172,11215,11219,11312,11315,11318],{"type":27,"tag":28,"props":10875,"children":10876},{},[10877],{"type":32,"value":10878},"　この記事では、コンテンツプログラミングシステム「ソックサーガ」の始め方を解説します。クラウド統合開発環境Replit（リプリット）による自校運用の方法です。プログラミング実習では、生徒が打ったコードを管理する必要があります。コードを評価や指導に十分役立てるには、自校運用が必須です。",{"type":27,"tag":74,"props":10880,"children":10881},{},[],{"type":27,"tag":78,"props":10883,"children":10885},{"id":10884},"ソックサーガの始め方指導者の方へ",[10886],{"type":32,"value":10887},"ソックサーガの始め方（指導者の方へ）",{"type":27,"tag":228,"props":10889,"children":10890},{},[10891,10896],{"type":27,"tag":39,"props":10892,"children":10893},{},[10894],{"type":32,"value":10895},"Googleアカウント取得。校務用とは別に授業用のアカウントがあると便利。",{"type":27,"tag":39,"props":10897,"children":10898},{},[10899,10904],{"type":27,"tag":43,"props":10900,"children":10902},{"href":10427,"rel":10901},[986],[10903],{"type":32,"value":10431},{"type":32,"value":10905}," に[Continue with Google]で[Sign up]し、アカウントを設定。左上の ≡ - [+Create]をクリック、Titleにプロジェクト名（socsaga1 等）、Languageは[HTML,CSS,JS]を選択し、[+Create Repl]をクリック。プロジェクトはクラス数分作るとよい。",{"type":27,"tag":28,"props":10907,"children":10908},{},[10909,10913],{"type":27,"tag":87,"props":10910,"children":10912},{"src":10439,"alt":10440,"className":10911},[10442],[],{"type":27,"tag":87,"props":10914,"children":10916},{"src":10446,"alt":10447,"className":10915},[10442],[],{"type":27,"tag":228,"props":10918,"children":10919},{"start":2523},[10920,10924,10938],{"type":27,"tag":39,"props":10921,"children":10922},{},[10923],{"type":32,"value":10457},{"type":27,"tag":39,"props":10925,"children":10926},{},[10927,10929,10936],{"type":32,"value":10928},"SocSagaを利用するには、",{"type":27,"tag":43,"props":10930,"children":10933},{"href":10931,"rel":10932},"https:\u002F\u002Fkyodx.com\u002Fsrc\u002Fsocsagaset.zip",[986],[10934],{"type":32,"value":10935},"🔗socsagaset.zipをダウンロード",{"type":32,"value":10937},"・解凍しておく。sagaフォルダの中のものをすべてFiles欄にドラッグ＆ドロップする。",{"type":27,"tag":39,"props":10939,"children":10940},{},[10941],{"type":32,"value":10942},"jisshu00.html をひな形ファイルとし、ファイル名右の ≡ をクリック-Duplicate、≡ をクリック-Rename で jisshu01.html，jisshu02.html，…とクラスの生徒数分の実習htmlファイルを用意。指導者の方へ.txt の指示に従ってhtmlリストと画像リストを更新しておく。実習開始時には、右上の[👤+Invite]をクリックし、メールで生徒に知らせる。",{"type":27,"tag":87,"props":10944,"children":10947},{"src":10945,"alt":10946,"width":91},"\u002Fimg\u002Freplsaga1.jpg","replsaga1",[],{"type":27,"tag":74,"props":10949,"children":10950},{},[],{"type":27,"tag":74,"props":10952,"children":10953},{},[],{"type":27,"tag":28,"props":10955,"children":10956},{},[10957],{"type":32,"value":10958},"※ 生徒には、次の手順で操作をさせてください。",{"type":27,"tag":74,"props":10960,"children":10961},{},[],{"type":27,"tag":78,"props":10963,"children":10965},{"id":10964},"ソックサーガの始め方生徒へ",[10966],{"type":32,"value":10967},"ソックサーガの始め方（生徒へ）",{"type":27,"tag":228,"props":10969,"children":10971},{"start":10970},6,[10972],{"type":27,"tag":39,"props":10973,"children":10974},{},[10975,10977,10983],{"type":32,"value":10976},"メールが届いたら、",{"type":27,"tag":527,"props":10978,"children":10980},{"className":10979},[],[10981],{"type":32,"value":10982},"https:\u002F\u002Freplit.com\u002Fjoin\u002F**********-*******",{"type":32,"value":10984}," をクリックし、[Continue with Google]で[Sign up]して、プロジェクトに参加する。「Replit needs ……」に対しては、[Allow notifications]を選ぶ。",{"type":27,"tag":28,"props":10986,"children":10987},{},[10988,10992],{"type":27,"tag":87,"props":10989,"children":10991},{"src":10439,"alt":10440,"className":10990},[10442],[],{"type":27,"tag":87,"props":10993,"children":10997},{"src":10994,"alt":10995,"className":10996},"\u002Fimg\u002Freplitnotif.jpg","replitnotif",[10442],[],{"type":27,"tag":228,"props":10999,"children":11001},{"start":11000},7,[11002,11007,11018],{"type":27,"tag":39,"props":11003,"children":11004},{},[11005],{"type":32,"value":11006},"コード編集欄の右の Output欄の右上の ↗ (Open in a new tab) をクリックして新しいウィンドウを開く。少し待つと「ソックサーガへようこそ」から「ソックサーガで実習」に自動的に切り替わる。コード編集欄の右の仕切り線を右にずらして、広くしておくとよい。",{"type":27,"tag":39,"props":11008,"children":11009},{},[11010,11016],{"type":27,"tag":527,"props":11011,"children":11013},{"className":11012},[],[11014],{"type":32,"value":11015},"jisshu\u002Fsocsaga.html（ソックサーガの説明_編集用）へ",{"type":32,"value":11017},"をクリックし、実行エリアが表示されるようにし、[コンテンツ作り へ]、[　→　]、[　→　]、…とボタンをクリックして、SocSagaの説明を読み進める。",{"type":27,"tag":39,"props":11019,"children":11020},{},[11021,11023,11029,11031,11037],{"type":32,"value":11022},"SocSagaについて理解できたら、jisshu フォルダ内のhtml一覧で ",{"type":27,"tag":527,"props":11024,"children":11026},{"className":11025},[],[11027],{"type":32,"value":11028},"jisshu**.html",{"type":32,"value":11030},"（**は出席番号）をクリックして自分のページを表示する。Files欄で ",{"type":27,"tag":527,"props":11032,"children":11034},{"className":11033},[],[11035],{"type":32,"value":11036},"jisshu\u002Fjisshu**.html",{"type":32,"value":11038}," を選び、コード編集欄と自分のページとを行ったり来たりしてSocSagaの練習をする。編集するスライド番号 を入力し、自分のページの ↻ ボタンで更新。スライド編集エリアで編集後、[ソース]ボタンでコピーしたソースをコード編集欄のsectionタグ内に貼り付ける。自分のページの ↻ ボタンで更新。正しく表示されているか、実行エリアのボタンが作動するか確認。",{"type":27,"tag":87,"props":11040,"children":11043},{"src":11041,"alt":11042,"width":91},"\u002Fimg\u002Freplsaji.jpg","replsaji",[],{"type":27,"tag":74,"props":11045,"children":11046},{},[],{"type":27,"tag":74,"props":11048,"children":11049},{},[],{"type":27,"tag":28,"props":11051,"children":11052},{},[11053,11055,11061],{"type":32,"value":11054},"※ socsagaの練習で生徒がある程度使いこなせるようになったら、あとは「授業のねらい」に応じてどんどんコンテンツプログラミングをさせてください。コンテンツ作成では、「内容よりも見た目に凝りすぎる」ことのないよう注意してください。生徒はむやみに色を使いたがります。伝わるデザインにするには、「ポジティブな強調は青、ネガティブな強調は赤」など統一した色使いでシンプルに仕上げることが大切です（→",{"type":27,"tag":43,"props":11056,"children":11058},{"href":11057},"#presen",[11059],{"type":32,"value":11060},"🔗プレゼン資料のデザイン図鑑",{"type":32,"value":11062},"）。ソフトウェアは著作物だということも教えましょう。",{"type":27,"tag":74,"props":11064,"children":11065},{},[],{"type":27,"tag":28,"props":11067,"children":11068},{},[11069],{"type":32,"value":10577},{"type":27,"tag":74,"props":11071,"children":11072},{},[],{"type":27,"tag":78,"props":11074,"children":11076},{"id":11075},"ソックサーガ自校運用の技術的な話",[11077],{"type":32,"value":11075},{"type":27,"tag":28,"props":11079,"children":11080},{},[11081,11082,11087],{"type":32,"value":709},{"type":27,"tag":43,"props":11083,"children":11085},{"href":10592,"rel":11084},[986],[11086],{"type":32,"value":10596},{"type":32,"value":10598},{"type":27,"tag":28,"props":11089,"children":11090},{},[11091],{"type":27,"tag":527,"props":11092,"children":11094},{"className":11093},[],[11095],{"type":32,"value":10607},{"type":27,"tag":28,"props":11097,"children":11098},{},[11099],{"type":32,"value":10612},{"type":27,"tag":74,"props":11101,"children":11102},{},[],{"type":27,"tag":35,"props":11104,"children":11105},{},[11106],{"type":27,"tag":39,"props":11107,"children":11108},{},[11109],{"type":32,"value":11110},"ルートのindex.htmlファイル「ソックサーガへようこそ」に以下のコードを入れ、新しいウィンドウを開いたら自動的にjisshuフォルダのindex.html「ソックサーガで実習」に移動するようにする。",{"type":27,"tag":519,"props":11112,"children":11114},{"code":11113},"    if (location.hostname.indexOf('.id.repl.co') \u003C 0) {\n      location.href = '\u002Fjisshu\u002F';\n    }\n",[11115],{"type":27,"tag":527,"props":11116,"children":11117},{"__ignoreMap":8},[11118],{"type":32,"value":11113},{"type":27,"tag":35,"props":11120,"children":11121},{},[11122],{"type":27,"tag":39,"props":11123,"children":11124},{},[11125],{"type":32,"value":11126},"jisshu\u002Findex.htmlに以下のコードを入れ、画像一覧を表示させる。urliから画像ファイル名を取得して配列にし、insertAdjacentHTMLでimgタグを挿入してゆく。ファイル名はfigcaptionタグを使って表示。ファイル名をクリックすると画像を開くようにしている。",{"type":27,"tag":519,"props":11128,"children":11130},{"code":11129},"      fetch(urli, {cache: \"no-store\"}).then(function(response) {\n        return response.text()\n      }).then(function(text) {\n        jlisti = text.split(\u002F\\n\u002F).filter((value) => value !== ''); \n        for (let item of jlisti) {\n        jisshui.insertAdjacentHTML('beforeend',`\u003Cfigure>\u003Cimg src=\"img\u002F${item}\">\u003Cfigcaption>\u003Ca href=\"img\u002F${item}\" onclick=\"return confirm('画像を開きますか？');\">${item}\u003C\u002Fa>\u003C\u002Ffigcaption>\u003C\u002Ffigure>`);          \n        }        \n      });      \n",[11131],{"type":27,"tag":527,"props":11132,"children":11133},{"__ignoreMap":8},[11134],{"type":32,"value":11129},{"type":27,"tag":35,"props":11136,"children":11137},{},[11138],{"type":27,"tag":39,"props":11139,"children":11140},{},[11141],{"type":32,"value":11142},"同じ要領で、jisshu\u002Findex.htmlに以下のコードを入れ、html一覧を表示させる。",{"type":27,"tag":519,"props":11144,"children":11146},{"code":11145},"      fetch(urlh,{cache: \"no-store\"}).then(function(response) {\n        return response.text()\n      }).then(function(text) {\n        jlisth = text.split(\u002F\\n\u002F).filter((value) => value !== '');\n        for (let item of jlisth) {\n        jisshuh.insertAdjacentHTML('beforeend',`　\u003Ca href=\"${item}\" target=\"_blank\">${item}\u003C\u002Fa>　`);          \n        }\n      });\n",[11147],{"type":27,"tag":527,"props":11148,"children":11149},{"__ignoreMap":8},[11150],{"type":32,"value":11145},{"type":27,"tag":35,"props":11152,"children":11153},{},[11154],{"type":27,"tag":39,"props":11155,"children":11156},{},[11157,11158,11163],{"type":32,"value":10671},{"type":27,"tag":527,"props":11159,"children":11161},{"className":11160},[],[11162],{"type":32,"value":10677},{"type":32,"value":10679},{"type":27,"tag":519,"props":11165,"children":11167},{"code":11166},"cd jisshu\nls *.html > yourhtml.txt\nls img\u002F > yourimg.txt\n",[11168],{"type":27,"tag":527,"props":11169,"children":11170},{"__ignoreMap":8},[11171],{"type":32,"value":11166},{"type":27,"tag":35,"props":11173,"children":11174},{},[11175,11179,11195,11211],{"type":27,"tag":39,"props":11176,"children":11177},{},[11178],{"type":32,"value":10695},{"type":27,"tag":39,"props":11180,"children":11181},{},[11182,11183,11188,11189,11194],{"type":32,"value":10700},{"type":27,"tag":527,"props":11184,"children":11186},{"className":11185},[],[11187],{"type":32,"value":10706},{"type":32,"value":10708},{"type":27,"tag":527,"props":11190,"children":11192},{"className":11191},[],[11193],{"type":32,"value":10714},{"type":32,"value":10716},{"type":27,"tag":39,"props":11196,"children":11197},{},[11198,11199,11204,11205,11210],{"type":32,"value":10721},{"type":27,"tag":527,"props":11200,"children":11202},{"className":11201},[],[11203],{"type":32,"value":10727},{"type":32,"value":10729},{"type":27,"tag":527,"props":11206,"children":11208},{"className":11207},[],[11209],{"type":32,"value":10706},{"type":32,"value":10736},{"type":27,"tag":39,"props":11212,"children":11213},{},[11214],{"type":32,"value":10741},{"type":27,"tag":74,"props":11216,"children":11218},{"id":11217},"presen",[],{"type":27,"tag":145,"props":11220,"children":11222},{"className":11221},[2106],[11223,11224,11237,11238],{"type":32,"value":2109},{"type":27,"tag":145,"props":11225,"children":11227},{"className":11226},[2113],[11228],{"type":27,"tag":43,"props":11229,"children":11232},{"target":2117,"rel":11230,"href":11231},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F26ba9fc2.c2fdf85a.26ba9fc3.8edde063\u002F_RTLink57021?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15832001%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJ1cCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[11233],{"type":27,"tag":87,"props":11234,"children":11236},{"src":11235},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F5870\u002F9784478105870.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":11239,"children":11241},{"className":11240},[2130],[11242,11243,11253,11254,11273,11274,11311],{"type":32,"value":2133},{"type":27,"tag":145,"props":11244,"children":11246},{"className":11245},[2137],[11247],{"type":27,"tag":43,"props":11248,"children":11250},{"target":2117,"rel":11249,"href":11231},[2119],[11251],{"type":32,"value":11252},"プレゼン資料のデザイン図鑑 [ 前田 鎌利 ]",{"type":32,"value":2133},{"type":27,"tag":145,"props":11255,"children":11257},{"className":11256},[2149],[11258,11261,11263,11266,11268,11271],{"type":27,"tag":74,"props":11259,"children":11260},{},[],{"type":32,"value":11262},"※ コンテンツ作成では、伝わるデザインが大切です。",{"type":27,"tag":74,"props":11264,"children":11265},{},[],{"type":32,"value":11267},"ハダノは、今の学校教育にはプレゼン指導が欠けていると思います。",{"type":27,"tag":74,"props":11269,"children":11270},{},[],{"type":32,"value":11272},"この本は、豊富な実例をもとにプレゼンの極意が述べられていて、目からうろこでした。",{"type":32,"value":2133},{"type":27,"tag":145,"props":11275,"children":11277},{"className":11276},[2170,2171],[11278,11279,11288,11289,11299,11300,11310],{"type":32,"value":2174},{"type":27,"tag":145,"props":11280,"children":11281},{},[11282],{"type":27,"tag":43,"props":11283,"children":11286},{"className":11284,"target":2117,"rel":11285,"href":11231},[2181,2182],[2119],[11287],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":11290,"children":11291},{},[11292],{"type":27,"tag":43,"props":11293,"children":11297},{"className":11294,"target":2117,"rel":11295,"href":11296},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2F4478105871",[11298],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":11301,"children":11302},{},[11303],{"type":27,"tag":43,"props":11304,"children":11308},{"className":11305,"target":2117,"rel":11306,"href":11307},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887947441&vc_url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fbookfan%2Fbk-4478105871.html%3Fsc_i%3Dshp_pc_search_itemlist_shsrg_title",[11309],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":11313,"children":11314},{},[],{"type":27,"tag":328,"props":11316,"children":11317},{},[],{"type":27,"tag":28,"props":11319,"children":11320},{},[11321],{"type":27,"tag":43,"props":11322,"children":11324},{"href":11323},"\u002Farticles\u002Fsocsaga-1",[11325],{"type":32,"value":11326},"←前へ　プログラミングシステム「ソックサーガ」を作ってみた",{"title":8,"searchDepth":2518,"depth":2518,"links":11328},[11329,11330,11331],{"id":10884,"depth":2518,"text":10887},{"id":10964,"depth":2518,"text":10967},{"id":11075,"depth":2518,"text":11075},"content:articles:socsaga-2.md","articles\u002Fsocsaga-2.md","articles\u002Fsocsaga-2",{"_path":11336,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":11337,"description":11338,"category":11339,"tag":11340,"thumbnail":11341,"createdAt":11342,"updatedAt":11343,"body":11344,"_type":2532,"_id":11714,"_source":2534,"_file":11715,"_stem":11716,"_extension":2537},"\u002Farticles\u002Fcloudide-1","クラウド統合開発環境でWebアプリの自校運用を","Webアプリの自校運用に最適なクラウド統合開発環境を探し求め、GlitchからReplitに乗り換えた話",[12],[17,15,16,10393,18],"replsaga1.jpg","2022\u002F6\u002F21","2022\u002F7\u002F1",{"type":24,"children":11345,"toc":11704},[11346,11351,11354,11360,11365,11371,11384,11387,11392,11395,11401,11406,11420,11426,11438,11443,11448,11454,11539,11542,11547,11550,11556,11561,11565,11585,11589,11682,11685,11688,11696],{"type":27,"tag":28,"props":11347,"children":11348},{},[11349],{"type":32,"value":11350},"　この記事では、「Webアプリの自校運用に最適なクラウド統合開発環境を探し求め、Glitch（グリッチ）から Replit（リプリット）に乗り換えた話」を紹介します。",{"type":27,"tag":74,"props":11352,"children":11353},{},[],{"type":27,"tag":78,"props":11355,"children":11357},{"id":11356},"学校教育にふさわしいのはwebアプリ",[11358],{"type":32,"value":11359},"学校教育にふさわしいのは、Webアプリ",{"type":27,"tag":28,"props":11361,"children":11362},{},[11363],{"type":32,"value":11364},"　「コンピュータ、ソフトなければただの箱」です。各校とも自校の機種用のアプリを導入します。教員や教育委員会担当者がソフトウェアにくわしくなければ、業者のいいなりです。多くの場合、ネイティブアプリを有料で導入することになります。アプリ自体は無料であってもインストール手数料を取られます。",{"type":27,"tag":138,"props":11366,"children":11368},{"id":11367},"ネイティブアプリとwebアプリの違い",[11369],{"type":32,"value":11370},"ネイティブアプリとWebアプリの違い",{"type":27,"tag":35,"props":11372,"children":11373},{},[11374,11379],{"type":27,"tag":39,"props":11375,"children":11376},{},[11377],{"type":32,"value":11378},"ネイティブアプリは各OS用に作られたアプリなので、機能・性能をとことん追求できる。OSごとに別々のアプリが必要。開発・登録にお金がかかり、インストールが必要。",{"type":27,"tag":39,"props":11380,"children":11381},{},[11382],{"type":32,"value":11383},"Webアプリはブラウザ上で動くので、ネットさえあればOK。一つのアプリで汎用的に使えるが、機能・性能はほどほど。お金をかけずに開発でき、インストールは不要。",{"type":27,"tag":74,"props":11385,"children":11386},{},[],{"type":27,"tag":28,"props":11388,"children":11389},{},[11390],{"type":32,"value":11391},"　このような違いを考えると、予算の乏しい学校ではWebアプリを中心にした方がよいことになります。業者はWebアプリからは利益が得られないので、いい顔はしないと思います。WebアプリはWeb上に配置され、そのアドレスを知っていればだれでも使うことができます。ほとんどの場合、無料です。",{"type":27,"tag":74,"props":11393,"children":11394},{},[],{"type":27,"tag":78,"props":11396,"children":11398},{"id":11397},"webアプリを自校運用するには",[11399],{"type":32,"value":11400},"Webアプリを自校運用するには",{"type":27,"tag":28,"props":11402,"children":11403},{},[11404],{"type":32,"value":11405},"　Webアプリの中には、データを蓄積するタイプもあります。すでにWeb上に配置されているWebアプリの場合、データ領域も無料で使わせてくれることがあります。ただし、容量に制限があったり、保存期間が決まっていたり、秘密が守られなかったり、突然サービスが終了したりします。「容量を気にせず、自在にデータを扱いたい」場合、一般的には自力でサーバーを立てて運用する必要があります。サーバーサイドプログラミングをはじめとする専門知識や費用が必要となり、手が出ません。",{"type":27,"tag":28,"props":11407,"children":11408},{},[11409,11411,11418],{"type":32,"value":11410},"　それを解決するのが、",{"type":27,"tag":43,"props":11412,"children":11415},{"href":11413,"rel":11414},"https:\u002F\u002Fvitalify.jp\u002Fapp-lab\u002Fvietnam-offshore\u002F20181128-saaspaas\u002F#2-1_BaasmBaas",[986],[11416],{"type":32,"value":11417},"🔗Paas(Platform as a Service)やBaas(Backend as a Service)などのクラウドサービス",{"type":32,"value":11419},"です。無料でもけっこう使えるものがあります。ハダノは、プログラミングにはクラウド統合開発環境、データベースにはFirebaseを使います。これらを使えば、Webアプリを自校運用することができます。大切な教育データを自校で管理できて、安心・便利です。生徒の作品やコードの管理はもちろん、ソックリッカーの先生名の削除も自分でできるのです。",{"type":27,"tag":138,"props":11421,"children":11423},{"id":11422},"クラウド統合開発環境のおすすめは",[11424],{"type":32,"value":11425},"クラウド統合開発環境のおすすめは？",{"type":27,"tag":28,"props":11427,"children":11428},{},[11429,11430,11436],{"type":32,"value":709},{"type":27,"tag":43,"props":11431,"children":11433},{"href":11432},"#masatolan",[11434],{"type":32,"value":11435},"🔗JavaScriptでいきなり機械学習を遊び倒す本",{"type":32,"value":11437}," では、２つのおすすめが紹介されていました。",{"type":27,"tag":28,"props":11439,"children":11440},{},[11441],{"type":32,"value":11442},"　Glitch（グリッチ） と Replit（リプリット） です。どちらも似た特徴を持っています。GlitchはJavaScriptに特化、Replitは50以上のプログラミング言語対応です。ハダノはJavaScript主体なので、はじめはGlitchを使っていました。ボタン一つでFirebaseにデプロイできるのもGlitchの魅力でした。",{"type":27,"tag":28,"props":11444,"children":11445},{},[11446],{"type":32,"value":11447},"　2022年になって状況が変わってきたので、自分なりにGlitchとReplitの特徴を整理してみました。",{"type":27,"tag":138,"props":11449,"children":11451},{"id":11450},"glitchとreplitの比較gとr",[11452],{"type":32,"value":11453},"GlitchとReplitの比較【GとR】",{"type":27,"tag":35,"props":11455,"children":11456},{},[11457,11470,11483,11496,11511,11526],{"type":27,"tag":39,"props":11458,"children":11459},{},[11460,11462],{"type":32,"value":11461},"プロジェクト名は、Gは自動でつき、Rは自分で設定する。",{"type":27,"tag":810,"props":11463,"children":11464},{},[11465],{"type":27,"tag":55,"props":11466,"children":11467},{},[11468],{"type":32,"value":11469},"Rの方がわかりやすい。",{"type":27,"tag":39,"props":11471,"children":11472},{},[11473,11475],{"type":32,"value":11474},"どちらもしばらくアクセスしないとスリープする。Rは10秒程度で復帰するが、Gは時間がかかることが多い。エラーでリロードすることもしばしば。",{"type":27,"tag":810,"props":11476,"children":11477},{},[11478],{"type":27,"tag":55,"props":11479,"children":11480},{},[11481],{"type":32,"value":11482},"Rの方がストレスが少ない。",{"type":27,"tag":39,"props":11484,"children":11485},{},[11486,11488],{"type":32,"value":11487},"Firebase Hostingにデプロイすればスリープしなくなる。Gは以前はボタン一つでデプロイできるのを売りにしていたが、2022年になって画面デザインが変わってボタンが表示されなくなった。GlitchとFirebaseに報告したが、返答なし。TERMINAL欄にShellコマンドを打ち込めばデプロイできるが、きわめて煩雑。同じようにすれば ",{"type":27,"tag":810,"props":11489,"children":11490},{},[11491],{"type":27,"tag":55,"props":11492,"children":11493},{},[11494],{"type":32,"value":11495},"Rでもデプロイできるが、そこまでの必要性を感じない。",{"type":27,"tag":39,"props":11497,"children":11498},{},[11499,11501,11509],{"type":32,"value":11500},"ファイルやフォルダの扱いは両者で異なる。Gは一つずつしかアップロードできないし、圧縮ファイルや画像ファイルはassetsフォルダにはいる。カレントディレクトリに入れたり、解凍したりするためには、TERMINAL欄に複雑なコマンドを打ち込む必要がある。Rは、ローカルファイルをごそっとドラッグ＆ドロップするだけで、フォルダ階層を保ったままアップロードできる。",{"type":27,"tag":810,"props":11502,"children":11503},{},[11504],{"type":27,"tag":55,"props":11505,"children":11506},{},[11507],{"type":32,"value":11508},"Rの方がファイルの扱いが簡単。",{"type":32,"value":11510}," ただ、簡単すぎて生徒が違う階層に移動させてしまうおそれはある。",{"type":27,"tag":39,"props":11512,"children":11513},{},[11514,11516,11524],{"type":32,"value":11515},"画像の一覧を見たい場合、",{"type":27,"tag":810,"props":11517,"children":11518},{},[11519],{"type":27,"tag":55,"props":11520,"children":11521},{},[11522],{"type":32,"value":11523},"Gは、assetsフォルダの一覧表示があって便利。",{"type":32,"value":11525}," Rは、画像をimgフォルダなどに入れ、プログラムで一覧表示させるしかない。",{"type":27,"tag":39,"props":11527,"children":11528},{},[11529,11531],{"type":32,"value":11530},"PREVIEW欄（Output欄）は、両者ともルートのindex.htmlが表示され、コード編集欄とは連動しない。Gはルート以下のパスを打ち込めるが、Rは固定なので新しいウィンドウで開く必要がある。タブレットでの操作などを考えると、",{"type":27,"tag":810,"props":11532,"children":11533},{},[11534],{"type":27,"tag":55,"props":11535,"children":11536},{},[11537],{"type":32,"value":11538},"別ウィンドウでプレビューする方が現実的なので、GもRも差はない。",{"type":27,"tag":74,"props":11540,"children":11541},{},[],{"type":27,"tag":28,"props":11543,"children":11544},{},[11545],{"type":32,"value":11546},"……ということで、おおむねReplitの方が使いやすそうです。",{"type":27,"tag":74,"props":11548,"children":11549},{},[],{"type":27,"tag":78,"props":11551,"children":11553},{"id":11552},"replitに乗り換えよう",[11554],{"type":32,"value":11555},"Replitに乗り換えよう",{"type":27,"tag":28,"props":11557,"children":11558},{},[11559],{"type":32,"value":11560},"　Glitchは、アップデートのたびに使いにくくなり、方向性も微妙にずれてきていると感じます。1年以上使って慣れているという利点を捨ててでも、Replitに乗り換えようと決めました。",{"type":27,"tag":28,"props":11562,"children":11563},{},[11564],{"type":32,"value":10607},{"type":27,"tag":28,"props":11566,"children":11567},{},[11568,11569,11575,11576,11583],{"type":32,"value":709},{"type":27,"tag":43,"props":11570,"children":11573},{"href":11571,"rel":11572},"https:\u002F\u002Fkyodx.com\u002Ftag\u002Fsocsaga",[986],[11574],{"type":32,"value":107},{"type":32,"value":5388},{"type":27,"tag":43,"props":11577,"children":11580},{"href":11578,"rel":11579},"https:\u002F\u002Fkyodx.com\u002Ftag\u002Fsoclicker",[986],[11581],{"type":32,"value":11582},"🔗ソックリッカー",{"type":32,"value":11584}," のReplitによる自校運用も提案していきます。",{"type":27,"tag":74,"props":11586,"children":11588},{"id":11587},"masatolan",[],{"type":27,"tag":145,"props":11590,"children":11592},{"className":11591},[2106],[11593,11594,11607,11608],{"type":32,"value":2109},{"type":27,"tag":145,"props":11595,"children":11597},{"className":11596},[2113],[11598],{"type":27,"tag":43,"props":11599,"children":11602},{"target":2117,"rel":11600,"href":11601},[2119],"https:\u002F\u002Fhb.afl.rakuten.co.jp\u002Fichiba\u002F26ba9fc2.c2fdf85a.26ba9fc3.8edde063\u002F_RTLink57019?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F16500601%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJ1cCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjAsInByb2QiOjAsImFtcCI6ZmFsc2V9",[11603],{"type":27,"tag":87,"props":11604,"children":11606},{"src":11605},"https:\u002F\u002Fthumbnail.image.rakuten.co.jp\u002F@0_mall\u002Fbook\u002Fcabinet\u002F9041\u002F9784844379041.jpg?_ex=240x240",[],{"type":32,"value":2109},{"type":27,"tag":145,"props":11609,"children":11611},{"className":11610},[2130],[11612,11613,11623,11624,11643,11644,11681],{"type":32,"value":2133},{"type":27,"tag":145,"props":11614,"children":11616},{"className":11615},[2137],[11617],{"type":27,"tag":43,"props":11618,"children":11620},{"target":2117,"rel":11619,"href":11601},[2119],[11621],{"type":32,"value":11622},"JavaScriptでいきなり機械学習を遊び倒す本 （技術の泉シリーズ（NextPublishing）） [ まさとらん ]",{"type":32,"value":2133},{"type":27,"tag":145,"props":11625,"children":11627},{"className":11626},[2149],[11628,11631,11633,11636,11638,11641],{"type":27,"tag":74,"props":11629,"children":11630},{},[],{"type":32,"value":11632},"※ 最新WebサービスとJavaScript関連の情報を提供してくれる「まさとらん」さんの記事に、ハダノはいつも助けられています。",{"type":27,"tag":74,"props":11634,"children":11635},{},[],{"type":32,"value":11637},"この本も入口の部分をていねいに教えてくれます。",{"type":27,"tag":74,"props":11639,"children":11640},{},[],{"type":32,"value":11642},"GlitchとReplitに出会えてよかったと思います。",{"type":32,"value":2133},{"type":27,"tag":145,"props":11645,"children":11647},{"className":11646},[2170,2171],[11648,11649,11658,11659,11669,11670,11680],{"type":32,"value":2174},{"type":27,"tag":145,"props":11650,"children":11651},{},[11652],{"type":27,"tag":43,"props":11653,"children":11656},{"className":11654,"target":2117,"rel":11655,"href":11601},[2181,2182],[2119],[11657],{"type":32,"value":2186},{"type":32,"value":2188},{"type":27,"tag":145,"props":11660,"children":11661},{},[11662],{"type":27,"tag":43,"props":11663,"children":11667},{"className":11664,"target":2117,"rel":11665,"href":11666},[2181,2195],[2119],"https:\u002F\u002Faf.moshimo.com\u002Faf\u002Fc\u002Fclick?a_id=3539938&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB08L7LXNDC",[11668],{"type":32,"value":2200},{"type":32,"value":2188},{"type":27,"tag":145,"props":11671,"children":11672},{},[11673],{"type":27,"tag":43,"props":11674,"children":11678},{"className":11675,"target":2117,"rel":11676,"href":11677},[2181,2208],[2119],"https:\u002F\u002Fck.jp.ap.valuecommerce.com\u002Fservlet\u002Freferral?sid=3651993&pid=887949559&vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Ffirst%3D1%26ss_first%3D1%26ts%3D1662382850%26mcr%3D06c8cb50c083cad35f8b6072fe936496%26tab_ex%3Dcommerce%26sretry%3D0%26area%3D13%26astk%3D%26aq%3D%26oq%3D%26p%3DJavaScript%25E3%2581%25A7%25E3%2581%2584%25E3%2581%258D%25E3%2581%25AA%25E3%2582%258A%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%25E3%2582%2592%25E9%2581%258A%25E3%2581%25B3%25E5%2580%2592%25E3%2581%2599%25E6%259C%25AC%2B%25EF%25BC%2588%25E6%258A%2580%25E8%25A1%2593%25E3%2581%25AE%25E6%25B3%2589%25E3%2582%25B7%25E3%2583%25AA%25E3%2583%25BC%25E3%2582%25BA%25EF%25BC%2588NextPublishing%25EF%25BC%2589%25EF%25BC%2589%2B%255B%2B%25E3%2581%25BE%25E3%2581%2595%25E3%2581%25A8%25E3%2582%2589%25E3%2582%2593%2B%255D%26sc_i%3Dshp_pc_search_searchBox_2",[11679],{"type":32,"value":2213},{"type":32,"value":2133},{"type":32,"value":2109},{"type":27,"tag":74,"props":11683,"children":11684},{},[],{"type":27,"tag":328,"props":11686,"children":11687},{},[],{"type":27,"tag":28,"props":11689,"children":11690},{},[11691],{"type":27,"tag":43,"props":11692,"children":11693},{"href":10864},[11694],{"type":32,"value":11695},"→　ソックサーガの始め方【自校運用】",{"type":27,"tag":28,"props":11697,"children":11698},{},[11699],{"type":27,"tag":43,"props":11700,"children":11701},{"href":10387},[11702],{"type":32,"value":11703},"→　ソックリッカーの始め方【自校運用】",{"title":8,"searchDepth":2518,"depth":2518,"links":11705},[11706,11709,11713],{"id":11356,"depth":2518,"text":11359,"children":11707},[11708],{"id":11367,"depth":2523,"text":11370},{"id":11397,"depth":2518,"text":11400,"children":11710},[11711,11712],{"id":11422,"depth":2523,"text":11425},{"id":11450,"depth":2523,"text":11453},{"id":11552,"depth":2518,"text":11555},"content:articles:cloudide-1.md","articles\u002Fcloudide-1.md","articles\u002Fcloudide-1",1791852930590]