【M言語】キャシエ・CACHE【MUMPS】
>・変数に型はない >・文字列扱い/数値扱いどちらで評価されるかは、格納値に依存する 同意。 でもその為にパタンマッチングが存在する。 いちいちそうしなければならないのか、という気持ちもわかるけど 言語の仕様で対応されていないならMに限らず多かれ少なかれ 他の言語でも知恵使ってプログラムで対応してるでしょ? >>85 > Mに限らず多かれ少なかれ ダウト。 多いと少ないじゃ天と地の差だろう。 DSMから始まりVMS、SP−MUMPS,U−MUMPS、キャシエと M言語を使い始めて約20年。その間、メジャーなDBとは一通り出会いまし たが。。。可変長の利便性は離れがたいものがあり、今後もM言語をメインに 使用続ける事になると思います。 キャシエも可変長データ扱うけど、 容量の大きなグローバルをキルしてもcache.datがHDD上に占める サイズはキルする前のまま…グローバルが大きくなればそれだけ cache.datも大きくなるのにグローバルをキルしても小さくならないんじゃぁ 可変長なんだか固定長なんだか…中途半端だとおもう。 >>73 スレッドフロート方式の掲示板の ・書き込みが新しい順にスレ表示 ・スレ内容は最新X件を表示 ・ただしメール欄が "sage" のものは考慮外 という表示についての indexing を質問したかったんですが… >>71 Windows機上の「スタジオ」という統合環境からのオペレーションを強要されるのが なんとかならんもんかと思うのですが、その辺古くからのユーザさんはどうしている のでしょうか? 私の隣の彼は、Cache ObjectScriptのプログラムはMIFESで書いてますね。 私もデバッグはターミナル(つまりコマンドライン)でやってます (^^ >>84 ないものねだりなのは分かってますが、結局組む人が知恵使って どうにかして正しく動作するようにしないといけないのね。 固定桁数数値使用時の「定石」みたいなのは確立されていないんでしょうか。 何しろ教科書も少ないからなあ。皆さん自分の工夫でこなしているんでしょうね。 ちなみに、Cacheなら固定桁数数値をDataTypeで定義してしまえばOKでしょう。 , -'"´  ̄`丶、_ ,.∩ `ヽ 〃∪'´ ̄`二二人\ ヽ | ツ´ ̄ ̄ ̄ ̄´ ヾ ヽ. ', |ハ ,ニ、 ,. - 、 | | | l | | ハ ィハ ,二ヽ. | | | | | 同じ板にコピペするとそのままだけど、 | | | じ' |トJ〉 /)} l | 違う板にコピペすると鬼のような怖い顔 | ハ 、'_,  ̄,, 厶イ川| に変わる摩訶不思議な佳子様コピペ。 l l /\ .. イV\川 | ,' l l ,イ `l ̄´ / /ヽl l l | l ハ `メ、 〃 ヽヽ、__ノ 「固定桁数値」という考え方は数を表示するフォーマットの問題に過ぎないので、 (想像だが)普通はMプログラマはソート等で数として扱いたい場合は 「001」と「01」と「1」が別の添え字(値)として同居したりするのを防ぐために、 先行ゼロをつけたままの形式ではグローバルにsetしないとは思う。 $tr($j(数値,桁)," ",0) で固定桁表示にできるし +固定桁数値 で元に戻るし 仮に先行ゼロをつけたままでも演算はできるし 何が不満なのか何をそんなにこだわっているのかがさっぱり見えてこない。 >>90 インターシステムズの人と話す機会があったので、Eclipseのプラグインとか 考えていないんですか? と聞いてみた。検討はしているが、計画はないとのこと。 「固定桁数値」は、ノードにセットするときはソート順を間上げて0を取るって感じでしょうか? 希に、"5"と"05"は別のデータとして管理してくれ、とかいわれて泣きを見る事がありますが。 10.50 をノードにセットすると、10.61 より後になるとか。 知り合いにCacheってどうなのって聞かれたので、 「別の言語を1本知ってるひとなら大丈夫だよ」と答えました。 1日だけ研修で習ったのですが、なかなか素直な言語だと思いました。 >>97 知っている別の言語が何かによって 印象はかなり変わってくるな。 最近知ったのですが、Cache'のライセンスの方がOracleとかよりも高いですね。 昔は安かったのかもしれませんが現在はOracleの約2倍くらいしてるみたいです。。。 >99 基本的にユーザライセンス(指名・同時)の計算を 単純にユーザ数だけで計算してるからだね。 負荷分散を考慮した複数サーバ構成でやると、 Oracleよりはるかに安くなるケースがある。 あと、言語の生産性を「昔のM言語」だけで語るのをやめてくれー。 あと、言語オタクは死んでくれー。DBMSの本質を語れないやつは ここにくるなー。お前らは一生プログラマーでいろー。 プログラミングの話題しかできないやつとは議論したくねー。 漏れはCacheに触ったことはないんだが、ちょっと教えて。 CacheはM言語でアクセスすることがやっぱり前提にあるんかな? SQLでもアクセスできるみたいだけど、それだとRDBMSとの差別化がわからん。 「表」っていう概念は人間にとってわかりやすいからね。 言語まずありき、では普及するのは厳しい気がする。 >>100 じゃあ>>89 の言ってるindexingについて議論してみろ お前スレの最初から素晴らしいですとか画期的ですとか印象しか書いてないだろ まあこれまでのやりとりを見ていて俺が思うに、多次元連想配列によるデータストアは RDBと比較して自由度が高いとか柔軟だという以前に 単にプリミティブなんだな。 だからスキーマとか索引とか、システム側が提供してくれない分、プログラマが工夫して やりくりしなきゃならない。 提供する機能が最低限だから、ディスクの使用効率も高いように見えるが ちゃんとパフォーマンスを考えて索引つけたり更新したり という処理を付加していくと、その分データ構造が冗長になって、 結局はそれほど効率は高くないんじゃないかという印象を受ける。 また提供している概念がプリミティブだから、理解するのが容易とも言われているが、 実用的なモノを作れるようになるためには、上記のような何をどのように格納すべきなのか、 というノウハウまで習得しなければならない。そしてそのノウハウは個人個人の財産でしかなく 広く共有化されるところまでいっていない。MUMPSというシステムは長い歴史を誇っているらしいが、 そういう意味では非常にもったいないというか、ユーザーグループは今まで何をしてたんだ、 と問いただすべきだろう。 あとシステムに抱き合わせで用意されている言語が前時代的だから、メタデータを基にした 定型処理のジェネレーティングみたいな手法も使えない。 例えば 「メタデータを元に構造化データをストアするルーチンを自動生成する」だとか 「データをストアすると同時に索引も更新するルーチンを自動生成する」 みたいなやつね。 DBMSの本質がどうとか言ってる人、こういう議論はどうかな。 (1) ^A(X0, X1, X2, ..., Xn) = Y と (2) ^A(X0, X1, X2, ..., Xn, Y) の違いがわかりません。 (1)は何か方向性を持つのでしょうか? >>104 は どういう場合に(1)と(2)を使い分けるのかを聞きたいのじゃないか? 昔のMUMPSで作った「.rtn」のファイルをどーやっってインポートすればいいのかわからん。 ISJの人に聞いたら教えてくれるかな? >>109 "オプション"を選んで入力形式を選べばDSM、DTM、MSMとかあるので、 適切なものを選べば大抵はそのままインポートできます。 SP-MUMPSはどれを選べばいいか知りません。 >>111 どーもありがとうございます。 SP-MUMPSなのでやはりそのままではうまくいかず、ISJのサポートに電話しました。 TEXTに書き出したものをCACHE用に手を加え、スタジオに張りつけビルドすると良いそうなので ぼちぼちやってみます。 現在のフリーダウンロード版のキャシエって Visual Studio .NET 用の C#かVB用のソースコードの吐き出しかそれに代わる機能ってありますか? Visual Studio でいろいろいじくってみたいんだけど、 ホームページみてもいまいちよくわからなかったの もしできるんなら、またユーザー登録してダウンロードしてみようかなぁっておもったんだけど しってる人おしえて 過疎ってる… 仕事でCACHEを使うことになってのですが、 なぜかMUMPSではなくSQLベースのRDB的な使い方をすることになりました。 理由はMUMPSを使える技術者が少なく、外注などを探しても なかなかみつからないからだそうです。 そうなるとCACHEを使う利点がわかりません。 偉い人たちが何を考えているのかわかりません。 MUMPSを使うというかMUMPSで作ったプロシージャを ODBCから呼び出すんだよ。 ODBCとADOはMUMPSで作ったプロシージャ を呼び出せた。 実行時引数も渡せた。 実行結果も取れるよ。 MUMPSはちょいと勉強すれば直ぐに理解できると思うんだが。 ところがどっこい、それを理解できない(したくない?)SE気取りの オサーン達がMUMPSじゃ駄目だ的なことを言うのよ。 で、シャッチョサン達はオサーン達の言い訳を 真に受けちゃったらしくてね… で、>>116 に戻ると。 つうか、CACHEでSQLって速いのか? チューニングをしていないOracleよりは速いとか。 逆に言えば、チューニングしたOracleよりは遅いということ? 2ヶ月もレスが無い かくいう私も話題は無いが いや、聞いてみたいことはあるんだが、職場で特定されそうで聞けないw 気にせずに聞いちゃえば…って、すでに半年くらい経過してるのか。 こんなスレあったんだなw とりあえず簡単に書けるとこだけ。 もう2年近くも前だが…w >>81 確かに「当然」ではないだろうけど、「理不尽な仕様」でもない。 もともとインタプリタでもあるMumpsでは、 文法上タブコードの後には命令しか書けない。 つまり、「.」も前の行のネストを継承するという命令の一種。 命令すっ飛ばしたんだから、ネストは継承されない。 それとコメントするのに気を使わなきゃならないってのも、 C言語では/* */のコメントが入れ子に出来なかったので気を使ってたが… >>101 >「表」っていう概念は人間にとってわかりやすいからね。 もちろん使用するデータの種類にもよるけど、 これはRDBが主流になり始めてから出てきた神話だったりもする。 生物の分類を考えたときに、表で考えるやつはまずいない。 大抵は樹形図になるはず。 RDB以前のデータベース設計の本なんかを読めばわかるけど、 分類データはまず樹形図になるので、 これをまず表に変換しなさい、ってな話が出てきたりもする。 Excelなんかで表を書くときでも、 同じ項目が繰り返される部分のセルを連結したりした時点で、 それはRDB的概念の表ではなくなる。 >>123 扱うデータの種類と設計によるとしか言えんわな。 Oracleのチューニングが何を指すかにもよるか。 結局トータルコストで判断するってアヤシゲな話にしかならなかったり… M言語使いは需要あります? 必ずしも日本に限らず。 c、Javaを今から始めたって、 ホントに使える人はさておき、 人数多いから、ニッチなのをと考えています。 あと、M言語開発者に聞きたいのですが、 作ったシステムのデザイン(見た目)は いくらでも見栄えよくできますでしょうか? いかにも一昔前の灰色背景の味気ない ものしかできないのでしょうか? DBスレで申し訳ありませんが、 お願いします。 >>128 M言語=Cacheスクリプトで考えちゃうけど、 CacheスクリプトはDBのスクリプトなので ストアドプロシージャみたいな感じでしか使わない。 なので、目に見える部分はVBなどで作ることになるので、 見栄えはいくらでも良くできます。 需要はわかりません・・・ >>129 ありがとうございます。 良いものが必ずしもデファクトスタンダードに ならないですからね。 cacheが良いものってわけでもないけど。 対極にあるのが圧倒的だから、どうなるのかな。 Q1.cacheに関わって何年? Q2.DBの下地(他DBでの開発、学校等でさらりと)の有無 Q3.これからも扱っていく? お答えいただければ、これ幸い。 グローバルのエキスポートをCache形式で行ってしまったデータを インポートするとDBがぶっ壊れるのは仕様? Cache Block形式なら大丈夫なんだけど。 >>132 Cache形式でエクスポートした場合は、 Cache形式でインポートすれば大丈夫だが・・・ とはいっても、いつもは^%GOGEN と ^%GIGEN でインポートエクスポートしているけど。 おぉ、レスが付いてる。 >>133 それがCache形式でインポートしてもダメなんだよね。 インデックス付きのグローバルを*Dと*Iのセットでエクスポート&インポート してるんだが、インポートした後ではユニークキー指定してあるプロパティの 値が10数個単位で重複するという状態になっちゃう。 エクスポートしたのと同じマシンでインポートしてるからエンディアンとか 文字コードとかの問題じゃないはずなのに。 >>134 そのような現象は経験したことがないな。 大抵は文字コードか、形式を間違ってインポートしたときにおかしくインポートされる。 他の原因を強いて考えるなら、データ内に変な文字コードが入っていて それが悪さしている場合だけど、現象からするとそうでもなさそう。 インターシステムズ社に問いあわせるしかないと思う。 そんなに高性能なら、なんで基幹とかで普及してないの? 実績が分かりにくい上に情報も少ないし、修得するのが実は非常に困難なのでは? いくら歯の浮いた宣伝文句見せられても、キャシェと今更心中するわけにはいかないし、日本法人信用出来ないし、多分廃れるな。 もともと医療業界で発達したDBだからじゃん? 顧客チャネルが弱い 海外だとぼちぼち金融系にも入ってってるみたいだけどね ODBが速度速くて開発がラクって事はみんなわかってる でも既存開発資産との兼ね合いとかISの事業継続性リスクとか見ると 移行コスト/リスクを正当化する稟議が降りないってことでしょ SEも枯れてるDB運用じゃない新しい技術を習得する・ させることに二の足踏むだろうし あとサポートの問題もあるんだろうな もともと、RDBはそれ以前からあった階層DBより性能は悪かったわけだが RDBは瞬く間に普及し、階層DBは廃れていった。 性能ばかりが重要なファクターじゃないってことで。 Cacheが速いのって、B+Treeでインデックス張ったキーだけじゃないの? SQLアクセスって、BtrieveにSQL被せたPervasiveSQLを思い出すんだけど。 触ってみたけど、Object Scriptわけわかんね。%Library.Dateとか日付型に現在時刻 入れようとしたんだけど、ドキュメント検索して見つかった$hってはいらねー。他に現在時刻みつかんねー。 他の言語とかDBなら分かったはずの「格納時の内部表現」って奴がCacheだと全然わからん。 日付や時刻って、どうやって格納されるの?まさか文字列で"2007/09/20"って保存?? $hそのまんま代入できるプロパティ型ってある?みつかんないんだけど。無いなら、$hって何のためにあるの?? 型同士の代入互換性が全然わかんねー!こんなの入門書の一番はじめに書いてそうなもんだけど、 見つからないのは探し方が悪いのか?MUMPSの常識は知ってて当たり前だから省略されてるのか? 教えて!エロい人!!! 多分だけど、文字列で"09/20/2007"なら入る。 現在時刻を入れたければ、$zd($h)で入れればいいかも。 >>140 どうも。 日付が保存される場合、その内部表現は何なんでしょう? 日付時刻の場合は?ミリ秒まである場合は違うんでしょうか? $hで出てくる値が内部表現そのものかな?と思っても、%Date型に$hは入らないで文字は入る。 その辺が、頭で「こうできるだろう」というイメージと違ってて気持ち悪い。 自分も勉強中ではっきりとは言えないけど、 Cache'って内部表現は、全部文字列だよ。 だからCache'(M言語上)で使用するときは、文字列として扱う。 型を意識するのってJavaとか.netから使うとき位じゃない? 調べて分かったこと。 %Date, %Timeの内部表現は$holorogと同じみたいです。ただし%Dateは$hの前半分、%Timeは$hの後ろ半分 の数字が格納されます。 管理ポータルの論理モードの値は、%Date型の場合$hの日付部分と同じ値でしたので間違いないです。 一連の勘違いの原因も判明。 ・%TimeStampの内部表現が$hと違うこと(クラスリファレンスによるとYYYY-MM-DD HH:MM:SS.nnnnnnnnnn という文字列) ・何を代入しても、%Save()しないとプロパティの検証が動かない事 が原因で、%Dateも%Timeも$hじゃない、とか26/09/2007でも2007-09-26でも何でも代入できる、とか勘違いしました。 クラスを使わないオレには何を話しているか分からんw クラスを理解出来なくても。。。と言うよりクラスを知らなくても 十分業務アプリを作成出来てしまうから覚えようとする気持ちになれないなぁ(^^; 初めてcacheをさわる人に、cacheのマニュアルは突起にくいと思います。 分かる人が見てわかるようなマニュアルでは意味が無いのでは。。。 でも、SQL使うならクラスは必要では? たしか手作業で既存のグローバル変数とSQLのフィールドをバインディングできたと思うけど、 それ使ってるの? 自動でIndex更新するのも、システム管理ポータルでテーブルチューニングできるのも、 全部クラスつかってスキーマ定義するのが前提では? 十分業務アプリを作れる、という人は、GUIに何を使って、言語バインディングとかは どうしてるの?サーバーサイドはクラスやメソッドじゃなくて全部ルーチンって事? 5.xからcacheに触れた人と、MUMPSから知ってる人ではずいぶんと前提が違う気がする。 >初めてcacheをさわる人に、cacheのマニュアルは突起にくいと思います。 激しく同意。緑本も読みづらい上に、肝心なことがどこに書いてあるのかわからない。 >>146 GUIはVB.NET、接続はActiveX。 で、ルーチン呼び出してデータを操作って感じ。 学生時代(10数年前)からMUMPSをやってたんで、 今でもこのスタイルで開発。 http://iqlveq.cn cheap mp3 downloads >>150 $Order使ってるからSQL使ってないのか。 Cache関連サイトって、SQLとかクラス使う方法載せてるところが無いよね。 MUMPS懐かしい 30年前に出会いました。 そのころは、DECのPDP11/40というマシンでプログラミングしていました。 PCはIBM5550のPC−DOSがスタンドアロンで普及しはじめた頃です。 会社にはメインフレームに接続した端末ばかりで、なかなか自由に使えなかった時代で、 コーディング用紙をキーパンチャーに渡しパンチをお願いしていました。 もちろん言語はCOBOLやFORTRAN、PL1でした。 MANPSに出会って、私は目が覚めました。 今までのプログラミングはなんだったんだろう。それぐらい感動しました。 クライアント/サーバで端末が10台くらいで、各端末はLANで接続されていました。 エディターもラインエディターでした。 MUMPSは本当に簡単で習得しやすい言語です。 勉強しながら住所録の入力・修正・削除・問い合わせの画面とプリント出力の プログラムを他の仕事もしながら1週間程度でプログラミングできました。 ファイル構造(データベース)もwindowsのツリー構造そのままですね。 レコードはフルパスのような感じですし。 MAMPSの良さはデータの形式やレコードの定義を考えずに記述できるし 後から自由にレコードの構造を変更でき、他のプログラムにもあまり影響を与えないのです。 本当に少ないステップでプログラミングできるので驚きでした。 MUMPSを調べていてここにたどり着きましたが、 CACHEとうい言語に生まれ変わっていると知り、本当に嬉しい。 私が今何ぜMUMPSに関心を持っているかと云いますと。 ライセンス料金です。 windows-OS・office・VB・2003SQLサーバ・CAL・oraclとライセンス料は非常に 頭の痛い問題です。 CACHEにするとサーバをLinuxにして端末をwindowsにしても CACHEとwindowsのライセンス料だけで済むとしたら、 安いのではないかと考えたのです。 openOfficeも在るし、kingOfficeも在るので。 それにwindowsとSQL・EXCEL・ACCESS・VBはバージョンアップの度に各端末の 環境(バージョン)が違うため不具合続出なのです。 windowsをこの際見切りを付けたいのです。 http://dokan-dev.net/about/ こいつを使ってcacheのネームスペースをWindowsのファイルシステム上にマウントできればいいんだけどなぁ。 さらにMercurialなんかを組み合わせて自動的にバージョン管理までするような仕組みもできそう。 誰か作ってみませんか(他力本願・・・) スタジオからソースを自動エクスポートして、svnで管理する方法ってない? svnってsource safeみたいなやつのことだよね? cacheにエクスポートするクラスメソッドが用意されてるから VBSとかで簡単なバッチ作ればできるんじゃね? プログラマじゃないんだが 仕事(医療保険者)で、これから導入するシステムがこれで組まれているんだそうだ 上読むと医療関係で実績があるらしいがレセプト処理なんかが得意ってことなのか 別に得意ってわけでもない。 覚えることが少ないからプログラマじゃなくても何とかなるってだけ。 将来的にカスタマイズする予定があるならMUMPSやめとけ。 技術者の確保ができないから開発会社が固定されちまう。 x86_64でGT.Mをビルドしようとしてるのだけど嵌ってます。 $ gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=dbg gtm_ver=`pwd` ~/gtm/gtmsrc_5.3.0001A ~/gtm/gtmsrc_5.3.0001A/dbg/obj ~/gtm/gtmsrc_5.3.0001A/dbg/obj gt_cc_option_I: Undefined variable. gmake: *** [xfer_build] Error 1 バイナリでインストールしたもの(32bit)を gtm_ver に指定すると gmake: *** No rule to make target `pro_all', needed by `all'. Stop. となります。 centos5.2 x86_64, gmake 3.81, tcsh, icu3.6 なので環境的には問題なさそうなのですが。。。 .tcshrcには32bitバイナリ配布物の gtmcshrc 等をコピペです。 setenv gtm_curpro /usr/local/gtm setenv OBJECT_MODE 64 set path = (/usr/local/bin $path) set path = ($path . ~/bin) setenv gtm_dist '/usr/local/gtm' setenv gtmgbldir 'mumps.gld' if ($?gtm_chset) then if (($gtm_chset == "UTF-8") && (-e $gtm_dist/utf8)) then setenv gtm_dist $gtm_dist/utf8 endif endif setenv gtmroutines ". $gtm_dist" alias gtm '$gtm_dist/mumps -direct' alias mupip '$gtm_dist/mupip' alias lke '$gtm_dist/lke' alias gde '$gtm_dist/mumps -r ^GDE' alias dse '$gtm_dist/dse' set path = ($path $gtm_dist) なにか解決の糸口が分かる方、アドバイスを。。。 >>162 レスありがとう ただ既に成果物は納入されているので 後は導入支援を得て導入という段階になってる 開発はデ○タ…何か身元が割れそうだw SQL環境下で動作テストをしていたものをcashe環境下で動作テストを行うのですが SQL文のズレが分かりません。 SQLのJOIN関数は使わなくてもいいっぽいらしいのですが、どう作れば良いんですかね。 casheの概念や資料なんぞ貰わえず、とり合えず修正してくれと渡されたのですが。 casheについて講習してるような所があればお教えして頂けると幸いです。 cache講習はInterSystemsがやってる。一日2万円。講習によって日数が変わる。 SQLはSQL-92の殆どが通じる。 Joinを使わなくて良いパターンは、Propertyが他クラスの場合、->構文で参照できる。 別にJoinを使っても結果は同じだから、だまって知ってるSQLを書けばいいよ。 まずは、システム管理ポータルからSQLを打ち込んでみたら? あと、ドキュメントをみれば一応SQL関連は難しくない。MUMPS初めての人間がcacheを理解するのに あのドキュメントは辛すぎるけど。 まず、Cache SQL入門のあたりを読んでみたらいい。 これが最初に勉強中のプログラム言語だけどInValidDT()の使い方わかんねえ てかいちいち従属で変数書いて検証しないとクラス定義に合致してるかわからないって面倒すぎないか これだと普通にスプリクトに処理投げてるのと変わらない気がする そのプロパティ設定したクラスでメソッド書いたら自動で適用されるものと思ってたのにプログラムってこんなものなのか InValidDTってなんだっけ?ドキュメントに引っかからないんだけど。 ちょっとした用途だとMySQLとかで十分だしな。でも大規模になるとEliteになって簡単に億超える罠。 みんなどれくらいの規模に使ってる?参考に教えて欲しい。 あんまり具体的だとInterSystemsにばれるかもしれないけど。 ごめんInじゃなくてIsだった IsValidDT 自分は1000人分弱、予想数百MB程度のデータを扱うつもり このソフトには役不足だろうけど階層型で完成度高くてフリーで手に入るのといったらこれが一番だし でも本にしてもネットにしても情報が少なくてほんと困る 暗中模索きつすぎ >>172 進捗はさすがに公開されてないんじゃ・・・ 目次見た。 サーバーサイドプログラミング講習+ZEN講習くらいの内容か cacheで作った物って他に転用効かないから、正直あまり使いたくないな 統合環境も使いにくいし古臭い オープン・ソース M(Mumps) GT.M ttp://www.fidelityinfoservices.com/FNFIS/Markets/NonfinancialIndustries/Healthcare/gtm/ ttp://sourceforge.net/projects/fis-gtm/ Mumps II ttp://www.cs.uni.edu/~okane/mumps.html その他 ttp://mumps.sourceforge.net/ >>180 ISJのページ見てもどんな製品だかよくわからん。 ensembleはほら、BizTalkとかWebSphere MQとかと一緒でEAIの一種じゃん。 BPELのサブセットもあるし。 アンサンブルやディープシーのグラフ(SVG)で日本語出せないのはなんとかならんのか。 Flashにすればいいのに。 なんともならんよ。 大体アドビがすでにIEのSVGプラグイン放棄してるから今後もう使える望みはない。 ISもいつまでマイクロソフトのせいにして逃げるつもりかね。 しまいにゃ基幹で狐使えとか言うし狂ってるとしか思えない。 大体アンサンブルだってマトモに使えるアダプタがODBCのみとはどういう事? 使えない機能満載にもかかわらずあのトンデモ価格での提供は、本気で日本で商売する気あるとはとても思えない。 狐って火狐?IEでしか動きませんって聞いた気が。別の狐の話かな。 1億するWebMethodsよりは安いけど、大して安くはないね>Ens ところでさ、>>174 の本にCacheSQLも載ってるんだけど、DDLについて一カ所だけ触れて「後で説明」って 書いてあるんだけど、説明が見つからないんだよね。 俺の見落としかな? cacheでDDL書く奴もあまりいないんだろうけど。 狐はやサファリなんかは標準でSVG対応してるからなあ。 しかし、ディープシーのインターフェースがIEしか対応していないのも事実。実際狐だとログインが出来ない。しかしグラフは日本語表示ができない。JIS2004フォント入れてなくてもダメ。 アンサンブルは狐だとプロダクション管理画面はまあまあ使えるが、そもそも管理ポータルの動きがかなり怪しい。 早い話が全ての機能がマトモに動く環境がほとんどないという素晴らしい製品という事。 SVG はさ、SVG で保存して、アドビのソフトでSVGで開いても、ちゃんと表示されない。 IEのSVGプラグインで表示どころか、イラレでSVG の画像部品作る事ができない。 SVG の部品作成ソフトが欲しいところ orz 死んだ規格にこだわっても何も良いことないのにねぇ。 そんなことよりキャシェの基本機能や性能をさらに上げた方がもっと効果的に他のDBより差別化できるのにね。 今のISの戦略は我々がキャシェに求めているものとはかなりかけはなれたモノだよ。 死んだ規格といっても、M言語を捨てたらそもそも存在価値がなくなるんじゃ? SVGの事じゃね<死んだ規格 CSPとかZENは見直して欲しいかなぁ。セッション維持し続けてライセンス食いつぶすし、Webライセンス高いし。 おまけにC/S間独自っぽくてjQueryとか他所のライブラリを食い込ませる余地がないし。 ASP.NETですらjQueryサポートしてるのに。 WebServiceは割と楽だけど、投げたオブジェクトがCacheインスタンスになった後、更新に使えないのが不満。 新規インスタンスにしかならないから、OpenIdでロードしてプロパティ代入して、とかやらんとならん。 結局、cacheになって追加された機能って中途半端なものばっかり。 せめてSQLエクスプローラだけでも復活してくれ。 あの糞ポータルは生産性悪すぎ。 >>191 どうみてもSVGよりMの方が死んでますがなw >>193 よせよ、これからも暫くつきあうんだから。 とりあえず、newを排除できたんだからCOSは評価してもいいと思うんだ。 エラーメッセージは何とかならないのかな。 mac形式やcls形式で作ってるのに、エラー行はint形式での位置を通知されてもねぇ。 undefの変数が分かるようになりました、って今まで分からなかったのか。 これrow_number使えんのか。 21件目から30件目、とか取得したい場合どうするの? select top 30 .... where not exists ( select top 20 ... みたいにするの? それとも何か専用の書き方がある? 無い。TOPはあるけどOFFSETが無いから無意味。not existsでできた? やるならQueryの中で一部を切り出すしかない気がするんだけど、SELECT句のカラムを適切に 設定した%SQLQueryを生成する方法がリファレンス等を読んでもよくわからない。 一旦全結果セットとってから、抽出。 あまりにも膨大な結果セットになる場合は、取得範囲以外を切り捨てちゃう方法があったはず。 (多分 row num より効率が良いかも) row num が使えるDBも内部では同じ事しているから、row num が使えるだけ。 まー、row num が使えると便利だけど。 スタジオでINTルーチンをデバッグしようとすると 「エラー#6704:ターゲットがデバッガから終了しました」 ってなる。 もう一回続けてデバッグをしようとすると 「6707」って出るんだよな.. CACHE2008でファイアウォールもOFFなんだが、 何か設定がたりないのか... 誰か教えて〜 すみません。 質問ですが、ObjectScriptは、M Scriptの発展型なのでしょうか? ObjectScriptとM Scriptはどのような違いがありますか? PUBLIC宣言した変数以外ローカル扱いするプロシージャがある。実質New不要。 クラス定義ができてそれを扱える。クラス定義は内部でCOSに変換される。同じようにSQLも変換される。 ブロック構文が使える。if {} elseif {} else {} とか while {} とか。ブロック構文は$Testを無視する。 このへんかな、大きな違いは。 >>202 逆に私はCOS以降から入った人なので、知識としてif<sp><sp>else<sp><sp>とかがあるとは知っているけど、使いこなせない。 素のMのソースはマジ読めない。Mべったりの人は他にいると思うので、まだ大きな違いがあるなら、そちらの人が指摘してほしい。 個人的には、ブロックの導入が最大の違いだと思う。プロシージャも新ifも、ブロック構文が前提だから。 ああ、1日目は最初10分おきでやってたし 2日目は21:30スタートだったけど 今日は9:00スタートで2回戦は23:00のままだから結構開くんだ。 明日からは新馬戦は21:30にしよう。 ぜんぜん進んでないww 誰もいないのかな?? cache'2008も出たことだし、今後のことをきいてみたかったのに・・・ ど素人なんでROMってる 自分で組む参考にしようと常駐してるけど本当に進まないな 階層型DB選ぶなら大体これだろうと思うんだけどみんなリレーショナルなのか 俺もどしろーとww でも、、、個人レベルならcacheはあんまりメリットのでは?? 転職してこれ使うことになった 自分の発想にすごい合ってるかも だがマイナーなんだなぁ…… 何かだんだん慣れてくると癖になるな…… 恐ろしいほど早いし。 ただIsolation Levelが気になる……SQL Serverで言うREAD COMMITTEDなんだな…… 気にはなってるんだよねぇ。これ。 でも情報が少なすぎて。 クラスからルーチン(.int)を呼んで、引数渡して、戻り値受け取りたいんだけど可能? キャッシェ・・良い商品だけど価格をそろそろ見直さないと使えないです。 高すぎる。 M言語のすばらしさは、それを使った人にしか理解できないと思います。 EXCELやAccessの手軽さで、ど素人でも簡単な講習でプログラムを 組むことができるのです。 しかもそのDB構造は堅牢で理解しやすいツリー構造で容量を消費せず、しかも アクセススピードか速い。またデータの型を気にする必要も無い。 こんなプログラミング言語がCOBOLやFORTLANの時代に在ったなんて 信じられない。 誰か、UBUNTU上で日本語でフリーで使えるM言語を開発して欲しい。 Mは嫌だな。 使うならCache Object Scriptがいい。 ブロック構文も使えない言語なんて…… >>223 フリーマンプスというイスラエル産のオープンソースがあってな だれか商用でもオープン系でもいいから、ガチでSQL性能比較した人いない? それともみんなSQLは捨ててMUMPSとして使ってるの? >>232 人居ないと思ってた・・・ ありがとう 誰か分かる人いるならCache'でM言語のご教授してくだされ もう一人いるぞ Mって事は昔のソースか?Mシステムのメモ帳でggr >>234 昔のが分からないけれども、Cache ObjectScriptです 入門とメモ帳はよく読んでますが、理解が悪いです・・・ >>235 >>200-203 辺りの違いは分かってる? 講習を受けるだけでかなり理解が進むんだけどな 俺らIT関係の単価考えたら二万は安いだろ ただ、まともに理解するには管理コースとかサーバーサイドプログラミングも必修 >>236 ある事情によりMをいきなりやっている状態なもので分かっていませんでした。 講習を検索してみても現在予定 最近の見当たらなかったです。見落としていたらすみません。 それと講習がやってても時間があるかどうか・・・ test(){ } とかで、test(a)やtest(a,b,c) みたいに引数の数が分からない場合、どのように取得すればよいのでしょうか? javascriptの arguments や perl の @_ みたいなものが無いかな・・というイメージなんですが。 変数名に、val_ref みたいにするとエラーになるんですが、変数名に _ は×なんでしょうか? 実際にやってみてダメなので、ダメなんだろーなーとは思うんですが・・ 変数定義を必須にするようなオプションはないでしょうか? スペルミスとかで変数名間違ってもそのまま通ってしまうのでちょっと不安で。 もしくは局所化でもいいんですが。 javascriptでの以下みたいな (function(){ var test = ''; ・・・ })(); せめて、コンパイル時に warning ででも教えてくれるような機能があれば。 Cach? のスタジオで ctrl+z で変更を戻すときに量が多少多いと微妙に間違って戻ってしまうのでちょっと困っているのですがなんとかならないでしょうか? 今のところ解決方法が分からないので別のエディターを使ってコピペしてるんですが、面倒くさくて。 キャシエの噂を聞きつけてWin評価版入れてみ た。 裏でApache動いてるみたいだけど、評価版でも リモートからWebアプリにアクセスできるのかな? メンテを依頼された客先のシステムは C30WとかいうVT100のエミュレータでアクセスしてる。 この制御コード変換?に%NDS.obj NSYS.obj というのを 使っているんだけど全く資料がなくて作成元も不明 どこかに落ちてないですかねえ >>238 javascriptやargumentsに詳しいわけでもないし、 あまり詳しいわけじゃないから間違ってるかもしれませんが、、 関数を作りたいのでしょうか? それでしたら、関数の引数をあらかじめ、渡される予定の最大数の引数で作ってしまえばいいかと思います。 で、呼び出し元で想定している、最大の引数の数を超えない引数を超えない範囲で 関数呼び出ししてあげればいいのではないでしょうか? つまり、関数を以下のような形でつくって、、、 TEST(a1,a2,a3) S a1=・・・ 以下で呼び出す。 S X=$$TEST(X,Y) この場合、a3が定義されませんが、オプショナルということで $G()を使用しておけばいいかと思います。 >>239 連投スマヌ。。。 "_"(アンダーバー)はダメだと思います。 というのも、"_"はCacheで接続子としての役割があるから。 たとえば、A="ABC",B="DEF"のとき、A_Bは変数としては扱わず、 "ABCDEF"として解釈するってこと。 >>240 そんな機能あったら便利だねー あったら、教えてちょ。 InterSystemsのDocBookに「ページに書式が含まれている場合・・」のように書いてあって、 "書式"ってなんだろうと思ってたら、 どうやら、formタグ(<form>) のことっぽい。 デアゴスティーニから送り出された新たな週刊ロボット。 70巻を予定。今回もサーボは焦げるのか・・・ ロボ初心者も多く参入するであろうこのシリーズ、初心者は謙虚に、 玄人は寛容にお願いいたします。 デアゴスティーニ http://deagostini.jp/rbx/ ObjectScriptで文字列の抜き出し(VBでいうRight関数やMid関数)を行う関数ってないのでしょうか? $EXTRACTTや$LENGTH組み合わせて自前で作るしかありませんか? >>248 $Eでできるのではないでしょうか。 第3引数を渡せば、Mid関数と同等の処理を行うことができます。 s TEST="1234567890" w $e(TEST,5,7) と実行すると"567"が取得できます >>249 亀ですがありがとうございます。 何がしたかったかというと、桁数決めて0埋めをしたかったのです(123456 ー> 0000123456みたいに)。 >>251 まさにこれです!シンプルでいいですね。 ありがとうございました! オラクルにsqlゲートウェイで接続する場合、異常におそくないですか? ZEN+Object Scriptでファイルのアップローダー的なプログラムを作成したいのですが(ローカルファイルをサーバ内の任意フォルダにコピー)サンプルプログラムなどでこういったコードが使われているものってありますか? 補足ですが、ファイルを%FileBinaryStreamとしてDBに格納するよりも、ファイルのパスのみDBで保持する方法のほうが望ましいです。 どうかよろしくお願いします。 >>253 マスターの連動とかやってるけど遅くないよ そもそもあれってODBCでしょ? 手動で遅くないか試したら? あとはサポートに聞けばいい >>254-255 DBに保存するのは%GlobalBinaryStreamでしょ %FileBinaryStreamなら保存先はファイルパスをしていするはず ZENは知らないや >>256 てっきり%FileBinaryStreamがファイルそのものの保存と思ってました。よく見たらドキュメントのストリームの解説に 書いてありましたね。不勉強でした。 あとCSPのサンプルの中にuploadのテストページがあったのでソースを弄ってみることにします。 有難うございました。 ZENでフォームからのPOSTを受診しようとしましたが、以下の方法ではどうもうまくいきません。どなたか受け取る方法を教えていただけないでしょうか? 送信側(フォーム部分のみ抜粋): <form id="frm" name="frm" method="post" action="test03.test.cls"> <text id="hoge" name="hoge" size="20" /> <button id="bt" name="bt" caption="送信" /> </form> 受信側(メソッドのみ抜粋): Method frmrecieve() As %String [ ZenMethod ] { Set hogehoge= $GET(%request.Data("hoge",1)) quit hogehoge } <button id="bt" name="bt" caption="送信" />は <submit id="bt" name="bt" caption="送信" /> のコピペミスでした。失礼しました。 よろしくお願いします。 速い速いっていうけど、ドキュメントのページかなり遅いんだよね。 Symposia行った? DeepSee同梱って、あれライセンス料取らないの?以前は確かキャシェに含まれるけどライセンス料別って言ってた気がするんだけど。 切り上げとか四捨五入とかどうやればいいんでしょう? 切り上げが無いみたいなんですけど・・ 四捨五入は助かりました! 1で割って余りがあれば、+1すればいいんかな? #で余り、\で商なので if x#1>0 { S x=x\1+1 } マイナスの場合は最古の+1を-1にすればよいかと どうもです。 素晴らしい。ありがとうございます。ceil や round ぐらい言語にあって欲しいですけどね・・ ん・・。やっぱり全く良さが分からないんですけど、 Cache'にするメリットって誰か教えて下さい。 Mで書かれてる古いシステムを動かせる、くらいかな。 上司から今度使うから勉強しろと言われた… 超初心者なのに… 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 96MZ6RMWAH ☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、 改憲議員が3分の2を超えております。『憲法改正国民投票法』、 でググってみてください。国会の発議はすでに可能です。 平和は勝ち取るものです。お願い致します。☆☆ read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる