32分の15

本日、ようやく32分の15が終わりました。
というのも、とあるお客様の新人研修案件で合計32日間お邪魔するのですが、今日で15日目。個人的に、これだけ連続して同じお客様の研修を実施したことはなかったので、乗り切れるのか少々不安でした。

サプリメントを飲んだり、低周波治療器を朝晩使ったり、通勤時にマスク着用したり、手洗いうがいを欠かさずやったりと、いろいろ手を尽くして、なんとかここまで来たという感じです。

来月もがんばります。

なお、当ブログは4月28日(土)~5月7日(月)まではお休みとなります。
連休明けに、またお会いしましょう!

@ITに記事が掲載されました

本日から、@ITの自分戦略研究所に弊社の寄稿した記事が掲載されました。@ITでは毎日多くの記事がアップされるのですが、今回はなんとサイトのトップで取り上げていただきました。多くの記事の中から抜擢していただいて、たいへん光栄なことです。もちろん、毎日多くの記事がアップされていくと、だんだんインデックスの下のほうへ追いやられてしまうので、トップの位置にいられる期間は通常ごく限られます。ですが今回は連休直前の掲載のため、もしかすると連休明けまで新記事は追加されず、しばらくトップページに掲載される状態が続くかもしれません。

慣れない文体で、お見苦しい点もあろうかと思いますが、よろしければご覧になってみてください。

「分からないんで教えてください」はいけないの?
(@IT 自分戦略研究所)

書籍「JavaからRubyへ」を買いました

オライリーから、こんな本が出ているのを最近知りまして、今日の帰り道、早速購入しました。この本は、副題が「マネージャのための実践移行ガイド」となっていることからも、技術本ではなく、Rubyの導入を促進するための啓蒙書であることがわかります。まだ、パラパラとめくっただけなので、書評的なものは述べられませんが、この書籍が出ること自体、市場の中でのRubyの位置づけを示すものだといえるでしょう。

私の感覚では、Rubyに移行するのに一番向いているエンジニアは、PerlエンジニアでもPHPエンジニアでもC/C++エンジニアでもなく、Javaエンジニアだと思うのです。オブジェクト指向言語の素養を持ち、Webアプリケーションが当たり前の土壌で成長してきたJavaエンジニアであれば、Ruby(およびそのWebアプリケーションフレームワークであるRubyOnRails)を理解するのに、ほとんど障壁がないはずです。

弊社では、6月中の開始を目標に、「JavaエンジニアのためのRuby言語入門(仮題)」というトレーニングコースをスタートさせたいと考えています。JavaとRubyは似たところもあるのですが、違いも多くあります。しかしその違いは、決して埋められない深い溝などではなく、橋を架ければ容易に克服できるものです。弊社がその橋渡しをお手伝いをできればと思っています。Ruby(およびRubyOnRails)に興味をお持ちのJavaエンジニアの皆様、ご期待ください。

二度寝ができない日

今月、来月と新人研修の案件があるため、普段よりも規則正しい時間に起床することが多い日々を過ごしています。

当然、起床は目覚ましに設定している時刻に固定なのですが、日によっては、目覚ましの設定時刻より早く目がさめてしまうこともあります。そんなとき、ほとんどの場合は二度寝をし、目覚ましの音で改めて起きるのですが、今日はそれができない日でした。

だいたい普段はそうやって二度寝をすると、目覚ましがなるまで起きないのですが、今日はなぜか10分くらいおきに目が覚めてしまいます。確か、目覚ましの時刻の1時間半くらい前に目が覚めたので、そんな繰り返しを数回したことになります。

そんな状態になるのはかなり珍しいので、今日はなにか良いこと(か悪いこと)があるのではないかと少々期待と不安の混じる一日の始まりでした。が、結局何事もなく、至って平穏無事な一日でした。

統一地方選挙がありましたね

東京では今月初旬にも選挙がありましたが、昨日は私の住む大田区では区長、区議の選挙がありました。地方選挙(都知事は全国的に注目度が高いのでここでは話題から除外するとして、都議、区長、区議などの選挙)は国勢選挙と違い、メディアの取り上げ方も小さいため、有権者がかなり一生懸命調べないと、選挙の概要すら良く分からないというところがあるように思います。

インターネット全盛の時代ですから、知りたいことは何でもインターネットで検索できる、だから自分で調べればいいではないか、と思えるところなのですが、意外とそうでもなかったりします。例えば大田区の区議選では、概要すら調べるのに非常に苦労します。区議会選挙はそもそも定数何名なのか、今回の選挙で何名が選ばれるのか、選挙事由は何なのか(任期満了によるのか、その他の理由なのか)、といった情報は、私の調べ方も悪いだろうとは思うのですが、公式な情報として記載されているページを見つけることができませんでした。

だいたい、このような情報は有権者に送付される用紙に記載してあれば済むだけの話だと思うのですが、まるで記載がありません。大田区の区報などを見ても、期日前投票について詳しく説明するばかりで、肝心の選挙そのものについて、何の概要説明もありません。

さらに候補者について調べようとしても、選挙広報は自分で取りに行かなければいけません。もちろん、有権者としてその程度のことは能動的に行うべきだ、というのは正論ですが、投票用の用紙を送付しているのですから、選挙広報も送付すればいいと思うのです。新聞に折り込まれているから要らない、というのは時代錯誤な認識で、今や新聞の購読数は減る一方です。有権者に占める新聞の購読者の割合は、今後どんどん少なくなっていくでしょう。もし、送付が面倒なら、インターネット上に公開するのでもいいでしょう。ただしこの場合、インターネット非使用者が依然として不便な状態におかれるので、やはり有権者に一律送付が好ましいと考えられます。

レジャーがあるから休日に投票するのが面倒、というような理由で投票率が下がっているのではないことは、行政が懸命に期日前投票をアピールしても変わらないことで、ある程度明らかといえます。このような地味な改善を行うことも、必要なのではないでしょうか。

NHKとメディア・リテラシー

NHKが、ボストン・レッドソックスの松坂投手がメジャー初勝利をあげたことに関連するニュースを、連日に渡って放送したことについて、尾身幸次財務相が「この種の問題をNHKが毎朝取り上げるのは、ニュースのバランスからみて問題がある」「世界や人類全体の動きを、もうちょっと多く放送しないと、公共放送としての意味が薄れてくる。経済や社会、国際関係のニュースをバランスよく報道してもらいたい」と苦言を呈したそうです。

それに対するNHKの反論は「ニュースバリュー(価値)が高く、国民の皆さんの関心が高いという判断をしました」というものだったそうです。

このNHKの判断基準について、少し考えてみたいと思います。

メディアの伝える内容には、当事者の悪意の有無に関わらず、何らかの偏向が必ず含まれるというのがメディア・リテラシーの考え方です。例えば民放では「視聴率」というものを非常に重視しているといわれています。それはなぜでしょうか。ご存じの通り、民放においては、スポンサー(広告主)からのCMによる広告収入が事業収入の大部分を占めています。スポンサーは費用対効果の観点から、同じ金額を支出するのであれば、当然ながらより効果の高いものを選択したいと考えます。つまり誰も見ていない番組よりも、みんなが見ている番組でCMを打ったほうが、当然宣伝効果が高いわけですね。さらに、民放テレビ局は複数ありますから、同じ時間帯でも、できるだけ視聴率の高い番組のCM枠を買いたいわけです。しかも、経済原則からいえば、視聴率の高い番組のCM枠であれば、それだけの価値があるために、相対的にそのCM枠の価格を上げることも可能になるわけです。民放の社員が「視聴率」に並々ならぬ執着を見せる理由のひとつです。

過去に、あるニュース番組で、スポンサーの業界に批判的な発言をしたら、そのスポンサーが降りた(CM枠の契約を解除した)とか、あるお笑い番組で、スポンサーの会社に批判的なネタを披露したら、そのタレントが番組から降板させられたとか、そういうニュースがあったのをご記憶かと思います。このことは、上記の事実を踏まえていえば、至極当然なわけですね。CMで自社の宣伝効果を高めたとしても、肝心の番組内でそのイメージを降下させることになっては、費用対効果の面では最悪になってしまうわけです。そうなるくらいならCM枠の契約自体しないほうが、出費がない分マシだということになるでしょう。民放の番組にはスポンサーの意向が反映されている、とよく言われるのはこれが理由であり、民放のビジネスモデルを考えれば、事実上、不可避です。

さて、翻って冒頭のNHKの話題ですが、ご承知の通り、NHKにはスポンサーが存在しません。NHKは国民と契約し徴収する受信料が事業収入となっています。いや、我々がお金を払っているのだから、我々がスポンサーである、と思われるかもしれませんが、それは(制度上、建前上は)間違いです。なぜなら、我々はその番組が気に入らないという理由では、契約を解除することはできない制度になっているからです(噂によると全く不可能ではないようですが)。

「国民の関心が高い内容を放送する」のは、そのフレーズだけを聞けば、確かに悪いことではないように思えます。しかし、「国民の関心が高い」=「視聴率が高い」であるとすれば、民放以外にNHKがわざわざ存在する意義とは何なのか、ということになります。大変疑問のある反論だと思います。

インスタンスの難しさを思い出す

今まで何十回(さすがに何百回とまではいきませんが)もJavaの研修をしていますが、いつも思うのが「インスタンス」の概念を理解してもらうことの難しさです。もちろん、自分の教える技術の不足が大きいとは思うのですが。

そういえば自分が学習したときを振り返ってみると、大学時代に独学でJavaを勉強していたときに、最初の壁になったのはやはりインスタンスの概念でした。大学の講義でC言語は知っていたので、文法体型の基本は、特に悩むことなく習得できましたが、インスタンスの概念はCにはなく、苦労しました。周囲にもJavaを良く知っている人はいない状況でしたので、基本的には自分で解決するしかなかったのです。

インスタンスの概念が理解できなかった私は、最初全てにstaticをつけてプログラムを書いていました。当時学生だった私は、卒業研究で使うプログラムをJavaで書いていました。どうしてもダメなら、Cで書けばいいという気持ちもありましたし、時間的な猶予も多かったので、割と気楽だったように思います。実際、インスタンスを使わなくても、しばらくはそれでも何とかなったのです。

しかしだんだん、インスタンスなしでプログラムを書くのが窮屈になってきました。インスタンスの概念がないと、Javaのいろいろな機能がまともに使えないのです。簡単なAPIを使うにも、インスタンス化が必要なものが多いので、当然なのですが。

私の場合、ある1冊の書籍との出会いが契機になりました。残念ながら現在は絶版になっているようなのですが、確か「図解Java流オブジェクト指向」というような題名の本だったと思います。これを読んで、なんとなくオブジェクト指向のイメージがおぼろげに分かってきたのです。そして、ある日突然、何かの回路がつながったかのごとく、突然オブジェクト指向の考え方がスイスイ飲み込めるようになってきました。なんでしょうか、他に例えるなら「悟りが開ける」ような心境とはこういうことなのかな?と思ったのが強く印象に残っています。

今思えば、私などは時間に余裕があったので、こんな悠長な学習ができたわけです。ですが、業務でJavaを習得しないといけない方は、限られた時間で確実に使えるようにしていくことが求められます。本当に大変なことだと思います。自分もプロとして、もっともっと効率よく、効果的に理解していただけるような研修を提供できるよう精進したいと思っています。

8営業日まで到達しました

今月、来月と外での講師が続きます。
先月、8営業日連続講師というのがあって、ヘトヘトになりながらやりましたが、今回はあと7営業日ありますのでまだまだ気が抜けません。とはいえ、今日から4日間はアシスタント講師なので、体力的にはだいぶ楽、なはずなのですが、それでもやはり今日終わって帰途につくと、なんだかそれまでよりも少し疲れの度合いが多いような気がしました。

でも、聞いてみると今日からメイン講師をつとめられる講師の方は、なんと11営業日連続メイン講師なのだとか。上には上がいるものです。私なんてまだ楽なほうなんですね…。

今日は少し早めに寝て、疲れを取りたいと思います。

フレームワークの改修

このブログが稼働している自宅サーバでは、ブログ以外に草野球チームの出欠やイベント管理、帳簿システムなんかが動いていたりします。それらのシステムはかれこれ4~5年くらい前に作ったシステムなので、Java+Tomcatという構成で動いています。2002年から2003年当時というと、JavaのWebアプリといえばStrutsが流行る兆しを見せ始めた頃だったと思います。

当時、まだStrutsを詳しく知らなかった私は、Strutsを使わずに「なんちゃってWebアプリケーションフレームワーク」を勉強の意味も兼ねて自作していました。

このフレームワークを使って、上に書いた草野球チームの管理用Webアプリを作りました。規模も小さく負荷も少ないため、おかげさまで数年間なんとか無事稼働しています。

ところが、自宅サーバ稼働のためにダイナミックDNSを提供してもらっている業者さんの都合で、ページの中に必ず検索用のフォームを埋め込むことになりました。

これが、実はやっかいで、このフォームを埋め込んだせいで、アプリの一部の機能が動作しなくなりました。1画面にフォームが一つだけという前提で画面を実装している箇所が多いために、JavaScriptでフォームの値を書き換えるときのフォーム名が、「form[0]」になっているんですね。そうすると、画面の上部に検索用のフォームなんかが追加されてしまうと、値の書き換えがうまく行かなくなって動作が狂ってしまうのです。

幸いにして、フレームワークの一部のデフォルト動作を改修することで事なきを得ましたが、改修したクラスのJavadocを見ると、最終更新が2003年となっておりました。このクラスだけ見れば、実に4年ぶりに改修したことになります。

4年前って、自分はいったい何をしていたんだろうか、と思わず回想してしまいました。短いようで長いですよね、4年という歳月は…。

財布を忘れても何とかなる時代

今朝は、いろいろ理由があって少しあわただしく家を出たために、忘れ物をしてしまいました。仕事に必要な道具と、弁当は持っているのですが、財布を忘れてしまったのです。

でも、今時は、SuicaやPASMOを持っていれば、これらが電子マネーとなり買い物ができるので、なんとかなってしまうのだなぁと実感しました。

財布を持ち歩いてはいるものの、実際、普通に仕事をしているだけであれば、お金を使うのは交通費と、昼食代と、ジュース代くらいのものです。今日の場合、交通費はPASMOを持ち歩いているので財布は必要なく、昼食代は弁当を持ち歩いているので必要なく、ジュースが買えないおそれがあることだけが懸念事項でした。

しかし、PASMOの残額に余裕があれば、駅の自販機でジュースも買えてしまいます。
今日は、外出先の途中にある新宿駅のホームの自販機で、PASMOを使ってジュースを買うことができました。

頭ではわかっていることなのですが、いざ、実際に財布ナシで過ごしてみると、電子マネーが使える便利さが少しわかったような気がしました。