動かざることバグの如し

近づきたいよ 君の理想に

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年4月10日現在 ubuntu-drivers devices で検索した最新を入れる apt install nvidia-driver-530 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" ·…

Service、Gateway、VirtualServiceの違い

k8sリソースの種類多すぎ問題 紛らわしいService、Gateway、VirtualServiceについてそれぞれメモ Service Serviceは、Kubernetesクラスタ内のマイクロサービス間の通信を制御するために使用されるリソースです。Serviceは、1つ以上のPodをグループ化し、グル…

Envelope (Outer Fit) と ・Scale to Fit (Inner Fit)の違い

EnvelopeとScale to Fitの違い Envelope (Outer Fit) と ・Scale to Fit (Inner Fit) の違いについて解説します。 Envelope (Outer Fit) は、元の画像のアスペクト比(縦横比)を保ったまま、キャンバスの幅と高さに合わせて拡大・縮小する方法 Scale to Fit…

サーカスの練習を公道でするな

俺が都内を歩いていると、よく両手を離して自転車に乗っている人を見かける。 スマホしながら乗っている人ならまだわかるが、ただ両手を離している人は一体何が目的なのだろうか? サーカスの練習でもしているつもりなのだろうか(笑)。正直、両手を離す理…

Ubuntuで電源ボタンでシャットダウンできるようにする方法

環境 Ubuntu 22.04 やりたいこと パソコンの電源ボタンを押したら安全にシャットダウンしたい。シャットダウンコマンドいちいち打つのめんどい。 方法 /etc/acpi/events/power を作成して以下 event=button/power action=/sbin/poweroff 反映 systemctl rest…

MacOSで任意のバージョンのPythonを一発インストールする方法

mac

pyenvでPython入れるの面倒問題 ちゃんとした開発するならDockerでやるし、pipでサクッとスクリプト動かすくらいしかやらないよって場合はhomebrewでPythonインストールしたほうが楽 MacOSデフォルトのPythonはバージョンが選べなかったり権限の理由からオス…

自分の好みの曲が年々短くなっている説

最近の曲、短い説 最近(どこからを最近にするかにもよるが)は年々曲が短くなってきていると聞く。 最新ヒットソングの尺が90年代と比べて約1分以上短くなった理由 | 週刊女性PRIME ChatGPTに「j-popの曲の長さが年々短くなってきているというのは本当でし…

BingAIにぼっちざろっくの百合小説を書いてもらう方法

Bing AIに小説を書いてもらう 百合ラブコメ系 「ぼっち・ざ・ろっく!」の原作に登場する後藤ひとりと喜多郁代の百合ラブコメの脚本を作成し、セリフのみ出力してください。 原作を知っている人が違和感を覚えないように原作に忠実な設定でお願いします。 【…

aaaa

test

バンドリの思い出

ツイッターでバンドリのツイートが流れてきてふと目に止まった。どうやら大型アップデートするっぽい ガルパ6周年超大型アップデート記念サイト公開3月16日(木)0:00に行う超大型アップデートの詳細などを掲載ぜひチェックしてみてくださいね❗サイトはこちら✨…

ArgoCDオレオレスタートコマンド

オレオレコマンドセット 「hogehoge」を任意のレポジトリ名に変更すること k create ns hogehoge k create secret generic my-secret --from-env-file=.env argocd app create hogehoge --repo https://github.com/thr3a/kubernetes-manifests.git \ --dest-…

ArgoCDで自動反映(auto-sync)の間隔を変更する方法

環境 Kubernetes 1.24 Argocd v2.4 ArgoCDのsync遅すぎ問題 よく記事に「ArgoCDは自動でgitをsyncしてくれるので自動で反映してくれる」みたいなこと書いてあるけどデフォルトの設定ではやってくれない。 しかもauto-syncを有効にしてもデフォルトでは「3分…

KubernetesでCronjobを手動で即時実行する

環境 Kubernetes 1.24 やりたいこと Kubernetes上に作成したCronjobが正常に動くか手動でテストしたい やり方 例えば元のCronjobがlog_rotateで、即時実行の名前をonetimeとすると kubectl create job onetime --from=cronjob/log_rotate で実行される。 実…

GitHub Actionsでgit差分がある時のみコミットする方法

環境 actions/checkout@v3 やりたいこと GitHub ActionsでCI実行後にgit差分があればコミット&pushする。 なければそのまま終了する どういうとき使うのかって言うと自動定期アップデートとか コード - name: Commit updated files run: | git config core.f…

InferGetStaticPropsTypeを使ってnextjsをよりラクラクに

環境 nextjs 12.3 InferGetStaticPropsTypeってなに getStaticPropsの返却値をもとにNextPageに渡されるPropsの型を推論してくれる機能 よくあるgetStaticPropsの例 例えばこんな感じにあったとして import type { NextPage } from 'next'; import { GetStat…

TypeScriptで配列をグルーピングするgroupBy関数

やりたいこと JSONとかのJavaScriptオブジェクトの配列があったとき、特定のキーとかでグルーピングしたい 例えば const list = [ { "name": "taro", "role": "admin" }, { "name": "jiro", "role": "staff" }, { "name": "hanako", "role": "admin" } ]; っ…

Javascriptでスネークケースをキャメルケース等に相互変換できるライブラリ「change-case」

やりたいこと 「test string」を「testString」に変換したり、「test_string」に変換したりと色々スネークケースやらキャメルケースを相互変換したい。 色々調べた結果、jsの場合はblakeembrey/change-caseのライブラリがよさげだった インストール npm inst…

Typescript PlaywrightでinnerTextを取得する

環境 Playwright 1.25 やりたいこと ページにある要素のinnerTextを取得したい コード ポイントは el: HTMLElement していること。これがないと型がanyになってしまいエラーになる。 import { chromium } from 'playwright'; (async () => { const browser =…