【M言語】キャシエ・CACHE【MUMPS】at DB
【M言語】キャシエ・CACHE【MUMPS】 - 暇つぶし2ch2:1
05/02/21 11:24:46 Kfxv6UfG.net
データベース新たな選択肢―リレーショナルがすべてじゃない
吉田 育代 (著), 梅田 正隆 (著)
価格: ¥2,310 (税込)
--------------------------------------------------------------------------------
レビュー
出版社 / 著者からの内容紹介
「速い」「軽い」「安い」
こんなデータベースがあったのか!
リレーショナル・データベース全盛時代に、
新しい選択肢を提供するスマート・データベース、
『キャシエ』の真実。
柔軟なデータ構造、高度な文字列の検索性能、
OSを選ばないマルチプラットフォーム。
医療、物流、金融など、
幅広い分野で活躍し続けるデータベース『キャシエ』。
歴史に埋もれてしまった優れたテクノロジーが、
新しい時代に蘇ってきた。
システム開発の効率化を促し、
ビジネスを自然な姿でITの世界に取り組む仕組み。
キャシエのすべてを解き明かす。
MUMPSから生まれた『キャシエ』の歴史から、
さまざまな産業界での輝かしい実績、
そして、これからの活躍の機会を、実例を交えて紹介する。
この人どっかで見たような、、、

3:NAME IS NULL
05/02/21 12:13:50 .net
お仕事ですか?
学生が興味持つような品じゃないと思うよ

4:NAME IS NULL
05/02/21 13:20:24 9u3FVZID.net
リストアがうまくいかないのは何故?

5:NAME IS NULL
05/02/21 21:14:55 .net
宣伝?

6:NAME IS NULL
05/02/23 02:28:04 .net
評価用キット(シングルユーザライセンス無償版って奴)持ってるんだけど、いまいち
使い方がよくわかんないのよね。何かクライアントサイドはWindowsしか考慮されて
ないみたいだし。言語バインディング増やす予定があるようなことを去年のセミナーでは
言ってたけど、例のスタジオとかいう環境の外から普通に使うことってできんの?

7:NAME IS NULL
05/02/23 14:06:28 .net
優良解説サイトのURIキボンヌ

8:SCOTT/TIGER
05/02/26 00:02:33 .net
誰も使ってないのか、使っている人は2chを見てないのか・・・興味はあるんだけどな。
インターシステムズの中の人でもいいから何か情報書いてよ。

9:NAME IS NULL
05/03/03 23:55:09 0QrS0ZXz.net
SQLより絶対使いやすい!!MUMPS・Cacheを使用していると、
なんで、世の中ではSQLがもてはやされるのかが理解できない。
周辺機器とも接続しやすいし、DBの中で、BASIC的なコマンドが使えるのが
いい。

10:NAME IS NULL
05/03/04 13:17:12 .net
あげるなバカ、知ってるやつはしってるんだから。。。

11:sage
05/03/04 23:37:51 QCkP59xy.net
解説本が原本よりかなり安かったり
日経BPに広告打ったり
マーケティングはかなり頑張ってると思う
でも果実を取れるかどうかは。。。

12:NAME IS NULL
05/03/06 17:52:15 .net
>> 9~11
詳細レポートきぼんぬ。

13:NAME IS NULL
05/03/07 19:10:39 jgD1H//W.net
cacheってデフォルトではダーティーリードなんだよな。
分離レベルを上げたときの性能はどうなの?

14:NAME IS NULL
05/03/07 20:19:54 .net
この本はどうですか?
URLリンク(www.amazon.co.jp)

15:NAME IS NULL
05/03/07 22:41:46 czxLclBp.net
青色立方体研究所、ここに詳細あり。
URLリンク(zerogravity.hp.infoseek.co.jp)


16:NAME IS NULL
05/03/07 23:25:19 .net
RDBが出始めのころ、IMS使いのベテランが「RDBは理論は綺麗かもしれないけど、
肝心のパフォーマンスが駄目だから実用的じゃないよ」と嘯いていたのを思い起こさせるな。
ま、それもひとつの真実ではあるわけだけど。

17:NAME IS NULL
05/03/08 10:56:31 z3MQGZom.net
せみなーあるってよ
URLリンク(www.intersystems.co.jp)

18:NAME IS NULL
05/03/14 23:02:05 .net
オブジェクトデータベースCach´e入門
シュプリンガーフェアラーク東京; ISBN:4431710620; (2004/05)
をお持ちの方にお聞きしたいですが、これは
Object-Oriented Application Development Using the Cache Postrelational Database
の第2版と同じ内容ですか? 初版の内容であれば洋書第2版を購入しようかと。

19:NAME IS NULL
05/03/15 22:57:14 .net
ご注意ってところに
「本書記載の情報は、第1刷制作時のものを掲載していますので、~~」
まえがきには
「この第2版は、~~」とある
第2版1刷ということで、いいんだよな。


20:18
05/03/16 23:33:04 .net
>>19
サンクス。何かビミョ~に不安の残る書き方してるんですねぇ。
調べるの面倒なんで洋書第2版を注文することにします。日本語版にしか載ってない
情報とかがあったらちと残念ですが、実は初版だったってオチが一番いやだし。

21:NAME IS NULL
05/03/26 08:29:07 rtNEvCX1.net
なんか便利なのか?これ。

22:18
05/03/31 23:33:44 .net
本届いた。予想していたより薄いので気楽に読めそうです。

23:NAME IS NULL
05/04/05 21:57:34 .net
これライセンスって幾らくらいなの

24:NAME IS NULL
05/04/07 07:27:15 qOmyg27t.net BE:57845546-#
とりあえずどんなモノをつっこめてどんなクエリを掛けられるんだ?
サンプル出せやコラ。

25:NAME IS NULL
05/04/07 09:10:24 .net
優れてるとか何に向くかという表現ばかりで、
何の部分が優れてて何の部分が犠牲になるのか、
全く書かれて無いね。

26:NAME IS NULL
05/04/07 11:26:05 .net
Cacheを意識したオブジェクト設計をしないといけないなら
意味がない気がする。

27:NAME IS NULL
05/04/07 15:24:06 .net
ヂャ、SQL使う人には必要ないんだ。

28:NAME IS NULL
05/04/08 01:00:50 .net
ObjectScript、ちらっと眺めてみたけどこれ設計した奴変態だな。
よくもまあこんなに気持ち悪いデザインにしたものだ。これ使ってるユーザもある意味
尊敬する。

29:NAME IS NULL
05/04/08 22:31:21 uEi9HtjL.net
そのObjectScriptってのがSQLみたいなもんなの?

30:NAME IS NULL
05/04/09 02:12:52 .net
「SQLみたいなもん」が何を意図して質問されてるか誤解してなければ
「全然違うモノです」と回答しておきます。オブジェクト指向のスクリプト言語で、
そこで扱うオブジェクトが永続化できるようになっているわけです。
但しシンタックスが謎・・・設計し直す予定ないのかしら。

31:NAME IS NULL
05/04/09 10:29:56 .net
MUMPSをオブジェクト指向風に拡張したのがObjectScript。
設計しなおしなんていまさら。。。

32:NAME IS NULL
05/04/09 14:45:17 b+5/xJ8y.net
>>25
何に使われているかは、大抵の場合病院関係で、少数派は運輸倉庫系かな。
うちでは、売上管理用に使用している。
特に何に使い易いかと言われると、大抵のシステムに対応できると思う。
ただ、プログラマー人口は少ない。Mumpsは、ANSI規格にも
登録されているので心配はないと思うけど。PG人口は少ない。


33:NAME IS NULL
05/04/11 21:22:11 pM9ngf6N.net
OLAPやチャート描画機能は標準装備?
それともこういうのを別途購入する必要あるの?
URLリンク(www.speedminer.com)

34:NAME IS NULL
05/04/12 10:24:43 .net
キャシェー入門届いた。
とりあえずこれで全文検索OKのBBSっぽいの作ってみる。
本当にはえーのかな?はえーといいな。

35:NAME IS NULL
05/04/12 14:59:00 .net
ライセンス料金、聞いてからにしなよ。
webアプリの場合だと、いい値段になるから。

36:NAME IS NULL
05/04/12 16:12:41 .net
ライセンス料金などなど
好奇心くらいしかないので
問い合わせメールとかして後から
メールだ電話だで連絡がバンバン来るようになると
いやーんなので(ほんとあの会社にゃ参った参った)
知ってる人、教えてー。

37:中野ゆかり
05/04/12 19:40:41 WIfUK7r8.net
趣旨に反しててごめんなさい。「園田朋子さん」もしここ読んだら連絡ください!
真剣に探してます。

38:NAME IS NULL
05/04/15 22:57:19 .net
漏れもライセンス料金気になるんだけど営業が後で来るのは嫌だな。
Webアプリで使いたいんだが100万円前後くらいまでで収まるなら試したい。
そうでないならオプソのDBを頑張って使うしかない。
ライセンスどれくらいか知ってる人教えてください。

39:NAME IS NULL
05/04/16 01:47:21 .net
↑バカか、デブ死ねよ。

40:NAME IS NULL
05/04/21 10:41:41 .net
URLリンク(www.intersystems.co.jp)
開発者セミナー、行ってみようかと思ったけど大阪かよ

41:NAME IS NULL
05/04/21 10:44:26 .net
うーむ。
URLリンク(d.hatena.ne.jp)


42:NAME IS NULL
05/04/25 17:51:10 .net
>1氏
吉田 育代さんは、以前○経ソフトウェアに執筆されてました。
Cache'の入門書(緑のヤツ)は、初めての人には分かりにくい気がしますね。

43:1
05/05/07 07:11:55 .net
>>42
そですね。何かの雑誌でもみたことあるような、、、。和服着てました。
緑本は高価で手が出ません。とりあえず、お試し版はインスコ済みなのですが、、、。

44:NAME IS NULL
05/05/15 12:24:52 0BKeCLiE.net
技術な情報
URLリンク(www.intersystems.co.jp)
URLリンク(www.intersystems.co.jp)
セールスな情報
URLリンク(www.ssl.fujitsu.com)
URLリンク(www.intersystems.co.jp)


45:NAME IS NULL
05/05/18 17:43:32 .net
なんかイメージ的なことばかり書かれててイヤ。
なぜ高性能か、なぜ大規模に使えるのか、が書かれてないような。

46:NAME IS NULL
05/05/22 19:45:41 8YDZ0AWO.net
インターシステムズ(だっけ?)の人に会社に来てもらって説明聞いたけど、
それなりにいい値段したよ。ユーザー数によってはオラクルよりも高かったはず。
まぁ、勉強するとは言ってたけど。
分離レベルが Read Uncommited なのは、オラクル教の俺からするとちょっとな。


47:NAME IS NULL
05/05/23 01:22:31 8SbtqB7t.net
> 46
大事なことは、値段に対する能力がその製品が持っているか、と
いうことだと思うね。
俺も以前はOracleだったけど、Oracleを知れば知るほど、金を
ドブに捨てていることがわかるね。タコな仕様の尻ふきを
設計者、管理者がやらされていることに気づく。
ユーザには「初期導入コスト」よりも管理者に支払う
「人件費」を含む運用コストの節約に視点を向けるべき。
まあ人的スキルを除いても同じコストで実現できる
能力はCache'の方が上だと思うよ。
あと、READ UNCOMMITEDは「デフォルト」なだけな。
SET TRANSACTIONすればいいだけ。
本当のオラクル教信者は、名より実を取る。
競合製品は自分で試して評価することを実践する人が
多いのだけど、はてさて。


,

48:NAME IS NULL
05/05/23 09:52:04 .net
だったらRDBはオープンソースが良い。
MySQLやポスグレも良いかもしれないけど、
Firebirdが一番。

49:NAME IS NULL
05/05/26 18:04:10 .net
MUMPSって調べてみたけど、非構造化言語で
サブルーチンレベルのローカル変数すらないのね…
永続化データにはスキーマもないからデータ構造も
アドホックになりがちという話。
古すぎてちょっと触りたくないな。


