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

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

JavaDayTokyo 2017 Report 2 : Reactive Stream

Reactiveなんちゃらというのがどうもわかりません。という私が、Pivotalの槙さんのお話を聞いて、随分わかったかも!という気持ちになったセッション。 改めてブログにまとめなおしてみるとやっぱりわかってないところが多々あるのですが、ひとまず忘れない…

JavaDayTokyo 2017 Report 1 : Java9 関連

今年もJavaDayTokyoに出席させていただきました。この記事ではJava9関連についてまとめます。Oracle的な目玉はJigsawとjshellでした。が、Jigsawは去年のJavaDayTokyoで集中的に話を聞いたけどあまり使いどころがないなぁ… と感じ、 jshellはあると便利だけ…

読んだ:『伊藤直也氏が語る、マネジメントで本当に大事なのは「問題にフォーカスする」である理由 』

先日、こちらの記事を読みました。 codeiq.jpここ二年間の自分と重なる部分が多く、自分に足りなかったところを振り返るきっかけとなりました。 自分とかぶっているところ 私自身は二年と少し前、異動になり、ある開発チームのリーダーになりました。それか…

開発チームに必要なポジションを書き出してみた

今の自分の所属組織の開発フローとか組織わけをベースに、こういう人(役割)がチームに必要だなー というのを書き出してみました。 「攻め」 新しい技術を積極的に開発に取り入れることが可能。 →アンテナが高いことが求められる 圧倒的なコーディング力。…

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

勉強不足なのは承知のうえで、実務上困ってることとか考えていることを今日は書いてみたいと思います。 例えば以下の様なデータを取り扱う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(ユッタ・エクスタイン)さんによる、「組織にアジリティを取り入れる – どうすればアジャイルになれる?」でした。 「アジリティを取り入れる」というタイトルではありましたが、アジャイルはもちろん、組織内に何か新…