エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

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

研修九、十日目

昨日、10回にわたった研修が終了しました。終了した感じがしません。もっと達成感というか、開放感というか、そういうのを感じるのかもしれないと思っていましたが、あまり実感がなく。要は集まっての研修が終わっただけで、研修で学んだことは今後も続いて…

配列のサイズ

C++

サイズだけ知りたいとき、この書き方は有効です。メモメモ。 int array_size = sizeof(int[10][20][30]);

研修六、七、八日目

さぼっているうちに、残り二回となってしまいました。前半は、まだまだずいぶんと先は長いなー、と思っていたのに、もう残り二回。年の瀬と相まってどことなくもの悲しげな感じさえしてきます。ま、実際は、研修終わってからが勝負なんですけどね。どれだけ…

研修五日目

すでに「いつの話だよ」と言われそうなほど間があいてしまいました。 研修があったのは18日の日曜日です。仕事が忙しかったり(言い訳)、体調が悪かったり(言い訳)、準備もままならないまま明日は次の研修です。 正直、疲れてたり身体が重かったりして挫けそ…

研修四日目

一昨日、四日目を終了。前回は研修を「思考のストレッチ」と書きましたが、それに加えて「思考の筋トレ」と思えてきました。思考でベンチプレスしているようなもの。 ようやく4回目、少しずつ余裕が出てきたことで、自分が何をやっているのか、何のためにや…

研修がキツイのは当たり前

研修が始まり、はや3週間。感想を書くたびにキツイと言ってきたものの。本当にキツイのは、研修で学んだことの実践の場、仕事の中にあることがわかってきました。言葉がよくありませんが、研修は所詮練習の場。日常の仕事の中が本番です。本番で力を発揮でき…

二面性列挙型

C++

#include <cassert> enum Youbi { Getsu, Ka, Sui, Moku, Kin, Do, Nichi }; enum DayOfWeek { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; class Dual { public: Dual() : value_(Getsu) {} explicit Dual(Youbi value) : value_(value) {} explicit Dual(DayOfWeek value</cassert>…

研修三日目

三日目終了。研修そのものに慣れてきたことと、不器用ながら準備して研修に臨めたことで、最初の2回よりは落ち着いていることができました。ただそれだけでなく、思考自体も前2回と違う感触も。届かなかったところに届く感触、曲がらなかったところが曲がる…

技術を磨くことも仕事のうち

オブジェクト倶楽部の2007年秋イベントが今夜ありました。初めての方向けということで今回わたしは不参加。代わりというわけではないものの、一緒に仕事をしていてこれらのイベントに参加したことがないという人に行ってもらいました(たぶん行ったはず)。 い…

研修二日目

昨日、無事二日目が終了。前回課題を決め、今回から本格的に意見を出し合い、それについていろいろと考える。始まってみると、前回以上に逃げ出したい。うまく最初の課題をこなせなかったという後ろめたさもあったんですが。議論が始まり実際に喋りはじめて…

研修一日目

自ら申し込んだ研修が昨日始まりました。研修といっても講義を聴くわけではなくて、参加者でお互いに課題を出し合い、それについて議論するスタイル。普段使ってない部分を使ったせいなのか、終わった頃には頭の奥の方で鈍い痛みが。帰宅してもどことなく頭…

アイデアを試す場所

先日から設計を改善するために着手してもらっているものの、進み方は今ひとつ芳しくなく。期限のある中でどこまでできるか分からないと、難しい顔をして悩んでいる。悩んでいる時間があるなら、その分を手を動かすことに傾ければもう少し進みがいいものを、…

故障した自動改札機は、開くか?閉じるか?

今日の朝は自動改札が故障。見事に沈黙してしまいました。自動改札自体の技術の話は詳しい人に任せて、朝のニュースを見て思ったことを。 「自動改札機は、故障したとき、自動的には開くのか、閉じるのか」 実際に自動改札機にそのような機能があるのかどう…

不安は人を保守的にする

先日、次の機種の開発に向けて、今あるプログラムの設計のマズイところを直します、と宣言していたプログラマが、今日はすっかりその勢いがなくなっていました。同僚と顔を突き合わせて難しい顔。なにを難しい顔をしているのか訊いてみると、次の機種で追加…

作り替えるリスク、作り替えないリスク

すでに各所で語り尽くされた感もありますが。シリーズ化した製品に合わせてソフトウェアも機能の変更/追加をしながら開発を進めていくと、最初の設計では思いもよらなかった変更が重なって、コードが劣化してしまいます。さて、次の製品開発に目を向けたとき…

主要部品としてのソフトウェア

