仕事ノデキナイヤツ

らくがき
えぇ、ワシのことですw
最近、ワシの会社でも例に漏れず!景気の煽りを受けているわけでして、
変動費を抑えるために業務を効率化しろとかなり強く言われている。
まぁ、簡単に言えば残業をするなと言うことですわ。
そんな状況においてワシはというと、相変わらず残業が減らないわけです。
つまりは仕事の出来ない負け組ってやつですわ(´▽`*)
実際、「残業するな!」と言われ始めてから、他の連中は
定時になればそそくさと帰っていく。
ワシにしてみれば「マジで?・・・(゚Д゚;)」という感じ。
あいつらはそんなに仕事を効率的にこなしているのだろうか・・・
ま、ワシの会社には「裁量労働制(サービス残業制度?)」ってのがありまして、
いくら残業したところで給料は増えないんですけど。
じゃぁ、平日は遅くまで仕事をして、土日もどっちか出てまで
仕事すんだよ?って話ですよ。
なので、そこまでして多少なりとも頑張れる自分を分析してみた。
まず、ワシは金のためには仕事はしていない。
「この資格を取れば10万貰える。」と言われても、
必要性を感じないから頑張る気が起きないのです。
じゃぁ、会社のためか?
そんなわけない。
顧客のためか?
ちょっとはそう思う節はあるが、それは大義名分に過ぎない気がする。
じゃぁ、何ナンダ??
今のプロジェクトでも、以前のプロジェクトでも、
ワシはそのプロジェクトを成功させるために投入された。
(と思っている。もしかしたら、思わされている、、のかもしれない)
じゃぁ、ワシにとってその成功とは何だった?
利益とかそういうことは正直考えてなかった。
ただ、目の前に立ち塞がる数々の技術的な問題を解決することに注力していた。
そして、それは今でも変わらない。いいか悪いかはわからん。
ITも物作ることの積み重ねである。動くものを作らないといけない。
顧客が納得いくものでなければ、それはただのゴミだ。
自分にとって問題(トラブル)を解決していくことは、正直好きだw
そのためだったら、頑張れる。
トラブル環境にここ数年身を置いていたせいか、臭いものに気がついてしまう。
自分でも嫌になってしまうぐらい、気がついてしまう。
そして、ほっとけない。
これって、予定されていた業務じゃないから、仕事量が増える。
つまり、残業することになる。って寸法だ(;´Д`)
今現在の結論としては
ワシは成功させるために自己啓発(残業?)しとるんじゃっ!
勝手にやらせてもらいますわ。
ってとこでしょうか。

OutlookのPSFファイル → Maildir形式

絶好調(?)Zimbra中なわけですが。
メールデータの移行で不正なメールが必要ってなもんで、
自宅PCのOutlookで受信しているメールで迷惑メールフォルダに
入っているSPAMを利用しようと考えました。
本来であれば実際のデータを使えればいいのでしょうけど、商用データを入手することは出来ません。
まぁ、当然といえば当然ですけど。
で、簡単にできるだろうと思っていたんですが、結構めんどい。
かなりどうでもいい話なので、適当に読み飛ばしてくださいw
流れとしては以下のようになります。

  1. PSTファイルをOutlookでインポート
  2. Outlook ExpressでOutlookよりメールデータをインポート
  3. OE2 — OutlookExpress-ToにてOutlook Expressのメールデータをmbox形式に変換。
  4. mbox2maildirを使用してmbox形式のデータをMaildir形式に変換

それぞれの処理について説明を少しだけ。
[1:PSTファイルをOutlookでインポート]
わざわざ家でExportしたのにまたインポートするはめになるとは。。
やり方は以下のページでご確認ください。
ファイルをインポートする – Outlook – Microsoft Office Online
[2:Outlook ExpressでOutlookよりメールデータをインポート]
Windows XPなのでOutlook Express 6でインポート。

  1. メニューの[ファイル]-[インポート]-[メッセージ]でインポートウィザードを起動
  2. Microsoft Outlookを選択し、次へをクリック
  3. プロファイルを選択し、次へをクリック
  4. インポートしたいフォルダを選択し、次へをクリック

以上でOutlookからOutlook Expressへのインポートが完了。
[3:OE2 — OutlookExpress-ToにてOutlook Expressのメールデータをmbox形式に変換。]
そういえば、このツールはOutlookからBeckyに移行するときにもお世話になったことを思い出しました。。
コレをダウンロードして解凍し、中にある「OE2.exe」を起動します。
変換元、変換形式(「UNIX mbox」を選択)、変換先を指定し、変換開始をクリック。
これでmbox形式のファイルが出来上がり。
[4:mbox2maildirを使用してmbox形式のデータをMaildir形式に変換]
このPerlのスクリプトをダウンロード。

