読者です 読者をやめる 読者になる 読者になる

いまだにユニットテストって受け入れられないんだろうな

色んな所で「テスト(ここではユニットテスト)を書かないのは小学生までだよねー」とか、もっと汚い言葉で言われたりするけど、いまだにうちのチームでは自分だけしか書かない現状が悩ましい。 Jenkinsさんが激おこになっても誰も何も反応しない。 もちろん、…

Java7 のObjectsクラス

Java7 になってtry-catch-resourceとかDiamond Operatorとか色々入ってきていますが、java.util.Objectsクラスが入って来ました。 比較するオブジェクトがnullのときに、ぬるぽガッってならないので便利ですね。JavaDocを見てると、equalsとdeepEqualsという…

Mongo2.4の全文検索

Qiitaにもポストしたんですがこちらにも記載。まだブログとQiitaとGistの使い分けが上手くできてない。みんなどうやって使い分けてるのだろうか? 何を検証する? 全文検索の内容/設定 → 下記参照 日本語の全文検索に対しては? → 未対応 性能検証 → 未検証 …

ユニットテストとJavaBeansのsetterの悩み

久しぶり(?)にJavaネタ。 昨日/今日とユニットテストを書いてて、悩んだというか飽きてました。理由はテストを実行するときにJavaBeansにデータをセットしてたのですが、これがめんどくさい。最初はEclipseの保管機能とかで書いてたのですが、時間が経つ…

gistテスト

gistのテストを兼ねて入れてみた。 あと、markdown記法のテストも。 hoge fuga

TEST

Express+MongoDBでのログ出力

Node.js入門で勉強中。Expressを使ったサンプルアプリを作っています。 そこで、express.logger()ミドルウェアの説明が乗っていたのですが、DB(MongoDB)に格納する事もできるらしいのでやってみた。 ちなみに性能検証はしてない。バージョンとかはそれぞれ下…

vi + iterm2でcopy & yank

普段はmacvim-kaoriyaを使ってるのですが、最近iTerm2+viを使うケースが多くなってきました。 node.jsを勉強してると、iTerm2で画面を上下分割して上でコーディング、下でデバッグしたりすることが多いのです。この状態で他のエディタなどからcopyしたり,yan…

現在日付を含めたコードのテスト

