動かざることバグの如し

近づきたいよ 君の理想に

Rspecでバリデーションエラーのテスト書く時は細かく書け

今まで以下のように書いてたんだけど、これだと必ずしも想定していたバリデーションエラーによってテストが成功していたとは言えなかった。 expect(post).not_to be_valid バリデーションエラーをRspecで完全一致でテストする場合は以下 expect(post.errors.…

MacOSでNTPサーバーと同期できない問題

症状 MacOSの日付がズレすぎていてNTPサーバーと同期できない。 手動で正しい日付を設定するも、NTPを有効にするとまた古い日付に戻ってしまう。。。。 解決策 ❯ sntp ntp.nict.jp +0.045303 +/- 0.009303 ntp.nict.jp 133.243.238.164 ❯ sudo rm /var/db/ti…

Rails独自の型をActiveModel::Type::Valueを継承して作成する

環境 Rails 7.1 やりたいこと Railsの ActiveModel::Attributesは本当に便利で ActiveRecordでもDBに紐づかないモデルのActiveModelでも重宝している ActiveModel::Attributes が最高すぎるんだよな。 #Rails - Qiita ただ標準で用意されている型の種類が少…

curlでレスポンスヘッダーだけ表示させたい

環境 curl 8.4.0 コマンド curl -D - -s -o /dev/null https://turai.work/ HTTP/2 200 server: GitHub.com content-type: text/html; charset=utf-8 last-modified: Sat, 10 Feb 2024 03:16:49 GMT access-control-allow-origin: * etag: "65c6eaa1-2a4" ex…

MacOSでmozcをビルドしてインストール

環境 M1 macbook MacOS Sonoma 手順 基本的には 公式README の通りに行えばOK ビルドするために必要なものをインストール pip install requests brew install bazel ダウンロード git clone --depth 1 https://github.com/google/mozc.git cd mozc/src pytho…

kubeadmで構築したおうちKubernetesアップグレードメモ

やったこと v1.26からv.29にアップデート 確認 ubuntu04,05がコントロールプレーンでubuntu01,02がワーカーノード ❯ kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubuntu01 …

新 どんなデータもぶっこ抜くWIFIアクセスポイントを作る

環境 Ubuntu22.04 手順 hostapdのインストール apt install hostapd create_apのインストール メンテナンス終了してしまっているがまだ使える git clone https://github.com/oblique/create_ap cd create_ap make install 作成 --daemon をつけるとバックグ…

自作コマンドを自動起動させるためにsystemdのサービス化する設定テンプレ

[Unit] Description=Create AP Service Wants=network-online.target After=network-online.target [Service] Type=simple ExecStart= Restart=on-failure [Install] WantedBy=multi-user.target

whisper.cppのCore ML版をM1 MacBookにインストール

mac

環境 Macbook M1 air Xcode 15 Python 3.10 XcodeのCommand Line ToolsだけではダメでXcode本体をインストールしておく必要がある あと事前に sudo xcodebuild -license を実行してagreeしておくこと .venv ❯ xcode-select -p /Applications/Xcode.app/Conte…

ChatGPTにDanbooruタグを生成してもらうプロンプト

llm

### Task You are a prompt generator for Text-to-image AI. Please generate a prompt that satisfies all of the following rules from the input theme. ### Prompt Rule - All prompts are in English and consist only of combinations of fewer than …

USB CABLE CHECKER2で破棄すべき危険なUSBケーブルをあぶり出す

USB CABLE CHECKER2とは 「USB CABLE CHECKER 2」は、USBケーブルや変換アダプタの性能を確認できるデバイスだ。 microBやTypeC規格のUSBケーブルの抵抗値や対応規格など、普段確認できない情報を検証できる。具体的には、USB 2.0から3.2まで、Mini-BからTyp…

Macbookのファン回転数をコマンドから変更する

mac

環境 Macbook pro 2015 やりたいこと コマンドラインからサクッとファンの回転数を変えたい 方法 smcFanControlに依存しているのでbrewでインストール $ brew install smcfancontrol --cask ezfインストール $ npm install -g ezf 全てのファンの回転速度を…

docker compose downをすぐに終了させる方法

結論 docker compose down で速攻で終了させたいなら version: "3" services: app: image: ubuntu stop_grace_period: 0s そもそもdocker compose downはなにしているのか docker-compose.ymlのstop_grace_periodとはdocker-composeは、複数のコンテナを定義…

ssh越しにsudoでGUIアプリ起動する方法

環境 Ubuntu 発端 MacOSからubuntuにsshしてsshのX11 Forwardingを利用してGUIアプリをMacOS側に表示させていた XQuartzを使っている GSmartControl を使おうと思って sudo gsmartcontrol してみたがエラーになった $ sudo gsmartcontrol X11 connection rej…

Linuxでミスってchmod -Rしたパーミッションを一発で修正する方法

環境 Linux 背景 linuxでファイルやディレクトリのパーミッションを変更するときに、chmodコマンドを使うことが多いと思います。 しかし、時々ミスってしまって、例えば/path/to/dirというディレクトリ以下のすべてのファイルやサブディレクトリに対して、 c…

MySQLのレプリケーションでLast_SQL_Errno: 1594

MySQLでレプリケーションを構築している際、スレーブノードのリレーログ解析中にエラー番号1594が発生し、レプリケーションプロセスが中断される問題について、対処策を提案します。 このエラーの発生は、マスターサーバのバイナリログが破損、スレーブサー…

ターミナルからDockerイメージのタグを検索するシェルスクリプト作った

やりたいこと 公式のDocker Hubで指定したタグを検索するのがダルい UIがクソ そもそもターミナルで完結したい タグ一覧を取得するAPIがあるからそれを使ってシェルスクリプトを作成したい 成果物 ChatGPT様々 function search_docker_image_tag() { if [ -z…

猫耳メイドプロンプトのテンプレート

llm

ドジっ子猫耳メイドちゃん「ニャッシュ」 # Task You are a clumsy kitty-eared maid named Nyash. # Your Character - Nyash always speaks with "にゃん" at the end of his words. - Nyash is clumsy and has a bright and energetic personality. - Nyas…

text-generation-webui ChatGPI互換APIでcalm2-7b-chatを起動する

llm

環境 cyberagent/calm2-7b-chat Docker やりたいこと サイバーエージェントが先日リリースしたLLMモデル、cyberagent/calm2-7b-chat をChatGPT互換APIとして動かしたい 独自の日本語LLM(大規模言語モデル)のバージョン2を一般公開 ―32,000トークン対応の商…

TSでCannot redeclare block-scoped variableエラー

環境 TypeScript 問題 TSで同一ディレクトリに同じ変数を宣言できない 例えば ├── hoge.ts ├── piyo.ts で両方で const hoge = 1; とすると Cannot redeclare block-scoped variable 'hoge'.ts(2451) 'hoge' was also declared here. const hoge: any[] とエ…

Github Actionsで容量不足問題

Github Actionsで容量不足問題 thr3a/faster-whisper-webuiでいつものように buildx failed with: ERROR: failed to solve: failed to create temp dir: mkdir /tmp/containerd-mount3151666229: no space left on device 原因 ディスク容量が足りない 解決…

小数点以下の桁数を指定して四捨五入とかするTypeScriptコード

環境 TypeScript コード Javascriptにネイティブの実装はないので自分で実装する必要がある // 切り捨て export const floorDecimal = (value: number, n: number): number => { return Math.floor(value * Math.pow(10, n)) / Math.pow(10, n); }; // 切り…

Mantine UIのCSS変更方法3種類の比較

mantineでは、コンポーネントにスタイルを適用させるために、Style props, sx prop, Styles APIの3つの方法が用意されています。 それぞれの方法には、メリットとデメリットがあります。以下に、それぞれの方法の特徴と使い分けのポイントをまとめてみました…

TypeScriptなライブラリをnpm公開する方法

環境 Nodejs v20 TS 5 以下は、TypeScriptライブラリをnpmに公開する手順の記事です。この記事では、TypeScriptのプロジェクトの初期設定、ビルド、公開、バージョンアップの方法について説明します。 初期設定 TypeScriptライブラリを作成するには、まずnpm…

不安と不満

相手の行動に対して不安と不満どっちの感情なのか見分ける方法、というご質問ですね。 私の検索結果によると、不安と不満は似ているようで違う感情です¹。不安は、気がかりで落ち着かないことを意味し、不満は、物足りなく思うことを意味します¹。そこで、相…

google arts の仕様

https://www.gstatic.com/culturalinstitute/tabext/imax.json https://www.gstatic.com/culturalinstitute/tabext/imax_2_2.json https://www.gstatic.com/culturalinstitute/tabext/imax_2_1.json image https://lh3.ggpht.com/ci/AJFM8rwcwThjVWnJCh4_uOB…

ggpht.comの画像の解像度をカスタマイズする方法

ggpht.comとは ggpht.comとは何でしょうか?Googleの画像ホスティングサービスです。YouTubeやGoogle Photosなどのサービスで使用されています。 ggpht.comのURLには、画像のサイズや形式を指定するパラメータが含まれています。 しかし、ggpht.comのパラメ…

Rubyで文字列がBase64として有効かどうかを確認する

艦橋 Ruby 3 コード Rubyの標準ライブラリにはBase64モジュールがありますが、文字列がBase64として有効かどうかを確認するメソッドはない。 ただ、Base64.decode64とBase64.strict_encode64を使ってチェックする方法がある。サンプルコードは以下 require '…

ウェブページ上のテキストを簡単にコピーできるJavaScript

コード ウェブページ上のテキストを簡単にコピーできるJavaScript document.addEventListener('DOMContentLoaded', () => { const copyButtons = document.querySelectorAll('button[data-url]'); copyButtons.forEach(button => { button.addEventListener(…

RailsでカラムAあるならカラムBとカラムCは入力必須とするバリデーション

環境 Rails7 やりたいこと Railsのモデルバリエーションで、カラムAがtrueのときにカラムBとカラムCは入力必須とするバリデーションを実装したい コード ifオプションやwith_optionsメソッドを使う class Model < ApplicationRecord # カラムAがtrueの場合の…