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

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

「エンジニアで有り続けたい」って

大した努力もしていないのになんとなく言い続けてるのって、 夢を追い続けているミュージシャン と一緒だわな… 本気で一生エンジニアやろうとしている人や、「でも自分はこっちのほうが適正はあると思う」な仕事(人じゃなくて仕事そのもの)に対して失礼極…

ノートもホワイトボードも持たないで、PCの前でウンウン唸ってる子を一日に二人ほど見たので、勢いで書いてみた。

Baseball Play Studyで発表してきたんだけど一応ささやかながら技術的な勉強もしているのよ という記録 #bpstudy

今年も野球バカの発表を Baseball Play Study 2017 冬 野球振返りスペシャル(BPStudy#124) - connpass でさせていただきました。 資料はこちら。*1 野球にご興味ある方には、是非内容も見てご一笑いただければ幸いなのですが、このブログでは「一応発表の過…

SlideShareの再アップロード機能がなくなってしまったので、Speaker Deckに引っ越す。(比較表もあるよ)

プレゼン資料のアップロード。 もともとSlide Shareを使っていたため、ちょっとイライラする事があったり、「イケてるエンジニアの人のSpeaker Deck率高いなぁ…」と思いつつもSlide Shareを使い続けていたのですが、 何やら技術的な理由*1によって再アップロ…

新しいサービスを引き継ぐにあたって「ドメインナレッジ」は必要か

今年の二月ころ、ある会議の中で、 「ドメインナレッジが不要なプロダクトを作りたい」 と発言した。他の参加者の皆さん(偉い人多め)からは、総じて「ポカーン」とされてしまった。実は、その時の私は、なぜ「ポカーン」とされているのか、よくわからなか…

非同期処理の成否をクライアントが追いかけるのは良くない

何かのサービスを非同期で実行する場合。 運悪く、サービスダウンなで実行されなかった場合に、どのように検知・リカバリを行うか。 サービスダウンによる再送をクライアントにしてもらうのはよろしくないので、 サービス提供側がキューを用意して、再送処理…

雑記:MVC「コントローラ」ってコントローラか。

私がMVCモデルという言葉を知ってからかれこれ10年以上経つんですが、「コントローラ」っていうのが長いことずっとしっくり来ていませんでした。モデルとビューをつなぐ だとか。 ユーザの入力を受けてモデルを呼び出す とか。 Ruby On Railsタイプのフレー…

持論:Application Layerがシンプルなコードは読みやすい

DDDでは全てのビジネスロジックはドメインクラスに、とのことなので当然プログラムの肝はドメインクラスなのですが、コードの読みやすさは8割がたアプリケーションレイヤで決まると思っています。 Springで言えば、Controllerから呼ばれるServiceクラスの、…

『現場で役立つシステム設計の原則』 増田亨さん を読んだ。「データしか持たないデータクラスは作らない!」

こちらの本を読んででのレポートです。現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法【電子書籍】[ 増田亨 ]価格:3175円 (2017/11/4時点)複雑な業務ロジックは「適切な境界」で分離されていれば理解しやすくなる! …が…

『一生、エンジニアで食っていこう』漆原茂さん 楽天テクノロジーカンファレンス2017 レポート #rakutentech

楽天テクノロジーカンファレンスで聞いた、漆原茂さんの『一生、エンジニアで食っていこう』というセッションのレポートです。 私的に刺さった話 0x30歳ころ 何歳でも技術で仕事したい!…と思った。 そのためには、自分自身の「進化」が大きな課題だった。 …

『未来を創るプレゼン術』:澤円さん 仙台IT文化祭レポート1 #sendaiitfes

今年発足した、仙台IT文化祭というイベントに参加してきました。 この記事は澤円さんの『未来を創るプレゼン術』という発表のレポートです。 プレゼンは相手に行動させるためにするべし 私にはこの言葉が最も響きました。 これまで、いろんな場でLTや発表を…

(中身まだ無いです) spring-cloud-sockets と言うものを教えてもらったんだけど

GitHub - viniciusccarvalho/spring-cloud-sockets: Reactive socket communication for microservicesこれとSpring WebFlux の関係… というかそもそもWebFluxって何 的なのがさっぱりわかってないので後でちゃんと調べる調べる…… きっと。 多分これも関係あ…

Maven vs Java9のModule(Project Jigsaw) : 依存はどっちが勝つの? (追記:あんまりMaven関係なかった)

無事Moduleを使ったビルドがMavenでできたところで、本当にやりたかった検証へ。Mavenで複数プロジェクトが同一プロジェクトに依存していると、「どれか一つ」が使われることになります。 全て同じバージョンなら問題にならないのですが、それぞれ異なるバー…

MavenでJava9のModule(Project Jigsaw)を使ってみた

探し方が悪いのか、わざわざ書くほどのことでもないのか、mavenでJava9のmoduleを使うとどうなるか という記事が英語でも日本語でもWebで見つからなかったので、試してみました&備忘録としてブログに残しておきます。Project Jigsaw: Quick Start Guide こ…

(仕事の話です)剣道とサッカーと交渉ごとって似ていると思うんですよ

私、個人的に中学から大学まで、と少し期間が空いた後、おとなになってから数年間、剣道をやっていました。 (ここ一年半くらいサボり中)多くの方は剣道に馴染みがないと思うのですが、競技としての剣道は非常にロースコアゲームで、「一本」がなかなか取り…

RESTful APIってなんか意味あんの? って言うタイトルのブログを書こうと思ってるんだけど

うまく言いたいことや考えがまとまらず書く書く詐欺になっているので、ひとまず起こっていること・思っていることを書いてみたいと思います。 起こっていること シンプルな、データの永続化を行うだけのWeb APIが、リソースの種類ごとにそれぞれ作られていま…

Date型をTRUNCするとIndexが効かないよ という話

これ自体は昔から聞いたことがあったのですが、イマイチずっと理由がわかってなくて。SQLのパフォーマンス問題を引き起こす日付型単純に、OptimizerはTRUNCすら何か知らないというのが原因なんですね。

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 使ってみた感想。 良いところ ・ワンラインサクッと書いて動かせるの…