読者です 読者をやめる 読者になる 読者になる

Appletを改修するお仕事とシステムリプレースについてふと思ったこと

日記 システム開発

どうも、ふもです。

だいぶ長いこと携わってきたシステム維持のお仕事が一区切りついたので、この5月から新しく開発の仕事に関わることになったのですが、新しい仕事内容を聞いてみてガックリ。それは、Appletを改修する仕事だったのです。

Appletと言えば、Javaが出だした頃に目玉として押し出されてきた機能ですよね、ブラウザ上のUIをHTMLよりもリッチにして、ウェブの可能性を求めて作られたのだと思います。企業での導入が盛んに行われたのがたぶん2000年初頭くらいで…その第一次改修があったのがきっと2004年〜2005年くらい。そしてそれからWEB2.0など様々な変革がWEBの世界には起こり、そして更に10年が経過した今、時代に取り残されたかのように、大量のApplet製の業務アプリケーションが世の中に残ることとなったわけです。

企業としても、この膨大な資産をすべて捨てて一から作り直すほどの余裕もなく、当然継ぎ接ぎだらけの改修を続けていくことになります。今回私が関わらせて貰っているのも、こういった経緯かと思われます。歴史は繰り返すという言葉がありますが、VB6アプリをVB.NETアプリにリプレースしましょう!といったノリととてもよく似ているように思います。システムやアプリケーションは自ら変化することができないスタティックな存在です。ですから、一度世に生み出された、長年使い続けなくてはならない大量の業務アプリケーション資産は、後の世代のエンジニアによってリプレースを余儀なくされるというわけですね。中には、もういらなくなった機能など、破棄されてしまう部分もあるでしょうが、業種にも寄るとは思いますが、少なからず、余程大きな業務改革がない限り、業務の内容はさほど変化があるわけではなく、移りゆく世の中の流れ・人々の流行・それからデータそのものなどに併せて、アプリケーションは姿かたちを作り替えられなくてはならないものなのでしょう。

私達エンジニアに出来るせめてものことは、後の世代のエンジニアが頭を悩ませなくても住むように、努めて綺麗なコードを書いたり、シンプルなフレームワーク・データ構造を維持したりして、可読性と機能性のバランスを保ったシステムを構築しておいてあげることだと思います。
いつか、システムがスタティックな存在ではなく、ダイナミックな存在(AI的な?)になるその日まで、我々エンジニアの仕事がなくなることはないでしょう。

夜フクロウを使っていると "Q" が打てなくなる時がある件

Mac 夜フクロウ トラブルシュート

発端

だいぶ前にハマったんですが、解決したのでメモっておこうと思う。
発端や経緯はここらへん*1を見ていただきたく。*2

結論

夜フクロウを利用していて環境設定にて「アプリケーションを表示/隠す」の設定を

Shift-Q

にしているとグルーバルにキーボードショートカットが働いてしまい、他のアプリ上で "Q" が打てなくなる問題でした。
この設定を外してあげれば解決します。

*1:リンク先ははてなハイクです。「展開」をクリックすると過去のエントリが展開されます。

*2:途中、TinkerTool.appとかに無実の罪をなすり付けてしまったりしてごめんなさい。

強くてニューゲームすすめ

ライフハック

はじめに

昔、クロノトリガーというRPGがありました。人気ゲームだったので知っている人も多いと思います。このゲーム、色々な時代や時間を移動しながら冒険が進んで行くのですが、面白いシステムが採用されていたました。それが強くてニューゲームです。

強くてニューゲームとは何か

強くてニューゲームとは、前回クリアしたレベルと所持アイテムを維持した状態でゲームをもう一度始めからスタートできる機能です。もちろんレベルが高いので敵は弱いし、サクサク攻略することができるわけです。そんなに急いでプレイして一体何が面白いのかというと、クロノトリガーはマルチエンディングという機能が備えられていたため、エンディング全てを見るためにいちいち最初からレベル上げをしながら物語を再度始めていたのでは時間がいくらあっても足りないという事情がありました。一刻も早く全てのエンディングを見たい、そんなプレーヤーのために設けらたの機能というわけですね。また、強くてニューゲームした状態でないと見れないイベントなどもあった気がするので、ある意味そちらが本番という人もいるのではないでしょうか。

