2024年12月31日火曜日

imageFXで作ったクロミ

imageFXで作ったクロミ。1枚体がくずれておかしかった。


Kuromi from Sanrio is laughing with the words " Happy New Year! 2025 "











 

2024年12月26日木曜日

2024年12月20日金曜日

bolt.newがsupabaseと連携できるようになった。

以前はfirebaseを使うようにプロンプトで指示していたけど、

システム的に連動できるようになった。





あいかわらず、bolt.newは業務に向かない。

リファクタリングすると堂々巡りになって、完結しなくなる。

無駄にねばって2時間ぐらいやってみたが、解決しない。

例えば、リファクタリングを指示すると、

コードを単純化>コードを細分化

これのループを繰り返す。

もう、こうなると無理なのでロールバックした方がいい。


2024年12月18日水曜日

draw.ioのURL埋め込みのエンコード形式を、o1 pro modeで特定する。

draw.ioのURLパラメータに図形データを渡せるが、仕様をよんでもよくわからなかった。

真面目に読む気が無いとも言う。


<結論>

Draw.ioで使用されているエンコーディングプロセスを以下のようにまとめます:

  1. XMLデータの前処理(Minify)

    • 改行文字(\r\n)の削除
    • タブ文字(\t)の削除
    • 複数の空白文字を1つに統合
    • タグ間の空白を削除(> < → ><
    • 前後の空白をトリム
  2. UTF-8エンコーディング

    • 文字列の各文字をUTF-8のコードポイントに変換
    • サロゲートペア(0xD800-0xDFFF)の特別処理
    • Uint8Arrayとしてバイト列を生成
  3. Raw Deflate圧縮

    • 圧縮レベル: 9(最大圧縮)
    • ZLIBヘッダーなし(raw: true)
    • windowBits: -15(Raw Deflateモード)
  4. Base64エンコーディング

    • 圧縮されたバイナリデータを標準的なBase64に変換
    • 文字セット: A-Z, a-z, 0-9, +, /
    • パディング文字: = (必要な場合)

このエンコードされたデータは、Draw.ioのURLで #R の後に配置され、ダイアグラムとして復元されます。


オンラインコンバーター
https://jgraph.github.io/drawio-tools/tools/convert.html


URL埋め込みの仕様
https://drawio-app.com/blog/extracting-the-xml-from-mxfiles/


draw.ioのURLパラメタ仕様
https://www.drawio.com/doc/faq/supported-url-parameters



実際は上記の説明と違い、<mxfile>ごとエンコードして構わない。
https://chatgpt.com/share/676274d8-157c-8007-b3a6-3a2bb10728ca



サンプル図形

https://viewer.diagrams.net/index.html?tags=%7B%7D&lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=souzoku.drawio#R%3Cmxfile%3E%3Cdiagram%20name%3D%22%E7%9B%B8%E7%B6%9A%E9%96%A2%E4%BF%82%E5%9B%B3%22%20id%3D%22inheritance-diagram%22%3E7Vhbb5swFP41fmQCzPUREtI9rN2kaNreKgouWDU4cpzbfv2OiUmA0JVUrfqwRpFqvnM%2Fn88pLcKzan8j0lV5y3PCkG3me4TnyLYtz3fgh0IOR8THwREoBM210hlY0j9Eg6ZGNzQn656i5JxJuuqDGa9rkskelgrBd321R876UVdpQS6AZZayS%2FQXzWWpUcsLz4KvhBalDh3Y%2FlFQpa2yrmRdpjnfdSCcIDwTnMvjqdrPCFPNa%2FtytFs8Iz0lJkgtpxj4mRlv739vbr%2FffXu6%2F1ku9t6dob1sU7bRBetk5aHtgOCbOifKiYlwvCupJMtVminpDjgHrJQVgycLjo%2BUsRlnXDS2eNF8AF9LwZ9IR2I2H2XBa7lIK8rUBbldQuwbLkuagShltKgBZeQRKowvC26zJ0KSfQfSDbghvCJSHEBFSwPNxaH%2FuDszazsaKzukWi2Hqb5NxcnzueFw0D2%2Fov%2F2SP89pqrN6RaORVN44qLYUt%2FER6GDYlMhkYOiCCUhCjAKktYMsuhaXjqzQtc0TAu%2Bk01s03auNEGJh8J5kzLkG6FopjON50oUBygAnUCVEvuqmmCm1JRyjCKMEqjJRIHb%2BJmhKLAMy7gm%2FLE%2FvooaBk2jXBUAfI2LICG7CQ%2FIvNVJOpmdrDwUhE32bnOY24ZtnFh7EMOshrkOpgsuruyPUH9Ual6TwVxpaDAdaggo7K1IwxXNcxVkdGL7M%2F2PEXyDmQv7MxeOzJw9NnPme80c%2Fr92njNYepb34VvPmbb1YNnFaiDhEMMaiK4a%2F%2BHChAGPGsRVA65u4eSF6btvu%2F1Cr13hCYoXnR0zFGEDq9s6OSosNFfv0wgO%2BHMrPT8Vg7Vk%2BR%2B%2Bl9yX9xKp80i91J773aGo375XbZ9nG0vy3mvyZVs7bXNHutZigrBU0m3%2F5XqskzrCD04hkxNr2B6whsMvbt%2FJmm9ERrRd93V44MoxX3QlU1EQeeGqIfdU%2Buv59j75fonvCSS9lm97%2BNvtndn2P9m%2Blu0LiiZzHbwX1%2FB4%2Fov9qH7%2BvwdO%2FgI%3D%3C%2Fdiagram%3E%3C%2Fmxfile%3E#%7B%22pageId%22%3A%22inheritance-diagram%22%7D





<mxfile>{なにかのエンコードされた文字列}</mxfile>

パット見でbase64とurlエンコードされてるけど、他がわからんので、下の文字列をo1 pro先生に聞いてみた。

7Vhbb5swFP41fmQCzPUREtI9rN2kaNreKgouWDU4cpzbfv2OiUmA0JVUrfqwRpFqvnM/n88pLcKzan8j0lV5y3PCkG3me4TnyLYtz3fgh0IOR8THwREoBM210hlY0j9Eg6ZGNzQn656i5JxJuuqDGa9rkskelgrBd321R876UVdpQS6AZZayS/QXzWWpUcsLz4KvhBalDh3Y/lFQpa2yrmRdpjnfdSCcIDwTnMvjqdrPCFPNa/tytFs8Iz0lJkgtpxj4mRlv739vbr/ffXu6/1ku9t6dob1sU7bRBetk5aHtgOCbOifKiYlwvCupJMtVminpDjgHrJQVgycLjo+UsRlnXDS2eNF8AF9LwZ9IR2I2H2XBa7lIK8rUBbldQuwbLkuagShltKgBZeQRKowvC26zJ0KSfQfSDbghvCJSHEBFSwPNxaH/uDszazsaKzukWi2Hqb5NxcnzueFw0D2/ov/2SP89pqrN6RaORVN44qLYUt/ER6GDYlMhkYOiCCUhCjAKktYMsuhaXjqzQtc0TAu+k01s03auNEGJh8J5kzLkG6FopjON50oUBygAnUCVEvuqmmCm1JRyjCKMEqjJRIHb+JmhKLAMy7gm/LE/vooaBk2jXBUAfI2LICG7CQ/IvNVJOpmdrDwUhE32bnOY24ZtnFh7EMOshrkOpgsuruyPUH9Ual6TwVxpaDAdaggo7K1IwxXNcxVkdGL7M/2PEXyDmQv7MxeOzJw9NnPme80c/r92njNYepb34VvPmbb1YNnFaiDhEMMaiK4a/+HChAGPGsRVA65u4eSF6btvu/1Cr13hCYoXnR0zFGEDq9s6OSosNFfv0wgO+HMrPT8Vg7Vk+R++l9yX9xKp80i91J773aGo375XbZ9nG0vy3mvyZVs7bXNHutZigrBU0m3/5XqskzrCD04hkxNr2B6whsMvbt/Jmm9ERrRd93V44MoxX3QlU1EQeeGqIfdU+uv59j75fonvCSS9lm97+Nvtndn2P9m+lu0LiiZzHbwX1/B4/ov9qH7+vwdO/gI=


回答

デコードするにはbase64のあと、zlibやれだとさ。

https://chatgpt.com/share/676274d8-157c-8007-b3a6-3a2bb10728ca






2024年12月11日水曜日

カラビ・ヤウ多様体

を3次元に投影したもの。

http://members.wolfram.com/jeffb/visualization/stringtheory.shtml


2024年11月28日木曜日

bolt.newで規模がおおきくなるとデプロイ時に警告

 


確かにプロジェクトの規模は大きくなってる。

zipで892kb


回避策はこちら とあるけど、回避策が書いてない。

https://github.com/stackblitz/bolt.new/issues/1322


この後、連続でデプロイしても警告は出ないので注意!


たぶん、プロンプトが大きすぎるので回避を考えてみた。

stackblitzに持って行って、フリーズして、それをフォークして、またboltに戻せばプロンプトはクリーニングできると思う。


zipで177kb。

distが消えているがデプロイ時のファイルなので大丈夫だろう。


2024年11月27日水曜日

wordpressの直下にhtmlを置く

例えばペライチで作ったhtmlをサブドメインを切らずに、そのまま置きたい。

<ツール>
https://www.cyotek.com/cyotek-webcopy


<.htacces設定>
以下を追記

# /lp/ 以下をWordPressの管理対象から除外
RewriteRule ^lp(/.*)?$ - [L]

# WordPressの通常ルール
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]



