お知らせ Toshihiko Minamoto · 2月 17, 2021

皆さん、こんにちは!

InterSystems のグローバルマスターズ・アドボケート・ハブがディベロッパーコミュニティ (DC) と緊密につながっていることは、皆さんご存知ではないでしょうか。 DC に何らかの貢献をされると、グローバルマスターズのポイントを獲得できます。 

そこで、 グローバルマスターズでポイントを獲得するベストな方法について簡単なガイドを作成しました。

2021/3/19: 投稿や翻訳に関するポイントが改定されましたので、修正しています。記事の投稿で得られるポイントはローンチ期間限定です。

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    開発者コミュニティへの記事の投稿
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px"><strong>400<sup>※</sup></strong></p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
    最初のコメント<br />コメントごと
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
    <p style="text-align:right; margin-right:14px">300<br />30</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    最初に受け入れられた回答<br />受け入れられた回答ごと<br />5 / 10 / 25 / 50 回目の受け入れられた回答
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px">1000<br />150<br />4,000 / 8,000 / 20,000 / 40,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
    開発者コミュニティの記事を翻訳
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
    <p style="text-align:right; margin-right:14px"><strong>100</strong></p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    1 / 5 / 10 / 25 / 50 回目の記事を投稿
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px">1,500 / 7,500 / 15,000 / 40 000 / 75 000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
     1 / 5 / 10 / 25 / 50 回目の質問を投稿
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
   <p style="text-align:right; margin-right:14px">500 / 2,000 / 5,000 / 15,000 / 30,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    OpenExhangeにアプリケーションを登録<br />ZPMアプリのボーナスポイント<br />1 / 5 / 10 / 25回目のアプリ登録
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px">800<br />400<br />1,000 / 10,000 / 25,000 / 75,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
    投稿した記事の閲覧数が 750以上 / 2,000 以上 / 5,000 以上 / 15,000 以上
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
    <p style="text-align:right; margin-right:14px">600 / 2,500 / 7,000 / 20,000 </p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    開発者コミュニティの記事を読む<br />ビデオを見る<br />SNSで記事やビデオを共有
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
   <p style="text-align:right; margin-right:14px"> 10<br />20<br />40</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
   ベストプラクティスタグの付与された記事が1 / 2 / 3 / 4 / 5 件
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
   <p style="text-align:right; margin-right:14px"> 1,000 / 3,000 / 7,000 / 10,000 / 15,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    Open Exchangeに登録したアプリが 50 / 100 / 250 / 500 / 1,000 回ダウンロード
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px">2,500 / 5,000 / 7,500 / 12,500 / 25,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
    InterSystems や InterSystems 製品 に関するレビュー記事を投稿
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
    <p style="text-align:right; margin-right:14px">2,000 ~ 3,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    同僚を開発者コミュニティに招待する
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
    <p style="text-align:right; margin-right:14px">600</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
    Open Exchange に公開したアプリに関するビデオを作成する
  </td>
  
  <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
    <p style="text-align:right; margin-right:14px">3,000</p>
  </td>
</tr>

<tr style="height:19.85pt">
  <td colspan="2" style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
    <p style="text-align:right;font-size:8pt">*グローバルマスターズ・アドボケート・ハブへの登録後に掲載された記事・コメントのみ。</a>
  </td>
</tr>

グローバルマスターズでポイントを獲得する方法

0
0 166
記事 Toshihiko Minamoto · 2月 16, 2021 8m read

グローバルをクラスにマッピングする技術 (1/3)

グローバルをクラスにマッピングする技術 (1/3)

古くなった MUMPS アプリケーションに新たな生命を吹き込みたいとお考えですか?  以下にご紹介するステップを実行すれば、既存のグローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

本記事を含む合計 3 回の連載を通じてご紹介する簡単なステップを使えば、すべてのグローバル (特殊なものは除く) を Caché のクラスにマッピングできるようになります。  特殊なものについては、私が長年に渡って集めた様々な種類のマッピングを zip ファイルにまとめて提供いたします。  これは新しいデータを対象としたステップではありません。グローバルがないという方は、デフォルトのストレージをお使いください。

グローバルデータについて理解できないという方は、Support@InterSystems.com までデータをお送りください。喜んでサポートさせていただきます。

