記事 Toshihiko Minamoto · 2020年11月10日 8m read Caché ObjectScript でパフォーマンスの良い loop を書く方法について 最近行われたディスカッションの中で、Caché ObjectScript における for/while loop のパフォーマンンスが話に出ましたので、意見やベストプラクティスをコミュニティの皆さんと共有したいと思います。 これ自体が基本的なトピックではありますが、他の点では合理的と言える方法のパフォーマンスが意味する内容を見逃してしまうことがよくあります。 つまり、$ListNext を使って$ListBuild リストをイテレートするループ、または $Order を使ってローカル配列をイテレートするループが最も高速な選択肢ということです。 #Code Snippet #ObjectScript #コーディングのガイドライン #ヒントとコツ #Caché 1 0 0 493
記事 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 321
記事 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 727
記事 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 0 302
記事 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 526
InterSystems公式 Toshihiko Minamoto · 2020年10月22日 Object extension for VS codeがバージョン1.0になりました 開発者コミュニティの皆さん、こんにちは。 再度ここでObjectScript extension for Visual Studio Codeについてお話しできること、ならびに今回、バージョン 1.0 のリリースを発表することに興奮しています! 開発者コミュニティはInterSystems と共に前例のない方法でこの製品を提供するために力を合わせてきました。開発者の生産性に非常に重要なツールというものは、初期の段階からコミュニティによるテスト、フィードバック、ソースコードによって構築されるのは当然のことです。 新機能 このリリースのほとんどの機能は 0.9 から存在しており、前のこの投稿でアナウンスされていました。これらの機能はすべて強化され、洗練されました。 #InterSystems公式 Open Exchange app 0 0 0 321
記事 Toshihiko Minamoto · 2020年10月22日 7m read JSONの機能強化 InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。 #JSON #REST API #XML #オブジェクトデータモデル #InterSystems IRIS 0 0 0 535
記事 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 200
記事 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 352
記事 Toshihiko Minamoto · 2020年10月13日 8m read InterSystemsデータプラットフォームのGraphQL GraphQLは、クライアントとサーバー間のミドルウェア層として機能する、データ構造とデータアクセスのメソッドを選択するための標準です。 GraphQLについて聞いたことがない方は、こことこことここにある、有用なオンラインリソースをご覧ください。 この記事では、InterSystemsテクノロジーに基づいて、プロジェクトでGraphQLを使用する方法を説明します。 #API #InterSystems IRIS 0 0 0 347
InterSystems公式 Toshihiko Minamoto · 2020年10月11日 InterSystems IRIS の新しいリリースの流れ InterSystems は、InterSystemsIRIS を新しいリリース方法を採用しようとしています(訳注:2020年現在、このリリース方法が採用されています)。このブログでは、新しいリリースモデルとお客様が予測しておくべきことを説明しています。 この内容は InterSystems IRIS ロードマップセッションの最後に行われた Global Summit で説明し、お客様から多くの肯定的なフィードバックを受け取ったものです。 この新しいモデルでは、次の 2 つのリリースストリームを提供しています。 1)EM と呼ばれる従来と同じ毎年恒例のリリース(拡張メンテナンス) 2)CD(継続的デリバリーを意味する)のタグが付けられ、コンテナ形式でのみ入手可能になる四半期ごとのリリース。 #コンテナ化 #継続的デリバリー #InterSystems IRIS #InterSystems公式 0 0 1 365
記事 Toshihiko Minamoto · 2020年10月8日 18m read Ansible を使った Caché アプリケーションのプロビジョニング(パート 1) Ansible は Caché とアプリケーションコンポーネントをいかに迅速にデータプラットフォームのベンチマークにデプロイするかという課題を解決するのに役立ちました。 同じツールと方法をテストラボ、トレーニングシステム、開発環境、またはその他の環境の立ち上げも使うことができます。 顧客サイトにアプリケーションをデプロイする場合、デプロイの大部分を自動化し、アプリケーションのベストプラクティス標準に合わせてシステム、Caché、アプリケーションを確実に構成することができます。 #オープンソース #システム管理 #Caché 0 0 0 245
記事 Toshihiko Minamoto · 2020年10月5日 15m read CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 読了****目安時間: 6分 皆さん、こんにちは。 私がTDDに初めて出会ったのは約9年前のことです。すぐに夢中になってしまいました。 最近は非常に人気が出てきているようですが、残念ながら多くの企業ではあまり使われていないようです。 また、主に初心者の方ではありますが、一体それがなんであるのか、どのように使うのかといったことさえも知らない開発者もたくさんいます。 #テスト #Caché #InterSystems IRIS Open Exchange app 1 0 0 360
記事 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 692
記事 Toshihiko Minamoto · 2020年9月28日 6m read Arduino で気象観測 InterSystems ハッカソンの時、Artem Viznyuk と私のチームは Arduino ボード(1 台)とその各種パーツ(大量)を所有していました。 そのため、私たちは活動方針を決めました。どの Arduino 初心者もそうであるように、気象観測所を作ることにしたのです。 ただし、Caché のデータ永続ストレージと DeepSee による視覚化を利用しました! #ターミナル #Caché 1 0 0 828
記事 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 364
記事 Toshihiko Minamoto · 2020年9月9日 2m read Linux にてTZ 環境変数が未設定の場合の Caché への影響 最近の大規模なベンチマーク活動で、アプリケーションのスケーリングに悪影響を与える過度の %sys CPU 時間が観察されました。 問題 TZ 環境変数が設定されていないため、 localtime() システムコールに多くの時間が費やされていることがわかりました。 観察結果を確認するための単純なテストルーチンが作成されましたが、TZ が設定されている場合と TZ が未設定の場合とでは経過時間と必要な CPUリソースが驚くほど違っていました。 TZ が設定されていない場合、localtime() から /etc/local_time への stat() システムコールの継承使用は非常に負荷が高いことがわかりました。 推奨事項 InterSystems は、x86 または Linux on Power のいずれの Linux インストール環境でも、TZ 環境変数を適切に設定して最適なパフォーマンスを確保することを強く推奨しています。 詳細については、「man tzset」を参照してください。 #インターシステムズビジネスソリューションとアーキテクチャ #システム管理 #Caché 0 0 0 195
記事 Toshihiko Minamoto · 2020年8月27日 37m read Amazon EC2 における InterSystems のテクノロジー: リファレンスアーキテクチャ 企業はグローバルコンピューティングインフラストラクチャを迅速かつ効率的に成長させて管理すると同時に、資本コストと費用を最適化して管理する必要があります。 Amazon Web Services(AWS)および Elastic Compute Cloud(EC2)コンピューティングおよびストレージサービスは、非常に堅牢なグローバルコンピューティングインフラストラクチャを提供することにより、最も要求の厳しいCachéベースのアプリケーションのニーズを満たします。 #AWS #iFind #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #システム管理 #Caché 0 0 0 899
記事 Toshihiko Minamoto · 2020年8月17日 25m read VM Backups and Caché freeze/thaw scripts この記事では、スナップショットを使用したソリューションとの統合の例を使って、外部バックアップによる Caché のバックアップ方法を紹介します。 このところ私が目にするソリューションの大半は、Linux の VMware にデプロイされているため、この記事の大半では、例として、ソリューションが VMware スナップショットテクノロジーをどのように統合しているかを説明しています。 Caché バックアップ - すぐ使えますか? Caché をインストールすると、Caché データベースを中断せずにバックアップできる Caché オンラインバックアップが含まれています。 しかし、システムがスケールアップするにつれ、より効率的なバックアップソリューションを検討する必要があります。 Caché データベースを含み、システムをバックアップするには、スナップショットテクノロジーに統合された外部バックアップをお勧めします。 #Mirroring #ヒントとコツ #インターシステムズビジネスソリューションとアーキテクチャ #システム管理 #デプロイ #バックアップ #Caché #InterSystems IRIS #InterSystems IRIS for Health #ドキュメント 0 0 0 649