cursorで修正かけた。

ファイルの構造が悪すぎる。
/img
/css
/js
だけになるように、バッチファイルとhtmlを修正。


2024年11月26日火曜日

bolt.newの問題点

 たまに完全なコードを表示しなくなる。


[plugin:vite:react-babel] /home/project/src/components/InheritanceSystem.tsx: Unexpected token (36:22)
     |                       ^
/home/project/src/components/InheritanceSystem.tsx:36:22
34 |    </main>
35 |  ) : (
36 |    // ... 残りのコードは同じ ...



前提条件で設定してるが、

完全なコードを提供しろと毎回言わなきゃいけないのか?


2024年11月22日金曜日

six502 backlog backup

無制限の無料のapacheに置いてある。

https://dash.infinityfree.com/login


バックログ SXI502セール

http://backlog-six502-s.000.pe/backlog-six502_s/


バックログ DICEORDEAD

http://backlog-six502-s.000.pe/backlog-dod/


ツールを修正した。

https://github.com/firemio/backlogup


2024年11月21日木曜日

cursor(vscode)でMQL5のコンパイルを行う

いつの間にか、MQL Tools v2.1.0が動かなくなってた。






最後の更新は2024/01頃。


しかたがないので、ビルド構成を作る。

めんどくせー


1. MetaEditorのパスを確認する

まず、MetaTrader 5に付属するMetaEditorの実行ファイル(通常はmetaeditor64.exe)のパスを確認します。一般的には以下のディレクトリに存在します:

"C:\Program Files\XMTrading MT5\metaeditor64.exe"

"C:\Program Files\MetaTrader 5 EXNESS\metaeditor64.exe"

"C:\Program Files\OANDA MetaTrader 5\metaeditor64.exe"



 VSCodeでタスクを設定する

VSCodeのタスク機能を利用して、MetaEditorを呼び出し、MQL5ファイルのコンパイルを行います。以下の手順で設定を行ってください:

  1. VSCodeで任意のMQL5ファイル(拡張子が.mq5のファイル)を開きます。

  2. メニューから「ターミナル」→「ビルドタスクの構成」を選択します。

  3. 表示される選択肢で「Others」を選びます。

  4. 自動生成されたtasks.jsonファイルが開かれるので、以下の内容に編集します:



{ "version": "2.0.0", "tasks": [ { "label": "Compile MQL5", "type": "shell", "command": "C:\\Program Files\\MetaTrader 5\\metaeditor64.exe", "args": [ "/compile:${file}", "/log:${fileDirname}\\${fileBasenameNoExtension}.log" ], "group": { "kind": "build", "isDefault": true }, "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [], "dependsOn": "Show Compile Log" }, { "label": "Show Compile Log", "type": "shell", "command": "type", "args": [ "${fileDirname}\\${fileBasenameNoExtension}.log" ], "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [] } ] }



※commandのパスは、MetaEditorの実際のインストール先に合わせて修正してください。


3. コンパイルの実行

設定が完了したら、以下の手順でコンパイルを実行できます:

  1. コンパイルしたいMQL5ファイルをVSCodeで開きます。
  2. キーボードショートカットCtrl + Shift + Bを押して、先ほど設定した「Compile MQL5」タスクを実行します。