スキップしてメイン コンテンツに移動

出版物に関する正誤情報


下記出版物に関しまして訂正がございます。
読者の皆様には大変ご迷惑をおかけいたしましたことを深くお詫び申し上げます。

[対象書籍]Google App Engine Java スタンダード環境 データストア API 絞り込み まとめ

[訂正箇所]複合的なフィルタを生成する ( AND / OR )

(1)全角・半角の誤り

ソース例中のダブルクォーテーションが一部全角になっていました。
"taro" と "tokyo" の部分です。
本文よりコピーしてコンパイルするとエラーになります。
正しくは半角でダブルクォーテーションです。

当該箇所
Filter filter1 = new FilterPredicate("userName", FilterOperator.EQUAL, "taro");
Filter filter2 = new FilterPredicate("pref", FilterOperator.EQUAL, "tokyo");

(2)変数の型の誤り

ソース例中の「CompositeFilter」は「Filter」の誤りです。
CompositeFilter を使用しても問題になるケースは稀と思われますが、ここでは Filter での記述が適切です。
誤)CompositeFilter filter = CompositeFilterOperator.and(filter1, filter2);
正)Filter filter = CompositeFilterOperator.and(filter1, filter2);


このブログの人気の投稿

Google App Engine Java スタンダード環境 データストア API 絞り込み まとめ Kindle版

ひと月くらいかけて書いたものです。 とても短いので30分もあれば読み終わってしまうと思います。 『Google App Engine Java スタンダード環境 データストア API 絞り込み まとめ Kindle版』 目次 はじめに パッケージ データストアサービス DatastoreService オブジェクトを取得する トランザクション トランザクションを開始する トランザクションをコミットする トランザクションをロールバックする アクティブなトランザクションとは 例外とトランザクションの雛形 現在のトランザクションを取得する 複数のトランザクションを使用する 複数トランザクション実行時の getCurrentTransaction() について Kind / Entity / Key / Property の概念 Kind Key と KeyFactory Key オブジェクトを生成する Key と websafe 文字列を相互変換する Entity Entity オブジェクトを生成する Entity にプロパティをセットする Entity から Key を取得する Entity のプロパティを取得する Entity のプロパティを Map として取得する データの書き込み 1件を書き込む 複数件を書き込む キーによるデータの削除 キーによるデータの取得 1件を取得する 複数件を取得する クエリとフィルタの構築 Query オブジェクトを生成する キーのみを取得するよう指定する 特定のプロパティのみを取得するよう指定する 重複を排除した結果を返すよう指定する(DISTINCT) ソート順を指定する Filter オブジェクトを生成する (WHERE) 複合的なフィルタを生成する ( AND / OR ) フィルタをクエリに適用する クエリの実行準備をする クエリの実行に制限等を加える(FetchOptions) クエリを実行し、結果を取得する 結果の件数を取得する 結果を取得する(1件のみ) 結果を取得する カーソル カーソルを取得する カーソルと websafe 文字列を相互変換する カーソルを適用する 全般的な注意事項 名前には記号を使用しな...

Derby でエラー ERROR 08001

Apache Derby でのものすごく情けないミス。 java -jar $DERBY_HOME/lib/derbyrun.jar ij もしくは $DERBY_HOME/bin/ij にて ERROR 08001: No suitable driver found for jdbc:derby:testdb:create=true が発生。 ij> CONNECT 'jdbc:derby:testdb:create=true'; ij> CONNECT 'jdbc:derby:testdb;create=true'; この2つの CONNECT の、上がエラーで、下が動作しました。 違いが分かりますか? 答えは、「create」の前にある「:」が間違いで、「;」が正解でした。 クラスパスが不足しているのでは?などとさんざん悩んで、ネットであれこれ調べても分からなかったものが、結局、ちょっとした記号の入力ミスだったという。 orzでした。

Google App Engine の SSL /マネージドセキュリティ

App Engine に「マネージドセキュリティ」という機能が導入されていました。独自ドメインで簡単にSSLが使えます。嬉しいことに無料です。 以前は証明書をどこかで入手してくる必要があって、手続きや設定が手間だったのですが、9月くらいに証明書を更新しようと思ったら、この無料SSLが使えるようになっていました。もう証明書を購入も更新もしなくて良さそうです。 設定は簡単で、コンソールから有効/無効を切り替えるだけでした。 設定手順 1.設定をクリック 2.カスタムドメインをクリック 3.適用したいドメイン名を選択 4.「マネージドセキュリティを有効にする」を押す 設定が反映されるまでには結構時間がかかります。設定画面で有効になってからも、ブラウザで実際にアクセスできるようになるまでには、更に5分から10分くらい待った気がします。 カスタムドメイン(独自ドメイン)を使わずに、appspot.com ドメインで公開しているアプリケーションは、何もしなくてもSSL対応のようです。 せっかくなので全部のアプリケーションに設定しておきました。

Google デジタルワークショップ

Google デジタルワークショップ の認定証。名前の字がだいぶ大きくて人に見せるのは恥ずかしい感じです。 英語版を見たら Digital Garage となっていて、日本語版よりバッヂやレッスンの数が多くて、機械学習について学習できるコンテンツもありました。けれども言語を切り替えたら全過程を一からやり直しになるようで、こちらは永久に保留しておくことにしました。

Linuxで仮想化してWindows

いったん動いていたものが 仮想マシンマネージャーから繋がらなくなりました。 libvirtdが起動していない旨のエラーが出ます。 サービスの状態を調べる方法は 確かコマンドでこう・・ systemctl status libvirtd なにかエラーが出ています。 ● libvirtd.service - Virtualization daemon     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled)     Active: failed (Result: exit-code) since Sat 2020-11-28 23:34:28 JST; 26s ago TriggeredBy: ● libvirtd.socket              ● libvirtd-admin.socket              ● libvirtd-ro.socket       Docs: man:libvirtd(8)             https://libvirt.org    Process: 1084 ExecStart=/usr/bin/libvirtd $LIBVIRTD_ARGS (code=exited, status=3)   Main PID: 1084 (code=exited, status=3) 11月 28 23:34:28 Inspiron systemd[1]: libvirtd.service: Scheduled rest...