エンジニア的なネタを毎週書くブログ

東京でWebサービスの開発をしています 【英語版やってみました】http://taichiw-e.hatenablog.com/

XP祭りに参加してきました 2 LTした/LT聞いた #xpjug

俺も!LT 昨年に続いて今年も発表させていただきました。 エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT from Taichi Watanabe 自分の中では痛恨の失敗作…言いたいことを一つにまとめられていないのがずっと不安だったので…

XP祭り2015 に参加してきました 1 (講演・ワークショップ) #xpjug

今年もXP祭りに参加させていただきました! http://xpjug.com/xp2015/ 7月まで仕事もプライベートもバタバタだったのもあって、久しぶりにまともな勉強会に参加した感じ。 たくさん刺激を頂きました。 基調講演 XP lives, XP dies, XP lives again !! from M…

今日は、チーム9人全員で「プライベートメソッドのユニットテストは書くべきなのか? ディスカッションができた」記念日

今日はとても素敵な一日になりました。 私を含めたチームメンバー9人が、一つの技術的な話題に対して30分話し合う会を開けた日。 何より嬉しかったのは、この会そのものが、メンバー間でのやり取りからほぼ自然に出てきたことなんです。 回想:本当に「スモ…

チーム異動があって、「ふりかえり」が自分の中では一番大事だと気づいた話

2月の半ばに組織改編があり、新しいチームにリーダーとして異動しました。新しい環境で試行錯誤する中で、自分がチームビルディングにおいて大切に思っているものが見えてきたので、それを書き残しておきたいと思います。数回に分けて書く予定ですが、そう宣…

テストを整備するよりもアーキテクチャを変更するほうが効果が高そうと思った話

2月の半ばに、これまで3年弱携わらせてもらったプロダクト/チームを離れて、新しいプロダクトを担当することになりました。 プロダクト面での一番大きな違いは、これまでは主にデータ更新/参照系のAPI(HTTPでコールして、JSONとかXMLとか返す)ばかりを担…

CROSS2015 に参加してきました #cross2015

CROSS2015というイベントに参加してきました! パネルディスカッションに参加した! 今回の主目的は、パネルディスカッションへのパネラーとしての参加。旅行ECサイト各社に聞く成長の秘訣とこれから と題された、異色のパネルディスカッションに参加してき…

なんでアジャイルなんだっけ

グループの後輩が二人、James O. Coplien氏の認定スクラムマスター研修を受けてきました。 昨年私が受けた時と同様に、たくさんの刺激を受けて、いろんなことを考え、やりたいこと、悶々としていることがたくさん湧き出ている状態のようです。 当然のことな…

U+FFFF以上の文字ってなんや → サロゲートペアってなんや → Spring Web Services が言うことを聞きません! とかで一日潰れた話

表題のような感じなのですが、これまで理解が曖昧だったUnicodeとか何とかが今までよりわかったのでメモ。 尚、こちらのサイトを非常に参考にさせていただきました。 Unicodeについて コードポイントとは 文字コードとは 今日覚えた単語その一。Unicodeに限…

Javaでequalsを実装するとき -失敗するとcontainsが動かない-

hashCodeはもちろん実装しましょう。 で、 public class 俺のクラス { private String ore; public 俺のクラス (String ore) { this.ore = ore; } public boolean equals(俺のクラス o) { return ore.equals(o.getOre()); } ...} ってやったらダメ。一見まと…

org.junit.Assert.assertEquals って

中で比較してんのは equals じゃなくて == なのね…ただしStringだけはちゃんと比較してる模様。

XP祭り2014に参加してきました! -Agileってなんなんだろう が少しわかったお話- #xpjug

前の記事に続いて、XP祭りのレポートです。 Agile という ものにたいしてここ最近モヤモヤしていたものが、もやもやの輪郭が少し見えてきた という話をまとめます。 アジャイルを手放して得られたこと から XP祭り2014「アジャイルを手放して得られたこと」 …

XP祭り2014に参加してきました! -アーキテクチャとプロジェクトマネジメントが少しわかったお話- #xpjug

3年連続でXP祭りに参加してきました。 記憶が薄れないうちに早速レポートを。一気に書こうと思ったのですが、いろんな言いたいことが混ざってきたのでXP祭りのレポートらしく、イテレーティブに書いていこうと思います。 アジャイルを手放して得られたこと X…

更新系のAPIって難しい1 部分更新のはなし

勉強不足なのは承知のうえで、実務上困ってることとか考えていることを今日は書いてみたいと思います。 例えば以下の様なデータを取り扱うREST APIをつくろうとしたとします。 あるECサイトにおいて、商品の料金を取り扱うAPI 商品は既にDBに登録されていて…

Linux上で稼動するTomcatが使用しているスレッド数の調べ方

ls -l /proc/{Tomcatのプロセス番号}/task | wc -l でOK 参考:Linux上で稼動するTomcatが使用しているスレッド数は?

私がかつてTDDに対して誤解していた点

半年前のTDD Boot Campでの気付きだけど、改めて。※これを読んで、「いや、相変わらず誤解してるんですけどww」 と思われた方は是非ご指摘いただけると幸いです…。 1. 先にテストを書けばTDDなんでしょ?⇒リファクタこそがTDDの命! Red -> Green はまだ入…

