記事 Megumi Kakechi · 2023年2月2日 2m read 並列クエリについて(%PARALLEL) これは InterSystems FAQ サイトの記事です。 クエリパフォーマンスを最適化するための方法の一つとして、クエリ単位またはシステム全体でクエリの並列処理を使用することができます(標準機能)。 こちらは、特定のクエリに対しマルチプロセッサシステムでクエリの実行をプロセッサ間で分割して行うものです。並列処理の効果が得られる可能性がある場合のみ、クエリオプティマイザは並列処理を実行します。並列処理の対象はSELECT文のみとなります。 なお、並列プロセスの数は、CPUの数に応じて自動で調整するため、数の指定は行えません。現在のシステムのプロセッサ数は以下のコマンドで確認することができます。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 177
記事 Toshihiko Minamoto · 2023年1月31日 1m read Chat GPTを使う 皆さん、こんにちは。 最近話題のChat GPTですが、試しに使ってみました(今更かもしれませんが)。 ObjectScriptを知っているみたいです なので、 と質問すると、 #ObjectScript #InterSystems IRIS 5 0 0 351
記事 Toshihiko Minamoto · 2023年1月31日 10m read セキュリティパッケージのREST API 開発者の皆さん、こんにちは! この記事では、IRIS Security Package 用 REST API をセットアップする方法を学習します。 簡単な HTTP リクエストによって、ユーザー、役割、アプリケーションの追加などを作成し、ObjectScript でクライアントアプリケーションを生成できるようになります。 必要条件 必要なのは: IRISインスタンス(インストールキットまたはDocker) ObjectScript package manager (ZPM) ObjectScriptクライアントを生成するための2つ目のIRISインスタンス(オプション) OpenExchangeで既存のアプリケーションとライブラリのセットを使用する予定です。 package manager (ZPM)を使用すると、それらのインストールが非常に簡単になります。 インスタンスに ZPM がない場合は、IRIS ターミナルにこのラインをコピーすることで簡単にインストールすることができます。 #DevOps #REST API #セキュリティ #デプロイ #InterSystems IRIS 0 0 0 199
記事 Megumi Kakechi · 2023年1月30日 8m read セキュリティ設定のエクスポートとインポートに関するTips 以下の2つの方法でセキュリティ設定をエクスポートおよびインポートできます。 - コマンドラインで行う場合は、^SECURITYユーティリティを使用します。- プログラムで行う場合は、SecurityパッケージのExportおよびImportメソッドを使用します。 設定をエクスポートする方法: ◆コマンドラインで設定をエクスポートする方法(^SECURITY) セキュリティの全ての設定、または個々のセクションをエクスポートできます。 ^SECURITYを使用して、すべてをエクスポートする場合: ^SECURITYを使用すると、インスタンスのすべてのセキュリティ設定を簡単にエクスポートまたはインポートできます。ターミナルで %SYS ネームスペースに移動し、^SECURITYを開始します。 #セキュリティ #Caché #InterSystems IRIS 1 0 0 105
記事 Toshihiko Minamoto · 2023年1月24日 4m read ZPM簡単実装クックブック ZPM は、InterSystems IRIS データプラットフォーム用のアプリケーションやモジュールと連携するように設計されています。モジュールを管理するためのCLIであるZPN Clientと、モジュールやメタ情報のデータベースであるThe Registryの2つのコンポーネントで構成されています。ZPM を使用して、モジュールの検索、インストール、アップグレード、削除、公開を行うことができます。ZPMを使用すると、ObjectScriptクラス、フロントエンドアプリケーション、Interoperabilityプロダクション、IRIS BIソリューション、IRISデータセット、またはEmbedded Pythonホイールなどのあらゆるファイルをインストールできます。 今日、このクックブックは3つのセクションについて説明します。 ZPMのインストール モジュールの作成 Registry内のモジュールの検索、インストール、公開 #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 85
記事 Toshihiko Minamoto · 2023年1月16日 7m read Embedded Python テンプレート 開発者の皆さん、こんにちは! InterSystems IRIS で embedded python を使用する一般的なプロジェクトの出発点として推奨できる、最小限の embedded python テンプレート をご紹介しましょう。 特徴: Embedded python対応 Embedded Pythonの3つの開発方法の例 VSCode開発対応 Dockerが利用可能 オンラインデモが可能 ZPM First開発対応。 以下、その特徴について説明しましょう。 #Embedded Python #開発環境 #InterSystems IRIS #VSCode Open Exchange app 3 0 0 132
記事 Megumi Kakechi · 2022年10月26日 2m read IRIS が起動時に必要とするポート これは InterSystems FAQ サイトの記事です。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 373
記事 Mihoko Iijima · 2023年1月5日 14m read システムモニタを利用して特定の条件に合う時にメッセージログ(コンソールログ)に情報を出力する方法 これは InterSystems FAQ サイトの記事です。 システムモニタの中の「アプリケーションモニタ」を利用することで、ユーザが定義した特定の監視対象に対してチェックを行い特定の条件に合致した場合に通知を行ったり、メッセージログ(コンソールログ)に情報を出力したり、ユーザが定義するアクションを指定できます。 <メモ>アプリケーションモニタはインストールにより準備されますが、ユーザが付属のアプリケーション・モニタ・クラスを有効化するまで動作しないモニタです。付属のアプリケーションモニタには、監査のカウントやイベント詳細を収集するもの、ディスクの容量を監視するものなどが含まれます。 #システム管理 #ヒントとコツ #監視 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 132
記事 Toshihiko Minamoto · 2022年12月31日 5m read YASPE (Yet Another System Performance Extractor) jp YASPEはYAPE(Yet Another pButtons Extractor)の後継機種です。YASPEは、メンテナンスと拡張を容易にするために、多くの内部変更を行い、一から書き直しました。 YASPEの機能は以下の通りです。 「InterSystems Caché pButtons」 および 「InterSystems IRIS SystemPerformance」 ファイルを解析してグラフ化し、オペレーティング・システムおよび IRIS のメトリックを迅速にパフォーマンス解析します。 アドホックチャートを作成したり、「Pretty Performance」オプションでOperating SystemとIRISの指標を組み合わせたチャートを作成することで、より深く掘り下げることが可能です。 「System Overview」 オプションを使用すると、システムの詳細や一般的な設定オプションについて SystemPerformance ファイルを検索する手間を省くことができます。 YASPEはPythonで書かれています。ソースコードはGitHubで公開されており、Dockerコンテナ用には以下で公開されています。 https://github.com/murrayo/yaspe #システム管理 #ツール #パフォーマンス #Caché #InterSystems IRIS 1 0 0 74
記事 Toshihiko Minamoto · 2022年12月21日 7m read Django 入門 パート 3 Django の可能性と IRIS の使用方法を引き続き観察しています。 初めにモデルの定義方法と、IRIS に存在しているテーブルへの接続方法を確認し、次に組み込みの Django 管理ポータルを拡張して、モデルに含まれるデータの表示、フィルタ、編集、そしてページネーションの機能を追加しました。 では、実際の動作を確認しましょう。posts-and-tags パッケージで使用したデータで Django に REST API を作成します。 それには、Django REST Framework を使用します。 Django REST Framework は、Web API を構築するための強力で柔軟性を備えたツールキットです。 REST Framework の使用を推奨するのには、以下のような理由があります。 Web で閲覧可能な API には、開発者のユーザビリティにおいて大きなメリットがあります。 OAuth1a と OAuth2 の認証ポリシーを含むパッケージ ORM と非 ORM データソースの両方をサポートするシリアル化 すべてをカスタマイズ可能。強力な機能が必要なければ、通常の関数ベースのビューを使用できます。 詳細なドキュメントと優れたコミュニティサポート Mozilla、Red Hat、Heroku、Eventbrite など、世界的に有名な企業が使用・信頼 #Embedded Python #Python #InterSystems IRIS Open Exchange app 0 0 0 228
記事 Toshihiko Minamoto · 2022年12月21日 8m read Kubeless を使って FasS モードで InterSystems IRIS を実行する FaaS(Function as a Service)は、アプリケーションの機能を開発、実行、および管理するプラットフォームを提供するクラウドコンピューティングサービスのカテゴリです。アプリの開発と起動に一般的に関連するインフラストラクチャの複雑な構築や保守がありません。 このモデルに従ったアプリケーションの構築は、「サーバーレス」アーキテクチャを実現する方法の 1 つであり、通常、マイクロサービスアプリケーションを構築する際に使用されています。 Wikipedia FaaS は、クラウドでワークロードを実行するための非常に一般的なアプローチで、開発者はコードを書くことに専念することができます。 この記事では、InterSystems IRIS のメソッドを FaaS 方式でデプロイする方法を説明します。 #Docker #クラウド #InterSystems IRIS 1 0 0 70
InterSystems公式 Toshihiko Minamoto · 2022年12月20日 6m read Apache Webサーバインストール廃止に関する FAQ 概要 Global Summit 2022 で発表しました通り、Apache ベースの Web サーバ (プライベート Web サーバまたは PWS と呼ばれることが多い) の出荷、インストールを中止します。現在のところ、InterSystems IRIS 2023.1 から中止する予定です。 #InterSystems IRIS #InterSystems公式 0 0 0 286
InterSystems公式 Toshihiko Minamoto · 2022年12月20日 4m read Apache Webサーバ(プライベートWebサーバ: PWS)インストレーションの廃止 Global Summit 2022 で発表しました通り、Apache ベースの Web サーバ (プライベート Web サーバまたは PWS と呼ばれることが多い) の出荷、インストールを中止します。現在のところ、InterSystems IRIS 2023.1 から中止する予定です。 この新しいアプローチにより、目的に最も適した Web サーバを選択し、その設定や保守、更新を自由に実施することが可能となります。この変更による主な利点は、特にセキュリティ脆弱性において重要な修正について、インターシステムズ からのキットのアップデートを待つことなく、最新バージョンを入手できるようになることです。インターシステムズは、Apache または IIS の構成に役立つツールを提供します。(InterSystems IRIS Community Edition では、PWS を引き続きインストールすることに注意してください)。 Web サーバのインストールは一般的なプロセスであり、通常は簡単です。また、さまざまな Web サーバ・ベンダによって文書化されています。 #InterSystems IRIS #InterSystems公式 0 0 0 223
記事 Toshihiko Minamoto · 2022年12月16日 6m read IRIS IntegratedML を使用した母体リスクを予測する Web アプリ 母体リスクは、医学界でよく知られているいくつかのパラメーターから測定できます。 この測定により、医学界とコンピューター化されたシステム(特に AI)を支援すべく、科学者である Yasir Hussein Shakir は、母体リスクの検出/予測における ML アルゴリズムをトレーニングするための非常に便利なデータセットを公開しました。 このデータセットは、ML の最大級のデータリポジトリとして最もよく知られている Kaggle に公開されています。 https://www.kaggle.com/code/yasserhessein/classification-maternal-health... #AI #IntegratedML #InterSystems IRIS Open Exchange app 0 0 0 81
記事 Toshihiko Minamoto · 2022年12月8日 5m read InterSystems IRIS における一意のインデックスと null 値 一意のインデックスにまつわる興味深いパターンが最近持ちあがったので(isc.rest に関する内部ディスカッション)、コミュニティ向けに強調したいと思います。 動機付けのユースケースとして: ツリーを表すクラスがあるとします。各ノードには名前があるため、名前と親ノードでノードを一意にしたいと考えています。 各ルートノードにも一意の名前を持たせます。 この場合の自然な実装は以下のようになります。 #SQL #インデックス付け #Caché #InterSystems IRIS 0 0 0 173
記事 Megumi Kakechi · 2022年12月1日 4m read ライセンスサーバでライセンスを一元管理する方法 複数のインスタンス間でライセンスを共有する際に、ライセンスサーバを立ててライセンスの使用量を管理します。IRISライセンスサーバには、ライセンスの使用量管理に加えて便利な新しい機能が追加されました。 -- ライセンスサーバでできること --1. マルチサーバライセンス(共有ライセンス)の統合管理(使用量の管理)2. 各インスタンスへのライセンスキーの配布・管理【New】 1 は従来からのライセンスサーバの機能で、関連記事 にて機能紹介をしております。 2 はIRIS以降使用できるようになった新しい機能です。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 190
記事 Megumi Kakechi · 2022年12月1日 5m read 複数インスタンスでライセンスを共有する場合に必要な設定 これは InterSystems FAQ サイトの記事です。 複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。 1. ライセンスサーバの構成 1) ライセンスキーの配置 ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの <インストールディレクトリ>/mgr に配置してください。 ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 333
記事 Megumi Kakechi · 2022年11月28日 2m read IRIS SQLでは OFFSET/LIMIT句のような機能をサポートしていますか? Question: IRISでは、PostgreSQLやMySQLで使うことができる、開始位置や取得件数を指定する OFFSET句やLIMIT句をサポートしているでしょうか? Answer: 残念ながらサポートしていません。ただ、代わりに使える同様の方法がありますのでご紹介します。 以下のようなSQLクエリをIRIS SQLで行うとします。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 237
記事 Megumi Kakechi · 2022年11月22日 2m read (管理ポータルで行う)リンクテーブルをプログラムで行う方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS では、管理ポータルの [システムエクスプローラ] > [SQL] : ウィザード > リンクテーブルで行うリンクテーブルの作成をコマンドで行うことが可能です。 リンクテーブルの作成には、%SYSTEM.SQL.Schema クラスの CreateLinkedTable メソッドを使用します。詳細は、クラスリファレンスをご覧ください。 実行は以下のように行います。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 224
記事 Toshihiko Minamoto · 2022年11月8日 9m read Django 入門 パート 2 パート 1 では、Django で新しいプロジェクトを開始する方法を紹介し、新しいモデルの定義方法と既存のモデルの追加方法を説明しました。 今回は、初期状態で利用可能な管理者パネルとどのように役立つかについて説明します。 _重要な注意事項: この記事のアクションを繰り返しても、動作しません。 記事の途中で、django-iris プロジェクトにいくつか修正を行い、InterSystems が作成した DB-API ドライバーの課題もいくつか修正しました。このドライバーは現在の開発中であり、将来的に、より安定したドライバーが提供されると思います。 この記事では、すべてを実行した場合にどのようになるかを説明しているにすぎません。_ #Python #InterSystems IRIS 0 0 0 151
記事 Megumi Kakechi · 2022年11月3日 1m read IRISという製品名を選んだのはなぜですか? これは InterSystems FAQ サイトの記事です。 Question: IRISという製品名を選んだのはなぜですか? Answer: IRISは、インターシステムズの製品開発者がソフトウェアを開発する際に常に念頭に置くべき以下の4つの原則の先頭文字を表しています。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 137
記事 Mihoko Iijima · 2022年10月27日 1m read コンテナ版IRISのコンテナにrootユーザでログインする方法 これは InterSystems FAQ サイトの記事です。 コンテナログイン時、-u オプションで root を指定することでログインできます。 docker exec -it -u root コンテナ名 bash #Docker #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 98
記事 Toshihiko Minamoto · 2022年10月25日 8m read 組み込み Python におけるグローバルの使用 私が一番興味を持っているのは、組み込み Python におけるグローバルの使用についてです。そこで、提供されている公式ドキュメントを確認しました。 #1 グローバルの導入グローバルとは何かについての一般的な説明。 次の章につながっています。 #2 ObjectScript の詳細について組み込み Python の記述はありません。さらに先に進むと... #Embedded Python #Python #グローバル #InterSystems IRIS 1 0 1 209
記事 Mihoko Iijima · 2022年10月19日 1m read VSCode:クラスメソッド実行文をワンクリックでコピーできるようになりました!(VSCode:ObjectScriptエクステンション) 開発者の皆さん、こんにちは! ターミナルでクラスメソッドを実行するとき、パッケージ名やクラス名などの入力候補が出てこないので、 ##class(パッケージ名.クラス名).メソッド名() の記述をミスったりちょっと面倒だな・・と感じること、ありませんか??(第1回 InterSystems Idea-A-Thon(アイデアソン) でも、もっとシンプルに呼び出せるようにしよう!のアイデアが投稿されていたようです。) (私も含めて)そんな方に、朗報です!📣 #ObjectScript #ターミナル #ヒントとコツ #InterSystems IRIS #VSCode Open Exchange app 2 0 0 291
記事 Toshihiko Minamoto · 2022年10月19日 9m read Django 入門 パート 1 しばらく前、IRIS 用 Django の新しいドライバーを導入しました。 そこで実際に、IRIS で Django を使用する方法を見てみましょう。 #Python #InterSystems IRIS Open Exchange app 0 0 0 304
記事 Hiroshi Sato · 2022年10月14日 2m read CachéでCache Directエミュレータを使っているアプリケーションをIRISのCache Directエミュレータに書き換える方法 IRISでは.Net Binding機能が非推奨になったため、VisM.OCXの置き換えのために用意していたCaché版Cache Directエミュレータ(.Net Binding機能を使用していたため)の使用も非推奨となりました。そこでIRISのNative API機能を使用して書き換えたものを作成し、OpenExchange(以下のFAQトピックを参照してください)に登録しています。 FAQのトピック Caché版Cache Directエミュレータを使っているアプリケーションをIRISに移行するためには、IRIS用のCache Directエミュレータに置き換えて、アプリケーションのコードをいくつか書き換える必要があります。 内容は、それぞれのプロジェクトに含まれるコンソールアプリケーションサンプル(consoleApp.cs)を比較することで大体理解できると思いますが、以下にその手順について説明します。 #.NET #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 1 0 0 222
記事 Megumi Kakechi · 2022年10月13日 4m read デプロイモードで別環境にプログラムを配布する方法 以下、デプロイモード(配置モード)でプログラムを配布する方法を2つご紹介します。 ① DB内のソースコードをデプロイモードでエクスポートする方法 ② ソースコード用DBを用意してIRIS.datごとデプロイモードにする方法 ①は、プログラムのみデプロイモードでエクスポート/インポートできるので、初回システム構築時はもちろん、プログラムの修正が発生した時などソースの一部のみエクスポートすることも可能となります。②は、IRIS.dat ごとデプロイするので初回システム構築時に IRIS.dat のみ配置すればよく手順が単純です。 クラスがデプロイモードになると、そのクラスのメソッドとトリガのソースコードは削除されます。クラスがデータ型クラスである場合、クエリキャッシュによって実行時にメソッド定義が必要になる可能性があるために、メソッド定義が保持されるのでご注意ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 159
記事 Toshihiko Minamoto · 2022年10月11日 2m read python openpyxl ライブラリを使用して IRIS クエリを Excel ファイルにエクスポートするためのモジュール 皆さん、こんにちは。 このプロジェクトをコンテストに応募します。 エクスポートモジュールは、多くのプロジェクトに不可欠であり、通常、本番サーバーにて使用されています。 属性初期化モジュールの呼び出しにて、さまざまなシナリオを実装しました。GCR で実証する多くの追加プロジェクトによる最大化と、本番インスタンスにネイティブにインストールするための最小化の両方です。 #ツール #InterSystems IRIS Open Exchange app 0 0 0 135
記事 Megumi Kakechi · 2022年10月6日 4m read メッセージログ(messages.log) のログ深刻度が 2 以上でメールを送るようにする方法 Caché/Ensemble 時代からご使用のお客様にはなじみの機能だと思いますが、IRISには「システムがインスタンスのメッセージログ/messages.log(Cachéの場合は コンソールログ/cconsole.log) を監視し、ログ・レベル2(重大なエラー) 以上 のアラートを受け取るとメールを送信する」ログ・モニター機能があります。この機能を使用すると、アラートログ (alerts.log)へのログ書き込み管理のほかに、メールを送信することもできます。 メール送信の設定は、^MONMGR ユーティリティを使用して簡単に行えます。 以下に、サンプルをご案内します。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 204
記事 Toshihiko Minamoto · 2022年10月5日 4m read Djangoへようこそ IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。 Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。 #Embedded Python #Python #フレームワーク #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 225