採用されたら頑張ります。
まだ裏話をまとめてないですが、以前、PyData Okinawaというコミュニティで下記Slideを発表しました。
www.slideshare.net
このときはデータ集めに必死でしたが、今度はディープラーニングをちゃんと学習してやろうかなと思います。
よろしくお願いします^^
採用されたら頑張ります。
まだ裏話をまとめてないですが、以前、PyData Okinawaというコミュニティで下記Slideを発表しました。
www.slideshare.net
このときはデータ集めに必死でしたが、今度はディープラーニングをちゃんと学習してやろうかなと思います。
よろしくお願いします^^
「指定したidリストの中に入っているid以外のレコードを取得する」という要件がありました。
? そういえば否定ってやったことないな。と思い、色々探してやっとこさできたのでメモ。
import com.avaje.ebean.Expr; // ... 省略 List<Integer> notSomethingModelIdList = new ArrayList<Integer>(); notSomethingModelIdList.add(1); notSomethingModelIdList.add(2); notSomethingModelIdList.add(3); // 1~3のid以外のレコードを検索してくれる List<SomethingModelClass> somethingModelList = SomethingModelClass.finder // finderはプロパティ => new Finder<>(Long.class, SomethingModelClass.class); .where() .not(Expr.in("id", notSomethingModelIdList)) .findList();
Expr.in()
で、idを検索するSQLを発行しているんだと思う、そのあとにnot()
で囲んであげると、そのSQLが否定文になります。
これでよし。
他にもlt()
とかgt()
とかの不等号あたりの条件を発行するメソッドもあるので、下記を参照。
EBeanによるModelの作成[Java編](5/5):Herokuで始める 初心者のためのPlay Framework入門
よかったのか悪かったのか、これまでeq()
や、ne()
だけでプログラミングしていました。。。
例えば、この「日付からこの日付までにマッチするレコード」を出したいという要件がありました。
SQLだとBetweenさんの出番ですが、Play Framework2.xはどうすればいい? あります。Between。
過去やったことがあったけど、ブログ書いていなかったのでメモしておきます。
List<SomethingModelClass> SomethingModelClass = SomethingModelClass.FINDER // FINDERはプロパティ=> new Finder<>(Long.class, SomethingModelClass) .where() .between("created", "2017-04-01", "2017-04-30") .findList();
久々にやると思い出せない。
Map<String, Object>の変数を作ってキャストしようとした時、エラーが発生して、試行錯誤したらやっとできた。キャストだけで。。。
自分の場合は、Object -> Integerにしたかっただけなので、こうしました。
Map<String, Object> map = getStringObjectMap(); // new HashMap<String, Object>() {}; Integer somethingInteger = (Integer)map.get("something");
Integer.parseInt()
でできるでしょ!と思っていたけど、よく考えたら引数Stringだけだし。。。忘れすぎてオワタ。
メソッドの引数からも取れる。けど、複数あるとき~/conf/routes
の記述が書きづらいので、リクエストのオブジェクトから取れないかなーと思って探したらあったのでメモ。
String value = request().getQueryString("key");
これでとれます。
こいつにOptionalをかませば、nullも回避するコードがかけますねー。
久々にPlay Framework触ったのでメモ。