日々の生活に当てはめる

さて、ここまではゲームのお話ですが、これを応用して日々の生活に当てはめてみましょう。たとえば新しい技術を本で学習していると想定してみましょう。

まず、ラスボスを倒す

これはひとまず本を通しでザラっと読了してしまうということです。読者の力量によって様々ですが、それぞれ

  • 既に知っている知識
  • 読んで新しく得られた知識
  • 読んだがまだ理解できなかった知識

などがある状態だと思います。
本を読み終わった直後は[新しく得られた知識」に目が行きがちですぐに試してみたくなったりします。そして、いくらか時が過ぎたころ、その時「まだ理解できなかった知識」というのは大抵忘れ去られてしまうものです。これらの知識は他の本を読むことにより相互に補完はされてゆくものですが、運悪く埋められずに穴として残ってしまう場合もあります。

強くてニューゲーム開始

さて、ある程度の期間をおいてから、再び同じ本を読み返してみることにしましょう。

  • 前回読んだ時に新たに得られた知識
  • 他の本を読んだことによって補完された知識

が加わっているため、既に知っている知識は格段に増えていることでしょう。人間は忘れる動物であるということを差し引いても、以前読んだときよりも驚くほど早く読み進められるのは間違いありません。

マルチエンディングを攻略せよ

強くてニューゲームの状態で注目すべきところは前回読んだ時の積み残し部分です。既に分かっているところはさらっと読み飛ばす程度で構いませんので、どんどん読み進めていきましょう。すると不意に分からない部分、忘れてしまっていた部分に巡り会います。言ってみればそこがあなたのマルチエンディングへの入り口なのです。前回は得られなかった知識を再度手に入れるチャンスが訪れました。思う存分攻略を楽しんで下さい。これはあなただけの物語なのです。

おわりに

この例では「技術本の読書」を例に出しましたが、対象は実は何であっても構いません。例えば同じ本であっても小説などの場合は、読み手が成長したことにより人生経験も豊かになり、前回読んだときは得られなかった物語の深みなどを知ることができたり、子どもの頃は苦手だった数学や歴史をあたらめて勉強してみたら、その面白さにはまってしまう、なんてこともあるでしょう。
人間は学習する対象に出会った時点で、それを一回で完全に理解することは不可能であるとたかをくくってしまうことです。人生が続く限り、クロノトリガーと同じようにあとで何度でも強くてニューゲームできるのですから、何度も何度もプレイして自分の世界を広げて行けばよいのです。

ひとことふたことで語る『プログラマが知るべき97のこと』

書評 まとめ プログラマ

いまさら『プログラマが知るべき97のこと』を読み終わりましたので、ひとことふたことでまとめてみました。個人的な意見が満載なので参考にならないことうけあいです。ご了承下さい。

内容が気になった方は是非本を買って読んでみて下さい。

書籍リンク

プログラマが知るべき97のこと

プログラマが知るべき97のこと

第3回 もくもくGroovy 開催します!

JGGUG もくもくGroovy Groovy

ふも@JGGUG名古屋です。


兼ねてより企画しておりました、もくもくGroovy を開催いたします!


イベント参加表明はこくちーずページよりお願いします。
http://kokucheese.com/event/index/15207/


最近、Groovyユーザも増えてきましたね!
名古屋でも何かワークショップ的な定例イベントをやりたいと思います。


そこで、


2011年8月25日(木)、第3回 もくもくGroovy を開催します。

当日の流れ

  • 木曜日にみんなで集まる
  • G*(ジーアスター)なことをもくもくとする
  • ラスト30分くらいで、やっていた内容をLTする(LTは希望者のみでOK)

内容について

例えば・・・

  • 「プログラミングGroovy」持ち寄って読書会やろうぜ!
  • 自分でやる作業を持ち寄ってもよし
  • 集まった時に集まった人達で決めるもよし
  • Groovyのことで相談したいことが…

などなど、G*なことならなんでもOK!
気軽にゆるゆるとご参加いただければと思います。

会場設備

電源、無線LAN、プロジェクタあります。


Groovyに興味がある!関心がある!
もくもくしたい方、是非ご参加ください。

FACEBOOKファンページ

Log in | Facebook

リンク

JGGUG

Twitter上に広がるGroovyistの輪、あなたもGroovyバッジを付けてみませんか?

Groovy Groovyバッジ化計画 Twitter

アイコンにGroovyのロゴを追加するjarを作りました  - No Programming, No Life
にてアイコンにGroovyバッジ(Groovyのロゴ)を付けられるお手軽アプリを公開させていただいております。


これを利用して実際にTwitterアイコンにGroovyバッジを付けてくれている
クールなGroovyistをご紹介したいと思います!*1
ちなみに、おそらくこのツールを使って作ったのではない方も混じっておられますが、Groovyを愛する気持ちに違いはないと思いますので、あわせてご紹介させていただきたく思います。

Groovyバッジ付きGroovyistリスト (アルファベット順)

TwitterID アイコン TwitterID アイコン
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ New Groovyist

私もバッジ付けたよ!私も付けてるけど、リストに入ってないよ!
という方は@まで一声おかけ下さい。

Enjoy groovy!

更新履歴

  • 2011-10-01 @さんを追加しました。
  • 2011-09-20 @さんを追加しました。
  • 2011-09-04 @さんを追加しました。
  • 2011-09-02 @さんを追加しました。

*1:なお、見つけ次第このリストは追加してゆきたいと思います。

第17回 G*ワークショップに参加してきました

JGGUG G*ワークショップ 日記

はじめに

2011年7月29日に行われました 7月29日 第17回 G*ワークショップ(東京都) に今回も参加してきました。
今回は私は発表はなしです。運営委員になったはいいのですが、今回は受付でネームカードを渡す程度の仕事しかしていません(^^;

セッション!

山本さん(id:mottsnite/@)のGrails 2.0 M1についての発表

と、

きょんさん(id:kyon_mm/@)のGroovyとかテストとかJenkinsとかVCSとかの話

(このスペースはスライドがアップされ次第更新)

でした。

発表内容については、山本さんは安定の運びでGrails2.0の素晴らしさを伝えており、会場をグイグイ引っ張っておられました。Grailsドキュメント会に参加している身としては、「ドキュメントどうするよ?どうせなら2.0対応にしたいなぁ…」とか思ってしまうわけですが、そんなことどうでもよくなるくらい2.0便利そうですね。
次作るWebアプリはGrails2.0使うぞ!
そして次はきょんさんですが、ゆとり世代と話を絡めて、GroovyやGradle, Jenkinsなどの、いわゆる最近のイケてるプロダクツを駆使してもTDDな開発環境のお話でした。
私の方は最近、開発が非常に残念ながらC#となってしまったため、仕事では素敵な開発環境を構築することはできておりませんが、大変参考になる内容だったので、次のプロジェクトではぜひ参考にしたいところです。

それにしてもGroovyじゃんけん、今後流行る兆し(笑)

UStream

Twitter4Jでおなじみの@さんがUstreamしてくれておりました。
http://www.ustream.tv/channel/jgug

Togetter!

20110729_第17回 G*ワークショップ(#jggug ) - Togetter
このイベントに対してのつぶやきがまとめられています。

懇親会!

今回はLT大会じゃなくて、お店での懇親会でしたので、G*な方々と楽しくお話させていただくことができました。みんな様々な立場で、さまざまな領域でGroovyと出会い、活用し始めているという共通点を持っているので、自然と話も盛り上がり、あっという間に時間が過ぎて参りました。

おわりに

プログラミングGroovyが発売され、今後日本でもGroovyブームが巻き起こる兆しが見えてきました。Groovyを使ってハッピーでグルービーな開発を行いましょう!

補足

そういえばワークショップが始まる前に



との突っ込みが入ったので、JGGUGのページをちゃんと更新したほうが良いですね。ちょこちょこ更新してゆきたいと思います。

書籍紹介

Groovyに興味のあるあなた!Groovyistな方、必読の本をご紹介します。

プログラミングGROOVY

プログラミングGROOVY


Grails徹底入門

Grails徹底入門

  • 作者: 山田正樹,山本剛,上原潤二,永井昌子,杉山清美,杉浦孝博,笠原史郎,香月孝太,福岡竜一,伊堂寺北斗
  • 出版社/メーカー: 翔泳社
  • 発売日: 2008/08/26
  • メディア: 大型本
  • 購入: 2人 クリック: 34回
  • この商品を含むブログ (27件) を見る