コードレビュー依頼前に確認してること

入社してから1年の間にコードレビューで、たくさんのありがたいご指摘(アドバイス)を受けてきました。
その中で実際にいただいたレビューから、今でもレビュー依頼する前に確認していることについてまとめてみたいと思います。

余計なスペース、インデントが入ってないか

入社直後のときはあまり気にしてなかったため数多くご指摘いただきました。
余計な空白や改行が入ることで、予期せずコードの動作が変わることはまれだと思いますが、Gitで不要な差分が追加されたりコードのフォーマットがバラバラになったりするので、不要な変更は削除したほうがいいです。

VSCodeでは、以下のプラグインを導入することでスペースが一目でわかるようになり、便利です。

https://marketplace.visualstudio.com/items?itemName=ybaumes.highlight-trailing-white-spaces

分かりやすい変数名、関数名を意識する

変数名、関数名には何の処理をしているか一目で分かりやすい名前をつけると別の開発者や未来の自分が見た時にそのコードの意味や目的をすぐに理解することができるので大切です。

とはいえ、ちょうどいい変数名や関数名が思いつかない…といったことが多々ありますが、最近では、ChatGPTに名前の提案を求めることもできるので非常に助かっています。

既存の共通処理を利用しているか

既存の共通処理があるにも関わらず、同じ内容の処理を重複して書いてしまい、それに関して指摘を受けたことがあります。

将来、仕様が変わった際に改修が必要となると、修正の漏れが生じるリスクが増えます。共通処理が存在する場合、その処理を再利用するか、共通のロジックとして新たに切り出すことが重要です。

その他

  • 処理が複雑な箇所はコメントを残しているか
  • マジックナンバーが使われてないか
  • 既存のユーザーや機能に対する影響がないか
  • 不要なコメント、デバッグコードを残してないか
  • 既存の処理より大幅にクエリの発行回数が増えてないか

まとめ

以上が、これまでいただいたレビューから確認するようになったポイントです。

レビュー時に学んだことを活かして同じ指摘を受けないようにすること、そしてケアレスミスをしないよう注意することでレビュアーの負担を軽減し、コードの品質向上に繋がると思うので今後も意識したいと思います。

大阪で飲める本格的なお茶屋さん3選

コーヒー好きな私もたまにはお茶を飲みたいと思うことがあります。
美味しいお茶が飲めるお店を色々探して行ってみました。

どれもオススメなお店でしたので近くを寄った際は是非入ってみてほしいです。

① cafe 大阪茶会

まずは大阪天満宮近くにある「cafe 大阪茶会」です。地下鉄南森町が最寄り駅です。
店名からも本格的なお茶が飲めそうですよね。

MAP:https://www.hotpepper.jp/strJ001255280/map/?vos=nhppalsa000013

今回はお抹茶とモナカをいただきました。
お抹茶は、農薬不使用の朝宮茶で、1年に1度しか収穫しない春摘み茶を使用しているようです。
(これが本物のお茶なのかと、感じたり思ったり。。)
お茶についてくる北海道産フリーズドライ小豆も初めて食べたのですが、美味しすぎました。

さらに嬉しいのは、お店のチョイス棚の中から好きな器を選ぶことができます。

② 雅楽茶

続いては本格的な台湾茶が気軽に飲める「雅楽茶」です。
梅田の隣の駅の地下鉄中崎町駅にあります。
細い路地を通るので入りにくい感じですが、入って見るとお家に上がった感じの座敷が広がっていて、癒やしの空間が広がっています。

MAP:https://tabelog.com/osaka/A2701/A270101/27064276/dtlmap/

台湾茶を淹れたことが無かったのですが、お店の方が分かりやすく教えてくれます。
急須で5回ぐらい淹れることができて香りの変化を愉しむことができます。

ここのお茶は、店主が台湾の茶葉農家を訪れて、直接仕入れるこだわりの台湾茶です。
茶壺(ちゃふう)、茶杯、茶海など台湾茶器も本格的なものを使用しこだわりを感じます。

おいしそうでしたので、ついつい、白玉もいただきました。

③ wad omotenashi cafe

