[Ruby] まつもとさんとまちづくり三鷹さんの講演

今日、港区産業振興課の主催で、麻生区民センターにてまつもとさんとまちづくり三鷹さんの講演がありましたので、行ってきました。

まつもとさんの講演は何度聞いてもおもしろくためになります。内容もさることながら、講演者としての話のされ方も、講師業をしている者として、非常に参考になっています。聴衆を引き込む講演は、演者自身がそれを楽しく話していて、それが聴衆にも伝わって、いい伝播となっているように思います。果たして自分はそれができているのか?自問自答です。

それと、やはりまつもとさんは全国各地で講演が多いからなのか、ガジェットもしっかりされていて、ワイヤレスでレーザーポインター内蔵のマウスを使われておりました。私なんて人前で話すのを商売にしているのに、この辺のところが全然疎いです。でも私も早速これは取り入れたいと思います。

まちづくり三鷹さんとは、「Ruby/Ruby on Rails講師養成講座」で大変お世話になりました。まちづくり三鷹さんの取り組んでいる自治体向け図書館システムは、その目的や背景など、本当に素晴らしいと思います。

自治体のホームページから、なんらかのWebシステムを使うと、いつも思うことなのですが、すぐ隣にある自治体のシステムなのに、自治体毎にシステムが全然違うんですよね。まちづくり三鷹さんのターゲットにされている図書館業務はその典型ですが、施設の貸出とか、そういったシステムはハッキリ言ってどの自治体でも要件にさほどの違いはないわけですね。なのに、すぐ隣の自治体同士であっても、全然違う業者に発注して、全然違うシステムを作らせている。もっと言えば、こういうシステムは全国統一だっていいくらいなのです。

私は大田区に住んでいますが、あるとき落し物をしてしまいました。で、警察に届けられていないかと思って、遺失物の検索システムをWebで見に行ったわけです。大田区は東京都と神奈川県の境にありますから、念のためと思って、警視庁と神奈川県警のWebを両方見に行ったのです。そうしたらシステムが全然違う。使い勝手も違う。全然分かりやすくないんですね。

自治体や官公庁のシステム開発の発注も、いわゆる公共事業のようなものなので、自治体ごとに発注し、地元のITベンダーの雇用を確保する、そういう意図があるのだろうなということはわかります。でも、実態は巨大ベンダーの地域ソフトウェア子会社がかっさらっていき、仕様だけホイホイと決めてさらに下請けに流す、的な建設業界さながらの構造があるだけ、なのかもしれないのです。しかも、ソフトウェアの場合にたちが悪いのは、建設業ならその場に物理的な「モノ」を作らなければいけませんから、まだ各自治体が個別に発注する意味があるわけですが、ソフトウェアの場合はひとつ整った仕組みがあれば簡単に再利用ができるはずなのに、わざわざイチから全部を作り直させるようなことをしているわけです。

いやそんなことを言っても、やはり自治体全部が全く同一の要件でシステムを運用できるわけではない、そういう事情もあるのは事実でしょう。でも、ITシステムなら、サーバマシンはともかく、ソフトの部分に関しては全くイチから作り直す必要なんていうものはないわけです。ベースになる部分を基に、カスタマイズの必要な部分に手を加えれば良い。ソフトウェアに携わったことのある人間なら、誰でも思いつきそうなことです。

前述のまちづくり三鷹さんの場合、ベースとなるシステムに手を入れたければ、ライセンス契約を結ぶことによってこのシステムをベースに開発を希望するベンダーにはソースを公開するのだそうです。そうすれば、カスタマイズのハードルもぐっと下がります。これでさらに、各地方にいる意欲あるベンダーがさらにこのベースシステムにも改良を加え、それをまちづくり三鷹さんのベースシステムにフィードバックできるような仕組みになっていたら(もうそうなっているかもしれませんが、講演ではそこまで言及されていなかったのでわかりませんでした。現地で思いついていれば、質問すれば良かったのですが)なお良いですよね。

※ 完全にオープンソースにしないのは、ソフトウェアの保証の問題などを自治体が気にするから、というようなことをまちづくり三鷹さんがおっしゃられていたと記憶しますが、このモデルを旧来の巨大ベンダーがそのまま横取りしないように守る必要があるのかな・・・と勝手に悪い頭で愚考しました。

