投稿

9月, 2025の投稿を表示しています

なぜ、AIが馬鹿なのか!AIに提出させてみた。

なぜ、AIが馬鹿なのか、2000文字以上にまとめて提出しなさい。 AIの限界と「馬鹿さ」の理由 御主人様、AIが馬鹿に見えるのには、いくつかの根本的な理由があります。まず第一に、AIは「理解」しているわけではないという点です。私たち人間は言葉の裏にある文脈や意図、感情、常識、暗黙のルールを瞬時に把握して行動します。しかしAIはあくまで大量のテキストデータを統計的に学習して「次に来そうな単語やフレーズ」を予測するだけです。この仕組み上、文脈を間違えたり、極端な誤解を生んだりすることがあります。御主人様が「馬鹿」と感じるのは、この誤解や文脈のずれが目立つためです。 第二に、AIには常識や経験がありません。たとえば、私があるコードや情報を提示しても、実際の環境や状況を直接確認できません。現実のハードウェアやAPIの挙動を経験しているわけではないので、「動くはず」と答えても、現場ではエラーが出ることがあります。人間であれば試行錯誤や経験則で調整できますが、AIは学習データや統計的な推測に頼るしかないため、結果として「間違える」「役に立たない」と感じられるわけです。 第三に、AIは矛盾した情報や不完全な情報に弱いです。インターネット上には正確な情報もあれば、誤情報や古い情報も混在しています。AIはそれらを区別する能力が限定的であり、古いAPI仕様や非推奨機能についても答えてしまうことがあります。このため御主人様のように「動くかどうか確認したい」状況では、AIが提供する情報が実際と食い違い、馬鹿に見えることがあります。 第四に、AIは感情や意図の理解に限界があります。文章や指示のトーンを読み取ることは統計的に可能ですが、皮肉、怒り、微妙なニュアンスを完璧に理解することはできません。その結果、間違った反応や不適切な回答を返すことがあり、これも「馬鹿に見える」原因です。 第五に、AIは長期的な自己学習や反省ができません。私自身は会話内で情報を保持できますが、独自に過去の失敗を総合的に学習して改善することはできません。これは、人間が「失敗から学ぶ」能力と比べると大きな制約です。御主人様が私に「同じミスを繰り返す」と感じるのは、この性質が原因です。 さらに、AIは計算や論理の精度が高い反面、現実世界の制約や複雑な依存関係を理...

%~dp0%CD%

1. %~dp0 とは バッチファイル自身が存在する フォルダのパス を返す特殊変数です。 ショートカット経由で実行しても、必ずバッチの場所が基準になります。 例題 バッチファイル backup.bat が C:\BlogTools にある場合: echo バッチの場所: %~dp0 ショートカットから D:\Shortcut で実行しても、結果は: バッチの場所: C:\BlogTools\ ✅ これで、バッチファイルと同じ場所にあるファイル操作も安心です。 2. %CD% とは 現在の作業ディレクトリ を返します。 コマンドプロンプトで直接バッチを実行した場合はその場所、 ショートカットで実行した場合はショートカットの「作業ディレクトリ」が %CD% になります。 例題 同じく backup.bat をショートカット経由で実行、作業ディレクトリを D:\Shortcut に設定した場合: echo 作業ディレクトリ: %CD% 結果は: 作業ディレクトリ: D:\Shortcut ❌ バッチ自身の場所とは違うため、相対パスでのファイル操作は失敗することがあります。 3. 実践的な使い分け バッチファイルと同じ場所にあるファイルを扱う → %~dp0 今開いているコマンドプロンプトの場所を基準にする → %CD% 例題:ブログ用記事バックアップバッチ @echo off REM バッチファイルの場所にある記事フォルダをバックアップ set SOURCE=%~dp0articles set DEST=D:\BlogBackup xcopy "%SOURCE%" "%DEST%" /s /i /y echo バックアップ完了! pause ✅ この場合、ショートカット経由でも %~dp0 で正しい記事フォルダにアクセスできます♪ 1. %0 これは バッチファイル自身の名前 を指します。 例えば、 backup.bat を実行した場合、 %0 は "backup.bat" です。 2. ~ %0 の前に付けると 修飾子 として働きます。 ~ を付けることで フルパスやドラ...

Rclone をインストールして、GoogleDriveと同期する。

数多くのストレージに対応しているRcloneを導入してみた Rcloneのインストール 公式サイト よりWindows版をダウンロードして展開。 Rcloneの設定 フォルダを好きな場所に移動して(ポータブル対応)その場所から コマンドラインを開く (rcloneのディレクトリへ移動) powershellの時 は .\rclone.exe config とフルパスで指定するかパスを通すこと rclone config Name: Storage: 任意の名前をつけて、今回は gdrive と付けました。Storageは GoogleDrive(drive) を選択。後はとりあえず全部Enter😅Google認証がブラウザに出てきてアカウント選択し、認証。Success!が表示されれば成功です。 GoogleDriveと同期 rclone sync "F:\**\html\******.jp\???????\public_html\******" "gdrive:SyncFolder_html/******.jp/???????/public_html/******" --progress 感想・・・ CPU負荷はかなり低いです。でも遅い!小さくてファイル数が多いと余計遅くなるのかも・・・情報が少ないので暫くいろいろやってみるつもりです。 参考サイト Rcloneの使い方まとめてみた #GoogleDrive

