rpgamer.com
ゲーム(幻想水滸伝)、デジタル家電、PC、Linux、VPSなど、「何でもあり」なブログです。
Twitterやプログラミングなどの話題も取り扱っています。
Windows の VS Code の Live Server で、WSL2 から Windows 側のブラウザを開く方法
結論 settings.json に以下のような行を書き加えます。Chrome 以外のブラウザを設定したい場合には適宜書き換えて下さい。 "liveServer.settings.AdvanceCustomBrowserCmdLine": "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", 設定項目の場所 このあたりにあります。settings.json に書かないと設定できない(=VS Code 内で完結しない設定)項目です。 gyazo.com
RSpec (Capybara) でアラートモーダルを操作する方法
アラートモーダルとは こういうやつです*1。 gyazo.com 結論 「はい」の選択肢を選ぶとき page.accept_confirm 「いいえ」の選択肢を選ぶとき page.dismiss_confirm ドキュメント www.rubydoc.info *1:「アラートモーダル」はおそらく正しい呼び方ではないです
apt で mysql-server や mysql-client を install できない(見つからない)とき
結論 default-mysql-server や default-mysql-client をインストールします。 $ sudo apt install default-mysql-server $ sudo apt install default-mysql-client
Ubuntu 20.04 で [SSL: CERTIFICATE_VERIFY_FAILED] エラーが出るとき
結論の一つ ca-certificates をインストールしましょう。 $ sudo apt install -y ca-certificates
PT2を用いて(おそらく PT3 でも)TVTest で「BonDriverの初期化ができません」と出たとき
結論(の一つ) PT2 の SDK もインストールする(ドライバではない)。 earthsoft.jp
pip install したときにバージョン依存でインストール失敗したときの対処法
結論 依存関係にあるパッケージを個別に入れます。そのためには以下の手順を踏みます。 1. エラーメッセージを読む エラーメッセージを読み、どのパッケージが依存関係にあるかを調べます。 2. pip show PACKAGE_NAME を実行してバージョンを調べる (ここは不要な場合もあります) $ pip show PACKAGE_NAME を実行するとそのパッケージの最新バージョンの情報が得られます。パッケージ名を前述の依存パッケージのパッケージ名に指定して、コマンドを実行します。結果はたとえば次のとおりです。 $ pip show botocore Name: botocore Versi…
PC から Twitter にアップロードする動画の fps は 60fps はいける
結論 いろいろなサイトを見ると 40fps まで、みたいなことが書いてありますが 60fps まで行けました。 補足 60fps 以上もいけるかもしれません fps の上限はは他の要素との組み合わせで決まるのかもしれません 2021/11/08 現在の情報です
Google マップ や ロケーション履歴(ライフログ)を他のアカウントへ移行(インポート)できるかどうか
結論 2021/10/31 現在、できません。 補足 擬似的に、あるいは形式的に移行(インポート)することは不可能ではありません*1。目的や分量によってはその方法で問題ないこともあります。 *1:そのような意図で方法を示している記事は多くあります
「Twitter記念日(周年記念日)」の画像ファイルの置き場所
結論 2021年10月31日現在、15周年の画像までを確認しています。 https://ton.twimg.com/ntab_public/twitterversary/year1.jpg https://ton.twimg.com/ntab_public/twitterversary/year2.jpg https://ton.twimg.com/ntab_public/twitterversary/year3.jpg https://ton.twimg.com/ntab_public/twitterversary/year4.jpg https://ton.twimg.com/ntab_p…
CircleCI の設定ファイルは分割することはできない (2021/09/25)
根拠 https://support.circleci.com/hc/en-us/articles/360056463852-Can-I-split-a-config-into-multiple-files-support.circleci.com 補足 上記リンク先のページにもあるように、ローカルで分割して書いてそれを統合するような方法を使えば形式的には分割できます。が、よほど巨大なファイルでなければ一つのファイルにベタ書きで十分だと思います。エディタの支援があれば可読性の問題も解消されると思います。
GitHub Actions の runs-on で指定する Ubuntu には結構いろいろ最初から入っている
結論 以下、公式ドキュメントの抜粋です(他にもいろいろと入っています)。 Installed Software Language and Runtime Node 14.18.1 Perl 5.30.0 Python 3.8.10 Python3 3.8.10 Ruby 2.7.0p0 Package Management Npm 6.14.15 Pip3 20.0.2 RubyGems 3.1.2 Yarn 1.22.17 Tools Docker Compose v1 1.29.2 Docker Compose v2 2.0.0 Git 2.33.1 (apt source reposit…
PS Vita で画面が映らない(音は出る)ときに強制再起動する方法
結論 電源ボタンを 20秒 以上、長押しする。 するとリカバリメニューが表示され、そこからソフトウェアによる再起動が可能になります。 盲点 長押しの時間が結構な長さなので、辛抱強く押し続けましょう。
「ブログリーダー」を活用して、たっきーさんをフォローしませんか?
rpgamer.com
結論 excelapi.org 具体例 たとえば以下の URL にアクセスするとテキストで返ってきます(漢字部分は「織田信長」)。 - https://api.excelapi.org/language/kanji2kana?text=%E7%B9%94%E7%94%B0%E4%BF%A1%E9%95%B7 補足 ExcelAPI という名前ですが、単純な API として用いても OK とのことです。 excelapi.org Yahoo! に同様の API がありますが、それをラップしたもののようです*1。 注意点 1分間に300件までのレートリミットがあります。 *1:Yahoo! のもの…
結論 Mac が「大文字小文字を区別しない」からではないか。 Mac が設定上で「区別しない」場合には、 Linux では該当ファイルが見つからないことになるから。 具体例 ls コマンドを実行した場合の具体例。 Linux gyazo.com macOS gyazo.com 参考 dev.classmethod.jp 補足 めちゃくちゃハマったが、この知見はきっと活きる。
結論 VPN の接続。自分の場合は以下を VPNトンネル から除外するとうまくいった。 tailscale.exe tailscaled.exe tailscale-ipn.exe
結論 オプション -nosalt を付与する。 具体例 1. -nosalt を付与しない場合 一見同じ結果に見えますが、全て異なっています。 $ echo "hogehoge" openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar U2FsdGVkX19a4H6vBEvUMPTyd+Q7/27pFzaPQctnCfs= $ echo "hogehoge" openssl enc -e -aes-256-cbc -base64 -pbkdf2 -pass pass:foobar U2FsdGVkX185H8E7L8W…
前提 find_or_initialize_by にこだわるのは本質的ではなく、find_by や where などでも同じです。本質はタイムゾーンの違いです。 結論 具体例を見たほうが早いと思いますので、載せます。 NG な例 user = User.find_or_initialize_by( name: 'hoge', submitted_at: '2023/04/07 17:48:31' ) これを繰り返し実行した場合に、常に user.new_record? が true を返してしまいます。 OK な例 期待通りの動作をさせるためには、テキストでそのまま入れるのではなく Time.…
現象 SSH でログイン時に、 X11 forwarding request failed on channel 0 というエラーが出ます。 結論 現時点では機能しない*1。 参考 github.com *1:将来的には動くかも
結論 シェルの設定ファイルに例えば以下のように組み込む。 # Starting Tailscale daemon automatically if not running... RUNNING=`ps aux grep tailscaled grep -v grep` if [ -z "$RUNNING" ]; then sudo tailscaled > /dev/null 2>&1 & disown fi 補足 $ sudo tailscaled をパスワード確認無しで実行するために /etc/sudoers に追記をする必要がある*1 tailscaled の場所は which …
Activerecord-Import とは github.com 結論(どうするか) インポート時に batch_size オプションを指定してやる。 具体例 User.import!(users, batch_size: 10000) PostgreSQL が落ちたときのエラーメッセージ PQconsumeInput() SSL SYSCALL error: EOF detected (ActiveRecord::ConnectionFailed) 参考 https://webcache.googleusercontent.com/search?q=cache:jdX4uXcvCb4J:h…
結論 ここです。設置場所を考えると数メートルの USBケーブル を用いるのが無難です。 長い USBケーブル は一本持っておくといろいろ便利で、たとえば SwitchBot のカーテンレールの充電にも役立ちます。
結論 require 'rake' をする。 公式ドキュメント docs.ruby-lang.org
結論 Graphviz (CLI) はインストール済みであるとします。 $ dot -Tpdf /path/to/hoge.dot -o /path/to/fuga.pdf 具体例 Rails ERD では dot で出力が可能なところ、その dot を PDF に変換するために有用です。 「Rails ERD で最初から PDF に出力すると Git で差分が分からない(毎回差分が出る)ので dot 運用したい」というようなケースで有効です*1。 公式ドキュメント *1:dot の差分が分かりやすいかと言われると決してそうではないのですが
結論 標題のとおりです。 具体的方法 参考ページ deb版の入れ方については以下のページが参考になります。 chatnoirlibre.com 99mozillateamppa の適用のさせ方 99mozillateamppa の適用のさせ方は、どこかに 99mozillateamppa という名前と内容のファイルを用意しておいて、ステップの中で、 sudo cp 99mozillateamppa /etc/apt/preferences.d を実行してあげるといいです。 ステップ全体での 99mozillateamppa の適用のさせ方 ステップ全体としては以下のような流れで実行していきます…
結論 標題のとおりです*1。 具体例 REPO/sub 配下が submodule だとして、たとえば以下のように gh secret set したとします。 $ cd sub $ gh secret set HOGE< fuga.txt ✓ Set Actions secret HOGE for username/sub 以上のように submodule の方のリポジトリに登録されてしまいます。 正しく登録するには以下のようにします。cd してはいけません。 $ gh secret set HOGE< sub/fuga.txt ✓ Set Actions secret HOGE for us…
28:17ぐらいから32:44ぐらいまで www.youtube.com
結論 標題通りです。 マイグレーションのコードをテストと同時に書いていた際にハマりました。直接コマンドで db:migrate(:reset) すると schema.rb を見に行き、schema.rb の更新作業が走っていない場合には例えば UNIQUE制約 などが変更されません。 DBが空っぽの状態から、一定のデータを CSVインポート によって投入したいという状況のとき、DB を空っぽにする作業を行わないと既存レコードが存在してしまってエラーになるし、かといって bin/rails db:migrate:reset みたいなのを実行する行を挿入すると冒頭の現象にハマります。
gyazo.com 現象 github.com 結論(これで解決した) プロジェクトに Prettier を入れて Prettier Path には ./node_modules/prettier を指定する。 それまでは nodenv を用いた上でグローバルに入れていた*1が、プロジェクト配下に入れることで解決した。 *1:良くない
結論 GitHub 側で一度 Cloudflare のアプリを削除してから再インストールする。
結論 mecab-ipadic-2.7.0-20070801 を --with-charset=utf8 のオプション付きでビルドする。 $ ./configure --with-charset=utf8 Natto で確認する 期待通りの挙動になっているかを Natto で確認します。 > require 'natto' > nm = Natto::MeCab.new => #<Natto::MeCab:0x00007f2546c63280 @model=#<FFI::Pointer address=0x0000561020b78620>, @tagger=#<FFI::Pointer ad…
自分が意識していることは次のとおりです。 まずは(半)手動で回せるようにする 手動で回すのが面倒になってきたら自動化を考え始める 原則として必要になるまでは自動化は考えない方向で いきなり自動化すると見えなくなってくるものもある 自動化の際はそのコストを考えて、手で回す方が総じてコストが安いならば、単純作業を我慢して手で回す たとえば 1回 につき 30分 かかる試行が 10回 程度で完結する見込みならば、そのために数時間かけて自動化するのは総コスト高になる ただし、自動化の過程で気づきや経験が得られるというメリットがある 自動化が再利用できるタイプのものならば意義はある 小さく部分に分けて回…
結論 PS5 で PS4 のソフトをほぼ遊ぶことができる(後方互換性あり) Xbox Series X or Xbox Series S にて Xbox One のソフトをほぼ遊ぶことができる(後方互換性あり) 根拠 PS5 「圧倒的大多数をプレイできる」「ほとんどの PS4 ゲームをプレイできる」とあるのはごく少数の例外に対する保険的な記述 ごく小数の例としては PS VR のゲームなど 具体例として 6つ のゲームが挙げられている Xbox Series X S Xbox One のほとんどのゲームは、Xbox Series X S でプレイ可能です。 さらに、ゲームの外観とパフォ…
コナミオフィシャルショップ コナミのオフィシャルショップで販売されます。現時点ではプレオーダーで、発売予定日は今年の第三四半期です。 Now available in Official Konami Shop, the original video game soundtrack classic RPG: SUIKODEN! Fill your surroundings with the beautiful music of the Scarlet Moon Empire featuring original artwork from the Konami vault ⚔️Get yours!…
結論 Node パッケージをインストール後に、2つの Windows 実行ファイルに実行権限をつける。 $ chmod +x node_modules/node-notifier/vendor/snoreToast/snoretoast-x64.exe $ chmod +x node_modules/node-notifier/vendor/snoreToast/snoretoast-x86.exe 補足 「なにかのたびに実行権限が外れていることを気にする必要がある*1」ので、これを除外して冪等にするには、たとえば package.json に以下のように追記する*2。 "postinstal…
結論 「docker build` を実行する際の書き方」と「Dockerfile の書き方」の 2つ の書き方を適用する必要がある。 docker build を実行する際の書き方 RAILS_MASTER_KEY という環境変数に渡したいデータが格納済みとする。 $ docker build --secret id=rails_master_key,env=RAILS_MASTER_KEY --tag my_app . Dockerfile の書き方 (これより前は省略) RUN --mount=type=secret,id=rails_master_key RAILS_MASTER_KE…
上記の本*1を実際に購入する(した)方法です。一般的な ECサイト での購入手順と同一ですが、フランス語を Webブラウザ で随時翻訳しておく、などの工夫が必要です*2。 1. Third Editions のサイト(仏語)に行く 行きます。 ※サブディレクトリで /en を指定すると英語版のサイトに行けますが、そちらでは現時点*3では 幻水II本 を扱っていません 2. 幻水II本 の商品ページに行く 行きます。ここらへんから翻訳がないとつらくなってきます。 *1:以降は「幻水II本」と呼びます *2:頑張れば、あるいはフランス語が読めるならば翻訳は不要 *3:2023/04/13
結論 JavaScript (JSON) の世界で情報の受け渡しを行うため、データフォーマットとしては JSON or バイナリ*1 の世界だということです。 gyazo.com gyazo.com gyazo.com 補足 n8n のデータの流通は原則として JavaScript の世界でのことなのでこういうものだと思います Destination Key にデフォルトで指定される data という key は n8n ではデフォルトの key なので深い理由がなければいじらないほうがいいです *1:テキストも含む
結論 表題通り。 ハマった 落ちるときのエラーは次のような感じ。 rails aborted! ActiveRecord::NoDatabaseError: We could not find your database: eiyuden_crm_test. Which can be found in the database configuration file located at config/database.yml. To resolve this issue: - Did you create the database for this app, or delete it? You…
La Saga Suikoden: Une étoile au firmament du J-RPG 先日も書いた 幻水II 本の「La Saga Suikoden: Une étoile au firmament du J-RPG」ですが、版元の Third Editions からは初回版として特別仕様の表紙カバーバージョンを購入することができます。 初回版カバーの裏面には通常バージョンの表紙が印刷されている(リバーシブル)ので、初回版を購入しておけば通常版の表紙も再現できます。 ただ難点なのは、現時点ではフランス語サイトでしか通販申込みができないという点です(日本への発送は OK)。 なお…
結論 パーソナルアクセストークン (PAT) を取得し、actions/checkout を使う際に その PAT を token という key で指定する。 具体的な書き方 以下のように書きます。secrets の登録方法は省略します*1。 - name: $ git clone する uses: actions/checkout@v3 with: token: ${{ secrets.YOUR_TOKEN }} ハマったところ PAT を使えば良いことはだいたい見当がつくのですが、actions/checkout で使うとはわからなかった。README に記載はあるのですが、すぐにこれに…
一昨日のこと*1になりますが、Twitch にて 幻水II のクイズイベントが有志により開催されました。 Quiz Kit という Twitch と連携するサービスを用いて参加者がクイズに答えていくイベントです。以前に 幻水I をテーマに開催されたところ、今回は 幻水II がテーマになっています。 英語によるイベントですが、ビデオが残っていて見返せますので、雰囲気等が味わえます。興味がある方はどうぞ。 www.twitch.tv *1:2023/04/02
結論 以下のような Step を書きます。 - name: inputs と secrets の値を表示する run: echo '${{ toJson(inputs) }}' echo '${{ toJson(secrets) }}' 注意点 toJson() しないと Object と表示されます つまり、一般的に Object と表示された場合には toJson() してやれば中身が表示できます echo の引数は シングルクォート してあげないとエラーになります*1 こちら や こちら を参照のこと *1:これにハマった
La Saga Suikoden: Une étoile au firmament du J-RPG 先日記事に書いた幻水本「La Saga Suikoden: Une étoile au firmament du J-RPG」が、日本の Amazon にて Kindle版 で購入できるようになっています。 ただし、フランス語版ですので、その点は十分にご留意ください。 以下のリンクから購入できます(アフィリエイトリンクです)。 La Saga Suikoden: Une étoile au firmament du J-RPG (French Edition)作者:Remoiville, Jo…
結論 {{$now.toFormat('yyyyMMdd_HHmmss')}} gyazo.com 補足 ポイントは toFormat() です 他にも toLocaleString() などがあります 内部的に Luxon を使っているのでそのドキュメントを見ると手っ取り早いです moment.github.io
前提 macOS 13.2.1(22D68) uname $ uname -a Darwin FOOBAR.local 22.3.0 Darwin Kernel Version 22.3.0: Mon Jan 30 20:38:43 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T8112 arm64 Xcode $ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables grep version version: 14.2.0.0.1.1668646533 rbenv rbenv のインストール…
MinIO の場合とほとんど同じです。 obel.hatenablog.jp 事前準備 「R2 API トークンの管理」から、トークン(アクセスキーとシークレットアクセスキー)を予め作成しておきます 「エンドポイント」は https://アカウントID.r2.cloudflarestorage.com/ になるので、これも予め控えておきます gyazo.com 結論 必要な gem aws-sdk nokogiri nokogiri でなくとも ox や oga や libxml や rexml でもいいです nokogiri を選んだ理由は、Rails の場合は明示的に入れなくてよく、馴染み…
少しだけ注意する点がありますが、それ以外はいつもどおりです。 結論 必要な gem aws-sdk nokogiri nokogiri でなくとも ox や oga や libxml や rexml でもいいです nokogiri を選んだ理由は、Rails の場合は明示的に入れなくてよく、馴染み深いから、というだけで深い理由はありません コード require 'aws-sdk' s3_client = Aws::S3::Client.new( region: 'ap-northeast-1', access_key_id: 'YOUR_ACCESS_KEY_ID', secret_acce…
Rundeck とは www.rundeck.com n8n とは n8n.io 乗り換えた理由(Rundeck のつらみ) 重い メモリ 2GB の VPS で Rundeck 専用につかっても重い ジョブの一括削除すると必ずタイムアウトするか 30分 ぐらい待ってエラーとかでどうにもならなくなった 起動が遅い メモリ使用量が常時上限張り付き 乗り換えにあたって要した条件 軽いこと コードベースでジョブが扱えること IFTTT は全部ポチポチ GUI なのでジョブが増えると手に負えなくなる 柔軟性が高いこと n8n は多くの Integration に対応している n8n は多くの node…
結論 タイトルのまんまなんですが、以下、例示の画像です。 デフォルトのマイグレーションだと timestamp になります。それを timestamptz に変換してから記録したのが最新の一件になります。 gyazo.com gyazo.com 理由や原因 Open されている Issue があります*1。timestamptz への型変換はこの Issue を見て気づきました。 github.com 関連 Issue & Pull Request github.com github.com *1:この記事が公開されている頃には対応されているかも
結論 gem として google-analytics-admin-v1alpha を用います。各種データを取得するための Data API とは異なるので注意です。 公式ドキュメント cloud.google.com 具体的なコード例 具体的なコード例は次のとおりです。Data API のとき とほぼ同じです。 (1) client を定義し、 (2) リクエスト内容のオブジェクトを定義し、 (3) その内容を client のメソッドを用いて投げる、 とレスポンスが返ってくる、という流れです。 認証は Data API のとき と同じく、サービスアカウントの 認証用 JSON ファイル の…
注意 2022年12月13日(火)現在の内容です。 結論 たとえば ./dist 配下に静的な HTML などが存在し、./dist/funcions が存在するとき。 デプロイされない場合 以下のような wrangler の実行方法だと functions がデプロイされません。 $ wrangler pages publish ./dist Uploading... (8/8) ✨ Success! Uploaded 0 files (8 already uploaded) (0.41 sec) ✨ Deployment complete! Take a peek over at http…