最後は素敵な空間や器が広がる「wad omotenashi cafe」です。
地下鉄心斎橋駅の近くにあります。
「茶道の精神を現代風にアレンジしている」というのがひしひしと伝わってきます。

MAP:https://tabelog.com/osaka/A2701/A270201/27088707/dtlmap/

今回は、「釜茶」をいただきました。
こちらも急須で5杯ぐらい愉しむことができます。

カフェと言うより美術館にいるような感覚になりました。
やきもちもいただきました。

 

いかがでしょうか?
お茶は、小さい頃から身近にありすぎて、当たり前のように飲んでいたのですが、良いお茶を愉しむというのはこのことかと実感いたしました。

どのお店もまた行きたいと思うお店ばかりでした。
お茶屋探しの参考になれば幸いです。

(下記は過去に紹介したオススメのコーヒーショップです。)

Solr のスリムなバイナリ配布

Solr 9.3 から従来と同じ solr-9.3.0.tgz の他に solr-9.3.0-slim.tgz という配布形式が追加されました。追加のモジュール類が不要な利用者向けに、各種のライブラリを除外した配布となっています。

solr-9.3.0.tgz と solr-9.3.0-slim.tgz をそれぞれ展開して含まれているファイルを比較したところ、以下の2つのディレクトリが有るか無いかの違いであることが分かりました。

  • modules
  • prometheus-exporter

prometheus-exporter は Solr と Prometheus を連携させるためのツールです。
modules の下には以下のモジュールが含まれています。

  • analysis-extras
  • analytics
  • clustering
  • extraction
  • gcs-repository
  • hadoop-auth
  • hdfs
  • jaegertracer-configurator
  • jwt-auth
  • langid
  • ltr
  • opentelemetry
  • s3-repository
  • scripting
  • sql

それぞれのアーカイブファイルのサイズと展開後のサイズを比較すると、slim の方はかなり小さくなっていることが分かります。

$ ls -lh solr-9.3.0.tgz solr-9.3.0-slim.tgz 
-rw-r--r-- 1 splout splout  60M  9月 23 12:42 solr-9.3.0-slim.tgz
-rw-r--r-- 1 splout splout 265M  9月 23 12:42 solr-9.3.0.tgz
$ du -sh solr-9.3.0-slim solr-9.3.0
78M	solr-9.3.0-slim
304M	solr-9.3.0

調べていて気が付いたのですが、Solr 9 から Zip ファイルでの配布は無くなったのですね。

mkcertでローカルな環境をHTTPS化する

はじめに

ウェブ上のサービスを開発するにあたって、ローカルなウェブサーバをHTTPSで運用したくなることがあります。OpenSSLを使って自己署名証明書を発行する方法が良く知られていますが、手順も多く運用はなかなか大変です。mkcert というツールを使うことでこの手間を軽減できます。

mkcert

mkcert には Linux, Mac, Windows の書くプラットフォーム向けのインストール方法が用意されています。
Debian の場合は以下の通り。

$ sudo apt install libnss3-tools mkcert

使い方は非常に簡単です。

$ mkcert -install

ルート CA 証明書が作成されてインストールされます。

  • システム
    • /usr/local/share/ca-certificates/mkcert_development_CA_*.crt
    • /etc/ssl/certs/mkcert_development_CA_*.pem
  • Firefox
  • Chrome

ルート CA 証明書のファイルが .local/share/mkcert にあるので、自分が必要な場所にコピーして使うこともできます。

$ mkcert -CAROOT
/home/splout/.local/share/mkcert
$ ls /home/splout/.local/share/mkcert
rootCA-key.pem  rootCA.pem

ルート CA 証明書の次はサーバ証明書です。

$ mkcert localhost
$ ls
localhost-key.pem localhost.pem

コマンドを実行したディレクトリに localhost 用の証明書が作成されます。

$ sudo cp localhost-key.pem /etc/ssl/private/localhost-key.pem
$ sudo cp localhost.pem /etc/ssl/certs/localhost.pem

/etc/ssl の下にコピーしたら、Apache の設定に以下を追加します。

SSLCertificateFile      /etc/ssl/certs/localhost.pem
SSLCertificateKeyFile /etc/ssl/private/localhost-key.pem

これで https://localhost/ がブラウザの警告無しで使えるようになります。