Home > システム開発

システム開発 Archive

久々の実装

マネージャから降りて雑務から解放され、久々にゴリゴリ実装している。

プログラミングはやっぱ楽しい。

でも同時に腕が激しく鈍ってる事を思い知らされて、ちょっとションボリ。

8月まではリハビリだなこりゃ。

  • Comments (Close): 0
  • Trackbacks (Close): 0

仕事のリズム

徹夜したり、長時間労働で体調崩して午前半休したり、なかなか仕事のリズムが安定しません。

そんな状況を改善したくて、自己管理ツールの構想を練ってきました。ただ、Web制作会社の業務支援ツールという触れ込みだとあまりウケが良くないなと感じていて、どう話を進めれば具体化できるか悩みどころでもありました。

そんな折、DSで万歩計付きの生活リズム計なるソフトが発売されたようです。

あ、なるほど。自分の生活のリズムはなかなか見えるもんじゃない、ってのは仕事でも同じですね。自分の仕事のリズムも、なかなか見えるもんじゃない。売り上げの数字とか勤務時間とか、そういうサマリーされた数字じゃ見えてこないのが、リズムというものかもしれません。

適切な言葉で表現することで、作りたいものが明確化された好例だったかも。

新しい産業

ソフトウェア開発というモノを建築やチェスなどに喩えたりすることが良くあるが、実際には当てはまらないんじゃなかろうか。

iPhoneWebアプリ開発セミナーに行ってきた時の、Safari Nightly Buildについて聞いた時に思った。

毎日ビルドして改善が続けられる物質的なモノって存在しない。有るとすれば、それは生命体だ。

そう考えると、ソフトウェア開発って生命の創造に近いって言えるかも?禁断の知恵の実がもたらした本当の禁忌は、コンピュータによる生命存在の創造?

うーん、なんか思考が妄想で暴走してきたのでこの辺で止めておこう。

MacPorts

VMwareでCentOS環境を構築してWebアプリ開発ってのをやりつつ、MacOS X上で直接開発できるようにしておいた方が何かと便利なので、MacPortsを入れてみることにした。
以下、手順をメモっておく。

  1. まずはMacPortsのサイトからdmgファイルをダウンロードする。
  2. .dmgをマウントするとパッケージがあるので、ダブルクリックしてインストールを進める。

と、ここでなぜかkernel_taskがCPUを食いつぶし始めた。MacPortsは無関係だと思うのだが、なんだろう。いったんAIRを閉じてスリープしてから解除したら正常に戻った。そのままにしても戻っただろうか?謎だ。

続きを読む

VMwareでCatalystアプリ開発その1

私が仕事で使うのは、大抵はJavaかPerlです。素晴らしいアプリがあればプラットホームは問わずに利用しますが、自分で開発するとなると大抵はJavaかPerlを選びます。

派生開発が続くと思われるような場合はJavaを選ぶことが多い気がします。画面数は少なくてもロジック数が多そうな場合も、やっぱりJavaを選ぶことが多い感じです。Perlを選ぶのは、画面数もロジック数も少ない場合。それと、環境が指定されている場合にPerlになったりします。他社ホスティングでJavaを入れてくれているところは少ないけど、Perlはほぼ100%に近い確率で入ってますからね。

今回から何回かに分けて、開発環境の構築、開発、デプロイ、運用に渡ってJavaとPerl[Catalyst]の違いについてまとめてみようと思います。

続きを読む

Google Developer Day 2007

昨日は朝からクライアントへのヒアリング。その後昼頃からGoogle Developer Day 2007に参加。

聞いたセッションは4つ。

  • Google Gadget
  • Desktop Gadget
  • DataAPI
  • Software Engineer in Google

基調講演とかが聴けなかったので、Gearsの話は帰ってから知りました。知ってたら最後のレセプションパーティでGoogleの人に聞いたのに、知らなかったんで聞けなかったっす。なんてこったい・・・orz

ガジェットはプラットホームとしてかなり魅力的でした。それにしても似たようなコンセプトのプラットホームが五つもありますよ。OS別にすると七つ。

  • Google Gadget
  • Yahoo! Widget
  • Windows Vistaのウィジェット
  • Dashboard Widget
  • Apollo

大杉。この状況は過去のブラウザ戦争を彷彿とさせますね。開発環境もだいぶ整っていて、GoogleTalkと連携させればコミュニケーション関連の処理も書けるGadgetが一歩リードしている感じです。

すごく参考になったのは、Software Engineer in Google。今うちの会社でもGoogleを参考に20%ルールという制度を取り入れようとしているんですが、やっぱり元祖のやり方は参考になります。ビジネスモデルが全く違うので元々そううまく行くとは思ってませんでしたが、うまく生かせそうなヒントはもらえました。

エンジニアに居心地の良さそうなGoogleですが、どうしてこんなにも違うのかと思ったとき、Googleの人は地力が違うのかなぁという気も一瞬したんですが、それほど技術力の差が天と地ほどもあるようには思えないんです。もちろん彼らがすごいのはわかるしまだまだ自分は太刀打ちできねーなーとも思いますが、そうじゃないところで差が付いちゃって、それが広がり続けている感じがします。

続きを読む

JavaからSubversion

SVNKit :: Subversion for Java:

前々から試してみようと思っていた、Subversionリポジトリにアクセスするためのライブラリをちょろっといじってみた。

サンプルコードを落として動かしつつドキュメント見たりとか、そんな程度だが、非常に簡単にリポジトリにアクセスできることがわかった。

なんか日本語で書かれたページが全然なかったんだけど、あんまり書くことがないからかもしれん。

うーん、これをあーしてこーして・・・夢は広がるなぁ(w

そこもまたトラップですよ

他人のプログラムを読むというのはなかなか勉強にはなるけど、実際には読んだだけじゃそのプログラムに含まれている教訓はなかなか身に付きません。己の身に降り掛かってきて対処せざるを得なくなったときに、初めて問題の核心に触れることができます。そしてそこをクリアして初めて己の血肉となる訳です。

宝探しをしていて、トラップを発見し、どうやってそれを切り抜けていこうかと真剣に考えるのが楽しいですね。クリアしたら経験値ゲット。まさにゲーム感覚。

という風に前向きにとらえないとやってられん。正直。

続きを読む

ポップカルチャー

おしえてBP javaプログラミングでのかぶった文字列の除去

なんか「おや?」というやり取りだったのだけど,回答が締め切られていたのでここに書いておこうかと。

質問は「String[]の要素で,重複をなくしたい」というものらしい。回答は二つ。

  • ループでまわして新しい配列に現れてない要素だけをコピーしていくゴリゴリ系。
  • ArrayList#contains()を使って重複してないものだけをaddしていくちょっとスマート系。

私が回答するとしたら,java.util.Setを使いなさい。これだけ。コードを書くとこんな感じです。

String[] overlapped = {"hoge", "huga", "hoge", "foo", "foo"};
java.util.Set unique = new java.util.HashSet();
unique.addAll(java.util.Arrays.asList(overlapped));

配列は既にあるわけだから,たった2行で用事は済みますね。ゴリゴリ書くなんてもってのほかです。

この質問と回答者のやり取りを見て思うのは,すでに用意されているものを知って,それを活用して新しいものを作る,という考えはないのだろうか?という疑問。これがアラン・ケイが言うところのポップカルチャーの人間?

続きを読む

web.xml

Tomcat – web.xml構文解析

実は結構忘れがち。メモ。

追記。こっちのが見やすいかも。
web.xml要素リファレンス

ホーム > システム開発

Search
Feeds
Meta

Return to page top