記事 Akio Hashimoto · 2024年10月4日 3m read Embedded Python を利用する時の注意点 IRISはPythonの豊富なライブラリや既存のPythonプログラムをそのまま利用する事も、COS内でネイティブにコーディングする事も可能となりました。 しかし開発において、いくつかの問題点があります。 1. Pythonのバージョン Pythonを使ったプロジェクトを構築していると、バージョンの問題にあたる時があります。 古いバージョンで開発していたところに、使いたいライブラリが対応していなかった等です。 しかし、IRISのEmbedded Pythonを利用する場合には、Pythonランタイムのバージョンに影響される為、プロジェクトで使用するバージョンは、プロジェクト単位はなく、IRISのバージョン単位で決まってしまいます。 また、現時点ではこのPythonランタイムをアップグレードする事はできません。 #Embedded Python #コンテスト #InterSystems IRIS 6 0 0 93
記事 Akio Hashimoto · 2024年7月5日 2m read %DynamicObjectを外部Pythonの引数に利用する方法 IRISでPythonを扱う時に、既存の%DynamicObject型の値をそのまま利用したいと思うのですが、Embedded Pythonは自動で%DynamicObjectをdict型にはしてくれません。親和性はとてもあるのですが。。。 そこで、既存プログラムで生成した%DynamicObject型の値をPython側、特に外部のPythonファイル側でdict型を期待している関数に利用するにはどうすれば良いか。 少しスマートではありませんが、%DynamicObjectを一旦JSON文字列に置き換え、Embedded Python 内でJSON文字列からdict型に変換する方法しかないようです。 以下が、その手順です。 #Embedded Python #InterSystems IRIS for Health #InterSystems IRIS 3 5 0 151
記事 Akio Hashimoto · 2023年10月22日 4m read DockerにIRISを構築する簡単なチュートリアル 開発者の皆さんこんにちは。 これは筆者がDocker上でIRISを動かす時の、構築手順を示した備忘録です。 #コンテスト #InterSystems IRIS #InterSystems IRIS for Health 9 2 1 410
お知らせ Akio Hashimoto · 2023年7月28日 Comment to ObjectScript release 0.0.1 こんにちは。VSCodeでObjectScriptにコメントを挿入する拡張機能を作成してみましたので、共有させて頂きたいと思います。 使い方はとても簡単で、コンテキストメニューから「コメントの追加」を選択するだけです。カーソル位置に合ったコメントが挿入されます。挿入するコメントの定型文は設定で自由に指定できます。 クラスの説明文を挿入する パラメーターやプロパティの説明文を挿入する メソッドの説明文を挿入する #ObjectScript #VSCode 7 4 0 93
記事 Akio Hashimoto · 2023年3月16日 3m read IRISサーバーのバックアップと再構築の手順 DockerコンテナでIRISサーバーを構築していた時に、Dockerのバージョンアップによって、IRISサーバーが消滅してしまう事がありました。 その経験から、IRISサーバーを復元する為の方法と、事前のバックアップについて共有したいと思います。 IRISのバックアップ手順 全ての構築が完了したら、事前にバックアップを取っておきます。 クラスやルーチン、グローバルのバックアップは別途、バックアップを取っておく事をお勧めします。 #チュートリアル #InterSystems IRIS 3 0 1 165
質問 Akio Hashimoto · 2022年2月3日 エラー時の行番号について 皆さん こんにちは。 最近ではVSCodeでIRISのプログラミングを行っている方も多いと思います。 クラスメソッドなんかをコーディングし、実行してエラーとなった場合に、以下のようなエラーメッセージが取得できると思います。 > <UNDEFINED> zNewMethod+32^ClassName.1 これは、NewMethodというメソッド内の32行目でUNDEFINEDが発生した事を指していますが、これは実際にはClassName.clsのNewMethod内の32行目ではなく、ClassName.1というルーチン(int)のzNewMethodでの32行目を示しています。 .clsから生成されるintは空行が削られたり、複数ルーチンに分割されたりしますので、実際のClassName.clsを開いてNewMethodの32行目を見ても実際のエラー箇所では無い場合があります。 VSCodeで開発をしていると、これが結構面倒なのですが、エラーメッセージに出力される行番号を .clsや、.mac 上での行番号に変える方法があれば教えて頂きたく、よろしくお願い致します。 #ObjectScript #InterSystems IRIS 2 2 0 429
質問 Akio Hashimoto · 2022年2月1日 Windows11での動作状況について Windows端末でCachéやIRIS等を開発環境として使っています。 Windows11での動作状況について、インターシステムズからの正式な対応はまだのようですので、 下記のバージョンで既にインストールをされている方が居られれば、状況などを教えて頂けないでしょうか。 特に問題無く動いていますでしょうか? ・Caché 2017.1 ・IRIS for Health 2019.1 この他のバージョンについても情報が御座いましたらよろしくお願い致します。 #Caché #InterSystems IRIS #その他 2 2 0 317
記事 Akio Hashimoto · 2020年10月25日 5m read Dockerを利用した開発環境下でのIRISへのSSL接続方法 Docker環境下でWebアプリのコンテナとIRISのコンテナをRESTfulAPIで連携した時の SSL化方法。 ちなみにこの方法で管理ポータル等もSSL通信が可能になります。 参考サイト: * https://one-it-thing.com/63/ 構成 Webプリケーション -> Vue.js (http://192.168.10.100:3014) REST ful API -> IRISのDockerコンテナ (http://192.168.10.100:9092) ※ Vue.jsはローカル上でホットリロードを利用した開発環境。 ※ IRISはローカル上に構築したDockerコンテナ下で稼働中。 今回、IRISをDockerコンテナで稼働させる方法は割愛します。 #Docker #REST API #SSL #開発環境 #InterSystems IRIS 2 2 0 1.3K
質問 Akio Hashimoto · 2020年10月19日 httpsから%RESTの利用が上手くいかない Vue.jsのホットリロードを使った環境においてWebアプリケーションを開発しています。Webアプリケーションから開発環境と同じローカルPCにあるDocker上のIRISへ%RESTを使用しRESTfulAPI通信をしていますが、Webアプリケーションをhttpsで利用した場合は、httpsからhttpへはAPI通信ができないので、間にプロキシサーバーを立ててリダイレクトしないといけないと思います。しかし上手くいきません。 ○ npm run serve で起動したWebアプリ http -> httpでIRISの%RESTを呼び出せる。 × npm run serve -- --https で起動した場合 https -> http は呼び出しできない。 https -> プロキシサーバ(https-httpへリダイレクト)-> httpでIRISの%RESTが呼びさせるはず。 環境 Webアプリ:Vue.js 例)https://localhost:3014/ #Docker #REST API #SSL #InterSystems IRIS 0 7 0 1.2K
ディスカッション Akio Hashimoto · 2020年9月3日 InterSystems ObjectScript エクステンションでルーチンをインポートしようとするとname is invalidエラーになるときの解決方法 前提条件 InterSystems ObjectScriptエクステンション 0.9.0 Visual Studio Code でローカルにルーチンのファイルを作成している。 問題点 ルーチンをGit等でバージョン管理する等の理由で、IRIS(/Cache)サーバー間でファイル連携している場合に、新規ルーチンをファイルから作成し、サーバーへ「Import and Compile」等を実行するとエラーが出てインポートに失敗する事がある。(xxxxxxxxxxはルーチン名) ERROR #16006: Document 'xxxxxxxxxx' name is invalid 解決方法 先にサーバーからインポートした事があればお気づきの方もいるかもしれないが、InterSystems ObjectScript エクステンションを使用してルーチンをインポートする場合、ルーチンの先頭行に以下のように1行必要となっている。これが無いと上記のようにエラーとなってしまう。 #VSCode #開発環境 #その他 2 2 0 407