Friday, February 14, 2020

[sbt] If your jar file fails executing because of dependency issue

(keep in mind that this is for sbt 1.3.8)

1. get your sbt-assmebly matches your Scala version: https://github.com/sbt/sbt-assembly
2. add the following to your build.sbt file:
assemblyMergeStrategy in assembly := {
 case PathList("META-INF", xs @ _*) => MergeStrategy.discard
 case x => MergeStrategy.first
}
3. that's it! now run $sbt assembly



Reference:
https://stackoverflow.com/questions/25144484/sbt-assembly-deduplication-found-error

Saturday, October 26, 2019

vim

Vimをオワコンだとか言われることがあったり、ネットで散見したりするのだが....
その考えは全くを持って間違っていると言わざるを得ない。

Vimのモードに馴染めないのは確かに初学者にはありうる話だが、それはあくまでも馴染めないからであって一度染み込んだら開発効率は倍速になるはずだ。

そもそもモードがあるということはその分キーバインディングが大量に存在できると言うことで、(i、v, 通常モード)この3つを交互に繰り出すことで多くのことが可能である。

矩形選択(Ctrl + v -> Jで選択)後、Shift + i -> 文字入力 -> Esc で複数行同時に編集可能、 :ls -> sp#4 で現在の全バッファの4番目のものを新規に開ける、など

....

嫁が寝るのでここまで


音楽(HIPHOP / Electronica / Ambient )を売っています、ぜひチェックしてください↓

あと、漫画を売っています

RabbitMQについて


Rabbit MQについてちょっと調べてみた

Spring * Groovyの組み合わせに関心あり、その関連でRabbit MQについて調べてみた。
一言で言うと「うさぎさんの郵便局」。郵便局なので送る人と受け取る人がいっぱいいて、
郵便局側でメールを大量に保管してくれて、必要に応じて一斉に配ってくれる。

通常、送る人が大量に同時の相手に送り先にメールを送ることは困難である。シングルスレッド
(APIからひとつずつやる)だとそもそもN個だったらN時間かかってしまう。

このため、マルチスレッドで同時に送ればいいじゃん、となるが、(この場合一つのアプリケーション
で複数プロセス同時に立ち上げてN個を一斉に送る)CPUリソース使いまくり問題が発生してコストが高い。

そのため、送る側と送られる側に「郵便局」を設置すればいいじゃんということになった。
すなわち所定のDBに一旦溜め込んで(キュー)、その溜め込んだやつにたいして送られる側が
随時問い合わせればいい的なことになった。

また、このうさぎさん郵便局では複数のマシンを一つに見せる(エッジコンピューティング?)的なことも
できるのでスケーラビリティの観点からもとてもよい。

また、送るがわは Rabbit MQ(うさぎさん郵便局サーバ)に対してデータの問い合わせを(どれを送るかを)
しないといけないのだが、その場合モードが3つくらいあってジャストキーを検索するモードと部分一致モード
とそのほかがある。

いずれにせよ、AQMP?プロトコルをErlangで実装してあるOSSということで、幅広い人気を得ているらしい。
僕もチャンスがあったらいじってみたいかも、とこんだけです。

====================-====================-


音楽(HIPHOP / Electronica / Ambient )を売っています、ぜひチェックしてください↓

あと、漫画を売っています