50:NAME IS NULL
05/05/29 01:06:53 .net
> 48
Firebird となったとたんにBorland製品とのマッチが
悪くなったのと、これはOSSのDBのほとんどについて
言えるがスケーラビリティにおいてはまだ大規模には向かない。
そうじゃないというなら、これに対する反論は大歓迎。
たかだかWebサイトや小規模部門サーバのDBならともかく、
病院のような(ちょっとした問題でも起こしたら
「人殺し」とののしるような客があいて)ところに
OSSのDBを薦められる根拠があると俺も助かるから
教えてくんない?
医療業務や原子力関連など、生命にかかわるものに
関しては、O社も使用許諾書でこっそり「無保証」を言ってるからな。
それでも大丈夫な画期的方式がOSSにあるなら、しりてーなー
OSSは自己責任だから、客に任せて、、はNGね。
そんな寛大で技術的に優秀なお客さんが沢山いれば幸せだねー

> 49
マニュアルも試用版も、ベンダーサイトにある資料も
ほとんど見ないで憶測で書いてるよね。キミ。
確かにCacheはMUMPSの過去資産をほとんど利用できる互換性を
持っているけどね。
N88BASICとVS.NETぐらいの差があるっていったら理解できるかな?
この例は互換性に乏しいけどね。


51:49
05/05/29 01:31:29 .net
>>50
今のところCache'には興味がないんで、
MUMPSについて調べた感想を書いただけなんだが
どこか間違いあった?

52:NAME IS NULL
05/05/29 01:48:32 .net
だったら「MUMPS」は触りたくない、って書けばいいのにねぇ。
厨房?

53:49
05/05/29 02:50:38 .net
> MUMPSって調べてみたけど、(…中略…)古すぎてちょっと触りたくないな。
って書いたんだけど、何かおかしかった?


54:NAME IS NULL
05/05/29 03:09:24 .net
>>47
あんたのお勧めはなんだ?
たこな仕様ってなんだ?


55:NAME IS NULL
05/05/29 09:41:50 Xixe9HKd.net

古すぎるなら 古いから使わなくていいと思うものは使わなくていい
単なる食わず嫌いに過ぎない。
古いから悪いものばかりではない!!
Mumpsは古いがSQLよりも速く使いやすい。
SQLは単なる巨大なエクセルシートで検索ができるだけの
データベースにすぎない。
複雑なエクセルシートを検索するなら、スクリプトが複雑になる。
なので、マスターにおいておけば済むような情報でも、詳細情報に書き込み
れーコードを巨大化させている。新しく好い物なんだろうか??
また、vbからSQL情報を取得するには、VBのレコード定義
スクリプト作成、スクリプトのコール、取得されたレコードの読み込み
これだけの手順が最低でも必要。Cacheなら、VISM.OCXのプロパティ
で十分対応できる。複雑なDB検索が必要ならMUMPSロジックを書けば対応できる。
またサブルーチンレベルでの変数と書かれているが、実際はMUMPSでは出来るが
正解。
Newコマンドと言われるコマンドがある。
正直、MUMPSを使用していて、このコマンドは使う人は使うが、
NEWコマンド嫌いな人は使わない。
MUMPSは1960年代からある言語だから、今のWindows始まってからpc始めた
人々には難しいかもしれない。
Mumpsを使いこなすと、SQLなんて使えなくなる。
Mumpsは人間の脳の記憶に近いらしいから、人類であれば使いやすいのではと思う


56:NAME IS NULL
05/05/29 10:27:36 .net
>MUMPSは1960年代からある言語だから、今のWindows始まってからpc始めた
人々には難しいかもしれない。
そういう人にはぜひCacheObjectScriptを。
いわゆる構造化プログラミングにも対応した
拡張M言語ともいえます。
クラスメソッドならVBライクなCacheBASICもあるし。
>Mumpsを使いこなすと、SQLなんて使えなくなる。
>Mumpsは人間の脳の記憶に近いらしいから、人類であれば使いやすいのではと思う
これはMUMPSの肝である「グローバル」のことを言っているのだと
推測します。
いわゆる「永続化できる連想多次元配列」こそMUMPSをここまで
生き延びさせてきた要因かもしれない。
バリバリのプログラマなんだけど、RDB/SQLの考え方やその
デメリットに辟易してる人なら、直感的に気に入るはず。
そんなによいものなら、なんで日本市場ではニッチなんだろう、
という疑問がある人は、吉田さんの本を読むべし。


57:NAME IS NULL
05/05/29 10:37:54 .net
いまだに階層型DBをマンセーする香具師がいるとは驚きだな。
そういう議論は80年代で終わったかと思ったが。

58:NAME IS NULL
05/05/29 10:44:52 .net
Cacheは何故隠されていたか
■速すぎる.. HWメーカーが支持しない
 例えば、RDBなら1億円のマシンが売れるが、Cacheでは1000万円のマシンしか売れない
■日本企業がすべて開発販売に失敗
 1980年頃O、T、M、P、H、(N)、D
 MUMPSはダメだ.. ネガティブキャンペーン
■ユーザーは成功しすぎて話したがらない
 競合他社ではRDBで40億のシステムを、自社では8億で開発した…

59:NAME IS NULL
05/05/29 11:16:33 .net
> 57
よく調べもしないでRDB派のFUDのノリそのままでくるとは
驚きだな。ていうか笑えるな。
いわゆるCOBOL方面の階層化DBとデータの持ち方が
ちがうからな。
自分で試してから批判したほうがいいと思うぞ。


60:NAME IS NULL
05/05/29 11:40:16 .net

>■速すぎる.. HWメーカーが支持しない
ちょっと前だと当てはまる構図ですね。日本のソフトウェアが
欧米製に完敗し、プラットフォームビジネスに切り替え。
ハード・ソフト両方売っているSIerはシステム開発はおまけで
ハードで利益を出す。
オープンソースがはやり、Linuxがのさばり、利益率が高い
RISC系オープンサーバが売れなくなって、安いIA/Linuxに
路線変更。今の頼みの綱はサポートサービスによる収益。
Cache'はハードの性能をあますとこなく生かすので、
ユーザのコストメリットは高い。
>■日本企業がすべて開発販売に失敗
「F」も入れといて。でも、最近は運用実績からみなおされてきて
既存のRDBリプレースならずとも分析系などで人気がでてきている。
>■ユーザーは成功しすぎて話したがらない
おれも客の巨大データつかって、SQLアクセスのみ
だったけどOracleとの性能比較したらびっくりしたよ。
そのときはRDB/SQLしか知らなかったから、
MUMPSグローバルの特性をISJにレクチャーしてもらって
ダイレクトアクセスに処理を書き換えたら感動物だった。
いちおうDBA15年選手でOracleMasterも持っているので
Oracleのチューニングは死ぬほどしたけど、勝てなかった。

61:NAME IS NULL
05/05/29 22:10:39 .net
データのretrieve以外もはやいのかな?
セッションいっぱいで更新したらだめだめとかない?
データファイル壊れても完全リカバリとかできる?
安全装置がないから早いですってのは嫌だYo


62:NAME IS NULL
05/05/29 22:41:39 .net
> データのretrieve以外もはやいのかな?
> セッションいっぱいで更新したらだめだめとかない?
セッションいっぱいといっているのは、
サーバマシンリソースの限界のことを言ってる?
何の限界をさしてる?
あと、セッションいっぱいになったがために
問題になった実例ケースを想定して話しているなら、
その実例を起こした製品はなんだ?
それって、DB製品自体の問題だけじゃなくて、インフラや
消費リソースの見積もりが極度に悪いとかの場合もあるからな。
あ、あと、Oracleなんかだと負荷高騰による障害パッチが
サポートを[買えず|買わず]に運用している環境にあたって
なく、サポート情報も知りえないから障害なのか仕様なのか
すら判別できないという悲惨なケースもあったなあ。

> データファイル壊れても完全リカバリとかできる?
当然。オンラインバックアップも可能。
> 安全装置がないから早いですってのは嫌だYo
ああ、InnoDBがなかったころのMySQLみたいのね。
更新ログもってなかったらそりゃ早いだろ、と。
ちゃんと更新ログもってるし、もし速さだけを追求したい
(テンポラリ作業用とか)トランザクションに対して
Oracle の NOLOGGING のような機能もあるよ。
更新ログ転送してOracle DataGuardのようなリモートサーバ
へのDB複製(シャドウイング)もできるしね。


63:NAME IS NULL
05/05/30 03:14:23 .net
なんかキモイ

64:NAME IS NULL
05/05/30 09:32:51 .net
儲の立てたスレは大抵キモいな

65:NAME IS NULL
05/05/30 12:40:02 bVXD8g/V.net
>>63 >>64
 MUMPSはダメだ.. ネガティブキャンペーン???
SQLこそ、くそDBである。早くなくなっちまえ。
ユーザーからみれば、安くて安定したシステムを希望する。
SQLエンジニアは、プログラムがややこしいのです、
時間がかかります。なので、コストが高くなりますで、
エンジニアっぽい能書きたれるけど、実際はSQLしか
しらんから他のDBに手を出すのも今更、怖いで勉強もしない。
そこがいかん!!。
なんでも、キモイの言葉で済ます低脳な発言はやめろ。
言葉知らずども!!
MUMPS,CACHEを知り尽くして、反論してみろ。


66:NAME IS NULL
05/05/30 13:32:35 .net
MUMPSって、DECのミニコンとかで動いてたヤツ?

67:NAME IS NULL
05/05/30 13:53:02 .net
MUMPSの多次元連想配列って、どう使うのがセオリーなの?
「M(MUMPS)メモ帳」っていうページを見つけたんだけど、
1レコードをひとつの文字列としてまとめて変数に格納する
みたいなテクニックだった。
例えばこのスレの>>1を^DATというグローバルに入れる場合は
↓のような感じ。
^DAT("db",1108952588,1)="2005;02;21;21;11;08;医療、金融、物流、製造でいまだに活躍!\n古参も新参者も、さー語ってくらっしゃい。"
素人考えでは、
^DAT("db","Board Name")="データベース板"
^DAT("db",1108952588,"Thread Name")="【M言語】キャシエ・CACHE【MUMPS】"
^DAT("db",1108952588,1,"Year")=2005
^DAT("db",1108952588,1,"Month")=2
^DAT("db",1108952588,1,"Date")=21
^DAT("db",1108952588,1,"hour")=11
^DAT("db",1108952588,1,"minuit")=23
^DAT("db",1108952588,1,"second")=8
^DAT("db",1108952588,1,"content")="医療、金融、物流、製造でいまだに活躍!<br>古参も新参者も、さー語ってくらっしゃい。"
こんなツリーを作ってしまいそうなんだけど。
効率が悪くなるからダメ?


68:67
05/05/30 13:56:22 .net
あ、名前とメアドとのフィールドを忘れてた。
^DAT("db",1108952588,1)="1;sage;2005;02;21;21;11;08;医療、金融、物流、製造でいまだに活躍!\n古参も新参者も、さー語ってくらっしゃい。"
こうですね。


69:NAME IS NULL
05/05/30 14:28:16 .net
YahooBB219023164105.bbtec.net

荒らし常習犯↑↑

