2024年6月21日金曜日

surrealistでcsvがインポートできない事がある

マルチバイトもいけるし簡単なデータも入る。

jsonは直では無理。


だけど、なんか動作が不安定。

起動しなおせばいいのだが、インポート失敗するとバグるっぽ。

簡単なデータでもテーブル作らないと、最初の1件はキーだとしても、2件目が入らなかったり、失敗したりする事があった。



<インポート失敗するデータ>

そんなにデカくない、50kぐらいのデータが入らんかった。

NULLがあると失敗するくさい。ちゃんと調べてないけど。


わけわからんので、適当に成形したら入った。


2024年6月18日火曜日

vnc connectの無料が終了になったくさい

まじか・・・



blastのdex。レバレッジできるサイト

忘れてしまったので、メモ

Perp DEX SynFutures V3
https://oyster.synfutures.com/#/trade/blast/BTC-USDB-PYTH-Perpetual


blitzとかは微妙な気がする
https://app.blitz.exchange/perpetuals/BTC-PERP

aevoa
https://app.aevo.xyz/perpetual/blast

rustのクロスプラットフォーム

たぶん使わないけど、忘れそうなのでメモ

dioxus


tauriベースで作られている


構造的にpanicが出やすい


2024年6月16日日曜日

XY / YG 和訳(意訳)

Intiumも
名古屋 ell.SIZEも
大阪 堂島リバーフォーラムも行った俺が、
YOSHIの想いを鑑みて意訳。

しかし、ライブでVOICE全然演らないな~、めちゃ好きなんだけど・・・



XY / YG

We don't wanna go down that road
The road abandoning us to somewhere we don't belong
俺たちはもう戻ることはない
俺たちの居場所がない道なんかに

People've gotta be wondering
Ready? What are we fighting for baby
人々は疑問に思っているだろう
いいか?俺たちが何のために戦うか、分かってるか、ベイビー?


[LAP]
You call me, problematic, complicated
My pain's systematic, underrated
You show me the way around all o'my rage(Ha)
So now we're gonna break out o'these heavy chains
お前は俺を問題児、複雑だと言う
俺の痛みは深く、誰にも理解されなかった
お前は俺の怒りの中で道を示してくれた(Ha)
だから今、俺たちはこの重い鎖を断ち切るんだ


心に秘めた念い no no no baby
They be saying stuff every day
Gutta gives us a cry day
心に秘めた想い no no no ベイビー
毎日誰かが何か言ってくる
だが俺たちは泣くこともある


There is no tomorrow, so don't tell me what I got'do now now now baby
It's time we gotta resolve it yeah
I won't keep these pages
明日はないから、俺に指図するな now now now ベイビー
今こそ決着をつける時だ
未練はもう捨てた


I don't care what you say
You don't care what I want
Don't care anymore
I just go, don't care what you want
何を言われても気にしない
俺の願いなんて興味ないだろ
もうどうでもいい
俺は進む、どう思われようとも


We don't care what they say
We just do what we want
Don't care anyway
We'll just...now let it go,let it go.
俺たちは誰が何と言おうと
ただやりたいことをやるだけ
どうでもいい
ただ…今、解き放て、解き放て


Na na na... Na na na na...
Na na na... Na na na na... Yeah!


叫べ loud, 叫べ louder
叫べ loud, Shhhhhhh
叫べ loud, 叫べ louder
叫べ loud, 叫べ loud, 叫べ loud,


You're the one who keeps me in check cause you know me
Know me more than anyone around me
お前だけが俺を抑えられる、だってお前は俺を知っているから
周りの誰よりも俺を知っている


I know you're watching me, know you're watching me, baby
I know you're watching me, Know you're watching me
お前が俺を見ているのは分かっている、お前が俺を見ているのは分かっている、ベイビー
お前が俺を見ているのは分かっている、お前が俺を見ているのは分かっている