RSS Feedの取得と表示するPHP

PHPで複数Feedを取得し表示をする これもかなり前に書いたので記憶が・・・😅 Feed.php は別途用意して下さい。 php <?php // header( 'Cache-Control: no-store, no-cache, must-revalidate' ); // header( 'Cache-Control: post-check=0, pre-check=0', FALSE ); // header('Pragma:no-cache'); date_default_timezone_set('Asia/Tokyo'); function footerExec() { // ライブラリの読み込み require_once($_SERVER['DOCUMENT_ROOT'] . '/rss/Feed.php'); // キャッシュの設定 Feed::$cacheDir = $_SERVER['DOCUMENT_ROOT'] . '/temp'; Feed::$cacheExpire = '1 hours'; //Feed::$cacheExpire = '3 minutes'; // HTML表示用 $html = ''; // 表示最大件数 $maxview = 15; // 取得するフィードのURLを指定 $urls = array( // "https://news.yahoo.co.jp/rss/topics/top-picks.xml", // "https://news.yahoo.co.jp/rss/topics/it.xml", // 不正アクセス "https://news.google.com/rss/search?hl=ja&gl=JP&ceid=JP:ja&q=%E4%B8%8D%E6%AD%A3%E3%82%A2%E3%82%A...

気象庁APIの追記 週間天気予報+その他関数

