記事 Toshihiko Minamoto · 2023年6月27日 13m read REST の設計と開発 はじめに 今日の相互運用性分野に従事する多くの人にとって、REST は最高峰にあります。 REST API 開発用のツールとアプローチが溢れかえる中、コードを書き始める前に、どのツールを選び、何を計画する必要があるでしょうか? この記事では、堅牢性、適応性、および一貫性に優れた REST API を構築できるようにする設計パターンと考慮事項を焦点としています。 CORS サポートと認証管理の課題に他する実行可能なアプローチについて、REST API 開発の全段階に適用できる様々なヒントとテクニック、最適なツールを織り交ぜながら説明します。 InterSystems IRIS Data Platform で利用できるオープンソース REST API と複雑化し続ける API の課題にどのように取り組むかについてお読みください。 これは、同じトピックに関する最近のウェビナーを記事にしたものです。 #API #REST API #オープンソース #ベストプラクティス #Caché #InterSystems IRIS 0 0 1 114
記事 Toshihiko Minamoto · 2023年6月14日 11m read 初めてのIAM 使用体験 オンラインコース「Hands-On with InterSystems API Manager for Developers」のフィードバック Docker コンテナと REST API の基本的な知識で、InterSystems API Manager による API とマイクロサービスの制御に挑戦したいと思い、 ホストにローカルの IRIS インスタンス(Windows OS)を使用し、Linux VM で IAM (ゲスト)を実行するこのオンラインコースを実行してみました。 まず InterSystems API Manger(IAM)を紹介してから、ローカル環境をセットアップするための手順を説明し、最後にコースの各章の内容を確認しましょう。 はじめに 今日では、API トラフィックの管理、監視、および保護が UI ポータルに集約される 簡単なデプロイのメリットを生かして、API を管理することが非常に重要となっています。 #InterSystems API Manager (IAM) #初心者 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 48
記事 Toshihiko Minamoto · 2023年6月8日 2m read グローバルサミット2023、完結編! コミュニティの皆さん、こんにちは。 この #GlobalSummit23 も最終日を迎えました!そして、今日は私たちの日、プログラマーの日です。今日の基調講演は、すべて開発者の成長や意欲、イノベーションに捧げられたものでした。 #Global Summit 2023 #イベント #グローバルサミット 2 0 0 56
記事 Toshihiko Minamoto · 2023年6月8日 2m read グローバルサミット 2023 充実した中日 コミュニティの皆さん、こんにちは! グローバルサミットの日記を続けますが、2日目もよろしくお願いします。 この日のキーノートは、IRIS Data Platformに特化したものでした(やったー!)。 Scott Gnau氏は、まずIRISがなぜIRISと呼ばれているのかを説明しました。これは知りませんでした! キーノート(と昼食)の後、皆は登録したセッション、ワークショップ、イベントを探すために別々の道を歩きました。 #Global Summit 2023 #イベント #グローバルサミット 2 0 0 81
記事 Toshihiko Minamoto · 2023年6月8日 4m read グローバルサミット 2023 が始まりました! 皆さん、こんにちは! グローバル・サミット2023に参加したかったのに、何らかの事情で参加できなかった方も多いのではないでしょうか?ここでは、6月4日と5日の様子を簡単にご紹介します。 #Global Summit 2023 #イベント #グローバルサミット 2 0 0 99
記事 Toshihiko Minamoto · 2023年5月30日 7m read InterSystems IRIS 開発リポジトリで Docker を使用する コミュニティの皆さん、こんにちは! 最近では、誰もが Github、GitLab、bitbucket などのリポジトリにプロジェクトのソースコードを保管していると思います。 InterSystems IRIS プロジェクトについても同様で、Open Exchange にチェックされています。 InterSystems Data Platform で特定のリポジトリの操作を開始または継続するたびに、何をしているでしょうか? ローカルの InterSystems IRIS マシン、プロジェクト用の環境のセットアップ、ソースコードのインポートが必要です。 つまり、すべての開発者は以下を実行しています。 リポジトリからコードをチェックアウトする。 ローカル IRIS インストールをインストール/実行する。 プロジェクト用の新しいネームスペース/データベースを作成する コードをこの新しいネームスペースにインポートする。 すべての残りの環境をセットアップする。 プロジェクトのコーディングを開始/継続する。 リポジトリを Docker 化すると、この手順は次の 3 つのステップに短縮できます。 リポジトリからコードをチェックアウトする。 docker-compose build を実行する。 プロジェクトのコーディングを開始/継続する。 メリット: 実行に数分かかる上、頭が痛くなるようなステップ 3、4、5 を行わなくて済みます。 次の数ステップで、(ほぼ)すべての InterSystems リポジトリを Dcoker 化できます。 では、やってみましょう! #Docker #コンテナ化 #ベストプラクティス #開発環境 #InterSystems IRIS 0 0 1 110
記事 Toshihiko Minamoto · 2023年5月23日 8m read Embedded Python による Web スクレイピングの基礎 - Python のお仕事を抽出しよう Web スクレイピングとは: 簡単に言えば、Web スクレイピング、Web ハーベスティング、または Web データ抽出とは、Web サイトから大量のデータ(非構造化)を収集する自動プロセスです。 ユーザーは特定のサイトのすべてのデータまたは要件に従う特定のデータを抽出できます。 収集されたデータは、さらに分析するために、構造化された形式で保存することができます。 Web スクレイピングの手順: #Embedded Python #ObjectScript #ベストプラクティス #InterSystems IRIS for Health 1 0 0 147
記事 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 583
記事 Toshihiko Minamoto · 2023年5月11日 10m read InterSystems Embedded Python で Pandas を使う - パート 1 はじめに データ分析は、急速に展開するこの時代において、ビジネス上の意思決定を行う上で欠かせない側面です。 組織はデータ分析に大きく依存して、十分な情報に基づく意思決定と競合優位の維持を行っています。 この記事では、Pandas と InterSystems Embedded Python を使ってデータ分析を実行する方法について説明します。 Pandas の基本、InterSystems Embedded Python を使用するメリット、および両方を組み合わせて有効なデータ分析を実行する方法について説明します。 #Embedded Python #チュートリアル #InterSystems IRIS 1 0 0 120
記事 Toshihiko Minamoto · 2023年5月2日 5m read カラムナーストレージを使用するケース InterSystems 2022.2 では、IRIS SQL テーブルを永続化する新しいオプションとして、分析クエリを桁違いに向上させられるカラムナーストレージを導入しました。 2022.2 と 2022.3 ではこの機能は実験的としてマークされていますが、次の 2023.1 リリースでは、完全にサポートされた本番機能に「卒業」する予定です。 製品ドキュメントとこの紹介動画では、IRIS では現在でもデフォルトであり、全顧客ベースで使用されている行ストレージと、このカラムナーストレージの違いがすでに説明されており、ユースケースに適切なストレージレイアウトの選択方法に関する大まかなガイダンスが提供されています。 この記事では、このテーマについて詳しく説明し、業界で実践されているモデリング原則、内部テスト、および早期アクセスプログラム参加者からのフィードバックに基づく推奨事項をいくつか紹介します。 #SQL #分析 #InterSystems IRIS 0 1 0 65
記事 Toshihiko Minamoto · 2023年5月2日 6m read スタジオとGitHubとの連携環境の構築 開発者のみなさん、こんにちは。 vscode上で動作するObjectScriptエクステンションがリリースされ、vscodeを開発環境として使用できるようになり、GitHubリポジトリと連携できるようになりました。その一方で、使い慣れたIRISやCacheのスタジオからGitHubを扱いたいという要望は根強くあり、GitHubと連携するツールがOpen Exchange上にいくつか公開されています。 そこで、Open exchangeに収録されているツールの中で新しい「git for shared development environment」を使い、環境を作成してみましたので、その手順をお伝えします。 ご利用される際のご参考になれば幸いです。 #Git #GitHub #スタジオ #ツール #Caché #InterSystems IRIS 1 1 0 139
記事 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 123
記事 Toshihiko Minamoto · 2023年4月26日 6m read 2022.3 のカラムナーストレージ Global Summit 2022 または 2022.2 ローンチウェビナーの内容からよく覚えていると思いますが、InterSystems IRIS の分析ソリューションに組み込むための目覚ましい新機能をリリースしようとしています。 分析クエリを桁違いに高速化する、代替の SQL テーブルデータ格納手法であるカラムナー(列指向)ストレージです。 もともと 2022.2 の実験的機能としてリリースされましたが、最新の 2022.3 開発者プレビューには多数の更新が含まれているため、別途ここで簡単に説明したいと思います。 #SQL #InterSystems IRIS Open Exchange app 0 0 0 94
記事 Toshihiko Minamoto · 2023年4月18日 14m read 「妊娠トラッカ」アプリケーションを支えるIS技術 今回は、「IRIS for Health Contest」に応募するために、どのような技術を使ってアプリケーションを開発していたのか、その詳細を紹介したいと思います。 #FHIR #REST API #アクセス制御 #InterSystems IRIS Open Exchange app 0 0 0 73
記事 Toshihiko Minamoto · 2023年4月5日 3m read Pregnancy Symptoms Tracker(妊娠症状トラッカー)の目的 テクノロジー分野で 19 年間働いてきた中、様々な分野でいくつかのプロジェクトに参加することができましたが、健康分野は私が一番惹かれている分野の 1 つです。 健康に焦点があてられたものを作成するチャンスを得るたびに、FHIR プロトコルを使用することにワクワクしています。 とは言え、テック系の 3 人の IT 男子で構成されるチームでは、本当に利用価値のあるものを作り出すのは困難であるため、女性の健康のように重要なトピックにおいては、この主題を非常によく理解している人をチームに招きました。 #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 1 0 58
記事 Toshihiko Minamoto · 2023年3月23日 10m read IRIS IntegratedML を使った腎臓病予測 Web アプリ 腎臓病は、医学会でよく知られるいくつかのパラメーターから発見することが可能です。 この測定により、医学界とコンピューター化されたシステム(特に AI)を支援すべく、科学者である Akshay Singh は、腎臓病の検出/予測における ML アルゴリズムをトレーニングするための非常に便利なデータセットを公開しました。 このデータセットは、ML の最大級のデータリポジトリとして最もよく知られている Kaggle に公開されています。https://www.kaggle.com/datasets/akshayksingh/kidney-disease-dataset データセットについて 腎臓病データセットには、以下のメタデータ情報が含まれています(出典: https://www.kaggle.com/datasets/akshayksingh/kidney-disease-dataset) #AI #IntegratedML #InterSystems IRIS Open Exchange app 0 0 0 65
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 94
記事 Toshihiko Minamoto · 2023年3月10日 9m read IRIS IntegratedML を使った糖尿病予測 Web アプリ 糖尿病は、医学会でよく知られるいくつかのパラメーターから発見することが可能です。 この測定により、医学界とコンピューター化されたシステム(特に AI)を支援すべく、(米)国立糖尿病・消化器・腎疾病研究所(NIDDK)は、糖尿病の検出/予測における ML アルゴリズムをトレーニングするための非常に便利なデータセットを公開しました。 このデータセットは、ML の最大級のデータリポジトリとして最もよく知られている Kaggle に公開されています: https://www.kaggle.com/datasets/mathchi/diabetes-data-set。 糖尿病データセットには、以下のメタデータ情報が含まれています(出典: https://www.kaggle.com/datasets/mathchi/diabetes-data-set): #AI #IntegratedML #InterSystems IRIS Open Exchange app 1 0 0 122
記事 Toshihiko Minamoto · 2023年2月27日 7m read Ensembleでの孤立メッセージ 今回は、「孤立メッセージ」について説明します。 孤立メッセージとは何ですか? すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。 #システム管理 #ヒントとコツ #ベストプラクティス #監視 #相互運用性 #Ensemble 0 0 0 80
記事 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 66