chevron_left

メインカテゴリーを選択しなおす

cancel
約束の地 https://obel.hatenablog.jp/

ゲーム(幻想水滸伝)、デジタル家電、PC、Linux、VPSなど、「何でもあり」なブログです。

Twitterやプログラミングなどの話題も取り扱っています。

たっきー
フォロー
住所
中央区
出身
中央区
ブログ村参加

2016/03/10

  • GAS で Webページ を作るときの制約

    前提 Google Apps Script に HTML ファイルをアップロードし、デプロイして Webページ を作るという前提です。以下の記事がまさにそれです。 engineer.retty.me 制約 想像がつくように、いくらか制約があります。列挙します 上記記事に沿えばモダンな開発環境での開発が可能 真の SPA になるため、それから逸脱するようなページ(サイト)は作れない URL は一つであるため、ルーティングが適切になされていたとしてもパーマネントリンクは不可能 マウント時のルーティングは / ではない doGet の中にアクセス制限ロジックを埋め込むことでアクセス制限は可能 ただし…

  • Afterlove EP で予定されていた幻水IIの「カメオ出演」

    昨年3月に「Coffee Talk」などを手掛けた Mohammad Fahmi 氏 (@fahmitsu) がご逝去されました。 彼は幻水コミュニティにも多大な貢献をされています。新作「Afterlove EP」では、幻水IIパッケージ画像の「カメオ出演」が予定されていました*1。 Coffee Talk Episode 2 の発売にもあわせ、これまでの活躍に感謝いたします。 *1:以下の画像の中ほどに注目

  • cron(など)で direnv の .envrc を読み込ませて実行する方法

    結論 $ direnv exec 実行ディレクトリ名 実行コマンド という書式を用いて実行する。 具体例 /path/to/.envrc があるとします。その .envrc に以下のように記述されていたとします。 export FOO=BAR このとき、cron(など)で以下のように実行すると .envrc の内容を読んでくれます。 $ direnv exec /path/to echo $FOO direnv: loading /path/to/.envrc BAR

  • PS5 で PS4 のソフトを遊べるのか & Xbox Series X or S で Xbox One のソフトを遊べるのか

    結論 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-notifier を WSL2 の Ubuntu 内で動かして Windows へ通知を出す方法

    結論 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 で秘匿情報を環境変数を通じて渡す方法

    結論 「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…

  • 「La Saga Suikoden: Une étoile au firmament du J-RPG」の初回版を購入する方法

    上記の本*1を実際に購入する(した)方法です。一般的な ECサイト での購入手順と同一ですが、フランス語を Webブラウザ で随時翻訳しておく、などの工夫が必要です*2。 1. Third Editions のサイト(仏語)に行く 行きます。 ※サブディレクトリで /en を指定すると英語版のサイトに行けますが、そちらでは現時点*3では 幻水II本 を扱っていません 2. 幻水II本 の商品ページに行く 行きます。ここらへんから翻訳がないとつらくなってきます。 *1:以降は「幻水II本」と呼びます *2:頑張れば、あるいはフランス語が読めるならば翻訳は不要 *3:2023/04/13

  • n8n でテキスト情報を書き出すときにはバイナリ変換をしてからそのバイナリを書き出す形にする

    結論 JavaScript (JSON) の世界で情報の受け渡しを行うため、データフォーマットとしては JSON or バイナリ*1 の世界だということです。 gyazo.com gyazo.com gyazo.com 補足 n8n のデータの流通は原則として JavaScript の世界でのことなのでこういうものだと思います Destination Key にデフォルトで指定される data という key は n8n ではデフォルトの key なので深い理由がなければいじらないほうがいいです *1:テキストも含む

  • Rails で routes.rb にデータベースのデータを使うロジックを書くと CI で落ちる

    結論 表題通り。 ハマった 落ちるときのエラーは次のような感じ。 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」の初回版はリバーシブル表紙

    La Saga Suikoden: Une étoile au firmament du J-RPG 先日も書いた 幻水II 本の「La Saga Suikoden: Une étoile au firmament du J-RPG」ですが、版元の Third Editions からは初回版として特別仕様の表紙カバーバージョンを購入することができます。 初回版カバーの裏面には通常バージョンの表紙が印刷されている(リバーシブル)ので、初回版を購入しておけば通常版の表紙も再現できます。 ただ難点なのは、現時点ではフランス語サイトでしか通販申込みができないという点です(日本への発送は OK)。 なお…

  • GitHub Actions 内で git push した際に、その git push をトリガにして GitHub Actions が起動しない場合

    結論 パーソナルアクセストークン (PAT) を取得し、actions/checkout を使う際に その PAT を token という key で指定する。 具体的な書き方 以下のように書きます。secrets の登録方法は省略します*1。 - name: $ git clone する uses: actions/checkout@v3 with: token: ${{ secrets.YOUR_TOKEN }} ハマったところ PAT を使えば良いことはだいたい見当がつくのですが、actions/checkout で使うとはわからなかった。README に記載はあるのですが、すぐにこれに…

  • Suikoden 2 Quiz Competition

    一昨日のこと*1になりますが、Twitch にて 幻水II のクイズイベントが有志により開催されました。 Quiz Kit という Twitch と連携するサービスを用いて参加者がクイズに答えていくイベントです。以前に 幻水I をテーマに開催されたところ、今回は 幻水II がテーマになっています。 英語によるイベントですが、ビデオが残っていて見返せますので、雰囲気等が味わえます。興味がある方はどうぞ。 www.twitch.tv *1:2023/04/02

  • GitHub Actions で inputs や secrets の値を表示させる方法("Object" 全般)

    結論 以下のような 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(仏語版)の Kindle 版が Amazon.co.jp にて購入可能

    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…

  • n8n の "Expression" の JavaScript にて現在日時を任意のフォーマットで返す書き方

    結論 {{$now.toFormat('yyyyMMdd_HHmmss')}} gyazo.com 補足 ポイントは toFormat() です 他にも toLocaleString() などがあります 内部的に Luxon を使っているのでそのドキュメントを見ると手っ取り早いです moment.github.io

  • M2 Mac で rbenv install 3.2.1 にて configure: error: something wrong with LDFLAGS エラーが出たときの対処方法の一つ

    前提 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 のインストール…

  • Cloudflare R2 の 署名付きURL の取得を Ruby の AWS の gem を用いて実現する

    MinIO の場合とほとんど同じです。 obel.hatenablog.jp 事前準備 「R2 API トークンの管理」から、トークン(アクセスキーとシークレットアクセスキー)を予め作成しておきます 「エンドポイント」は https://アカウントID.r2.cloudflarestorage.com/ になるので、これも予め控えておきます gyazo.com 結論 必要な gem aws-sdk nokogiri nokogiri でなくとも ox や oga や libxml や rexml でもいいです nokogiri を選んだ理由は、Rails の場合は明示的に入れなくてよく、馴染み…

  • MinIO の 署名付きURL の取得を Ruby の AWS の gem を用いて実現する

    少しだけ注意する点がありますが、それ以外はいつもどおりです。 結論 必要な 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 から n8n に乗り換えた

    Rundeck とは www.rundeck.com n8n とは n8n.io 乗り換えた理由(Rundeck のつらみ) 重い メモリ 2GB の VPS で Rundeck 専用につかっても重い ジョブの一括削除すると必ずタイムアウトするか 30分 ぐらい待ってエラーとかでどうにもならなくなった 起動が遅い メモリ使用量が常時上限張り付き 乗り換えにあたって要した条件 軽いこと コードベースでジョブが扱えること IFTTT は全部ポチポチ GUI なのでジョブが増えると手に負えなくなる 柔軟性が高いこと n8n は多くの Integration に対応している n8n は多くの node…

  • n8n でデータベースに PostgreSQL を用いる際には execution_entity テーブルの startedAt と stoppedAt の型を timestamptz にしないと UTC で記録される

    結論 タイトルのまんまなんですが、以下、例示の画像です。 デフォルトのマイグレーションだと timestamp になります。それを timestamptz に変換してから記録したのが最新の一件になります。 gyazo.com gyazo.com 理由や原因 Open されている Issue があります*1。timestamptz への型変換はこの Issue を見て気づきました。 github.com 関連 Issue & Pull Request github.com github.com *1:この記事が公開されている頃には対応されているかも

  • Ruby で Google Analytics 4 (GA4) の「アカウント」や「プロパティ」を API で取得する方法

    結論 gem として google-analytics-admin-v1alpha を用います。各種データを取得するための Data API とは異なるので注意です。 公式ドキュメント cloud.google.com 具体的なコード例 具体的なコード例は次のとおりです。Data API のとき とほぼ同じです。 (1) client を定義し、 (2) リクエスト内容のオブジェクトを定義し、 (3) その内容を client のメソッドを用いて投げる、 とレスポンスが返ってくる、という流れです。 認証は Data API のとき と同じく、サービスアカウントの 認証用 JSON ファイル の…

  • Cloudflare Pages で Functions を Wrangler でデプロイするときはカレントディレクトリ直下に funcitions/ がないとダメ

    注意 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…

  • Ruby で Google Analytics 4 (GA4) のデータを API で取得する方法

    前提 2023年3月17日(金)現在の話です。 結論 どの gem を使うか? google/analytics/data/v1beta です。 API の認証はどうするか? GCP のサービスアカウントを作成し、認証用の JSON ファイルである credentials.json を準備しておいてください*1。下記のような形式のものです。 { "type": "service_account", "project_id": "foobar-project", "private_key_id": "12345abcdef", "private_key": "-----BEGIN PRIVATE…

  • GitHub Actions の具体的な使用状況(どのアクションでどれだけ消費しているか)を確認する方法

    結論 1. そのオーガニゼーションの管理権限があるアカウントで Settings ページに行く 2. 左列のメニューから Billing and plans を選ぶ 3. Usage this month の項目にある Get usage report ボタンを押す 4. データを出力する期間が選択できるので、選ぶ 選んだあとに Send report to email を押します。 5. しばらくするとメールで CSV が届く 6. CSV の中身の例 CSV の中身は以下のようになっています。どのワークフロー(.yml)がどれだけ消費したのかの具体的な値が分かります。 Date,Produ…

  • Mermaid の ERD(ER図)で UNIQUE や NOT NULL といった情報を書き込めるか

    結論 2022年12月7日(水)現在、書けない。 根拠 公式ドキュメントにて、最大限に情報を書いた場合の例が以下です。 mermaid-js.github.io erDiagram CAR { string allowedDriver FK "The license of the allowed driver" string registrationNumber string make string model } 「型」「カラム名」「PK or FK」「コメント」だけが書き込め、これ以上は書き込めません。 感想 Mermaid は慣れれば書き方を見ないで書けますし、人間の可読性も高いです。ぜ…

  • Suikoden 1 Retrospective An Overly Long Review & Analysis of this Great JRPG

    www.youtube.com ランキング参加中幻想水滸伝

  • Retrograde Amnesia: Comprehensive JRPG Retrospective: Suikoden(全22回)

    gyazo.com Suikoden E1: Please Tell Me The Answer [Introduction] open.spotify.com Suikoden E2: Ouroboros of Young Masters [Gregminster & Magician's Island] open.spotify.com Suikoden E3: Did You Talk to the Graveyard? [Rockland & Mt. Seifu] open.spotify.com Suikoden E4: Viktor Lays It Thicker [The Lib…

  • Stars of Destiny podcast

    gyazo.com open.spotify.com ランキング参加中幻想水滸伝

  • Suikoden Complete Series Retrospective

    www.youtube.com ランキング参加中幻想水滸伝

  • Suikoden II - The Ultimate Retrospective Review of an All-Time Classic JRPG

    www.youtube.com ランキング参加中幻想水滸伝

  • Suikoden III - Glittering Blade MrConeman

    www.youtube.com ランキング参加中幻想水滸伝

  • pgcli で SSL接続 をする方法

    結論 環境変数に各種設定項目を設定して実行します。この環境変数は psql コマンドと共通です。 direnv で設定するとたとえば接続先ごとに柔軟な変更ができます。 例 $ export PGSSLMODE="verify-ca" $ export PGSSLROOTCERT="server-ca.pem" $ export PGSSLCERT="client-cert.pem" $ export PGSSLKEY="client-key.pem" $ pgcli -h localhost -p 5432 -U username -d postgres 参考 参考の参考 psql では環境変…

  • DBeaver で PostgreSQL に SSL で接続する際に "extra data given to DerValue constructor" というエラーが出るとき

    状況 結論 鍵のフォーマットを変更(変換)する。 $ openssl pkcs8 -topk8 -inform PEM -outform DER -in 変換前の鍵.pem -out 変換後の鍵.pk8 -nocrypt 参考 github.com

  • ghコマンド を用いて Organization の課金額を取得する方法

    結論 $ gh api -H "Accept: application/vnd.github+json" /orgs/ORGANIZATION_NAME/settings/billing/actions 注意点 gh を認証した際に admin:org スコープの権限が付与されていないと以下のようなエラーが出ます。 $ gh api -H "Accept: application/vnd.github+json" /orgs/ORGANIZATION_NAME/settings/billing/actions { "message": "Not Found", "documentation_u…

  • Cloudflare Pages でリダイレクトを行う方法

    結論 1. アカウントメニューの「アカウントの管理」から「構成」→「リスト」とたどり「リスト」を作る このリストを作っただけでは何も起こらない 作成後に編集はできず、削除して新規作成をする必要がある gyazo.com gyazo.com 2. アカウントメニューの「一括リダイレクト」を選択し「一括リダイレクトルールの作成」をする 一つの「ルール」には一つの「リスト」を割り当てることができる いきなり反映するには「保存してデプロイする」で、「下書きを保存する」だとリリースされないでデータだけ保存される 「一括リダイレクト」のトップページで「有効」を ON にするとリリースされる gyazo.c…

  • pgloader で MySQL から PostgreSQL へデータを移行するためのシェルスクリプト(MySQL 8 対応)

    pgloader とは MySQL のデータを PostgreSQL にデータを移行するためのソフトウエアです*1。Heroku でも利用を推奨しています 。 github.com pgloader.io pgloader.readthedocs.io pgloader の問題点 MySQL 8 以降から移行する場合には認証の関係でそのままでは動かないことがあります。 github.com 問題点を解決する 上記の問題点を解決するために、以下の手順を採ります。 *1:必ずしもそれ専用ではないが、その用途に適している

  • 1Password 8 の Android 版にて多くのサイトで「ユーザー名」と「パスワード」の入力時に「パスワード」しか入力されない現象

    結論 フォーラムで話題が継続中なので、たぶんしょうがない。 1password.community しかしながら ずっと現象が出ているし、すさまじく不便なのは間違いないので、がんばって 1Password 7 に戻すのがよいっぽい。

  • フロントエンドのテスト用に Webサーバ を起動するときには PM2 を使うのもあり

    PM2 とは PM2 is a daemon process manager Process Manager pm2.keymetrics.io 理由 メジャーな OSS であり、信頼でき、メンテも続くだろう Webサーバ の起動、停止、削除というだけに限らず、汎用的なので、応用範囲が広い 同期的な処理にできるので、サーバが起動しない前にテストが走って落ちてしまうということがない Cypress 公式では start-server-and-test が紹介されていたり、Vue Test Utils でもなにか紹介されていた*1と思うが、これらは非同期でサーバを起動する*2ので、サーバ起動よりも…

  • ImageMigick の最新版 (v7以上) をインストールする方法

    結論 magick コマンドがバイナリ単体で提供されているので、OS を選んで落とせばいいです。 convert や identify などのコマンドは magick コマンドひとつでまかなえるようになります*1。 imagemagick.org 注意点 バイナリ実行時に下記のように libfuse.so.2 が足りないと言われることがあります。 $ ./magick -version dlopen(): error loading libfuse.so.2 Ubuntu 22.04 の場合は libfuse2 を apt で入れてやるといいです。他の OS の場合も同種のライブラリをインスト…

  • URLパラメータを用いて Mastodon に投稿内容を渡して投稿フォームを表示する方法

    結論 share エンドポイントに text というクエリを渡せばいい。 具体例 https://インスタンスのドメイン/share?text=hello 注意点 日本語や記号(スペース)などはエンコードを忘れずに。 エンコードURLの例 https://mstdn.jp/share?text=%E3%83%97%E3%83%AC%E3%82%B9%E3%83%862%20%E7%99%BA%E5%A3%B2%E6%97%A5 gyazo.com 参考 Twitter では https://twitter.com/intent/tweet?text=Hello%20world のようになります…

  • TVTest で画像キャプチャ保存しようとすると「画像の保存でエラーが発生しました」というエラーが発生するとき

    結論の一つ TVTest_Image.dll が TVTest のビット数 (x86 or x64) と合致していない。TVTest のファイル群を最新版にするといい。

  • 「Suikoden: Une étoile au firmament du J-RPG」が紀伊國屋書店で予約受付中

    Suikoden: Une étoile au firmament du J-RPG 2023/03/23 に「Suikoden: Une étoile au firmament du J-RPG」という書籍が発売予定です(仏語です)。 www.amazon.fr 書籍概要の直訳(あえて手を加えていません) コナミの黄金時代に開発された『幻想水滸伝』は、J-RPGの世界では異色の存在です。村山嘉隆は、中国の有名な伝説「At the Water's Edge」(腐敗した帝国に、さまざまな技能を持つ108人が反乱を起こす物語)からインスピレーションを得て、この作品を創作したのです。同様に『幻想水滸…

  • TVTest + BonDriver で「BonDriver の初期化ができません」と出たときの一つのチェック項目

    結論 BonDriver の DLL が TVTest のビット数(x32 or x64)と合致しているかどうか。合致していないとこのエラーがで得る。

  • Docker で起動している MySQL にて mysqldump コマンドを実行したら Can't connect to local MySQL server through socket '/tmp/mysql.sock' エラーが出たとき

    結論 mysqldump コマンドで具体的にソケットの場所を以下のように指定します。ソケットファイルは MySQL のデータディレクトリに存在しています*1。 デフォルトではホストのマシンにインストールされている MySQL のソケットファイルを見に行こうとするのでエラーが出ます。したがって、明示的に「Docker で起動している MySQL の」ソケットファイルを指定します。 $ mysqldump -h localhost -p -u foo my_database > my_database.dump -S /path/to/mysql_data_dir/mysql.sock 補足 上記…

  • TweetDeck の "beta" バージョン と "legacy" バージョン を切り替える方法

    結論 Cookies の tweetdeck_version を書き換えて、リロードする。 beta バージョンにしたい場合には beta に書き換える legaccy バージョンにしたい場合には legacy に書き換える 補足 2023年2月9日(木)15:29:10 現在、デフォルトでは beta バージョンになる*1 2023年2月9日(木)15:29:10 現在、強制的に tweetdeck_version が上書きされるということは起きていない BetterTweetDeck について(余談) 2023年2月9日(木)15:29:10 現在、BetterTweetDeck について…

  • Ubuntu 22.04 (WSL2) で rbenv で Ruby v3.2.1 をインストールしようとすると require': cannot load such file -- optparse (LoadError) が出る場合

    結論 以下のようにしたら自分の環境ではインストールに成功しました。 1. グローバルに利用する Ruby を v2.7.3 に設定する v2.7.3 を持っていない場合は $ rbenv install 2.7.3 で入れておきます。 $ rbenv global 2.7.3 2. v3.2.1 をインストールする これでインストールすると成功しました。 $ rbenv install 3.2.1 To follow progress, use 'tail -f /tmp/ruby-build.20230209145257.25800.log' or pass --verbose Downlo…

  • VSCode で SSH した先の GUI アプリを VSCode のターミナルから実行して手元で表示させる方法(拡張機能なし)

    動機 SSH 先で開発しているときにも Cypress や、ブラウザを表示させた上での RSpec (Capybara) を実行したい Webページを経由する認証にて、SSH 先の Webブラウザ で認証したい*1 結論 まず制限事項があります。それは「別途、当該 SSH 先に接続し続けておく必要がある」ということです*2。 github.com その上で、以下の手順を踏みます。 1. SSH 先に接続するための config 設定に以下の二行を加える その他、ローカルマシンや接続先にて一般的な X11 の設定は行っておきます。 ForwardX11 yes ForwardX11Trusted…

  • ssh-agent に鍵を登録しても再起動(シェル再起動)時に消えてしまっている(使えない)ときの原因の一つ

    結論 ssh-agent が以下のように複数起動していないでしょうか。 $ ps aux grep ssh-agent foobar 229998 0.0 0.0 7972 1080 ? Ss 08:35 0:00 ssh-agent foobar 230400 0.0 0.0 7972 3504 ? Ss 08:36 0:00 ssh-agent foobar 232466 0.0 0.0 7972 1080 ? Ss 08:37 0:00 ssh-agent foobar 233438 0.0 0.0 7972 4440 ? Ss 08:39 0:00 ssh-agent foobar…

  • ConoHa のイメージ保存の料金は 50GB までは無料

    注意 2022年10月26日(水)現在の情報です。 結論 料金表 (PDF) https://www.conoha.jp/vps/pdf/conoha_spec_ja.pdf 管理コンソールのヘルプ gyazo.com

  • GitHub Actions の Secrets を $ gh secret set で渡すときに \n が含まれているときはファイル出力経由で渡す

    具体例 "foo\nbar\nhoge\nfuga" という文字列を MY_SECRET という Secrets で渡したいとします。 だめな例 $ gh secret set MY_SECRET "foo\nbar\nhoge\nfuga" OKな例 まず \n を改行に変換したテキストファイルを用意します*1。 以下のテキストファイルを my_secret.txt とします。 foo bar hoge fuga あとはこれを リダイレクトで gh secret set します。 $ gh secret set MY_SECRET < my_secret.txt *1:sed を使えば楽でし…

  • git stash でコンフリクトした際に戻すには git reset --merge する

    結論 標題のとおりです。 $ git stash --abort を誰もが一度は実行すると思いますが、そういうオプションは今のところ無いので、$ git reset --merge で戻します。 補足 $ git stash pop を実行した結果コンフリクトしたとします。 その後に $ git reset --merge を実行することで $ git stash pop は無かったことになりますが、その場合、stash はちゃんと元に戻っています*1。 考察 $ git stash をするとき、どうしてもタイプ数を抑えたいので $ git stash --save "名前" をしないことが多…

  • YubiKey 5 NFC を買った

    理由は Mac のログインを楽にしたいから*1 それ以外の用途だと 1Password の利便性の方が勝っているので、なにか面白い使い方はないかと調査中 指紋認証可能バージョンは値段的に冒険しすぎな感がしたので、使っていく中で便利そうなら乗り換えたい 参考ページ note.com yoshiori.hatenablog.com zenn.dev gigazine.net アフィリエイトリンク Yubico セキュリティキー YubiKey 5 NFC ログイン/U2F/FIDO2/USB-A ポート/2段階認証/高耐久性/耐衝撃性/防水ユビコ(Yubico)Amazon *1:貸与されているマ…

  • GCP の料金を「サービス別に」見る方法

    結論 1. メニューから「お支払い」を選ぶ gyazo.com 2. 詳細メニューから「レポート」を選ぶ gyazo.com 3. パネルメニューの「フィルタ」の「プリセット」から「今月、すべてのサービス」を選ぶ 必ずしも「今月」である必要はありません。 gyazo.com 4. サービスごとの費用の明細が表示される これでサービスごとの費用の明細を見ることができました。 gyazo.com 5. (オプション)さらに詳細な明細が見たい場合には「グループ条件」を変更する さらに詳細な明細が見たい場合には、パネルメニューの「フィルタ」の「グループ条件」で「SKU」を選びます。 gyazo.com…

  • Ubuntu で trans コマンド(引数を翻訳してくれるコマンド)を入れる方法

    結論 $ sudo apt install -y translate-shell

  • nodenv を使っていて npm install -g したバイナリが実行できないときは nodenv rehash する

    前提 たとえば以下のようになるときです。 $ npm install -g @devcontainers/cli $ devcontainer --help zsh: command not found: devcontainer 結論 $ nodenv rehash します。 補足 $ nodenv rehash した際に以下のようにエラーが出るときがあります。 $ nodenv rehash nodenv: cannot rehash: /home/USERNAME/.nodenv/shims/.nodenv-shim exists こういうときは .nodenv-shim を削除して、再…

  • (最近の)Ruby で YAML.load_file によってエイリアスが読み込めないときの対応

    結論 キーワード引数として aliases: true を付与する。 例 yaml = YAML.load_file('config.yml', aliases: true) 補足 Psych というワードと併せて検索すると背景が分かります 現時点では、素の Ruby じゃないと遭遇しない現象かもしれません

  • 日本版開始前に Twitter Blue を契約していて、解約後に再度契約しようとしたら「問題が発生しました」と出るとき

    結論 VPN でアメリカにつないで Twitter Blue を契約しようとすれば Stripe に飛ぶ。 Twitter Blue 契約直リンク https://twitter.com/i/twitter_blue_sign_up 考察 たぶんいくら待っても待つだけじゃだめだと思います。

  • git config user.email や git config user.name を環境変数で設定する方法

    結論 以下の環境変数を設定する。 GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL ドキュメント git-scm.com (参考)Authot と Committer の違いは? author と committer は何が違うのか気になる方もいるでしょう。 authorとはその作業をもともと行った人、committerとはその作業を適用した人のことを指します。 git-scm.com

  • gh コマンドで複数アカウントを使い分ける方法

    結論 GH_CONFIG_DIR 環境変数を用いて gh の設定ファイル*1の置き場をアカウントごとに指定する さらに GH_CONFIG_DIR の指定には direnv を用いることで、プロジェクトごとにアカウントの切り替えができる ドキュメント cli.github.com *1:config.yml と hosts.yml が入っている

  • 徹底的に意識的にシングルタスクをした方がいい

    シングルタスクのメリット 余計なことを考えなくていいので集中できて記憶に身につく内容が多い 余計なことを考えなくていいので成果の質が上がる 余計なことを考えなくていいので短時間で終わる 完了後に達成感が得られて、モチベーションに繋がる*1 何かあったときに対応するスコープがそのタスクだけにとどまる シングルタスクのデメリット 待ち時間があるときは実時間待つ必要がある 例えば、30分かかるソフトやライブラリのインストールがあるとき 例えば、相手からの返答があって進めることができる内容があるとき 他の人からのタスクの量的な見え方は良くない 仮に1分で終わる簡単な他のタスクがあったとしてもそれは先に…

  • GA4 では スプレッドシートのアドオンである「Google Analytics」は使えない

    結論 gyazo.com ↑ この Google 謹製 の Google Analytics アドオン は GA4 では使えない。 どうするか GAS でやるのが楽っぽい サードパーティのアドオンは使わない前提

  • Data Studio (Data Portal) でスプレッドシートをデータソースにしている際にカラムデータが更新されないときの対処方法

    結論 データソースの画面の左下にある「フィールドを更新」ボタンを押す。 実際の画面 全景 ボタン近景 考察 こんなの気づかない… 自動では更新されないようだ*1 *1:少なくともデータ自体の更新の際に更新はされないようだ

  • Windows 11 で(Windows 10 もかも)同じドライブを別のドライブの OS で使い回すと大ハマリする

    状況 OS をクリーンインストールしようと、Cドライブだけを交換して Windows 11 をクリーンインストールした 新ドライブを「新ドライブ」と呼ぶ 旧ドライブを「旧ドライブ」と呼ぶ 旧ドライブの OS は Windows 11 データドライブとして Dドライブ がある 旧ドライブでないと入っていないデータがあるので、旧Cドライブに付け替えて起動した 改めて新ドライブで起動するとDドライブについてのエラーの荒らしが発生した アクセス許可がない ゴミ箱が壊れている 原因(おそらく) 旧ドライブの OS で起動すると旧ドライブのアクセス権限に上書きされる Microsoft Defender …

  • Cloudflare の DNS 設定の項目にメモ欄が追加された

    結論 各々の項目について、入力内容に「メモ」が追加されています。 感想 以前からほしいほしいと思っていた機能なので*1、とてもありがたいです。 これまでは別途 Scrapbox に書いてメンテしていました。 *1:数が多くなると、久しぶりに触ったときの思い出しコストが低い

  • Windows の VS Code が product.json の不備により突然起動しなくなったので直した

    結論(直し方) 再インストール(上書きインストール)する。 インストーラを落として普通にインストールすれば上書きインストールしてくれる。 症状 resources/app/product.json が謎のバイナリファイルになっていて、VS Code 起動時に怒られた*1。 なぜそうなったのかは不明。SSDの寿命かも。 *1:JSON ファイルが期待されているのだから当然

  • Clasp もろもろまとめ

    Clasp について、書き殴りに近いですがまとめです。 Clasp について 1. $ clasp login Google アカウントにてログインをして、Clasp 用の権限を得る。 $ clasp login これにより、~/.clasprc.json が作成される。 2. $ clasp clone 既存のプロジェクトを持ってくるために $ clasp clone する。 なお、スプレッドシート の新規作成や App Script の新規作成を行うには $ clasp create を実行する(実際はほとんどやる機会はないと思う)。 $ clasp clone スクリプトID このコマン…

  • Tailwind で任意の値(数値)を使えるクラス名に変数を用いることは現状実質不可

    前提 JIT で入ったこのあたりの記法です。 v2.tailwindcss.com <!-- Sizes and positioning --> <img class="absolute w-[762px] h-[918px] top-[-325px] right-[62px] md:top-[-400px] md:right-[80px]" src="/crazy-background-image.png"> <!-- Colors --> <button class="bg-[#1da1f1]">Share on Twitter</button> <!-- Complex grids --…

  • Windows側 のバッチファイルで WSL側 のシェルスクリプトを実行する方法

    結論 以下のようなバッチファイルを書いて実行します。 wsl.exe -u foobar -- sleep 60 wsl.exe -u hogehoge -- ls -la 注意点 自動化に用いた場合には対話プロンプトが混じらないように工夫しましょう。

  • GitHub Actions でブランチ名を指定する時に全てのブランチ指定には '**' を使う

    結論 '*' だと例えば feature/foobar などが対象になりません。 具体例 on: push: tags-ignore: - 'v*.*.*' branches: - '**' jobs: hogehoge_job:

  • apt で Java 18 が入らなかったので手動で入れる

    結論 jdk.java.net から .tar.gz で落としてきて、展開してディレクトリをパスの通った場所に置きます 展開したディレクトリの配下の bin/ にパスが取っていないと各種コマンドが実行できないので注意 具体的方法 ダウンロードする jdk.java.net Linux/x64 の場合は以下のようにしてダウンロードします。 $ wget https://download.java.net/java/GA/jdk18.0.2.1/db379da656dc47308e138f21b33976fa/1/GPL/openjdk-18.0.2.1_linux-x64_bin.tar.gz …

  • 「着信★うた♪」の電子書籍配信がまもなく終了

    2022/12/20 で終了 以前に書いた内容です。 obel.hatenablog.jp これにあわせて、honto で配信が始まっています。 obel.hatenablog.jp 引き継ぎ 電子書籍は以下の日程で引き継ぎをすることが可能でした。 ■引継ぎ期間 引継ぎ申請受付:2022年9月1日~2022年11月30日 引継ぎの実施: 2022年10月1日~2022年12月31日 uta.573.jp メールでのアナウンスはおそらくなし 引き継ぎのアナウンスは、以下の 2022/10/19 のツイートと 2022/11/11 のツイートのみです。メールでのアナウンスは手元では確認できていませ…

  • Cloudflare D1 の ORM である "D1-Orm" を使う

    D1-Orm とは リポジトリ github.com ドキュメント docs.interactions.rest 使い方 単純に SELECT するだけのコードを書いてみます。 Wrangler や Cloudflare Workers についての説明は省略します。 1. $ wrangler init する まず $ wrangler init してサービスを作成します。 2. D1 データベースを作成する $ wrangler d1 create DATABASE_NAME などの方法でデータベースを作成します。データベースを作成するとそのデータベースの ID が発行されます。 ID を含…

  • Cloudflare D1 の対話コンソール "D1 Console" を使う

    注意点 この記事の内容は 2022年12月13日(火) 時点での内容です。 D1 Console とは npm で入れられます。 github.com 使用方法 1. インストールする npm でも yarn でもその他でもいいのでインストールします。 2. 認証する $ d1-console login コマンドで認証します。--api-token と --account-id の入力が必須です。 $ npx d1-console login --api-token diauUyqwix --account-it 123abd652fcbsa512 D1 Console v1.4.4 Suc…

  • Cloudflare Workers の「ルート」の設定画面はどこにあるか

    Basic 認証をつけようと思ったら「ルート」が見つからなくて 30分 くらいハマりました。 注意点 2022/12/15(木)現在の話です。 結論 パターン1. 「現在の画面が、ドメインのカテゴリレベルの画面のとき」 左上の CLOUDFLARE のロゴの下に書いてある文字列が ドメイン のときです。 この場合は左のメニュー一覧に入っています(「Workers ルート」)。 gyazo.com パターン2. 「現在の画面が、アカウント(メールアドレス)のカテゴリレベルの画面のとき」 左上の CLOUDFLARE のロゴの下に書いてある文字列が メールアドレス のときです。 gyazo.com…

  • Windows 版 の VS Code の実行ファイルはデフォルトでどこにインストールされているか

    結論 C:\Users\USERNAME\AppData\Local\Programs\Microsoft VS Code

  • 幻水I についての知識を競うイベント (Suikoden 1 Quiz Competition)

    RTA などで有名な Suikothon により開催されました。アーカイブはおそらく 90日 保存されます*1。 www.twitch.tv *1:2023/03/05 あたり

  • VPS などの遠隔マシンで実行された xeyes などの GUI を手元で動かす

    結論 以下をインストールする。 Windows VcXsrv Windows X Server sourceforge.net Mac XQuartz www.xquartz.org 補足 SSH サーバの設定や、つなぐときの -X オプション指定などは適切に行う必要があります Ubuntu に xeyes を入れる場合には x11-apps というパッケージを入れます $ sudo apt install -y x11-apps

  • WSL2 の vhdx ファイルからイメージを取り出すのには 7-Zip を使わないで別プロファイルとしてマウントして cp した方がいい

    理由 パーミッションが 777 (775) になってしまうから。 具体的方法 WSL2 のイメージである .vhdx ファイルを C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.* という形*1で置く 勝手に認識してくれる fdisk で存在が確認できる mount する mount したディレクトリやファイルを cp する パーミッションは維持される 7-Zip 7-Zip はお手軽だけれど、パーミッションが維持されないため、単純なテキストファイルなど以外には使わないほうがいいと思います。 forest.watch…

  • WSL2 の ディスクイメージ はどこにあるか

    結論 C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.* 補足 厳密には、ディスクイメージである .vhdx ファイルは以下のところにある*1。 C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.*\LocalState\ext4.vhdx *1:インストールした OS によって微妙に異なる可能性がある

  • Vercel CLI の認証情報ファイルはどこにあるか

    Vercel CLI とは Vercel をコマンドラインから操作できるツールです。 vercel.com Vercel CLI の認証情報ファイルはどこにあるか ~/.local/share/com.vercel.cli 中身 ファイルの一覧 $ pwd /home/takiya/.local/share/com.vercel.cli $ ls -la drwxr-xr-x foo foo 4.0 KB Wed Sep 28 11:47:16 2022  . drwxr-xr-x foo foo 4.0 KB Wed Sep 28 11:47:02 2022  .. .rw-------…

  • YouTube のライブ配信待ちの通知オンオフの文言

    具体例(画像) gyazo.com gyazo.com 「現在の状態」と「押した後の状態」の2つの状態がどうなのかがわからない 「通知する」と書かれている状態は、 「現在の状態」は「通知されない状態」 「押した後の状態」は「通知される状態」 である。 「通知オン」と書かれている状態は、 「現在の状態」は「通知される状態」 「押した後の状態」は「通知されない状態」 である。 しかしながら書かれている文言である「通知する」と「通知オン」は日本語上は同じ意味に捉える人がほとんどだと思う。 説明文を長くすればいいのではないか 説明を長くすると理解はしやすいが、物理的スペースの問題というのが出てくる(特…

  • 簡易的に Webページ をキャプチャしてその画像を OCR にかけてテキストを抽出する方法

    結論 OCR には Tesseract を用います Webサーバ には PHP の ビルトインWebサーバ を用います Webページ の 画像キャプチャ には capture-website-cli を用います ここは Npm 依存です 具体的方法 GitHub Actions で CI として動かす形で書いてみます。 テキストを抽出した後に「そのテキストに特定の文字列が含まれるか?」という簡易テストのようなものもやっています。 jobs: my_sample_job: (省略) steps: (省略) - name: 簡易的に Webページ をキャプチャしてその画像を OCR にかけてテキス…

  • GA4 の「レポート」で「コレクション」を並び替えることはできるか

    GA4 の「レポート」の「コレクション」とは こういうのです。 結論 できない。 根拠 コレクションは、コレクション名に基づいてレポート ナビゲーションにアルファベット順に表示されます(コレクションの表示順序は変更できません)。

  • CircleCI で Chrome や chromedriver、Firefox や Gecko を入れる際には circleci/browser-tools という Orb が便利

    結論 これです。 circleci.com 使い方 Orb を指定します。バージョンは適宜書き換えてください。 orbs: browser-tools: circleci/browser-tools@1.4.0 あとは steps に所定の記載をしていけばいいです。たとえば Chrome および chromedriver をインストールしたい場合には次のように書きます。 steps: - browser-tools/install-chrome - browser-tools/install-chromedriver

  • CircleCI で cimg/ruby:3.* のイメージには php も python も node も webrick も入っていない

    結論 なぜこれを気にしたのか 静的な Webページ のテストを走らせるために、monorepo っぽい構成になっていたのでワンライナーの Webサーバ を立ち上げようとしたから。 $ php -S や $ python -m http.server が立ち上がらないのはもちろん、$ ruby -run -e httpd もダメだったので驚いた(cimg/ruby:3.* のイメージを用いているので)。 PHP や Python を入れていると CI に時間がかかりすぎるので、素直に $ gem install webrick してから Ruby で Webサーバ を起ち上げることで解決…しなか…

  • Wrangler (Cloudflare CLI) で ~/.wrangler/config/default.toml を用いてアカウントを無理やり使い分ける方法

    結論 ユーザーアカウント別の TOML ファイルを半自動で作成する 対象アカウントごとに $ wrangler login する ファイル名(パス)は ~/.wrangler/config/default.toml になる 使いたいアカウントの TOML を ~/.wrangler/config/default.toml に置き換える 補足 具体的には、各ユーザーアカウントごとの default.toml を作成し、それを別名で保存しておきます。そして、アカウントを切り替えたい場合には対象の TOMLファイル を ~/.wrangler/config/default.toml として配置します…

  • BDZ-AT970T は PC TV Plus にて録画番組を PC に保存したり BD に書き出しすることはできない

    結論 gyazo.com 補足 2022年9月9日(金)現在の情報です。

  • Wrangler (Cloudflare CLI) でアカウントを使い分ける方法

    結論 以下のいずれかの方法を用いる。 wrangler.toml 内で定義する wrangler.toml は各プロジェクトルートは以下に置かれるファイル リポジトリに含めることが前提のファイルなので、複数人で共有する場合に用いるのがよさそう 環境変数 CLOUDFLARE_ACCOUNT_ID で定義する direnv を使えば柔軟に定義できる 限られた人だけが使い分けられればいときにはこちらで十分 API を用いる 厳密にはアカウントを使い分けるということではないが、API を使って回避できることがある API token は環境変数 CLOUDFLARE_API_TOKEN で定義できる…

  • バッファローの USB型 SSD SSD-PUT250U3-B/N が突然読み取り専用になってしまう現象は、ファームを上げて修正する

    SSD SSD-PUT250U3-B/N とは ※ Amazon のアフィリエイトリンクです バッファロー SSD 外付け 250GB 超小型 コンパクト ポータブル PS5/PS4対応(メーカー動作確認済) USB3.2Gen1 ブラック SSD-PUT250U3-B/NバッファローAmazon レビューにもあるように突然読み取り専用になることがある 上記 Amazon のレビューにあるように、突然読み取り専用になって書き込み(削除)ができなくなります。しばらく経つと書けるようになったりしますが、さらにまた書けなくなったりします。 一度この件があって返品をしましたが、再度症状が出たところ、じ…

  • firebase-tools (Firebase CLI) の設定ファイルはどこにあるか

    結論 ~/.config/configstore/firebase-tools.json

  • Capybara で現在のトップの URL を取得する方法

    結論 Capybara.current_session.server.base_url 実例 Capybara が走っているところで適当に binding.irb して、確認できます。 [10] irb> Capybara.current_session.server.base_url => "http://127.0.0.1:37539"

  • コナミグループ 2023年3月期第2四半期 決算発表資料 にリマスターの名前が

    2022/11/02 に IRページ に公開された短信および資料中に I・IIリマスター の名がありました*1。 img.konami.com 短信 4ページ目 決算発表資料 12ページ目 *1:まあ当然なのですが

  • 突然 ctrl + r で fzf が動かなくなったら zplug のプラグインが原因だった

    現象 突然 unknown option: --scheme=history が出てしまい、ctrl + r による履歴検索が使えなくなった。とても不便。困った。 結論 junegunn/fzf-bin を削除した。 単に .zshrc 内の記述を削除するだけでなく、~/.zplug/bin 配下のシンボリックリンク(の実態)も削除する。 また、その後に $ zplug status を実行する。

  • AppSheet database にデータを流し込むのは(今のところ)タブ区切りのテキスト (TSV) をペーストする

    注意点 2022年10月28日(金)現在の話です。 AppSheet database とは こちらです。 www.publickey1.jp データを流し込むにはどうしたらいいか メニューにそれらしき項目はないので、現状ではテキストの貼り付けしか方法がないようです*1。 貼り付けるテキストの形式は TSV です。CSV ですと単一のレコードデータとして取り扱われてしまいます(画像参照)。 gyazo.com 今後 まだ PREVIEW なので上記の仕様はどんどん変わっていくと思われます。 *1:最初の貼り付け時に Webブラウザ から権限確認メッセージが出ます

  • Cloudflare を使っていて開発時などに強制的にキャッシュを削除したい場合

    結論 その1 Caching ->「構成」->「キャッシュをパージ」でパージするファイルを指定する その2 Caching ->「構成」->「開発モード」を ON にする 注意点 「その1」の場合 キャッシュを削除したいときに毎回実行する必要があります ワイルドカードは使えません 「その2」の場合 オンにした後は 3時間後 に自動でオフになります 考察 「『キャッシュをさせたくない』コンテンツがあるときに、挙動をいろいろと確かめたい」場合などで柔軟にキャッシュ調整をしたいときがあります。 そういうときは「開発モード」を ON にするのがよいです。API が用意されているので、その API を自…

  • VS Code の Dev Containers を実行しようとした時に "Docker version 17.12.0 or later required" と表示されるときの対応方法

    前提条件 Docker version 17.12.0 以降はインストールされているものとします。 結論 設定の Dev > Containers: Docker Path を適切なものに書き換える。 考察 macOS だとこの現象が出ました。おそらく /usr/bin/docker を見に行って見つからないためにこのエラーが出ているものと思われます*1。 $ which docker を行って表示されたパスで明示的に docker の場所を指定すれば OK です。 *1:WSL2 の Ubuntu だと "/usr/bin/docker" だった

ブログリーダー」を活用して、たっきーさんをフォローしませんか?

ハンドル名
たっきーさん
ブログタイトル
約束の地
フォロー
約束の地

にほんブログ村 カテゴリー一覧

商用