[micronaut/Grails] GORM Duplicate property mapping of ..というエラー

以下のようなエラー

原因は、hasMany で持ってる子のデータの順序を担保するために、Listで保持していたがその時の名前が被っていたため。

このようにすると、 Book テーブルに、 books_idx というカラムを複数作ろうしてエラーになる。

このように、名前を変更すれば、
Book テーブル には、 books_idx と、 books_list_idx となるのでエラーを避けられる。

[python] numpy を使わずに連番配列をランダムに入れ替える

配列をランダムに取り出したいときに、インデックスの連番を配列にしてシャッフルすることがあると思います。
numpy ありなら簡単に思いつくのですが、問題は、numpy なしの場合。
あまりにも numpy に慣れてしまうと numpy なし環境で作らないといけない状況で戸惑ってしまったので記載しておきました。

例えば、IDとパスワードが入った2つの配列や、問題と正解が入った配列などです。

これをランダムに全て取りしたいときに、インデックスの配列を作ります。

この、list_idx をランダムにシャッフルすると、

そして、普通にfor文で回せばランダムに取り出せます。

結果は

と、ランダムに全ての値が取れました。

ちょっと長くなりましたが、こんな使い方をするときにnumpyなら簡単に

これで、index_list は

になります。
numpy なしの場合は。

python3系

これで、index_list は

python2系

これで、index_list は

となりました。