動かざることバグの如し

近づきたいよ 君の理想に

Railsで簡単にデバイス判定できるライブラリ「rack-user_agent」

やりたいこと Railsを使用して、user-agentからPCかスマホかを判断したり、OSやデバイス名を抽出したいと思っています。しかし、これらを自分で実装するのは手間がかかります。 そこで、「rack-user_agent」というライブラリを使用してみました。 k0kubun/ra…

RubyでIPからリモートホストを取得するとSocketだと怒られる件

環境 Ruby 3.2 RubyでIPからリモートホストを取得したい 以下は、Rubyを使用してIPアドレスからリモートホスト名を取得する方法についての情報です。 例えば、133.159.148.245から245.148.159.133.rev.vmobile.jpを取得することができます。 以前はSocketラ…

イラストAIに受胎告知の宗教画を描いてもらう

受胎告知とは 西洋絵画における「受胎告知」とは、聖母マリアが天使ガブリエルからイエス・キリストを身ごもることを告げられる瞬間を描いた作品のことを指す。この場面は、キリスト教の聖書においても言及されており、聖母マリアがイエス・キリストを生むこ…

ImageMagickで背景をノイズにする

環境 ImageMagick 6.9 やりたいこと 例えば以下のような背景が青色の画像があったとする それをこんな感じにしたい 背景色をノイズ一色にする。背景以外にはノイズは載せない。 コマンド 1発ではできないので複数回のコマンドを実行する # 1. 元の画像の青…

MySQLでテーブルの文字コードをutf8mb4に一括変更する

環境 MySQL utf8mb4に変更する ALTER TABLE posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; utf8に戻す ALTER TABLE posts CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

ImageMagickで上下左右自在に余白を追加する方法

環境 ImageMagick 6.9 やりたいこと ImageMagickで画像の上下左右に余白を追加したい オプションとしては -gravityでできる。重力。。?と思うが実際に画像結果を見ると実感できると思う。 色々できるのが便利だが、結構クセが強い。 ここではサンプル画像の…

指定したディレクトリ以下のnode_modules一発で全削除

背景 Mac移行とかするときnode_modulesがたくさんあるとめっちゃ遅くなる npm installは移行してからやればいいので別になくてもいい。ってことで全削除したい コマンド find . -name 'node_modules' -type d -prune ポイントは-prune 。-pruneオプションは…

findコマンドの結果ファイルに対してシェルスクリプトを実行する

環境 Linux やりたいこと findコマンドを実行して得られたファイルに対してシェルスクリプトを実行する find -name "*.png" -exec bash -c ' for file do identify -verbose "$file" done ' bash {} + ChatGPTで生成されたコマンドだけど結構汎用性高そうだ…

Linuxで10で割り切れる乱数を生成したい

環境 Linux やりたいこと 指定した数字の範囲で10で割り切れる数字をランダムに生成したい 100〜500の場合、100,140,230,490とかができるようになってほしい コマンド root@6200ae14e50a:/app# echo {100..500..10} | tr ' ' '\n' | shuf -n 1 480 root@6200…

Linuxでファイル名をランダムに一括変更するコマンド

環境 Linux macだとバグるので注意 やりたいこと 例えば以下のようなファイルがたくさんあったとする。これをランダムなファイル名に一括変更したい ./my1.txt ./my10.txt ./my11.txt ./my12.txt ./my13.txt ./my14.txt ./my2.txt ./my3.txt ./my4.txt ./my5…

ImageMagickで背景色を別の色に変更する方法

環境 Imagemagick 6.9 やりたいこと 画像の背景色を変えたい 背景が透過されている場合 例えば以下のような画像があったとする。 その場合は以下のコマンドを実行する convert obake.png -background green -alpha remove -alpha off obake-green.png すると…

Linuxで特定の解像度以外の画像を探して全削除するコマンド

やりたいこと Linux環境で、特定のディレクトリ以下の幅が1350ピクセルでないまたは高さが600ピクセルでないすべてのPNG画像ファイルを削除したい ファイル名ならfind駆使すれば一発だが、解像度となると画像のメタデータを読まないといけないので厄介 解決…

GROWIをKubernetesにデプロイする

環境 Kubernetes 1.26 やりたいこと GROWIの最大の特徴は、マークダウン記法でかけることだ。これにより、シンプルで見やすい文書を簡単に作成できる。 さて、今回の本題は、GROWIをKubernetesにデプロイする方法だ。Kubernetesは、複数のコンテナを管理する…

AOM3系のモデル比較

https://huggingface.co/WarriorMama777/OrangeMixs#abyssorangemix3-aom3 に記載されている説明文の日本語訳 AOM3A1 特徴:フラットペイントでアニメのようなイラスト。 そのままでもかわいいが、アニメキャラクターのLoRAをこのモデルに適用することで、劇…

Systemd設定のType=simpleとは何か

環境 Ubuntu systemdのtypeとは systemdで自作サービスを作ろうとすると出てくる type=simple のオプション。 今までは脳死で設定していたがふとこのオプションの意味が気になったので調べてみた。 systemdのサービスの設定において、Typeオプションはサービ…