組み込みの仕事をしていると、部品の変更で泣かされることがあります。周辺部品ならまだしも(それでもドライバを変更したりと労力は少なくないんですが)、主要な演算チップを「コスト削減」の名の下に変更されたときには本当に悲しくなります。その「コスト…

開発と研修

研修ということで、協力会社のエンジニアが入れ替わりに一日ほど開発の現場を離れています。さて、これは、開発に取ってプラスかマイナスか。 エンジニアにとって、研修に限らず、自らの技術を磨くことは必須なわけでして、それを妨げるようなことはしてはい…

書籍

平鍋さんのブログで紹介されていた「大野耐一の現場経営」が届きました。これから読みます。大野耐一の現場経営作者: 大野耐一出版社/メーカー: 日本能率協会マネジメントセンター発売日: 2001/05メディア: 単行本購入: 3人 クリック: 17回この商品を含むブ…

機能が価値なのではない

頭痛。二日酔い?昨夜は2杯しか飲んでないし…と思ったら、風邪だった模様。なんかふらふらするし。最近の製品開発で気になること。なにかと機能がてんこもり。短いサイクルで次々と製品開発をしている現状で、機能追加ばかりを繰り返すと何になるかというと、…

素人の傲り

最近、「プロフェッショナル進化論 「個人シンクタンク」の時代が始まる (PHPビジネス新書)」を読んでいます。しくじったと思ったのが、どこでこの本を見つけたか忘れてしまったこと。どっかで紹介されているのを見てamazonで購入したんですが…。しくじった…

文字列の反転

C++

どう抜く?のお題、文字列の反転。 うーん。まだ洗練しきれてない感じがする。 #include <iostream> #include <string> bool isLeadChar(std::string::value_type c) { unsigned char uc = c; return ((0x80u <= uc) && (uc <= 0x9fu)) || ((0xa1u <= uc) && (uc <= 0xfeu)); }</string></iostream>…

人は情報を呼吸している

今日の夕方。我ながら、なんだか元気ないなー、という気分。疲れることもしていないのになんでだろ?と思い返してみると。そうか、あまりに何もしていない。今日は極端に会話が少ない。 そんなときに思い出すのがこのことば。 人は情報を呼吸している 吸うだ…

温度差を縮める

管理者は焦りを感じてイライラしてるのに、メンバはのほほんとしている…という状況。今の職場でも似たような状況がちらほら。この温度差ってなんだろ、って話。こういうときの焦りやイライラというのは、どういうわけか伝わらないもので、だからよけいにイラ…

クミコミ・アジャイル・クミコミ・アジャイル…

XP祭りに参加したあたりから本格的に意識しはじめ、ここ数日頭から離れないのが「組み込みとアジャイル」。なんどかブログにも書いているように、今の仕事のソフト開発のサイクルがうまく回っていない感じがしていて仕方がありません。解消するための道具と…

XP祭り2007感想

「落ち着いてから書くとして」と言っておいて、すでに一週間経過。記憶が薄れつつ…。 覚えていることだけでもめもっとかないと。 アメリカでは、一般的とまではいかないもののアジャイルの認知が進んでいる。しかも開発の場からビジネスの場へシフトしている…

どれかと一致する・補遺

Haskellで書いてみたり… data Month = Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec deriving Eq foo m = if elem m [Jan, Mar, May, Jul, Aug, Oct, Dec] then putStrLn "odd month" else putStrLn "even month" Pascalで書いて…

Pyramid

C++

id:cxxさんのエントリ経由で面白そうなサイトを見つけました。わたしもひとつ…。http://ja.doukaku.org/52/ #include <iostream> #include <string> void pyramid(const std::string& src) { const int lineLength = src.size() * 2 - 1; std::string line(lineLength, ' '); f</string></iostream>…

どれかと一致する

C++

たくさん比較する必要があるときの、次のようなコードが好きでなくて。 enum Month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec }; void foo(Month month) { if( (month == Jan) || (month == Mar) || (month == May) || (month == Jul) …

XP祭り2007参戦

「XP祭り」に参戦してきました。 今回が初参戦なんですが…びっくりしました。熱い集まりです。参加費無料の分だけ当人たちの熱意だけで集まってしまったイベントかのよう。メインのプログラムについては落ち着いてから書くとして。もうひとつのメインイベン…

スペシャリストのいないプログラム

BLOB(肥満児)クラス増殖中!という、アンチパターンの典型にはまっているということなんですが。責務の分割がうまくできていない。今日気がついたんですが、最初からBLOBクラスを作ろうとしているわけではないんですよね。機能ややることが増えるたびに、さて…