2011-01-01から1年間の記事一覧

SQLite.NETのExecuteScalarにはまる

落とし穴の存在も対処方法も分かっているはずなのに、いつも決まってはまってしまう問題がある。今回もその一例。SQLite.NETを使ってゴリゴリとSQLを書き、テストコードを書いて実行したところでInvalidCastExceptionが発生した。開発環境は下記の通り。 Win…

グローバル変数とスタティックおじさん

他人が書いたソースコードを読んでいると、知らないことは大いに勉強になる反面、時々とんでもないものに出くわすことがある。その一例がグローバル変数だったりするわけだが、最近はオブジェクト指向のフレームワーク上に作られるソフトウェアが多いので、…

有料サービスと無料サービスの狭間

Googleのサービスは無料のものが多くて気軽に試せるし便利なものが多いのだけど、何しろ無料だから「サービスの利用増加による収益の拡大」が見込めないと判断したのか、提供停止になってしまうものが少なくない。便利に使っていたサービスが無くなってしま…

Amazon S3をバックアップストレージに使う

パソコンのデータの消失には気を使っているので、複数のバックアップ策を講じている。 各MacにはTime Machine 複数のパソコン間でのバックアップ共有にはDropbox 遠隔地のサーバのバックアップはrsync しかしながら、東日本大震災の被害状況を見ていると「家…

Enterprise Architect 9.0のリバース機能を試す

UML

Enterprise Architectを使ってソースコードをリバース解析する話は以前に書いた。 ソースコードのリバース解析にEAは欠かせない - Basic そのEnterprise Architectが9.0にバージョンアップしたので、手元の環境でも更新してみた。気になる新機能はいろいろあ…

Sphinxでドキュメントを生成する(PDF編)

Sphinxは、HTMLだけではなく他の形式でも出力可能だ。今回はPDFを生成出来るようにしてみた。Windowsでの導入方法については下記のエントリが詳しい。 Sphinxでドキュメント生成-PDF(Windowsでの始め方) - torutkのブログ 今回はMacで試してみた。動作環境…

Sphinxでドキュメントを生成する

最近、Sphinxを使ってドキュメントを書いている。元々、Wordのようにチマチマと自分で文字のレイアウトや装飾を指定するタイプは好きではなく、LaTeXのように「プレーンテキストで文章を書いて、コマンド一発で出力を生成。レイアウト等は一切お任せ」型のシ…

再発見されるMacというプラットフォーム

Mac

iPhoneやiPadの影響なのか、最近知人がMacを買うケースが多く、その使い方について問い合わせを受けることが多い。Macは全く初めてという人や、昔のMacOS 9の頃に少し触った程度という人も少なからずいて、時代を感じてしまう。市場シェアは確かに低いけれど…

ようやくiPadを買った

遅ればせながらiPadを買った。以前から初代iPadに触れていたのだけど、自分用に一つ欲しくなったという次第。手持ちのiPhoneはブラックなのでiPadの方はホワイトを選択し、「バスタブカバー」として評判のSmart Coverも併せて購入した。以下、実際に使ってみ…

VMware Fusion上のWindowsXPでFaceTime HDカメラを使う

VMware Fusion上に導入したWindows XPやWindows 7で、MacBook Proの内蔵カメラである「FaceTime HDカメラ」(以前はiSightという名称だった)を使っている。このカメラは、以前はWindows XPでも問題なく使えていたように思うのだけど、いつの間にか使えなく…

技術雑誌の休刊に思うこと

毎月欠かさず読んでいた雑誌ASCII.Technologiesが休刊になるというニュースを知った。UNIX magazineやC MAGAZINEなど、愛読していたのに無くなってしまった雑誌は過去にも多いが、専門的なトピックスを扱う技術雑誌がまた1つ消えてしまうのは残念なことだと…

VMware Fusion上のWindows7でIMEオン・オフ切替を設定した

MacBook ProのVMware Fusion上で稼働させているWindows 7にはGoogle日本語入力を入れているのだけど、IMEの切替が上手く行かない。正確に言うと切替自体は出来るのだけど、あまりMacらしくないキー操作なので戸惑うことが多い。Macユーザのわがままとしては…

ウェブカメラで高解像度の静止画を取得する

USB接続のウェブカメラで撮影した動画から、静止画をキャプチャして取り出す必要が有ったので調査してみた。使用する環境は下記の通り。 Windows7 Professional/SP1 (x86/x64) Logicool HD Webcam C510 LOGICOOL ウェブカム HD画質 200万画素 C510出版社/メ…

仕様書で問われる日本語力

学生の頃、いわゆる国語の授業や試験が好きではなかった。日本語の文章を読んで何をどのように感じようと人の勝手ではないか。どうしてそのような感じ方に「正解」なるものが存在するのか理解出来なかったし、そもそも国語の試験が存在する意義も良く分から…

Macを買うと欲しくなるもの

Mac

Macを一台買うといろいろと周辺機器が欲しくなる。これはきっとメーカーの陰謀なのだろう。最近買ったのはこんなものだ。まずはMacBook Air用のケース。プラスチックではなく厚紙で出来たケースなので最初はやや不安だったけれど、MBAの筐体にピッタリと合う…

