プロジェクト番号からプロジェクト名を取得したいときに使うコマンド gcloud projects list --format json | jq -r '.[] | select(.projectNumber == "プロジェクト番号") | .projectId, .projectNumber'
ActiveRecord::Relation には explain メソッドがあります。 github.com このメソッドを使えば、ActiveRecord経由からでも EXPLAIN を打つことができます。 [11] pry > User.joins(:hoge).where(bar_id: 1).class => User::ActiveRecord_Relation [12] pry >…
スタートはここから rails/credentials_command.rb at 0f5c8c5bc61b7e382e64cad4846406021bc8cd35 · rails/rails · GitHub keyの生成 Rails::Generators::EncryptionKeyFileGenerator を使う これは rails/encryption_key_file_generator.rb at 0f5c8c5bc61b…
まあ、あんまり用途がないと思いますが、調べたので書いておく。 肝は下記の部分 github.com keyはKDFを通して生成する。 require 'jwe' require 'hkdf' next_auth_secret = "secretの内容" jwe = "" hkdf = HKDF.new(next_auth_secret, salt: '', algorithm…
公式情報のリンクを載せておく GitHub Actions github.com TerraformのplanをPRに乗せる方法 developer.hashicorp.com AWS のOIDC連携 github.com docs.github.com stateを保存するS3はバージョニングをonにする developer.hashicorp.com GitHub ActionsのEn…
moneyforward.com qiita.com
Web Archiveにあったリンクを残しておく YappoLogs: なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか YappoLogs: Senna+MySQLをより超高速にするパッチ qiita.com
記事もろもろ techracho.bpsinc.jp www.joyfulbikeshedding.com techlife.cookpad.com jemallocに関するチケット bugs.ruby-lang.org malloc_trim(0)に関するチケット bugs.ruby-lang.org その他 ld(1)の --as-needed がデフォルトになった影響でSEGVする場…
この記事はAWS for Games Advent Calendar 2022の19日目の記事です。 @Spring_MT と言います。 今回は、AgonesをEKS上で動かすためのサンプルを作ったので、そのご紹介ができればと思います。 Agones Agonesはマルチプレーヤーゲーム用のDedicated Game Serv…
仕事で新しいアイディアをその場で生み出すことは難しいと思います。 自分も、なにか新しいアイディアぽいものを言い出すとき、その場で思いついたものはほとんどありません。 そこで、自分なりにどういうことをしているかを改めて考えたとき、 ダラダラ考え…
Macにおいて、ネットワーク帯域の制御などはNetwork Link Conditionerで対応可能です。 下記ページよりAdditional Tools for Xcode を探してdmgをダウンロードし、その中にあるNetwork Link Conditioner.prePane からインストール可能です。 https://develop…
macOSでiptableってあるのかなと思ってコマンドを呼び出そうとしたら、iptabコマンドとipcountコマンドを偶然見つけた。 iptabコマンド iptabコマンドはIPv4形式での各ネットマスクに応じたアドレス数やプレフィックスの一覧を表示をする % iptab +---------…
rubyにはIP アドレスを扱うのためのIPAddrクラスがあります。 docs.ruby-lang.org このIPAddrクラスを使えば、IPアドレスがCIDR範囲に含まれるかもチェックできます。 irb(main):001:0> require 'ipaddr' => true irb(main):002:0> cidr_sample = IPAddr.new…
MTUとは MTUは最大転送単位(Maximum Transmission Unit) MTUはデータリンク層(L2)の性質となる。 RFC 791: Internet Protocol データリンク層での最大のフレーム長(データリンク層のパケットを表すときにはフレームが使われる。) MTUはデータリンク層での性…
MySQLの外部キー制約において、外部キーと参照キーにはインデックスが必要です。 下記はMySQL 8.0のドキュメントですが、5.7でも同じような内容となっています。 dev.mysql.com 参照元のテーブルには、外部キーのカラムが同じ順序で最初のカラムとしてならぶ…
Railsのcallbackの実体 callbackはActiveSupport::Callbacksを使って定義されます。 github.com ActiveRecordのcallback ActiveRecord::Callbacksに定義があります。 github.com ここでcreateなどが定義されます。 github.com define_model_callbacksは下記…
rspec.info 上記の記事にあるように、Rails 5以降ではrails-controller-testing gemをアプリケーションに追加することは推奨されておらず、RSpecコアチームはrequest specsを書くことを推奨しています。 その理由として、request specでは、単一のcontroller…
線形合同法は擬似乱数生成器の一つ ここでのA(乗数) C(増分) M(法)は定数で、AとCはMより小さい数を選ぶ。 このA C Mの選び方によって周期性は変わる。 どういう選び方すればをいいかは下記本を参照ください。 The Art of Computer Programming Volume 2 Sem…
白く塗りつぶしたpngファイルの例でやってみる。 % convert -size 128x128 xc:white white.png vimを使う場合 vim -b white.png でバイナリモードでvimで開いた後に下記コマンドでバイナリダンプします。 :%!xxd 00000000: 8950 4e47 0d0a 1a0a 0000 000d 49…
github.com lsof コマンドはプロセスがオープンしているファイルの一覧を表示します。 manには下記のように記載されている。 lsof - list open files ファイルはディスク上のファイルだけでなく、ネットワークソケット、デバイスなども含まれるため、オープ…
redis の中に 含まれている create-cluster コマンドを使うと、Redis Clusterを簡単にローカルで立てることができたのでそのメモ。 手順 redisをcloneしてくる git clone git@github.com:redis/redis.git cd redis redisをビルドする make 自分の環境ではmac…
生茶にはデカフェ版があるのですが、これ普通の生茶より美味しい気がしているんですよね。 お茶の旨味はしっかりと残っているんだけど、渋みが減っていてすっきり飲みやすい。 夏におすすめの一品です。 店頭で並んでいることがほとんどないので、流行ったら…
物理クロック ほぼすべてのコンピューターには、内蔵されている水晶発振器によって時刻を計算しています。 水晶は安定した周波数の電気信号を発振するため、振動子として広く使われています。 パソコンの電源が切れたり、充電が切れたりしても、マザーボード…
research.google この論文では、大規模な分散システムでは、まれなパフォーマンスの低下であっても、全リクエストのかなりの部分に影響を与えるとあります。 つまり大規模な分散システムではテールレイテンシの影響が大きくなります。 テールレイテンシは大…
まずは証明書周りについての整理 証明書 証明書は電子文書。 ja.wikipedia.org 証明書の中には、公開鍵やそれに紐づく情報と証明書の発行元のデジタル署名が含まれています。 現在の公開鍵基盤として広く使われているX.509では、証明書の構造は ASN.1 という…
OCamlと仮想化の勉強のためMirageOSを触ってみることにしました。 setup mirage.io 通りにやってみる brew install opam opam init opam install mirage Hello World mirage.io git clone https://github.com/mirage/mirage-skeleton.git noopをやってみる %…
p 37 p 39 p 37 集合は波括弧 {...} を用いて集合の要素を明示的に列挙する。 一般に、条件 P(x) があったとき、それをみたす対象だけを全て集めた集合を、 と表記する。 a ∈ Aは aはAに属している、aはAの要素である。 ∧ は論理積、AND A ∧ Bは、Aであり、…
継続的デリバリー(CD)とはなにか? 根本は アジャイル宣言の背後にある原則 になるかと思います。 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。 Our highest priority is to satisfy the customer through early and continuous d…
MySQLは8.0.19を使っています。 LSN LSNとは Log Sequence Number の略で、単調増加する値で、redoログに書き込まれたバイト数分だけLSNが増えます。 dev.mysql.com MySQLでは SHOW ENGINE INNODB STATUS でLSNを確認できます。 --- LOG --- Log sequence nu…
Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases の翻訳まとめページ https://www.allthingsdistributed.com/files/p1041-verbitski.pdf 翻訳内容 spring-mt.hatenablog.com spring-mt.hatenablog.com spring-…