かつおの「もっと教えてくれや!」
#10_構成管理で変更履歴を管理や!
徐々に梅雨入りのお知らせが入ってきています。
今年は例年よりも早い梅雨入りとなっているそうですね。
雨が降ることで、ネガティブな気持ちになることも多いかと思いますが、その先にある夏に期待して、さくっと乗り切っていきましょう!
![かつお](/framework/column/images23/tmb/katsuo.webp)
ん!? あ!? なんじゃこりゃ……
これどうなっとんねーーーん!!!!
![中島](/framework/column/images23/tmb/nakajima.webp)
わっ、急に大声出してどうしたんですか!?
皆こっち見てますよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
おぉ、すまん。あまりの衝撃につい我を忘れてしもたわ。ちょっと中島くんこれ見てくれや
![中島](/framework/column/images23/tmb/nakajima.webp)
えぇ……どれですか
![かつお](/framework/column/images23/tmb/katsuo.webp)
これやこれ、おれのプログラムの動作が勝手に変わっとるんや
![中島](/framework/column/images23/tmb/nakajima.webp)
たしかに何かデータの表示が変ですね
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやろ。でもこんなところいじった覚えはないんや
![中島](/framework/column/images23/tmb/nakajima.webp)
でもデータ自体が変わったわけでもなさそうですね
![かつお](/framework/column/images23/tmb/katsuo.webp)
何もしてないのに壊れてしまったんや。何もしてないのに壊れた!
![中島](/framework/column/images23/tmb/nakajima.webp)
うわぁ、そんなパソコン初心者みたいなセリフ言わないでくださいよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
じゃあ、誰かがいじったんやろか。このプログラムはおれが担当やからなんびとたりとも触らせんぞって言うとったのに……
![中島](/framework/column/images23/tmb/nakajima.webp)
うーん。わざわざ人のプログラム触る人もいないような気が。 復元機能 で何が変わったのか見てみたらどうでしょう
![かつお](/framework/column/images23/tmb/katsuo.webp)
復元機能は知っとるぞ。過去の状態に戻せる機能やろ
![中島](/framework/column/images23/tmb/nakajima.webp)
それです。RakStudioでプログラムを変更するたびにバックアップが作成されて、その時点に戻せる機能ですね。 デフォルトで過去一週間分 バックアップを取ってくれてますよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
それ今回役に立つか? 一つ一つ戻して確認とか面倒やぞ
![中島](/framework/column/images23/tmb/nakajima.webp)
そんなことしなくても、復元機能はバックアップと現在との差分を比較して、どこがどう編集されたか分かりやすく表示もしてくれるんですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
へえーそんなことできたんか。使ったことないから知らんかったわ
![中島](/framework/column/images23/tmb/nakajima.webp)
それじゃあ、いい機会ですし、早速復元機能使ってみましょう
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやな。で、どっから使うんやったっけ
![中島](/framework/column/images23/tmb/nakajima.webp)
プログラム情報 画面にありますよ!
![プログラム情報画面](/framework/column/images23/config-mgt/ka10-1.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
あぁ、ほんまや、こんなとこにあったんかいな。いっつもすぐスクロールするから気づかんかったわ
![中島](/framework/column/images23/tmb/nakajima.webp)
ここから開くと、そのプログラムの編集履歴が表示されます
![プログラムの編集履歴が表示される](/framework/column/images23/config-mgt/ka10-2.webp)
![中島](/framework/column/images23/tmb/nakajima.webp)
ちなみに作成者(編集者)も表示されてます
![かつお](/framework/column/images23/tmb/katsuo.webp)
おれの名前ばっかりやんけ
![中島](/framework/column/images23/tmb/nakajima.webp)
ほらぁ、やっぱりわざわざ人のプログラム触る人なんていないですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
じゃあなんでなんや。やっぱり何もしてないけど壊れたとしか
![中島](/framework/column/images23/tmb/nakajima.webp)
とりあえず、一個ずつ編集箇所見ていきましょう。作成日のリンクをクリックすると、現在との差分が画面に表示されます
![作成日リンククリックで現在との差分表示](/framework/column/images23/config-mgt/ka10-3.webp)
![中島](/framework/column/images23/tmb/nakajima.webp)
なんと、この * マークがついているページ が、現在の設定との差分があるページで、ハイライトされている箇所が差分の箇所です!!
![かつお](/framework/column/images23/tmb/katsuo.webp)
おおーこりゃすごいわ。もっと簡素なの想像しとったで。これではテーブルオプションの設定項目が変わってるんやな。んん!? なんかこれは……
![中島](/framework/column/images23/tmb/nakajima.webp)
ふぐ本さんどうしたんですか。すごい汗ですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
いや、うーん、ちょっと待ってくれ。一回設定変えて試してみるわ
![かつお](/framework/column/images23/tmb/katsuo.webp)
あー、そいうことか。中島くんすまん。これおれが編集したせいやったわ
![中島](/framework/column/images23/tmb/nakajima.webp)
ええーやっぱり! そうじゃないかと思ったんですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
すまん、すまん、やっぱ勝手に壊れることはないわな。これに反省して、これからは自分を疑って生きていくで
![中島](/framework/column/images23/tmb/nakajima.webp)
いや、そこまではしなくてもいいですけど……
![かつお](/framework/column/images23/tmb/katsuo.webp)
そんなん言うても、そうなると何を信じたらえんや! もうおれは何も信じられへんで。泣いてしまうで
![中島](/framework/column/images23/tmb/nakajima.webp)
そいういう時は 構成管理機能 を活用して、変更の記録を管理したらどうでしょう。これで誰がいつどんな変更を加えたのか明確に管理できて、また現在との差分も簡単に確認できますよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
構成管理機能? そんなんあったっけ?
![中島](/framework/column/images23/tmb/nakajima.webp)
構成管理ツールのApache Subversion(SVN)と連携する機能です。アプリケーション作成時に設定する必要があるんですが、確か設定していた気がしますよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
SVNな!
前のプロジェクトで使ってたぞ。そん時はクライアントツール使ってたけど、楽々Framework3から使えたりするんかいな。どうやって使うんや。それ
![中島](/framework/column/images23/tmb/nakajima.webp)
設定していた場合は、RakStudioのIDEメニュー リソース に 構成要素 があるので、それを選択します。するとこんな感じでSVNサーバ上のデータとの差分が表示されます
![RakStudioのIDEメニューのリソースの構成要素クリックで、SVNサーバとの差分表示](/framework/column/images23/config-mgt/ka10-4.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
なんか察したぞ。矢印ついてんのはサーバ上よりローカルが新しいやつやな
![中島](/framework/column/images23/tmb/nakajima.webp)
まさにその通りです。 この画面からはプログラムだけじゃなくて、プラグイン(Javaソース)やDD定義等の差分も確認できちゃいます。プラグインはテキストでの差分比較になりますが、なんと、プログラムやDD定義は先ほどみたいに設定の差分を確認できちゃいます
![差分比較画面](/framework/column/images23/config-mgt/ka10-5.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
おぉ、クライアントツール使うより便利やんけ。もっと早く教えてくれや
![中島](/framework/column/images23/tmb/nakajima.webp)
あれこれしているうちについつい忘れちゃってて。すみません。コミットやチェックアウトもこれでできるので、これ活用するとすごく便利です
![かつお](/framework/column/images23/tmb/katsuo.webp)
知らんだけで、色々機能が用意されとったんやな
![中島](/framework/column/images23/tmb/nakajima.webp)
機能の多さと自由度の高さが楽々Framework3のいいところですね。それを実現するために、他社製品とも積極的に連携をしていますよ。
例えば、ブラウザ上でスプレッドシート形式で入出力が可能な
Spread JS
や、コーディングレスでビジネスルールを定義できる
Progress Corticon
など多々連携製品があります
![楽々Framework3の他社製品との積極的な連携機能](/framework/column/images23/config-mgt/ka10-6.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
これに載ってないのもあるやろ? Junit とか Selenium とかテストツールとの連携の話もよく聞くぞ
![中島](/framework/column/images23/tmb/nakajima.webp)
そうなんです。図に入り切らないぐらい一杯あるんですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
ほーん、まぁ選択肢が多いのはええことやな。とりあえず今は復元機能と構成管理機能やで。こりゃ便利でええわ
![中島](/framework/column/images23/tmb/nakajima.webp)
そうでしょう。これさえあれば間違えてしまっても、すぐ前の状態に戻ってやり直せますね
![中島](/framework/column/images23/tmb/nakajima.webp)
人生も同じように戻ってやり直せたらいいのに……。じゃあ帰ります。おつかれさまです
![かつお](/framework/column/images23/tmb/katsuo.webp)
おいおい、そんなこと言っても人生は、ってもう行ってしもた。 中島くんどうしたんやろか。まぁえっか、飲みに行こ
っということで、新たな機能の使い方も覚えたふぐ本さん。
そして、中島くんはいったいどうしてしまったのか!?
次回、「かつお 最終回、おれに任せろ!」をお送りします。
※タイトル及び内容は予告なく変更される場合があります。あらかじめご了承ください。