「SE業務」カテゴリーアーカイブ

【Java】整数を均等にn等分するアルゴリズム

ある整数を可能な限り整数のまま等分したいということがあります。例えば、あるバッチ処理で、処理対象件数が300件だとして、スレッド数が9の場合に各スレッドになるべく均等に処理対象のデータを渡したいとします。

この場合、300を9等分するので、[42, 43, 43, 43, 43, 43, 43] と分割されます。Javaで書くとこんな感じ↓

もちろん、割り切れる場合も同じアルゴリズムです。

amount=300、n=9の値を変更すれば好きな値で動きます。

なぜこれでうまく動くのかというと、簡単に言うと、すべて均等に分けたあとに、余りを1ずつ配っているイメージです。

ここら辺のサイトの説明がわかりやすいです。
https://qiita.com/keisuke-nakata/items/c18cda4ded06d3159109
https://tmtms.hatenablog.com/entry/2016/07/27/ruby-split-array

これを知る前は、なかなかイケてないロジックを書いていたな・・・ (;゚Д゚)y 


「このNFCタグをサポートしているアプリはありません」が頻繁に表示される。→NFCを無効にする。

Google Pixel 3を使っていて、先日Androidのバージョンを10に更新したところ、「このNFCタグをサポートしているアプリはありません」というメッセージが頻繁に表示されるようになりました。

結果的には、手帳型のスマホケースに入っているSuicaに反応しているだけでした。。。。とほほ。。。。
でも、Android10にする前からスマホケースにSuica入れてるけどこんなメッセージ出なかったです。感度がよくなったのか??

最近は、モバイルSuicaなどの非接触ICを利用していないので、必要になるときまで無効化しました。

【無効化手順 】

設定のアプリを開きます。
「接続済みのデバイス」を開く
「接続の設定」を開く
NFCのタグをON/OFFすることで、無効化・有効化できます。

このメッセージだけを表示しない設定があったらいいなぁ (;´∀`)


Linuxでハイフンから始まるディレクトリ、ファイルを削除する

LinuxやUnixで削除コマンド rm を実行するときに、ファイル名やディレクトリ名の先頭にハイフン(-)がついていると、普通に実行するとコマンドエラーになってしまいます。

ファイル名の先頭にあるハイフンがコマンドのオプションとして認識されてしまい、「illegal option」(不正なオプション)のエラーとなってしまいます。

こういったファイルを削除するときに、GUI操作やWinSCPなどのツールで削除するのもよいのですが、環境によってはランレベルのOS設定が変えられなかったりします。

対策:削除対象のファイル名、ディレクトリ名の先頭に「./」を付与する

考えてみれば、大したことないことなのですが、疲れていたり、プレッシャーのかかる環境下で作業していると、こんな簡単なことも気が付かない ( ;´_ゝ`) 。まだまだ修行が足りないな。。。