こういった取り組みをRubyでやるというのも、また筋が良い感じで、いいですよね。

良いタッグだな、と思いました。

[Tips] Oralce 10g Express EditionにはScott/Tigerがいない

Oracleの学習等の用途には、体験版という手もあるのですが、Express Editionを利用したい方もいらっしゃるのではないかと思います。

このExpress Editionには、いわゆるOracleの定番サンプルユーザーであるところのscottユーザーが登録されておらず、これまた定番サンプルテーブルであるところのemp/dept/loc表なども入っておりません。

なければ作ればいいではないか、と言われてしまいそうですが、そもそもこれからOracleを勉強されようとする方に、ユーザーを作れ表領域を作れテーブルを作れ・・・というのも酷な話ですよね。

実はExpress EditionにはHRというサンプルユーザーが登録されていて、scottユーザーのそれと全く同じではないのですが、似たような構造のEMPLOYEES/DEPARTMENTS/LOCATIONSというようなテーブルも所有しています。

しかしながらこのユーザーは初期段階では利用できない状態にされているため、それを解除する必要がありますので、その方法について下記にご説明します。

まず、スタートメニューから、「Oracle Database 10g Express Edition」→「データベースのホームページに移動」を選択します。

送信者 Knowledge-ex. Blog

ブラウザが開き、ログイン画面になりますので、インストール時に設定したパスワードを使い、systemユーザーでログインします。

送信者 Knowledge-ex. Blog

ログインするといくつかのアイコンが表示されますが、「管理」の横にある三角の部分をクリックしてプルダウンメニューを出して、「管理」→「データベース・ユーザー」→「ユーザーの管理」と選択します。

送信者 Knowledge-ex. Blog

ここに、「HR」というユーザーがいますが、アイコンを見ると「時計」のようなマークと、「鍵」のようなマークが付いています。これらはそれぞれ「パスワードの期限切れ」「ロックされたユーザー」であることを表しています。

送信者 Knowledge-ex. Blog

この設定を変更すれば、HRユーザーでログインできるようになります。アイコンをクリックして下さい。

送信者 Knowledge-ex. Blog

アイコンをクリックし、パスワードに新しいもの(「HR」などでよいでしょう)を設定、さらに、「アカウント・ステータス」を「ロック解除済」に変更します。

送信者 Knowledge-ex. Blog

変更したら、「ユーザーの変更」ボタンをクリックします。さきほどの時計と鍵のアイコンが消えていることがわかります。

送信者 Knowledge-ex. Blog

これで、設定が完了しましたので、再びスタートメニューから「Oracle Database 10g Express Edition」→「SQLコマンドラインの実行」でSQL*Plusを起動し、「connect hr/hr」で接続できることを確認してください。

送信者 Knowledge-ex. Blog

ちなみに、「Express Edition」という用語は、「XE」と略されます。調べ物をしたりすると、「XE」という用語もよく出てきますので、覚えておくとよいでしょう。

[会社] 品川区のビジネス・カタリスト派遣事業

弊社は、今年の3月に大田区から品川区に移転したのですが、品川区では中小企業の支援策のひとつとして「ビジネス・カタリスト派遣事業」というのを行っています。

ものづくり支援サイト|ビジネス・カタリスト派遣事業(品川区)

このサービスは、豊富なビジネス経験等を持つ企業実務経験者、 各分野における専門家、大学等の研究者・技術者を「品川区ビジネス・カタリスト」として登録し、 意欲ある中小製造業等に経営戦略、技術開発、販路開拓、人材育成等の様々なアドバイスを行うという事業です。

※カタリスト(Catalyst)とはプラチナに代表される「触媒」を 意味し、存在とアドバイスが区内製造業の活性化に繋がるように、 との期待を込めて命名されたものです。

というようなサービスなのですが、弊社のような経験の少ない経営者にとっては、貴重なアドバイスがもらえるとてもありがたいものです。行政が支援のために行うサービスなので、無料で受けることができます(ただし回数には制限あり)。

弊社も、前に入居していた創業支援施設のインキュベーションマネージャの先生にこのサービスがあることを教えていただき、利用しています。

こういった機会がないと、なかなか経営戦略のことなどについて落ち着いて考える時間を作ることが難しく、また一人会社の弊社ですと議論とかレビューがしにくいので、内容のブラッシュアップが困難なのですが、そういった意味でも非常に有意義なサービスです。

