ソフトウェア開発

Prettier (esbenp.prettier-vscode) が v9.16.0 で動かないので v9.13.0 に戻した

環境 バージョン: 1.80.0-insider (user setup) コミット: c1bca6d7cc2c5f71ae04deda90c0cf50819ffde4 日付: 2023-06-29T07:44:44.659Z Electron: 22.3.14 ElectronBuildId: 21893604 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0…

aicommits にて日本語でメッセージを選択できるようにする方法

aicommits とは 結論 ヘルプのまんまですが、以下のように初期設定をします。 $ aicommits config set OPENAI_KEY=sk-YOUR_KEY locale=ja すると以下のように日本語でメッセージが選択できるようになります。 以下の場合では、さらに generate=3 というオプ…

GAS で function を書いた以降の行にその function の実行コードは書いてはいけない

結論 以下のようなことをしてはいけない、ということ*1。 Webコンソールから実行すると二重に実行されるので、予期しない挙動になる*2。 動機や背景 いつもの使い捨てコードの感じで書いていました。 所感 これに気づかないで 3時間 くらいハマってすごい無…

プライベートの時間で何を学ぶか(具体的技術の分野)

プライベートの時間に一定の学びを行っておかないと、仕事のスピードが落ちる。極端に遅くなることはないが、ある程度は遅くなるのは体感上間違いない。 とはいえ、1ヶ月や2ヶ月ぐらい何もしてないからといって、仕事のスピードが半分になるとかのレベルで落…

MySQL で バイナリログ の自動削除周期を設定する方法

結論 /etc/mysql/mysql.conf.d/mysqld.cnf などの設定ファイルの [mysqld] ディレクティブ(セクション)内に、以下の行を追加する。 binlog_expire_logs_seconds = 86400 追加した後は MySQL を再起動する。 確認方法 mysql> show variables like 'binlog_e…

GAS でデプロイした際に URL 末尾の /exec 以降を掘ると Google 認証が必須になる

結論 「アクセスできるユーザー」が「全員」だとしても、Google アカウント でのログイン状態が必須です doGet 内で router 的な動作をして API の戻り値を出し分ける、みたいなことは実質できない URLクエリパラメータ ならばいくら付けてもかまわないので…

Rundeck のデータベースを PostgreSQL にして SSL 接続をする方法

結論 Rundeck に特有の方法を用いるというわけではなく、JDBC で接続するときの方法を踏襲すればいいです。 具体例 rundeck-config.properties 内で dataSource.url を例えば次のように定義します*1。 dataSource.url = jdbc:postgresql://123.456.789.123:5…

GitHub Actions で pnpm を用いる(キャッシュもありで)

結論 pnpm/action-setup のステップを追加するだけでいい。 github.com 具体例 steps: - name: コードをチェックアウトする uses: actions/checkout@v3.3.0 - uses: pnpm/action-setup@v2 with: version: 7.27.1 # 明示的に指定して Renovate と package.jso…

GitHub Actions の Renovate の Action をプライベートリポジトリで使う

前提 用いる Action は以下です。 github.com 結論 YAML は次のようになります。 (前略) steps: (中略) - name: Renovate を実行する uses: renovatebot/github-action@v34.145.1 with: configurationFile: renovate.json # 標準の設定ファイル名に合わ…

IFTTT の Twitter で「リスト」のツイートを出力するトリガー(プライベートアカウントが出力されない等問題あり)

結論 「検索」トリガーを選び、検索ワードに list:123456789 などと指定する。 具体例 設定の前に「リスト」の ID を取得する必要があります。「リスト」にはひとつひとつに固有の ID が付与されており、ID を調べるには当該リストを Webブラウザで表示し、U…

Cypress などを start-server-and-test で GitHub Actions で実行するとタイムアウトする場合の対処方法

結論(の一つ) start-server-and-test は使わないで pm2 を使ってバックグラウンド起動する。 具体例 たとえば以下のようにして start-server-and-test で実行するコードがあったとします。 $ start-server-and-test 'http-server ./out -p 3000' http://lo…

Tailscale に WSL2 を接続したときに外部から SSH できないときの対応方法

