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

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

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

チームのKPTをちょっとだけ深堀すること

ふりかえりの手法としてKPTはメジャーな方法の一つだと思います。 私がチームでふりかえりする際に、ファシリテータとして少しだけ気を使っている事があります。 KやPは少しだけ掘り下げる メンバーに意見を挙げてもらうときに、「うすい」意見が出ることが…

【裏話】チームとプロダクトをぶっ壊した話 の 裏側 #DevLOVE

DevLOVEに初めて参加させていただき、初参加にも関わらず登壇させていただきました。 チームとプロダクトをぶっ壊した話 from Taichi Watanabe www.slideshare.net 今回こちらを発表させて頂くにあたっても、色々と「越境」したことや思ったことがありました…

XP祭りに参加してきました 2016 #xpjug

ろくにブログを書けていないので、つい数件前のエントリが去年のXP祭りについてです。こんにちは。今年も無事(?)参加させていただきました! 基調講演:牛尾剛さん これを聴いただけでも来てよかった! という内容でした。資料 https://docs.com/ushio-ts…

レガシーコードを JDK 8 でビルドしようとしたら "The system is out of resources" が出た話

今までJDK7でビルドされていたJavaプログラムをJDK8でビルドしようとしたところ、コンパイル時にこんなエラーが出ました。 The system is out of resources. Consult the following stack trace for details. java.lang.StackOverflowError at com.sun.tools…

Java Day Tokyo 2016 参加レポート2 マイクロサービスについて #javadaytokyo

今回のもう一つの参加目的、 「マイクロサービスの実践例と、支援するようなJavaのアーキテクチャについて」です。 モジュールによるマイクロサービス? はじめに、「1-A Java SE 9 Overview」より。 Project jigsaw によるModulanizeの目的の一つは、「開発…

Java Day Tokyo 2016 参加レポート1 今後のJavaの動向、特にJava9について #javadaytokyo

3年ぶりにJavaDayTokyoに参加しました。今回の自分のテーマは2つ・今後のJavaの動向、特にJava9について・マイクロサービスの実践例と、支援するようなJavaのアーキテクチャについて前者については、Java8導入直前にSan FranciscoでのJavaOneに参加させても…

Baseball Play Study で話させていただきました! #bpstudy

昨年に続いて今年もLTさせていただきました。 「エース」と「ローテーション」 from Taichi Watanabe 去年話せてもらった頃はLTそのものに対する慣れが相当あったのですが、どうもここ最近は人前で話すことからご無沙汰気味…技術的な話は、先日jshellの記事…

IntelliJ IDEAハンズオンに参加しました #ideahandson #jbugj

サムライズムさん開催の、IntelliJ IDEAハンズオンに参加してきました。 今月はあと一回、3月24日にも開催されるようです。開催予定イベント一覧 - 株式会社サムライズム | Doorkeeper まとめも兼ねて、特に「へー!」と思ったものをご紹介させていただきま…

jshellを使ってみた

ちょっとしたプログラミングに、jshellを使ってみました。 jshellとは、Java9から導入される、簡易実行環境。REPLっていうらしい。Rubyでいうirbに相当します。 jshell JDK 9 quick peek 使ってみた感想。 良いところ ・ワンラインサクッと書いて動かせるの…

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 部分更新のはなし

API

勉強不足なのは承知のうえで、実務上困ってることとか考えていることを今日は書いてみたいと思います。 例えば以下の様なデータを取り扱う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という単語や、…

JAX-RSとJPAとEclipseLink JPA-RSとRESTfulなアプリケーション : JavaOne2013 参加レポート2 #j1jp

Dong Clarke氏による、「Practical RESTful Presistence」のレポート…というよりは、セッションを聞いてわからなかったことを調べなおしたレポートです。 今もっているプロダクトがRESTfulに近い(RESTfulではない)APIということもあり、RESTfulというタイ…

コミュニティ活性化のためにロゴが大事! : JavaOne2013 参加レポート1 #j1jp

本日より、JavaOne2013に(会社のお金で)参加させてもらっています。 記念すべき1件目の参加レポートは…Ryan Cuprak氏の「Organizing Your Local Community」。 なんでJavaOneまで行ってコミュニティなの!?というツッコミを受けそうですが、MeetUpの本場…

org.codehaus.jackson.map.ObjectMapperで json -> bean の変換をする際に、beanに存在しないフィールドを無視する方法

検索してもそれっぽいのがあるようで見つからなかったのでメモ。 http://stackoverflow.com/questions/5455014/ignoring-new-fields-on-json-objects-using-jackson の、 Add the following to the top of your class: import org.codehaus.jackson.annotate…

TDD Boot Camp Tokyo参加レポート #TDDBC

TDD Boot Camp Tokyoに参加して来ました!当日の流れは、午前中に2時間ほど講演、午後に実際に手を動かしてTDDをやってみるというものでした。メインはもちろん午後の、TDD実体験なのですが、午前中の@t_wadaさんによる講演パートでも、気付かされることがい…

レッツゴーデベロッパー変真 #5000dai

仙台で行われた、レッツゴーデベロッパー変真というイベントに参加してきました。なぜ、わざわざ仙台の勉強会に参加したかというと、 タケハラマサシさんの『デベロッパーのための「ビジネスモデルYOU」道場 ~セルフマーケティング26の秘密~』というワーク…

“Demand Technical Excellence” アジャイルにおける技術と品質の重要性 Agile Japan 2013 #agilejapan

Agile Japan 2013 の基調講演を聴いた感想です。 講師のJames Grenningは、組み込み系のエンジニアで、最近、彼の書籍の訳本、 テスト駆動開発による組み込みプログラミング [ ジェームズ・W.グレニング ]価格:3,780円(税込、送料込) が日本で発売になっ…

継続的デリバリー 「第7章 コミットステージ」「第8章 自動受け入れテスト」 感想

『継続的デリバリー』の感想第2回です。前回はこちら。 【送料無料】継続的デリバリー [ ジェズ・ハンブル ]価格:3,990円(税込、送料込) コミットステージ コミットステージではCIツールなどで一通りのユニットテストが実行され、問題なければバイナリが…

Java Day Tokyo 2013 キーノート感想 #jdt2013

Java Day Tokyo 2013 に参加しています。KeyNote が終わったところで、お昼ごはん食べながらとりあえずまとめ。興味深い話が諸々あったのですが、特に興味が湧いた部分を抜粋します。 Java SE by Cameron Purdy JDK8の、言語面での目玉はなんといってもLambd…

継続的デリバリー 「第1部 基礎」感想

継続的デリバリーを読んでいます。 【送料無料】継続的デリバリー [ ジェズ・ハンブル ]価格:3,990円(税込、送料込) ようやく導入と第1部を読み終えたところなのですが、既に諸々目からうろこのことが書かれていました。一気に全部 とは行きませんが、す…

SlideShareの特定のページをブログに張りたいとき

こちらで発見。 http://obscure19.typepad.com/eatn_run/2012/03/slideshare%E3%82%92%E9%80%94%E4%B8%AD%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.html Embedの中にCustamizeっての…

バーンダウンチャート虎の巻 を読んだ!

http://www.ryuzee.com/contents/blog/3548 を読んでの感想。ここ数スプリント、うちのチームのバーンダウンチャートが0になっていないので、何とかしないとまずい状況です。ということでいろいろ物色中。 なお、本ブログ中で引用しているスライドはすべて、…