こんなレガシーコードがありました。現在日付がちゃんと設定されているかテストしたいんですがどうしたもんか… テストコード書きやがれ。 import java.util.Date; public class Hoge { // テスト対象 public HogeBean execute() { HogeBean bean = new HogeB…

インドネシア冒険記〜3ヶ月目〜

会社都合で帰国する事になりましたので、ここで終わりです。 今後のためまとめておきます。 なお、俺が見てるのはジャカルタのごく一部なので他は知りません 総括 海外は修学旅行&社員旅行でしか行ったことがなかったので、 初めての海外がここで本当によか…

WebSocketのお勉強

今日はWebSocketです。基本はドキュメントを読んで組んでいけばOKなんですが、node v0.8.14で動かすとエラーが出ました. Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. at Function.Module._…

EventEmitter

今日はEventEmitterです。 JQueryとかでイベントリスナーを使ったことがあったので概要はわかりました。 EventEmitterインスタンスにあるemitファンクションでイベントを発火させる。 EventEmitterインスタンスのonでイベントを定義 完全なコードはこちら va…

追記

コメントで id:Jxck さんに教えていただいたように、emitter.onはリスナー配列に登録するだけなので、登録されていなければ、実行されません。 emitter.onのところ全然読んでなかった…恥ずかしいなぁ。 そして、前にJavaScriptのイベントリスナーをちょっと…

勉強始めました

日本にいる時からJavaScriptを勉強していたのですが、バタバタしてたのでやめてました。 で、1週間ほどまとめて時間が取れそうなので、node.jsハンズオンでちょっとお勉強。インストールは終わってるので、まずは1ファイルのダウンロードというのを作ってい…

インドネシア生活2ヶ月経過

早いもので2ヶ月経過しました。 今月は仕事や生活で色々忙しかったですが、それなりに充実しています。 生活 洗濯機がかれこれ1週間以上直りません。 OfficeManagementに連絡しても、部屋を紹介してくれたエージェントに連絡しても直りません。 目下の問題は…

インドネシア生活約1ヶ月経過

とりあえず(本当にとりあえず)生きてます。 今日のネタはインターネット/PC/携帯周りです。

インドネシア赴任 〜最初の1週間〜

インドネシア(ジャカルタ)に来てから1週間ほど経過しています。 とりあえず感想を。 ご飯うまい 正直ご飯まずいだろうと思っていました。 まずここでつまずくかなと思っていたのですが、全然うまかった。 到着2日目に屋台でナシゴレンも食べましたが、これも…

インドネシア赴任 〜旅立ちまで〜

エンジニアがインドネシアに行く時にこのへん注意しておきなよーということをまとめておきます。 (8〜9割他の人でも同じですが)ちなみに今回は、 1.半年以上の滞在(最初の1週間はホテルでそのあとは部屋を借ります) 2.会社の仕事でいく 3.英語全然できま…

しばらくインドネシア暮らしです

仕事の都合上、しばらくインドネシア暮らしになりました。 ここではほぼ初めて海外旅行をする(社員旅行程度しかない)私の日々を綴っていきたいと思います。 明日から家探しをするので、1週間は同僚とホテル暮らしとなりました。出発準備などはまた別途書こう

おつかれさま

常日頃お世話になっている友人から8年前にもらったバッグですが、この度引退することになりました。頑丈で、雑誌とか入れやすく、ポケットもおおく、昔にしては珍しい衝撃吸収材付きの素晴らしいやつです。(PCを入れるとき用かなと勝手に理解)今もどこでどう…

Varnishを使ってみる

仕事でHTTPアクセラレータであるVarnishを使ってみようぜ!ということになったので、使ってみた時のインストール手順とか感想などをメモ。ちなみにSquidとか使ったこともないです。絶対スキル不足だと思うんだが、よく転職できたな…俺。 感想 Varnishの動き…

感謝と激励。そして尊敬

恥ずかしいので酔ってる間に書く。今日は会社の月次締め飲み会だった。来月から入社以来一緒に仕事してたプロデューサーが異動するということでその送別会も兼ねて。半年ほど一緒に仕事して、このプロデューサー、チームだから半年頑張れた。サービスインの…

ECMAScript勉強会に参加してきました

ここ半年今まで以上に、MongoDBだったりFacebookAPI、JQueryを使っているので、JavaScriptにはまっています。IEでテストするとFirefox,Chromeで動いたコードが全く動かない駄々っ子ぷりに最後は怒りを覚えていましたが、最近はかわいくなってきました。そこ…

mongosのキャッシュクリア

MongoDBでマスタを入れるときに特定のShardに入れたいときがあります。例えば、マスタ系のデータはすべてShard1に寄せて、トランザクション系のデータはすべてのシャードに分けるとか。 そういう時には、 use admin; // testMaster3コレクションをShardColle…

mongosのキャッシュクリア

MongoDBでマスタを入れるときに特定のShardに入れたいときがあります。例えば、マスタ系のデータはすべてShard1に寄せて、トランザクション系のデータはすべてのシャードに分けるとか。 そういう時には、 use admin; // testMaster3コレクションをShardColle…

iOS5.1を入れてみました

今朝、iOS5.1が出ました。バッテリー問題の解決とかがあったので、これは是非!と思って入れてみました。 そしたらご覧の有様だよ!!! iOS5.1にアップデート失敗…データ全部初期化→icloudから復旧→"iPhoneを使う"を押すと再起動→最初に戻る。完全に詰まっ…

ReplicaSetで遊ぶ

MongoDBのSharding機能で遊ぶ - 個人的なまとめで、Shardingを試したので、今度はRelipcaSetで遊んでみました。 構成は以下のようにしました。Shardingのときとポート番号などを変えているのはわかりやすくするためです。 図を見れば一目瞭然ですが、こんな…

ReplicaSetで遊ぶ

MongoDBのSharding機能で遊ぶ - hachiのブログで、Shardingを試したので、今度はRelipcaSetで遊んでみました。 構成は以下のようにしました。Shardingのときとポート番号などを変えているのはわかりやすくするためです。 図を見れば一目瞭然ですが、こんな変…

MongoDBのSharding機能で遊ぶ

MongoDBを使っているので、自分でも組めなければと思い勉強中。オライリーでスケーリングMongoDBが電子書籍で売っていたので迷わず購入。 とりあえずはReplicaSetをせずに1台のSharding構成でいってみましょう。まず、Shardingというのはなにか?というと デ…

MongoDBのSharding機能で遊ぶ

MongoDBを使っているので、自分でも組めなければと思い勉強中。オライリーでスケーリングMongoDBが電子書籍で売っていたので迷わず購入。 とりあえずはReplicaSetをせずに1台のSharding構成でいってみましょう。まず、Shardingというのはなにか?というと デ…

生活のために働くのはつまらないのか?

IT

twitterでつぶやいてみたけど、書ききれなかったのでブログに。 なんか寝れなかったし。SEとWebエンジニアを区別する理由がよくわからない。言葉のあや?RT @Etype_mag [特集:SEが消える 1/3] 富士通・組織人事改革担当者「SEにはWebエンジニアのような創造…

エンジニアサポート新年会2012 CROSSに参加してきました

「ブログに書くまでが新年会です」ということなので、1日経っても俺の新年会は終わってません。1,000人のエンジニアとWebの未来を語ろうということで開催されたわけですが、かなりすごかったです。会場がかなり広かったのですが、それが埋まるほどの人と眼鏡…

特許庁情報システムに関する調査委員会の資料がよくわからん

「費やした55億円、水の泡に 特許庁がシステム開発中断」(朝日新聞)で55億円という巨額のお金が消えていったので、少し特許庁のHPを見てたら、2010年8月頃に「特許庁情報システムに関する調査委員会」からの調査報告書の提出について」ということで、プ…

本当の凡人が(少しでも長く)生き残るには

togetterでまとめられていた 仕事が減少する日本の中で、特異な才能を持たない人は、「スキルの組合わせ」でスペシャリストを目指すべきだと思う の記事が非常に納得したので、感想がてらメモ。 すごいプログラミング技術とか、最先端の金融知識とかとか持っ…

[java][Facebook] Facebookアプリからファイルをアップロードする

Facebookアプリ(ゲーム)から画像を上げられると楽しくなるよね。ということで作りました。 Javaで作っているのでFacebookとの連携はRestFBを使ってます。Controllerクラス @RequestMapping(value = "/photo", method = RequestMethod.POST) public @Respon…

[MongoDB] MongoDB Tokyo 2012に参加してきました。

2012/01/18に開催されたMongoDB Tokyoに参加してきました。 @matsukazが開発事例として紹介したサービスのメンバーとして参加しており、そこで知ったMongoDBに興味がありました。ただ、私自身がMongoDBを使い始めて3〜4ヶ月ぐらいしか経っておらず「まだMong…

[JavaScript] jQueryの$.proxy

JavaScriptでcallback処理で呼元のthisを参照したい時がよくあります。 例えば、下のような感じです。 var Hoge = function(name){ this.name = name; }; Hoge.prototype.method = function(){ var url = ''; var param = {}; $.post(url, param, function(d…

JavaのSplit処理

今更感がありますが、備忘録のため。 Javaのsplitの処理は public String[] split(String regex, int limit) { return Pattern.compile(regex).split(this, limit); } となっているので、splitの引数は正規表現の特殊文字がくる場合はエスケープする必要があ…

2012年になりました。

昨年のことは、こちらに書いてるので、そちらで。 今年のテーマは 倒れるときは前のめり やり過ぎぐらいがちょうどいい で行こうかなと思います。 「倒れるな」というツッコミは甘んじて受けます。 ゆりかごから墓場までできるエンジニアを目指しているので…

はてなブログbeta

作ってみた

2011年の振り返り

明石家サンタをみる前に振り返る。今年は本当にいろいろなことがありすぎました。 おそらく、東京に出てきたとき以上に激動の1年でした。 激動だったからこそ、反省することが多かった1年でもありました。 仕事を始めて満足する年はないのですが、今年も満足…

やくさんが横浜ベイスターズファンをやめたそうな。

※ 仕事から帰ってる途中で、記事を見つけてほぼ殴り書き状態です。ソースはここ。 彼がファンを辞めること自体はどうでもいいんだけど。日刊スポーツの記事を引用すると以下のとおり。 「あの会社にだけは買ってほしくなかった。業種がダメ。モバイルゲーム…

iPhone4Sを買いました

社内で10分ぐらいわ〜っと騒がれて、まるで潮が引くようにいなくなりました。 流石ジョブズ。あなたの遺作はやっぱり大注目でしたよ。通話設定まではされていたのですが、メールの設定をしようとしたら、説明資料がないっ!! ひでぇ!ビッ◯カメラ!!という…

特定フィールドの一括更新方法

仕事中にターミナル上からMongoをいじれなかったので家で試す。 うむ、悔しい。 やりたいこと 条件を満たすコレクションの一部のフィールドを一括で更新する。 RDBMSとの違い 今までは update テーブル名 set 列名1 = 値1, 列名2 = 値2 where 列名 = 条件 と…

SpringMVCのエラー系・異常系画面遷移

社内の人が研修でSpringMVCやってるらしいので、流行りに乗ってやってみました。といっても、やることと 1. システム例外発生時のエラー画面遷移 2. DBからデータを検索してきたときに、404エラーへ飛ばす。 の2本でお送りします。ソースはGitHub上へここへ…

Google+ APIで遊んでみた。

JavaScriptで遊んでみた JavaScript編です。Javaよりも作るのが簡単でした。 Ajax通信をするので、JQueryがあると楽です。動きの流れとしては一般的なWebサービス同様に 1. クライアントからhttp通信 2. GoogleがJson形式でデータを返す 3. 戻りデータを加工…

IT技術者として鎖国してないだろうか?

ここ2〜3年思ってたのが、IT技術者として鎖国している人が多くなっていないか?自分は鎖国していないか?と 新しい、これまでと違うものから目を背けていないか目を背けていないかとと感じていました。 別にそれをブログとかで発信しなくてもよくて、仕事と…

Google+ APIで遊んでみた

先日、Google+ APIが公開されていました。 クライアント言語であるJavaScriptと、サーバサイド側のJava,PHPがありましたので、 JavaScriptとJavaでそれぞれ遊んでみました。プログラムを組むまでの手順としては、下のような感じです。 1. Googleのアカウント…

テイルズ オブ エクシリア(TOX)をやってみた。

今、8時間ぐらいゆっくりプレイ中。 TOP(SFC版)、TODをやってきて大分期間があいたけど、PS3を持ってたから買ってみました。 今年で15周年らしいし。 まだ序盤なのでシナリオについては、面白いかどうかは判断できないのですが、グラフィックとかはやっぱり…

元SIerの立場から。

ほとんど同意で自動化できるものは自動化すべきだと思う。 ただ、DBのCRUDやエラーチェックも含めて自動化したほうがいいのでは?と思う。 もちろん自動生成されたコードにある程度の無駄なコードが入っているのは百も承知。 ただ、その無駄なコードがアプリ…