mbox2maildir <mbox形式のファイル> <出力先フォルダ>

でMaildir形式のファイルの出来上がり。
話がそれるが、メールのヘッダーでToやFromといったものは必須ではありません。
なんで、たまにメーラーで宛先や送信先が空のメールが来ることがあるが、
あれはそういうこと。Toヘッダーがなくてもメールは送れる。
ま、そんなこともワシは知らんかったんだけどね (´ヘ`;)

プロジェクトの行く末

ども。まりおです。
ゴールデンウィークはとりあえずカレンダー通りには休ませてもらってます。
3月の中から毒饅頭プロジェクトに見事に参画してもう2ヶ月近くがたとうとしています。現在のプロジェクトの相手はZimbra。えぇ、Yahoo!が買収したグループウェアです。
設計部署に配属になってから、早4年近く。今のプロジェクトで4つ目です。ほんと、常に挑戦の連続でした。技術的にも自分がもっている能力を活かせることはほとんどなく、いつも知らないことばかりで、常に不安を抱えていました。ま、自分は追い込まれないと力を発揮できないのはわかっているから、ちょうどいいのかもしれないですけど (゚Д゚;)
そして、今回もそうです。常に相手のレベルは上がってきていましたが、今回の相手はマジでヤバイ(ユーザ数、1000万弱)。ほんとに自分がダメになっちまうかもなって思ってしまうほど。
だから、今回は目標を明確にしようと思う。
「全員、生還」
前のプロジェクトでは先輩を含め、2人がダメになってしまった。
そして、この目標は凄腕のPMであるワシの課長が以前のプロジェクトで掲げた目標の一つでもある。
今度こそはそんなことは起こしたくない。ただそれだけ。
なので、また暫くここの書くことは無いかもしれません。
ま、誰も見てないでしょうけどw
とりあえず、生きてますってことで♪
最後に最近の写真をいつものようにコラージュでヽ(´ー`)ノ
2009GWあたり

[.NET] WindowsMobile上のC#アプリのメモリリークを解決せよ!

