New post

Find

Digest
· Jan 7

InterSystems Community Annual Newsletter 2024

Hello and welcome to the Developer Community 2024 Annual Newsletter.
General Stats:
3,294 posts published in 2024:
  – 1344 articles
  – 909 announcements
  – 1000 questions
  – 41 discussions
4,616 members joined the Developer Community in 2024
22,319 posts published in total
14,662 members joined in total
Most Popular:
806
By Keren Skubach
Most Discussed
Most Liked
Most popular authors
Authors with the most articles
2024 at a GlanceInterSystems Developer Community
Article
· Jan 6 1m read

日本のMacユーザーがIRISを使う際にまずやるべきこと

日本でMacユーザーのIRIS使いがどの程度いるのかわかりませんが、圧倒的少数派なのは確かでしょう。

そのせいもあってか、Mac版のインストーラは、Windows版ほどきめ細かい対応をしてくれていません。

Windows版はインストーラが勝手に日本語のロケールを設定してくれているのですが、Mac版(おそらくLinux版も)は英語ロケールのままです。

それでも、通常の使用ではさほど問題がないといえないこともないのですが、ファイルを読んだりする場合や他にも何かと不都合があります。(何かあったような気がしますが、忘れました。)

ですので、Macユーザーは面倒ですが、管理ポータルで日本語ロケールjpuwのインストールをする必要があります。

またはターミナルでコマンド一発でもOKです。

Do ##class(Config.NLS.Locales).Install("jpuw")

ちなみにこのロケールjpuwは説明を読むとUNIX用と書いていますが、WindowsでもファイルI/OなどのデフォルトエンコーディグをSJISではなくUTF8にしたい場合にも使えます。

昨今は、WindowsといえどもUTF8でファイル作成するケースが増えていますので、今更SJISいらないという人は、思い切ってこのロケールに切り替えるというのもありです。

2 Comments
Discussion (2)1
Log in or sign up to continue
Article
· Jan 6 1m read

获得 InterSystems 技术认证

certification badge

借助 InterSystems 行业标准认证考试,您和您的团队可以获得认证,以验证您的技能并证明您拥有 InterSystems 技术方面的专业知识。 查找适合您的角色的考试!

Discussion (0)0
Log in or sign up to continue
Article
· Jan 6 2m read

JSON文字からダイナミックオブジェクトを作成する際、エラー #5035: 一般例外 名前 'Premature end of data'エラーが出る

これは InterSystems FAQ サイトの記事です。

POST要求で受信したBodyのJSON文字列を、REST ディスパッチクラス内メソッドでダイナミックオブジェクト(%DyamicObject)に変換する際、以下エラーが発生する場合があります。

{
    "errors": [
        {
            "code": 5035,
            "domain": "%ObjectErrors",
            "error": "エラー #5035: 一般例外 名前 'Premature end of data' コード '12' データ ''",
            "id": "GeneralException",
            "params": [
                "Premature end of data",
                12,
                ""
            ]
        }
    ],
    "summary": "エラー #5035: 一般例外 名前 'Premature end of data' コード '12' データ ''"
}

POST要求時に送付するBodyの中身は、RESTディスパッチクラスの中では %request.Content を使用して操作でき、%request.Content.Read()とした場合、JSON文字列が取り出せます。

%request.Content.Read()の結果(=POST要求で受信したBodyの長さ)が32KBを超える場合、Read()メソッドは先頭32KBまでしか読み取らない制限があるため、すべてのJSON文字列が渡らずに上記エラーが発生します。

メモ:変数%requestは%CSP.Requestクラスのインスタンス

JSON文字からダイナミックオブジェクトに変換する際使用する%FromJSON()メソッドの引数には、JSON文字列かJSON文字列が含まれるストリームを指定することができます。

Read()メソッドは先頭32KBまでしか読み取らない制限があるので、以下の例のようにRead()の結果を渡すのではなく

set bodyjson={}.%FromJSON(%request.Content.Read())

JSON文字を含むストリームを%FromJSON()に渡す以下例の方法を使用することで、32KBを超えるJSON文字列が含まれていたとしても、エラーなくダイナミックオブジェクトに変換できます。

set bodyjson={}.%FromJSON(%request.Content)
Discussion (0)1
Log in or sign up to continue
Question
· Jan 6

Using the Intersystems ObjectScript plugin, how can I automatically import to the server when I delete the code file locally on my client machine?

I have installed three plugins on VS Code: Intersystems Language Server: v2.3.6, Intersystems ObjectScript: v2.10.5, and Intersystems Server Manager: v3.6.2. I connected to the Caché database and connected a workspace to the InterSystems server. Then I edited the code locally on my client machine.

6 Comments
Discussion (6)3
Log in or sign up to continue