そのソフトウェア開発は儲かりますか?

仕事でソフトウェア開発に携わる人に良く尋ねる質問の一つに、このようなものがある。 そのソフトウェア開発は儲かりますか? 趣味でやっているとか、開発コストを度外視して良い特殊な用途は別にして、ビジネスとしてソフトウェアを開発するのなら、開発結…

ニッチな市場で生き延びるという選択

スマートフォンのアプリ開発に関して知り合いと議論。開発対象として、iPhoneを選ぶべきか、それともAndroidを選ぶべきかというホットな(?)話題だった。彼の主張はこのようなもの。 iPhone用のObjective-Cを使える開発者は数が少ない。Javaの開発者の方が…

退屈な時間が失われる時

携帯電話が暇つぶしに欠かせない存在になったのはいつの頃からだろうか。昔の携帯電話はインターネットに接続する機能が無かったから、本来の目的である電話以外に使い道が無く、持ち歩いていても邪魔なことが多かった。今から考えてみれば本当に単機能な存…

TracのWikiに日々の作業記録を書く

自分のパソコンには自分専用のTracを入れており、毎日の作業記録をWikiへ記載するようにようにしている。開発チームで使っているTracは情報共有用なのであまりプライベートな情報は載せられないけど、自分用のTracなら自分の仕事に特化した情報のみを書くこ…

プロセス改善活動の目的は何か?

ある人から開発現場におけるプロセス改善活動の目的は何か?と聞かれたことがある。きれい事を言えば、成果物の品質向上であり、手戻り作業の削減や、前回の開発経験をフィードバックした効率的な作業ということになるだろう。もちろん、それはそれで間違っ…

Tracのwikiに図面を入れる(BlockDiag編)

Tracのwikiでblockdiagを使うためのプラグインを導入した。直線や円と言ったプリミティブな図形ではなく、開発現場でそのまま使えるような図面を描けるのが特徴だ。利用環境は下記の通り。 MacOSX 10.6.7 (Snow Leopard) Trac 0.12.2 (MacPorts) Python 2.6.…

チケットという資産を有効活用する

ソフトウェアの開発プロジェクトが終わると、Tracには大量のチケットが生み出される。やれやれ、一件落着、こんな障害情報なんて見たくもないという人が多いかも知れないけれど、実はこの情報は次の開発に生かすべきヒントを含む重要な情報だと思っている。…

心配性の人はソフトウェア開発に向いていないかも知れない

ふとソースコードの断片に目が止まり、これが妙に気になって仕方ないことがある。 public int Foo(int i) { // do something wonderful here return x; } 例えば、上記のようなコードの場合、こんなことを考えてしまう。 int型の引数を取っているけど、これ…

負の連鎖を断ち切れない開発者

ソフトウェアの開発現場では、正しいことばかりではなくて、正しくないことも何故か平気で行われている。行われているどころか、問題を指摘する人がいないと、あたかもそれが正しいかの如く脈々と受け継がれていたりする。その一例。 正しくないAPIの使い方…

必要なのは微妙な調整力

仕事の現場では、教科書では教えてくれない様々な状況が発生する。 送られてきた仕様書には書かれていない内容が多い。不明箇所を確認してみたら「開発者なのだから、その位は自分で考えて上手く作れるだろう」とのこと。それが普通かと思っていると、一方で…

iPhoneのバックアップ処理にはまる

iOS

iOS 4.3.3 Software Updateが出ていたので手元のiPhoneを更新することにした。 iOS 4.3.3 Software Update しかしながら、iTunesで同期させようとすると、いきなり下記のエラーメッセージが表示されてバックアップに失敗してしまう。もちろん、iOSの更新も出…

軽量データベースならH2がお勧め

世の中でデータベースというと、大きなサイトで膨大な量のデータを管理するものと思われがちだけど、実は「そんな仰々しいものでなくて良いから、手っ取り早く簡単にデータベースを使いたい」というニーズも意外に多い。そんなデータベースとしてお勧めなの…

MacBook Pro 15インチ(Early 2011)購入とIntel SSD 320換装

Mac

メインマシンとして3年ほど使用したMacBook Proを買い換えた。ハードウェア的はまだ充分に現役として使えるマシンだったけれど、ソフトウェアの開発者としては定期的に新しい機種に乗り換えて最新の技術動向にキャッチアップしておく必要があると思う。(と…

学ぶ方法をどうやって学ぶか?

その昔、社会人になって間もない頃、会社で机に向かってビジネス誌を読んでいる人がいた。自己啓発のためか、その雑誌を読むことがビジネスマンの常識なのかと思いつつ、なぜその雑誌を読むのか目的を聞いてみたところ、こんな答えが返ってきた。 この会社に…

開発現場の不満を取り除くのがリーダの仕事

ソフトウェア開発現場に種々の不満は尽きないけれど、そんな担当者の不平、不満、要望、要求を一つ一つ取り上げて対処し、決して無視しないのがリーダの大切な仕事ではないかと思う。担当者が快適に、しかも気分良く仕事を進められるからこそ、チームとして…