記事 Hiroshi Sato · 2021年9月9日 2m read グローバルマッピングをプログラミングで登録する方法 これは InterSystems FAQ サイトの記事です。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 213
記事 Hiroshi Sato · 2021年9月9日 2m read RESTでクロスドメイン制約を回避する方法 これは InterSystems FAQ サイトの記事です。 #REST API #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 435
記事 Toshihiko Minamoto · 2021年9月9日 10m read RDBにおけるEntity-Attribute-Value(EAV)モデル。 グローバル変数はテーブルでエミュレートする必要がありますか? パート1. はじめに この連載の最初の記事では、リレーショナルデータベースのEAV(Entity–Attribute–Value)モデルを見て、それがどのように使用されて、何に役立つのかを確認しましょう。 その上で、EAVモデルの概念とグローバル変数と比較します。 原則として検索する必要のある、フィールド数、または階層的にネストされたフィールドの数が不明なオブジェクトがある場合があります。 #SQL #グローバル #データベース #パフォーマンス #ヒントとコツ #リレーショナルテーブル #非構造化データ #InterSystems IRIS Open Exchange app 0 0 0 1.7K
記事 Mihoko Iijima · 2021年9月7日 3m read Windowsで InterSystems 製品をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。 システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。 1) 管理者(Administrator)でシステムにログインします。 2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。 3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で <InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 379
記事 Toshihiko Minamoto · 2021年9月7日 4m read グラフ作成を行いやすくするために、pButtonsデータをcsvファイルに抽出するには まずはこの記事で手短にこの疑問に回答します。 この連載のパート2には、pButtonsから抽出されたパフォーマンスデータのグラフを含めました。 pButtonsの.htmlファイルからmgstatなどのメトリックを抽出してExcelで簡単にグラフ作成する方法として、カット&ペーストよりも素早く行える方法がないか、オフラインで尋ねられました。 参照: パート2: 収集したメトリックを確認する pButtonsは、収集したデータをWRCに送信して確認しやすくするために、そのデータを1つのhtmlファイルにコンパイルするのですが、 特に24時間などの長い収集時間で実行されるpButtonsの場合は、mgstat、vmstatなどの時間ベースのデータをグラフィック表示にして確認できれば、トレンドやパターンが見やすくなります。 #CSV #システム管理 #パフォーマンス #InterSystems IRIS 0 0 0 154
お知らせ Mihoko Iijima · 2021年9月6日 ★投票開始!★InterSystems Analytics コンテスト2021 開発者の皆さん、こんにちは! 今週は、InterSystems Analytics コンテスト2021 の投票週間です!InterSystems IRIS を使い開発されたベストソリューションに投票お願いします! 🔥 投票はこちらから! 🔥 投票方法については、以下ご参照ください。 #コンテスト #InterSystems IRIS #Open Exchange 0 0 0 61
記事 Mihoko Iijima · 2021年9月5日 1m read 使用中のライセンス情報を取得する方法 これは InterSystems FAQ サイトの記事です。 %SYSTEM.License クラスのメソッド利用すると、ライセンス情報を取得できます(実行時は、$SYSTEM.License.メソッド名() と記述します)。 %SYSTEM.License クラスは、ライセンスユーティリティ用システムオブジェクトです。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 125
記事 Megumi Kakechi · 2021年9月3日 2m read 文字列の中から数値だけを抜き出す方法 これは InterSystems FAQ サイトの記事です。 $ZSTRIPコマンドは、指定された文字列から文字のタイプと文字を削除します。このコマンドを使用することで文字列から数値部分のみを抽出することが可能です。 $ZSTRIP(string,action,remchar,keepchar) 第1引数(string) :対象文字列第2引数(action) :string から削除する対象。アクションコードとマスクコードで構成。第3引数(remchar) :削除する特定の文字を指定。第2引数のマスクコードに含まれない文字も指定可能。【オプション】第4引数(keepchar):削除しない特定の文字を指定。【オプション】 以下はその例です。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 256
記事 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 417
記事 Toshihiko Minamoto · 2021年9月1日 8m read Amazon EKSとIRIS。 高可用性とバックアップ 記事で使用されているすべてのソースコード: https://github.com/antonum/ha-iris-k8s 前の記事では、従来型のミラーリングではなく分散ストレージに基づいて、高可用性のあるk8sでIRISをセットアップする方法について説明しました。 その記事では例としてAzure AKSクラスタを使用しました。 この記事では引き続き、k8sで可用性の高い構成を詳しく見ていきますが、 今回は、Amazon EKS(AWSが管理するKubernetesサービス)に基づき、Kubernetes Snapshotに基づいてデータベースのバックアップと復元を行うためのオプションが含まれます。 #AWS #DevOps #クラウド #コンテナ化 #デプロイ #バックアップ #高可用性 #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 446
記事 Megumi Kakechi · 2021年9月1日 1m read SQL文ではなくユーザコードでクラスクエリを記述する方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品のクラスクエリにはSQL文を利用する方法と、ユーザコードによる記述が選択できます。 スタジオメニューの [クラス] >[追加] > [クエリ] を選択すると、クエリウィザードが起動します。 画面に、「実装」を選択する項目があり、「このクエリはユーザコードで定義されている」を選択すると SQL文ではなく、ユーザコードによりクエリ定義が行えます。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 318
記事 Hiroshi Sato · 2021年8月31日 2m read Linux で InterSystems IRIS をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Linux上では、以下の手順で InterSystems IRIS (以降IRIS)のインスタンスを削除してください。 (1) アンインストールしたい IRIS のインスタンスを iris stop で停止 # iris stop インスタンス名 (2) 以下のコマンドでインスタンス情報を削除 # iris delete インスタンス名 (3) IRIS のインストールディレクトリを rm コマンドで削除 # rm -r インストールディレクトリ IRISは、インストール先のディレクトリのほかに、以下の(a)(b)も使用しています。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 499
記事 Hiroshi Sato · 2021年8月31日 1m read 既存のネームスペースで、Interoperability機能を有効にする方法 これは InterSystems FAQ サイトの記事です。 ネームスペースを作成後にInteroperability機能を有効にするには、%EnsembleMgrクラスのEnableNamespaceメソッドを使用します。 do ##class(%EnsembleMgr).EnableNamespace() #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 131
記事 Mihoko Iijima · 2021年8月31日 5m read ジャーナルファイルが長時間消されずに残ってしまう原因 これは InterSystems FAQ サイトの記事です。 24時間停止しないシステムの場合、「ジャーナルファイルの削除設定」に合わせて 0時30分 に古いジャーナルファイルを削除します。 「ジャーナルファイルの削除設定」より古いジャーナルファイルが残っている原因として、オープンされたままのトランザクションが存在していることが考えられます。 その場合、トランザクション実行中プロセスを探し、トランザクションを確定させることでジャーナルファイルを削除できるようになります。 以下のサンプルは、オープンされたままのトランザクションの存在確認と、存在する場合は対象ファイル名とジャーナルレコード情報が出力されます。 (サンプルは、https://github.com/Intersystems-jp/CheckOpenTransaction からダウンロードできます) #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 163
記事 Toshihiko Minamoto · 2021年8月31日 12m read Webをデバッグする - パート2 最初の記事では、Caché Webアプリケーションのテストとデバッグを外部ツールを用いて行うことについて説明しました。 2回目となるこの記事では、Cachéツールの使用について説明します。 以下について説明します。 CSP GatewayとWebappの構成 CSP Gatewayのロギング CSP Gatewayのトレース ISCLOG カスタムロギング セッションイベント デバイスへの出力 #デバッグ #フロントエンド #Caché 0 0 0 317
記事 Hiroshi Sato · 2021年8月30日 1m read 【IRIS】サーバーを移行する際にコピーが必要な設定情報 これは InterSystems FAQ サイトの記事です。 何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。 以下の設定情報を移行できます。 iris.cpf SQLゲートウェイ設定 Webゲートウェイ設定 *注1 IRISSYSデータベースに保存しているユーザー作成ルーチンなど *注2 セキュリティ設定 タスク設定 注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。注2 ^%ZSTART, ^ZMIRRORルーチンなど 優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 171
記事 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 250
記事 Megumi Kakechi · 2021年8月26日 2m read クラス定義のコンパイルで、「エラー #5368:クラス名 のオブジェクトが、1プロセスでインスタンス化されています。」のエラーが出ます これは InterSystems FAQ サイトの記事です。 こちらは、コンパイル時に既にそのクラスのインスタンスを開いている場合に起こるエラーです。 対処方としては以下の2つの方法があります。 インスタンスを開いているプロセスまたはアプリケーションを終了する スタジオのビルドメニュのコンパイルオプション:コンパイルフラグ “使用中のクラスをコンパイル” をチェックしコンパイルを行う インスタンス化しているプロセスを特定したい場合は、以下のサンプルルーチンをお試しください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 130
お知らせ Mihoko Iijima · 2021年8月26日 テクノロジーボーナス詳細:InterSystems IRIS Analytics コンテスト 2021 開発者の皆さん、こんにちは! InterSystems Analytics コンテストのテクノロジーボーナスが発表されました! Adaptive Analytics (AtScale) キューブの使用- 4 ポイントInterSystems Adaptive Analytics では、分析ソリューションに AtScale キューブを作成して使用するオプションを提供しています。 今回、コンテスト用に準備した AtScale サーバ(URLと認証情報は Discord チャンネルで確認できます)にあるキューブを使用するか、JDBC 経由で IRIS サーバに接続し、新しいキューブを作成することもできます。 AtScale を使用した Analytics ソリューションの可視化レイヤでは、Tableau、PowerBI、Excel、Logi を利用することができます。 Adaptive Analytics のドキュメント/AtScale documentation オンラインラーニング(InterSystems IRIS Adaptive Analytics Essentials) #Adaptive Analytics #コンテスト #分析 #InterSystems IRIS #InterSystems IRIS BI (DeepSee) 0 0 0 71
記事 Toshihiko Minamoto · 2021年8月25日 7m read Webをデバッグする この記事では、Caché Webアプリケーション(主にREST)のテストとデバッグを外部ツールを用いて行うことについて説明します。 パート2では、Cachéツールの使用について説明します。 サーバー側のコードを作成したのでクライアントからテストしたい、またはすでにWebアプリケーションが存在するが機能していない― そういったときに使用できるのがデバッグです。 この記事では、最も使いやすいツール(ブラウザ)から最も包括的なツール(パケットアナライザー)までを説明しますが、まずは、最も一般的なエラーとその解決方法について少し説明します。 #CSP #REST API #SOAP #デバッグ #フロントエンド #Caché 0 0 0 1.3K
記事 Megumi Kakechi · 2021年8月25日 2m read リレーションシップの処理中に大量メモリが使用されてしまう場合の対処法について これは InterSystems FAQ サイトの記事です。 リレーションシップが設定されており 1対n の n が多量の場合、そのリレーションシップの順次処理などで大量のメモリ消費となるケースがあります。 プログラムの中で多側オブジェクトを参照し内部的にスウィズル処理した後には、そのOREFを含む変数の解放(削除、他の値の設定など)だけでは、その多側オブジェクトとリレーションシップオブジェクトが解放されないことが原因です。 それらを完全にメモリから解放するためには、OREF変数の解放とRelationshipオブジェクトの%UnSwizzleAt<%Library.RelationshipObject >メソッドの実行による明示的なメモリ解放が必要です。 - 使用例 - #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 6 0 218
記事 Hiroshi Sato · 2021年8月24日 2m read 【IRIS】JavaからInterSystemsIRISにアクセスするサンプル これは InterSystems FAQ サイトの記事です。インターシステムズでは、お客様のペースで学ぶことができる柔軟でユーザセントリックな教育サービスを提供しています。ラーン&プレイ InterSystems オンラインラーニングにご登録いただくと、Java から InterSystems IRISにアクセスする様々なサンプルをご利用いただけます。 Java のサンプルは、オンラインラーニングの以下のページでご紹介しています(英語のみ)。Welcome to the Java QuickStart! #Java #JDBC #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 204
記事 Toshihiko Minamoto · 2021年8月24日 8m read AWS Lambda の IRIS Python Native API IRIS ソリューションを Amazon Web Services エコシステム、サーバーレスアプリケーション、または boto3 を使用した Python スクリプトにスムーズに統合する方法を探している場合は、IRIS Python Native API を使用するのが最適です。 IRIS で何かを取得したり設定したりしてアプリケーションに素晴らしい機能を備える必要があるまで、本番の実装を大々的に構築する必要はありません。したがって、誰かにとって重要なものまたはあなた以外にはまったく重要でないもの(これも同じくらい重要なことです)を構築できるようにこの記事が役に立てればと思います。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 285
お知らせ Mihoko Iijima · 2021年8月23日 ★受賞者発表!★第1回 InterSystems 技術文書ライティングコンテスト 開発者の皆さん、こんにちは! 第1回 InterSystems 技術文書ライティングコンテスト が終了し、23 の素晴らしい記事🔥が掲載されました! 初開催の技術文書ライティングコンテストへご参加いただいた皆様、ありがとうございました! この記事では、受賞作品をご紹介します! #コンテスト #開発者コミュニティ公式 0 0 0 58
記事 Mihoko Iijima · 2021年8月23日 1m read 管理ポータルの InterSystems IRIS Business Intelligence 用メニュー:Analytics(または DeepSee)関連ページを開くとエラーになる場合の対処方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS Business Intelligence 用メニューの Analytics(または DeepSee)を使用するためには、使用するネームスペース用ウェブアプリケーションパスを Analytics(またはDeepSee)に対応するように設定変更する必要があります。 詳細については以下のドキュメントをご参照ください。 【IRIS】InterSystems IRIS Business Intelligence の Web アプリケーション設定について 【2015.1~2018.1】DeepSee の Web アプリケーション設定について 【~2014.1】%CSPページへのアプリケーション・アクセスの制御について/特殊なケース: DeepSee #ヒントとコツ #分析 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 113
記事 Mihoko Iijima · 2021年8月23日 4m read データベースファイルのサイズを圧縮する方法 これは InterSystems FAQ サイトの記事です。 ※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。 Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 842
記事 Toshihiko Minamoto · 2021年8月18日 13m read InterSystems IRISで階層型データを使用するためのPHPモジュール PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。 グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。 #API #Code Snippet #SOAP #キーバリュー #クラウド #Caché #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange #その他 Open Exchange app 0 0 0 139
記事 Makiko Kokubun · 2021年8月18日 1m read 動画:InterSystems IRIS データプラットフォーム概要 *この動画は、2021年2月5日に開催したウェビナーのアーカイブです。 InterSystems IRIS data platform は、拡張性に優れ、相互運用性、分析機能を備えたアプリケーション開発のためのデータプラットフォームです。この動画では、これからインターシステムズのデータプラットフォーム製品をお使いになる開発者の方を対象に、その特徴を20分でご紹介します。 https://www.youtube.com/embed/SqPfBDqps8I[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] このような方を対象としています。 #Webセミナー #初心者 #InterSystems IRIS 1 0 0 111
質問 Yuji Ohata · 2021年8月17日 $SYSTEM.OBJ.ImportDir()利用時のSourceControlの利用について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 スタジオ以外でSourceControlを利用されている方がいれば教えてください。 現在SourceControlを用いて、コンパイル前に自動コードレビュー(静的解析)を行うような仕組みを構築しております。実際にスタジオやVSCodeでの保存時には、上記の仕組みが動作しソースチェックが行われるのですが、clsの一括取り込みを行おうと『$SYSTEM.OBJ.ImportDir()』を実行した際にはSourceControlが動作していないように見えております。 以下のような形でメソッド実行しているのですが、オプション等の不備になるのでしょうか? > Do $SYSTEM.OBJ.ImportDir("ファイルが存在するパス","*.cls;*.mac;*.int;*.inc;*.dfi","ck",,1) #ObjectScript #InterSystems IRIS 0 2 0 150
記事 Toshihiko Minamoto · 2021年8月16日 22m read XSLT を使った docx の解析 Office ドキュメント(docx ドキュメント、xlsx 表計算、pptx プレゼンテーション)を処理するタスクは非常に複雑です。 この記事では、XSLT と ZIP のみを使用してドキュメントを解析、作成、および編集する方法を紹介します。 このトピックを記事にしたのは、 docx が最も一般的に使用されているドキュメント形式であり、この形式を生成して解析する機能は必ず役に立つからです。 「既製ライブラリ」によるソリューションでは、次の理由により面倒になる可能性があります。 ライブラリが存在しない プロジェクトに別のブラックボックスは必要ない ライブラリの制限: プラットフォーム、機能など ライセンス 処理速度 この記事では、基本ツールのみを使用して、docx ドキュメントを操作します。 #XML #Caché 0 0 0 1.3K