トレイト(trait)すごい
「コンセプトから理解するRust」を読んで衝撃を受けました...。
トレイト(trait)は今まで自分が出会ったことがない概念です。
多くの言語ではinterfaceや基底クラスを作って「あなたはこの関数orメソッドを実装してください」というルールを定めることが出来ます。pythonであれば、以下のコードのように基底クラスを作成して、継承させることで実装が出来ます。
続きを読む「コンセプトから理解するRust」を読んで衝撃を受けました...。
トレイト(trait)は今まで自分が出会ったことがない概念です。
多くの言語ではinterfaceや基底クラスを作って「あなたはこの関数orメソッドを実装してください」というルールを定めることが出来ます。pythonであれば、以下のコードのように基底クラスを作成して、継承させることで実装が出来ます。
続きを読む日々の開発の中で、お互いに新機能に対して意見を言い合うことなどがあるかと思いますが、自分が所属するチームではなかなか、意見が出ずに意見交流が発生しないことが多々ありました。
これに対して自分の答えの1つとして、心理的安全性が確保されていないのではないかと思い「恐れのない組織――「心理的安全性」が学習・イノベーション・成長をもたらす」や「新 コーチングが人を活かす」という本を読みました。
読書を通して、確かに心理的安全性は重要で確保されていないといけないと感じ、所属チームで雑談を積極的に取り入れたり、自分が答えを出さず質問・意見を求める、無知であるという取り組みを約1ヶ月ほど続けてきました。
1ヶ月前と比べて、他メンバーへの相槌や「なるほど」といった反応が生まれるようになりました。これに関しては「よしよし!」と思ったのですが、自分が求めているような意見の交流にまでは至りませんでした。
続きを読むSQLの統計情報の記録の設定しようと思い、以下を参考にpostgresql.conf
を探してみるも見つからず...
homebrew
を使っているところは同じようだけど、どうやらOSが違う、いやM1macなのが原因かと思い調べているとやはりそうだった。
postgresql
では、テーブルスキャンに該当する演算子が5つあります。
以下より引用
www.slideshare.net
Seq scan
というのはいわゆる、フルスキャンでテーブルの中身を全て確認する必要があるため、一般的には動作が遅くなります。その一方でインデックスを適切に設置することで、Index scan
となる場合やIndex only scan
、ビットマップインデックスを設定していればBitmap scan
が使用されます。
Tid scan
はレコードが物理的に格納されている位置を識別するためのctid
を使用した検索時に使用されるもので、使用頻度はかなり低いでしょう。またctid
はデータの更新、削除によって変わるため、使用には慎重になる必要があります。
LEFT JOIN
を実行した際に、NULL
の値を持つレコードが増えるケースについては認知していましたが、ただのJOIN
の時にもレコード数が増えることを経験しました。
SQLに詳しい方から見れば、当たり前でしょと思われるかもしれませんが、遭遇したのが初めて、例を見かけなかったので記事にしてみました。