O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop

82 visualizações

Publicada em

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第17回は@DbColumと@DbLookupについての3回目
併せて@DbName、@ReplicaId

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop

  1. 1. @ @ -notes knows community- 2019/11/06 ネオアクシス株式会社 阿部覚 (tw:) @abesat @関数Talk 第17回 公開版
  2. 2. @ @ 前回、前々回と、 @DbColumn, @DbLookupの お話しをしましたが、 @Db~で始まるといえば もう一つ知られた関数があるね、 と思いまして:
  3. 3. @ @ @DbNameの 1分雑談
  4. 4. @ @ @DbColumnや@DbLookupに比べれば シンプルな関数です IBMさんのヘルプIBMさんのヘルプ (☝ 11月上旬現在     まだ閲覧可能 )😅
  5. 5. @ @ ここで、 前回・前々回で、使用したサンプルフォームを 引き続き説明に用います 式 式の結果を表示する 表示用の計算結果フィールド 複数値は改行して表示
  6. 6. @ @ ローカルのDBで実施してみると こんな感じ サーバー内のDBで実施してみると こんな感じ サーバー名の部分は"”に サーバー名はCN= などのラベルがついた階層名に
  7. 7. @ @ DBアプリそのものを あらわす関数としては 他にこんなものもあります
  8. 8. @ @ @ReplicaIDの 1分雑談
  9. 9. @ @ @こちらもシンプルな関数です IBMさんのヘルプIBMさんのヘルプ
  10. 10. @ @ 実施してみると こんな感じ サーバー名はCN= などのラベルがついた階層名にレプリカIDはDBアプリ固有の識別番号 8桁:8桁の形式です 日時により自動生成されるのですが そのお話は機会があれば
  11. 11. @ @ Databaseプロパティでいうと こんな理解でいいかと思います @ReplicaIDに相当@ReplicaIDに相当 @DbNameに相当@DbNameに相当 ついでにここは@DbTitleに相当
  12. 12. @ @ と、ここで改めて「つづき」です
  13. 13. @ @ @DbColumn @DbLookup 引数ピックアップ篇その1
  14. 14. @ @ まだ、概略しかご紹介していない 各引数について もうすこし具体的に見ようと思います @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords )
  15. 15. @ @ @DbColumn ( class: cache ; server : database ; view ; columnNumber ) @DbLookup ( class: cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) "Notes” または "” Dominoデータソース(つまりはNotes DBアプリ) を意味します "ODBC" Dominoではなく外部のリレーショナルデータベースなどを意味し ます。 "ODBC”を指定した場合はこの後の引数など含め、 関数の使い方が一変するので、 このTalkでは今のところお話の対象外と考えています
  16. 16. @ @ cacheは "” / "NoCache” / "ReCache” の3つから選択 この関数の実行結果を「覚えておくかどうか」の 指定です ✋私には"ReCache”の存在意義がいまいち不明 @DbColumn ( class : cache; server : database ; view ; columnNumber ) @DbLookup ( class : cache; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 前々回にこう書きました
  17. 17. @ @ 改めて、こんな記事を確認しました ただし、リンクをクリックすると…           😭 HCLに移ったのかな? とりあえずはGoogleのキャッシュを見ます
  18. 18. @ @ IBMさんの記事IBMさんの記事 (☝ 消えてしまったけど    11月上旬現在、   Googleのキャッシュで閲覧可能 )😅 以下、キャッシュという言葉がGoogleさんと重なって まぎらわしいですが
  19. 19. @ @ IBMさんの記事IBMさんの記事 (☝ Googleさんのキャッシュ) "NoCache”で取得した結果はキャッシュされず、 "”で再利用できないから "ReCache”を作ったんですね
  20. 20. @ @ @DbLookupで、ビューの"MainKey”に対応する3列目の場所「代々木」を取得 ここで、ビューの文書を更新し、場所を「田町」に変えてしまいます すぐに同じ@DbLookupを繰り返した場合、"”はキャッシュを使うので「代々木」のまま でも、"NoCache”を使えば再検索するので「田町」を返します (11/6 のの会での実演を再現…)
  21. 21. @ @ ただし、キャッシュは変わらないので、"”に戻した@DbLookupは… でも、"Recache”なら、再検索して「田町」を返すだけでなく、キャッシュも変わるので、 次に"”を使った@DbLookupを行っても、変更されたキャッシュにより「田町」が返ります (11/6 のの会での実演を再現…)
  22. 22. @ @ @DbColumn ( class : cache ; server : database; view ; columnNumber ) @DbLookup ( class : cache ; server : database; view ; key ; columnNumber または fieldName ; keywords ) 引用するビューが どこの何というデータベースにあるのかを指定 自データベース内にあるのなら "”だけでも
  23. 23. @ @ 他のDBアプリを指定する例 サーバー名とファイル名を「:」でつないで指定するのが スタンダードだと思いますが 相手DBのレプリカIDを指定することも可能です どちらが合理的だと思いますか? また実際の開発ではこうした「ハードコード」は推奨されず 「変数」になることが多いです
  24. 24. @ @ 自DBアプリを指定するには これまで触れてきたように 自DBアプリ内のビューを検索する分には "” でよいです もちろん、他DBアプリと同様に 直接サーバー・ファイル名やレプリカIDを指定しても 動くでしょうけど わざわざそれをする必要はなく
  25. 25. @ @ 自DBアプリを指定するには ということは、内部的に自DBアプリの レプリカIDが入っているこれも一応OKみたいです ほかに、@DbNameを使った例もけっこう見かけます 内部的には サーバー名とファイル名を「:」でつないだ例と、同等ですね
  26. 26. @ @ 今回はここまでにさせていただき 🙏💦 view以下については、また改めて @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords )
  27. 27. @ @ ご清聴ありがとう ございました♥

×