記事 Mihoko Iijima · 2月 19, 2021 2m read

これは InterSystems FAQ サイトの記事です。

Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。

IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。

通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。

その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。

その後、ガベージコレクタというシステムプロセスに起動がかかり、その指示されたポイントから大量データの削除に伴う領域の開放処理をバックグラウンドで処理していきます。

つまり、論理的な削除は、一瞬で終わるが、実際の物理的な削除は、遅延して行われる仕組みとなります。

このような仕組みをガベージコレクションと呼んでいます。

0
0 142
記事 Mihoko Iijima · 2月 19, 2021 1m read

これは InterSystems FAQ サイトの記事です。

インターシステムズは、個々の仮想化ソフトウェアに対して、弊社製品の動作検証は行なっておりません。

インターシステムズでは、弊社製品がサポートするプラットフォームをサーバプラットフォームという単位で定義しています。

サーバプラットフォームは、オペレーティングシステムとそのバージョン、およびそのオペレーティングシステムが動作するプロセッサタイプの 3 つの要素で定義されます。

従いまして、ある仮想ソフト上で InterSystems 製品がサポートしているサーバプラットフォームが稼動し、その上で InterSystems 製品が動作している限りにおいて、製品のサポートを提供します。

0
0 110
記事 Megumi Kakechi · 2月 18, 2021 3m read

jQuery($.getJSON と $.ajax)を使用した InterSystems IRIS データのJSON形式での取得方法をご紹介します。

以下にサンプルをご用意しました。

https://github.com/Intersystems-jp/REST_JSON_sample


サンプルには、次の内容が含まれます。

・REST + JSON
・REST + CORS

※それぞれ、$.getJSON と $.ajax で取得する方法を記載しています。

※サーバ側ではSelect文の実行結果をJSON_OBJECT関数を使用しJSON文字列で出力しています。
 関数については以下のドキュメントをご覧ください。
 JSON_OBJECT関数


使用手順は以下になります。

0
0 612
お知らせ Makiko Kokubun · 2月 18, 2021

開発者のみなさん、こんにちは!

2/16-2/18に開催しましたインターシステムズの年次カンファレンス「InterSystems Japan Virtual Summit 2021」のオンデマンド配信を開始しました。3/19(金)までご視聴いただけます。

⚡️ ご視聴はこちらから ⚡️

テーマは「データプラットフォーム最前線 ニューノーマル時代に求められるアジリティとレジリエンス」です。
InterSystems IRIS 、IRIS for Health の最新技術情報を多くのセッションを通してお届け致します。ぜひご視聴ください。*本セミナーは日本語での開催となります。

オンデマンド配信プログラム

  • 基調講演:適応力と柔軟性を高めるデータプラットフォームの最新情報について(2月16日ライブ配信)
0
0 146
InterSystems公式 Toshihiko Minamoto · 2月 18, 2021

InterSystems API Manager(IAM) バージョン1.5がリリースされました

 

以前のバージョンからアップグレードできるIAMコンテナはWRCソフトウェア配布サイトのComponents areaからダウンロードすることができます。

 

ビルド番号はIAM 1.5.0.9-4 です。

 

