記事 Mihoko Iijima · 2020年10月15日 5m read サーバ側ロジック(ObjectScript)で SQL を実行するときの DATE 型や TIME 型カラムの操作方法 これはInterSystems FAQ サイトの記事です。 DATE 型は InterSystems 製品のデータ型の %Date に、TIME 型は %Time に対応しています。 %Date は内部日付(特殊変数 $Horolog のカンマ区切り1番目)、%Time は内部時刻($Horolog のカンマ区切り2番目)を登録するタイプであるため、サーバ側ロジックでは表示モードを切り替えない限り、内部(論理)形式の値が使用されます。サーバ側ロジックで内部日付・時刻の表示形式を変更する方法は、操作方法により異なります。 以降の実行例では、Sample.Person テーブルを使用して解説します。(コマンド実行例は SELECT 文で記載していますが、更新文に対しても同様に記述できます。) #ObjectScript #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 761
記事 Hiroshi Sato · 2020年10月15日 1m read カウンタとして時間経過を正確に計測する方法 これはInterSystems FAQ サイトの記事です。 $ZHorologを使用します。 $ZHorologシステム変数はInterSystems製品を起動してからの経過時間(秒)を保持しています。 2点間の$ZHorolog値の差を取るだけで正確な経過時間を取得する事が出来ます。 詳しくは以下、ドキュメントをご参照ください。 $ZHorologについて【IRIS】 $ZHorologについて この他、秒の小数部を含む時間の日付と時間の取得には $NOW, $ZTimeStamp が使用できます。 #ObjectScript #Caché #Ensemble #InterSystems IRIS 1 0 0 168
記事 Mihoko Iijima · 2020年10月15日 6m read 誤って削除したグローバルを復旧させる方法 これはInterSystems FAQ サイトの記事です。 この記事では「グローバルを誤って削除してしまった!」という場合の対処方法をご紹介します。 誤って削除してしまった特定のグローバルを復旧するためには、バックアップファイルとジャーナルを使用します。復旧は、^ZJRNFILTユーティリティによるジャーナルリストアで条件を指定してジャーナルレコードをリストアする方法で行います。この方法で、ある時点のデータベースのバックアップに対して、削除が含まれるジャーナルレコードについて特定グローバルを削除するまでのものを適用することができます。 ^ZJRNFILTユーティリティの詳細については、以下のドキュメントをご参照ください。 #ObjectScript #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 462
記事 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 340
記事 Henrique Dias · 2020年10月8日 2m read 概要 npm-iris npm-iris とは何ですか? N.P.Mは "No Project Mess "の略です。 N.P.M.は、InterSystems IRISとBootstrap 4を使用したプロジェクト&タスク管理アプリです。 No Project Messは、シンプルで直感的なプロジェクトとタスクの管理ソフトウェアで、開発者や中小企業が日々の複雑な問題を軽減できるように作成されています。 スプレッドシート、カンバン、カレンダー、ガントチャートなど、タスクのためのさまざまなビューを提供しています。 #CSP #Docker #JavaScript #ObjectScript #REST API #オープンソース #フロントエンド #Caché #InterSystems IRIS #Open Exchange Open Exchange app 0 2 0 142
記事 Toshihiko Minamoto · 2020年10月8日 18m read Ansible を使った Caché アプリケーションのプロビジョニング(パート 1) Ansible は Caché とアプリケーションコンポーネントをいかに迅速にデータプラットフォームのベンチマークにデプロイするかという課題を解決するのに役立ちました。 同じツールと方法をテストラボ、トレーニングシステム、開発環境、またはその他の環境の立ち上げも使うことができます。 顧客サイトにアプリケーションをデプロイする場合、デプロイの大部分を自動化し、アプリケーションのベストプラクティス標準に合わせてシステム、Caché、アプリケーションを確実に構成することができます。 #オープンソース #システム管理 #Caché 0 0 0 238
記事 Toshihiko Minamoto · 2020年10月5日 15m read CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 CachéとCosFakerを使ったテスト駆動開発の簡単な紹介 読了****目安時間: 6分 皆さん、こんにちは。 私がTDDに初めて出会ったのは約9年前のことです。すぐに夢中になってしまいました。 最近は非常に人気が出てきているようですが、残念ながら多くの企業ではあまり使われていないようです。 また、主に初心者の方ではありますが、一体それがなんであるのか、どのように使うのかといったことさえも知らない開発者もたくさんいます。 #テスト #Caché #InterSystems IRIS Open Exchange app 1 0 0 346
記事 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 656
記事 Megumi Kakechi · 2020年9月30日 2m read コンソールログに出力される [SYSTEM MONITOR] DBLatency... の警告について これはInterSystems FAQ サイトの記事です。 DBLatency の Warning メッセージは、ヘルス・モニタプロセスが定期的にデータベースからのランダム読み取りが完了するまでに要した時間(ミリ秒)を計測していて、設定されている閾値(1000 msec)を超えた場合に出力されます。 mm/dd/yy-18:31:15:060 (2932) 1 [SYSTEM MONITOR] DBLatency(c:\xxx\) Warning: DBLatency = 1510 ( Warnvalue is 1000). 上記例では、C:\xxx\IRIS.DAT(または C:\xxx\CACHE.DAT)へのディスク読み取り I/O に 1510 msec かかったことを示していて、メッセージ出力時のディスク I/O 応答速度が遅いことが考えられます。 ディスク I/O 応答速度が遅い原因としては、ディスク I/O 負荷が高いことが考えられます。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 389
記事 Mihoko Iijima · 2020年9月29日 2m read SQLで最後に更新したIDを取得するには? これはInterSystems FAQ サイトの記事です。 LAST_IDENTITY() SQL関数を使用すると取得できます。※ この関数は、埋め込み SQL または ODBC 利用時に使用できます。ダイナミック SQL、SQL シェル、または管理ポータルの SQL インタフェースによる値には設定されません。 簡単な埋め込み SQL での例をご紹介します。 #ODBC #SQL #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 954
記事 Toshihiko Minamoto · 2020年9月28日 6m read Arduino で気象観測 InterSystems ハッカソンの時、Artem Viznyuk と私のチームは Arduino ボード(1 台)とその各種パーツ(大量)を所有していました。 そのため、私たちは活動方針を決めました。どの Arduino 初心者もそうであるように、気象観測所を作ることにしたのです。 ただし、Caché のデータ永続ストレージと DeepSee による視覚化を利用しました! #ターミナル #Caché 1 0 0 796
記事 Hiroshi Sato · 2020年9月28日 1m read ルーチン一覧をプログラミングで取得する方法 これはInterSystems FAQ サイトの記事です。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 372
記事 Hiroshi Sato · 2020年9月28日 1m read クライアントのIPやマシン名を取得する方法 これはInterSystems FAQ サイトの記事です。 言語バインディングなどのサーバクライアント型で接続した場合、クライアントのマシン名は以下の処理で取得できます。 set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName クライアントのIPアドレスは以下の処理で取得できます。 set ip=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress * サーバーとクライアントが同一マシンの場合、上記で取得できるIPアドレスは、127.0.0.1になります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 632
記事 Megumi Kakechi · 2020年9月27日 2m read コンソールログに出力される「Pausing users because the Write Daemon has not shown...」のエラーについて これはInterSystems FAQ サイトの記事です。コンソールログ(message.log/cconsole.log)に、以下のようなログが出力される場合があります。 MM/DD/YY-hh:mm:ss:sss (pid) 2 CP: Pausing users because the Write Daemon has not shown signs of activity for xxx seconds. Users will resume if Write Daemon completes a pass or writes to disk (wdpass=yyyy). このメッセージは、コントロールプロセスが出力しています。このプロセスは、ライトデーモン(WriteDaemon)等の主要なシステムプロセスを監視しています。 #パフォーマンス #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 361
記事 Tomoko Furuzono · 2020年9月17日 17m read SQLクエリパフォーマンスの監視 Caché 2017以降のSQLエンジンには新しい統計一式が含まれています。 これらの統計は、クエリの実行回数とその実行所要時間を記録します。 これは、多くのSQLステートメントを含むアプリケーションのパフォーマンスを監視する人や最適化を試みる人にとっては宝物のような機能ですが、一部の人々が望むほどデータにアクセスするのは簡単ではありません。 #SQL #パフォーマンス #監視 #Caché #InterSystems IRIS 0 0 0 301
記事 Hiroshi Sato · 2020年6月29日 2m read ターミナルやAPIを使用してネームスペースやデータベースを作成する方法 Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。 *実行は、%SYSネームスペースで行って下さい。* #API #ObjectScript #システム管理 #ターミナル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 3 0 644
記事 Mihoko Iijima · 2020年9月16日 2m read アンチウイルスソフト(セキュリティソフト)のスキャンから除外してほしいリスト これはInterSystems FAQ サイトの記事です。 InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。 具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。 データベースファイル(IRIS.DAT/CACHE.DAT) <インストールディレクトリ>/bin 内の実行可能ファイル(EXE) ライトイメージジャーナル(WIJ) ジャーナルディレクトリ内のジャーナルファイル 上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」 のようなエラーが発生する場合があります。 #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 345
記事 Mihoko Iijima · 2020年9月16日 1m read ObjectScript でプログラミングを行うときのエラー処理方法について これはInterSystems FAQ サイトの記事です。 サーバ側ロジックの記載に使用する ObjectScript でのエラーが発生した場合の対処方法については「ObjectScriptでエラーが発生したら」にまとめています。 ぜひご参照ください! #ObjectScript #エラーハンドリング #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 174
記事 Tomoko Furuzono · 2020年9月15日 14m read Cachéでのカスタムインデックスタイプの作成 Cachéデータベースのオブジェクトおよびリレーショナルデータモデルは、標準、ビットマップ #オブジェクトデータモデル #SQL #インデックス付け #データベース #Caché #InterSystems IRIS 0 0 0 230
記事 Toshihiko Minamoto · 2020年9月14日 5m read 起源から InterSystems への道のり この記事は、Caché 以前の歴史に関するかなり個人的な見方を書いたものです。 過去の記事で紹介された Mike Kadow 氏の素晴らしい著書に対抗するつもりはありません。 私たちの歴史的背景は異なるため、この記事は過去に対する別の視点を生み出すことを意図しています。 全体的な話は、1966 年に MGH(マサチューセッツ総合病院)で 8K のメモリ(18 ビットワード)[現在 = 18K バイト] を搭載した PDP-7(シリアル番号#103) が予備のシステムとして使用されたことから始まります。 #Caché 2 0 0 354
記事 Tomoko Furuzono · 2020年9月10日 3m read 日付範囲クエリのSQLパフォーマンスを改善する vol2 日付範囲クエリが極端に遅くなっていませんか? SQLのパフォーマンスが低下していませんか? 日付範囲のサブクエリをまだご覧になっていない場合は、前回の投稿をご確認ください。https://jp.community.intersystems.com/post/日付範囲クエリのsqlパフォーマンスを改善する なぜ、こうも日付クエリに注目しているのでしょうか? それは、日付クエリが重要だからです。 それは報告であり、統計であり、自分の素晴らしい仕事を上司に証明するための数字です(もちろん、あなたが実際にそうしていればの話ですが )。では、前回と同じようなテーブルを見てみましょう。ただし、実際には MAXLEN と MINLEN を次のように適切に定義します。 #Code Snippet #SQL #Caché #InterSystems IRIS 1 0 0 670
記事 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 182
記事 Tomoko Furuzono · 2020年9月7日 6m read フリーテキスト検索:SQL開発者が秘密にしているテキストフィールドの検索方法* アプリケーションに、効率的に検索したいフリーテキストを含むフィールドがありますか?これまで複数の方法を試してみたものの、顧客が要求するパフォーマンスを満たせなかった経験はありませんか?私は変わった手段を使ってあらゆる問題を解決できると思っていませんか。もうご存じですよね。私ができるのは、パフォーマンス低下に対処する優れたソリューションを提供することです。 #iFind #オブジェクトデータモデル #ObjectScript #SQL #インデックス付け #Caché #InterSystems IRIS 0 0 0 322
記事 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 874
質問 Hiroshi Sato · 2020年8月26日 InterSystems製品のIsolation レベルについて教えてください。 #Caché #InterSystems IRIS 0 1 0 315
記事 Shintaro Kaminaka · 2020年8月26日 23m read InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート3 作成者:Daniel Kutac(InterSystems セールスエンジニア) パート 3. 付録 InterSystems IRIS OAUTH クラスの説明 この連載の前のパートでは、InterSystems IRIS を OAUTH クライアントおよび認可/認証サーバー(OpenID Connect を使用)として機能するように構成する方法について学びました。 この連載の最後のパートでは、InterSystems IRIS OAuth 2.0 フレームワークを実装するクラスについて説明します。 また、一部の API クラスのメソッドの使用例についても説明します。 OAuth 2.0 を実装する API クラスは、目的に応じて 3 種類のグループに分けることができます。 すべてのクラスは %SYS ネームスペースで実装されています。 これらの一部は(% package 経由で)公開されていますが、一部は非公開になっており、開発者が直接呼び出すことはできません。 #OAuth2 #セキュリティ #アクセス制御 #認証 #Caché #Ensemble #InterSystems IRIS 0 0 0 308
記事 Shintaro Kaminaka · 2020年8月20日 23m read InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート2 作成者:Daniel Kutac(InterSystems セールスエンジニア) 注意: _使用されている URL に戸惑っている方のために。元の連載記事では、dk-gs2016 と呼ばれるマシンの画面を使用していました。 新しいスクリーンショットは別のマシンから取得されています。 *WIN-U9J96QBJSAG という URL は dk-gs2016*_ であると見なしても構いません。 #OAuth2 #セキュリティ #アクセス制御 #認証 #Caché #Ensemble #InterSystems IRIS 0 0 0 389
記事 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 620
記事 Shintaro Kaminaka · 2020年8月12日 6m read RESTForms - 永続クラスにREST APIをアドオンする パート2: クエリ 最初の記事では、RESTForms(永続クラス用のREST API)について説明をしました。 基本的な機能についてはすでに説明しましたが、ここではクエリ機能を中心とする高度な機能について説明します。 基本クエリ クエリ引数 カスタムクエリ クエリ クエリを使用すると、任意の条件に基づいてデータの一部を取得できます。 RESTFormsには、2種類のクエリがあります。 #SOAP #フロントエンド #Caché 0 0 0 130
記事 Mihoko Iijima · 2020年8月5日 7m read 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS での JSON の操作 IRIS サーバ側で JSON の操作を行う方法を解説します(3つのビデオに分かれています)。 ビデオ① :ダイナミックエンティティの操作練習 ビデオ② :ダイナミックエンティティで利用できるメソッドの練習 ビデオ③ :SQL関数と %JSON.Adapter の使い方 なお、このビデオには、以下の関連ビデオがあります。ぜひご参照ください。 #JSON #ObjectScript #REST API #ビデオ #初心者 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.1K