グローバルをクラスにマッピングするステップ。

1
1 446
記事 Toshihiko Minamoto · 2月 11, 2021 27m read

InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート 

  注意: 本ガイド (特に前提条件のセクション) を理解するには、AWS に関する中級から上級レベルの知識が必要になります。 S3 バケット、EC2 インスタンスの IAM ロール、VPC、サブネットを作成する必要があります。 また、InterSystems バイナリへのアクセス (通常は WRC サイトからダウンロード可) および IRIS のライセンスキーも必要になります。
  2020 年 8月 12日
Anton Umnikov

テンプレートのソースコードは、こちらから入手していただけます: https://github.com/antonum/AWSIRISDeployment

目次

InterSystems IRIS デプロイガイド – AWS パートナーネットワーク

はじめに

前提条件と要件

所要時間

製品ライセンスとバイナリ

AWS アカウント

IAM エンティティ (ユーザー)

EC2 の IAM ロール

S3 バケット

VPC とサブネット

EC2 キーペア

必要な知識

アーキテクチャ

マルチ AZ 配置による耐障害性を備えたアーキテクチャダイアグラム (優先)

シングルインスタンンス、シングル AZ 配置のアーキテクチャダイアグラム (開発およびテスト)

デプロイメント

セキュリティ

0
0 447
記事 Toshihiko Minamoto · 2月 8, 2021 10m read

これで 3 記事目になります (パート 1パート 2 をご覧ください) が、引き続き Caché データベースの内部構造をご紹介いたします。 今回は、興味深い内容をいくつかご紹介し、私の Caché Blocks Explorer プロジェクトを使って作業の生産性をアップさせる方法について説明します。

0
1 178
記事 Toshihiko Minamoto · 2月 4, 2021 6m read

開発者の皆さん、こんにちは!

InterSystems ObjectScript でライブラリやツール、パッケージなどを開発していると、「このパッケージはどうすればターゲットマシンに展開できるのか?」という疑問がよく浮かびます。

また、私たちは、既に別のライブラリがインストールされていることを想定したり、その特定のバージョンのことを考慮したりしながらパッケージを開発しています。

JavaScript や Python などでコーディングを行うと、依存関係を管理しながらパッケージを展開するのに パッケージ管理システム が必要になります。

これを踏まえ、 InterSystems ObjectScript Package Manager のリリースを発表したいと思います!

0
0 336
記事 Toshihiko Minamoto · 2月 2, 2021 9m read

この記事は Caché データベースの内部構造を説明したこちらの記事の続編です。 そちらの記事では、様々なブロックタイプ、それぞれのつながりやグローバルとの関係について説明しました。 純粋に理論を述べた記事でした。 ブロックツリーを視覚化するのに役立つプロジェクトを作成しましたので、この記事ではその仕組みを詳しく説明します。

0
0 309
記事 Toshihiko Minamoto · 1月 28, 2021 4m read

独自の組織データアーキテクチャを書き、InterSystems IRIS にマッピングする必要がある場合は、以下にご紹介するデータアーキテクチャダイアグラムおよび InterSystems IRIS ドキュメンテーションのリファレンスに記載されている内容を考慮してください。