Gitでローカルブランチを一斉に削除する with xargs

知らないうちに溜まってる、ローカルリポジトリ上のブランチのお掃除方法。こちらを参照。xargsというものを知らなかった私…。 マージ済みのブランチを削除 git branch --merged | grep -v '*' | xargs git branch -d マージ関係なく、問答無用で削除 git br…

Regional Scrum Gathering® Tokyo 2014 2日目基調講演 by Jutta Eckstein氏 #sgt2014

二日目の基調講演は、Jutta Eckstein(ユッタ・エクスタイン)さんによる、「組織にアジリティを取り入れる – どうすればアジャイルになれる?」でした。 「アジリティを取り入れる」というタイトルではありましたが、アジャイルはもちろん、組織内に何か新…

Regional Scrum Gathering® Tokyo 2014 「プログラマのためのScrum」 #sgt2014

本セッションでは、日本で唯一(!)の認定スクラムデベロッパー(Certification Scrum Developer)の資格をもつ、土肥さんから、認定スクラムデベロッパーの研修の紹介や、資格を取った後、CSDとしての活動について紹介がありました。(なお、土肥さんは認…

Regional Scrum Gathering® Tokyo 2014 : 1A-3 「Bing開発グループはどのようにして毎日リリースをしているのか」 #sgt2014

今年もRegional Scrum Gatheringに参加させて頂いています。 参加したセッションについてのレポートを書いていきたいと思います。まずは、マイクロソフトのヤマモトジン氏による、「Bing開発グループはどのようにして毎日リリースをしているのか」です。 2ヶ…

2013年振り返り

今年も一年、大変お世話になりました。 年末ということで、飲み会なども諸々ありましたが、そう言った場で、直接・間接的に一緒に仕事をしている人や、同じ会社・業界の様々な人と話すことができて、 改めて、素晴らしいメンバーや環境に囲まれてお仕事をさ…

GroovyでJUnit用のテストフィクスチャを宣言する を試してみたのだけど

結論から言うと、思ってたのとは違ったかも。 こちらの後半で触れたとおり、テストフィクスチャの外部セットアップをした場合、可読性があまりいけてないという問題を現在抱えておりまして、その解決法として、Groovyがよさそうだという事でTryしてみたいと…

リモートで消したブランチをローカルから見えないようにするには

Git

備忘録として残しておきます。 git remote prune origin http://qiita.com/nantekkotai/items/0ca7c9e850eff65aaf66より。

システムテスト自動化カンファレンスに参加してきました #stac2013

システムテスト自動化カンファレンスに参加してきました。 テストの自動化は昨年から私の大きなテーマの一つになっています。今の自分のチームではユニットテストについては随分整ってきた(まだまだやりたいことはありますが)ので、次はインテグレーション…

私、スクラムを分かってませんでした 〜Jim Coplien氏のScrum Master 研修を受けて 1〜

社内で、Jim Coplien氏による、2日間のスクラムマスターの研修を受けさせてもらう機会をいただきました。先週のJavaOneに続いて、会社からすごいお金と時間を出してもらってるなぁ…自分。 なかなかショッキングな内容も多く、整理するのに時間がかかりました…

JUnit実践入門 読書レポート Part1 & 第7章

ほぼ発売と同時に買ったにもかかわらず、ずっと積読本になっていた「JUnit実践入門」をようやく読んでいます。 ここ最近で、バグによるリリーストラブルがあったり、単体レベルのバグがQAでボロボロ出てきたりということがあったため、改めてテストコードの…

JavaOne2013 総括 : JavaOne2013 レポート6 #j1jp

まだ何件かセッションのレポートを上げる予定ですが、先に全体の総括を書かせていただきます。各セッションレポートはこちらから。 なぜ今回JavaOneに参加したか 今年の自分のテーマの一つが「技術力」。昨年はどちらかと言うと、アジャイルやスクラムがおも…

Application Server, 仁義なき戦い : JavaOne2013レポート5 #j1jp

Simon Maple氏による、「CON4117:The Adventurous Developer's Guide to Application Servers」のレポートです。 とりあえず中身の前に外見の感想 いきなり映画のオープニング風味のムービーで始まった本セッション。 会場からアンケートをとってその場で棒…

Java8 Lamda式 改めて。: JavaOne2013 レポート4 #j1jp

Venkat Subramaniam氏による、「Programing with Lambda Expressions in Java」のレポートです。 本セッションはライブコーディング形式で、従来のコードがどのようにLambda式に置き換わっていくのかを解説していました。既に知っている人にとっては特に目新…

初めてのOSGi with Bandtools

Building Modular Cloud Applications in Javaのスピンオフ記事です。 OSGiがなんだかプレゼンを聴いてもよくわからない。ググってみたけど、英語を読んでも日本語を読んでもよくわからない。具体例が全然無い。 じゃあ仕方ない、自分でいっちょやってみっか…

Building Modular Cloud Applications in Java : JavaOne2013 レポート3 #j1jp

Bert Ertman氏とPaul Bakker氏による「Building Modular Cloud Applications in Java」のレポートです。オランダの方の模様。 最近、PaaS上でのJavaアプリ開発に携わっているので、Cloudという単語に反応して聴きに行ったのですが、Modularityという単語や、…