イノベーションのジレンマについて具体例を交えて徹底解説!

イノベーションのジレンマとは何か イノベーションのジレンマとは、新しい技術や製品が既存の製品やサービスを置き換えることで、市場におけるリーダー企業が失敗する可能性があるという現象のことです。 このジレンマは、リーダー企業が新しい技術や製品を…

ChatGPTと最近の自分

概要 ChatGPTとLLM系の急進の進化速度がヤバい。 振り返ると、ChatGPTがリリースされたのは2022年11月末であり、まだ4ヶ月しか経っていない。 ChatGPTは、自然言語処理における絶大な力を持つAI技術である。その前身であるGPT-3も、その処理能力の高さから、…

GCP Vision APIを利用してNodejsで文字認識する

やりたいこと 俺は、最近画像から文字認識をしたいと思い、いくつかの方法を試した。 しかし、自分でOCRのライブラリ環境を整えるのは面倒だと感じ、手軽に高精度なOCRを行える方法を探していた。 そこで、Google Cloud Platform(GCP)のOCR APIを利用する…

KubernetesのコンテキストをIterm2で常に表示させる方法

やりたいこと Kubernetesを使っていて、stagingやproductionのような環境を切り替えるとき、またはnamespaceを確認するときに、いつも確認するのが本当にダルいと感じていた。 ターミナルで毎回確認するのも面倒だったので、ずっと表示されていてほしかった…

JavaScriptでコメント付きのJSONをパースする方法

JSONCとは 通常のJSONではコメントを書くことができない。 しかし、JSONCという特殊なJSON形式が存在し、コメントを書くことができる。ただし、JSONCは特殊な形式であるため、通常のJSONパーサーではパースできない。 そこで、マイクロソフト社が開発したnod…

deep01構築メモ

2023年9月23日現在 ubuntu-drivers devices で検索した最新を入れる apt install nvidia-driver-535 root@thr3a-FRONTIER:~# apt policy libcudnn8 libcudnn8: インストールされているバージョン: 8.8.0.121-1+cuda11.8 候補: 8.8.1.3-1+cuda12.0 バージョン…

Pythonでプロジェクトごとに環境を分ける機能「venv」を使う方法

環境 Ubuntu Python 3 やりたいこと 俺は最近、Pythonを使う機会が増えてきた。Pythonはプログラミング初心者にも優しい言語だと聞いていたが、実際に使ってみるとその理由がよくわかる。しかし、pip installを直接行ってパッケージをインストールすると、す…

Next.jsでCSRF対策を簡単に実装する方法

環境 Nextjs 13 edge-csrf 1.0.3-rc1 TypeScript 5 やりたいこと 今日は、Next.jsの開発について書こうと思います。Next.jsは、開発がとても便利であることがよく知られています。 しかし、CSRFトークンの機能がRailsのようにネイティブで用意されていないた…

薬忘れずに飲んでる奴は偉い

今日は、毎日薬を欠かさず飲む人がすごいと思った。 俺は、朝昼晩の3回飲まなきゃいけない薬があるけど、毎日どこかしら忘れてしまう。 特に朝は時間がなくて、飲めないこともある。 でも、効果が切れて体調が悪くなってから「あ、飲んでないな」と気づくパ…

kube-prometheus-stack インストールメモ

環境 kubernetes 1.26 やりたいこと kubeadmで構築した自宅k8s環境にモニタリングを入れたい podリソースとか監視とかしたい 調べた感じkube-prometheus-stackがいいっぽい PrometheusとGrafanaとか一括でインストールしてくれる やり方 まずはnamespace作成…

Eslintのrecommended-requiring-type-checkingで有効になるルール項目一覧

環境 @typescript-eslint/eslint-plugin v5.56 typescript v5 概要 今日は、Typescriptにおいてeslintのチェックがよく使われるため、有用なEslintのルールについて知っておくことが重要なことであると言えます。特に 「recommended-requiring-type-checking…

TypeScriptでDiscordBotを作ってみる

やりたいこと Discordは便利なコミュニケーションアプリケーションであり、Discord botを開発することは、プログラミングに興味を持っている人にとって魅力的なプロジェクトの一つです。 今回は、Discord botをTypeScriptで作成し、!pingコマンドを送信する…

Rubyのrest-clientの使い方

環境 Ruby 3.x rest-clientとは rest-client/rest-client: Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions. rest-client は、RubyでRESTful APIを簡単に扱うためのライブラリです。GETやPOSTメソッドを使…

grepで指定した拡張子のみを対象にサブディレクトリも含めて検索する方法

やりたいこと プログラマーがLinux上で作業するとき、大量のコードを扱うことがあります。 その中で、特定の拡張子を持つファイルを検索する必要がある場合があります。また、複数のサブディレクトリにまたがって検索することもあります。 ここでは、Linuxの…

limaからcolimaに乗り換えた

mac

limaよくバグる問題 M2のMacbookではDocker Desktopではなくlimaを使うようにした。が、ネットワーク周りでバグがあるっぽくて、macをスリープさせてから復帰するとDockerが使えない問題が多々あった。 Stuck on "ssh" or "user session is ready for ssh" ·…