心に秘めた念い no no no baby
They be saying stuff everyday (Tellin'ya everyday)
Gotta give us a cry day (Whoa)
心に秘めた想い no no no ベイビー
毎日誰かが何か言ってくる(毎日言ってる)
だが俺たちは泣くこともある(うぉ)



There is no tomorrow, so don't tell me what I got'do now now now baby
It's time we gotta resolve it yeah
I won't keep these pages
明日はないから、俺に指図するな now now now ベイビー
今こそ決着をつける時だ
未練はもう捨てた


[guiter solo]


Watch your mouth
You don't scare me
Turn away and now
We're proud of stayin' in this game(Game)
口を慎め
俺を怖がらせることはできない
背を向けて、今
このゲームに残っていることを誇りに思う(ゲーム)


I don't care what you say
You don't care what I want
Don't care anymore
I just go, don't care what you want
何を言われても気にしない
俺の願いなんて興味ないだろ
もうどうでもいい
俺は進む、どう思われようとも


We don't go what they say
We just do what we want
Don't care anyway
We're just... now, let it go, let it go
俺たちは誰が何と言おうと
ただやりたいことをやるだけ
どうでもいい
ただ…今、解き放て、解き放て


Na na na... Na na na na...
Na na na... Na na na na... Yeah!

Yo yo, why you lookin like this?
Go,go,go come on!
Yo yo、何でそんな顔してんだ?
行け、行け、行け、来い!



2024年6月15日土曜日

よくわからんけど、よさそうなサーバ屋さんfastly

www.tv-asahi.co.jp

で使ってるサーバ屋

https://www.fastly.com/jp/signup/

これ無料で使えるっぽ。


wwwなしはAWS


surrealDBを使う

紆余曲折メモ

rustでgeojsonからpolygonに変換して、並列処理ベンチマークしたら0.5~2.0秒で処理が終わる。そんなに最適化してないのに!

こいつをVPS入れたらメモリ足らなくて困り果てた。(プラン上げるのはイヤだ!なんとかしたい)


<やりたい事>

空間インデックスなくても、ちょっと工夫したら処理できる内容で、常に計算し続けるのでストレージアクセスをしたくない。

geojsonが500Mなので、すべてオンメモリで動作しようとしたが、パース処理でメモリを3ギガ以上食う。



<手法1 パース結果をバイナリで保存>

メインマシンでデータを作って、サーバサイドはそれを使えばいいと思った。

くっちゃくちゃになって頭パー!!


<手法2 パースの仕方を変える>

すべてオンメモリにしてからパースするのが良くないのであって、

構造上1行ずづ処理できる。

最初の4行が不要で、データは1種類で可変構造なので、jsonを無理やり1行ずづ処理できる。

だけど、ぐちゃぐちゃになって頭パー!!になってもうた!なんかrustだと凄い大変なことになってしもた。





連続して頭パー!!AIに込み入ったの作らせるとわけわからんの作り出す。

なんとなくgpt-4oよりgpt-4の方が正確性が高いような気がする・・・

ほどんとが4o使ったとき、くっちゃくちゃにぶっ壊されてた気がする。



対して難しい処理じゃないのに、AIないと組めない体になってしまった・・・年かな?


<そうだ!AI時代にふさわしいDBを使おう!>

考えたくないので、surrealDBにgeojsonを放り込んだ方が楽じゃないかと思い始めてきた。

空間インデックス使えるんだよね?知らんけど。

雑運用するから、フロントからこいつに直で叩けばよかろうもんなのでは?!


https://surrealdb.com/docs/surrealdb/installation/windows


ここに入るから、環境変数のPATHを通しとけ。

"C:\Users\user\SurrealDB\surreal.exe"




2024年6月13日木曜日

shuttle rsのテンプレート一覧

ちょっといじってみた

https://console.shuttle.rs/new-project

結論から書くとゴミみたいなテンプレートばかりで使い物にならない(動かないものが多すぎ)

自分で書いた方が早いまである。


shuttleのテンプレートは1個ずづなので、使いたい機能をプラグインで選択できたらいいのに・・・


Win+shit+Tだと文字化けしてしもたので、

win+shift+SでGPTに放り込んだ結果が下記。



cargo shuttle init --create-env


Select template ›


Clerk authentication — Fullstack Rust+React with auth provider logic (clerk)

Cookie Authentication — Use JWT to authenticate API endpoints (actix-web)

Custom Tracing Subscriber — How to use a custom tracing-subscriber on Shuttle (actix-web)

File server — Hello World page that serves static HTML and JS files (actix-web)

File server — Hello World page that serves static HTML files (rocket)

File server — Hello World static file server with tower-http (axum)

Fullstack SaaS — Opinionated fullstack web app with pre-made routes and assets (nextjs)

HTMX — Simple CRUD app using HTMX and Askama (htmx)

Handlebars dynamic templates — HTML templating with Handlebars (rocket)

Image Rescaler — Use the image library to rescale the Shuttle logo (salvo)

JWT authentication — Use JWT to authenticate API endpoints (rocket)

JWT authentication — Use JWT to authenticate API endpoints (axum)

MongoDB — Todo List with a MongoDB database (mongodb)

OAuth authentication — Use Google OAuth to authenticate API endpoints (axum)

OpenDAL in-memory store — A key-value store using OpenDAL (opendal)

Postgres — Todo list with a Postgres database (postgres)

Postgres — Todo list Discord bot with a Postgres database (serenity)

Postgres — Todo list with a Postgres database (postgres)

Postgres — Todo list with a Postgres database (postgres)

Qdrant — Connecting to Qdrant cloud with shuttle-qdrant (qdrant)

Request Scheduler — Schedule requests with a cron schedule (axum)

Shuttle custom Cron service — Schedule tasks on a cron schedule with apalis (axum)

Turso — Connect to a Turso DB with shuttle-turso (turso)

URL shortener — Save long URLs behind a short one, with Postgres storage (rocket)

Weather Bot — Weather forecast Discord bot using the Accuweather API (serenity)

Websockets — Health monitoring service using websockets (actix-web)

Websockets Actorless — Health monitoring service using websockets (axum)




一番上のテンプレート、openSSLの問題でwindows上じゃコンパイルできなかった・・・
環境依存するのが原辰徳



2024年6月12日水曜日

rustでデカいデータを扱う時の注意

500Mのjsonデータを処理するとき、プログレスバーの最後が止まる現象があった。


良く調べると以下のような事らしい。


Rustのメソッドチェーンは、イテレータを使用している場合、遅延評価(lazy evaluation)を行います。これは、各メソッドが呼び出されたときにすぐに実行されるのではなく、最終的に消費されるときに一度に実行されることを意味します。したがって、メソッドチェーンの最後にfor_eachcollectなどの消費メソッドが来ると、その時点で全ての処理が実行されます
のため、メソッドチェーンの最後に一度に多くの処理が集中することがあり、それがボトルネックになる可能性があります
下のコードでは、for_eachを使って各行を処理していますが、inspectを使って都度処理するように変更してみます

2024年6月8日土曜日

WSLのdocker上でプライベートリポジトリをクローンする

GPT-4oいわく、3種類やり方があるらしい。

SSH key追加する方法を最初に出してこないのか・・・


GitHubは2021年8月13日以降、パスワードによる認証を廃止し、代わりにパーソナルアクセストークン(PAT)やSSHキーを使用した認証を推奨しています。以下の手順に従って、パーソナルアクセストークンを使用してプライベートリポジトリをクローンする方法を説明します。

1. パーソナルアクセストークン(PAT)の生成

  1. GitHubにログインします。
  2. 右上のプロフィールアイコンをクリックし、「Settings」を選択します。
  3. 左側のメニューから「Developer settings」を選択します。
  4. 「Personal access tokens」→「Tokens (classic)」を選択します。
  5. 「Generate new token」をクリックします。
  6. 必要なスコープ(アクセス権限)を選択します。リポジトリのクローンだけが必要な場合は、「repo」スコープを選択します。
  7. 「Generate token」をクリックし、表示されたトークンをコピーします。このトークンは一度しか表示されないので、安全な場所に保存してください。

2. パーソナルアクセストークンを使用してリポジトリをクローン

WSL2のUbuntu端末で以下のコマンドを使用してリポジトリをクローンします。パスワードの代わりに生成したパーソナルアクセストークンを使用します。


git clone https://<github account>:<Your-PAT>@github.com/firemio/test01.git




3. GitHub CLIを使用した認証(オプション)

GitHub CLI(gh)を使用すると、より便利に認証を行うことができます。以下の手順でGitHub CLIをインストールし、認証を行います。

  1. GitHub CLIをインストールします。
bash
sudo apt install gh
  1. GitHub CLIでログインします。
bash
gh auth login
  1. 指示に従って認証方法を選択し、パーソナルアクセストークンを使用してログインします。

  2. 認証後、通常のgit cloneコマンドを使用してリポジトリをクローンします。

bash
git clone https://github.com/<Your-GitHub-Username>/<Your-Repository-Name>.git



4. SSHキーを使用した認証(オプション)

SSHキーを使用した認証も可能です。以下の手順でSSHキーを生成し、GitHubに追加します。

  1. SSHキーを生成します。
bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 公開鍵をGitHubに追加します。生成されたSSH公開鍵(~/.ssh/id_rsa.pub)の内容をコピーします。

  2. GitHubにログインし、右上のプロフィールアイコンをクリックし、「Settings」を選択します。

  3. 左側のメニューから「SSH and GPG keys」を選択し、「New SSH key」をクリックします。

  4. 公開鍵を貼り付け、「Add SSH key」をクリックします。

  5. SSH経由でリポジトリをクローンします。

bash
git clone git@github.com:<Your-GitHub-Username>/<Your-Repository-Name>.git

以上の方法で、GitHubのプライベートリポジトリをクローンすることができます。





プライベートリポジトリに所属しているメンバーはどのやり方がおすすめ?




ChatGPT

プライベートリポジトリに所属しているメンバーが使用するのにおすすめの方法は、SSHキーを使用する方法です。これは一度セットアップすれば、パスワードやトークンを毎回入力する手間がなく、セキュリティも高いからです。以下にSSHキーを使用した手順を詳しく説明します。

1. SSHキーの生成

まず、各メンバーが自分のマシンでSSHキーを生成します。

bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

ここで生成されたファイル(例: ~/.ssh/id_rsa~/.ssh/id_rsa.pub)のパスフレーズはオプションですが、セキュリティを強化するために設定することをおすすめします。

2. 公開鍵のGitHubへの登録

生成された公開鍵(例: ~/.ssh/id_rsa.pub)をコピーします。

bash
cat ~/.ssh/id_rsa.pub

その内容をクリップボードにコピーし、GitHubの設定で登録します。

  1. GitHubにログインします。
  2. 右上のプロフィールアイコンをクリックし、「Settings」を選択します。
  3. 左側のメニューから「SSH and GPG keys」を選択し、「New SSH key」をクリックします。
  4. 公開鍵を貼り付けて「Add SSH key」をクリックします。

3. リポジトリのクローン

GitHubに公開鍵を登録したら、SSHを使ってリポジトリをクローンします。

bash
git clone git@github.com:<Your-GitHub-Username>/<Your-Repository-Name>.git

メリット

  • セキュリティ: SSHキーはパスワードやトークンよりも安全で、一度設定すれば再利用できます。
  • 利便性: 一度設定すれば、毎回パスワードを入力する必要がありません。
  • 永続性: パーソナルアクセストークンは時間の経過とともに無効になることがありますが、SSHキーは手動で無効にしない限り有効です。

この方法を使用することで、チーム全体でセキュリティと利便性を両立させることができます。



2024年6月7日金曜日

cursor 34.5~34.6 (build vscode 1.89)をアップデートするとSSHに繋がらなくなった

<問題>

cursor 34.5~34.6(build vscode 1.89)をアップデートするとSSHに繋がらなくなった


<原因>

どうやら.ssh/configの設定ファイルでダブルクォーテーションがエスケープされるみたい。


<解決法>

ダブコン消す

誤:IdentityFile "C:\Users\user\.ssh\privkey.pem"


正:IdentityFile C:\Users\user\.ssh\privkey.pem



2024年6月2日日曜日

ノートンの自動保護切るのに苦労した話

ruby3.0系が正しく入らないので、ノートン糞大先生を切る。

わかりづらいので、絵を貼っとく。


 

















@shopify/cli@3.61.0のバグ

環境:Windows11、vscode、powershell

以下だと安定して動作する。

@shopify/cli@3.60.0

ruby+devkitは3.0系(セキュリティーソフトは切っておく、3.0系以上だと動作不可)


powershellの実行ポリシーを下記に設定

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser



<微妙にバグある>
npm i -g @shopify/cli@3.59.0
theme devが遅かったり、ちゃんと同期とれなかったり・・・

<正常動作する>
npm i -g @shopify/cli@3.60.0



https://shopify.dev/docs/api/shopify-cli

https://shopify.dev/docs/storefronts/themes/getting-started/create





==== 以下メモ書き ==== tokky

Node.js version 18.16.0 or higher

※↓実際に動いた環境↓

Node v18.17.1


Git version 2.28.0 or higher

※↓実際に動いた環境↓

git version 2.45.1.windows.1


ruby ver3.0//rubyはバージョンが高くても問題が起こったので、現状は3.0推奨

https://rubyinstaller.org/downloads/

ダウンロードパッケージ→Ruby+Devkit 3.0.7-1 (x64) 

オプションで、 MSYS2 component と MSYS2 base をオプションでインストール


gem 3.2.33

Bundler ver 2.5.11


Shopify CLI version: 3.61.0//今はこのバージョンで動いているけど、ログイン時にエラーが起こった。

===========================

このバージョンだと、ログイン時にトラブルがあるみたいなので、その際は

バージョンを下げる。

参考

https://stackoverflow.com/questions/78563193/running-npm-run-dev-shows-an-error-called-the-requested-scope-is-invalid-unkno


新しいバージョン (v3.61.0) は認証フローのどこかで壊れているようです。以前のバージョン (例: 3.60.1) をインストールするだけで、今のところは動作するはずです。

===========================


とにかくバージョンを合わせる事。高すぎても低すぎても動かない可能性あり。


vsCodeのPowerShellで実行


==============================

※マニュアル


インストール

https://shopify.dev/docs/api/shopify-cli


テーマ設定

https://shopify.dev/docs/storefronts/themes/getting-started/create


==============================


実際に打つコマンド


①手順ローカルでは無く、グローバルにshopifyCLIをインストール

npm install -g @shopify/cli


ヘルプをしたい時はこのコマンド

shopify help


②npm install @shopify/cli -g


③shopify theme init

→テーマ名を作る(例)test-theme


④cd "test-theme"

作ったテーマに移動


⑤shopifyのテーマの開発環境を起動

shopify theme dev --store {store-name}

※初回は起動時にログインを求められます。


store-nameは管理画面から取得