記事 Megumi Kakechi · 2021年7月12日 1m read CSV形式のファイルからクラスインスタンスにデータをロードする方法 これは InterSystems FAQ サイトの記事です。 %SQL.Util.Procedures クラスの CSVTOCLASS() メソッドを使ってCSVファイルからデータをロードすることができます。 サンプルコードに合わせて使用方法を解説します。 以下のコードでは、c:\temp\test.csv の内容を変数 rowtype で指定した列の形式で csv.test というクラスにデータをインポートしています。 クラス csv.test が存在しなければ、実行時にそのクラスも自動的に生成されます。 クラスが存在する場合は、定義済プロパティに合わせて変数 rowtype に列の形式を指定する必要があります。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 543
記事 Mihoko Iijima · 2021年7月5日 1m read データベースの暗号化の仕組み これは InterSystems FAQ サイトの記事です。 バージョン5.1以降、データベース単位に暗号化する仕組みが用意されています。 InterSystems data platform のデータベース暗号化は物理ブロックレベルの暗号化ですので、暗号化のオーバヘッドが非常に少なく、性能への影響が極小化されており、暗号化されている項目のインデックス化に制限等がありません。 関連記事もご参照ください。 データベースの暗号化手順について #ヒントとコツ #暗号化 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 103
記事 Mihoko Iijima · 2021年7月5日 1m read Extent クエリの結果が ID 順にならないわけ これは InterSystems FAQ サイトの記事です。 %Persistent クラスに既定で生成される Extent クエリは、ID 順に結果セットを出力することを意図していませんので、これは、仕様通りの動きとなります。 並び順は、設定されているインデックスにより、変わることがあります。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems Natural Language Processing (NLP, iKnow) #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 117
記事 Toshihiko Minamoto · 2021年7月1日 5m read 便利な自動生成メソッド クラスのコンパイル時に、定義済みのプロパティ、クエリ、またはインデックスごとに対応する複数のメソッドが自動的に生成されます。 これらのメソッドは非常に便利です。 この記事では、その一部について説明します。 #Code Snippet #オブジェクトデータモデル #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 160
記事 Megumi Kakechi · 2021年6月30日 2m read 管理ポータルのライセンス消費に関する仕様変更について(2012.1以降) これは InterSystems FAQ サイトの記事です。 2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。 これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。 この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。 特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。 管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。 a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。 b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。 #CSP #システム管理 #ヒントとコツ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 391
記事 Toshihiko Minamoto · 2021年6月29日 5m read RESTサービスでのリクエストの転送 RESTフレームワークの有用な機能の1つに、ディスパッチクラスがリクエストのプレフィックスを識別して別のディスパッチクラスに転送するという機能があります。 URLマップをモジュール化するこの手法により、コードの可読性が向上し、インターフェースの個別のバージョンが管理しやすくなります。また、特定のユーザーのみがアクセスできるように、API呼び出しを保護する手段も得ることができます。 概要 CachéインスタンスにRESTサービスをセットアップするには、専用のSCPアプリケーションを定義して、それに関連付けられた、受信リクエストを処理するディスパッチクラスを作成する必要があります。 ディスパッチクラスは、%CSP.RESTを拡張し、URLマップを含むXDataブロックを含めます。 こうすることで、システムに、特定のリクエストを受信したときにどのメソッドを呼び出すのかを指示します。 以下に、例を示します。 #CSP #JSON #REST API #XML #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 415
記事 Mihoko Iijima · 2021年6月28日 2m read クラス定義でプロパティ名を変更するとそれまで参照できていたデータが参照できなくなる/参照時にエラーが発生する場合の対処方法 これは InterSystems FAQ サイトの記事です。 クラス定義の Property 定義文の名称を直接変更した場合、内部的には 元のプロパティを削除し、新しいプロパティを追加 したことになります。 このため、すでにデータを格納している永続クラスのプロパティ名をエディタで直接変更した場合、元のプロパティで設定されていた値にはアクセスができなくなります(新しいデータの格納位置が割り当てられます)。 また、変更したプロパティが必須(非ヌル)に指定されていた場合、データが存在しないために参照時にエラーが発生します。 以下の図は、左画面が変更前の状態、右画面がプロパティ名を変更してコンパイルを行った状態です。 #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 368
記事 Toshihiko Minamoto · 2021年6月23日 10m read InterSystems Cachéのマクロ この記事では、InterSystems Cachéにおけるマクロについて説明します。 マクロは、コンパイル中に一連の命令に置き換えられるシンボリック名です。 マクロは、渡されたパラメーターとアクティブ化したシナリオに応じて、呼び出されるたびに一連の命令セットに「展開」されます。 これは、静的コードの場合もあれば、ObjectScriptを実行して得られる結果である場合もあります。 それでは、アプリケーションでマクロをどのように使用できるのかを見てみましょう。 #ObjectScript #コンパイラ #ターミナル #ヒントとコツ #ベストプラクティス #初心者 #Caché 0 0 0 310
記事 Mihoko Iijima · 2021年6月22日 1m read 複数のバージョンをインストールした環境で ODBC ドライバを切り替える方法 これは InterSystems FAQ サイトの記事です。 同一システムに InterSystems 製品を複数インストールした場合、ドライバマネージャに登録される InterSystems 用の ODBCドライバは、インストールされた製品の中で最新バージョンのドライバが登録されたままとなります。 以下のレジストリエントリを変更することで、任意のドライバへ変更できます。 なお、RegFiles.bat 実行では ODBCドライバは切り替わらないのでご注意ください。 レジストリエントリは、以下の通りです。 #ODBC #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 872
記事 Toshihiko Minamoto · 2021年6月21日 9m read SYSLOG - その正体と意味するもの この記事では、syslogテーブルについて説明したいと思います。 syslogとは何か、どのように確認するのか、実際のエントリはどのようなものか、そしてなぜそれが重要であるのかについて説明します。 syslogテーブルには、重要な診断情報が含まれることがあります。 システムに何らかの問題が生じている場合に、このテーブルの確認方法とどのような情報が含まれているのかを理解しておくことが重要です。 #ターミナル #ヒントとコツ #ベストプラクティス #監視 #Caché 0 0 0 501
記事 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 127
記事 Megumi Kakechi · 2021年6月16日 2m read コンソールログに出力されるアラート情報の意味 これは InterSystems FAQ サイトの記事です。 InterSystems製品のシステムモニタが色々なリソースの使用状況を監視しています。 そしてその使用状況に応じてアラートやワーニング情報をコンソールログ(message.log/cconsole.log)に出力します。 アラート情報が表示するCPUのリソースについては、以下のものが定義されています。 #ヒントとコツ #監視 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 335
記事 Megumi Kakechi · 2021年6月15日 2m read ローカル変数は最大どのくらいまで使うことができるのか これは InterSystems FAQ サイトの記事です。 ローカル変数の容量は、プロセスに許可する最大メモリ割り当て容量によって制限されます。 この値は、システム構成パラメータの bbsiz で設定します(設定方法は記事の後半にあります)。 既定値は、1プロセスあたり、262,144 KB です。※IRIS 2022.1 以降は、既定値が -1(最大値:制限なし) になりました。※Caché/Ensemble 2012.1以前では 16,384 KB でした。 値は 256KB からスタートし、プロセスがより大きな領域を必要とする場合は、bbsiz で設定した値まで拡張します。(バージョン2012.1以前では 128KB~49,536KB の範囲で設定できます。) この値を超えるようなローカル変数の使用があると、 エラーが発生します。 現在のプロセスに残っている使用可能なメモリ量は、$STORAGE 変数で確認できます(バイト単位)。詳細は以下ドキュメントページをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 717
記事 Toshihiko Minamoto · 2021年6月15日 11m read MonCaché - MongoDB としての Caché MonCaché — InterSystems Caché での MongoDB API 実装 免責事項:この記事は筆者の私見を反映したものであり、InterSystemsの公式見解とは関係ありません。 構想 プロジェクトの構想は、クライアント側のコードを変更せずに MongoDB の代わりに InterSystems Caché を使用できるように、ドキュメントを検索、保存、更新、および削除するための基本的な MongoDB(v2.4.9) API 機能を実装するところにあります。 #API #JSON #Node.js #オブジェクトデータモデル #データベース #データモデル #ドキュメントデータモデル(NoSQL) #Caché 0 0 0 131
記事 Mihoko Iijima · 2021年6月14日 1m read TCP接続(OPEN)した際のクライアントのアドレス取得方法 これは InterSystems FAQ サイトの記事です。 接続先クライアントのIPアドレス取得するには、以下の方法で %SYS.ProcessQuery クラスを使用します。 (a) 対象プロセス ID を指定して、ClientIPAddress プロパティ を参照します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 133
記事 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 225
記事 Toshihiko Minamoto · 2021年6月9日 4m read GIS でのコンペに勝つには GIS は Geographic Information System(地理情報システム)の略です。 これは、Caché の典型的な分野ではありませんが、 データ量の多い環境に違いありません。 主要分野には、次の 3 つがあります。 ビジュアルフロントエンド: 多数の商用およびオープンソース製品がカバーする成熟した分野です。 ここには Caché は必要ありません。 GIS の数学: JTS(Java Topology Suite)は、すべての要件を網羅した固定標準です。Java Gateway によって、または Caché Call Out Gateway を使ったこの標準ライブラリの C++ インカーネーションの C によって Caché にリンク付けることができます。 これまでのところ、Caché による付加価値はありません。 すべての地理オブジェクトとその属性、特に、道路地図、高速道路、会社、個人宅、鉄道、人口統計データなどの地理座標を保持しているデータベース #Caché 0 0 0 145
記事 Mihoko Iijima · 2021年6月9日 8m read 管理ポータルのメモリ関連設定項目について これは InterSystems FAQ サイトの記事です。 管理ポータルで設定できるメモリ関連の項目は、以下の通りです。(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。) 管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定] 古いバージョンのメニューは以下の通りです。 【バージョン5.1~2010.x】システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容* データベースキャッシュ用メモリ* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定] #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 436
記事 Toshihiko Minamoto · 2021年6月8日 17m read サポートの現場から - Raw DEFLATEの圧縮/解凍機能の探求から、どのようにRESTによるNode.jsのコールアウトサーバー構築に至ったのか 以前、WRCケースのエスカレーションを受けました。お客様は、Cachéに、rawDEFLATE圧縮/解凍機能が組み込まれているかを尋ねていました。 DEFLATEについて話すには、Zlibについても話す必要があります。Zlibは、90年代半ばに開発された無料の圧縮/解凍ライブラリで、、デファクトスタンダードとなっているからです。 Zlibは特定のDEFLATE圧縮/解凍アルゴリズムと、ラッパー(gzip、zlibなど)内でのカプセル化するという考えの下で動作します。 https://en.wikipedia.org/wiki/Zlib #JavaScript #Node.js #ObjectScript #REST API #コールアウト #ベストプラクティス #Caché 0 0 0 903
記事 Mihoko Iijima · 2020年7月20日 2m read 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:(REST)手動で作成するディスパッチクラス IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを手動で作成する方法を解説します。 ※関連ビデオで、OpenAPI 2.0 で定義したアプリケーションの仕様を利用する手順を使った API ファーストで作成するディスパッチクラスの解説ビデオもあります。 https://www.youtube.com/embed/q3XVT98_05I[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] このビデオには、以下の関連ビデオがあります。 #REST API #ビデオ #初心者 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 527
記事 Mihoko Iijima · 2021年6月4日 3m read ユーザーが作成したクラス一覧をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。 クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。 メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。 #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 259
記事 Mihoko Iijima · 2021年6月1日 6m read REST/JSON の簡単なサンプルご紹介 これは InterSystems FAQ サイトの記事です。 InterSystems 製品を利用した REST/JSON の操作方法を、簡単なサンプルを利用して解説します。 サンプルでは、REST クライアント、HTML、ターミナルからデータ(JSON)を送信し、サーバ(InterSystems製品)で JSON 形式のデータを返す REST ディスパッチクラスを使った簡単な流れになっています。 サンプルは、https://github.com/Intersystems-jp/FAQ-REST-SimpleSample からダウンロードいただけます。 #HTML #JavaScript #REST API #ヒントとコツ #初心者 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 7.6K
記事 Megumi Kakechi · 2021年6月1日 1m read OSのコマンドを実行する方法 これは InterSystems FAQ サイトの記事です。 OSのコマンド実行する場合、$ZF(-100) を使用します。 do $ZF(-100,"",program,args) // Windows コマンドを【同期】実行します。 do $ZF(-100,"/ASYNC",program,args) // Windows コマンドを【非同期】実行します。 mkdir, copy などのOSシェルコマンドを実行する場合は、/SHELL もあわせて指定します。 do $zf(-100,"/shell /async","mkdir","c:\temp\x") 詳細は以下のドキュメントを参照してください。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 314
記事 Megumi Kakechi · 2021年5月27日 1m read Windows上での共有メモリの割り当てについて これは InterSystems FAQ サイトの記事です。 InterSystems Data Platformは、データベースキャッシュやルーチンキャッシュなどの共有メモリを、起動時に割り当てます。 バージョン2007.1以降をWindows上で動作させる際、Windows特有の共有メモリに関する問題が生じることが判明しています。 詳細については、以下の技術資料をご参照ください。 Windows上での共有メモリの割り当てについて また、以下の記事もあわせてご覧ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 527
記事 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 292
記事 Toshihiko Minamoto · 2021年5月18日 12m read インデックス処理 第2部: インデックス処理 クラスにどのようなインデックスが必要であるのか、それをどのように定義するのかについて理解できたので、 次に、どのように処理するのかについて確認しましょう。 #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 319
記事 Megumi Kakechi · 2021年5月13日 1m read ロックテーブルの使用状況を簡単に確認する方法 これは InterSystems FAQ サイトの記事です。 システムクラス SYS.Lock のメソッド GetLockSpaceInfo() にてロックテーブルの空きサイズ、使用サイズが取得可能です。 %SYS>w ##class(SYS.Lock).GetLockSpaceInfo()4717392,4712512,1200 戻り値は、“AvailableSpace, UsableSpace, UsedSpace” になり、それぞれByte単位の値を表しています。 AvailableSpace:ロックテーブルサイズから使用サイズ(UsedSpace)を引いたサイズ #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 245
記事 Toshihiko Minamoto · 2021年5月12日 12m read インデックスを理解する これは、SQLインデックスに関する2部構成の記事の前半です。 第1部 - インデックスを理解する #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 522
記事 Toshihiko Minamoto · 2021年5月4日 2m read ObjectScriptエラー処理のスニペット ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。 < #Code Snippet #エラーハンドリング #ObjectScript #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 547
記事 Megumi Kakechi · 2021年4月29日 2m read ミラーリングの機能について これは InterSystems FAQ サイトの記事です。 InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。 自動フェイルオーバ ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製 1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 632