記事 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
記事 Hiroshi Sato · 2020年10月29日 1m read 起動時に、 CTELNETD startup error: bind(sock) failed エラーが出てスタートアップに失敗する場合の対処法 これはInterSystems FAQ サイトの記事です。 起動時に、 CTELNETD startup error: bind(sock) failed Telnet23ポートは別ソフトでは使用していません。というエラーが発生する場合の対処法です。 現在、InterSystems製品と以下のソフトの組み合わせで、この現象が発生することがわかっています。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 436
記事 Mihoko Iijima · 2021年6月17日 3m read 【GettingStarted with IRIS】無料体験環境:Sandbox 開始手順について 開発者の皆さん、こんにちは! #初心者 #InterSystems IRIS 0 0 0 434
記事 Toshihiko Minamoto · 2021年5月4日 2m read ObjectScriptエラー処理のスニペット ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。 < #Code Snippet #エラーハンドリング #ObjectScript #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 433
記事 Mihoko Iijima · 2023年10月10日 15m read 複雑なJSONの生成に便利な「JSONテンプレートエンジン」の使い方ご紹介 開発者の皆さん、こんにちは。 この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。 「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。 このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。 #JSON #ObjectScript #オブジェクトデータモデル #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 430
記事 Hiroshi Sato · 2021年9月9日 2m read RESTでクロスドメイン制約を回避する方法 これは InterSystems FAQ サイトの記事です。 #REST API #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 430
記事 Mihoko Iijima · 2020年6月28日 2m read 【はじめての InterSystems IRIS】セルフラーニングビデオ:アクセス編:Python の NativeAPI に挑戦 Python から InterSystems IRIS へ接続する方法の1つである「Native API」(※)の使用方法ご説明します。 #Python #グローバル #ビデオ #初心者 #InterSystems IRIS #InterSystems IRIS for Health #学習ポータル 0 0 0 429
記事 Shintaro Kaminaka · 2020年12月10日 20m read GitHub Actions を使って GKE に InterSystems IRIS Solution をデプロイする 以前紹介した記事 (お読みいただいたでしょうか) では、GitHub とパーフェクトに統合する CircleCI のデプロイシステムについてカバーしました。 なのにどうしてさらに掘り下げる必要があるのか? それは、GitHub には GitHub Actions という独自の CI/CD プラットフォームがあり、詳しく見ておく価値があるからです。 GitHub Actions を使えば、外部のサービスを使用する必要はありません。 この記事では、GitHub Actions を使って InterSystems Package Manager のサーバー部分である ZPM-registry を Google Kubernetes Engine (GKE) にデプロイする、ということを試したいと思います。 #DevOps #Docker #GitHub #Kubernetes #クラウド #コンテナ化 #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 425
記事 Mihoko Iijima · 2020年11月20日 2m read データベースのバックアップ方法について これはInterSystems FAQ サイトの記事です。 バックアップには、以下4種類の方法があります。 外部バックアップ オンラインバックアップ(コンカレントバックアップ) コールドバックアップ レガシー並行外部バックアップ 詳細は、以下ドキュメントをご参照ください。 バックアップの方法について【IRIS】バックアップの方法について #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 425
記事 Megumi Kakechi · 2021年2月18日 2m read jQueryを使用してIRISからJSONデータを取得する方法 jQuery($.getJSON と $.ajax)を使用した InterSystems IRIS データのJSON形式での取得方法をご紹介します。 以下にサンプルをご用意しました。 https://github.com/Intersystems-jp/REST_JSON_sample サンプルには、次の内容が含まれます。 ・REST + JSON・REST + CORS ※それぞれ、$.getJSON と $.ajax で取得する方法を記載しています。 #JavaScript #JSON #REST API #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 424
記事 Tomoko Furuzono · 2021年5月26日 2m read Windows のバッチスクリプトでIRISのルーチンやメソッドの戻り値を取得する方法 これは、InterSystems FAQサイトの記事です。 iris コマンドを使用して、InterSystems IRIS のインスタンスを制御できます。iris コマンドは多くの機能をサポートします。以下の構文を使用します。 #ObjectScript #InterSystems IRIS 0 1 0 424
記事 Mihoko Iijima · 2023年3月3日 3m read VSCode:RESTサービスのデバッグ 開発者の皆さん、こんにちは! IRISのRESTディスパッチクラスのデバッグがVSCodeで簡単にできるようになりましたので、利用手順についてご紹介します。 #REST API #デバッグ #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 424
記事 Hiroshi Sato · 2020年8月26日 4m read Caché .Net BindingアプリケーションをIRISの.Net Native APIを利用して書き換える方法(その2) ここで紹介するサンプルは、以下のGitHubから入手可能です。 .NETサンプル Powershellから.NETインタフェースを呼び出すサンプル1 callclassmethod.ps1というファイル名です。 処理内容は、Caché (IRIS)のバージョン情報を表示するという非常に単純なものです。 Caché では.Net Bindingを使用していましたが、IRIS用に.Net Native APIで書き換えてみます。 以前のCaché のコードは以下の通りです。 #InterSystems IRIS 1 0 0 423
記事 Toshihiko Minamoto · 2021年12月3日 12m read ディープラーニングによるCovid-19X線画像分類器の説明可能性と可視性 キーワード: ディープラーニング、Grad-CAM、X線、COVID-19、HealthShare、IRIS 目的 イースターウィークエンド中に、Covid-19に感染した胸部X線画像分類とCT検出デモを実行するを触ってみました。 デモの結果は上出来で、このトピックに関するその頃の学術研究出版物に一致しているようでした。 でも、本当に「上出来」と言えるのでしょうか。 最近、「機械学習における説明可能性」に関するオンラインランチウェビナーを聴くことがあったのですが、たまたまその講演の最後でDonがこの分類結果について話していました。 #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 422
記事 Mihoko Iijima · 2023年3月5日 4m read VSCode:RESTサービス実行中プロセスにアタッチしてデバッグする方法 開発者の皆さん、こんにちは! 1つ前の記事では、VSCodeのObjectScriptエクステンションに追加されたRESTサービスのデバッグツールについてご紹介しましたが、この記事では、RESTクライアントなどからHTTP要求を実行し、処理中のIRIS内プロセスにアタッチしながらデバッグを行う方法についてご紹介します。 #REST API #デバッグ #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 421
記事 Hiroshi Sato · 2021年9月2日 2m read $ZF(-100)の使用方法 これは InterSystems FAQ サイトの記事です。 $ZF(-100) のコマンドは、以下のフォーマットで使用します。 $ZF(-100, フラグ, コマンド名, コマンドの引数) OSコマンドを実行する場合は、「/shell」フラグが必要です。例えば mkdir であれば、次のように使用します。 // mkdir C:\temp\newdir Write $ZF(-100, "/shell", "mkdir", "C:\temp\newdir") コマンドの引数が複数ある場合は、以下の例のように引数の数だけ二重引用符で括ってカンマ区切りで指定します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 415
記事 Mihoko Iijima · 2022年1月6日 4m read IRIS ターミナルで履歴からのコマンド実行、コマンドのショートカット作成ができるのをご存知ですか? 開発者のみなさん、あけましておめでとうございます🎍 今年もどうぞよろしくお願いします! さて、この記事では、IRIS ターミナルに(こっそり)追加された便利機能をご紹介します!(つい最近知りまして、びっくりしました) 2023/4/13 追記:Pythonシェルへ切り替えるメソッドのショートカットが追加されていたので返信欄に追記しました。 IRIS ターミナルで以前実行したコマンドを再実行する場合、上矢印キーを連打しながらコマンドを探されていると思うのですが、IRIS 2021.1 から履歴表示と、履歴番号を指定した実行ができるようになっていました! では早速、履歴(history)の使い方をご紹介します。これがあれば、もう、上矢印キーを連打せずに以前実行したコマンドを再実行できます!! #ターミナル #InterSystems IRIS 6 1 0 414
記事 Tomohiro Iwamoto · 2022年7月11日 2m read oAuth2認証対応のIMAP,SMTPアダプタ オリジナルの「InterSystems IRIS で Python を使って IMAPクライアントを実装する」は、埋め込みPythonを使用してIMAPインバウンドアダプタを実装されていますが、最近メールプロバイダがあいついでoAuth2認証しか受け付けなくなってきているので、その対応をしてみました。 本稿のGitHubはこちらです。 変更点 GMAILに対してメールの送受信を可能とするためにオリジナルに以下の修正を施しています。 #Embedded Python #OAuth2 #相互運用性 #InterSystems IRIS 0 0 0 413
記事 Megumi Kakechi · 2021年4月29日 1m read ミラーリングの機能について これは InterSystems FAQ サイトの記事です。 InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。 自動フェイルオーバ ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製 1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 409
記事 Mihoko Iijima · 2020年11月6日 2m read SELECTのみを実行できるユーザ作成方法について これはInterSystems FAQ サイトの記事です。 SELECT のみを実行できるユーザを作成するには、ユーザかロールに対してテーブルへのアクセス権限を設定することで対応できます。 設定は、管理ポータルか、GRANT 文を実行することで設定できます。GRANT 文については、以下ドキュメントもご参照ください。InterSystems SQL リファレンス - GRANT【IRIS】CachéSQLリファレンス - GRANT 管理ポータルでの設定は、ユーザまたはロールの編集画面内「SQLテーブル」タブを使用します。 #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 408
記事 Mihoko Iijima · 2020年11月6日 4m read 外れ値について これはInterSystems FAQ サイトの記事です。 テーブルチューニングを行った際に、フィールドに値がほとんど登録されていない(Null)場合や、特定の値がほとんどを占める場合、その値を [外れ値] として除外して選択性計算を行います。 また、外れ値が全レコードの何 % を占めているかの値は [外れ値の選択性] として記録されます。 InterSystems 製品のクエリオプティマイザは、選択性数値とエクステントサイズを使用してクエリの経路を決定しますが、クラスクエリ、埋め込み SQL に使用しているクエリに外れ値が含まれる場合は、外れ値の選択性が自動的に考慮され、インデックスの使用有無を決定しています。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 401
記事 Toshihiko Minamoto · 2020年10月22日 7m read JSONの機能強化 InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。 #JSON #REST API #XML #オブジェクトデータモデル #InterSystems IRIS 0 0 0 401
記事 Toshihiko Minamoto · 2021年5月12日 12m read インデックスを理解する これは、SQLインデックスに関する2部構成の記事の前半です。 第1部 - インデックスを理解する #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 398
記事 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 397
記事 Hiroshi Sato · 2021年11月11日 3m read InterSystems 製品の設定内容をインポート/エクスポートする方法 これは InterSystems FAQ サイトの記事です。 設定内容によって、方法が異なります。 システム構成について管理ポータルの [システム管理] > [構成] 以下の設定については(※1)、パラメータファイル(InterSystems IRISは iris.cpf、Caché/Ensemble/HealthShareは cache.cpf) に格納されます。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 396
記事 Mihoko Iijima · 2020年11月20日 3m read InterSystems 製品を初めて使用する方向け学習コンテンツなど これはInterSystems FAQ サイトの記事です。 現在ご覧いただいている開発者コミュニティの中では、初心者(beginner)タグ があり、下記セルフラーニング用資料/ビデオをご用意しています。ぜひご参照ください。 【はじめての InterSystems IRIS】セルフラーニングビデオ 索引 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み Python から IRIS にアクセスしてみよう! Python の NativeAPI に挑戦 Python から PyODBC を使って IRIS に接続してみよう 【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう! 【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開! ObjectScript クックブック 「ObjectScript」の基本の使い方から、困ったときのヒント集、エラーの読み方などを解説しています。 セルフラーニングビデオ以外にも、過去に開催したウェビナーアーカイブビデオも公開しています👉「開発者向けウェビナー:アーカイブビデオ一覧」 ぜひご参照ください。 #初心者 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 395
記事 Megumi Kakechi · 2023年11月10日 4m read %Net.SSH.Session()で公開鍵と秘密鍵を使用してSFTP接続する方法 SFTPサーバ側で公開鍵と秘密鍵を作成し、それをIRISサーバにコピーして、%Net.SSH.Session() の AuthenticateWithKeyPair() を使用してSFTP接続する一連の手順(サンプル)をご紹介します。 【環境】 SFTPサーバ:CentOS8SFTPクライアント:Windows10 & IRIS2023.1.2SFTP接続用ユーザ:mysftpuser 【手順】 (1) CentOSでSSHの公開鍵と秘密鍵を作成します (今回は、RSA方式、4096bit) ssh mysftpuser@172.18.xx.xx でログインし、以下 mysftpuser として作業します。 #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 391
記事 Toshihiko Minamoto · 2021年11月1日 9m read REST経由でファイル転送しプロパティに格納する - パート2 この連載の第1回目の記事では、「大規模な」チャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームプロパティとしてデータベースに格納する方法について説明しました。 では、そのようなデータとメタデータをJSON形式で格納する方法について見てみましょう。 #REST API #InterSystems IRIS Open Exchange app 0 0 0 389
記事 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 389
記事 Toshihiko Minamoto · 2021年3月1日 6m read IRISのInteroperability機能を使ったWindows共有フォルダでのファイル連携 開発者の皆さんこんにちは。Windows共有しているリモートサーバに出力されたファイルでデータ連携する際、セキュリティ上、資格情報が必要となるケースが良くあるかと思います。いままでCachéで連携していた時には%ZSTARTルーチンや常駐プロセスのルーチンにて「net useコマンド」を実行されていたかと思いますが、IRISではInteroperability機能が使用できますので、前回の記事で作成したビジネスサービスクラスを元に、資格情報を使ってWindows共有フォルダにアクセスできる機能を追加したいと思います。 仕組み ビジネスサービスが起動、停止する際に呼び出されるOnInit()、OnTearDown()メソッドにnet useコマンドを埋め込み、指定されている資格情報を使ってnet useコマンドで共有フォルダへの接続、切断を行います。 #Microsoft Windows #ObjectScript #相互運用性 #InterSystems IRIS 1 0 0 388