永遠にドン詰まる。もうどうでもいいや。
はい。おはようございます。ごみくずです。今日も抗うことのできないごみのような人生にハマって抜け出すことができないでいる僕です。どうすれば抜け出せるんだとかもがきながら抜け出せなくなる。まあ、人生そんなもんだよね。つらいね。
まあいいや。ということで今回も例のアレの続きやっていきとうございます。
今回やったこと!
例のアレのこれ終わらせた。
今回やってみてこのツールの存在を知れてよかった。
VisualVM: Home
Javaのメモリとかそういうの見るのにこういうのあるんね。へー。
それじゃあ見ていきます。最初の方は非同期・並列処理に関してのあれこれについてサンプルコード交えて確認していきます。
・スレッド・スレッドセーフ
・メモリの可視性と逸出
・Javaの並列コレクションとシンクロナイザ
おもにこの辺りの主要なところの確認。
:java.util.concurrent (Java SE 11 & JDK 11 )
・Executor フレームワーク・Fork/Join フレームワーク
・Future と Promise
Furture:Scala Standard Library 2.12.2 - scala.concurrent.Future
Promise:Scala Standard Library 2.12.2 - scala.concurrent.Promise
・Akka とアクターモデル
Documentation | Akka
Scalaのアクター機能はここをつかっていけばいいそうですね。ネット情報だとこれで十分でねくらいのこと書かれてますね。僕はよく知らんけど。
見ていく内容はそんな感じ。んで後半はアクター機能使って実践練習。
そんで、今回作ったやつが画像ダウンローダ。
サンプル(ここから改善して動かしましょう用)がここにあるんだけど、要のImageNetのリンクが死んでるのよね。
GitHub - progedu/imagedownloader: 並行処理プログラミングコースの10節のAkka Actorの問題のある利用ケースのサンプル (ISC License)
とりあえず、ここの動向を監視しつつなんか良い感じに大量の画像を扱えそうなところを自分で探してみる方針で進めていこうと思う。
この部分。
Download the URL list of all ImageNet images (indexed by image ID)
・List of all image URLs of Fall 2011 Release
・List of all image URLs of Winter 2011 Release
・List of all image URLs of Spring 2010 Release
・List of all image URLs of Fall 2009 Release
参考
ImageNet
GitHub - Andou666/NnoImageDownloader-N
んで、とりあえず手を動かす方針でレッスンやってみたやつがこちらになります。
val wordsFilePath = "/YOUR_PATH/words.txt" val urlsFilePath = "/YOUR_PATH/fall11_urls.txt" val outputDirPath = "/YOUR_PATH/imagenet_download"
ImageNet死んでるんでまあ検証はしてないけどもダウンロード用のテキストファイル用意できればこの辺りいじるだけでいけると思う。無料期間のリミット近いしとりあえずやった感だけ残しておく。
つづく。これ期間内に終わらせられるかな……。