maybe daily dev notes

私の開発日誌

2022-05-01から1ヶ月間の記事一覧

MariaDBコントリビューション録その2 - builtin_expect による分岐予測

前回のあらすじ 初のMariaDBコントリビューションを達成し気をよくした俺。順調に2つ目のIssueもマージされ、浮かれ気分で次なる敵に挑むのであった。 tmokmss.hatenablog.com 今回のIssue [MDEV-28599] EXCHANGE PARTITION on view causes ER_CHECK_NO_SUCH…

DynamoDB、シングルテーブルにするか否か

はじめに DynamoDBを使っていると、とかくテーブルは1つにまとめるべきという声や、複数テーブルからシングルテーブル設計に移行したという事例を耳にすることがあります。 しかし、その理由を聞いてみると、性能のためだったり管理を簡単にするためだったり…

酒場: お山の大将

はい、ということで今回はお山の大将に行ってまいりました。以下レポートです。 tabelog.com 往路 平日の19時にお店到着。店はそれほど混んでいませんでしたが、カウンター席に案内されました。おそらくテーブル席は予約で埋まっていたのでしょう。今日も大…

ワタミ系列店チートシート

背景 以前町の飲み屋に入ったのだが、実はワタミ系列店だったということがあった。 特にワタミがきらいな訳ではないが、そこはかとないガッカリ感は否めない。今後はワタミの店はワタミの店だと覚悟してから入りたいので、この記事ではワタミ系列店の列挙を…

帰納的プログラミング

定義 プログラムに変更Xを加えるとき、類似の機能A,B,Cの実装を確認し、その共通部分から、変更Xに必要な実装を導くことがあります。 この一連の作業を、この記事では帰納的プログラミングと呼びます。 帰納(きのう、英: Induction、希: επαγωγή(エパゴー…

MariaDB にコントリビュートした話 - VSCode on EC2で開発環境の構築

数少ない読者へ愛を込めて 「MariaDB にコントリビュートした話」ってタイトルでブログ書いてください✋— N. Yanagisawa (@NayutaYanagisaw) May 19, 2022 MariaDBに初めてコントリビュートした時の作業記録をまとめる。Issue自体は一番簡単なものを渡しても…

米を圧力鍋で炊くべき5つの理由

米は炊飯器より圧力鍋で炊くべきだと思う。理由は以下: 圧力鍋は速い 圧力鍋は普通の炊飯器よりも早く炊ける。これは高温高圧で一気に米を加熱するため。以下のグラフを見てほしい。 水のフェーズダイアグラム*1 水は気圧と温度が与えられれば、その時の状態…

AWS CDK コンストラクトライブラリ開発に関する5つのTips

AWS CDK TIpsシリーズの記事。 最近 deploy-time-build というCDK コンストラクトをリリースできたので、その過程で得られた知見を共有する。 github.com Tips プロジェクトの初期化はprojenで一発 プロジェクト生成ツールのprojenを使うことで、コマンド一…

EtherscanのContract verificationをAPIで実行する

渦中のEthereumネタ。 はじめに Etherscanでコントラクトのアドレスを開くと、コードが表示されることがある。例 Contractのコード コントラクトのユーザーたちは、このコードを見ることで中の実装を把握でき、安心してコントラクトを利用することができる。…

AWS CDKでWebフロントエンドをデプロイする3つの方法

CDKでWebフロントエンドのSPAをデプロイするときの方法まとめ。下図のありがちなSPA構成を想定している。 このような場合、フロントエンドアプリからAPI GatewayのエンドポイントURLやCognitoのUser Pool IDなどの値を参照する必要があって、それらの値をど…

npm install は package-lock.json を変更しないことがほとんどだった

昨日までずっと npm install の挙動について勘違いしていたので、改めて整理する。 なお、引数付きの npm install <package_name> コマンドではなく、 npm install 単体で打つときの話。 npm install の仕様 npm 5.4.2 以後 (つまり、現代ではほとんどの環境がこちら) はじ</package_name>…

AWS Lambdaだけでアンケートフォームを作れる

Lambda function URL活用案件として、Lambdaだけを使ってアンケートフォームを作ってみた。 実際は回答の閲覧用にSlackも使ってるが、ほかは本当にLambdaだけ。アーキテクチャ コード 冗長な部分もあるので、要点だけ抜粋。フルのコードはこちらに載せた。 …

もつ名チートシート

もつをよく食べるのだが、部位の名前が異常に覚えられない。おそらく別称がたくさんあるため混乱するのだと思われる。 ここでは自分が食べたことのあるものに限って簡単な早見表をつくる。 全般 もつ: 臓物(ぞうもつ)、内臓のこと ホルモン: 放る(捨てる)も…

NodejsFunctionのビルド時に依存関係を解決する3つの方法

AWS CDK TIpsシリーズの記事。 タイトルの通り、AWS CDKのNodejsFunctionを使う時に依存関係を解決する方法が数パターンあるので比較してみる。 例 今回は、以下のTypeScriptのLambdaをデプロイするケースを考える。 // よくあるAPI GatewayのLambda Authori…

小さめのデスクトップPCを組んだ #JONSBO T8

最近新型デスクトップPCを組んだので、顛末を記録しておく。 要件 顧客からの要望は以下の通り。 予算10万円程度 (OS/周辺機器含まず) 最新ゲームがそこそこできる かさばらない (部屋においてもじゃまにならない) 3がなにげに厄介。 というのも私はこれまで…

Hardhat/Truffleを使わずにSolidityをコンパイルする

Hardhat/Truffle を使わずに、Solidityのスマートコントラクトをコンパイルしたい。そういった望みを持つこともあると思う。 そんなときに使える方法を紹介する。 solc-js solc-js という solc (Solidityのコンパイラ) をJavaScriptからプログラマブルに呼び…

Dockerfileが複数のBuild contextをサポートするようになった

はてな記事執筆機能の素振りがてら書いてみる。 序論 最近Dockerfileをビルドする際に複数のBuild contextを指定できるようになったらしい。 www.docker.com これを使うと、例えば共通モジュールが別ディレクトリに切り出されているような場合に、よりきれい…

はじめる

個人ブログを始めることにした 前はqiitaでやってたが、あちらの規約上許される内容なのか判断できないこともままあって、やりづらいからはてなが最適なのかも判断しかねてるがとりあえず始めるべしという心意気おそらく更新は低頻度になるが、なんとか続け…