結論 以下の画像における「ユーザープロパティ / パラメータ」の値を用います。「ディメンション名」ではないです*1。 gyazo.com たとえば、 「ディメンション名」が hoge であり、 「ユーザープロパティ / パラメータ」の値が fuga の場合 は、API のリクエストにおけるディメンション名は customEvent:fuga になります。 *1:ただし「探索」におけるディメンション名は「ディメンション名」になる
ゲーム(幻想水滸伝)、デジタル家電、PC、Linux、VPSなど、「何でもあり」なブログです。
Twitterやプログラミングなどの話題も取り扱っています。
「ブログリーダー」を活用して、たっきーさんをフォローしませんか?
結論 以下の画像における「ユーザープロパティ / パラメータ」の値を用います。「ディメンション名」ではないです*1。 gyazo.com たとえば、 「ディメンション名」が hoge であり、 「ユーザープロパティ / パラメータ」の値が fuga の場合 は、API のリクエストにおけるディメンション名は customEvent:fuga になります。 *1:ただし「探索」におけるディメンション名は「ディメンション名」になる
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…
前提 Google Apps Script に HTML ファイルをアップロードし、デプロイして Webページ を作るという前提です。以下の記事がまさにそれです。 engineer.retty.me 制約 想像がつくように、いくらか制約があります。列挙します 上記記事に沿えばモダンな開発環境での開発が可能 真の SPA になるため、それから逸脱するようなページ(サイト)は作れない URL は一つであるため、ルーティングが適切になされていたとしてもパーマネントリンクは不可能 マウント時のルーティングは / ではない doGet の中にアクセス制限ロジックを埋め込むことでアクセス制限は可能 ただし…
昨年3月に「Coffee Talk」などを手掛けた Mohammad Fahmi 氏 (@fahmitsu) がご逝去されました。 彼は幻水コミュニティにも多大な貢献をされています。新作「Afterlove EP」では、幻水IIパッケージ画像の「カメオ出演」が予定されていました*1。 Coffee Talk Episode 2 の発売にもあわせ、これまでの活躍に感謝いたします。 *1:以下の画像の中ほどに注目
結論 $ 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 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…