お仕事募集中 ― 2007年12月02日 22時42分30秒
今契約しているお客さんが12月で契約が切れるので現在求職中です。 C#の仕事ってどのくらいあるんでしょうか。
スカウト可能性診断には今スカウトの可能性の高い言語としてC#が上げられています。 .NETが出た頃はまだC#やってるところなんてほとんどなくて仕方なしにVBとかやってたんですが、今はC#やってるところも結構あるんでしょうか。
今いくつかC#やってる会社で良さそうなところを受けています。最近は大手でも悲惨な環境で開発してるってところも多いですから中小が中心です。 中小でもさがせば社内開発でやってるところもあるもんですね。
昔長机にパイプ椅子といった典型的な悲惨な環境で腰を痛めてしまったので椅子や机などの環境は特に重視してます。
ブラック会社に勤めてるんだが、もう俺は限界かもしれないというスレがあって、同じ業界にいるものとして興味深く読んでいます。精神的、肉体的に厳しい状況で働いている開発者はたくさんいると思います。 そういった人たちが少しでもいい環境で働ける時代になってほしいと思います。
仕事が見つかりました ― 2007年12月04日 21時26分24秒
来年の仕事が見つかりました。 面接を受けたのが2社ほどあるんですがどちらも内定をもらえそうです。
Microsoft IT Security Award 2008 ― 2007年12月05日 23時49分46秒
クイズに答えると商品がもらえるキャンペーンですね。
しかも全問正解すると抽選で表彰式に招待してもらえるとか。
私も参加してみましたが結構難しいです。セキュリティ関連の技術用語や正しいセキュリティ対策方法などプレゼントキャンペーンではふつうはないくらい難しい問題がたくさん出ていました。
結局3部門全問正解するのに1時間以上かかりました。
PowerSetからのメール ― 2007年12月06日 23時21分48秒
Powerlabのコミュニティにあなたを招待します。というような内容のメールだったのですが、Powersetなるところに登録した覚えはないんですよね。
スパムかと思って調べたらGoogle対抗といわれているアメリカでは有名な会社なんですね。
どう対処していいのか困りました。
おまかせ白色申告 ― 2007年12月06日 23時29分29秒
フリーで仕事している技術者はそろそろ申告のことが気になる季節です。 私は今年初めて確定申告をするため、いろいろなソフトを調べてみたところ無料で良さそうなソフトをみつけました。
ここのソフトは必要事項を入力すれば申告書類を自動的に作ってくれます。 印刷すればそのまま提出できるのですごく便利です。自信がない人は日々の記帳から面倒を見てくれるような有料のソフトがいいかと思いますが、きちんと理解している人はこのソフトのようにシンプルなものを使う方がいいでしょう。
Windowsサービスから指定したユーザーでプロセスを起動する ― 2007年12月11日 12時45分29秒
最近はWindowsサービスのプログラムを作成しています。 その中でWindowsサービスからユーザーを指定してEXEを実行するという仕様があるのですが、それがうまくいかなくて困っています。 .NETのProcessクラスを使用してもうまくいかないので、Win32APIのCreateProcessWithLogonWを使用して実装してみましたがアプリケーションが正しく初期化されていませんというようなメッセージが出てうまくいきません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=32959&forum=7&7
このサイトにあるようにもっと複雑な処理をしないとサービスからプロセスを起動するのは無理なんでしょうか。
追記
解決しました。詳細は以下のリンクへ。
S2DAOの外だしSQLでLIKE構文を使う(SQLServer版) ― 2007年12月12日 09時56分48秒
今の仕事ではORマッピングとしてS2DAO.NETやDBFluteを使用しています。
その中で外だしSQLの書き方に毎回苦労します。 S2DAOは複雑なSQLを外だしSQLとして記述できるのですが、その文法には一定のルールがあります。リファレンスのように全ての記述方法がまとまったWebサイトがないので、ちょっとこった使い方をしようとすると大変です。 Webで検索して同じようなところではまった人のサイトをさがすしかありません。
Like構文もその一つです。外だしSQLでLikeを使うには以下のようにします。
testTable.testColumn like /*ab.ArtistName*/'' || '%'
ただしこれはOracleでのみ通用する書き方で、SQLServerでは以下のようになります。
testTable.testColumn like /*ab.ArtistName*/'' + '%'
今回のプロジェクトでWebで検索してもなかなかヒットしなかったのでメモしておきます。
書籍でもいいのでこういう細かい記述方法にまで言及したリファレンスのようなものがあればSeasarももっと普及するのではないかと思います。 せっかくいい物を作っているのにきちんとしたドキュメントがないためにそれほど普及していないのは残念です。
追記
LIKE構文でワイルドカード文字の検索を行うにはESCAPEを使います。 たとえば、LIKE '_A'と指定した場合、_(アンダーバー)はワイルドカード文字なので'BA'や'ZA'なども検索対象として引っかかってしまいます。これを'_A'のデータのみ取得できるようにするには以下のように指定します。
testTable.testColumn like /*ab.ArtistName*/'' + '%' ESCAPE '/' ;
Windowsサービスから指定したユーザーでプロセスを起動する(解決編) ― 2007年12月14日 15時50分38秒
この前書いた「Windowsサービスから指定したユーザーでプロセスを起動する 」ですが、やっと解決しました。その方法は以下の通りです。
- ユーザーを指定してプロセスを実行するのにCreateProcessWithLogonWを使用する。
- CreateProcessWithLogonWの引数dwLogonFlagsにはLOGON_WITH_PROFILEを使用する。
- CreateProcessWithLogonWの引数のSTARTUPINFOに次のように指定する。
startInfo.lpDesktop = "winsta0\\default";
CreateProcessWithLogonW自体の使い方については検索すればいろいろ出てくると思います。 とりあえずCodeProjectにサンプルコードが掲載されていたのでこれを見てください。
重要なのはlpDesktopに指定した"winsta0\\default"です。このうちwinstat0はステーション、defaultはデスクトップを指定する文字列です。 ステーションとはここを見ると詳しく解説されています。 簡単に言うとステーションとはユーザーごとに用意されたオブジェクトで、デスクトップはステーションに含まれるオブジェクトの内の1つで、表示画面をつかさどります。 Windowsサービスはふつうのアプリとは違う特殊なステーション・デスクトップ上で動作しているため、サービスから起動したアプリはその特殊なステーションを引き継いでしまいきちんと動作しない物と思われます。
冬休み ― 2007年12月24日 15時34分50秒
今の職場は今月で終わりなので最後に休暇を取りました。 今週はすべて休みにしたので正月も併せて13連休できることになります。
今年1年は夏休みもなしでがんばったので久しぶりの連続休暇です。 休みになったのでPS3を買ってBlueRayの映画を見ています。
やっぱり本物のハイビジョンはすごいですね。地デジ放送は2年前くらいから見ているのですがBlueRayの画質はそれを遙かに超えるものでした。 ただ調子に乗ってソフトを何本も買ってしまったのでかなりの金額を使ってしまいました。
AQUOS Pシリーズ購入予定 ― 2007年12月24日 15時58分40秒
私の現在使用している液晶はL885です。SharpのASVパネルを採用した目が疲れにくくていい液晶モニタです。
目に優しい液晶については下のリンクを見てください。
仕事柄モニターを見る時間が長いので目の疲れやすさにはかなり気を遣います。
L885を購入する前はDELLの2001FPを使用していました。UXGAの液晶が12万ということで当時としてはものすごく安い値段だったので購入したのですが、使っていると目の疲れや頭痛を感じるようになったので1ヶ月で売り払いました。
その後L885を購入し目の疲れは治ったのですが、L885や後継のL887も販売中止になってしまい、買い換えたくても買い換えできない状況になってしまいました。
来年から仕事場が変わるので、もし割り当てられた液晶モニタが目潰しパネルを採用したものだったらどうしようか悩んでいます。
そこで最近出たAQUOSのPシリーズを購入し、L885は会社に持って行こうかと考えています。
Pシリーズには白線問題という不具合があったのですが、どうやらファームウェアの更新で解消されたようです。
L887の販売中止を知ったときはどうしようかと思いましたが、Pシリーズが出てきて本当によかったです。