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

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

SWE

VisualStudio Team services使ってみた

参考にした記事がこちら。≫ 全部無料⇒プライベートgitリポジトリ+CI環境+Issue管理。 VisualStudio Team servicesのススメ - のらぬこの日常を描くとりあえず、公式サイトに行って「はじめる」をクリックする。公式サイト ≫ Azure DevOps Services | Micros…

Eclipseのボタンが増えすぎたツールバーをカスタマイズする方法

SWE

Aptanaプラグインをインストールしたら、ツールバーのボタンが増えて1列に収まらなくなった。もともとツールバーはあまり使ってないから消してもいいかなーとか思ったけど、少しは使ってるので、ボタンを減らすことに。Eclipseのメニューバーで[Window]-[Cus…

Ack コマンドが便利すぎて grep 使わなくなりそうな件

Google+のストリームに流れてきたポストで初回されてたこのサイトに目がとまった。≫grepをよく使うプログラマはどう考えても乗り換えるべき新しいgrepコマンド「ack」:phpspot開発日誌Ackって、そんなに便利なのん?なんて思いつつ記事を読んでたら、開発者…

メニューなどの無効化するUI

SWE

前回のエントリでAndroidのメニューの一部を無効化する方法について書いたけど、結局これは使わないことにした。というのは、なぜ無効化されているのか理由が分からない可能性があると思ったから。 というわけで、メニューを無効化せずに、続きの処理ができ…

Eclipseでタブの切替

SWE

Eclipseを使ってて、いくつもタブを開いてると、タブを切り替えるのにいちいちマウスに手を伸ばさなくちゃいけなくてめんどいことこのうえない。 ショートカットキーが割り当てられてないのかと調べてみたら、Ctr+F6なんて情報があったけど、Macだと押してみ…

マイミクOK!機能とはなんですか?

以前、マイミクだった人がmixiを退会しちゃったんだけど、その人がまたmixiを再入会したというのを知った。そこで、ちょこっと探してみたところ、簡単にmixi上のその人のアカウントを見つけることができた。とりあえず、足あとはつけたから、本人がマイミク…

的確な命名はコストダウンにつながる

なんか結論をタイトルに書いただけですべて言い尽くしてしまった感があるんだけど、一応書く。 設計の質が向上する 設計時点でクラスの責務とかメソッドの処理内容などを検討するとか、レビューなんかでも議論されるんだろう。そのときに同時に、クラスやメ…

Webアプリケーション内のMVCアーキテクチャ

twitter とか(もちろん自分のTL)で MVC アーキテクチャのことが話題になってるみたいなので、ちょっとメモ程度のことを書いておく。 まず、ここで言及してるのは、MVC2アーキテクチャのことではないので念のため。Webアプリケーションは、一般的に三層アーキ…

ソースコードから特定の文字列を検索する

SWE

いまさらみたいなメモ。 作業ディレクトリを、ソースディレクトリツリーのトップに移動して、grep と find を組み合わせると、全ソースコードの中から特定の文字列を含む箇所を簡単に見つけられる。 $ cd $SRCDIR $ grep "検索文字列" `find . -name *.java …

バイナリとテキストの違い?の補足

SWE

テキストはバイナリの部分集合だから、「終わり」がはじめにわかるのが、バイナリーという命題が正しいとすれば、「終わり」がはじめにわかるのが、テキストという命題も正しくなければいけない。そうすると、次の…あれ? 「終わり」が来るまで「終わらない…

バイナリとテキストの違い?

SWE

テキストはバイナリの部分集合だから、 「終わり」がはじめにわかるのが、バイナリー。 「終わり」が来るまで「終わらない」のが、テキスト。 ≫404 Blog Not Found:バイナリとテキストの本当の違い これはウソ!「終わり」がはじめにわかるのは、そういうお…

高速化と可読性

SWE

メソッドを高速化するためのチューニングをする。そうすると、可読性が落ちる。悩ましいトレードオフ。例えばこんなの。 高速化する前のコード。 while (true) { int v1 = getV1(); int v2 = getV2(); if (v1 > 0 || v2 > 0) { break; } } 高速化したコード…

スルガ銀がIBM提訴、基幹システムの開発遅れで

SWE

関係者によると、スルガ銀行は2004年9月、銀行業務全般にかかわる基幹システムを刷新するため日本IBMとシステムの開発契約を結び、開発費用の一部はすでに日本IBMに支払っている。ところが、新システムの稼働を予定していた08年1月を過ぎても…

【会見詳報】ANA障害の原因判明、「世界4例のスイッチ故障がきっかけ、対応も遅れた」

SWE

mixiの日記に先に書いたけど、技術ネタなのでこちらで改めて書くことに。 まずmixiのニュースに書かれてた内容だけじゃ情報が不足してたので、以下のようなことを書いていた。 要するに、トラブルが発生したときに、ネットワーク障害を疑う人が現場にいなか…

マルチスレッドと Singleton パターン

mixi の Javaコミュニティのトピックス「業務で使うマルチスレッド」で延々と続いている話題。 マルチスレッドって業務システムで使わなきゃならないケースってあるでしょうか。 前から疑問に思っていて知人にも聞いてみたのですが、ないという答えばかりで…

システムは高い?

SWE

システムは高いか? 発注する側が期待している金額をA、開発する側が提示した金額をBとする。AとBの関係を分類すると、以下の5つがある。 A ≪ B A < B A = B A > B A ≫ B この中で「システムが高い」と言われる可能性があるのはどれかというと、数値的に…

システムは高い?

SWE

≫システムは高い 本当に高いと思うんならシステム導入なんてしなけりゃいいだけ。 顧客は、システムを欲しいのなら言われたとおりに支払うか、他社で見積もってもらえばいい。 いろいろ書きたいことがたくさんあるけど、忙しいので続きは後で。

fool proof

SWE

いろんなシステムを構築してきたけど、fool proof を求められることが多い。本当にそれでいいの? たしかに fool proof によって操作ミスなんかを防げるかもしれないけれど、すべてを fool proof でカバーすることは不可能。いや、可能かもしれんけど、その…

CTime の仕様変更

横の人が、VisualStudio2005 にアップグレードして古いソースをコンパイルしたら、CTime の仕様が変わったと言っている。 「VisualStudio2003だと 2005年-1月 とかできたのに、2005だとエラーになる。」 いや、それってもともとの仕様がおかしいんだってば。…

「見える化」セミナーレポートもどき

SWE

「見える化 はじめの一歩、そして二歩三歩」 ヌーラボでの実例紹介が参考になる。やっぱり生を見たいので、セミナー後に「見学させて〜」と社長に依頼したら快諾してくれた。(^^) 「現場力を高める見える化手法プロジェクトファシリテーション」 見える化ツ…

ネットワークドライブとサービス

とあるシステムでネットワークドライブを使った。そして、そのネットワークドライブに対して、サービスで動いているプログラムから、ファイルをコピーしようとした。すると、パスが見つからないとのエラーが出る。 そういえば、サービスはデフォルトではロー…

同じ情報を複数箇所に持たせないように気をつける

プログラムの試験をしていたときのこと。ある部分の設定を変更して動作確認したところ、設定が反映されていない不具合があった。画面上で確認する限りでは、新しい値に変更されているのに、動作を見ると、設定値を変更する前の値で動作していることが分かる…

日本Rubyカンファレンス 臨時打ち上げ via オレンジニュース

SWE

テストコードにはWhat, ソースコードにはHow, そして,ドキュメントにはWhyを書くんだよ! by 角谷さん なるほどー。確かにそのとおり。でも、ソースコードにもつい Why を書いたりするし、ドキュメントにも How を書く。いや、やっぱドキュメントって難しい…

過去に実験的に修正したコードを取り込む

1年以上前に実験的に修正して動作確認したコードがある。本当に実験的にやっただけのものだったので、CVS には入れてなく、ローカルのハードディスク上に置いてあった。それを新機能として追加することになった。 それらの Java ソースコードファイルは、そ…

セットアップに手間取り中

SWE

MySQL を使ったアプリケーションをセットアップしてるんだけど、セットアップ手順がまとまった資料がなくて、断片的な情報をたどりながらやってるもんで、無駄に手間取ってたり。 セットアップ手順があったとしても間違ってることろがあったり、情報が足りな…

マルチスレッドとファイルアクセス

SWE

プログラムがオーバーランのログを連続して大量に出力した。オーバーランが発生したのはログをファイルに出力するクラス。あちこちからログの記録をイベントとして受け付けて、それを順次ファイルに出力するだけのクラス。これを作ったころに Log4J があった…

マーチン・ファウラーの言葉を生で聞いてみよう

SWE

こういうのに全く参加できなくなってしまったのがとても残念。他の人たちのレポートを楽しみにしよう。。。

仕様書を書く日

SWE

仕様書を書いている途中で章節項の分け方が間違っていたことに気付いた。 1. 概要 全体はAとBとCからなる。 1.1 Aの概要 1.2 Bの概要 1.3 Cの概要 2. 詳細 2.1 Aの詳細 2.2 Bの詳細 2.3 Cの詳細 CはC1とC2とC3とC4からなる。 2.3.1 C1の詳細 2.3.2 C2の詳細 …

Needs Patch

SWE

CVS でステータスをチェックすると、 > cvs status Hoge.java File: Hoge.java Status: Needs Patch と出る。 でも、 > cvs diff Hoge.java しても、何も差分が出ない。 ???

ファイル生成に失敗する

SWE

ある日から突然ファイル生成に失敗するようになった。ファイルは作れているんだけど、サイズがゼロ。前の日まではきちんと生成できているし、その間で設定は何も(多分)変わってない。 原因としては何が考えられるんだろう?サイズゼロのファイルを作れている…