記事 Mihoko Iijima · 5月 7, 2021 10m read

開発者の皆さん、こんにちは!

この記事では、Java から IRIS へ接続する方法の中から XEP(ゼップ)を利用して、GPS (GPX)データを高速に取り込むサンプルをご紹介します。

Java の実行環境や IRIS がお手元になくても大丈夫です!コンテナ 🐳 のビルド+開始で体験できる「実行環境テンプレート」をご用意しました。

ソースコードは コミュニティの Git で公開 していますので、docker、docker-compose 、git がインストールされた環境であれば、すぐにお試しいただけます(Javaの実行環境はコンテナでご提供するので準備不要です)。

操作方法は、Gitの README に記載しています。ぜひお試しください。

この記事の中では、コード解説を追加しています。ぜひ、最後までお付き合いください!

 

1)処理概要

GPX データを IRIS へ渡す迄の流れにリアクティブプログラミングが行える RxJava2 のライブラリを使用しています。

メモ:サンプルコードの中では、GPS データを直接受信するのではなく、Google マイマップやサンプル GPS データから GPX ファイルに変換したデータを入力に使用しています。

0
0 247
お知らせ Toshihiko Minamoto · 5月 6, 2021

開発者の皆さん こんにちは。

開発者コミュニティの2021年4月の変更内容をお届けします。 主な機能は以下の通りです。

  • ソースコードでのクリップボードへのコピーボタン
  • 翻訳ページの投稿
  • 投稿へのプライベートリプライ
  • インターシステムズの公式リリース、アラートページ

詳細は以下をご覧ください<--break-><--break-><--break->

0
0 115
記事 Mihoko Iijima · 5月 6, 2021 2m read

これは InterSystems FAQ サイトの記事です。

インターシステムズ オンラインラーニングでは、InterSystems IRIS 概要や IRIS の各機能について 2~5分でご覧いただける QuickStart ページ(説明ビデオと操作方法を解説、サンプル用 Git の使い方をまとめたページ)をご用意しています。

  • InterSystems IRIS Data Platform について
  • Multi-Model
  • Embedded Python QuickStart
  • Interoperability
  • Java
  • .NET
  • Node.js
  • Python
  • SQL での開発

*日本語字幕をオンにする方法は こちらをご覧ください

開発者向けまとめページでは、QuickStart 以外にもドキュメントや開発者コミュニティへのリンク、IRIS を簡単に始めることのできるクラウド(AWS/Azure/GCP)のマーケットプレイスへのリンクなどまとめています。

ぜひご活用ください。

開発者コミュニティにもサンプルコード付き記事の投稿があります。ぜひご参照ください。

0
0 152
記事 Toshihiko Minamoto · 5月 6, 2021 4m read

中間データベースを使用して、Grafana と IRIS(または Cache/Ensemble)を使用する方法を説明した非常に有益な記事がコミュニティにいくつか掲載されています。

しかし私は、IRIS 構造に直接アクセスしたいと考えていました。 特にこのリンクで説明しているように、SQL でアクセス可能なCaché履歴モニターのデータにアクセスしたかったのです。

https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor

また、データをいじりたくもありませんでした。

必要とするデータを返すクラスクエリはすでにあったので、それらを、JSON を返す REST クラスに埋め込むだけで良かったからです。 クラス Grafana.MonitorData はまだ含めていません。それでなければならないという理由があるわけではなかったためですが、要望があれば、含めることは可能です。

0
0 214
記事 Toshihiko Minamoto · 5月 4, 2021 2m read

ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。

0
0 563
記事 Megumi Kakechi · 4月 29, 2021 2m read

これは InterSystems FAQ サイトの記事です。

InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。

  1. 自動フェイルオーバ
  2. ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製

1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。

2 については、1台のプライマリサーバである InterSystems 製品から、遠隔地も含め、任意の拠点にある複数台の InterSystems 製品へ(=非同期ミラーメンバ)データベースファイル(InterSystems IRISは「IRIS.DAT」、Caché/Ensemble/HealthShareは「CACHE.DAT」)のミラーリングを行います。
(また、複数のプライマリサーバから1台の非同期メンバのInterSystems 製品へのミラーリングも行えます。)
 

詳細は以下ドキュメントをご参照ください。
InterSystems IRIS ミラーリングについて【IRIS】
ミラーリングについて
 

あわせて、以下の記事も是非ご覧ください。
Cache Mirroring 101:簡単なガイドとよくある質問  
 

★おまけ

0
0 666
記事 Toshihiko Minamoto · 4月 28, 2021 5m read

