2021年6月27日日曜日

Goの値レシーバーの使いどころがわからない

Goでクラスっぽいものを実装するときにレシーバーを使うわけですが、これは値レシーバーとポインターレシーバーの2種類があるそうな。

で、何度調べても値レシーバーの使いどころがわからない

2021年6月20日日曜日

Goでソフトウェア開発するときはsrcディレクトリーを作らないほうがいいのかな

コンパイル方式の言語(TypeScriptとかのトランスパイル方式含む)では、プロジェクトのルートディレクトリーの下にsrcとかsourceのようなディレクトリーを作って、その下にソースコードを置く場合も割とあると思います。

前まではGoで開発するときもこのようなディレクトリー構成にしていたんですが、別の場所にあるファイルを参照するときやライブラリーを開発しているときに、参照元から

import "example.com/package-name/src/file"

と書く必要があって、なんかsrcがジャマだなーと思う今日この頃みなさんどうお過ごしでしょうか。

参照パスにsrcが入るのはなんかモヤっとするので最近ではsrcディレクトリーを作らずにプロジェクトルートにメインとなるファイルを入れています。でもやっぱりソースコードは他のファイル(設定ファイルやらリソースファイルやら)とディレクトリーを分けたいという気分です。

多分これはGo固有の話なので、他のコンパイル方式では普通にsrcディレクトリーの下に放り込んでも問題なさそうです。

  • ソースコードはsrc以下に入れる。srcつきで参照しようが特に気しない。
  • srcディレクトリーは作らずにむき出しで入れる。ビルド結果が別ディレクトリーに出力されれば問題ない。
  • その他。src以下に入れてもsrcをつけずに参照する方法を知っている/使っている。

どれだろう。

2021年6月13日日曜日

Linux版ChromiumでGoogleドキュメントの入力がおかしい

以前「Linux版ChromiumでGoogleスライドの表示がおかしい」という記事を書いて、その後のアップデートで直ったんですが、今度は別の問題が出ました。

GoogleドキュメントやスプレッドシートにIMEで「1文字だけ」入力しようとしても、その文字が入力されずに改行だけされます。2文字以上ならちゃんと入力できますし、1文字でもIMEを無効化して直接入力したり、エディターからコピペすれば問題なく入力できます。例によってFirefoxなら問題ないので、多分Chromium側の問題です。

問題を確認したChromiumのバージョンは 91.0.4472.77 です。これもバージョンアップで直るのかしらん。

2021年6月6日日曜日

REST APIの特殊な場合のエンドポイント案

現在とあるウェブアプリケーションを作っているんですが、REST APIで特殊な条件でリソースを絞り込みたい場合があったので、「こうしたらええんちゃう」という考えをまとめてみました。多分特別あたらしいアイデアでもないです。誰かが似たようなことか、もっといいことをすでに書いていると思います。

一応言っておきますが、これはただの案で正解とは限りません。いろいろ試行錯誤した結果、これが個人的にわかりやすい気がしたというだけです。

REST APIの基本的な設計は理解している前提で書きますので、基本設計が不安な方は適当に調べておいてください。