先週、思いっきりハマッた話です。
そもそも、自分が直接かかわっていないプロジェクトでいきなり日曜に呼び出されて、うんぬんかんぬん・・・ま、そいういった愚痴は置いといてw
このプロジェクトではあるWindowsMobile端末を使用しており、その上で動作する.NET(言語はC#)のアプリケーションにてメモリリークが発生しており、運用上使い物にならないレベルということだった。問題はあるフォームを「ShowDialog()」で開いて閉じてを繰り返すだけで、50KBずつリークするということはわかっていた。
何も確認せずにとりあえず、試してみてもらったのは以下の2つ。

  • メンバ変数でDataSetを使用しているようであれば、必ずDispos()すること。
  • フォームを閉じる際に、フォーム上のコントロールを全て明示的にDispose()すること。

しかし、上記の対応では効果が無かった(結果からすると、いい線をいっていたんだけど足りなかった・・・)。
“[.NET] WindowsMobile上のC#アプリのメモリリークを解決せよ!” の続きを読む

キャリアのわらしべ長者理論

ネーミングからすると何とも胡散臭い理論であるw
しかし、普段そんなこと考えて行動してなかったけど、
なるほどねぇっと思ったので。
とにもかくにも、下記の記事を読んでいただきたい。

※一部抜粋
「仕事はできるだけやりたくない」「同じ給料なら楽をしたい」では、コツコツやる人と数年後に大きな差がつきます。忙しいからと仕事を断らず、どんどん引き受けることで、小さな仕事の成果が信用を呼び、いつしか大きな仕事を任されるようになります。「わらしべ長者」の主人公のように成り上がりましょう。

どんな仕事でも関係するとは思います。自分の場合、仕事を頼まれたときは無理なことでも引き受けていくことで、自分の成長も実感できている。その結果、次から次へ難題を任されてきていたりもするので(正直、キツイし、今のところたまたまうまくいっているだけというオチもあるかもしれませんがw)、本理論がうまい表現だなぁっと思ったわけです。
ま、自分の性格上、追い込まれないと頑張らないし、力も発揮しないことを知っているので、自ら追い込むように仕向けるようにはしてきていました(ワシの座右の銘の一つが「苦労は買ってでもしろ」なので(´▽`*)アハハ)。これからもそうすると思います。だって、たいして苦労も必要のない仕事ばっかりしてても、自分の限界ギリギリのところで頑張る必要がないから、成長することって無いと思うんですよね。成長する必要ないのだとしたら、それって死んでるのとかわんなくねー?とも思ったり。
また、逃げて(ちょっと言い方が悪いかもしれませんが)ばかりいたら、後で自分が困ることになることも分かっているからかもしれません。逃げてしまう人は、それによって自分が困るということを認識してないような気がしてならないんだけど、どうなんでしょうね。
ビジネスをする上で当たり前のことですけど、信用とか信頼関係って重要なんですよね。だから、コツコツとこなして信用を得ていかないといけない。信用は1日で得られるようなもんじゃないですから。その代り、失うときは一瞬ですけどね。。ま、ずっと失敗してれば話は別ですけど結果がどうであれ、それに対してどういうプロセスを経ていたかは誰かが見てるもんですから全部が全部失うようなことはないと、信じたい。
とはいっても、たまにはボンヤリしたいもんだ(;´Д`)

ボロボロな1週間?

どうも、1週間以上ぶりです。ご無沙汰してます。。
いやぁ、この1週間は色々(?)ありすぎた (´ヘ`;)
■2/27(金)
プロジェクトAの顧客先の詳細設計レビュー。
■2/28(土)
普通に休み( ´ー`)フゥー...
■3/1(日)
プロジェクトBにてC#アプリでメモリリークが発生!緊急拉致。
■3/2(月)
午前:プロジェクトCの基本設計レビュー。
午後:自社にてメモリリーク対応
■3/3(火)
ひたすらメモリリーク対応
徹夜(ここで喉に違和感)
■3/4(水)
26時までかけてようやく、メモリリークで1回で50KBリークしていたのを1KB以下まで抑えることに成功。とりあえず、完全な処置ではないが運用上問題なさそうだということでこの場は解散。タクシーにて帰宅。
■3/5(木)
昼ぐらいにノンビリ出社するも、何かダルい。
プロジェクトCのバグの対応(切り分け、仕様確認、ドキュメント修正、バグ修正、テストすべてですけど・・・しかも、言語はC#、ActionScript(Flex)、VisualForce、ApexCodeと何でもござれな状態)。
夕方ぐらいになり寒気がしだし、座っているのもしんどくなる。
「これはオカシイ」と思い、定時後そそくさと退社し、帰宅後そのままダウン。。。
■3/6(金)
39度近い熱&頭痛に悶絶しながら、ずっと寝させてもらました。
■3/7(土)
熱も若干下がり、頭痛のだいぶ治まったのでだいぶ楽に。
でも、だいぶ休ませてもらいやした。
■3/8(日)
復活!!いやぁ、健康って幸せですね。ほんと。
そんな状況だったので、ここには何かをかける状態ではありませんでした。。
つーかさー、プロジェクトを3つも抱えてるって普通じゃないよね?誰か教えてください。
あと、メモリリークについては後日もう少し詳しく書いておくつもりです。

どくまんじゅう

なんと3日連続で投稿!数年前のペースに比べればまだまだでしょうが、
これでもかなりハイペース!!
ある時期、三鷹某所に常駐していたときだろうか、その常駐先ではインターネットに接続することができなかったので、ほんとにネットもテレビも何も見ていなかったのも手伝って、ここに書くこともなくなってしまっていた。
一旦離れてしまうと、いざ書こうと思っても、なんだか自分というアイデンティティがよくわからなくなり、文体(口調といったいいのか)が不自然になり、表現することが億劫になってしまっていた。それが最近ようやくなんとか自分らしさを取り戻し、こうやってまた書くようになった。
まぁ、切っ掛けは「ブログは履歴書だ」というLifeHackerあたりの記事を読んでからだけれども(´▽`*)アハハ
そんな話はどうでもよくて。タイトルの「毒饅頭」について。
世の中「うまい話にはわけがある」なんてことはよく聞きますが、まぁそんな意味あいです。
今日(正確には昨日)、仕事をしていたら本部長(通称:オヤジ)がにじり寄ってきた・・・
最近あまり話すことがなかったから、何かよからぬことがあると察知 (゚Д゚;)
ナニカイヤナヨカンガスル・・・
現状のワシの状況をまずか聞いてきたので、とりあえず伝える。
そして、とある顧客で仕事がとれちゃって、対応する人間を探しているというではないですか。
しかし、その仕事ってのが、技術的にはあるオープンソースの製品のカスタマイズ、顧客はあまりいい話は聞かない会社(色々とやらせてもらってはいるが)、んでもって期間も短い・・・
どれもこれもリスクじゃないですか!!!
世の中、不況といいますが、このようにハイリスク・ノーリターンな仕事ならそれなりにあるようです。。。
そんな仕事をワシの周りでは「どくまんじゅう」と呼んでいる次第であります。
よくよく考えると、ワシが設計にきてから現在3つ目のプロジェクトなんだけど、どれもこれも毒だった気がする。しかも、その毒はどんどん強くなってるような気がしてならない。
とりあえず、「心に止めといて」と言ってオヤジは去っていった。。。
ちょっと前につけたコメントで「4月から無職だ」と書いたけど、今日になってこんな話が舞い込んできたことを考えると不思議でもあり、ありがたい話ではある。「どくまんじゅう」でも食えるだけマシなのかもしれない(ほんとにマシかどうかわかったもんじゃないけど)。しかしながら、オヤジのどこからともなく錬金術のごとく仕事を探してくる手腕には、恐れ入るばかりである。

[Salesforce.com] FlexでSandboxに対して接続してDebugするには?

さっき恥ずかしながら、一人ではまっており解決したので情報を共有しておこうと思います。。。
まず、SFDCに対してFlexで接続するためには以下のページを参考にしてください。

んでもって、わかりやすいように上記のページのコードをそのまま引用させていただきます。。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:salesforce="com.salesforce.*"
layout="absolute"
applicationComplete="login()" >
<mx:Script>
<![CDATA[
import com.salesforce.*;
import com.salesforce.events.*;
import com.salesforce.objects.*;
import com.salesforce.results.*;

private function login():void {
var lr:LoginRequest = new LoginRequest({
server_url : Application.application.parameters.server_url,
session_id : Application.application.parameters.session_id,
// username : 'admin@demo.com', // <-- put your username here when connecting from local app
// password : 'mypassword1234', // <-- put your password here when connection from local app
callback : new AsyncResponder(sayHello)
});
conn.login(lr);
}

private function sayHello(result:Object):void {
conn.getUserInfo(new AsyncResponder(function(userInfo:Object):void {
message.text = "こんにちは、" + userInfo.userFullName;
}));
}
]]>
</mx:Script>

<salesforce:Connection id="conn" />

<mx:Label id="message" x="10" y="10" fontSize="32" color="#FFFFFF" text=""/>
</mx:Application>

このままの状態でloginメソッドの「username」と「password」にSandboxのアカウントに置き換えてデバッグ実行するとログインに失敗します。
じゃぁ、どうすんの?というと「」とありますが、こいつを以下のように書き換えてください。

<salesforce:Connection id=”conn” serverUrl=”https://test.salesforce.com/services/Soap/u/14.0″ />

これでSandboxに対して接続できるようになります。ま、当たり前なんでしょうけど。
ちょっとはまったんで・・・ね(;´Д`)

[Salesforce.com] オブジェクトの入力規則をApexコードの処理では無視したい。

直近でどうしようか悩んでいた話。
正直、こういうことをやる必要があるお客さんはいないと思いますけど・・・。
やりたいことは以下ののようなこと。
[要望]
取引先のレコードで特定の項目が設定されていた場合、システム管理者以外のユーザが当該レコードを更新しようとすると更新できなくするという入力規則が設定されています。しかし、別の画面(VisualForce)にて取引先のデータを更新する場合には、ユーザのアクセス権およびプロファイルに関係なく取引先レコードを更新させたい。
“[Salesforce.com] オブジェクトの入力規則をApexコードの処理では無視したい。” の続きを読む

USBドライバをインストールせよ!

UBSのドライバなんぞ、簡単にインストールできんじゃんよ!と思われることでしょう。
しかし、とある顧客の設置展開にて問題が発生する・・・
そして、その白刃の矢がワシ(多少暇&元々MS製品の技術部門にいたため?)のほうへ・・・・・・
まず、最初に断っておきますが、本内容にて至った解決方法は正しいとは限りません。かなり、無理やりに実現しています。また、他にいい方法もあると思います。もっといい方法があれば、ぜひお教え願います。
[ミッション]


あるUSBのデバイスを全国に展開するということで、通常であればそんなものデバイスを接続してもらってドライバをインストールすれば済む話ではあるが。。。しかし、今回のデバイスのドライバはMicrosoftによる署名がないため、Administrator権限にてインストールする必要がある。追い討ちをかけるように、全国に散らばる端末を利用するユーザにはローカルのAdministrator権限がないため、ドライバのインストールができない。ユーザにAdministratorのパスワードは教えたくない(まぁ、当然)。
尚、顧客環境はWindowsのActiveDirectory(以下、AD)で管理されており、ファイルを配布しインストールさせる仕掛けも存在する。
“USBドライバをインストールせよ!” の続きを読む