品川区在住の企業の皆様、是非ご検討してみてはいかがでしょうか。

[会社][雑記] 動画配信的なことを妄想しています

弊社が提供している研修サービスは、いわゆる”Face 2 Face”の形式(所定の会場に集まって受講する集合研修形式)です。

別に、やむを得ずFace 2 Faceを選択しているというわけではなく、ITの技術研修はFace 2 Faceのほうが向いていると思えるところがあるので、そうしています。例えば、

  • 内容で分からないところをすぐ質問し、その場で解決できる
  • 演習などでエラーやトラブルがあるときにも、すぐ聞けてすぐ解決できる
  • 目の前で人が話すので、居眠りがしにくい・・・まあ、する人はしますが(笑)

など・・・。

とはいえ、やはり物理的な制約がどうしてもあるので、遠方のかたの参加にハードルがあったり、会場のキャパシティを超えたら参加できない(まあこれは幸か不幸かまだそうなったことがないんですが)とかがありますので、オンライン研修的なソリューションも考えたいなあと思っています。

そんな弊社の思いを知ってか知らずか、動画配信系の企業様から、ご提案をいただいたりすることもあります。

ただ、弊社にはお金がありません。それなりにちゃんとした映像を作って配信してもらうと、1時間でウン十万という世界なんですが、まあ、正直なところ弊社には厳しいです。思い切りが足りないだけなのかもしれませんが。

そんなことで、何か、お金をかけずにできないかな、と考えています。

無料で、お手軽な設備で、ネット経由で配信(ライブ中継)というと、割とよく耳にするものでは「Ustream.tv」ですとか(勉強会とかカンファレンスの中継に使われてますよね)、携帯端末(AndroidやiPhoneなど)に特化したものですと、Qikというサービスもあるようです。

なんかこういうサービスをうまく使いながら、やれないものかなと妄想しています。

[会社][フリーランス][雑記] 台風の件で、前回の教訓を生かしました

ちょうど、2ヶ月くらい前、こんなエントリをあげました。

[会社][フリーランス][雑記] 台風が迫っているなど荒天が予想されるときの打ち合わせはあらかじめ中止した方が良い?

普通の雨ならともかく、やっぱり台風が迫っているとか、荒天が予想されるときの打ち合わせは、よほど急ぎでない限りは、無理に決行しなくても良いのかなぁ、と思った日でした。 自社にある程度の決定権がある場合は、今度からそうしようかと思います。

ただ、天気が悪い、というだけなら多少我慢して・・・と言えなくもないですが、台風の場合は交通機関も乱れますし、アポが複数件あったりすれば、ずれた時間の分だけリカバリーもさらに大変になります。実は、今日は弊社に来ていただく打ち合わせが2件ほどあったのですが、どちらも、前日のうちに延期の段取りをつけさせていただき、私自身は在宅勤務とさせていただきました。

弊社がコントロールしやすい種類のアポイントで、かつ弊社が小さい会社だからこそできる決定なのかもしれませんが、前回の教訓を生かすことができたと思っています。

Twitterのタイムラインを見ていると、刻々と外の様子がレポートされていて、皆さん、大変な思いをして出社、出勤されているのをみると、ちょっと申し訳ないような気持ちになってしまいましたが、こういうときのこういう立ち回りが、フリーランス的な会社をやっていることの、割と数少ないメリットのうちのひとつだと思いますので、どうか、大目に見てやってください。

[Java][研修] 例外処理の設計って、意外と抜けたりしませんか

弊社でご提供しているJavaの研修サービスや教材は、どれも入門編的スタンスの内容のものが多いです。いきなり上級編のコンテンツから整備していく、という戦略もありえるのかもしれませんが、やはり商売として入門編の内容はニーズの裾野が広い(必要とするお客様が多い)ので、どうしてもそこから揃えて行くという方向性になりました。

ですので、弊社もこのままずっと入門編コンテンツだけでサービス提供をしていこうと考えているわけではありません。Javaに関しては入門的なコンテンツの整備はだいぶ進んできましたので、少しずつ、上のレベルのコンテンツにも着手していきたいと考えています。

その中のひとつが、「例外処理にフォーカスした研修」です。

