記事 Toshihiko Minamoto · 2020年11月18日 1m read 開発者コミュニティでの記事の検索方法 皆さん、こんにちは。開発コミュニティでの検索方法について説明します。 開発コミュニティのページで検索される場合は以下の赤枠の虫眼鏡マークをクリックします。 すると、以下のようにテキストボックスのみ浮かび上がりますので、検索したい文字列を入力します。 #開発者コミュニティのよくある質問 #開発者コミュニティ公式 0 0 0 114
記事 Toshihiko Minamoto · 2020年11月18日 5m read クラス、テーブル、グローバルとその仕組み クラス、テーブル、グローバルとその仕組み InterSystems IRIS を技術的知識を持つ人々に説明する際、私はいつもコアとしてマルチモデル DBMSであることから始めます。 個人的には、それが(DBMSとして)メインの長所であると考えています。 また、データが格納されるのは一度だけです。 ユーザーは単に使用するアクセス API を選択するだけです。 データのサマリをソートしたいですか?SQL を使用してください! 1 つのレコードを手広く操作したいですか?オブジェクトを使用してください! あなたが知っているキーに対して、1 つの値にアクセスしたりセットしたいですか? グローバルを使用してください! これは短く簡潔なメッセージで、一見すると素晴らしく聞こえます。しかし、実際には intersystems IRIS を使い始めるたユーザーには クラス、テーブル、グローバルはそれぞれどのように関連しているのだろうか? 互いにどのような存在なのだろうか? データは実際にどのように格納されているのだろうか?といった疑問が生じます。 この記事では、これらの疑問に答えながら実際の動きを説明するつもりです。 #SQL #オブジェクトデータモデル #グローバル #リレーショナルテーブル #初心者 #InterSystems IRIS 0 0 0 546
記事 Toshihiko Minamoto · 2020年11月16日 6m read InterSystems API Management を使用して API の負荷を分散する InterSystems API Management(IAM)は、IT インフラストラクチャ内の Web ベースの API との間のトラフィックを監視、制御、および管理できる InterSystems IRIS Data Platform の新機能です。 アナウンスを見逃した方は、こちらのリンクを参照してください。 また、IAM の使い方を説明した記事もあります。 この記事では、InterSystems API Management を使用して API の負荷を分散します。 この例では、2 つの InterSystems IRIS インスタンスを使用し、クライアントに /api/atelier REST API を公開したいと思います。 そのようにしたいと思う理由は、次のようにさまざまです。 負荷分散により、サーバー間でワークロードを分散する。 ブルーグリーンデプロイの実践。片方を「本番用」、もう片方を「開発用」とする 2 台のサーバーを用意し、それらを切り替えられるようにする。 カナリアデプロイの実践。1 台のサーバーでのみ新しいバージョンを公開し、クライアントの 1 %をそこに移動する。 高可用性構成の実現。 その他。 #API #InterSystems API Manager (IAM) #REST API #SOAP #InterSystems IRIS 0 0 0 245
記事 Toshihiko Minamoto · 2020年11月12日 15m read Prometheus で InterSystems Caché を監視する Prometheus は時系列データの収集に適した監視システムです。 #システム管理 #監視 #視覚化 #Caché 0 3 0 611
記事 Toshihiko Minamoto · 2020年11月11日 22m read Grafana ベースの mgstat(InterSystems Caché / Ensemble / HealthShareのシステム監視ツール)用 GUI こんにちは! この記事は「Prometheus で InterSystems Caché を監視する」の続きになります。 ここでは #システム管理 #監視 #視覚化 #Caché 0 0 0 452
記事 Toshihiko Minamoto · 2020年11月10日 8m read Caché ObjectScript でパフォーマンスの良い loop を書く方法について 最近行われたディスカッションの中で、Caché ObjectScript における for/while loop のパフォーマンンスが話に出ましたので、意見やベストプラクティスをコミュニティの皆さんと共有したいと思います。 これ自体が基本的なトピックではありますが、他の点では合理的と言える方法のパフォーマンスが意味する内容を見逃してしまうことがよくあります。 つまり、$ListNext を使って$ListBuild リストをイテレートするループ、または $Order を使ってローカル配列をイテレートするループが最も高速な選択肢ということです。 #Code Snippet #ObjectScript #コーディングのガイドライン #ヒントとコツ #Caché 1 0 1 532
記事 Toshihiko Minamoto · 2020年11月5日 6m read Azure BackupによるInterSystems IRISおよびCachéアプリケーション・コンシステントなバックアップ データベースシステムには非常に特殊なバックアップ要件があり、企業のデプロイメントでは、事前の検討と計画が必要です。 データベースシステムの場合、バックアップソリューションの運用上の目標は、アプリケーションが正常にシャットダウンされた時と同じ状態で、データのコピーを作成することにあります。 アプリケーションの整合性バックアップはこれらの要件を満たし、Cachéは、このレベルのバックアップ整合性を達成するために、外部ソリューションとの統合を容易にする一連のAPIを提供しています。 #Azure #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #バックアップ #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 344
記事 Toshihiko Minamoto · 2020年11月3日 123m read Caché における正規表現の使用について 1.本記事の内容 Caché パターンマッチングと同様に、Caché では正規表現を使ってテキストデータのパターンを特定することができますが、後者の場合はより高い表現力を利用できます。 本記事では正規表現を簡単に紹介し、Caché での活用方法について解説します。 本記事の情報は、主に Jeffrey Friedl 氏著作の「Mastering Regular Expressions (詳説 正規表現)」に加え、もちろん Caché のオンラインドキュメンテーションなど、様々なリソースを基に提供しています。 本記事は正規表現のあらゆる可能性や詳細について解説することを意図したものではありません。 更なる詳細にご興味のある方は、チャプター 5 に記載のソースを参照してください。 オフラインで読む場合は、PDF バージョンをダウンロードしていただけます。 #ObjectScript #チュートリアル #Caché #InterSystems IRIS 0 0 1 780
記事 Toshihiko Minamoto · 2020年10月28日 12m read $Sequence 関数について この記事では $Increment 関数と $Sequence 関数を比較します。 まずは、$Increment 関数を聞いたことがないという方のために、その概要を説明いたします。 $Increment は、CachéObjectScript の関数で、引数をアトミックに 1 ずつインクリメントし、結果の値を返します。 $Increment にパラメーターとして渡せるのはグローバル変数ノードとローカル変数ノードのみで、任意の式を渡すことはできません。 $Increment は連続する ID の割り当てに多用されます。 その場合、$Increment のパラメーターにはグローバルノードがよく使用されます。 $Increment を使用するプロセスには確実に任意の ID が割り当てられます。 #ObjectScript #Caché 0 0 1 318
記事 Toshihiko Minamoto · 2020年10月27日 14m read Cachéでの照合 秩序(順序)はだれにとっても必要であるが、皆が同じように秩序(順序)を理解しているわけではない (ファウスト・セルチニャーニ) 免責事項: この記事では、例としてロシア語とキリル文字を使用しますが、英語以外のロケールでCachéを使用するすべての方に関連のある記事です。 この記事は主にNLS照合について言及しており、SQL照合とは異なることに注意してください。 SQL照合(SQLUPPER、SQLSTRING、照合なしを意味するEXACT、TRUCATEなど)は、値に明示的に適用される実際の関数であり、その結果はグローバルサブスクリプトに明示的に格納されることがあります。 サブスクリプトに格納されると、これらの値は当然、有効なNLS照合(「SQLおよびNLS照合」)に従うことになります。 #ObjectScript #SQL #グローバル #Caché 0 0 0 552
記事 Toshihiko Minamoto · 2020年10月22日 7m read JSONの機能強化 InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。 #JSON #REST API #XML #オブジェクトデータモデル #InterSystems IRIS 0 0 0 571
記事 Toshihiko Minamoto · 2020年10月19日 5m read SQL パフォーマンスリソース SQL パフォーマンスリソース SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。 添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。 当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。 eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。 また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。 下に記載する情報には同じ内容が多く含まれています。 SQL パフォーマンスにおける最も重要な要素を以下に紹介します。 利用可能なインデックスの種類 あるインデックスの種類を他の種類の代わりに使用する TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容 Show Plan を読んでクエリの善し悪しを深く理解する方法 #SQL #パフォーマンス #InterSystems IRIS 0 0 0 222
記事 Toshihiko Minamoto · 2020年10月14日 9m read ObjectScript Class Explorer - UML 記法を使って ObjectScript クラスをみる こんにちは! この記事では、IRIS から Caché、Ensemble、HealthShare など、InterSystems の製品で使用されるクラスやその構造を理解するのに役立つツールの概要を簡単にまとめています。 つまり、そのツールはクラスやパッケージ全体を視覚化し、クラス間の相対関係を示し、ディベロッパーやチームリーダーに必要な情報をすべて提供してくれるので、わざわざ Studio に移動してコードを調べる必要が省けます。 InterSystems の製品について情報を集めている方からたくさんのプロジェクトをレビューしている方、または単純に InterSystems Technology ソリューションの新機能に興味がある方まで、ObjectScript Class Explorer の概要をぜひお読みください! #ObjectScript #オブジェクトデータモデル #ツール #視覚化 #Caché #Ensemble #HealthShare #InterSystems IRIS #Open Exchange Open Exchange app 1 0 0 377
記事 Toshihiko Minamoto · 2020年10月13日 8m read InterSystemsデータプラットフォームのGraphQL GraphQLは、クライアントとサーバー間のミドルウェア層として機能する、データ構造とデータアクセスのメソッドを選択するための標準です。 GraphQLについて聞いたことがない方は、こことこことここにある、有用なオンラインリソースをご覧ください。 この記事では、InterSystemsテクノロジーに基づいて、プロジェクトでGraphQLを使用する方法を説明します。 #API #InterSystems IRIS 0 0 0 375
記事 Toshihiko Minamoto · 2020年10月8日 18m read Ansible を使った Caché アプリケーションのプロビジョニング(パート 1) Ansible は Caché とアプリケーションコンポーネントをいかに迅速にデータプラットフォームのベンチマークにデプロイするかという課題を解決するのに役立ちました。 同じツールと方法をテストラボ、トレーニングシステム、開発環境、またはその他の環境の立ち上げも使うことができます。 顧客サイトにアプリケーションをデプロイする場合、デプロイの大部分を自動化し、アプリケーションのベストプラクティス標準に合わせてシステム、Caché、アプリケーションを確実に構成することができます。 #オープンソース #システム管理 #Caché 0 0 0 255
記事 Toshihiko Minamoto · 2020年10月5日 15m read CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 読了****目安時間: 6分 皆さん、こんにちは。 私がTDDに初めて出会ったのは約9年前のことです。すぐに夢中になってしまいました。 最近は非常に人気が出てきているようですが、残念ながら多くの企業ではあまり使われていないようです。 また、主に初心者の方ではありますが、一体それがなんであるのか、どのように使うのかといったことさえも知らない開発者もたくさんいます。 #テスト #Caché #InterSystems IRIS Open Exchange app 1 0 0 379
記事 Toshihiko Minamoto · 2020年9月30日 14m read InterSystems IRIS のクラスクエリ InterSystems IRIS のクラスクエリ InterSystems IRIS(および Cache、Ensemble、HealthShare)のクラスクエリは、SQL クエリを Object Script のコードから分離する便利なツールです。 このクエリの基本的な機能は、同じ SQL クエリを複数の場所で異なる引数で使用する場合にクエリの本文をクラスクエリとして宣言し、このクエリを名前で呼び出すことでコードの重複を回避できるというものです。 このアプローチは、次のレコードを取得するタスクを開発者が定義するカスタムクエリにも便利です。 興味が湧きましたか? それではこのまま読み進めてください! #ObjectScript #SQL #オブジェクトデータモデル #コンパイラ #言語 #Caché 0 0 0 756
記事 Toshihiko Minamoto · 2020年9月28日 6m read Arduino で気象観測 InterSystems ハッカソンの時、Artem Viznyuk と私のチームは Arduino ボード(1 台)とその各種パーツ(大量)を所有していました。 そのため、私たちは活動方針を決めました。どの Arduino 初心者もそうであるように、気象観測所を作ることにしたのです。 ただし、Caché のデータ永続ストレージと DeepSee による視覚化を利用しました! #ターミナル #Caché 1 0 0 880
記事 Toshihiko Minamoto · 2020年9月23日 45m read Amazon Web Services(AWS)向け InterSystems IRIS サンプルリファレンスアーキテクチャ Amazon Web Services(AWS)クラウドは、コンピューティングリソース、ストレージオプション、ネットワークなどのインフラストラクチャサービスの幅広いセットをユーティリティとしてオンデマンドかつ秒単位の従量課金制で提供しています。 新しいサービスは、先行投資なしで迅速にプロビジョニングできます。 これにより、大企業、新興企業、中小企業、公営企業の顧客は、変化するビジネス要件に迅速に対応するために必要なビルディングブロックにアクセスすることができます。 更新: 2019年10月15日 #AWS #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #コンテナ化 #システム管理 #プラットフォーム #高可用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 1.3K
記事 Toshihiko Minamoto · 2020年9月14日 5m read 起源から InterSystems への道のり この記事は、Caché 以前の歴史に関するかなり個人的な見方を書いたものです。 過去の記事で紹介された Mike Kadow 氏の素晴らしい著書に対抗するつもりはありません。 私たちの歴史的背景は異なるため、この記事は過去に対する別の視点を生み出すことを意図しています。 全体的な話は、1966 年に MGH(マサチューセッツ総合病院)で 8K のメモリ(18 ビットワード)[現在 = 18K バイト] を搭載した PDP-7(シリアル番号#103) が予備のシステムとして使用されたことから始まります。 #Caché 2 0 0 387