プログラミング アーカイブ
2008年04月17日
例外処理と給料
給与改定で大変なことになっていますが元気です。給料分は頑張るよっ
さて、聞いてくださいよ。Javaバリバリ書けますよと言っている10月入社の新人(大陸の人)が例外処理もトランザクションも変数スコープもグチャグチャなコードを書いてきたわけですがどうしたらいいもんですか。
情報工専攻と聞いていたので油断していたら大変なことに。
私が新人の時はもっとまともだった気もするし、同期も変なコードは書いてなかった気がするけどなぁ…。
以下教訓。
- その変数・メソッド・クラスは何する役割?
- その変数・メソッド・クラスの名前は適切?
- その変数・メソッド・クラスの生存期間(スコープ)は?
- 例外処理はメッセージ出力のための処理ではないよ。
- メッセージ出力クラス内で例外起きたら本来のメッセージほっぽっておくって…
- つーか、ストアドでデータをInsertしたTempテーブルみれないからってCommitすんな!(トランザクションに参加すれば参照できますよ…)
- フィールドをPublicにすんのやめれ…
Publicメソッドのみに300行ほどコードをべた書きして「保守性?いいですよ」とかしちゃだめですよー私の怒りが有頂天ですよー。
2008年02月13日
2007年09月15日
マシン語ってどんな感じか知りたくなった方へ
shi3zの日記 - マシン語ってどんな感じか知りたくなった方へ
はてさて、現代のSEにとってマシン語は必要か否かという話ですが、業界入って2年目のぺーぺーPGとしましては、"知っておいても損はしないけど必須じゃないよ派"です。
確かにCPU・メモリの仕組みを学ぶマシン語はプログラムをする上で大切なことだとは思いますが、それを学ぶにはある程度ステップが必要で(少なくとも、アセンブラ、C言語は必須かと)、現実問題として新人PGがそれらを踏まえつつ、.NETやJAVA、スクリプト言語を覚えていくのは無理だとおもいます。新人文系PGだとVB覚えるのも精一杯ですからね。
一皮むけるためのステップとしてはありだと思います。私もちょっと復習してみようかなと思ったり。マシン語は10年以上触ってないので忘れたよ…
文字列を集計的に結合するには
数値は SUM() 関数で集計、文字列を集計的に結合するには( Transact-SQL で aggregate concatenation )
30要素のマスタから出力フラグの要素を取り出して、それに対するデータを読み出して、最大25カラムの帳票を出力する。帳票出力は整形の都合上1カラムに文字列結合する。
すべてのカラムに対して30回づつ条件判断をさせるので、明らかにパフォーマンスが悪い。(平均15ms*25カラム)。帳票の行数は数千行なので、とんでもない。SQLのパフォーマンスをよくしたいとか言われてヒントになりそうなモノをメモ
テーブル変数に出力フラグの立っているマスタ要素をINSERTして、CASE式でデータを関連づける(1要素1行)。んで、テーブル変数の行数分だけ整形して出力すればOK?
マスタ要素とデータを関連づけるループがパフォーマンスに影響でそうかも…。コード書いてみないと何ともできんが、5000行を超えるストアドに手を入れるのは泣きそうね。
2007年08月26日
2006年11月01日
第1回 VSUG アカデミー for Students (11月10日)
第1回 VSUG アカデミー for Students (11月10日)
プログラミングに興味がある学生さんは是非。SEになるかもしれない…と思っている人とかも是非。
これから就活する大学3年生におすすめでしょうか。一線で活躍するSEが講演してくれます。
ちょっと時間が遅いかもしれませんけどもー。
プログラマが今まで「これはすげえ」と思ったゲーム
私はテトリス。
BASICで100行程度で実現できたわけで、いまでもすげぇなーとか思ってます。
あーあと、ベーマガに載ってたBASICで2D格ゲーもすごいと思った。当時はそもそも理解できなかったが…。
PC8001のインベーダーもすごかったな。フル機械語で書かれてて、BASICの何倍もの速度がでてた。BASICで書くと、キーを入力してから1拍おいて自機が動く感じなんですが、機械語は押した瞬間に動いてねー。PC8001は音楽機能なかったのに、BEEPで無理矢理音流してたりとがんばってたなぁ。
PC9801だとSuperDepthでしょうか。無料でこんなソフト出してていいのかよとか思った。当時のBio100%はすごかったよね。
PC系ばっかの思い出しかないなー。コンシューマーはあんまりプレイしてないからか。
2006年05月18日
.NETでXMLを扱う
せっかく研修でお行儀のいいプログラミングを習ってるんだから、少しは自分からやらないとね。
ということで、.NET Framework2.0でXMLを扱うことにします。
なんで?それはね、BulletMLで遊びたいからさ。
応用すればRSSリーダーも簡単にできそう。
使用言語はVisualBasic 2005。理由。楽だから。研修の復習にもなるし。
今日はXML文書を読み書きするプログラムの作成をしてみる。