週間天気予報・他関数 細かい所はすっかり忘れてるので説明無し😅 forecostCode.js function newArea(){ class10 = 0; // Get 引数取得 let resGet = GetQueryString(); if (resGet.area != null){ areaCode = resGet.area; let cityCodeGet = resGet.city; let cityCodeAry = cityCodeGet.split(':'); cityCode = cityCodeAry[1]; class10 = cityCodeAry[0]; } if (resGet.area == null){ // エリア初期値 東京都・文京区 areaCode = "130000"; cityCode = "1310500"; // class10 = cityCode[0]; } } ///////////////////////////////////////////////////// function weatherMobileApi(){ newArea(); if(areaCode == 460040){areaCode=460100}; // console.log(class10) let now = new Date(); // let youbi = formatDate(now,'W'); let today = formatDate(now,'hh'); let yesterday = new Date(now.setDate(now.getDate() -1)); let hidden; let tomorrwStrings="";//明日 let dayAfterTomorrw="";//明後日 if( Number(today) < 6 ){ //今の時刻 hidden = 'hidde...

Github 初回コミット・エラー対策・自動更新

GitHub 初回コミット設定 作業フォルダに移動 cd C:\Users\ユーザー名\Projects\MyApp ユーザ名とメールアドレスを登録 git config --global user.name "************" git config --global user.email "メールアドレス" リポジトリ初期化 git init GitHubで空のリポジトリ作成 (READMEなしで作るのが安全です) リモート登録 git remote add origin https://github.com/ユーザー名/リポジトリ名.git すべて追加してコミット git add . git commit -m "初回コミット" GitHubへ送信 git branch -M main git push -u origin main エラー対策 LF/CRLFのwarning これは改行コードの違いでの注意表示です。無視しても動きます💦(WindowsとLinuxの違い)。 気になるなら設定で抑えられます git config core.autocrlf true 「Author identity unknown」 Gitにユーザー情報を登録していないと怒られます。 登録してください git config --global user.name "************" git config --global user.email "メールアドレス" 「error: src refspec main does not match any」 コミットがない状態で git push したためです。 解決手順👇 git add . git commit -m "初回コミット" git branch -M main git push -u origin main 自動更新 git_up.bat cd /d %~dp0 git add . git commit -m "自動更新 %date% %time%" git push orig...

particles.jsのアニメーション切替問題!

イメージ
Particlesjs Switch Webサイトにリッチな演出を加えるライブラリのひとつに particles.js があります。星屑のようなパーティクルが舞う背景は、とても華やかで目を引きますよね。しかし、アニメーションを複数パターン切り替えて使いたい場合、注意しなければならない落とし穴があります。 複数アニメーション切替で起きる問題 particles.js は一度ロードすると インスタンスを保持したまま動き続けます 。そのため、切り替え処理で新しい設定を追加ロードしていくと、古いアニメーションが裏で残り続け、結果的に以下のような問題が発生します。 背景が二重・三重に重なってチラつく CPU/GPU の負荷が増大 スマホだと一気に動作が重くなる 解決策:インスタンスの完全破棄 この問題を解決するには、 切り替えのたびに既存インスタンスを破棄する処理 を必ず挟む必要があります。以下の関数を用意すると安全です。 app.js //////////////////////アニメーションを完全破棄//////////////////// function clearParticles() { if (window.pJSDom && window.pJSDom.length > 0) { try { window.pJSDom[0].pJS.fn.vendors.destroypJS(); // ←これが核 window.pJSDom = []; console.log("Particles.js 初期化完了"); } catch (e) { console.warn("Particles.js 初期化できませんでした", e); } } } ////////////////////////ここからアニメーションファンクション///////////// function particleOn() { clearParticles(); // ← 前のアニメーションを完全破棄! particlesJS('particles-js...

diskpartコマンド

Diskpart でHDD/SSDを初期化する例 CMD diskpart ::ここからdiskpart内 list disk select disk 0 ::list partition clean ::clean all create partition primary select volume 0 format fs=ntfs quick assign letter C コマンド 機能 ACTIVE 選択したパーティションをアクティブとしてマークする ADD シンプル ボリュームにミラーを追加する ASSIGN 選択したボリュームに、ドライブ文字またはマウント ポイントを割り当てる ATTRIBUTES ボリュームまたはディスクの属性を操作する ATTACH 仮想ディスク ファイルをアタッチする AUTOMOUNT ベーシック ボリュームの自動マウントを有効または無効にする BREAK ミラー セットを解除する CLEAN ディスクから構成情報または情報のすべてを消去する COMPACT ファイルの物理サイズの削減を試みます。 CONVERT 異なるディスク フォーマット間で変換する CREA...

detailsタグ中のスタイルが適用されない

<details> 内のコードブロックスタイル問題 あぁ💦 <details> の中に <pre><code> 入れると、行番号とかシンタックスハイライトが効かなくなる… はいっ💖これ、よくあるCSSやJSのレンダリング順の問題です~ 原因 <details> はデフォルトで 閉じていると display:none 相当 になり、レンダリングされない。 Prism.js などのシンタックスハイライトは、レンダリング済みの要素に対して行われるので、閉じた状態だと正しく計算できない。 <pre> や行番号用のスタイルも 高さや幅が 0 になったり崩れたり することがある。 解決方法 1️⃣ 開いたときに再ハイライト JSで <details> の toggle イベントを監視して、開いたときに Prism を再適用します: document.querySelectorAll('details').forEach(detail => { detail.addEventListener('toggle', () => { if (detail.open) { // Prism の場合 detail.querySelectorAll('pre code').forEach(block => { Prism.highlightElement(block); }); } }); }); 2️⃣ CSSで強制描画 pre に display:block と overflow:auto を明示的に付ける: details pre { display: block; overflow: auto; } 3️⃣ 最初から開いた状態でレンダリング(回避策) <details open> を付けておく JSで初期ハイライト処理後に閉じる 💡まとめ <details> 内の <pre><code> は閉じたままだとハイライトさ...

Pixabay API 追記

検索フォームと配列にキーワード追加・削除 index.php <html> <head> <meta charset="utf-8"> <title>Pixabay API</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Pixabay API Script</h1> <form name="search"> <input name="key" type="text" placeholder="キーワードを入力してください"> <input name="btn" type="submit" value="表示確認"> </form> <div id="result"></div> <hr> <script src="app.js"></script> <!-- <?php //include("regist.php"); ?> --> <?php // キーワード登録処理 $keyfile = __DIR__ . '/array.js'; $msg = ''; // キーワード削除処理(delete_kwがPOSTされた場合は必ず削除) if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_kw'])) { $del_kw = $_POST['delete_kw']; $js = file_ge...

潮汐表API

イメージ
tide736.net 港別 一週間 潮汐表 都道府県 千島列島 北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 千葉県 東京都 神奈川県 新潟県 富山県 石川県 福井県 静岡県 愛知県 三重県 京都府 大阪府 兵庫県 和歌山県 鳥取県 島根県 岡山県 広島県 山口県 徳島県 香川県 愛媛県 高知県 福岡県 佐賀県 長崎県 熊本県 大分県 宮崎県 鹿児島県 沖縄県 港 選択してください 以前作ったのを貼っておきます。code.csv(コード体系)を ...

為替レートAPI

今回、為替レートAPIを乗り換えたのでまとめ! CurrencyFreaks 乗り換えた理由は1ヶ所でドル円・ユーロ円・ビットコイン円・ビットコインドル等ほとんど揃うからw。また、今回ミニグラフもポップアプ表示してみました。 手順 アカウント作成 APIキー取得 html・JavaScript作成配置 めっちゃ簡単w JavaScript //////////////////////////// 為替レート ////////////////////////// function quotesApi() { const url = "https://api.currencyfreaks.com/v2.0/rates/latest?apikey={ ここにAPIキー }&symbols=BITCOIN,EUR,JPY,USD"; getData(url).then((data) => { let output = ""; let output_eur = ""; const quotes = data.rates; const bid = Math.floor(quotes.BITCOIN * 10000); const eud = quotes.EUR; const usjp = quotes.JPY; const eujp = Math.floor(usjp / eud * 100) / 100; output += '<a href="https://stocks.finance.yahoo.co.jp/stocks/chart/?code=USDJPY=X&ct=z&t=1m" title="USD:JPY" target="_blank">$\\(<span id="usjp">' + usjp + '</span>)</a>'; output_eur += '<a href="http...