記事 Toshihiko Minamoto · 2021年5月18日 12m read インデックス処理 第2部: インデックス処理 クラスにどのようなインデックスが必要であるのか、それをどのように定義するのかについて理解できたので、 次に、どのように処理するのかについて確認しましょう。 #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 204
記事 Toshihiko Minamoto · 2021年6月17日 4m read Yape - さらに別のpButtonsエクストラクタ(チャートを自動作成) 注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください。 注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。 #システム管理 #パフォーマンス #ヒントとコツ #ベストプラクティス #監視 #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 96
記事 Mihoko Iijima · 2021年4月9日 1m read 関数・メソッドの引数に可変長引数を渡すことができるかどうか これは InterSystems FAQ サイトの記事です。 引数名の後ろに ... をつけることで可変の引数を渡すことができます。 ObjectScript では、配列を使って任意の数の引数を渡すことができます。 例文は以下の通りです。例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。 Class TEST.ARGTEST1 Extends %RegisteredObject { ClassMethod NewMethod1(Arg... As %String) As %Boolean { kill ^a merge ^a = Arg } } ターミナルで実行した結果は以下の通りです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 204
記事 Toshihiko Minamoto · 2021年8月11日 17m read OAuth 認証と InterSystes IRIS: トラストプロトコルを使いこなす 不在時に、セキュリティとプライバシーを維持しながら、コンピューターを相互に信頼させるにはどうすればよいでしょうか? 「ドライマルティーニを」と彼は言った。 「1 杯。 深いシャンパングラスで。」 「承知いたしました。」 「気が変わった。 ゴードンを 3、ヴォッカを 1、キナリレを半量。 キンキンに冷えるまでよくシェイクしてから、大きめの薄いレモンピールを 1 つ加えてくれ。 わかったかい?」 「お承りいたしました。」 バーテンダーはその考えが気に入ったようだった。 イアン・フレミング著『カジノ・ロワイヤル』(1953 年)より OAuth は、ユーザーログイン情報を伴うサービスを「運用中」のデータベースから、物理的にも地理的にも分離する上で役立ちます。 このように分離すると、ID データの保護が強化され、必要であれば、諸国のデータ保護法の要件に準拠しやすくしてくれます。 OAuth を使用すると、ユーザーは、最小限の個人データをさまざまなサービスやアプリケーションに「公開」しながら、一度に複数のデバイスから安全に作業することができるようになります。 また、サービスのユーザーに関する「過剰な」データを操作しなくてよくなります(データはパーソナル化されていない形態で処理することができます)。 #JSON #OAuth2 #セキュリティ #チュートリアル #InterSystems IRIS Open Exchange app 1 0 0 305
記事 Hiroshi Sato · 2021年9月26日 3m read リストコレクションを定義したプロパティに対するSQLアクセス方法 これは InterSystems FAQ サイトの記事です。リストコレクション(Property XXX As list of %String;)で定義したプロパティは、SQL関数: $LISTBUILD() 、$LISTFROMSTRING() を使用して操作できます。 各SQL関数については、下記ドキュメントページをご参照ください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 145
記事 Mihoko Iijima · 2021年5月23日 2m read イメージファイルを FTP サーバからアップロード/ダウンロードする方法ご紹介 これは InterSystems FAQ サイトの記事です。 %Net.FtpSession クラスを使用して FTP サーバから、アップロード/ダウンロードする方法をご紹介します。 1. FTPサーバにイメージファイルをアップロードする #FTP #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 202
記事 Toshihiko Minamoto · 2021年7月12日 3m read REST の高度な URL マッピング 現在では、基本的な REST API を Caché に実装する方法は一般的であり、これに関する優れたドキュメントが「REST in Caché」に掲載されています。 時々次のような疑問が投げ掛けられることがあります。 REST url のパラメータをオプションにするにはどうすればよいですか? 簡単に言えば、Caché では次のような URL をマッピングする URL マップを作成することができます。 http://server/API/object///old この書き方は奇妙に見えるかもしれませんが、実際に有効な URL です。 詳細は、RFC3986 セクション 3.3 をご覧ください。 #マッピング #REST API #Caché 0 0 0 368
記事 Mihoko Iijima · 2021年6月28日 2m read クラス定義でプロパティ名を変更するとそれまで参照できていたデータが参照できなくなる/参照時にエラーが発生する場合の対処方法 これは InterSystems FAQ サイトの記事です。 クラス定義の Property 定義文の名称を直接変更した場合、内部的には 元のプロパティを削除し、新しいプロパティを追加 したことになります。 このため、すでにデータを格納している永続クラスのプロパティ名をエディタで直接変更した場合、元のプロパティで設定されていた値にはアクセスができなくなります(新しいデータの格納位置が割り当てられます)。 また、変更したプロパティが必須(非ヌル)に指定されていた場合、データが存在しないために参照時にエラーが発生します。 以下の図は、左画面が変更前の状態、右画面がプロパティ名を変更してコンパイルを行った状態です。 #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 234
記事 Megumi Kakechi · 2021年8月5日 1m read データベースファイルの最大サイズ これは InterSystems FAQ サイトの記事です。 ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。 各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。 バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。 16KBのブロックサイズを使用した場合、64TB 32KBのブロックサイズを使用した場合、128TB 64KBのブロックサイズを使用した場合、256TB #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 158
記事 Toshihiko Minamoto · 2021年9月23日 10m read データジャングルの視覚化 -- パート1: グラフを作成しよう この記事は、視覚化ツールと時系列データの分析を説明する連載の最初の記事です。 当然ながら、Caché製品ファミリーから収集できるパフォーマンス関連のデータを見ることに焦点を当てますが、 説明の途中で、他の内容についても解説していきます。 まずは、Pythonとそのエコシステムで提供されているライブラリ/ツールを探りましょう。 この連載は、Murrayが投稿したCachéのパフォーマンスと監視に関する優れた連載(こちらから参照)、より具体的にはこちらの記事と密接に関係しています。 免責事項1: 確認しているデータの解釈について話すつもりですが、それを詳しく話すと実際の目標から外れてしまう可能性があります。 そのため、Murrayの連載を先に読んで、主題の基本的な理解を得ておくことを強くお勧めします。 #Python #オブジェクトデータモデル #ツール #ビッグデータ #視覚化 #Caché 1 0 0 88
記事 Mihoko Iijima · 2021年8月30日 2m read クエリをチューニングする方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品には、テーブルのコンテンツに関する統計を収集し、クエリの最適化に役立てる「テーブルチューニング機能」があります。 設定方法は、以下のドキュメントをご参照ください。 テーブルのチューニングについて【IRIS】 テーブルのチューニングについて ターミナルでは次のコマンドを実行します。 Do $system.SQL.TuneTable("<テーブル名>",0,1) また、以下の資料もご参照ください。 1) パフォーマンス調査の基礎知識として必要なグローバル構造の解説やSQLの動作の仕組みからクエリプランの見方の解説 インターシステムズ・シンポジア2011の資料 2) パフォーマンスチューニングの例(P13~) インターシステムズ・シンポジア2012の資料 3) ビットマップ・インデックスの圧縮やオプティマイザ・ヒントなど、Caché SQLのパフォーマンスを最大限に引き出すための情報について インターシステムズ・シンポジア2014の資料 4) パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介するビデオ 動画:Performance 101 5) 開発者コミュティのパフォーマンス関連情報(performanceタグ) performanceタグ #SQL #パフォーマンス #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 247
記事 Toshihiko Minamoto · 2021年10月7日 5m read ローカル変数スコープの概要 これは、オンラインドキュメントのさまざまな場所に表示される主題に関する概要であり、主に注釈として表示され、専用の章として表示されることはありません。 むかしむかし、ある所に... おっと、おとぎ話ではありません。 Cachéの初めの頃(それからその前にも)、自分のコードを実行するためのパーティションを用意していたことがあるでしょう。 そのパーティションの一部は、すべてのローカル変数が%、A~Z、a~zでうまくソートされていた領域でした。 また、ローカルに保存する値や情報が何であれ、すべてはそこに保存されており、パーティションでどんなコードを実行する場合でも、可視状態であり、利用することができました。 完全なドキュメントと優良な規律をもって共同作業できている開発者チームであれば、問題はありません。 [残念ながら、これをおとぎ話にしてはいけません]。 #初心者 #Caché #InterSystems IRIS 0 0 0 188
記事 Shintaro Kaminaka · 2021年11月3日 15m read SUSHIを使ってFHIRプロファイルを作成しようパート2 開発者の皆さん、こんにちは。 この記事は、FHIRの関連技術として、FHIRプロファイル作成ツールであるSUSHIの使い方を紹介するシリーズの第2弾です。パート2である今回まで半年の期間が経ってしまいました。 前回のパート1では、FHIRとは?FHIRプロファイルとは?FHIR Shorthandとは?そしてSUSHIとはどのようなツールなのか?どのような物を作成できるのか?について、サンプルの成果物のスクリーンショットを交えながら説明しました。 今回の記事では、SUSHIで作成したプロファイルの実際の活用例として、SUSHIを使ってPatientリソースに Extension を追加し、さらにそのExtensionの項目に対する新しい SearchParameter を定義し、IRIS for HealthのFHIR Repositoyで新しいSearchParameterが使えるようになるまで、をご紹介します。 #FHIR #InterSystems IRIS for Health 1 0 0 838
記事 Tomoko Furuzono · 2021年12月13日 1m read グローバル単位でジャーナルのON/OFF設定をする方法 これは、InterSystems FAQサイトの記事です。 グローバル単位でジャーナルのON/OFF設定を行いたい場合は、グローバルマッピング設定で、 ・ジャーナルしたいグローバル ⇒ ジャーナルON(「はい」)のデータベースにマッピング ・ジャーナルしたくないグローバル ⇒ ジャーナルOFF(「いいえ」)のデータベースにマッピングと、分けることで可能です。 但し、通常のデータベースは、ジャーナルOFF設定であっても、トランザクション中の更新についてはジャーナルファイルに記録されます。 #グローバル #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 99
記事 Toshihiko Minamoto · 2021年1月13日 2m read Docker コンテナ内で InterSystems IRIS と Package Manager を併用する場合について。 デベロッパーの皆さん、こんにちは! InterSystems Package Manager (ZPM) は、素晴らしいツールですが、インストールせずにすぐ使用できたら、さらに便利です。 それを実現する方法はいくつかあります。以下に dockerfile を使って ZPM をビルドした IRIS コンテナを用意する方法をご紹介します。 リポジトリを作成し、そのdockerfile に数行のコードを記述しました。これを使えば、最新バージョンの ZPM をダウンロードし、インストールできます。 IRIS コミュニティエディション用のあなたの dockerfile にこれらのコマンドを追加すれば、ZPM がインストールされ、使用できるようになります。 最新の ZPM クライアントをダウンロードするコマンドは以下の通り。 #Docker #InterSystems Package Manager (IPM) #コンテナ化 #ターミナル #InterSystems IRIS Open Exchange app 0 0 0 188
記事 Toshihiko Minamoto · 2021年4月15日 3m read odt ドキュメントと docx ドキュメントをテンプレートから作成するためのツール 皆さん、こんにちは! 皆さんに私のプロジェクトをご紹介したいと思います。 #Caché Open Exchange app 0 0 0 89
記事 Hiroshi Sato · 2021年1月27日 1m read JDBC対応状況 これは InterSystems FAQ サイトの記事です。 バージョン2009.1以降で、JDBC 4.0API に対応しています。 詳細は、以下のドキュメントをご参照ください。 JDBCサポートについて #Java #JDBC #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Megumi Kakechi · 2021年2月8日 1m read 平常時のシステムパフォーマンスを収集する方法 これは InterSystems FAQ サイトの記事です。 システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い ”通常時と比較して、どこがどの程度変わっているか”を確認することで、問題のある箇所を特定できます。(逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。) いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。 収集情報詳細は、以下のドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 121
記事 Megumi Kakechi · 2021年3月10日 3m read RESTでセッション共有化する方法 これは InterSystems FAQ サイトの記事です。 REST アプリケーションはステートレスであることが想定されています。 しかし、複数の REST 呼び出し間でデータを保持したい場合などの理由で、Webセッションを使用したい場合は、UseSession パラメータを使用することができます。 以下のように、Web アプリケーションのディスパッチクラスとして定義された %CSP.REST のサブクラスでUseSession パラメータを指定することで、CSPと同じようにWebセッションを使用することが可能となります。 Class REST.MyServices Extends %CSP.REST { Parameter UseSession As Integer = 1; 詳細は以下のドキュメントをご覧ください。 #REST API #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 935
記事 Makiko Kokubun · 2021年3月23日 2m read 動画:InterSystems IRIS へのマイグレーション *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 この動画では、Caché/EnsembleからInterSystems IRISへの移行プロセスについてご説明しています。 https://www.youtube.com/embed/612KLqB5mdY[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] Caché/Ensembleから InterSystems IRIS への移行を考えられている方は、まずこちらをご覧ください。「移行する際の注意点」、「移行の方法」、「必読ドキュメント」、「キットや評価ライセンスの入手方法」など、IRIS移行の際に必要となる情報をまとめてご案内しています。 #Webセミナー #InterSystems IRIS 1 0 0 240
記事 Toshihiko Minamoto · 2021年6月21日 9m read SYSLOG - その正体と意味するもの この記事では、syslogテーブルについて説明したいと思います。 syslogとは何か、どのように確認するのか、実際のエントリはどのようなものか、そしてなぜそれが重要であるのかについて説明します。 syslogテーブルには、重要な診断情報が含まれることがあります。 システムに何らかの問題が生じている場合に、このテーブルの確認方法とどのような情報が含まれているのかを理解しておくことが重要です。 #ターミナル #ヒントとコツ #ベストプラクティス #監視 #Caché 0 0 0 293
記事 Mihoko Iijima · 2021年4月9日 1m read 指定のテーブルの全フィールドをSQLで取得する方法 これは InterSystems FAQ サイトの記事です。 INFORMATION_SCHEMA スキーマを使用して取得できます。 INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルのSQLメニューに表示されません。表示させる方法は以下の通りです。 管理ポータル→システムエクスプローラ→SQL メニューを開きます。 スキーマのプルダウン左にある「システム」をチェックします。 スキーマのプルダウンから INFORMATION_SCHEMA を選択します。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 436
記事 Toshihiko Minamoto · 2021年5月6日 4m read IRIS から直接 Grafana を使用する 中間データベースを使用して、Grafana と IRIS(または Cache/Ensemble)を使用する方法を説明した非常に有益な記事がコミュニティにいくつか掲載されています。 しかし私は、IRIS 構造に直接アクセスしたいと考えていました。 特にこのリンクで説明しているように、SQL でアクセス可能なCaché履歴モニターのデータにアクセスしたかったのです。 https://community.intersystems.com/post/apm-using-cach%C3%A9-history-mon... また、データをいじりたくもありませんでした。 必要とするデータを返すクラスクエリはすでにあったので、それらを、JSON を返す REST クラスに埋め込むだけで良かったからです。 クラス Grafana.MonitorData はまだ含めていません。それでなければならないという理由があるわけではなかったためですが、要望があれば、含めることは可能です。 #監視 #InterSystems IRIS 0 0 0 185
記事 Hiroshi Sato · 2021年9月23日 1m read レコードマップで何ができるか? これは InterSystems FAQ サイトの記事です。レコード・マップは、区切り文字付きのレコードや固定幅のレコードを含むファイルをInteroperability機能で使用するメッセージクラスへマッピングしたり、Interoperability機能のメッセージクラスからテキストファイルへマッピングする作業を効率的に行うための機能です。 レコードマップのマッピング定義は管理ポータルで作成でき、CSVファイルを読み込ませながら定義するCSVレコードウィザードも提供しています。 プロダクションでレコードマップを利用する場合は、レコードマップ用ビジネス・サービス、またはビジネス・オペレーションを追加し、作成したレコードマップ定義クラスを指定すれば完成です。 使用例は、以下から取得できます。 レコードマップサンプル #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 258
記事 Mihoko Iijima · 2021年5月23日 2m read VDOC (仮想ドキュメント)とは? これは InterSystems FAQ サイトの記事です。 仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。 HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。 また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。 その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。 一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。 #HL7 #XML #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 708
記事 Megumi Kakechi · 2021年6月14日 2m read %付ルーチンインポートの際に <PROTECT> エラーが発生した場合の対処方法 これは InterSystems FAQ サイトの記事です。 <PROTECT> エラーを解消するには、システム全体のライブラリデータベース(※)の読み込み専用属性を外します。 ※ InterSystems IRIS の場合は IRISLIB、Caché/Ensemble/HealthShare(Cachéベース) の場合は CACHELIB ルーチンのインポートが完了しましたら、読み込み専用に忘れずに戻すようにしてください。 【バージョン2013.1~】[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]データベース名のリンクから「読み込み専用でマウント」のチェックを外します。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 136
記事 Toshihiko Minamoto · 2021年8月4日 4m read チャットボットの言語学習にご協力を! 皆さんこんにちは! よろしければ、ボットが対話できるようになるようお手伝いいただけませんか? チャットボットはこちらからアクセスしてください: Help my chatbots to talk! なんだ、そのチャットボットはスマートではないのですか? #AI #Python #InterSystems IRIS #その他 Open Exchange app 0 0 0 123
記事 Hiroshi Sato · 2021年9月9日 2m read グローバルマッピングをプログラミングで登録する方法 これは InterSystems FAQ サイトの記事です。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 212
記事 Makiko Kokubun · 2021年7月14日 1m read 動画:KubernetesでのIRISの運用とそれを支える仕組み *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 本動画では、コンテナを開発・デモ環境で使用されている方を対象に、プロダクション環境をコンテナで運用することを目的として Kubernetes の基本及び IRIS data platform の運用を支える仕組みをデモを交えながらご紹介します。 https://www.youtube.com/embed/yKX8wB9d2cs[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] #Kubernetes #Webセミナー #InterSystems IRIS 0 0 0 91
記事 Megumi Kakechi · 2021年8月11日 4m read ジャーナルファイルを削除する方法 これは InterSystems FAQ サイトの記事です。 ジャーナルファイルの削除は、自動削除と手動削除が選択できます。 「自動削除」については、以下2つの方法が選択できます。 A) タスクスケジュールを使用して指定時間に自動削除する方法B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法 A) タスクスケジュールを使用して指定時間に自動削除する方法 インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。 #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 905