今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

SWE

確度の低い工程表が生み出す無駄

SWE

工程表を書いていていつもアホらしく思うのが、技術的な解決策が分かってない問題を含んでいるプロジェクトの工程。どれだけ調査すれば解決策が分かるかさえ不明で、さらに解決策が分かったとしてもその実装がどのくらいかかるかも不明なのに線を引っ張らな…

第何週の表記

SWE

昨日の日記で紹介したGanttProjectで工程表を作った。 ズーム機能でちょっと縮小すると、土日以外の追加した休日が表示されなくなるのと、日付部分が第何週の表示に切り替わるので何月何日なのかがわからなくなる。これが意外と不便。欧米の人は第何週っての…

GanttProject

Javaで作られたプロジェクト管理ツール。ひさしぶりに最新版(2.0 third preview)をダウンロードして使ってみた。前は印刷できなかったけど、今度のは文字化けすることもなく印刷できた。 MS Project とのファイル互換もできるみたいだけど、これはどの程度ま…

コミュニケーションは重要

SWE

某お手伝いさん、昨日の夜に営業から不明点の問い合わせがあって、今朝は動作確認していた。しかし、コミュニケーション不足で、問い合わせがあったところとは違うところの動作確認をしていたことが判明。 コミュニケーションをしっかりしないと何時間も無駄…

ツールってどう作るの?

SWE

ツールってどういう手順で作るかわからない。 こじんまり作って大きくしていくのがいいのかな。 ツールって、心が赴くままに作るものでは? 要は、手作業でやっていてめんどいと思ったとき。そして、そのめんどうな仕事は、コンピュータにまかせればできそう…

命名ルールの変更

某システムの拡張が発生した。もともとはひとつのビルにある複数の事務所が監視の範囲だったので、それを前提に各オブジェクトの命名ルールを作っていた。しかし、今回の拡張で他のビルにある事務所も監視することになった。命名ルールが破綻した。 システム…

大失敗

SWE

現地調整での動作確認で、期待通りに動作しないことが分かった。夕方には帰宅しなきゃいかんので、同行していた人たちにシステムを元の状態に戻すように依頼して先に帰途に。 たくさんの人に迷惑をかけてしまったよ。

複雑なことはシンプルを組み合わせて実現する

SWE

やろうとしていることがシンプルならば、それをやれる人はたくさんいる。シンプルなことを組み合わせることだって、多くの人がやれる。 難しいのは、複雑なことをシンプルなことの組み合わせに分解することだ。いかにしてシンプルな最小単位をデザインしてい…

潜在バグの顕在化

SWE