結論 MTU の値を変更する。 Tailscale 特有の問題というわけではなく、VPN での問題です。 具体例 インターフェイスは eth0 でほぼ確定だと思いますが、もし異なる場合は適宜変更してください。 $ sudo ip link set eth0 mtu 1500 参考 blog.jicoman.info qi…

Tailscale つなげた CentOS 7 に SSH すると "no shell: Permission denied" とエラーが出てログインできないとき

結論 CentOS 7 内で $ sudo setenforce 0 を実行してから SSH する。 $ sudo setenforce 0 参考 github.com

Copilot を使うと VS Code のスニペット・サジェスト系の拡張が不要になる(なりつつある)

結論 標題通り。 拡張機能の説明において、実際に動画(GIF)で動作しているところを見せてくれている場合があるけど、Copilot と同じで、しかも Copilot の場合は今あるコード全体から推測してくれるので、そのコード(アプリ)で使われている特有の記述を…

Playwright でファイルをダウンロードする方法

結論 公式ドキュメント がとても充実しているので、そちらを見るのが早いです https://prtimes.jp/main/html/rd/p/000001382.000031382.html のページを例とします ダウンロードしたファイルを、ファイル名はサーバから送られてくるそのままにして、/path/to…

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 補…

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

結論 パーソナルアクセストークン (PAT) を取得し、actions/checkout のステップで PAT を指定する。 具体的な書き方 以下のように書きます。secrets の登録方法は省略します*1。 - name: $ git clone する uses: actions/checkout@v3 with: token: ${{ secr…

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

結論 以下のような Step を書きます。 - name: inputs と secrets の値を表示する run: | echo '${{ toJson(inputs) }}' echo '${{ toJson(secrets) }}' 注意点 toJson() しないと Object と表示されます つまり、一般的に Object と表示された場合には toJs…

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 …

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

MinIO の場合とほとんど同じです。 obel.hatenablog.jp 事前準備 「R2 API トークンの管理」から、トークン(アクセスキーとシークレットアクセスキー)を予め作成しておきます 「エンドポイント」は https://アカウントID.r2.cloudflarestorage.com/ になる…

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

少しだけ注意する点がありますが、それ以外はいつもどおりです。 結論 必要な gem aws-sdk nokogiri nokogiri でなくとも ox や oga や libxml や rexml でもいいです nokogiri を選んだ理由は、Rails の場合は明示的に入れなくてよく、馴染み深いから、とい…

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

注意 2022年12月13日(火)現在の内容です。 結論 たとえば ./dist 配下に静的な HTML などが存在し、./dist/funcions が存在するとき。 デプロイされない場合 以下のような wrangler の実行方法だと functions がデプロイされません。 $ wrangler pages pub…

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

結論 1. そのオーガニゼーションの管理権限があるアカウントで Settings ページに行く 2. 左列のメニューから Billing and plans を選ぶ 3. Usage this month の項目にある Get usage report ボタンを押す 4. データを出力する期間が選択できるので、選ぶ 選…

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 …

pgcli で SSL接続 をする方法

結論 環境変数に各種設定項目を設定して実行します。この環境変数は psql コマンドと共通です。 direnv で設定するとたとえば接続先ごとに柔軟な変更ができます。 例 $ export PGSSLMODE="verify-ca" $ export PGSSLROOTCERT="server-ca.pem" $ export PGSSL…

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.…

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

結論 1. アカウントメニューの「アカウントの管理」から「構成」→「リスト」とたどり「リスト」を作る このリストを作っただけでは何も起こらない 作成後に編集はできず、削除して新規作成をする必要がある gyazo.com gyazo.com 2. アカウントメニューの「一…

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

pgloader とは MySQL のデータを PostgreSQL にデータを移行するためのソフトウエアです*1。Heroku でも利用を推奨しています 。 github.com pgloader.io pgloader.readthedocs.io pgloader の問題点 MySQL 8 以降から移行する場合には認証の関係でそのまま…

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

PM2 とは PM2 is a daemon process manager Process Manager pm2.keymetrics.io 理由 メジャーな OSS であり、信頼でき、メンテも続くだろう Webサーバ の起動、停止、削除というだけに限らず、汎用的なので、応用範囲が広い 同期的な処理にできるので、サー…

Powered by はてなブログ