数年ほど前、Caché Foundationsの講座(現「Developing Using InterSystems Objects and SQL」)において、%UnitTestフレームワークの基礎を講義していたことがあります。 その時、ある受講者から、ユニットテストを実行している間に、パフォーマンス統計を収集できるかどうかを尋ねられました。 それから数週間後、この質問に答えるために、%UnitTestの例にコードを追加したのですが、 ようやく、このコミュニティでも共有することにしました。

0
0 169
記事 Makiko Kokubun · 4月 27, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

機械学習やAIの進歩が、社会的にも大きな話題になっています。 しかしながら、実際に機械学習を活用したシステムを開発し、ビジネスに生かすところに到達するまでには様々な課題があります。例えば、データサイエンティストと呼ばれる高度なスキルを持った人材の不足もその一つです。

InterSystems は、アプリケーション開発者の方々が、IRIS data platform に保存されているデータとSQLを用いて、機械学習を容易に利用できる仕組み「IntegratedML」を開発しました。この動画では、IntegratedML の仕組みや使い方について解説します。

間もなくリリース予定の InterSystems IRIS 2021.1 に、IntegratedML が含まれます。
現在 2021.1のプレビュー版を公開中です。 詳しくはこちらをご覧ください。

本動画ではデモを行っています。デモをご覧になりたい方は 16:36 からご覧ください。

0
0 137
お知らせ Mihoko Iijima · 4月 27, 2021

開発者の皆さんこんにちは!

第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。  

🥇 1位 - $4,000 は Server Manager for VSCode を開発された @John Murray さんに贈られました!

🥈 2位 - $1,500 は Config-API を開発された @Lorenzo Scalese さんに贈られました!

🥈 2位 - $1,500 は zpm-explorer を開発された @Henrique Dias Dias さんと @José Roberto Pereira さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $750 は Server Manager for VSCode を開発された @John Murray さんに贈られました! 

0
0 91
記事 Toshihiko Minamoto · 4月 26, 2021 41m read

この記事には、IAM の基本概念を学習するための、教材、例、演習が含まれます。

すべてのリソースはこちらの git から入手できます: https://github.com/grongierisc/iam-training

ソリューションは training ブランチにあります。

この記事では、次の点について説明します。

0
0 609
InterSystems公式 Yoichi Miyashita · 4月 26, 2021

インターシステムズは、以下のプレビューバージョンをリリースしました。

  • InterSystems IRIS 2021.1 preview
  • InterSystems IRIS for Health 2021.1 preview
  • HealthShare Health Connect 2021.1 preview

来月に予定されている一般提供開始に先立ち、このプレビューリリースにて新製品の感想を皆様からお聞かせいただきたいと思います。
InterSystems IRIS Data Platform 2021.1 は、エクステンデッド・メンテナンス(EM)リリースです。前回のEMリリースである2020.1以降、継続的なデリバリー(CD)リリースで多くの重要な新機能や拡張機能が追加されています。
CDリリースの概要については、2020.2、2020.3、2020.4のリリースノートを参照してください。

このプレビューリリースのビルド番号は、2021.1.0.205.0 です。

【新機能のご紹介】
本リリースの機能強化により、開発者は選択した言語で高速かつ堅牢なアプリケーションをより自由に構築できるようになり、ユーザーは新しい高速な分析機能により大量の情報をより効果的に利用できるようになります。

0
0 246
記事 Megumi Kakechi · 4月 23, 2021 2m read

これは InterSystems FAQ サイトの記事です。

アプリケーションに求められる要件は日々複雑化しています。

しかし、複雑化するからといって開発のスピードおよび実行時のスピードが遅くなることは許されません。

複雑な要件を満たすために現在主流の手法ではソフトウェアスタック上の様々な部品(ミドルウェア、ライブラリ、フレームワークなど)を組み合わせる方法を取ります。

この方法は、様々なものを学習するための時間、それらを連携する方法、経年で様々なものが進化していくことに伴って各部品間の関係性が変化するためにそれらを維持管理していくための手間など様々な付帯的な作業が必要です。

結果として本来行いたいことに集中して取り組む前に付随する作業に忙殺されることになり開発生産性があがりません。
しかも実行時にも様々な部分が連携するためのオーバーヘッドを避けることができず期待する性能を確保することも困難になります。

一方インターシステムズのプラットフォームには上記要件を満たすのに必要十分な機能がひとつの首尾一貫した形で提供されており上記の様な手間がほとんど必要ありません。

さらにこのプラットフォームにはインターシステムズ独自の高性能、スケーラビリティの高いデータベースエンジンが内蔵されており様々なデータ処理を効率良く高速に処理します。