InterSystems API Manager 1.5 ではAPIトラフィックの管理や、環境とAPI利用者の統合がさらに簡単になりました。新機能は以下の通りです。

 

  • ユーザエクスペリエンスの改善
  • 新たな開発者ポータル
  • Kafka connectivityのサポート
  •  

    このリリースは、Kong Enterprise バージョン 1.5.0.9 をベースにしています。これまでのIAMリリースにはKong Enterpriseのホワイトラベルバージョンが入っていましたが、このリリースではホワイトラベルなしバージョンが入っています。この変更で、より頻繁にリリースすることができ、 Kongの提供するドキュメントやその他の資産を効果的に活用できるようになりました。

     

    IAM 1.5のドキュメントはこちらです。このドキュメントはIAM固有の部分のみカバーしています。製品のドキュメントからユーザは直接 Kong Enterpriseのドキュメントを参照できます。

     

    0
    0 159
    記事 Toshihiko Minamoto · 2月 18, 2021 9m read

     古くなった MUMPS アプリケーションの新たな生命を吹き込みたいとお考えでしたら、以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

    今回ご紹介する例には、パート 1 ではカバーしなかった内容を 4 つないし 5 つ程度盛り込んでいます。 

    その後は親子マッピングの例を紹介して完結となります。それを修得したらマッピングはもう完璧でしょう。

    前回と同じ免責事項:  これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。 

    グローバルをクラスにマッピングするステップ。

    0
    0 312
    お知らせ Toshihiko Minamoto · 2月 17, 2021

    皆さん、こんにちは!

    InterSystems のグローバルマスターズ・アドボケート・ハブがディベロッパーコミュニティ (DC) と緊密につながっていることは、皆さんご存知ではないでしょうか。 DC に何らかの貢献をされると、グローバルマスターズのポイントを獲得できます。 

    そこで、 グローバルマスターズでポイントを獲得するベストな方法について簡単なガイドを作成しました。

    2021/3/19: 投稿や翻訳に関するポイントが改定されましたので、修正しています。記事の投稿で得られるポイントはローンチ期間限定です。

    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        開発者コミュニティへの記事の投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px"><strong>400<sup>※</sup></strong></p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        最初のコメント<br />コメントごと
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">300<br />30</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        最初に受け入れられた回答<br />受け入れられた回答ごと<br />5 / 10 / 25 / 50 回目の受け入れられた回答
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">1000<br />150<br />4,000 / 8,000 / 20,000 / 40,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        開発者コミュニティの記事を翻訳
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px"><strong>100</strong></p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        1 / 5 / 10 / 25 / 50 回目の記事を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">1,500 / 7,500 / 15,000 / 40 000 / 75 000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
         1 / 5 / 10 / 25 / 50 回目の質問を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
       <p style="text-align:right; margin-right:14px">500 / 2,000 / 5,000 / 15,000 / 30,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        OpenExhangeにアプリケーションを登録<br />ZPMアプリのボーナスポイント<br />1 / 5 / 10 / 25回目のアプリ登録
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">800<br />400<br />1,000 / 10,000 / 25,000 / 75,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        投稿した記事の閲覧数が 750以上 / 2,000 以上 / 5,000 以上 / 15,000 以上
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">600 / 2,500 / 7,000 / 20,000 </p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        開発者コミュニティの記事を読む<br />ビデオを見る<br />SNSで記事やビデオを共有
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
       <p style="text-align:right; margin-right:14px"> 10<br />20<br />40</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
       ベストプラクティスタグの付与された記事が1 / 2 / 3 / 4 / 5 件
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
       <p style="text-align:right; margin-right:14px"> 1,000 / 3,000 / 7,000 / 10,000 / 15,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        Open Exchangeに登録したアプリが 50 / 100 / 250 / 500 / 1,000 回ダウンロード
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">2,500 / 5,000 / 7,500 / 12,500 / 25,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        InterSystems や InterSystems 製品 に関するレビュー記事を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">2,000 ~ 3,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        同僚を開発者コミュニティに招待する
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">600</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        Open Exchange に公開したアプリに関するビデオを作成する
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">3,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td colspan="2" style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        <p style="text-align:right;font-size:8pt">*グローバルマスターズ・アドボケート・ハブへの登録後に掲載された記事・コメントのみ。</a>
      </td>
    </tr>
    

    グローバルマスターズでポイントを獲得する方法

    0
    0 178
    記事 Tomohiro Iwamoto · 2月 16, 2021 19m read

    目的

    CloudFormationの記事は、Linux系のものが多いですが、Windowsでも自動化したいという需要がありそうですので、オリジナル記事を元に、CloudFormationを使用してミラークラスターをWindowsサーバにデプロイする例を実装してみました。また、簡単な実行例も追加しました。
    ソースコード一式はこちらのGitレポジトリにあります。

    更新: 2021年3月1日 ワンライナーで踏み台ホスト経由でWindowsに公開鍵認証する方法を追記しました

    更新: 2022年11月29日 QuickStartの形式に合わせて大幅に変更しました。以前の内容はこちらに保存してあります。

    更新: 2022年12月21日 踏み台ホストの使用を止め、代わりにAWS System Manager(SSM)を有効化しました。プライベートサブネット上のインスタンスへのアクセスが簡素化されます。以前の内容はこちらに保存してあります。

    0
    0 790
    記事 Megumi Kakechi · 2月 15, 2021 7m read

    これは InterSystems FAQ サイトの記事です。
     

    データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。
     

    (1) データベースキャッシュ

    現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。

    Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。

    実行例)

    0
    0 575
    記事 Megumi Kakechi · 2月 15, 2021 4m read

    これは InterSystems FAQ サイトの記事です。


    「特権ルーチンアプリケーション」を使用し、コード中に $system.Security.AddRoles()メソッドを使用してロールを付与する仕組みを利用します。

    ※ロールベースで必要な特権を付与するため、予め特定の特権を持ったロールを作成する必要があります。

    詳細は、以下ドキュメントをご参照ください。
    特権ルーチン・アプリケーション【IRIS
    特権ルーチン・アプリケーションについて


    例えば、特定ルーチン(またはクラスメソッド)実行時のみデータベースの更新を許可するための設定は、以下のとおりです。

    (接続するデータベースに対してはREAD許可だけを持ち、あるルーチン実行時のみデータベースに対するREAD/WRITE許可を持つように設定します。)
     

    1)  データベース:Aのリソース定義を確認する

     データベース:Aのリソースに %DB_%DEFAULT が設定されている場合は、独自リソースを作成します。

     (データベースに割り当てられたリソースの確認は、管理ポータル > [システム管理] > [構成] > [システム構成] > [ローカルデータベース] > リソース で確認できます)

    0
    0 193
    記事 Mihoko Iijima · 2月 12, 2021 3m read

    これは InterSystems FAQ サイトの記事です。

    以下例のクラスメソッド getLatestID() のように ObjectScript のクラスメソッドを用意します。
    返したい値を戻り値に指定し、SQLストアドプロシージャ(SqlProc)キーワードを指定するだけで値が返せます。

    ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
    {
        set latestID=$Order(^ISJ.TestClass1D(""),-1)
        quit latestID
    }

     

    操作を試す場合は、以下のクラス定義をご準備ください。

    Class ISJ.TestClass1 Extends (%Persistent, %Populate)
    {
    Property name As %String;
    
    ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
    {
        set latestID=$Order(^ISJ.TestClass1D(""),-1)
        quit latestID
    }
    }
    0
    0 441
    記事 Mihoko Iijima · 2月 12, 2021 5m read

    これは InterSystems FAQ サイトの記事です。

    XMLファイルの内容を格納する永続クラス定義を作成し、%XML.Adaptor を追加で継承します。

    例は以下の通りです(右端の %XML.Adaptorクラスを追加で継承します)。

    Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.Adaptor)

     

    次に、%XML.Reader クラスを使用して格納先のインスタンスへ、タグとクラスの関連付け(Correlate())を行い、reader.Next() でXMLを取り込みます。

    set sc=reader.OpenFile(filename)
    do reader.Correlate(tag,class)
    while reader.Next(.x,.sc) { do x.%Save() } 

     

    サンプルコードは以下の通りです。

    0
    0 2219
    記事 Toshihiko Minamoto · 2月 11, 2021 27m read

    InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート 

      注意: 本ガイド (特に前提条件のセクション) を理解するには、AWS に関する中級から上級レベルの知識が必要になります。 S3 バケット、EC2 インスタンスの IAM ロール、VPC、サブネットを作成する必要があります。 また、InterSystems バイナリへのアクセス (通常は WRC サイトからダウンロード可) および IRIS のライセンスキーも必要になります。
      2020 年 8月 12日
    Anton Umnikov

    テンプレートのソースコードは、こちらから入手していただけます: https://github.com/antonum/AWSIRISDeployment

    目次

    InterSystems IRIS デプロイガイド – AWS パートナーネットワーク

    はじめに

    前提条件と要件

    所要時間

    製品ライセンスとバイナリ

    AWS アカウント

    IAM エンティティ (ユーザー)

    EC2 の IAM ロール

    S3 バケット

    VPC とサブネット

    EC2 キーペア

    必要な知識

    アーキテクチャ

    マルチ AZ 配置による耐障害性を備えたアーキテクチャダイアグラム (優先)

    シングルインスタンンス、シングル AZ 配置のアーキテクチャダイアグラム (開発およびテスト)

    デプロイメント

    セキュリティ

    0
    0 467
    お知らせ Makiko Kokubun · 2月 9, 2021

    開発者の皆さん、こんにちは!

    InterSystems 開発者コミュニティでは、初めてIRIS を使われる方向けに、IRIS の概要をご紹介するウェビナーを開催致しました。そのウェビナーのアーカイブを公開致しました。

    インターシステムズのデータプラットフォーム製品をご覧になるソフトウェアエンジニアの方向けに、弊社のエンジニアが 約 30分でその特徴をご紹介します。ぜひご覧ください。

    アーカイブ配信はこちらから

    ウェビナー(アーカイブ配信)「InterSystems IRIS データプラットフォーム 概要」

    • 配信時間:23分
    • 無料でご視聴頂けます。

    アーカイブはこちら(ON24を使用しています)
    https://event.on24.com/wcc/r/2982378/17DE6BE0C44C34513F10A8D7C7B68FB0

    以下のような開発者の方におすすめです。

    • 初めてインターシステムズのデータプラットフォーム製品をお使いになる方、ご興味のある方
    • 新しいデータプラットフォームを試してみたい方
    • Caché から IRIS への移行をご検討中の方

    ぜひご視聴ください!

     

    0
    0 112
    記事 Toshihiko Minamoto · 2月 8, 2021 10m read

    これで 3 記事目になります (パート 1パート 2 をご覧ください) が、引き続き Caché データベースの内部構造をご紹介いたします。 今回は、興味深い内容をいくつかご紹介し、私の Caché Blocks Explorer プロジェクトを使って作業の生産性をアップさせる方法について説明します。

    0
    1 192
    お知らせ Mihoko Iijima · 2月 8, 2021

    開発者の皆さん、こんにちは!

    第10回のグランプリ・プログラミングコンテストの 続報 📣 のテクノロジーボーナスについてご紹介します。

    今回のコンテストでは、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!

    0
    0 103
    記事 Megumi Kakechi · 2月 8, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い
      ”通常時と比較して、どこがどの程度変わっているか”
    を確認することで、問題のある箇所を特定できます。
    (逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。)

    いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。


    収集情報詳細は、以下のドキュメントをご参照ください。

    パフォーマンス調査ガイド

    ガイド内でご紹介しているサンプルは、https://github.com/Intersystems-jp/performance-sample からダウンロードいただけます。


    パフォーマンス低下時の情報収集ツールについては、以下の関連FAQトピックをご参照ください。

    【FAQ】パフォーマンス低下時の情報収集ツールについて教えてください。

    0
    0 177
    記事 Mihoko Iijima · 2月 5, 2021 5m read

    これは InterSystems FAQ サイトの記事です。

    Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

    【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

    詳細は以下ドキュメントをご参照ください。
    Java ゲートウェイについて

    Java ゲートウェイを使用する手順は以下の通りです。

    1) Java ゲートウェイサーバを開始する

    2) プロキシオブジェクト(ダイナミック・プロキシ・オブジェクト)を作成して Java オブジェクトを操作する

    1) Java ゲートウェイサーバを開始する

    Java ゲートウェイサーバを開始する方法は 3 種類あります。以下のいずれかの方法で、Java ゲートウェイサーバを開始します。

    A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

    B) プロダクションにJavaゲートウェイサービスを追加する

    C) java コマンドを使用する

    A)~C) の方法は以下の通りです。

    A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

    0
    0 517
    お知らせ Mihoko Iijima · 2月 1, 2021

    開発者の皆さん、こんにちは!第10回目のコンテストが発表されました👏👏

    今回は 🏆 InterSystems グランプリ・プログラミングコンテスト 🏆 です!

    今回は、いつものコンテストと賞金が異なり 賞金総額:16,000ドルです( ゚Д゚)

    応募期間は 2021年2月8日~2月28日 (投票期間は 2021年3月1日~7日、勝者発表は 3月8日)です。

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $6,000   

    🥈 2位 - $3,000  

    🥉 3位 - $2,000

    2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $3,000 

    🥈 2位 - $1,500 

    🥉 3位 - $500

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

    参加資格

    どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

    コンテストのスケジュール

    2月8日~28日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。)

    3月1日~7日 投票(1週間)

    3月8日 勝者発表(US時間に発表します)

    1
    0 218
    記事 Toshihiko Minamoto · 2月 4, 2021 6m read

    開発者の皆さん、こんにちは!

    InterSystems ObjectScript でライブラリやツール、パッケージなどを開発していると、「このパッケージはどうすればターゲットマシンに展開できるのか?」という疑問がよく浮かびます。

    また、私たちは、既に別のライブラリがインストールされていることを想定したり、その特定のバージョンのことを考慮したりしながらパッケージを開発しています。

    JavaScript や Python などでコーディングを行うと、依存関係を管理しながらパッケージを展開するのに パッケージ管理システム が必要になります。

    これを踏まえ、 InterSystems ObjectScript Package Manager のリリースを発表したいと思います!

    0
    0 357
    記事 Megumi Kakechi · 2月 2, 2021 2m read

    これは InterSystems FAQ サイトの記事です。


    ※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。

    グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
    DataCheckの概要【IRIS】

    DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。
     

    ***

    ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。

    以下は、管理ポータルでの使用方法になります。

      例えば、以下ルーチンがUSERネームスペースにあるとします。

    test() public{
     quit "hello"
    }

    以下ルーチンがUSER2ネームスペースにあるとします。

    test() public{
     quit "こんにちは"
    }

    以下は、USERネームスペースに接続したターミナルで %RCOM を実行した結果になります。

    ※ Compare: にルーチン名を記述し、 with: に比較したいルーチン名を記載します。
      別ネームスペースにあるルーチンを指定する場合は |"ネームスペース名"|ルーチン名.MAC で指定します。

    0
    0 423
    記事 Toshihiko Minamoto · 2月 2, 2021 9m read

    この記事は Caché データベースの内部構造を説明したこちらの記事の続編です。 そちらの記事では、様々なブロックタイプ、それぞれのつながりやグローバルとの関係について説明しました。 純粋に理論を述べた記事でした。 ブロックツリーを視覚化するのに役立つプロジェクトを作成しましたので、この記事ではその仕組みを詳しく説明します。

    0
    0 331
    記事 Megumi Kakechi · 2月 1, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    下記のWebゲートウェイのエラーメッセージ/システム応答に対して、個別のエラーページを設定することができます。

    • サーバエラー
    • サーバビジー
    • サーバが利用可能ではありません
    • サーバタイムアウト
    • 接続が閉じられました

    設定は、Webゲートウェイ管理画面( [管理ポータル] > [システム管理] > [構成] > [Webゲートウェイ管理] )で行います。

    [デフォルトパラメータ] メニュー内の [エラーページ] セクションで、各エラー発生時に表示させるhtmlページのファイル名またはリダイレクトさせるURLを設定します。

     

    ※Webゲートウェイ管理画面は、下記URLからもアクセス可能です。

    http://<Webサーバアドレス>:<ポート>/csp/bin/Systems/Module.cxw

    詳細は、以下ドキュメントをご参照ください。
    カスタムエラーページについて【IRIS】
     

    0
    0 334
    記事 Hiroshi Sato · 2月 1, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    $IsObject()を使用して判別できます。 調べたい変数をvとすると、

    $IsObject(v)=1 // vはOREF
    $IsObject(v)=0 // vはOREFではない
    $IsObject(v)=-1 // vはOREFだが、有効なオブジェクトを指していない

    となります。

    vが未定義の場合は、$IsObject(v)はUNDEFINEDエラーとなりますので、ご注意ください。

    UNDEFINEDエラーを防止するには、次のように$Getを使用することをお勧めします。

    $IsObject($Get(v))
    0
    0 315
    記事 Hiroshi Sato · 2月 1, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    ドキュメント上は明確に記述されていませんが、エクスポートの追加ボタンを押した時に表示されるファイルダイアログのファイル名にグローバル名 + .GBLと入力することでグローバルをエクスポートの対象にすることができます。
    (例: ^aaaの場合、^aaa.gblと指定)

    この機能はクラス、ルーチン等と一緒にグローバルデータを一括してエクスポート/インポートする際に、便利な機能ですが、XMLで表現されるため、データ容量は実データに比較し大きくなりますので、大量データを処理する場合には必要な容量に注意が必要です。

    0
    0 379
    お知らせ Mihoko Iijima · 2月 1, 2021

    開発者の皆さんこんにちは!

    第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

    今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

    🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

    🥇 1位 - $2,000 は  iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました!

    🥈 2位 - $1,000 は zapm を開発された @Sergey Mikhailenk さんに贈られました!

    🥉 3位 - $500 は iris-multimodel-suite を開発された @Renato Banzai さんに贈られました!

    🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $1,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

    0
    0 94
    記事 Mihoko Iijima · 2月 1, 2021 3m read

    開発者のみなさん、こんにちは!

    IRIS プログラミングコンテストでは、💨すぐに💨開発を開始いただけるようにコンテナ版 IRIS を利用した「開発環境テンプレート」をご提供してしていました。

    終了したコンテストにはご応募いただけませんが、テンプレートは「ちょっと試したい」「加工して自分オリジナル環境を作りたい」の目的にぴったりの内容です。

    また、全て Open Exchange で公開されていて、Docker、Git、VSCode をインストールした環境があればすぐにご利用いただけます。

    テンプレートの使用方法については、各コンテストの紹介ページでご案内しています(日本語解説ビデオ付きもあります)。

    基本は以下 3 行だけで開始できます。(とっても簡単!)

    git clone <ここにテンプレートのURL>
    
    cd <作成されたディレクトリ>
    
    docker-compose up -d --build

     

    ご興味ある内容ありましたら、ぜひお手元で試してみてください!

    0
    0 382
    記事 Mihoko Iijima · 1月 29, 2021 4m read

    これは InterSystems FAQ サイトの記事です。

    %SYS.Journal.File クラスの ByTimeReverseOrder クエリ と %SYS.Journal.Record クラスの List クエリを使用して検索することができます。

    それぞれのクエリの役割は以下の通りです。

    A) %SYS.Journal.File クラスの ByTimeReverseOrder クエリ

    ジャーナルファイル名を取得できます。ジャーナルファイル名の降順で結果が返ります。​​

    0
    0 514
    記事 Mihoko Iijima · 1月 29, 2021 2m read

    これは InterSystems FAQ サイトの記事です。

    システム提供の %SYS.GlobalQueryクラス の Size クエリーを使用することで取得できます。

    使用例は、以下のサンプルコードをご参照ください。
    ※カラムやパラメータの指定はクラスリファレンスをご確認ください。

     set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(またはCACHE.DAT)フォルダ
     set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
     do rs.Execute(dir) // 第3引数でマスク指定も可
     while (rs.Next()) { 
       set gname= rs.Get("Name") // グローバル名
       set gsize= rs.Get("Used MB") // グローバルサイズ(MB)
       write gname," : ",gsize,!
     }
    

     

    グローバル変数のサイズが大きい場合、取得時間がかかる場合もあります。その場合、Size クエリー 実行時、第 6 引数に 1 を指定してクエリを再実行してみてください。

    0
    0 430
    記事 Henrique Dias · 1月 28, 2021 3m read

    2020年に世界を襲ったパンデミックの影響で、COVID-19のニュースや数字をみんなでフォローするようになりました。

    これを機に、世界の予防接種の数を追いかけて、シンプルで楽しいものを作ってみてはいかがでしょうか。

    この課題に立ち向かうために、私はOur World in Dataで提供されたデータを利用しています。世界最大の問題を解決するための研究とデータ。

    Github上にCOVID-19のデータで専用のリポジトリを用意してくれていて、そのワクチンのデータを持ってトラッカーを手伝ってくれました。

    もしあなたが彼らを知らなかったら、それをチェックしてみてください、それはあなたにとって価値ある時間です。 Github repository

    アプリケーション iris-vaccine-trackerには、3つの異なるページがあります。

    1. メインダッシュボード
    2. ダッシュボードに表示されている詳細情報のデータ表
    3. ヒートマップ

    ダッシュボード

    メインダッシュボードでは、世界中の予防接種の状況を簡単に知ることができます。

    最初のウィジェットは:

    • ワクチンを何本接種しているのか
    • ワクチン接種に関する情報を提供している国はどれくらいあるのか
    • これまでに申請した予防接種の合計。

    2つ目のウィジェットでは、最も重要な予防接種数の多いトップ10の国の予防接種を時系列で見ることができます。

    2
    0 184