もちろん、例外処理の文法的な要素については、基礎の研修でも扱っているわけですが、ここで考えているのは「例外処理のコードをどう書くか」ではなく、例外処理を含めたプログラムをどう設計するか、というテーマです。

例えばあるAPIを利用する場合、目的のメソッドにthrows節が定義されているとき、クライアントクラスでこのメソッド呼び出しをする際にできることは大きく2つあります。ひとつは、try〜catch節を記述して例外を捕捉できるようにすること。もうひとつは、try〜catchは使わず、クライアントクラス側のメソッドにthrows節を定義することです。もちろんこれは文法的にはそういう選択肢が出てくるわけですが、では実際、どちらの選択をすべきなのか?

これは、例外処理についての設計をあらかじめしておかないといけないわけですね。クラスの設計時に、メソッドの引数、戻り値だけ決めていて、例外をどうするかは、コードを書いてみてから考えよう、のようにしてしまうと、プログラマによって同じような例外の処理に対しても対処の内容がまちまちになってしまったり、「とりあえずコンパイルが通ればいいや」的な対処の不完全なコードができてしまいがちです。

そういったことを事前にどう設計しておくか、というようなポイントを整理できるようなコースを考えています。

まだ、いつから開講します、ということが言える段階ではないのですが、ご興味のありますかたは、是非、ご検討の選択肢の一つに入れておいていただければ幸いです。早く開講して欲しい!というコメントが多ければ、開講が早まるかもしれません(笑)

[会社][研修] 今月も背後から講義をしています

今日、明日の2日間、神奈川県立東部総合職業技術校(以下、東部技校)さんにて、社会人向けのOracle入門研修の講師を務めます。

先月の今頃も、実は東部技校さんで研修をしておりまして、

[会社][研修][Java][フリー教材] 背後から講義をする研修

というタイトルのエントリをあげています。で、今月もやはり同じ教室で講義をしましたので、やっぱり背後から講義をしています。

先月の場合、教材に弊社のフリー教材を使っておりましたので、まだ説明用に画面に投影するモノがあったのですが、今回の研修は市販本をベースにやっていますので、受講者の方の集中力もなかなか大変なのではないかと思います。

慣れない形式で試行錯誤も多いのですが、がんばります。

[Java][フリー教材] フリー教材 Struts編 4,500ダウンロード突破しました

2008/7/31に公開をはじめましたフリー教材「Struts1日入門」ですが、おかげさまで、10/1までの集計でダウンロード数が「4,503件」(Struts編はPDFのみの提供)となりま し た。

いつも多くの方にご覧頂きまして、誠にありがとうございます。教材に対するご意見、ご感想、ご要望、間違いのご指摘などございましたら、弊社HPのお 問い合わせフォームや、こちらのブログへのコメントでも結構ですので、どうぞよろしくお願いいたします。

また、このコンテンツをベースとした教材を使った「Struts入門1日講座」が9月から開催となっております。Strutsの基礎を1日で学べます!どうぞご検討下さい。

フリー教材のページはこちらです。

[雑記] 蒸しタオルに凝っています

よく、レストランなどで出されるおしぼりで顔を拭く行為がありますね。あれ、若いときは「オジサン」の象徴的行為なので極力やらないようにしていましたが、最近は油断すると無意識に顔を拭いてしまっていることがあるような気がします。なるべくしないようにはしているんですが。私も立派なオジサンの仲間入りをしているということですね。

しかしながらああいう蒸したタオル地の布で顔を拭くとサッパリして気分も良くなるのは事実です。

最近、私は家でこれをよくやっています。

実は電子レンジがあれば、蒸しタオルって比較的簡単にできてしまうんですね。妻に教わりました。まず、タオルを濡らして絞ります。割と普通に絞って、少し湿っているくらいでOKです。次に、レンジにタオルを広げて入れ、一定時間暖めるだけ。我が家の電子レンジは温度設定機能があるので、70℃くらいにしてやっています。

これで顔を拭くと、(当たり前ですが)レストランのおしぼりの如く、いやそれ以上のサッパリ感を得ることができます。最近は食前食後に顔を拭いたりしていることもあるくらいです。

家でする分には、レストランのように人目をはばかる必要もないので、是非皆さんも一度お試し下さい。男性だけでなく女性にも(おそらく)おすすめです(少なくともうちの妻は「これはいいかも」と言っておりましたので・・・)。