0
0 166
記事 Mihoko Iijima · 4月 22, 2021 2m read

これは InterSystems FAQ サイトの記事です。

ユーザ定義エラーとして使用したいエラーコードと対応するメッセージを記述したXMLを用意します。

なお、エラーコードは負の整数で設定してください。

<?xml version="1.0" encoding="UTF-8" ?> 
<MsgFile Language="ja">
  <MsgDomain Domain="UserErrors">
    <Message Id="-111" Name="MyError">エラーが発生しました</Message> 
    <Message Id="-222" Name="MyError2">エラーが発生しました2</Message> 
  </MsgDomain>
</MsgFile>

 

XML ファイルが作成できたら使用したいネームスペースにロードします。

set x=##class(%MessageDictionary).Import("error.xml")

 

ロード完了後、次のようなコマンドでユーザ定義エラーを取得、表示することができます。

0
0 185
記事 Mihoko Iijima · 4月 22, 2021 4m read

これは InterSystems FAQ サイトの記事です。
 

ルーチン(*.mac)の場合

ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。

コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。

別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。

0
0 292
記事 Toshihiko Minamoto · 4月 22, 2021 11m read

はじめに (および本記事を書いた動機) {#RobustErrorHandlingandCleanupinObjectScript-IntroductionandMotivation}

ObjectScript コードのユニット (ClassMethod など) を実行する場合、そのスコープ外にあるシステムの諸部分と対話するときに適切なクリーンアップを行えないことが原因で、様々な予期せぬ副作用が発生することがあります。 以下にその一部を紹介します。

  • トランザクション
  • ロック
  • I/O デバイス
  • SQL のカーソル
  • システムフラグと設定
  • $Namespace
  • 一時ファイル

ObjectScript のこういった重要な機能を、クリーンアップのコーディングや防御的なコーディングを適切に行わずに使用すると、普段は正常に動作しても、予期せぬかたちで、またデバッグが困難なかたちで失敗し得るアプリケーションができてしまう可能性があります。 想定できるすべてのエラーケースにおいてクリーンアップコードが正常に動作することは、極めて重要です。表面的なテストではエラーを見落とす可能性が高いことを考えるとなおさらです。 この記事では、既知の落とし穴をいくつかご紹介し、信頼性の高いエラー処理とクリーンアップを実現するための 2 種類の対処法について説明いたします。

0
0 353
記事 Toshihiko Minamoto · 4月 22, 2021 3m read

先日、永続クラスとシリアルクラスからSwagger仕様を生成する必要がありました。そこで、その時のコードを公開することにします(完全なコードではないため、アプリケーション固有の部分を変更する必要がありますが、まずは出発点として使用できます)。 こちらからご利用ください。

次のクラスがあるとしましょう。

0
0 161
記事 Makiko Kokubun · 4月 20, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

ソフトウェア開発技術において、プロセスの自動化、サイクルの短縮による生産性の向上を目指す考え方が普及してきました(CI/CD)。CI/CDの中核をなす技術の一つが、Dockerに代表されるコンテナです。

InterSystemsでは、Dockerコンテナで動作するIRIS data platformをリリースして、いち早く最新機能を皆様にお届けしています。この動画をご覧になって、DockerコンテナでIRISをスムーズに利用する第一歩としてください。


セッションで紹介しているリリースサイクルについては、こちらの記事をご覧ください。
セッションではデモを行っています。デモをご覧になりたい方は 12:49​ からご覧ください。

0
0 241
記事 Toshihiko Minamoto · 4月 20, 2021 7m read

開発者の皆さん
こんにちは。

先日、RESTのクラスを使って、PDFなどのファイルをアップロード、ダウンロードするサンプルをお送りしたお客さんからご質問を頂きました。
ダウンロード機能を使ってmp4などの動画を表示させた場合、以下のようにvideoの画面下のスライダーを移動しても、再生を進めたり戻したりができませんでした 

 

やはり、以下のようにスライダを動かすと、その時点の画像が表示されたほうが良いですね。 

そこでgoogleで調べてみると、Http Range requestへの対応が必要ということですのでObjectScriptで作成してみました。

表示用html

ブラウザで動画を表示するための簡単なhtmlファイルは以下の通りです。sourceタグのURLにGETメソッドでアクセスし動画データを受信します。

<html>
<head>
<title>ストリーム再生 </title>
</head>
<body>
ストリーム再生<br>
    <video controls width="800" >
    <source src="http://localhost:52773/csp/storage/River.mp4"type="video/mp4"> 
    </video>
</body>
</html>

RESTクラス

0
0 2479
質問 Mitsuru Amano · 3月 3, 2021

こんにちは、皆さま

IRISとVSCODE環境を日頃から愛用しています。

普段は使用しませんが、実験的にCSPファイル(*.CSP)をVSCODEで編集してみようと思い試みましたが上手く行きませんでした。

VSCODEの拡張は、「InterSystems ObjectScript Extension Pack」を使用しています。

具体的は2つの方法を試しました。

1.DBからworkspaceにExportして編集+Import&Compile

   ObjectScriptのソースTree-コンテキストメニューにExportが無いため動作を確認できず。

clsのExprot

cspのExportが…ない

2.DBの*.CSPを直接編集。

   ObjectScriptのソースTree-からcspファイルを開き編集したが、読み取り専用と表示。

VSCODEでCSPファイルを編集する方法をご存じの方は、教えて頂けないでしょうか?

4
0 539
記事 Seisuke Nakahashi · 4月 20, 2021 4m read

みなさん、こんにちは!

Visual Studio Code 用のエクステンション、 InterSystems Server Manager のバージョン2.0がリリースされました。

このバージョンでは、弊社製品に同梱されているコードエディタ Studio と同じように、「サーバ上にあるクラス定義やルーチンを、サーバに接続して、直接編集&コンパイル」することが簡単にできます。この記事では、「Visual Studio Code を、Studio と同じように、気軽に使う」ための設定をご紹介いたします。

1. ObjectScript用エクステンションのインストール

まずは Visual Studio Code に、InterSystems IRIS (Caché) に接続するためのエクステンションを入れましょう。この記事を参考に、3つのエクステンションを導入します。

  • InterSystems ObjectScript
  • InterSystems Language Server
  • InterSystems Server Manager

2. 接続するサーバの登録

0
0 1315
質問 Yuji Ohata · 4月 13, 2021

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

InteroperabilityのRecordMapの仕組みを利用した、ファイル取り込みについて、
取り込み時のエラー内容を独自のログ出力グローバルに吐き出したいと考えております。

管理ポータル上だと以下のように表示されている内容を
文字列として取得したいだけなのですが、何か方法はありませんでしょうか?

Ent_Util.Logの中を見ると上記の内容は確認できたのですが、
わざわざシステムが吐いているログを見なくとも、
ビジネス・サービスの結果として取得できる情報があるのでは?と考えております。

4
0 151
記事 Toshihiko Minamoto · 4月 19, 2021 12m read

++更新日:2018年8月1日

Cachéデータベースミラーリングに組み込まれているInterSystems仮想IP(VIP)アドレスの使用には、特定の制限があります。 具体的に言うと、ミラーメンバーが同じネットワークサブネットに存在する場合にのみ使用できるというところです。 複数のデータセンターを使用した場合は、ネットワークの複雑さが増すため、ネットワークサブネットが物理的なデータセンターを越えて「延伸」されることはさほどありません(より詳細な説明はこちらです)。 同様の理由で、データベースがクラウドでホストされている場合、仮想IPは使用できないことがよくあります。

ロードバランサー(物理的または仮想)などのネットワークトラフィック管理のアプライアンスを使用して、クライアントアプリケーションやデバイスに単一のアドレスを提示することで、同レベルの透過性を実現できます。 ネットワークトラフィックマネージャは、クライアントを現在のミラープライマリの実際のIPアドレスに自動的にリダイレクトします。 この自動化は、災害後のHAフェイルオーバーとDRプロモーションの両方のニーズを満たすことを目的としています。 

0
0 517
お知らせ Mihoko Iijima · 4月 19, 2021

開発者の皆さん、こんにちは!

第11回 InterSystems IRIS プログラミングコンテスト: 開発者ツール  の投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:4月19日~26日 (1週間)

投票方法は?

コミュニティメンバーはどなたでも投票いただけます!

投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください!

Community Leaderboard:

開発者コミュニティのメンバーは、お好みのアプリケーションに対して1位~3位を指定しながら投票できます。

開発者コミュニティでのあなたの状態

順位
1位 2位 3位
開発者コミュニティに記事を掲載したり、OpenExchange(OEX)にアプリをアップロードしたことがある方 9点 6点 3点

開発者コミュニティに1つの記事を掲載した、または 1アプリケーションを OEX にアップロードしたことがある方

6点 4点 2点
開発者コミュニティへコメントや質問を投稿したことがある方 3点 2点 1点


Experts Leaderboard:

0
0 91
記事 Shintaro Kaminaka · 4月 19, 2021 18m read

開発者の皆さん、こんにちは。

このシリーズでは、IRIS for Healthの使い方ではなく、関連技術として、FHIRプロファイル作成ツールであるSUSHIの握り方使い方を紹介していきたいと思います。

このツールをうまく使うことで、FHIRプロジェクトのプロファイル情報(仕様や制限、拡張などの情報)をうまく整理し、公開することができます。

その前にSUSHIとは何でしょうか?簡単にですが、順番に説明していきたいと思います。

FHIR って?

FHIRとは Fast Healthcare Interoperability Resources の略であり、Web通信の一般的技術であるRESTを使用して、可読性が高く取り扱いがし易いJSON/XML形式のデータの集合(=リソース)をやり取りする短期間で実装可能な医療情報交換標準規格、という定義になっています。

簡単に言えば、医療のデータの表現方法として皆で共通したフォーマットを使うことによって、システム間や施設間などでの情報の伝達や交換をやりやすいようにしよう!ということですね。

FHIRには様々なリソースが定義されています。例えば患者さんの情報にはPatientリソースという定義があり、これを使って表現されます。

0
2 2533
記事 Megumi Kakechi · 4月 16, 2021 4m read

これは InterSystems FAQ サイトの記事です。

ジャーナル切り替えのタスクが実行時にエラー(例:FILEFULL)となり、その原因となるエラーを解消後も一時停止(Suspend Leave)状態となっているのであれば、以下の操作により復旧可能です。

管理ポータル: [システムオペレーション] > [タスクマネージャ] > [タスクスケジュール表示]  より、以下の操作を行います。

  1. ジャーナル切り替え(Switch Journal) "詳細" をクリック 
  2. "一時停止" をクリック
  3. タスク実行が一時停止された場合にタスクを再スケジュールしますか? はい
  4. "すぐに実行する" をクリック
  5. "再開" をクリック
  6. "すぐに実行する"

タスク詳細にて "一時停止:"が空欄になり、"次回スケジュール時刻:" が再開後の次のスケジュール(例えば2021-04-17 00:00) になっていれば、復旧完了です。

こちらの方法で一時停止状態が解消しない場合は、診断レポート※(^SystemCheck/^Buttons)とタスクの情報(以下の手順で取得)をサポート宛てにお送りいただいた上、ご連絡ください。

0
0 293
記事 Shintaro Kaminaka · 4月 15, 2021 9m read

開発者の皆さん、こんにちは。 以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。

この代行認証編では、IRIS for HealthのFHIRリポジトリに組み込まれた認証機能ではなく、IRISの代行認証機能+ZAUTHENTICATEルーチンを使用して認証を行う方法をご紹介します。

前回記事でご紹介したように、標準のFHIRリポジトリの認証機構では、アクセストークンの発行先を追加するためのAudienceの指定(aud=https://~) や、アクセストークンだけではなくベーシック認証の情報を送付するなどの対応が必要でした。

スクラッチでFHIRクライアントを開発するのではなく、既成の製品やアプリケーションからアクセスする場合、上記のような処理の実装ができないことがあるかもしれません。 そのような場合には、この代行認証+ZAUTHENTICATEルーチンを使用して、カスタマイズした認証の仕組みを構築することができます。

この記事に含まれる情報のドキュメントについて

この記事で記載されている情報はIRIS for Healthのドキュメントにも含まれている内容をわかりやすく再構成したものです。

RESTサービスの保護:RESTアプリケーションおよびOAuth2.0

0
0 450
記事 Mihoko Iijima · 4月 15, 2021 2m read

これは InterSystems FAQ サイトの記事です。

このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。

他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。
その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。

トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。
トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。

ドランザクション処理について【IRIS】

ドランザクション処理について

また、トランザクション中に、同一テーブルに対する大量レコードのSQL 文による更新がある場合、ロックしきい値(既定値は1000)に到達してロックエスカレーションが発生し、その結果として、テーブルロック状態になっている可能性もあります。

このように、ロックタイムアウトエラーの原因は幾つか考えられますので、まずは、管理ポータル(バージョン2010.2以前では、[システム管理ポータル])の、ロックメニューにて、現在のロックの状態をご確認下さい。

0
0 814
記事 Mihoko Iijima · 4月 15, 2021 2m read

これは InterSystems FAQ サイトの記事です。

クラスに定義されたプロパティの情報については、以下システムクラスを利用して情報を取得できます。

%Dictionary.ClassDefintion

%Dictionary.PropertyDefinition

コード記述例は以下の通りです。

0
0 363