70:62
05/05/30 23:35:36 .net
> 65
俺は製品の批判はするけど、RDB理論とSQL自体は批判しない。
普通のファイルアクセスだって、大量データの全なめ用途
だけなら最速の場合もある。
適用ゾーンと使い方を間違えずに、問題にフィットする
データ操作を行えばいいだけ。
中傷なんぞ勝手に言わせとけ。どうせプログラムしか
組んだことなくて、要件定義から運用保守までなぞ
したこともないし苦労したこともだろうから。
> 67、67
建設的な質問サンクス
上の例だと、";" を区切りにしたPIECE構造はあくまでデータで、
このデータを検索するキーとしては("db",1108952588,1)
=板、スレ、投稿番号の3つでよいという構成ならOKと
いうことになるね。
キミが書いた例なら、そのあとの要素が規則的に続き、本文は
データとして扱うなら
^DAT("db")="データベース板"
^DAT("db",1108952588")="【M言語】キャシエ・CACHE【MUMPS】"
^DAT("db",1108952588,1,2,21,11,23,8)="医療、金融、物流、製造でいまだに活躍!<br>古参も新参者も、さー語ってくらっしゃい。"
^DAT("db",1108952588,2,2,21,11,24,46)="データベース新たな選択肢 ~ 略 ~ "
^DAT("db",1108952588,3,2,21,11,24,46)="お仕事ですか? ~ 略 ~ "
の方が効率的。
要素確保の分効率が悪くなると思いがちだけど、
同じ要素位置の値は、そのままストレージに格納されるのでは
なくて、その前の同じ要素構成の部分までは同じ、という
情報だけを持つので、このパターンだと、板とスレの要素値は
省略されてストレージに格納される。
この並びによって、実際の格納サイズも削減できるし、
RDBなら検索キーのカーディナリティ(多重度)が低い
場合でも、フルスキャンする量が減るので効果大
ソートは不要、ストアした時点で自動的に要素順に格納してくれる。
削除・更新したときのストレージの断片化も心配無用。
ストレージエンジンが自動デフラグしてくれる。
デフラグ負荷も実運用上ほとんど気にならない。
あくまでここまでは標準MUMPSのグローバルアクセス。
Cache’の拡張Mはまだいろいろある。スキーマも持たせたい
場合は、クラス定義をすることになる、ストレージには最終的に
クラスに対応するグローバルにストアされるが、その構成が
異なる。その辺はマニュアルを見るべし。
URLリンク(www.intersystems.co.jp)
URLリンク(www.intersystems.co.jp)
URLリンク(www.intersystems.co.jp)


71:NAME IS NULL
05/05/31 22:59:33 .net
UNIXでshell&Emacsべったりな生活を送っていた習性からかLinux版であっても
Windows機上の「スタジオ」という統合環境からのオペレーションを強要されるのが
なんとかならんもんかと思うのですが、その辺古くからのユーザさんはどうしている
のでしょうか?
当方OracleのクライアントはSQL*Plusが最強だと信じて疑わないコマンドライン派です。
Cache'に興味はあるんですがWindowsが(ry

72:67
05/06/01 12:07:00 .net
>>62
ありがとうございます。
レコードの要素を文字列で持とうが添字で持とうが、
データを一直線に並べて(という表現が適切か分かりませんが)
保持するのがいいんですね。
あと、検索性についても知りたいのですが、2chの例で続けますと、
更なる要件として、スレのage/sageがあります。
板を表示するときには、各スレの最終投稿日時の降順が基本ですが、
スレごとの最終投稿日時を決める際に、メール覧に"sage"という文字列が
含まれている投稿は考慮しないというルールです。
この場合、投稿データの登録時に、メール覧に"sage"が含まれない場合に
スレ別最終投稿日時インデックスを更新する、という処理になると思い
ますが、そのインデックスをどう表現するのがいいのでしょうか。
あるいはもしかすると、>>70の例の場合インデックス自体いらないのでしょうか。
ご教示ください。

73:NAME IS NULL
05/06/01 16:29:37 1D0d6fgZ.net
>>72
M言語のグローバルについて
グローバルに書き込んだ時点で、ノードごとにアスキーコード順に
書き込まれるようになっています。
>>70のグローバルを下記の順でSetコマンドを実行した場合
Set ^DAT("db",1108952588,3,2,21,11,24,46)="お仕事ですか? ~ 略 ~ "
Set ^DAT("db",1108952588,2,2,21,11,24,46)="データベース新たな選択肢 ~ 略 ~ "
Set ^DAT("db",1108952588,1,2,21,11,23,8)="医療、金融、物流、製造でいまだに活躍!<br>古参も新参者も、さー語ってくらっしゃい。"
Set ^DAT("db",1108952588")="【M言語】キャシエ・CACHE【MUMPS】"
Set ^DAT("db")="データベース板"
逆にグローバルをセットしても
グローバルを参照した場合は、下記のように表示されます。

^DAT("db")="データベース板"
^DAT("db",1108952588")="【M言語】キャシエ・CACHE【MUMPS】"
^DAT("db",1108952588,1,2,21,11,23,8)="医療、金融、物流、製造でいまだに活躍!<br>古参も新参者も、さー語ってくらっしゃい。"
^DAT("db",1108952588,2,2,21,11,24,46)="データベース新たな選択肢 ~ 略 ~ "
^DAT("db",1108952588,3,2,21,11,24,46)="お仕事ですか? ~ 略 ~ "
ノードで参照する場合であれば、インデックスは不要です。


74:M経験者
05/06/17 19:46:26 .net
キー値前ゼロの有無でダブルコーテーションの要不要が変わるのはやめてくれ~
前ゼロキー値がソート順で後ろになるのはやめてくれ~
コメント行入れるとネストがぶっちぎられるのはやめてくれ~
ネスト内でNew付け忘れるとネスト抜けても変数が残るのはやめてくれ~
ループのブレイクがフラグ変数使わないと書けないのはやめてくれ~

75:M経験者
05/06/17 19:59:34 .net
ごめん。もうひとつ追加。
>ネスト内でNew付け忘れるとネスト抜けても変数が残るのはやめてくれ~
でこのときネスト外に同名変数があると、
有無を言わさず上書きになるのはやめてくれ~

76:NAME IS NULL
05/06/18 06:30:49 QkO2JNYV.net
>>74
>キー値前ゼロの有無でダブルコーテーションの要不要が変わるのはやめてくれ~
"000005"
000005 の件ですね。
 これは、ごめんなさい。あなたが、コンピュータそのものを理解していないだけです。
 上記の"00005"は文字列として扱う、000005は数値として扱うなんです。
仕様としては理に適っています。
>前ゼロキー値がソート順で後ろになるのはやめてくれ~
本件も、ソート順がAsciiコードである事を理解されていないからですね。
 仕様としては正しいです。
>コメント行入れるとネストがぶっちぎられるのはやめてくれ~
何を言おうとしているのかわからん
>ネスト内でNew付け忘れるとネスト抜けても変数が残るのはやめてくれ~
 Newコマンド使わなきゃいいんじゃないの?
>ループのブレイクがフラグ変数使わないと書けないのはやめてくれ~
どこのMumpsを使用したの?
M経験者と言われても、数ヶ月でしょうか?SQL(2次元DB)経験者ではとっつきにくいかも
しれませんが。仕様を理解されて使うと
本当にいいDBですよ。

77:M経験者
05/06/18 13:08:08 .net
>>76 あーレスどうもです。
> >キー値前ゼロの有無でダブルコーテーションの要不要が変わるのはやめてくれ~
> これは、ごめんなさい。あなたが、コンピュータそのものを理解していないだけです。
> 上記の"00005"は文字列として扱う、000005は数値として扱うなんです。
>仕様としては理に適っています。
理に適っていません。
「000005は数値として扱う」は厳密に言うと5として数値扱いになります。
そして555555は常に数値扱いとなります。"555555"と書いてもです。
つまりこの問題の本質は、固定桁数数値をキー値として扱う場合、
先頭がゼロかそうでないかで処理を分けなければいけないということです。
○○コードとか○○区分とか、世の中固定桁数数値で扱わなきゃ
いけないものが結構あるのですが。
# って書くと「常に前ゼロなしで扱えばいいのでは」という話になるのですが、
# それはそれで表示時の前ゼロ書式化/書式化解除が手間でしょう。
>>コメント行入れるとネストがぶっちぎられるのはやめてくれ~
>何を言おうとしているのかわからん
↓こんな感じ。
D ;ネスト開始
.S n=1 ;ネストの中。こことか
.;こことかにコメントは書けるが
;ここに書くとネストも終わってしまう
.S n=n+1 ;この行は実行されない
いちいちコメントアウトするときも(.の有無に)気ぃ遣わなきゃならんとは…。
>>ネスト内でNew付け忘れるとネスト抜けても変数が残るのはやめてくれ~
> Newコマンド使わなきゃいいんじゃないの?
言い換えると「ローカル変数は使用禁止。構造化は諦めろ」ということですか?
>>ループのブレイクがフラグ変数使わないと書けないのはやめてくれ~
>どこのMumpsを使用したの?
これは失礼。説明不足でした。ループ継続条件だけではなく
breakもあるwhileループを想定しています。どう書くのがスマートですかね?
>M経験者と言われても、数ヶ月でしょうか?SQL(2次元DB)経験者ではとっつきにくいかも
>しれませんが。仕様を理解されて使うと
>本当にいいDBですよ。
Cache'4で1~2年ほど。VT200環境で動かす業務アプリでした。
きっとそれでは経験不足なのでしょうが、その上での感想は
・確かにDB自体の処理スピードは悪くない
・しかしMの言語仕様がロートルなので、生産性はまったくよくない。
・変数スコープが変態的なので、特にデバッグでは確実に死ねる
といったところ。構造化が中途半端にしか出来ないのは困りものですね。
Newの仕様に意義を見出すかどうかで、Cache'に対する印象が
分かれるかと思います。

78:M経験者
05/06/18 13:10:25 .net
やめてくれ~シリーズにもうひとつ追加。
空白文字の数が一つか二つかに、文法的意味を持たせるのはやめてくれ~

79:NAME IS NULL
05/06/19 13:00:07 GkH7LfsQ.net
前ゼロの件ですが、0005も5もMumpsでは5です。
Mumpsで0005として扱いたければ、$E(10000+5,2,5)
と書けば0005と表示されます。
確かに世の中では、固定数値で扱う事は多々とありますね。
Mumpsでは無駄なデータ情報は持たないが原則で作成するので
他のPic x(20) とか 8桁固定とか使われるDBではそのように0詰め
とかしてDB登録しなければいけないですね。
Do<スペース><スペース>の件ですね。
コマンドの仕様はご存知ですか?
Mumpsの基本プログラムは昔のBasicと同様上から下の行へしか行かないGoto,Quitなど
特殊な場合を除き。
Do<スペース><スペース>は、このコマンドの次の行以降で"."で始まる行を飛び先
として扱い、"."で区切られた行がなくなればそのとび先は終了となっています。
なので、"."のない行があるからとび先は終了で正しいのです。
>>いちいちコメントアウトするときも(.の有無に)気ぃ遣わなきゃならんとは…。
それは、当然気を使わなければいけませんね。
Newコマンドの件ですが、同じ変数名を、あるサブルーチンで使用する場合
などは有効と思えますが、重要な変数名であれば、いたるところで変更される
事のないように変数を利用するのがいいと思います。
よく、構造化構造化と頻りに言葉に出されるエンジニアさんがいますが、
それが、絶対正しいのでしょうか?構造化して便利に利用できるのもいいですが
それにより、プログラム変更が難しくなり、仕様変更に耐えれないプログラム
になるなら、古典的なプログラムでもいいと思います。エンドユーザーから
見れば、プログラム内容ははっきりどうでもいい話なんです。それより、完璧な
仕様で動作してくれればいいのです。エンジニアが、頻りに構造化構造化と言われても
彼らの一人よがりでしかありません。
breakもあるwhileループ
どんなのを想定されていますが、VBなどで書いてみてもらえれば書きますが
M言語の仕様自体は確かに古いです。おっしゃる通りだと思いますが、でもそれで
十分機能は果たしています。最新の言語のようにコマンドが多い方がいいですか?
その文コマンドを覚えなければいけませんよ。
Mumpsは基本的にa-z,$a-$z,Za-Zzなどアルファベットまたは$付き,Z関数で構成
されていて、コマンドは少なく仕様は世界基準も整備されている、新興言語のように
バージョン違えば、コマンドも違うなんて事にはなりにくいのです。
生産性がよくない事は全くをもってありません。
コマンドを知らないプログラマが言う言い訳に過ぎません。
空白文字が1文字2文字で文法が変わると言うのは、それはそれに意味があるからです。
空白文字を1つであなたは、プログラムを書いたプログラマの意思を判断できますか?
仕様は仕様なんだから、それに対応できる理解力が必要です。なので、Mumpsに抵抗を
感じているんではないでしょうか?


80:NAME IS NULL
05/06/19 13:15:52 .net
>>79
話のすりかえもはなはだしいな
>エンドユーザーから
>見れば、プログラム内容ははっきりどうでもいい話なんです。それより、完璧な
>仕様で動作してくれればいいのです。エンジニアが、頻りに構造化構造化と言われても
>彼らの一人よがりでしかありません。
こんなこと書いといて、あとはひたすらMumpsの擁護かよ。



81:M経験者
05/06/20 00:13:48 .net
遅ればせながら>>77最後の一分の誤記を訂正致します。orz
誤:
Newの仕様に意義を見出すかどうかで、Cache'に対する印象が
分かれるかと思います。
正:
Newの使用に意義を見出すかどうかで、Mに対する印象が
分かれるかと思います。
>>79さんは「意義を見出さない」方のようですね。
>確かに世の中では、固定数値で扱う事は多々とありますね。
数列をあらわす項目は文字列型、数量をあらわす項目は数値型、
というように使い分けられるのがベストですが、Mでは言語仕様上
先頭がゼロなら常に文字列型(但し先頭に"+"をつければ前ゼロを除去し
数値型にキャストしたことになる)、そうでなければ常に数値型
という扱いになってしまうようです。
結局、「固定桁数数値という要件に対する解決は、Mにはない」
という解釈でよいのですかね。どのように解決しているのか
事例を出していただけるとむしろありがたいのですが。
>>いちいちコメントアウトするときも(.の有無に)気ぃ遣わなきゃならんとは…。
>それは、当然気を使わなければいけませんね。
"."を評価する以前に、コメント行の除去が行われるよう
文法解析仕様が組まれていれば、気を遣う必要すらないのですが。
「当然」なのではなく「理不尽な仕様」と考えます。
>Newコマンドの件ですが、同じ変数名を、あるサブルーチンで使用する場合
>などは有効と思えますが、重要な変数名であれば、いたるところで変更される
>事のないように変数を利用するのがいいと思います。
「重要な変数」が引き立つのは、「重要でない変数」があるからです。
この「重要でない変数」の寿命・名前の有効範囲をサブルーチン内に
閉じ込めることがNew(というよりローカル変数)の真骨頂なのです。
(MではNew宣言した変数でも同名での読み書きが下位ネストで可能なので、
他言語で言うところのローカル変数とはちょっと違う)
グローバル変数の読み書きは要注意というのは確かにその通りですが、
ローカル変数にも注意を要求されるのは組む側としては負担の増加です。
>よく、構造化構造化と頻りに言葉に出されるエンジニアさんがいますが、
>それが、絶対正しいのでしょうか?構造化して便利に利用できるのもいいですが
>それにより、プログラム変更が難しくなり、仕様変更に耐えれないプログラム
>になるなら、古典的なプログラムでもいいと思います。エンドユーザーから
これはとんだFUDですね。この文脈では
「構造化(プログラミング)するとプログラム変更が難しくなり、
仕様変更に耐えられないプログラムになる」
というように読み取れますが、その根拠は何ですか?
逆に古典的なプログラムだと、そんなことはありえないんですか?
構造化/非構造化それぞれについて、具体例を挙げていただけませんか?
私の経験では「構造化プログラミングによりプログラムの見通しはよくなり
製造時の気遣いが減る分生産性は上がる。プログラム構造にハマれば
プログラム変更時に当該部分を差し替えるだけですむので、
仕様変更に耐えるチャンスは増える」なのですが。
長くなったので次へ。


82:M経験者
05/06/20 00:15:06 .net
>breakもあるwhileループ
>どんなのを想定されていますが、VBなどで書いてみてもらえれば書きますが
VBだと、Exit Do/Exit Forにあたりますね。
Do While i < 10
  If i = j Then Exit Do
  i = i + 1
Loop
# 図らずもcontinueはあるんだな…。
>M言語の仕様自体は確かに古いです。おっしゃる通りだと思いますが、でもそれで
>十分機能は果たしています。最新の言語のようにコマンドが多い方がいいですか?
>その文コマンドを覚えなければいけませんよ。
これまたFUDですね。CもJavaもC#も予約語の数は決して多くはないですよ。
その分ライブラリが多いのですが、それは適而リファレンスを見ればよい話です。
予約語分を網羅すれば制御構造の文法は分かるのだから、
むしろ制御構造と機能を分けた、洗練されたやり方だと思います。
逆にライブラリを含めた上でコマンドの少なさを誇られても、
それは即ち実現できる機能の貧弱さを示すだけなのですが…。
>Mumpsは基本的にa-z,$a-$z,Za-Zzなどアルファベットまたは$付き,Z関数で構成
>されていて、コマンドは少なく仕様は世界基準も整備されている、新興言語のように
>バージョン違えば、コマンドも違うなんて事にはなりにくいのです。
>生産性がよくない事は全くをもってありません。
>コマンドを知らないプログラマが言う言い訳に過ぎません。
ここで言われている生産性とは、単に習得の容易さのことであり、
私が考えている生産性とは意味が違います。私が考える生産性とは
「文法は一通り習得したその上で、如何に気遣いなく製造・デバッグが出来るか」
です。前述の通り、前ゼロの有無を考慮したコーディングが必要だったり、
コメントアウトの際ネストに留意する必要があったり、
うっかりNewを付け忘れてもコンパイルエラーにならなかったり、と
どうも「他言語ではしなくてもいい苦労を強いられている」
ように思えてなりません。やはり生産性はよくないと考えますね。
>空白文字が1文字2文字で文法が変わると言うのは、それはそれに意味があるからです。
>空白文字を1つであなたは、プログラムを書いたプログラマの意思を判断できますか?
>仕様は仕様なんだから、それに対応できる理解力が必要です。なので、Mumpsに抵抗を
>感じているんではないでしょうか?
私もいろいろな言語をやってきましたが、空白文字を区切り文字としてのみではなく
その個数にまで意味を持たせる言語はMが初めてでした。
他言語では空白文字がいくつあっても同じ意味合いでしたから。
そんなMの変態的文法に抵抗を感じていることは、否定しません。
えーと…、ところでこれ(>>79)、釣りじゃないんですよね。


83:NAME IS NULL
05/06/20 14:10:48 .net
>固定桁数数値という要件に対する解決は、Mにはない
データの型としては、Mには文字列しかありませんので、
プログラムでどうにかするだけ。
Cacheは知らんが。

84:M経験者
05/06/22 20:16:56 .net
>データの型としては、Mには文字列しかありませんので、
微妙に不正確な気が。いや感覚的には分かるけど。
・変数に型はない
・文字列扱い/数値扱いどちらで評価されるかは、格納値に依存する
厳密には↑では?
>プログラムでどうにかするだけ。
ないものねだりなのは分かってますが、結局組む人が知恵使って
どうにかして正しく動作するようにしないといけないのね。
固定桁数数値使用時の「定石」みたいなのは
確立されていないんでしょうか。

85:NAME IS NULL
05/06/22 23:19:17 .net
>・変数に型はない
>・文字列扱い/数値扱いどちらで評価されるかは、格納値に依存する
同意。
でもその為にパタンマッチングが存在する。
いちいちそうしなければならないのか、という気持ちもわかるけど
言語の仕様で対応されていないならMに限らず多かれ少なかれ
他の言語でも知恵使ってプログラムで対応してるでしょ?


86:NAME IS NULL
05/06/24 22:11:56 .net
>>85
> Mに限らず多かれ少なかれ
ダウト。
多いと少ないじゃ天と地の差だろう。

87:M大好き
05/06/25 18:40:13 84dv6T3H.net
DSMから始まりVMS、SP-MUMPS,U-MUMPS、キャシエと
M言語を使い始めて約20年。その間、メジャーなDBとは一通り出会いまし
たが。。。可変長の利便性は離れがたいものがあり、今後もM言語をメインに
使用続ける事になると思います。

88:NAME IS NULL
05/06/26 14:24:14 .net
キャシエも可変長データ扱うけど、
容量の大きなグローバルをキルしてもcache.datがHDD上に占める
サイズはキルする前のまま…グローバルが大きくなればそれだけ
cache.datも大きくなるのにグローバルをキルしても小さくならないんじゃぁ
可変長なんだか固定長なんだか…中途半端だとおもう。

89:67
05/06/29 14:07:08 .net
>>73
スレッドフロート方式の掲示板の
・書き込みが新しい順にスレ表示
・スレ内容は最新X件を表示
・ただしメール欄が "sage" のものは考慮外
という表示についての indexing を質問したかったんですが…


90:コンチハ
05/06/29 14:54:57 n2BAd9gd.net
>>71 Windows機上の「スタジオ」という統合環境からのオペレーションを強要されるのが
なんとかならんもんかと思うのですが、その辺古くからのユーザさんはどうしている
のでしょうか?
私の隣の彼は、Cache ObjectScriptのプログラムはMIFESで書いてますね。
私もデバッグはターミナル(つまりコマンドライン)でやってます (^^


91:コンチハ
05/06/29 14:58:58 n2BAd9gd.net
>>84 ないものねだりなのは分かってますが、結局組む人が知恵使って
どうにかして正しく動作するようにしないといけないのね。
固定桁数数値使用時の「定石」みたいなのは確立されていないんでしょうか。
何しろ教科書も少ないからなあ。皆さん自分の工夫でこなしているんでしょうね。
ちなみに、Cacheなら固定桁数数値をDataTypeで定義してしまえばOKでしょう。

92:NAME IS NULL
05/06/29 15:39:07 XHeGGAmV.net
       , -'"´  ̄`丶、_
      ,.∩         `ヽ
    〃∪'´ ̄`二二人\  ヽ
    | ツ´ ̄ ̄ ̄ ̄´ ヾ ヽ. ',
    |ハ ,ニ、   ,. - 、 | | | l |
    | ハ ィハ     ,二ヽ. | | | | | 同じ板にコピペするとそのままだけど、
    | | | じ'   |トJ〉  /)} l | 違う板にコピペすると鬼のような怖い顔
    | ハ  、'_,   ̄,, 厶イ川| に変わる摩訶不思議な佳子様コピペ。
    l l /\    .. イV\川 |
    ,' l l ,イ `l ̄´ /   /ヽl l
    l | l ハ  `メ、    〃  ヽヽ、__ノ



93:NAME IS NULL
05/06/29 16:28:27 .net
「固定桁数値」という考え方は数を表示するフォーマットの問題に過ぎないので、
(想像だが)普通はMプログラマはソート等で数として扱いたい場合は
「001」と「01」と「1」が別の添え字(値)として同居したりするのを防ぐために、
先行ゼロをつけたままの形式ではグローバルにsetしないとは思う。
$tr($j(数値,桁)," ",0) で固定桁表示にできるし +固定桁数値 で元に戻るし
仮に先行ゼロをつけたままでも演算はできるし
何が不満なのか何をそんなにこだわっているのかがさっぱり見えてこない。

94:U ◆CZtFsGiu0c
05/06/30 13:03:59 .net
>>90
インターシステムズの人と話す機会があったので、Eclipseのプラグインとか
考えていないんですか? と聞いてみた。検討はしているが、計画はないとのこと。

95:NAME IS NULL
05/06/30 15:05:30 .net
「固定桁数値」は、ノードにセットするときはソート順を間上げて0を取るって感じでしょうか?
希に、"5"と"05"は別のデータとして管理してくれ、とかいわれて泣きを見る事がありますが。

96:NAME IS NULL
05/06/30 15:08:49 .net
10.50 をノードにセットすると、10.61 より後になるとか。

97:NAME IS NULL
05/07/02 16:31:32 VLT50gqA.net
知り合いにCacheってどうなのって聞かれたので、
「別の言語を1本知ってるひとなら大丈夫だよ」と答えました。
1日だけ研修で習ったのですが、なかなか素直な言語だと思いました。

98:NAME IS NULL
05/07/05 17:27:47 .net
>>97
知っている別の言語が何かによって
印象はかなり変わってくるな。


99:NAME IS NULL
05/07/19 19:55:51 19Obe/Ej.net
最近知ったのですが、Cache'のライセンスの方がOracleとかよりも高いですね。
昔は安かったのかもしれませんが現在はOracleの約2倍くらいしてるみたいです。。。

100:NAME IS NULL
05/07/23 21:06:18 .net
>99
基本的にユーザライセンス(指名・同時)の計算を
単純にユーザ数だけで計算してるからだね。
負荷分散を考慮した複数サーバ構成でやると、
Oracleよりはるかに安くなるケースがある。

あと、言語の生産性を「昔のM言語」だけで語るのをやめてくれー。
あと、言語オタクは死んでくれー。DBMSの本質を語れないやつは
ここにくるなー。お前らは一生プログラマーでいろー。
プログラミングの話題しかできないやつとは議論したくねー。



101:NAME IS NULL
05/07/23 21:27:16 .net
漏れはCacheに触ったことはないんだが、ちょっと教えて。
CacheはM言語でアクセスすることがやっぱり前提にあるんかな?
SQLでもアクセスできるみたいだけど、それだとRDBMSとの差別化がわからん。
「表」っていう概念は人間にとってわかりやすいからね。
言語まずありき、では普及するのは厳しい気がする。


102:NAME IS NULL
05/07/23 22:53:19 .net
>>100
じゃあ>>89の言ってるindexingについて議論してみろ
お前スレの最初から素晴らしいですとか画期的ですとか印象しか書いてないだろ


103:NAME IS NULL
05/07/24 21:27:05 .net
まあこれまでのやりとりを見ていて俺が思うに、多次元連想配列によるデータストアは
RDBと比較して自由度が高いとか柔軟だという以前に 単にプリミティブなんだな。
だからスキーマとか索引とか、システム側が提供してくれない分、プログラマが工夫して
やりくりしなきゃならない。
提供する機能が最低限だから、ディスクの使用効率も高いように見えるが
ちゃんとパフォーマンスを考えて索引つけたり更新したり
という処理を付加していくと、その分データ構造が冗長になって、
結局はそれほど効率は高くないんじゃないかという印象を受ける。
また提供している概念がプリミティブだから、理解するのが容易とも言われているが、
実用的なモノを作れるようになるためには、上記のような何をどのように格納すべきなのか、
というノウハウまで習得しなければならない。そしてそのノウハウは個人個人の財産でしかなく
広く共有化されるところまでいっていない。MUMPSというシステムは長い歴史を誇っているらしいが、
そういう意味では非常にもったいないというか、ユーザーグループは今まで何をしてたんだ、
と問いただすべきだろう。
あとシステムに抱き合わせで用意されている言語が前時代的だから、メタデータを基にした
定型処理のジェネレーティングみたいな手法も使えない。
例えば
「メタデータを元に構造化データをストアするルーチンを自動生成する」だとか
「データをストアすると同時に索引も更新するルーチンを自動生成する」
みたいなやつね。
DBMSの本質がどうとか言ってる人、こういう議論はどうかな。


104:NAME IS NULL
05/07/31 23:43:13 .net
(1) ^A(X0, X1, X2, ..., Xn) = Y

(2) ^A(X0, X1, X2, ..., Xn, Y)
の違いがわかりません。
(1)は何か方向性を持つのでしょうか?

105:NAME IS NULL
05/08/01 21:04:53 .net
同じだっけ?

106:NAME IS NULL
05/08/02 09:48:21 .net
>>104
どういう場合に(1)と(2)を使い分けるのかを聞きたいのじゃないか?


107:NAME IS NULL
05/08/03 23:55:59 .net
実装の問題? よくわからん

108:NAME IS NULL
05/12/18 09:26:53 .net
4D使ったらいいのに

109:NAME IS NULL
06/01/30 01:24:32 .net
昔のMUMPSで作った「.rtn」のファイルをどーやっってインポートすればいいのかわからん。
ISJの人に聞いたら教えてくれるかな?

110:NAME IS NULL
06/01/30 01:53:08 +memccet.net
age

111:NAME IS NULL
06/01/30 10:10:38 .net
>>109
"オプション"を選んで入力形式を選べばDSM、DTM、MSMとかあるので、
適切なものを選べば大抵はそのままインポートできます。
SP-MUMPSはどれを選べばいいか知りません。

112:NAME IS NULL
06/02/05 01:21:47 .net
>>111
どーもありがとうございます。
SP-MUMPSなのでやはりそのままではうまくいかず、ISJのサポートに電話しました。
TEXTに書き出したものをCACHE用に手を加え、スタジオに張りつけビルドすると良いそうなので
ぼちぼちやってみます。


113:NAME IS NULL
06/02/10 23:50:59 .net
現在のフリーダウンロード版のキャシエって
Visual Studio .NET 用の C#かVB用のソースコードの吐き出しかそれに代わる機能ってありますか?
Visual Studio でいろいろいじくってみたいんだけど、
ホームページみてもいまいちよくわからなかったの
もしできるんなら、またユーザー登録してダウンロードしてみようかなぁっておもったんだけど
しってる人おしえて


114:NAME IS NULL
06/03/09 20:03:24 DnMor8qY.net
age

115:NAME IS NULL
06/04/15 03:15:39 EpKMiBe1.net
113>>
CD付きの本かいました。

116:NAME IS NULL
06/06/23 23:56:27 jKllpmvO.net
過疎ってる…
仕事でCACHEを使うことになってのですが、
なぜかMUMPSではなくSQLベースのRDB的な使い方をすることになりました。
理由はMUMPSを使える技術者が少なく、外注などを探しても
なかなかみつからないからだそうです。
そうなるとCACHEを使う利点がわかりません。
偉い人たちが何を考えているのかわかりません。

117:NAME IS NULL
06/06/24 17:57:44 68KCB3XC.net

手垢の思い

118:NAME IS NULL
06/06/25 10:24:14 .net
ODBC接続でMUMPSって使えるの?

119:sage
06/06/25 18:16:04 HMh637Gm.net
MUMPSを使うというかMUMPSで作ったプロシージャを
ODBCから呼び出すんだよ。
ODBCとADOはMUMPSで作ったプロシージャ
を呼び出せた。
実行時引数も渡せた。
実行結果も取れるよ。

120:NAME IS NULL
06/06/25 18:17:08 .net
なんか初歩的なミスをしてしまった。orz

121:NAME IS NULL
06/06/26 11:45:56 .net
MUMPSはちょいと勉強すれば直ぐに理解できると思うんだが。

122:NAME IS NULL
06/06/26 21:07:02 .net
ところがどっこい、それを理解できない(したくない?)SE気取りの
オサーン達がMUMPSじゃ駄目だ的なことを言うのよ。
で、シャッチョサン達はオサーン達の言い訳を
真に受けちゃったらしくてね…
で、>>116に戻ると。
つうか、CACHEでSQLって速いのか?

123:NAME IS NULL
06/07/03 10:47:33 .net
チューニングをしていないOracleよりは速いとか。
逆に言えば、チューニングしたOracleよりは遅いということ?

124:NAME IS NULL
06/09/04 00:50:27 .net
2ヶ月もレスが無い
かくいう私も話題は無いが
いや、聞いてみたいことはあるんだが、職場で特定されそうで聞けないw

125:NAME IS NULL
07/04/06 18:33:21 vNI9fQnt.net
気にせずに聞いちゃえば…って、すでに半年くらい経過してるのか。

126:NAME IS NULL
07/05/03 03:31:02 tuRSyPPi.net
こんなスレあったんだなw
とりあえず簡単に書けるとこだけ。
もう2年近くも前だが…w

>>81
確かに「当然」ではないだろうけど、「理不尽な仕様」でもない。
もともとインタプリタでもあるMumpsでは、
文法上タブコードの後には命令しか書けない。
つまり、「.」も前の行のネストを継承するという命令の一種。
命令すっ飛ばしたんだから、ネストは継承されない。
それとコメントするのに気を使わなきゃならないってのも、
C言語では/* */のコメントが入れ子に出来なかったので気を使ってたが…

>>101
>「表」っていう概念は人間にとってわかりやすいからね。
もちろん使用するデータの種類にもよるけど、
これはRDBが主流になり始めてから出てきた神話だったりもする。
生物の分類を考えたときに、表で考えるやつはまずいない。
大抵は樹形図になるはず。
RDB以前のデータベース設計の本なんかを読めばわかるけど、
分類データはまず樹形図になるので、
これをまず表に変換しなさい、ってな話が出てきたりもする。
Excelなんかで表を書くときでも、
同じ項目が繰り返される部分のセルを連結したりした時点で、
それはRDB的概念の表ではなくなる。

>>123
扱うデータの種類と設計によるとしか言えんわな。
Oracleのチューニングが何を指すかにもよるか。
結局トータルコストで判断するってアヤシゲな話にしかならなかったり…


127:NAME IS NULL
07/05/17 01:13:06 +H01EdRD.net
>>116
オラクルとかと比べて安いの?

128:NAME IS NULL
07/06/10 23:49:57 .net
M言語使いは需要あります?
必ずしも日本に限らず。
c、Javaを今から始めたって、
ホントに使える人はさておき、
人数多いから、ニッチなのをと考えています。
あと、M言語開発者に聞きたいのですが、
作ったシステムのデザイン(見た目)は
いくらでも見栄えよくできますでしょうか?
いかにも一昔前の灰色背景の味気ない
ものしかできないのでしょうか?
DBスレで申し訳ありませんが、
お願いします。

129:NAME IS NULL
07/06/12 16:59:36 .net
>>128
M言語=Cacheスクリプトで考えちゃうけど、
CacheスクリプトはDBのスクリプトなので
ストアドプロシージャみたいな感じでしか使わない。
なので、目に見える部分はVBなどで作ることになるので、
見栄えはいくらでも良くできます。
需要はわかりません・・・

130:NAME IS NULL
07/06/14 00:27:44 .net
>>129
ありがとうございます。
良いものが必ずしもデファクトスタンダードに
ならないですからね。
cacheが良いものってわけでもないけど。
対極にあるのが圧倒的だから、どうなるのかな。

131:NAME IS NULL
07/06/19 20:42:23 4LH9wt8S.net
Q1.cacheに関わって何年?
Q2.DBの下地(他DBでの開発、学校等でさらりと)の有無
Q3.これからも扱っていく?
お答えいただければ、これ幸い。

132:NAME IS NULL
07/07/16 21:10:29 ZMP1Trrv.net
グローバルのエキスポートをCache形式で行ってしまったデータを
インポートするとDBがぶっ壊れるのは仕様?
Cache Block形式なら大丈夫なんだけど。

133:NAME IS NULL
07/07/24 10:53:29 wjpKL0uy.net
>>132
Cache形式でエクスポートした場合は、
Cache形式でインポートすれば大丈夫だが・・・
とはいっても、いつもは^%GOGEN と ^%GIGEN でインポートエクスポートしているけど。

134:132
07/07/27 22:27:21 dnoekjtc.net
おぉ、レスが付いてる。
>>133
それがCache形式でインポートしてもダメなんだよね。
インデックス付きのグローバルを*Dと*Iのセットでエクスポート&インポート
してるんだが、インポートした後ではユニークキー指定してあるプロパティの
値が10数個単位で重複するという状態になっちゃう。
エクスポートしたのと同じマシンでインポートしてるからエンディアンとか
文字コードとかの問題じゃないはずなのに。

135:133
07/08/02 19:18:26 aFZTPk8o.net
>>134
そのような現象は経験したことがないな。
大抵は文字コードか、形式を間違ってインポートしたときにおかしくインポートされる。
他の原因を強いて考えるなら、データ内に変な文字コードが入っていて
それが悪さしている場合だけど、現象からするとそうでもなさそう。
インターシステムズ社に問いあわせるしかないと思う。

136:NAME IS NULL
07/09/03 08:36:23 lTGjQw3l.net
そんなに高性能なら、なんで基幹とかで普及してないの?
実績が分かりにくい上に情報も少ないし、修得するのが実は非常に困難なのでは?
いくら歯の浮いた宣伝文句見せられても、キャシェと今更心中するわけにはいかないし、日本法人信用出来ないし、多分廃れるな。

137:NAME IS NULL
07/09/03 09:04:50 .net
もともと医療業界で発達したDBだからじゃん? 顧客チャネルが弱い
海外だとぼちぼち金融系にも入ってってるみたいだけどね
ODBが速度速くて開発がラクって事はみんなわかってる
でも既存開発資産との兼ね合いとかISの事業継続性リスクとか見ると
移行コスト/リスクを正当化する稟議が降りないってことでしょ
SEも枯れてるDB運用じゃない新しい技術を習得する・
させることに二の足踏むだろうし
あとサポートの問題もあるんだろうな


138:NAME IS NULL
07/09/04 00:57:47 .net
もともと、RDBはそれ以前からあった階層DBより性能は悪かったわけだが
RDBは瞬く間に普及し、階層DBは廃れていった。
性能ばかりが重要なファクターじゃないってことで。

139:NAME IS NULL
07/09/20 20:08:32 .net
Cacheが速いのって、B+Treeでインデックス張ったキーだけじゃないの?
SQLアクセスって、BtrieveにSQL被せたPervasiveSQLを思い出すんだけど。

触ってみたけど、Object Scriptわけわかんね。%Library.Dateとか日付型に現在時刻
入れようとしたんだけど、ドキュメント検索して見つかった$hってはいらねー。他に現在時刻みつかんねー。
他の言語とかDBなら分かったはずの「格納時の内部表現」って奴がCacheだと全然わからん。
日付や時刻って、どうやって格納されるの?まさか文字列で"2007/09/20"って保存??
$hそのまんま代入できるプロパティ型ってある?みつかんないんだけど。無いなら、$hって何のためにあるの??
型同士の代入互換性が全然わかんねー!こんなの入門書の一番はじめに書いてそうなもんだけど、
見つからないのは探し方が悪いのか?MUMPSの常識は知ってて当たり前だから省略されてるのか?
教えて!エロい人!!!

140:NAME IS NULL
07/09/20 21:02:19 .net
多分だけど、文字列で"09/20/2007"なら入る。
現在時刻を入れたければ、$zd($h)で入れればいいかも。

141:139
07/09/21 20:34:24 .net
>>140
どうも。
日付が保存される場合、その内部表現は何なんでしょう?
日付時刻の場合は?ミリ秒まである場合は違うんでしょうか?
$hで出てくる値が内部表現そのものかな?と思っても、%Date型に$hは入らないで文字は入る。
その辺が、頭で「こうできるだろう」というイメージと違ってて気持ち悪い。


142:NAME IS NULL
07/09/21 20:58:35 .net
自分も勉強中ではっきりとは言えないけど、
Cache'って内部表現は、全部文字列だよ。
だからCache'(M言語上)で使用するときは、文字列として扱う。
型を意識するのってJavaとか.netから使うとき位じゃない?

143:140
07/09/26 23:52:26 .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でも何でも代入できる、とか勘違いしました。


144:NAME IS NULL
07/10/05 09:49:31 .net
クラスを使わないオレには何を話しているか分からんw

145:NAME IS NULL
07/11/02 16:12:51 eSixQGFy.net
クラスを理解出来なくても。。。と言うよりクラスを知らなくても
十分業務アプリを作成出来てしまうから覚えようとする気持ちになれないなぁ(^^;
初めてcacheをさわる人に、cacheのマニュアルは突起にくいと思います。
分かる人が見てわかるようなマニュアルでは意味が無いのでは。。。


146:NAME IS NULL
07/11/02 22:05:02 .net
でも、SQL使うならクラスは必要では?
たしか手作業で既存のグローバル変数とSQLのフィールドをバインディングできたと思うけど、
それ使ってるの?
自動でIndex更新するのも、システム管理ポータルでテーブルチューニングできるのも、
全部クラスつかってスキーマ定義するのが前提では?
十分業務アプリを作れる、という人は、GUIに何を使って、言語バインディングとかは
どうしてるの?サーバーサイドはクラスやメソッドじゃなくて全部ルーチンって事?
5.xからcacheに触れた人と、MUMPSから知ってる人ではずいぶんと前提が違う気がする。

>初めてcacheをさわる人に、cacheのマニュアルは突起にくいと思います。
激しく同意。緑本も読みづらい上に、肝心なことがどこに書いてあるのかわからない。


147:jreDkLfiA
07/11/14 05:59:00 .net
ORPsdW <a href="URLリンク(omovjqzbqrmk.com) [url=URLリンク(utmrbnpsntvi.com) [link=URLリンク(qiccitcitnkc.com) URLリンク(frrzrlocsmjv.com)

148:jINgkbCSp
07/11/20 21:47:25 .net
BQxQoC <a href="URLリンク(hvuradzgdwrj.com) [url=URLリンク(iptzchilibfs.com) [link=URLリンク(sqxrhqizejev.com) URLリンク(xwvvsfbkvjem.com)

149:KYcXhMPKZcpswOSizD
07/11/20 21:49:26 .net
veWsE6 <a href="URLリンク(yajldqweaqzg.com) [url=URLリンク(udwtjjpnlbac.com) [link=URLリンク(awflpxozmcuc.com) URLリンク(dfppikkcugrv.com)

150:144
07/11/22 15:55:35 .net
>>146
GUIはVB.NET、接続はActiveX。
で、ルーチン呼び出してデータを操作って感じ。
学生時代(10数年前)からMUMPSをやってたんで、
今でもこのスタイルで開発。

151:TSirmXzsB
07/11/23 10:57:49 .net
URLリンク(iqlveq.cn) cheap mp3 downloads

152:MjClLBHPHUdRNlpI
07/11/23 21:14:28 .net
URLリンク(kgnsye.cn) Imax california
URLリンク(kgnsye.cn) California dept of corporation htm
URLリンク(kgnsye.cn) Single family homes carlsbad california
URLリンク(kgnsye.cn) Archangel tattoo design
URLリンク(kgnsye.cn) Blue book pricings for atv

153:HGQvtsggq
07/11/25 03:27:26 .net
URLリンク(bfsnbw.cn) white fur faux wrap


154:NAME IS NULL
07/11/28 19:50:08 .net
>>150
$Order使ってるからSQL使ってないのか。
Cache関連サイトって、SQLとかクラス使う方法載せてるところが無いよね。


155:NAME IS NULL
08/05/06 14:46:39 .net
MUMPS懐かしい
30年前に出会いました。
そのころは、DECのPDP11/40というマシンでプログラミングしていました。
PCはIBM5550のPC-DOSがスタンドアロンで普及しはじめた頃です。
会社にはメインフレームに接続した端末ばかりで、なかなか自由に使えなかった時代で、
コーディング用紙をキーパンチャーに渡しパンチをお願いしていました。
もちろん言語はCOBOLやFORTRAN、PL1でした。
MANPSに出会って、私は目が覚めました。
今までのプログラミングはなんだったんだろう。それぐらい感動しました。
クライアント/サーバで端末が10台くらいで、各端末はLANで接続されていました。
エディターもラインエディターでした。
MUMPSは本当に簡単で習得しやすい言語です。
勉強しながら住所録の入力・修正・削除・問い合わせの画面とプリント出力の
プログラムを他の仕事もしながら1週間程度でプログラミングできました。
ファイル構造(データベース)もwindowsのツリー構造そのままですね。
レコードはフルパスのような感じですし。
MAMPSの良さはデータの形式やレコードの定義を考えずに記述できるし
後から自由にレコードの構造を変更でき、他のプログラムにもあまり影響を与えないのです。
本当に少ないステップでプログラミングできるので驚きでした。
MUMPSを調べていてここにたどり着きましたが、
CACHEとうい言語に生まれ変わっていると知り、本当に嬉しい。

156:NAME IS NULL
08/05/06 15:11:27 .net
私が今何ぜMUMPSに関心を持っているかと云いますと。
ライセンス料金です。
windows-OS・office・VB・2003SQLサーバ・CAL・oraclとライセンス料は非常に
頭の痛い問題です。
CACHEにするとサーバをLinuxにして端末をwindowsにしても
CACHEとwindowsのライセンス料だけで済むとしたら、
安いのではないかと考えたのです。
openOfficeも在るし、kingOfficeも在るので。
それにwindowsとSQL・EXCEL・ACCESS・VBはバージョンアップの度に各端末の
環境(バージョン)が違うため不具合続出なのです。
windowsをこの際見切りを付けたいのです。

157:NAME IS NULL
08/05/12 20:16:49 .net
cacheってライセンス料高いんじゃないっけ?


158:NAME IS NULL
08/06/23 00:19:35 .net
URLリンク(dokan-dev.net)
こいつを使ってcacheのネームスペースをWindowsのファイルシステム上にマウントできればいいんだけどなぁ。
さらにMercurialなんかを組み合わせて自動的にバージョン管理までするような仕組みもできそう。
誰か作ってみませんか(他力本願・・・)

159:NAME IS NULL
08/07/21 16:33:30 .net
スタジオからソースを自動エクスポートして、svnで管理する方法ってない?

160:NAME IS NULL
08/07/21 17:54:57 .net
svnってsource safeみたいなやつのことだよね?
cacheにエクスポートするクラスメソッドが用意されてるから
VBSとかで簡単なバッチ作ればできるんじゃね?

161:NAME IS NULL
08/08/05 22:36:55 .net
プログラマじゃないんだが
仕事(医療保険者)で、これから導入するシステムがこれで組まれているんだそうだ
上読むと医療関係で実績があるらしいがレセプト処理なんかが得意ってことなのか

162:NAME IS NULL
08/08/06 07:23:01 .net
別に得意ってわけでもない。
覚えることが少ないからプログラマじゃなくても何とかなるってだけ。
将来的にカスタマイズする予定があるならMUMPSやめとけ。
技術者の確保ができないから開発会社が固定されちまう。

163:NAME IS NULL
08/08/13 14:30:34 uZd+LBNL.net
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)
なにか解決の糸口が分かる方、アドバイスを。。。


164:NAME IS NULL
08/08/13 21:01:38 .net
>>162
レスありがとう
ただ既に成果物は納入されているので
後は導入支援を得て導入という段階になってる
開発はデ○タ…何か身元が割れそうだw

165:NAME IS NULL
08/10/07 13:33:25 14y3s4RQ.net
SQL環境下で動作テストをしていたものをcashe環境下で動作テストを行うのですが
SQL文のズレが分かりません。
SQLのJOIN関数は使わなくてもいいっぽいらしいのですが、どう作れば良いんですかね。
casheの概念や資料なんぞ貰わえず、とり合えず修正してくれと渡されたのですが。
casheについて講習してるような所があればお教えして頂けると幸いです。


166:NAME IS NULL
08/10/07 22:31:47 .net
cache講習はInterSystemsがやってる。一日2万円。講習によって日数が変わる。
SQLはSQL-92の殆どが通じる。
Joinを使わなくて良いパターンは、Propertyが他クラスの場合、->構文で参照できる。
別にJoinを使っても結果は同じだから、だまって知ってるSQLを書けばいいよ。
まずは、システム管理ポータルからSQLを打ち込んでみたら?
あと、ドキュメントをみれば一応SQL関連は難しくない。MUMPS初めての人間がcacheを理解するのに
あのドキュメントは辛すぎるけど。
まず、Cache SQL入門のあたりを読んでみたらいい。

167:NAME IS NULL
08/12/16 21:29:26 .net
情報少ないなー

168:NAME IS NULL
08/12/16 23:05:11 .net
これが最初に勉強中のプログラム言語だけどInValidDT()の使い方わかんねえ
てかいちいち従属で変数書いて検証しないとクラス定義に合致してるかわからないって面倒すぎないか
これだと普通にスプリクトに処理投げてるのと変わらない気がする
そのプロパティ設定したクラスでメソッド書いたら自動で適用されるものと思ってたのにプログラムってこんなものなのか

169:NAME IS NULL
08/12/17 19:54:27 .net
InValidDTってなんだっけ?ドキュメントに引っかからないんだけど。
ちょっとした用途だとMySQLとかで十分だしな。でも大規模になるとEliteになって簡単に億超える罠。
みんなどれくらいの規模に使ってる?参考に教えて欲しい。
あんまり具体的だとInterSystemsにばれるかもしれないけど。

170:NAME IS NULL
08/12/17 23:11:18 .net
ごめんInじゃなくてIsだった
IsValidDT
自分は1000人分弱、予想数百MB程度のデータを扱うつもり
このソフトには役不足だろうけど階層型で完成度高くてフリーで手に入るのといったらこれが一番だし
でも本にしてもネットにしても情報が少なくてほんと困る
暗中模索きつすぎ

171:NAME IS NULL
08/12/21 19:22:23 .net
技術本が今度出るらしいよ

172:NAME IS NULL
08/12/21 23:50:57 .net
それはかなりうれしい
進捗確認できるページある?

173:NAME IS NULL
08/12/22 22:40:40 .net
>>172
進捗はさすがに公開されてないんじゃ・・・

174:NAME IS NULL
08/12/26 19:40:03 .net
cacheデベロッパーズガイド
来たね

175:NAME IS NULL
08/12/26 19:52:31 .net
サンキュ
早速注文した

176:NAME IS NULL
08/12/27 13:13:19 .net
目次見た。
サーバーサイドプログラミング講習+ZEN講習くらいの内容か

177:NAME IS NULL
09/01/12 16:45:13 .net
cacheで作った物って他に転用効かないから、正直あまり使いたくないな
統合環境も使いにくいし古臭い

178:NAME IS NULL
09/01/13 06:01:44 1vVFDDP2.net
オープン・ソース M(Mumps)
GT.M
URLリンク(www.fidelityinfoservices.com)
URLリンク(sourceforge.net)
Mumps II
URLリンク(www.cs.uni.edu)
その他
URLリンク(mumps.sourceforge.net)

179:NAME IS NULL
09/01/14 20:36:33 .net
紹介セミナーやるんだね
URLリンク(www.intersystems.co.jp)


180:NAME IS NULL
09/01/22 13:58:51 GTw1AI0l.net
でぃーぷ・しーの完成度ってどうよ

181:NAME IS NULL
09/02/04 22:42:15 .net
>>180
ISJのページ見てもどんな製品だかよくわからん。

182:NAME IS NULL
09/02/19 00:23:54 .net
アンサンブルだってそうさ。

183:NAME IS NULL
09/02/19 21:45:09 .net
ensembleはほら、BizTalkとかWebSphere MQとかと一緒でEAIの一種じゃん。
BPELのサブセットもあるし。

184:NAME IS NULL
09/02/25 19:40:10 .net
アンサンブルやディープシーのグラフ(SVG)で日本語出せないのはなんとかならんのか。
Flashにすればいいのに。

185:NAME IS NULL
09/02/26 02:34:04 .net
なんともならんよ。
大体アドビがすでにIEのSVGプラグイン放棄してるから今後もう使える望みはない。
ISもいつまでマイクロソフトのせいにして逃げるつもりかね。
しまいにゃ基幹で狐使えとか言うし狂ってるとしか思えない。
大体アンサンブルだってマトモに使えるアダプタがODBCのみとはどういう事?
使えない機能満載にもかかわらずあのトンデモ価格での提供は、本気で日本で商売する気あるとはとても思えない。

186:NAME IS NULL
09/02/26 23:00:51 .net
狐って火狐?IEでしか動きませんって聞いた気が。別の狐の話かな。
1億するWebMethodsよりは安いけど、大して安くはないね>Ens
ところでさ、>>174の本にCacheSQLも載ってるんだけど、DDLについて一カ所だけ触れて「後で説明」って
書いてあるんだけど、説明が見つからないんだよね。
俺の見落としかな? cacheでDDL書く奴もあまりいないんだろうけど。

187:NAME IS NULL
09/02/26 23:15:59 .net
狐はやサファリなんかは標準でSVG対応してるからなあ。
しかし、ディープシーのインターフェースがIEしか対応していないのも事実。実際狐だとログインが出来ない。しかしグラフは日本語表示ができない。JIS2004フォント入れてなくてもダメ。
アンサンブルは狐だとプロダクション管理画面はまあまあ使えるが、そもそも管理ポータルの動きがかなり怪しい。
早い話が全ての機能がマトモに動く環境がほとんどないという素晴らしい製品という事。

188:NAME IS NULL
09/02/27 17:09:29 .net
SVG はさ、SVG で保存して、アドビのソフトでSVGで開いても、ちゃんと表示されない。
IEのSVGプラグインで表示どころか、イラレでSVG の画像部品作る事ができない。
SVG の部品作成ソフトが欲しいところ orz

189:NAME IS NULL
09/03/03 08:56:52 .net
死んだ規格にこだわっても何も良いことないのにねぇ。
そんなことよりキャシェの基本機能や性能をさらに上げた方がもっと効果的に他のDBより差別化できるのにね。
今のISの戦略は我々がキャシェに求めているものとはかなりかけはなれたモノだよ。

190:NAME IS NULL
09/03/03 21:23:33 .net
死んだ規格といっても、M言語を捨てたらそもそも存在価値がなくなるんじゃ?

191:NAME IS NULL
09/03/03 22:53:41 .net
SVGの事じゃね<死んだ規格
CSPとかZENは見直して欲しいかなぁ。セッション維持し続けてライセンス食いつぶすし、Webライセンス高いし。
おまけにC/S間独自っぽくてjQueryとか他所のライブラリを食い込ませる余地がないし。
ASP.NETですらjQueryサポートしてるのに。
WebServiceは割と楽だけど、投げたオブジェクトがCacheインスタンスになった後、更新に使えないのが不満。
新規インスタンスにしかならないから、OpenIdでロードしてプロパティ代入して、とかやらんとならん。
結局、cacheになって追加された機能って中途半端なものばっかり。

192:NAME IS NULL
09/03/04 13:38:31 .net
せめてSQLエクスプローラだけでも復活してくれ。
あの糞ポータルは生産性悪すぎ。

193:NAME IS NULL
09/03/04 21:40:22 .net
>>191
どうみてもSVGよりMの方が死んでますがなw

194:NAME IS NULL
09/03/07 21:48:39 .net
>>193
よせよ、これからも暫くつきあうんだから。
とりあえず、newを排除できたんだからCOSは評価してもいいと思うんだ。


195:NAME IS NULL
09/04/17 15:18:20 .net
エラーメッセージは何とかならないのかな。
mac形式やcls形式で作ってるのに、エラー行はint形式での位置を通知されてもねぇ。
undefの変数が分かるようになりました、って今まで分からなかったのか。

196:NAME IS NULL
09/05/20 20:56:15 N4EG5LIu.net
これrow_number使えんのか。
21件目から30件目、とか取得したい場合どうするの?
select top 30 ....
where not exists
(
select top 20 ...
みたいにするの?
それとも何か専用の書き方がある?

197:NAME IS NULL
09/05/21 21:57:57 .net
無い。TOPはあるけどOFFSETが無いから無意味。not existsでできた?
やるならQueryの中で一部を切り出すしかない気がするんだけど、SELECT句のカラムを適切に
設定した%SQLQueryを生成する方法がリファレンス等を読んでもよくわからない。

198:NAME IS NULL
09/05/24 00:58:13 .net
一旦全結果セットとってから、抽出。
あまりにも膨大な結果セットになる場合は、取得範囲以外を切り捨てちゃう方法があったはず。
(多分 row num より効率が良いかも)
row num が使えるDBも内部では同じ事しているから、row num が使えるだけ。
まー、row num が使えると便利だけど。

199:NAME IS NULL
09/06/04 11:43:47 .net
スタジオでINTルーチンをデバッグしようとすると
「エラー#6704:ターゲットがデバッガから終了しました」
ってなる。
もう一回続けてデバッグをしようとすると
「6707」って出るんだよな..
CACHE2008でファイアウォールもOFFなんだが、
何か設定がたりないのか...
誰か教えて~

200:NAME IS NULL
09/06/28 16:46:47 .net
すみません。
質問ですが、ObjectScriptは、M Scriptの発展型なのでしょうか?
ObjectScriptとM Scriptはどのような違いがありますか?

201:NAME IS NULL
09/06/28 18:58:57 .net
PUBLIC宣言した変数以外ローカル扱いするプロシージャがある。実質New不要。
クラス定義ができてそれを扱える。クラス定義は内部でCOSに変換される。同じようにSQLも変換される。
ブロック構文が使える。if {} elseif {} else {} とか while {} とか。ブロック構文は$Testを無視する。
このへんかな、大きな違いは。

202:200
09/06/28 21:00:50 .net
>>201
ありがとうございました。

203:201
09/06/28 21:43:06 .net
>>202
逆に私はCOS以降から入った人なので、知識としてif<sp><sp>else<sp><sp>とかがあるとは知っているけど、使いこなせない。
素のMのソースはマジ読めない。Mべったりの人は他にいると思うので、まだ大きな違いがあるなら、そちらの人が指摘してほしい。
個人的には、ブロックの導入が最大の違いだと思う。プロシージャも新ifも、ブロック構文が前提だから。

204:NAME IS NULL
09/06/29 22:32:06 .net
ああ、1日目は最初10分おきでやってたし
2日目は21:30スタートだったけど
今日は9:00スタートで2回戦は23:00のままだから結構開くんだ。
明日からは新馬戦は21:30にしよう。

205:204
09/06/29 22:34:22 .net
すみません誤爆です

206:NAME IS NULL
09/07/03 21:09:02 .net
こりゃすごいね。
こんな言語よく残ってたもんだ。

207:NAME IS NULL
09/08/21 01:07:47 .net
ぜんぜん進んでないww
誰もいないのかな??
cache'2008も出たことだし、今後のことをきいてみたかったのに・・・

208:NAME IS NULL
09/08/21 01:27:07 .net
ど素人なんでROMってる
自分で組む参考にしようと常駐してるけど本当に進まないな
階層型DB選ぶなら大体これだろうと思うんだけどみんなリレーショナルなのか

209:NAME IS NULL
09/08/22 01:07:45 .net
俺もどしろーとww
でも、、、個人レベルならcacheはあんまりメリットのでは??

210:NAME IS NULL
09/10/05 21:54:23 .net
転職してこれ使うことになった
自分の発想にすごい合ってるかも
だがマイナーなんだなぁ……

211:210
09/10/20 01:35:31 .net
何かだんだん慣れてくると癖になるな……
恐ろしいほど早いし。
ただIsolation Levelが気になる……SQL Serverで言うREAD COMMITTEDなんだな……

212:NAME IS NULL
09/12/13 21:36:24 .net
気にはなってるんだよねぇ。これ。
でも情報が少なすぎて。

213:NAME IS NULL
10/01/08 17:14:46 .net
クラスからルーチン(.int)を呼んで、引数渡して、戻り値受け取りたいんだけど可能?

214:NAME IS NULL
10/01/08 21:51:35 .net
なんで出来ないと思うの?

215:NAME IS NULL
10/03/30 20:49:18 .net
ええいオプソのオブジェクトDBはないのか!

216:NAME IS NULL
10/04/07 20:46:27 NYXih7+d.net
>215
Zope

217:Real
10/04/20 11:09:19 M1Cs/TQ3.net
キャッシェ・・良い商品だけど価格をそろそろ見直さないと使えないです。
高すぎる。

218:NAME IS NULL
10/05/19 19:59:56 .net
駄目元で会社に提案してみる

219:NAME IS NULL
10/06/02 18:51:56 .net
Symposiaどうだった?

220:NAME IS NULL
10/06/24 22:39:56 i9ShDT1O.net
$o

221:NAME IS NULL
10/06/28 22:09:29 .net
$G(a(""))

222:NAME IS NULL
10/08/04 12:33:56 M4SASUy+.net
>>221
SUBSCRIPT

223:NAME IS NULL
10/08/19 08:47:10 T+XFoJ6i.net
M言語のすばらしさは、それを使った人にしか理解できないと思います。
EXCELやAccessの手軽さで、ど素人でも簡単な講習でプログラムを
組むことができるのです。
しかもそのDB構造は堅牢で理解しやすいツリー構造で容量を消費せず、しかも
アクセススピードか速い。またデータの型を気にする必要も無い。
こんなプログラミング言語がCOBOLやFORTLANの時代に在ったなんて
信じられない。
誰か、UBUNTU上で日本語でフリーで使えるM言語を開発して欲しい。


224:NAME IS NULL
10/08/21 10:00:56 .net
Mは嫌だな。
使うならCache Object Scriptがいい。
ブロック構文も使えない言語なんて……

225:NAME IS NULL
10/08/22 13:49:52 .net
>>223
フリーマンプスというイスラエル産のオープンソースがあってな

226:NAME IS NULL
10/10/16 15:42:40 qR1fvDKl.net
$p

227:NAME IS NULL
10/10/22 18:42:34 B+VSoYR1.net
$o

228:NAME IS NULL
10/10/22 22:26:32 .net
h

229:NAME IS NULL
10/10/27 12:39:38 WT/4Uyix.net
$h

230:NAME IS NULL
11/01/15 21:42:54 .net
だれか商用でもオープン系でもいいから、ガチでSQL性能比較した人いない?
それともみんなSQLは捨ててMUMPSとして使ってるの?

231:NAME IS NULL
11/04/24 21:16:54.43 5RBkqyjJ.net
誰か居ない?

232:NAME IS NULL
11/04/25 00:07:32.44 .net
ROMなら一応

233:NAME IS NULL
11/04/27 00:56:48.59 .net
>>232
人居ないと思ってた・・・
ありがとう

誰か分かる人いるならCache'でM言語のご教授してくだされ


234:NAME IS NULL
11/04/27 13:52:46.62 .net
もう一人いるぞ
Mって事は昔のソースか?Mシステムのメモ帳でggr


235:NAME IS NULL
11/04/27 22:18:38.87 .net
>>234
昔のが分からないけれども、Cache ObjectScriptです
入門とメモ帳はよく読んでますが、理解が悪いです・・・

236:NAME IS NULL
11/04/28 01:00:36.36 .net
>>235
>>200-203辺りの違いは分かってる?
講習を受けるだけでかなり理解が進むんだけどな
俺らIT関係の単価考えたら二万は安いだろ
ただ、まともに理解するには管理コースとかサーバーサイドプログラミングも必修


237:NAME IS NULL
11/04/29 00:55:53.43 .net
>>236
ある事情によりMをいきなりやっている状態なもので分かっていませんでした。
講習を検索してみても現在予定
最近の見当たらなかったです。見落としていたらすみません。
それと講習がやってても時間があるかどうか・・・


238:NAME IS NULL
11/09/10 09:18:52.41 x2yWFr7X.net
test(){
}
とかで、test(a)やtest(a,b,c) みたいに引数の数が分からない場合、どのように取得すればよいのでしょうか?
javascriptの arguments や perl の @_ みたいなものが無いかな・・というイメージなんですが。

239:NAME IS NULL
11/09/10 20:29:54.55 x2yWFr7X.net
変数名に、val_ref みたいにするとエラーになるんですが、変数名に _ は×なんでしょうか?
実際にやってみてダメなので、ダメなんだろーなーとは思うんですが・・

240:NAME IS NULL
11/09/10 20:34:51.67 x2yWFr7X.net
変数定義を必須にするようなオプションはないでしょうか?
スペルミスとかで変数名間違ってもそのまま通ってしまうのでちょっと不安で。
もしくは局所化でもいいんですが。
javascriptでの以下みたいな
(function(){
 var test = '';
 ・・・
})();
せめて、コンパイル時に warning ででも教えてくれるような機能があれば。

241:NAME IS NULL
11/09/10 22:51:48.88 x2yWFr7X.net
Cach? のスタジオで ctrl+z で変更を戻すときに量が多少多いと微妙に間違って戻ってしまうのでちょっと困っているのですがなんとかならないでしょうか?
今のところ解決方法が分からないので別のエディターを使ってコピペしてるんですが、面倒くさくて。

242:NAME IS NULL
11/10/02 01:39:30.13 vopaYa44.net
キャシエの噂を聞きつけてWin評価版入れてみ た。 裏でApache動いてるみたいだけど、評価版でも リモートからWebアプリにアクセスできるのかな?

243:NAME IS NULL
11/10/04 11:52:50.95 .net
メンテを依頼された客先のシステムは
C30WとかいうVT100のエミュレータでアクセスしてる。
この制御コード変換?に%NDS.obj NSYS.obj というのを
使っているんだけど全く資料がなくて作成元も不明
どこかに落ちてないですかねえ

244:NAME IS NULL
11/10/04 23:59:36.39 .net
>>238
javascriptやargumentsに詳しいわけでもないし、
あまり詳しいわけじゃないから間違ってるかもしれませんが、、
関数を作りたいのでしょうか?
それでしたら、関数の引数をあらかじめ、渡される予定の最大数の引数で作ってしまえばいいかと思います。
で、呼び出し元で想定している、最大の引数の数を超えない引数を超えない範囲で
関数呼び出ししてあげればいいのではないでしょうか?
つまり、関数を以下のような形でつくって、、、
TEST(a1,a2,a3)
S a1=・・・
以下で呼び出す。
S X=$$TEST(X,Y)
この場合、a3が定義されませんが、オプショナルということで
$G()を使用しておけばいいかと思います。

245:NAME IS NULL
11/10/05 00:21:47.55 .net
>>239
連投スマヌ。。。
"_"(アンダーバー)はダメだと思います。
というのも、"_"はCacheで接続子としての役割があるから。
たとえば、A="ABC",B="DEF"のとき、A_Bは変数としては扱わず、
"ABCDEF"として解釈するってこと。
>>240
そんな機能あったら便利だねー
あったら、教えてちょ。

246:NAME IS NULL
11/10/10 20:09:15.41 eLCiVj2H.net
InterSystemsのDocBookに「ページに書式が含まれている場合・・」のように書いてあって、
"書式"ってなんだろうと思ってたら、
どうやら、formタグ(<form>) のことっぽい。


247:NAME IS NULL
11/10/19 19:31:47.75 .net
デアゴスティーニから送り出された新たな週刊ロボット。
70巻を予定。今回もサーボは焦げるのか・・・
ロボ初心者も多く参入するであろうこのシリーズ、初心者は謙虚に、
玄人は寛容にお願いいたします。
デアゴスティーニ
URLリンク(deagostini.jp)

248:NAME IS NULL
11/11/08 09:16:18.05 .net
ObjectScriptで文字列の抜き出し(VBでいうRight関数やMid関数)を行う関数ってないのでしょうか?
$EXTRACTTや$LENGTH組み合わせて自前で作るしかありませんか?

249:NAME IS NULL
11/11/13 04:08:29.01 .net
>>248
$Eでできるのではないでしょうか。
第3引数を渡せば、Mid関数と同等の処理を行うことができます。
s TEST="1234567890"
w $e(TEST,5,7)
と実行すると"567"が取得できます

250:NAME IS NULL
11/11/20 20:22:11.23 .net
>>249
亀ですがありがとうございます。
何がしたかったかというと、桁数決めて0埋めをしたかったのです(123456 ー> 0000123456みたいに)。

251:NAME IS NULL
11/11/21 01:46:35.64 +w7X/VvA.net
>>250
$Jと$TR組み合わせればできるよ

252:NAME IS NULL
11/11/21 10:12:11.03 GBD4WTZR.net
>>251
まさにこれです!シンプルでいいですね。
ありがとうございました!


253:キューブ
11/12/14 22:21:47.62 9bue5U6u.net
オラクルにsqlゲートウェイで接続する場合、異常におそくないですか?


254:NAME IS NULL
12/01/04 12:05:18.68 EC3mpfty.net
ZEN+Object Scriptでファイルのアップローダー的なプログラムを作成したいのですが(ローカルファイルをサーバ内の任意フォルダにコピー)サンプルプログラムなどでこういったコードが使われているものってありますか?

255:254
12/01/04 15:01:46.12 EC3mpfty.net
補足ですが、ファイルを%FileBinaryStreamとしてDBに格納するよりも、ファイルのパスのみDBで保持する方法のほうが望ましいです。
どうかよろしくお願いします。

256:NAME IS NULL
12/01/05 09:28:31.24 .net
>>253
マスターの連動とかやってるけど遅くないよ
そもそもあれってODBCでしょ?
手動で遅くないか試したら?
あとはサポートに聞けばいい
>>254-255
DBに保存するのは%GlobalBinaryStreamでしょ
%FileBinaryStreamなら保存先はファイルパスをしていするはず
ZENは知らないや


257:254
12/01/06 07:19:49.06 .net
>>256
てっきり%FileBinaryStreamがファイルそのものの保存と思ってました。よく見たらドキュメントのストリームの解説に
書いてありましたね。不勉強でした。
あとCSPのサンプルの中にuploadのテストページがあったのでソースを弄ってみることにします。
有難うございました。

258:NAME IS NULL
12/03/26 14:34:50.54 7k8yEe44.net
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
}

259:258
12/03/26 21:09:41.72 7k8yEe44.net
<button id="bt" name="bt" caption="送信" />は
<submit id="bt" name="bt" caption="送信" />
のコピペミスでした。失礼しました。
よろしくお願いします。


260:NAME IS NULL
12/04/15 02:26:07.89 3ZP5sDT0.net
Zenレポート使ったことある人います?

261:NAME IS NULL
12/06/12 20:56:13.78 Y/iZQcHh.net
速い速いっていうけど、ドキュメントのページかなり遅いんだよね。

262:NAME IS NULL
12/06/12 23:55:43.67 .net
Symposia行った? DeepSee同梱って、あれライセンス料取らないの?以前は確かキャシェに含まれるけどライセンス料別って言ってた気がするんだけど。

263:NAME IS NULL
12/08/29 23:27:49.76 cEDQW9CT.net
切り上げとか四捨五入とかどうやればいいんでしょう?

264:NAME IS NULL
12/08/30 02:17:15.28 .net
>>263
URLリンク(aoiro.s378.xrea.com)

265:NAME IS NULL
12/08/31 00:52:26.78 viaX34tp.net
切り上げが無いみたいなんですけど・・
四捨五入は助かりました!

266:NAME IS NULL
12/09/03 16:03:19.48 Ht0AR/El.net
1で割って余りがあれば、+1すればいいんかな?
#で余り、\で商なので
if x#1>0 { S x=x\1+1 }
マイナスの場合は最古の+1を-1にすればよいかと

267:NAME IS NULL
12/09/07 00:13:31.78 O39K3gJ5.net
どうもです。
素晴らしい。ありがとうございます。ceil や round ぐらい言語にあって欲しいですけどね・・

268:NAME IS NULL
12/09/11 23:55:48.58 KR0RSg0X.net
ん・・。やっぱり全く良さが分からないんですけど、
Cache'にするメリットって誰か教えて下さい。

269:NAME IS NULL
12/09/12 00:29:32.51 .net
Mで書かれてる古いシステムを動かせる、くらいかな。

270:NAME IS NULL
16/06/11 13:03:21.03 Y9yMW2vW.net
NULL

271:NAME IS NULL
16/12/16 18:57:30.13 .net
誰かいますか?

272:NAME IS NULL
16/12/31 14:23:07.96 .net
誰もいませんw

273:NAME IS NULL
17/10/19 21:52:00.20 .net
上司から今度使うから勉強しろと言われた…
超初心者なのに…

274:NAME IS NULL
17/12/29 11:11:19.78 dtNZwIie.net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
96MZ6RMWAH

275:NAME IS NULL
18/02/14 13:34:51.18 .net
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch