少し前まで仕事でC#を使ってて、今はPHP。そして、プライベートではJavaを書いてて、先週末は友人が書いたPerlのソースをチェック。いくらなんでも、頭がゴチャゴチャになりすぎました…。
SE歴がそろそろ6年になりそうな僕ですが、最近分かったことがシステムは誰にでも作れるということ。プログラマーの単価が安いのは、誰にでもその仕事ができるからってこと。結果として出てくるモノが同じであれば、誰が作ってもいいんです。日本人が作っても、新興国の人間が作っても、同じシステムができます。
プログラマーの上位とされるSEの仕事も同じ。「お客様」の要件ありきで仕様を考えるなんて、誰にだってできます。もっと言えば、その更に上位とされるPMの仕事だって、別に人件費が高い日本人じゃなくてもできると思います。仕事の内容が同じなら、安いほうにお願いするのは当然です。
とすると、僕たちに残された仕事って何だろう?
たまにはマジメな話を。
バッチ処理およびオンライン非同期処理のためのJavaフレームワークJBeXの開発と適用
仕事でJBeXなるものに触れてるんだけど、それに関する論文を発見。実はけっこう新しい技術なのね、JBeXって。ネット上でJBeXに関する有益な資料をロクに見付けられなかったので、この論文はJBeXとは何ぞやを理解するためにだいぶいい感じ!
こういう論文を書く「余裕」って素晴らしいな。日ごろ、単純作業のルーチンワークをこなすだけの毎日から脱却して、こういう論文を書けるような人(ポジション)になりたい。…って、うだうだ愚痴ってる暇があれば、そうなれるように努力すりゃいいんだけどね。
ふぅ。
とある事情で人にJavaを教えました。
対象者はVisualBasicは書ける人。でも、それがどれくらいのレベルなのかは分からない。そして、僕はVBを書いたことは勿論、ソースを見たことすらない。そんな状況でのJava教育。
結論、人に教えるのは難しい。
何事もそうだけどね。僕は特に何かを教えるのが苦手。Javaにしたって苦労した覚えがないから、どうしてそこで躓くのかが分からないし、どうしてそれを理解できないのかも分からない。人に教えるのは嫌いじゃないんだけど、先生になるには向かないタイプです。
ここをどう書けば、この仕様を満たすロジックが成立するの?と聞かれたときに、適切な答えを出すことはできると思います。でも、どうすればこういうロジックが思い付くの?と聞かれても答えられない。先生が一番言っちゃいけない「普通に考えて」というセリフを喉元でぐっと堪えるのが精一杯でした。僕ダメ先生。
普通に考えて、そこはこう書くべきだろー、って言いたかったです。笑
次世代アプリコンテンツ市場をリードするクリエイターエンジニア発掘プロジェクト「Future of Apps」のキックオフカンファレンスに申し込んでみました。申し込み期間は今月一杯までで、参加の可否は数日以内に発表?あれ?よく見るとカンファレンスの当落発表日が公式サイトで見当たらないや。
Xperiaを使うようになって、Androidのアプリにすごく興味を持つようになってきました。林檎の電話と違ってWindowsで開発できますし、実際に作ってから自分のXperiaで実機テストできるのは素敵。ひさしくプログラムを書いてないので、何かを作りたい!って気持ちがだいぶ旺盛です。
問題は、企画力とデザイン力。どう作るのかは何とかできますが、何を作るのかは天才に任せるしかない。そう!今回は友人と共同で応募してみようと思ってます。アイデアを出すのは彼、プログラムを書くのは僕、そしてデザインは彼。お互いの素性は知らないの(マテ。でも、仕事の合間を縫って努力します。頑張りまくります。
…って、募集要項で厳しい点を発見 _| ̄|○
・ 法人もしくは、法人化を予定している開発者 (審査後の契約対象は法人に限定)
会社を辞めるつもりはありません。まったくゼロ。あくまで娯楽として参加します。ごめんなさい。笑
Gmail をさらに多くの言語でご利用いただけるようになりました。
と書いてあったものだから、途端に気になった。いったい何言語対応なの?と。で、詳細を見てみると、全53言語でした。多すぎ。昔、多言語対応プロジェクトのPMが隣に座ってましたけど、英語を増やすだけでそりゃもう苦労されてました。今まで日本語だけしかなかったページに英語を増やすわけだから、苦労するのも当たり前。一度増やしてしまえば、あとは簡単に他の言語も増やせるとは聞いたことがありますが、そうは言っても53言語は多いです。
言語別の利用状況ってどこかに公開されてないのかな。一番多いのは英語or中国語でしょうが、日本語がどれくらいのポジションにいるのかが気になります。僕が大学生の頃は誰でもHotmailのアカウントを持ってましたけど、今の学生はGmailが当たり前だったりして?そんな僕は周りのHotmailを勧める声を無視してYahoo!派でした。Yahoo!のほうが見やすかったですもん。Gmailが登場するまで、は。
ちなみに、Homailが対応する言語は17。Gmailが圧倒的すぎる。
シェルでCSVファイルを読み込みます。
簡単だろうとタカを括ってましたが、意外と苦戦したのでメモ。「cut」を使ったほうが分かりやすいかもしれませんが、それでは処理速度が全然遅かったので、以下の方式に改良。実際にベンチマークはしてませんが、肌感覚でcutよりも遥かに速いです。
while IFS=, read aaa bbb ccc ddd eee
do
done < $CsvFile
今日はひさびさのプログラムネタ。仕様書を書くよりも、テストをこなすよりも、延々とプログラミングしてるほうが好きです。興奮します(ぇ
最近ずっとJavaばかりだったので、ひさしぶりのシェルには少し戸惑ってしまいました。高級言語の便利さを改めて思い知った、と書くのが正確か。オブジェクト指向に慣れた状態で原始的なシェルに戻ると、ちょっと苦戦します。
GAEのサーバー時間はUTCだそうです。
// java.util.Calendar
Calendar cal = Calendar.getInstance();
となると、こうやって↑取得した場合はUTCの時間が入ります。当たり前。でも、日本で日本語を使って日本人を対象にしたWebアプリケーションを作りたい自分にとっては、このままの状態だとひどく不都合です。日本標準時のJSTを使いたい。どうすればJSTで取得できるか。答えは簡単。Calendar.getInstance()の引数にタイムゾーンとロケールを取得すればOKです。
// タイムゾーンを指定して初期化
Calendar jst = Calendar.getInstance( TimeZone.getTimeZone( "Asia/Tokyo" ), Locale.JAPAN );
のはずが、こうしてもUTCのままでした。あれ、おかしいな。タイムゾーンやロケールの仕方でコレでいけませんでしたっけ。何がおかしいんだろう?
昨日の日記:GoogleAppEngineに挑戦の続きです。
今日はeclipseでGAEの開発を行うための、プラグインの導入について書きます。
2.GAE開発のためのプラグイン導入
eclipseでGAEを使った開発を円滑に行うためのプラグインをGoogleが提供しています。新規ソフトウェアのインストールから、次のURLを入力してプラグインを導入します。URL末尾の数字はeclipseのバージョンを表すようです。ご自分の環境に合わせて変更してください。
続きを読む…
遅まきながら、GoogleAppEngine(以降、「GAE」)がJavaに対応したみたいなので遊んでみました。とは言え、Perlな人間にとってプライベートでJavaに触れたのは今回が初。私用のPCにeclipseをインストールしたのも初。そんなわけで、開発環境を作ってGAEにデプロイするまでは様々な壁が。今日の日記はその壁を打ち砕いていった軌跡を書き残すものです。
続きを読む…
ひさしぶりにJavaで遊んでいたときのこと。
新規にプロジェクトを作って動かそうと思ったものの、トップページ以外の動きがすごく変。サーブレットは2コあるのに、正常に呼び出せているサーブレットは1コ。どうやって動かしてもひとつのサーブレットしか呼び出せない。デバッグモードで見ても、確かに呼ばれているのはひとつだけ。他のサーブレットを呼び出せない。おかしいなぁ…。何が悪いんだろう…?
と、悩むこと30分。
つまらないミスをしてることにようやく気付く。
続きを読む…