イミュータブルアレイ
いままでその価値をあまり理解してなかったけど
今回(特に意味はないが)並列処理的なことやってみてて
データの安全性というか取得後に他処理からの改変あってほしくないって状況において
イミュータブルなデータのありがたみがよく分かる感じだた
まぁGoでイミュータブルやろうと思うと
型をパッケージ分離して実体はプライベートでアクセスはインターフェースでっていう感じの設計にする必要がありそうで
作り直すの面倒だからやってないが…
あと今、更新あるたびにjsonに書き出して保存してるけど
とても非効率な感じがしてて
データベースという仕組み使うのがベストなんだろうなと感じてる…
関係ないけど
そういやDBのトランザクションやロールバックってどう実現してんだろ
処理の途中でプログラムが逝っても何かしらが保証されるのだろうか?
そこらへんはどうしようもないこととして受け入れるのが一般的なんだろうか
レプリカだかレイドだか知らんけどDBのコピー取る仕組みとかもあるらしいけど
まとめて死んだ場合とかどうしよもない事態はやはりどうしようも無いんだろうか
世の中、何もかも完全に完璧にできるってことはないわけだし
妥協する心は大事なのかもしれん・・・