アーキテクチャマッピング

  • SQL データベース: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GSQL
  • 管理されるファイル: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=AFL_mft および https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=SETEDIGuides
  • IoT ブローカー、イベント、センサー: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=EMQTT
  • メッセージ: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=EMQS
  • 0
    0 225
    記事 Toshihiko Minamoto · 1月 26, 2021 7m read

    2019年 10月 17日

    Anton Umnikov
    InterSystems シニアクラウドソリューションアーキテクト
    AWS CSAA、GCP CACE

    AWS Glue は、完全に管理された ETL (抽出、変換、読み込み) サービスです。データの分類、クリーンアップ、強化、そして様々なデータストア間でデータを確実に移動させるという作業を簡単にかつコスト効率の良いかたちで行えるようにするものです。

    InterSystems IRIS の場合、AWS Glue を使用すれば、大規模なデータをクラウドとオンプレミスのデータソースの両方から IRIS に移動させることができます。 ここで考えられるデータソースは、オンプレミスのデータベース、CSV、JSON、S3 バケットに保管されている Parquet ファイルならびに Avro ファイル、AWS Redshift や Aurora といったクラウドネイティブのデータベースを含みますが、これらに限定されません。

    0
    0 716
    記事 Toshihiko Minamoto · 1月 21, 2021 9m read

    InterSystems Caché のグローバルは、デベロッパーにとって非常に便利な機能を提供します。 しかし、グローバルが高速な上に効率が良いのはなぜでしょう?

    理論

    基本的に、Caché データベースとは、データベースと同じ名前を持ち、CACHE.DAT ファイルを含んだカタログのことです。 Unix システムでは、このデータベースを普通のディスクパーティションにすることもできます。

    Caché のデータはすべてブロックとして保管され、バランスド B* ツリーとして整理されます。 基本的にすべてのグローバルがツリーに保管されると考えると、グローバルのサブスクリプトはツリーの枝を意味する一方で、グローバルのサブスクリプトの値はツリーの葉として保管されると言えます。 バランスド B* ツリーと通常の B ツリーの違いは、前者の枝には $Order$Query の両関数を使ってサブスクリプト (この記事ではグローバル) のイテレーションをスピーディに実行するのに役立つ適切なリンクがあり、ツリーの幹に戻る必要がないという点です。 

    0
    1 557
    記事 Toshihiko Minamoto · 1月 19, 2021 6m read

    みなさん、こんにちは。

    前回の記事では1個のBME280で気象データを取得したのですが、気温のブレが大きかったので基板から
    ただ、基板につけたBME280のはんだを外すのが大変なので、別のBME280を外付けすることにしました。
    当初、ESP8266の別のIO端子と接続することを考えていたのですが、Wire.hが複数のバスに対応していない
    ため、以下の配線図のようにカスケード接続することにしました。

     

    カスケード接続するということは、外付けのBME280でI2Cのアドレスを変えないといけません。幸いBME280は0x76と0x77の切り替えができるようです。
    こちらの資料を見ると、基板上に3つの端子があり、左2つがつながると0x76,右2つがつながると0x77になるそうで、左2つの端子はつながっているので、ナイフで切断しなさいとなっていました。
    で今回購入したセンサーを見ると、端子はあるけど左2つの端子の間はつながっていません。よく見るとセンサーの左下の端子の左側がつながっており、これで左2つの端子がショートしていることになります。
     
    なので、センサーの左下端子の左側をカッターで切断しました。ルーペが無かったので、カミさんのスマホスタンドを借りて、スマホのカメラで拡大しながら、慎重に切断、テスターで抵抗値を確認... 50歳を過ぎたオッサンの作業としては非常に辛いものとなりました(笑)。

    0
    0 982
    記事 Toshihiko Minamoto · 1月 19, 2021 5m read

    皆さん、こんにちは。
    寒い日が続きますね。
    前々回の記事でDHT11とBMP180を使って作成したのですが、実際に外に置いて計測してみると、氷点下の場合、12~13℃となってしまい、正しく計測できませんでした。(先にデータシートを確認しておけばよかったのですが、DHT11、BMP180共に0℃以上になっていました...)
    そこで代わりのセンサーが無いか探していたところ、BME280というセンサーが見つかりました。-40℃から85℃まで測れ、BMP180と同じBosch製で値段も数百円。

    センサーモジュールはBMP280と共用の基板で、どちらなのか印がなく、湿度が測れるのかどうかちょっと心配していましたが、注文通りBME280だったらしく、湿度も測れました。
     配線図は以下のようになります。BMP180と同様にI2Cで接続しています。また、今回は別のESP8266とユニバーサル基板を使って配線をやり直すついでに電源をUSB給電から3Vの電池にしています。
     

    0
    0 804
    記事 Toshihiko Minamoto · 1月 19, 2021 7m read

    デバッガーは使わないという人はいますか? 最後に使ったのはいつだったか、記憶にないですね。 それは、嫌いだからではなくて、単に必要ないからなんです。 その一番の理由は、ある種の開発手法を使っているおかげで、バグの発生を少なく抑えたり、単体テストのレベルで発見したり、バグをとても簡単に追跡できたりするからです。

    以下にいくつかヒントを紹介します...

    1. 独自の COS チートシートを作成する。

    これは主に COS の初心者が対象になります。 バグを引き起こす大きな原因の一つとして、特定のコマンドや関数の動作を理解していないということがあります。 時間をかけて言語を学び、そのすべてのバリエーションを試すことをおすすめします。 それから独自のチートシートを作成することで、知識が固まり、さっと使えるレビューツールも出来上がります。 生産性アップにつながるほか、避けられるはずのバグをうっかり書いてしまう頻度を確実に減らすことができます。

    2. スタジオで「変数の追跡」をオンにする

    まだオンにしていない方は、スタジオの 「 ツール 」「 オプション 」メニューにて、「 環境」フォルダの「クラス」と順に移動し、「変数を追跡する」のチェックボックスにチェックを入れてください。 宣言時に初期化されていない変数を使用する場合は、その変数の下に波線が引かれます。 このおかげで、うっかりタイプミスはありません。

    0
    0 166
    記事 Toshihiko Minamoto · 1月 14, 2021 6m read

    前回のつづきとして、いよいよIRISのインターオペラビリティ機能を使ってMQTTブローカーからメッセージを受信し、データベースに格納する方法について解説したいと思います。IRISのインターオペラビリティ機能につきましてはこちらをご参照ください。

    ネームスペース作成

    インストール時に作成されているUSERネームスペースはInteroperabilityに必要なライブラリを参照するためのマッピングができていません。
    そのため、新たにネームスペースを作成する必要があります。
    作成方法は、以下の通りです。

    1. システム管理ポータルを起動し、「システム管理」「構成」「システム構成」「ネームスペース」をクリックします。
    2. 以下のようなネームスペース一覧画面が表示されますので、上にある「新規ネームスペース作成」ボタンをクリックします。 
    3. 以下のような新規ネームスペース作成画面が表示されますので、「ネームスペース名」欄にネームスペースの名称を入力し、「グローバルのための既存のデータベースを選択」欄、「ルーチンのための既存のデータベースを選択」欄で共にデータベース「USER」を選択します。
      「相互運用プロダクション用にネームスペースを有効化」欄にチェックが付いていることを確認の上、画面上の「保存」ボタンをクリックします。
    4. 以下のような処理ログが表示されますので、画面下の「閉じる」ボタンをクリックします。
    0
    0 548
    記事 Toshihiko Minamoto · 1月 13, 2021 2m read

    デベロッパーの皆さん、こんにちは! InterSystems Package Manager (ZPM) は、素晴らしいツールですが、インストールせずにすぐ使用できたら、さらに便利です。

    それを実現する方法はいくつかあります。以下に dockerfile を使って ZPM をビルドした IRIS コンテナを用意する方法をご紹介します。

    リポジトリを作成し、そのdockerfile に数行のコードを記述しました。これを使えば、最新バージョンの ZPM をダウンロードし、インストールできます。 

    IRIS コミュニティエディション用のあなたの dockerfile にこれらのコマンドを追加すれば、ZPM がインストールされ、使用できるようになります。

    最新の ZPM クライアントをダウンロードするコマンドは以下の通り。

    0
    0 238
    記事 Toshihiko Minamoto · 1月 11, 2021 4m read

    前回の記事では、データの変更を簡単に記録できる方法をお見せしました。 今回は、監査ログが記録されるデータ構造と監査データを記録する「Audit Abstract クラス」を変更しました。

    また、データ構造は親構造と子構造に変更し、それぞれに「トランザクション」とそのトランザクションで「その値によって変更されたフィールド」を記録するテーブルが 2 つ設けられます。

    新しいデータモデルをご覧ください。

    「監査クラス」から変更したコードをご覧ください。

    0
    0 158
    記事 Toshihiko Minamoto · 1月 6, 2021 25m read

    データ分析のためにInterSystemsで何ができるかを確認したいとしましょう。 理論を学んだので今度は実践したいと考えた時、InterSystems には、役に立つ実例をいくつか取り入れた Samples BI というプロジェクトが用意されています。 まずは、README ファイルを開き、Docker に関する内容はすべてスキップして、手順に従ってインストールしてゆきます。 仮想インスタンスを起動し、そこに IRIS をインストールしたら、手順に従って Samples BI をインストールします。そして綺麗なチャートやテーブルを見せて上司に感心してもらいましょう。 ここまでは順調ですね。 

    必然的に、ここで変更を加えることになります。

    0
    0 427
    お知らせ Toshihiko Minamoto · 1月 6, 2021

    コミュニティの皆さん、こんにちは! 

    Open Exchange にアプリケーションが掲載されるたびに、グローバルマスターズのポイントを獲得できるのはご存知でしたでしょうか。 つい最近、ZPM アプリケーションに対するボーナスポイントを導入いたしました。 これで各 ZPM アプリケーションにつき 400 ポイントをゲットできるようになりました! ポイントは自動的に調整されます。** **
    ポイントと利用可能なリワードについては、グローバルマスターズでご確認ください。今すぐアクセスしましょう!

    0
    0 109
    記事 Toshihiko Minamoto · 1月 5, 2021 9m read

    はじめに

    多くのアプリケーションに共通する要件は、データベース内のデータ変更のログ記録です。どのデータが変更されたか、誰がいつ変更したかをログに記録する必要があります(監査ログ)。 このような質問について書かれた記事は多く存在し、Caché で行う方法の切り口もさまざまです。

    そこで、データ変更を追跡して記録するためのフレームワークを実装しやすくする仕組みを説明することにします。 これは、永続クラスが「監査抽象クラス」(Sample.AuditBase)から継承すると「objectgenarator」メソッドを介してトリガーを作成する仕組みです。 永続クラスは Sample.AuditBase から継承されるため、永続クラスをコンパイルすると、変更を監査するためのトリガーが自動的に生成されます。

    監査クラス  

    次は、変更が記録されるクラスです。

    0
    0 261
    記事 Toshihiko Minamoto · 12月 30, 2020 5m read

    皆さん、こんにちは

    前回のつづきとしてESP8266からMQTTブローカーに接続し、データを送信する部分の内容ついて説明したいと思います。

    今回は温度湿度センサーのDHT11と気圧センサーのBME180を使って気温、湿度、気圧を計測し、1分に1回、MQTTブローカーに送信しています。

    ハードウェア

    回路図は以下のようにDHT11のDATAピンはGPIO、BMP180のSDA,SCLピンはそれぞれGPIO2,GPIO5に接続しました。
    電源は紆余曲折の末、単純にmicro USBから供給し、NodeMCUのボードから出力されている3.3Vをそれぞれのセンサーで使用しています。

        

    今回は外気温を測りたかったので、ケースに入れた方が良いと思いましたが、ブレッドボードだと見合った箱がありませんでした。
    そこで、手元にあったユニバーサル基板にESP8266をはんだ付けし、100均で購入した食品保存用の箱に入れてみました。

         

    箱からUSB電源の接続やセンサーとリード線を出す必要がありますので、ニッパで適当に欠きとっています。
    センサーは各ピンとリード線をはんだ付けし、熱収縮チューブで覆っています。BMP180の表面はそのままですが...

          

    ソフトウェア

    ESP8266のプログラムはArduino IDEを利用し、以下のプログラムを書きこんでいます。

    0
    0 2300
    お知らせ Toshihiko Minamoto · 12月 27, 2020

    コミュニティの皆さん、こんにちは!  
    もうご存知かと思いますが、グローバルマスターズでは、InterSystems IRIS、IRIS for Health、Interoperability (Ensemble)、IRIS Analytics (DeepSee)、Caché、HealthShare など、InterSystems のどの製品に関しても InterSystems のエキスパートによるコンサルテーションをご利用いただけます

    そして、皆さまに嬉しいお知らせがあります。このコンサルテーションが 英語、ポルトガル語、ロシア語、ドイツ語、フランス語、イタリア語、スペイン語、日本語、中国語でご利用いただけるようになりました。  さらに、 時間も 1 時間半に拡大され、お好きなトピックについて細かくご相談いただけるようになりました。

     

    0
    0 117
    記事 Toshihiko Minamoto · 12月 25, 2020 8m read

    InterSystems は自社が提供する InterSystems IRIS の Dockerイメージについて、Linux 環境での使用のみをサポートしています。 Docker for Windows は Linux プラットフォームのようにコンテナをネイティブプロセスとして実行するのではなく、Windows の仮想化機能である Hyper-V で実行される Linux VM を作成してコンテナをホストします。 このような追加レイヤーによって複雑度が増しているため、InterSystems は現時点で Docker for Windows をサポートすることができません。

    0
    0 647
    記事 Toshihiko Minamoto · 12月 24, 2020 6m read

    皆さんこんにちは。

    IRIS 2020.1からMQTTアダプタが新たに追加されました。MQTTはPublish/Subscribe型のシンプルで軽量なメッセージングプロトコルです。帯域が低いネットワーク環境やArduinoやRaspberry PIといったワンボードマイコンやシングルボードコンピュータなどでも動作できます。
    今回はクラウド上のUbuntuサーバにIRISをインストールし、MQTTアダプタを使いEsp8266というマイコンで取得した温度、湿度、気圧データをIRIS上のデータベースに登録する方法について説明したいと思います。

    アーキテクチャ

    今回のアーキテクチャは以下の通りです。

     

    データを送受信するマイコンやアプリケーションにMQTTクライアントを組み込み、MQTTクライアントがMQTTブローカーというメッセージを転送するソフトウェアに接続します。

    同じMQTTブローカーにつながっているMQTTクライアントにてメッセージを送信したい場合はPublishメッセージを使用し、メッセージと共にトピックと呼ばれるメッセージの種類を表す文字列を送信します。情報を受信したい場合はSubscribeメソッドを使用し、受信したいトピックを指定します。

    IRISのインストール

    0
    0 1662
    記事 Toshihiko Minamoto · 12月 23, 2020 3m read

    新しい動的 SQL クラス(%SQL.Statement および %StatementResult)のパフォーマンスは %ResultSet より優れてはいますが、%ResultSet の使用方法をせっかく学習したので、しばらくの間新しい方を使用せずにいましたが、 やっとチートシートを作ったので、新しいコードを書いたり古いコードを書き直す際に役立てています。 皆さんのお役に立てればいいなと思っています。

    次に示すのは、私のチートシートの詳細版です。

    0
    0 226
    記事 Toshihiko Minamoto · 12月 22, 2020 13m read

    HealthShare の理想的な Apache HTTPD Web サーバー構成に関するお問い合わせをよくいただいています。 この記事では、真っ先に推奨される HealthShare 製品の Web サーバー構成について概要を説明します。

    何よりもまず第一に、Apache HTTPD バージョン 2.4.x(64ビット)を使用することをお勧めします。 2.2.x のような旧バージョンも使用できますが、HealthShare のパフォーマンスとスケーラビリティを確保するにはバージョン 2.2 はお勧めできません。

    0
    0 1280
    記事 Toshihiko Minamoto · 12月 21, 2020 9m read

    $LIST のフォーマットと%DynamicArray、%DynamicObject クラス

    IRIS には、様々なデータ値を含むシーケンスを作成する方法がいくつかあります (以前は Cache にもありました)。  長年に渡り使用されているデータシーケンスの 1 つに $LIST の文字列があります。  より最近のデータシーケンスには %DynamicArray クラスと %DynamicObject クラスがあり、両者ともに JSON の文字列表現に対応する IRIS サポートの一部となっています。  これら 2 つのシーケンスにはそれぞれ非常に異なるトレードオフがあります。

    $LIST の文字列形式

    $LIST 形式は、かつてメモリアドレスのスペースが小さいだけでなく、ディスクドライブも小さく、読み取り速度が遅かった時代に考案されました。  $LIST の形式は、複数の異なるデータ型で構成されるシーケンスをバイト数を可能な限り抑えながら 8 ビットの一般的な文字列にパッキングするためにデザインされました。

    $LIST のシーケンスは、ObjectScript の $LISTBUILD 関数を使って作成します。 

    0
    0 976
    お知らせ Toshihiko Minamoto · 12月 21, 2020

    コミュニティの皆さん、こんにちは! 

    グローバルマスターズビジネスサービスリワードを導入したことにより、お客様のアプリケーション、ソリューション、サービスの概要を開発者コミュニティや当社のソーシャルメディアに掲載していただけるようになったほか、OEX アプリケーションの宣伝に Google AdWords のキャンペーンをご利用いただけるようになりました!

    0
    0 97
    お知らせ Toshihiko Minamoto · 12月 21, 2020

    コミュニティの皆さん、こんにちは!

    この記事では、開発者コミュニティと InterSystems Global Mastersアドボケート・ハブのレベルに関する情報を掲載しています。

    お知らせ:現在、これらのバッジの多くは変更中です。この表も近日中に更新される予定です。

    すべての Global Masters メンバー(アドボケイト)は、開発者コミュニティへの貢献と Global Masters での活動に応じてさまざまなレベルのアドボカシーを達成できます。

    新しいレベルに移行するたびに、新しいタイプのチャレンジ/タスクと新しいタイプの報酬が開始されます。

    レベルアップするには、次のレベルからいくつかのバッジを獲得する必要があります。 バッジは Global Master でさまざまなチャレンジを完了すると獲得できます。

    現在は 6 つのレベルがあります。

      1. インサイダー
      2. アドボケイト
      3. スペシャリスト
      4. エキスパート
      5. アンバサダー
      6. VIP

    バッジの上にマウスカーソルを移動すると、獲得方法を確認できます。

    0
    1 154
    記事 Toshihiko Minamoto · 12月 16, 2020 1m read

    Windows と Mac で InterSystems IRIS 2019.1 (および 2018.1.2) の SSL/TLS 設定に認証局 (CA) の証明書を簡単に追加する新しい方法ができました。  IRIS にオペレーティングシステムの証明書ストアを使用することを要求するために、

    %OSCertificateStore

    を "信頼された証明書機関 X.509 証明書を含むファイル" のフィールドに入力します。   以下はポータルでそれを実行する方法を示した画像です。

    また、これについて説明したドキュメントへのリンクはこちらです。  "信頼された証明書機関の証明書を含むファイル" のオプションの中を探してください。

    必要な操作はこれだけです!  これで、OS 証明書ストアに載っているすべての CA の証明書をこの設定に使用することができます。

    0
    0 277
    記事 Toshihiko Minamoto · 12月 16, 2020 17m read

    今回は、InterSystems IRIS に特有のことではなく、職場で Windows 10 Pro または Enterprise を搭載した PC またはノートパソコンがサーバーとして使用されている環境で Docker を使用する場合に重要と思われる点について触れたいと思います。

    ご存知かと思いますが、コンテナテクノロジーは基本的に Linux の世界で生まれ、最近では Linux のホストで使用されており、その最大のポテンシャルを伺わせています。 Windows を普段から使用するユーザーの間では、Microsoft と Docker 両社によるここ数年の重大な試みにより、Windows のシステムで Linux イメージを基にコンテナを実行することがとても簡単になったと理解されています。しかし、生産システムでの使用がサポートされておらず、それが大きな問題となっています。特に、Windows と Linux のファイルシステムに大きな違いがあるため、安心してホストシステム内でコンテナの外に持続データを保管するということができないのです。 ついには、コンテナを実行するために、_Docker for Windows _自体で Linux の小さな仮想マシン (MobiLinux) が使用されるようになり、Windows ユーザーに対しては透過的に実行されます。また、先ほど述べたように、データベースの存続がコンテナよりも短くて構わないのであれば、パーフェクトに動作します。

    では、何が言いたいかというと、問題を回避して処理を単純化するには、完全な Linux システムが必要になるが、Windows ベースのサーバーを使用していると、仮想マシンを使用する以外に方法がない場合が多い、ということです。 少なくとも、Windows の WSL2 がリリースされるまでの話ですが、それはまた別の機会に触れたいと思います。もちろん、十分堅牢に動作するまでは時間がかかるでしょう。

    この記事では、必要に応じて、Windows サーバーの Ubuntu システムで Docker コンテナを使用できる環境をインストールする方法について分かりやすく説明します。 それでは、始めましょう。

    0
    0 2697
    お知らせ Toshihiko Minamoto · 12月 13, 2020

    コミュニティの皆さん、こんにちは!

    InterSystems のグローバルマスターズ・ゲーミフィケーションプラットフォームにすべての DC メンバーを招待いたします。最新情報を把握し、DC への貢献によるポイントや賞品をゲットしていただけます! 本記事を読んで参加方法と概要をご確認ください!

     

    ▶️  グローバルマスターズとは?

    グローバルマスターズはゲーミフィケ―ションプラットフォームで、ISC テクノロジーに関するチャレンジ (タスク) を完了させたり、バッジやポイントを獲得したり、そのポイントを様々な賞品に交換したりすることができます。 

    0
    0 214