数年前に書いたコード。 long now = System.currentTimeMillis(); if (lastTime + interval * 1000 最近になって、この「interval秒間隔でやりたいこと」が interval よりも長くかかる現象が発覚した。本来は、 long now = System.currentTimeMillis(); if (…

ソフトウェア技術者サミット in 博多

参加してきた。ちゅーか、社内以外では初講師。まあ、聞き手が少なくて全員に目が届く程度だったので、やりやすかった。 XPJUG-Q の代表として、XPするとこんなにうれしいぞ!ってのをテーマにしゃべってきた。いまどきXPの啓蒙しても、って気がしつつ。そも…

RFC4180: CSVファイルフォーマット

SWE

CSVファイルフォーマットにもRFCがあったのね。というか、October 2005 に作られたばっかりみたい。 Surprisingly, while this format is very common, it has never been formally documented. まあ、改行コードは CRLF にしろとか、その他のあたりまえなと…

Postgres 8.1.2

某さんにお願いした Web システムの機能追加の件、今朝、war ファイルが送られてきたのでぼちぼちと動作確認の準備を進めている。 J2SDK1.4 だったのを Java5 にしなきゃいかんってのは確認済みだったけど、準備している途中で psql して alter コマンドを実…

Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く

Joel on Softwareを買おうと思って Amazon をチェックしたら「あわせて買いたい」のところの出ていた。Write Great Code なんてかっこいいタイトルに引かれてリンクをクリックしてみたら、 『Write Great Code』は、自慢できるコード、ほかのプログラマーを…

姉歯事件は建築業界だけじゃない!

SWE

この記事では、開発者たちが「モノづくり」の良心を考え直すことで、システムの不具合を減らせるのではないかと期待している。たしかに「モノづくり」の良心を忘れた開発者もいるかもしれないが、それは全体から見るとほんの一部に過ぎないだろう。 しかし、…

生産性を30%UPしよう

SWE

ひさしぶりに System Creates の清水さんが、ソフトウェアエンジニアのためのホームページに巻頭言を掲載した。 さっそくブックマークにも追加。というか、このサイトのほとんどのページは、ブックマークに追加してもいいくらい。今までこのサイトを知らなか…

プログラマではなくテスターとして現場デビューする

わざわざテスターとして育てなくても、 テストファーストとペアプロで開発させればいいだけなのでは?と思うんだが。。。 そもそも、テスターに求められる資質とプログラマに求められる資質ってかなり違うような気がする。例えば、プログラマはめんどくさが…

ドライバや石の問題

昨日の日記に id:unibon さんがコメントしてくれてたように、ドライバやチップに問題があって正常動作しないことは意外とよくある話だったりする。 以前、社内Unixシステムでドライバを作ったことがあるが、チップのバグに悩まされた。プログラマとしてはチ…

ソフトウェア技術者サミット in 博多 2006

【日時】2005年1月20日(金) 15:00 - 18:50 (受付開始:15:00) 【会場】福岡交通センター 第3ホール http://www.nishitetsu.co.jp/fkc/hall.htm 【定員】30 名(参加締め切り:1月18日、定員になり次第締め切り) 【参加費】無料(交流会を除く)

エラーメッセージ

SWE

ふと、某にテスト用として貸しているパソコンの画面を見ると、エラーメッセージが出ている。 ウィンソック終了異常! このメッセージを見たユーザに、どう対処しろというつもりなんだろ? 別のエラーメッセージも出ている。 ホストが見つかりません! これも…

アプリケーションの設定

SWE

たくさんの設定ファイルがある。ひとつのことを設定するのに、複数のファイルを変更しなきゃいけない。うまく動作しないときに、どこが間違っているのかがわかりにくい。 同じ情報が複数の設定ファイルにあったりする。すべてが一致していないと動作しなかっ…

北九州で働きたいITエンジニアおらんかね?

SWE

最近、いろんなシステムの要望があって、量的に対応しきれなくなっている。目先の仕事に追われて、コードを書く時間が全然取れない。(だから、このブログで技術的な話題が減ってしまっている。) 北九州で働きたいITエンジニア、おらんかね?

グローバル変数の罪

某に VC++ でアプリケーションを作らせた。作らせたアプリケーションは、以前、Java で作ったものとよく似たもの。当然、設計の大半も流用できる。 今日、そのアプリケーションのコードレビューをした。 設計が変わっていた。OO的には、本来あってはならない…

システム稼動開始がいっぱい

SWE

12末までに、5箇所にシステムを納入しなきゃいかんらしい。幸いなのが、新規が2箇所(しかもほとんど同じ構成)であとは既存システムの追加。システム構築よりもドキュメントの方が大変そうな気がする。 つーか、ほんとうに間に合うんだろうか?(^^;

ソフトウェア技術者連盟福岡セミナー

SWE

行ってきた。 こういう方向性のセミナーも重要だと思う。今、ソフトウェア技術者の立場って、非常に弱い。今の社会では、ソフトウェア技術者の役割は重い。このセミナーの中でも主張してきたけど、インターネットからアクセスできるWebシステムに脆弱性があ…

ありがちなバグ

SWE

近くの人が某社に作らせた C のソースを見て、某社に電話で文句を言っていた。 そのコードを見せてもらった。 static char hoge1[2] = "ER"; static char hoge2[6] = "000000"; で、hoge1 や hoge2 はあちこちで定数的に使われているそうだ。これじゃ期待通…

バックアップ重要

SWE

ちょっとした手順のミスで、設定作業してきた内容の半分くらいを失ってしまった。毎日バックアップしてれば被害を最小限にできたのに、とか思いつつ、最近のを掘り返してみたら全然バックアップしてない。人任せにしてたので手元には何も残ってない。 ふと、…

解決

SWE

電話の向こうの人からログを送ってもらって操作手順をトレースしたところ、意外と簡単に原因が判明。ソースコードを確認したら、その手順で操作したら確かにそのとおりの現象が発生するコードになっていた。(^^; 修正した Jarファイルを Windows のファイル…

cvs remove の confilict を復旧する方法

SWE

2台のパソコンで作業していて、片方でファイルを更新して commit し、他方でファイルを(実は余計なファイルだったので)削除した。そしてその削除を commit しようとしたら、cvs がエラーを通知してきた。そのときのメッセージ。 $ cvs ci -m "hoge" filename…

CVS 作業ディレクトリの変更済みファイル

SWE

CVS 作業ディレクトリ内で何らかの変更を加えたファイルを検索するのに、M-x shell してから、 work$ cvs -q status | grep Status: | grep -v Up-to-date とかしてる。今さらながら、なんとなくめんどうに感じたり。なんかほかにいい方法あるんかなぁ?(他…

ドキュメントの改版に伴う憂鬱

SWE

あるドキュメントを改版する必要がある。文書番号は、社内の規約に従って採番する。 あるプロダクトのドキュメントは、プロダクトの機能追加に伴って既に何度も改版を繰り返している。簡単のため、1版・2版・3版・4版があるとする。 今回、とある理由で、2版…