記事 Mihoko Iijima · 2023年4月24日 3m read 開発者向けウェビナー:アーカイブビデオ一覧 開発者の皆さん、こんにちは! 過去に開催した開発者向けウェビナー アーカイブビデオのまとめページを作成しました。 今後もウェビナーを開催していきますのでこのページを★ブックマーク★していただけると嬉しいです 2023年開催分: ✅ウェビナー プレイリストはこちら👉https://www.youtube.com/playlist?list=PLzSN_5VbNaxB39_H2QMMEG_EsNEFc0ASz 2023/3/10 開催「InterSystems IRIS 2022.3リリースセミナー」 2023/4/26 開催「 Pythonでデータベースプログラミング」 《予告!》2023/5/31開催「ワークフローコンポーネントの使い方」~自動処理にユーザからの指示を統合する方法~ 告知記事:https://jp.community.intersystems.com/node/541341 ✅ InterSystems 医療 x IT セミナー アプリケーション開発編2 HL7® FHIR® × InterSystems IRIS for Health #Webセミナー #InterSystems IRIS #InterSystems IRIS for Health 2 1 0 45
記事 Toshihiko Minamoto · 2021年10月13日 4m read インターシステムズ開発者コミュニティで学習する方法 パート2: タグ 開発者の皆さん、こんにちは。 ここでは開発者コミュニティでのタグの使用方法ついて説明します。この機能を最大限に活用しましょう! #ヒントとコツ #初心者 #開発者コミュニティ公式 0 0 0 45
記事 Seisuke Nakahashi · 2023年4月27日 2m read Pythonの可変長引数の呼び方 / ChatGPTサンプル Python で可変長引数をもったメソッドを考えてみましょう。以下の a.py があるとき def test1(*args): return sum(args) def test2(**kwargs): a1 = kwargs.get("a1",None) a2 = kwargs.get("a2",None) return a1+a2 #ChatGPT #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 5 0 0 45
記事 Toshihiko Minamoto · 2022年10月11日 2m read python openpyxl ライブラリを使用して IRIS クエリを Excel ファイルにエクスポートするためのモジュール 皆さん、こんにちは。 このプロジェクトをコンテストに応募します。 エクスポートモジュールは、多くのプロジェクトに不可欠であり、通常、本番サーバーにて使用されています。 属性初期化モジュールの呼び出しにて、さまざまなシナリオを実装しました。GCR で実証する多くの追加プロジェクトによる最大化と、本番インスタンスにネイティブにインストールするための最小化の両方です。 #ツール #InterSystems IRIS Open Exchange app 0 0 0 45
記事 Toshihiko Minamoto · 2022年7月19日 2m read InterSystems レポート: トラブルシューティングとして、サポートでユーザーのレポートを実行できるようにする方法 インターシステムズのサポートではレポートのトラブルシューティングを手助けしており、彼らはローカルシステムにて問題を再現したいのですが、JDBC データソース接続が失敗するため、レポートを実行できず、残念な結果となります。 何かよい方法はあるでしょうか? #InterSystems Reports #InterSystems IRIS 0 0 0 44
記事 Megumi Kakechi · 2022年10月3日 1m read InterSystems IRIS は 2フェーズコミットをサポートしていますか? これは InterSystems FAQ サイトの記事です。 Question: InterSystems IRIS は 2フェーズコミットをサポートしていますか? Answer: サポートしていません。 2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。 また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。 2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 43
記事 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 43
記事 Toshihiko Minamoto · 2022年10月5日 5m read 開発者コミュニティ投稿を最大限に活用する方法 開発者の皆さんこんにちは。 誰かのヘルプが必要だったり、興味のある機能を議論したり、みんなにアナウンスしたり、知識を共有したりしませんか?この記事ではそのすべての方法について説明します。 より簡単に投稿方法にたどり着くために以下の項目を用意しました。 一般的なガイドライン 質問 記事やアナウンス 議論 一般的なガイドライン 最初に、開発者コミュニティサイトのトップメニューにある「新しい投稿」ボタンをクリックします。 その後、質問やアナウンス、記事、議論の作成が選択できるエディタが表示されます。投稿の種類に応じて必須項目と任意項目が表示されます。 #チュートリアル #ヒントとコツ #初心者 #開発者コミュニティ公式 0 0 0 43
記事 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 43
記事 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 42
記事 Toshihiko Minamoto · 2023年1月29日 1m read 各言語の開発者コミュニティに翻訳記事を投稿する方法 数ヶ国語を知っていて、世界のさまざまな地域のユーザーと知識を共有したいとお考えですか? でしたら、今こそあなたが輝く時です 🤩 開発者コミュニティでは、あなたのオリジナル記事とその翻訳を簡単にリンクさせることができます(翻訳を依頼することも可能です) ではどのように翻訳記事を作成するのか説明しましょう。 #ヒントとコツ #初心者 #開発者コミュニティ公式 0 0 0 42
記事 Toshihiko Minamoto · 2022年11月22日 5m read 時間の支配者になるには - タイムトラベル タイムトラベルとはパリを訪ねるようなもの。 ガイドを読むだけじゃなく、そこに足を踏み入れなければならない。 ご飯を食べて、動詞の使い方を間違えたり、2 倍の料金を請求されたり、見ず知らずの人とキスするものさ。 ドクター これから時空を超えた旅をしましょう。未来と過去の日付を見て、様々なフォーマットで計算する方法を説明します。 ターディスは待ちません。コントロールに就いてしっかりつかまりましょう。 #ObjectScript #ヒントとコツ #Caché 0 0 0 42
記事 Megumi Kakechi · 2023年5月1日 5m read 一時グローバルと IRISTEMP データベースについて IRISTEMPというデータベースをご存じでしょうか? 特定の処理に対してデータを無期限に保存する必要がなく、「同一プロセス内でのみ使用したい場合」や「IRISが起動中のみ使用したい場合」に、IRISTEMPデータベースに保存されるグローバルを使用できます。IRISTEMPデータベースに保存されるグローバルに対する操作は ”一切ジャーナルされない” ため、効率性を最大限にしたい作業に使用できます。 IRISTEMPデータベースに保存されるグローバル(データ)には、以下の種類があります。 #ObjectScript #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 42
記事 Mihoko Iijima · 2022年8月25日 1m read データベース xxxENSTEMP、xxxSECONDARY について これは InterSystems FAQ サイトの記事です。 メモ:xxx にはネームスペース名が入ります。 xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。 xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。 注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません 詳細は以下ドキュメントをご覧下さい。 #データベース #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS 0 0 0 41
記事 Toshihiko Minamoto · 2022年7月26日 5m read Jupyter Notebooks に ObjectScript を追加する方法 Jupyter Notebook は、多数の異なるマークアップ言語とプログラミング言語でコードを実行できるセルで構成された対話型環境です。 Jupyter はこれを実現するために適切なカーネルに接続しなければなりませんが、 ObjectScript カーネルがなかったため、それを作成することにしました。 こちらから試すことができます。 結果を少し覗いてみましょう。 #API #Python #InterSystems IRIS Open Exchange app 0 0 0 41
記事 Mihoko Iijima · 2023年4月17日 1m read データベースがReadOnlyでマウントされるケース これは InterSystems FAQ サイトの記事です。 以下の状態の時、ReadOnlyでマウントされます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 40
記事 Toshihiko Minamoto · 2023年4月28日 2m read python openpyxl ライブラリを利用してクエリの結果を xlsx ファイルに変換する本番モジュールの実装 本番環境でのopenhl pythonモジュールの使用に関する作業の説明の続きです。 Embedded Pythonを搭載しているirisは、まだ最終リリースがされていません(原文投稿当時)が、現時点で本番で使用する必要があります。 そこで、リクエストをxlsxファイルにエクスポートするサービスは別サーバーにバックアップし、クエリ結果は別データベースのグローバルに保存することにしました。 このデータベースは、ネットワーク化され、サービスサーバーはローカル、本番サーバーはリモートとしています。本番サーバー、サービスサーバ間のコミュニケーションは、REST サービスを使って実装しています。 #Python #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 40
記事 Yoichi Miyashita · 2023年3月3日 3m read ジャーナル圧縮機能について 2022.1 及び 2021.2 から 新たにジャーナルファイルの自動圧縮機能がサポートされました。この機能によって、わずかなCPUコストでジャーナルファイルが占有するDisk容量を大幅に削減する事が可能になります。実際のお客様環境でジャーナル・ファイルの圧縮率85%という非常に高い効果が確認出来たケースもございます。(圧縮効果はジャーナル・ファイルに記録される更新データの内容に依存します)圧縮はミラージャーナル・ファイルに対しても行われます。 #システム管理 #ジャーナリング #InterSystems IRIS 2 0 0 40
記事 Tomoko Furuzono · 2021年12月7日 2m read メッセージ・ログ(messages.log)/コンソール・ログ(cconsole.log) に出力される「Skipping SET(KILL) global ^xxxx during transaction rollback...」のメッセージとは これは、InterSystems FAQサイトの記事です。このメッセージが出力される要因は以下の2つになります。 同じデータに対して適切に排他を行わずに、別々のプロセスから更新が行われている ロールバックが発生している 詳細は以下の通りです。 メッセージログ/コンソールログに、以下のようなメッセージがある場合、これはロールバック処理にて出力されています。※バージョンによってメッセージは多少異なります。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 40
記事 Toshihiko Minamoto · 2022年3月2日 5m read 2021.2 SQL 機能スポットライト - 高度なテーブル統計 これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 0 39
記事 Toshihiko Minamoto · 2023年5月18日 9m read Python と IRIS で QR コードとバーコードを生成して読み取る 請求、支払いや領収、アイテムの配送や在庫を処理するアプリケーションでは、バーコードや QR コードの使用が必要となるのが一般的です。 単純なバーコードよりも多くの情報を格納できる QR コードは、さらに幅広いシナリオで使用されています。 したがって、バーコードと QR コードを生成する機能、またはそれらに格納されたデータを画像または PDF から読み取る機能が重要となります。 この記事では、Python と無料のライブラリを使用してこれを行う方法を説明します。 Pyzbar ライブラリ pyzbar ライブラリは、zbar ライブラリを使って、Python 2 と 3 から 1 次元バーコードと QR コードを読み取ります。 以下の特徴が備わっています。 #Embedded Python #REST API #InterSystems IRIS Open Exchange app 2 0 0 39
記事 Mihoko Iijima · 2023年3月9日 2m read 機械学習を試せるチュートリアル:IntegratedML 開発者の皆さん、こんにちは! 前の記事では、開発者向け情報を集めた「Developer Hub」をご紹介しましたが、この記事では Developer Hub のチュートリアルの中から「機械学習」をテーマとしたチュートリアル:IntegratedML についてご紹介します InterSystems IRISには、機械学習を行うために必要なプロセスのいくつかを自動化するAutoMLの機能が組み込まれていて、機能名として「IntegratedML」と呼んでいます。機能概要については、末尾のビデオをご参照さい。 チュートリアルを始めるための準備は不要で、 ボタンをクリックするだけでチュートリアルを開始できます。 #IntegratedML #チュートリアル #初心者 #機械学習 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 39
記事 Mihoko Iijima · 2023年4月10日 4m read テーブル定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 バージョン2017.2以降から、CREATE TABLE文で作成したテーブル定義のデータを格納するグローバル変数の命名ルールが変わり ^EPgS.D8T6.1 のようなハッシュ化したグローバル変数名が設定されます。(この変更はパフォーマンス向上のために追加されました。) ※ バージョン2017.1以前については、永続クラス定義のルールと同一です。詳細は関連記事「永続クラス定義のデータが格納されるグローバル変数名について」をご参照ください。 以下のテーブル定義を作成すると、同名の永続クラス定義が作成されます。 #SQL #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 38
記事 Toshihiko Minamoto · 2023年2月16日 2m read Pythonの使用例として、リクエストをExcelファイルに書き出すためのモジュール 長い間、私たちはクエリの結果をExcelスプレッドシートにエクスポートするユーティリティを使用してきました。 さらに、このユーティリティの修正版を適用し、この修正版では、列のフォーマットを明示的に設定することが プライオリティとなっています。 このユーティリティは %SYS.ZENReportExcelExporter というモジュールを使用し、java プログラムをベースにしています。毎年、レポートが大きくなり、十分なJava RAMがなかったので、環境変数の値を増やさなければなりませんでした。その値が7GBに達し、今、問題になっています。 #Python #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 38
記事 Toshihiko Minamoto · 2023年2月8日 7m read 2020.1 の新機能: ユニバーサルクエリキャッシュ InterSystems IRIS 2020.1 には、重要なアプリケーションの構築を支援する新機能と機能改善が多数盛り込まれています。 2019.1 から 2020.1 までに行われた多数の大幅なパフォーマンス改善のほかに、最近の SQL の歴史において最も大きな変更点の 1 つであるユニバーサルクエリキャッシュ(UQC)が導入されています。 この記事では、SQL ベースのアプリケーションに対するそのインパクトについて、技術的な観点で詳しく説明しています。 #SQL #InterSystems IRIS 1 0 0 38
InterSystems公式 Toshihiko Minamoto · 2023年3月12日 3m read クラスの生成方法、呼び出し方法の変更(IRIS 2023.1~) IRIS 2023.1でのメソッドコードの生成と呼び出し方法の変更について、お知らせしたいと思います。 IRIS のクラスは、2 つの主要なランタイムコンポーネントで構成されています。 クラスディスクリプタ - クラスを構成するメソッド、プロパティ、クラスパラメータ、およびこれらのそれぞれに関連する属性(パブリック/プライベート設定など)が最適化されたリストです。 ObjectScriptコード - メソッドが呼び出されたときに実行される ObjectScript コードを含むルーチンのセットです。 クラス/オブジェクトのメソッドを呼び出すと、ディスパッチコードがクラス記述子からメソッドを探し、呼び出しが許可されているかどうかを確認し、正しいクラスコンテキストを設定し(その過程で $this を更新)、最後に関連するクラスルーチンにある ObjectScript コードを呼び出します。 #ObjectScript #InterSystems IRIS #InterSystems公式 2 0 0 38
記事 Megumi Kakechi · 2023年2月23日 3m read IRIS SQLクエリで取得した結果セットのランキング(順位)を算出する方法 弊社サポートセンターに、「IRIS SQLに Oracle の RANK() 関数のようものはありませんか?」というお問い合わせいただくことがあります。 IRIS2021.1以降のバージョンであれば、RANK() や ROW_NUMBER() などの ウィンドウ関数 がサポートされるようになりましたので、以下のように使用することができます。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 37
記事 Megumi Kakechi · 2023年4月3日 3m read 現在の一般メモリヒープ(gmheap)と取得可能なロックテーブル(locksiz)最大サイズについて これは InterSystems FAQ サイトの記事です。 データ取込み処理の性能・エラー(Lock Table Full)対策として、一般メモリヒープ(gmheap)や ロックテーブルサイズ(locksiz)のパラメータチューニングを行う場合があると思います。 実際に、現在どのくらいの一般メモリヒープが確保できているのかは、ターミナルと管理ポータルで確認することができます。 ★ターミナルの場合 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Mihoko Iijima · 2023年4月4日 7m read PythonからNativeAPIを利用してIRISに接続する AWS Lambda関数を作成するまでの流れ 開発者の皆さん、こんにちは。 Python Native APIを利用すると、IRISにあるグローバル変数の参照/更新をPythonから行えたり、メソッドやルーチンをPythonから実行することができます。 この記事では「AWS Lambda の IRIS Python Native API IRIS」の記事を参考に、NativeAPIを利用してPythonからIRISに接続するAWS Lambda関数を作成する流れで必要となる、レイヤー作成と関数用コードの作成例をご紹介します。 ※ 事前にAWSのEC2インスタンス(Ubuntu 20.04を選択)にIRISをインストールした環境を用意した状態からの例でご紹介します。 #AWS #Python #SQL #グローバル #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Megumi Kakechi · 2023年4月24日 2m read 日本語化したクラウド環境にインストールしたIRISのランチャーが文字化けする クラウド環境で Windows 英語版に日本語言語パックをインストールして日本語化している場合、設定に注意が必要です。 以下のようにランチャー(キューブ)メニューの一部が文字化けするのは、言語設定が足りていないのが原因と考えられます。 以下の設定をご確認ください。 Windows設定 > 時刻と言語 > 言語:管理用の言語設定「Unicode 対応でないプログラムの現在の言語」が、日本語以外の言語 (例:英語(米国)) になっていないでしょうか? #キューブ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 37