Tagbangers Blog

Java

Spring Cloud Contract の Pact 対応

先日行われた Spring Fest 2018 で「Spring Data REST と Spring Cloud Contract」というタイトルで登壇させていただきました。 デモがあればわかりやすかった、というご意見をいただきましたので、ちょっとしたサンプルコードを公開しました。 話のもとになっているスライドはこちらです。 https://www.slideshare.net/OgawaTakeshi/spring-datarestandspringcloudcontract 今回のサンプルコードは Angular で作られたフロントエンドアプリが Consumer として Pact を生...

The temporary upload location [/tmp/tomcat.***] is not valid

Spring Boot のアプリでファイルアップロードの機能が突然以下のようなエラーで機能しなくなるようなことがありました。 java.io.IOException: The temporary upload location [/tmp/tomcat.4973725229945795147.5000/work/Tomcat/localhost/ROOT] is not valid 原因は以下。 https://github.com/spring-projects/spring-boot/issues/5009 https://github.com/spring-projects/spring...

Spring I/O 2018 Day2 Slides

Spring Boot 2.0 Web Applications by Stéphane Nicoll / Brian Clozel Time to graph up with Spring Data Neo4j by Gerrit Meier Documenting RESTful APIs with Spring REST Docs and RAML by Mathias Düsterhöft Monitor Your Spring Boot Application with Logs, Metrics, Pings, and Traces [Workshop] by Philipp Kr...

Spring I/O 2018 Day1 Slides

Spring I/O 2018 がバルセロナにて、5月24日 - 25日の間で行われています。 去年もチケットが即日完売となる盛況ぷりでしたが、今年は1,000人以上、46ヶ国から参加、50人以上のスピーカーによる多彩なセッションという去年の倍以上の規模感で盛り上がっています! 今年はロゴが心臓 corazón の形ですよ。Spring keeps me alive!  気になる方は #springio18 で検索! 取り急ぎ Day1 のセッションのスライドをまとめてみました。現時点で集められたものだけなので、資料見つけ次第追加していきます。 Keynote - Thinking back,...

JUnitテストについて

暖かくなったり寒くなったり毎日着る服に困りますね。こんばんは、内藤です。 今回はユニットテストについて書いていきたいと思います。 テストと言われたら、テスト仕様項目書を書いてそのテストを黙々とこなしていく方法しか知らなかった為、 テスト用のコードを書いてビルド時に自動的に実行してくれるなんて便利すぎるだろと感動しました。 JUnitテストって? Javaプログラム単体テスト専用フレームワークです。 ユニットテストを描くことによって正しく動作しているか確認できます。 また、一度描くと何度も手軽にテストを行うことができますし、 同じようなテストを作成する場合に使い回すことも可能です。 今回、私はC...

Javaの再勉強

初めまして、2月1日からタグバンガーズで勤務することになりました内藤です。 以前の会社ではactionScriptとJavaを主に使ってました。 1〜23日の間、Devチームにて研修をさせて頂いたのですが、Javaを使っていた私は謎の余裕に満ちてました。 いざ研修が始まってプログラムを組むってなった時、javaの知識がパッと頭の引き出しから出せない事に気付きました。 javaだけでプログラムが書けない、文字表示すんのどうすんだっけ、あぁSystem.out.printか、全然覚えてないわ ってな感じだったのでこれは勉強しなきゃマズイと思いこそこそjavaの再勉強と再発見をしていきました。 その...

Hibernate Search + Elasticsearch を試してみる (Amazon Elasticsearch Service 版)

前回の記事では Hibernate Search を使って Docker コンテナ上の Elasticsearch と連携してみました。 今回は AWS のフルマネージドな Amazon Elasticsearch Service と連携させてみましょう。 記事中のサンプルコードはここにあります。 環境: Mac OS X Hibernate Search 5.8.0.CR1 Amazon Elasticsearch Service (Elasticsearch version 5.5) 1. Elasticsearch Service を作成する AWS マネージメントコンソールの Elas...

ユニットテストを実装してみる

こんにちは、藤岡です。 今週はユニットテストについて学びました。 ユニットテストとは、プログラムを構成する個々のメソッドが正しく機能しているかを確かめるためのテストのことです。 ユニットテストのメリットは、全体でテストをするよりも細かく分けてテストをした方が、バグの原因がどこにあるのか突き止めやすいことと、テストを意識してプロダクションコードを書くことで結合度を低く保てるため、互いに影響を及ぼしにくくなるところです。 一方で、これは開発者によって実施されるため、開発者にかかる負担が大きくなりやすいというデメリットもあるそうです。 今回僕がやるのは、今まで作ってきたプログラム(cat、ls、ch...

Basic認証をJavaで導入する2

こんにちは、藤岡です。 四苦八苦して、やっとJavaで作ったWebサーバアプリにBasic認証を導入することができました。 このプログラムの概要については、前回の記事で説明してあります。 完成したものは、GitHubにあげておきました → https://github.com/hiroki0976/Server2 このプログラムを作る中で、Socketの使い方と、Threadの性質、Input(Output)Streamクラスの性質がよく理解できました。 特にInput(Output)Streamクラスについては、流れの概念を表すクラスで、一度使用すると消えてしまう特徴があったので理解しにくか...

Basic認証をJavaで導入する

こんにちは、藤岡です。 今週は前回作ったWebサーバアプリの改良をしていたのですが、Basic認証の機能を追加するところでつまずいてしまったので、あまり進められませんでした。 しかし、考え方として多くを学び得ることができたので、共有していきます。 Basic認証とは? 僕はこのサイトでBasic認証の概要を掴みましたが、大まかに説明すると、その名の通り簡易的な認証機能のことです。 ブラウザでこの機能が実装されたURLにアクセスすると、このような画面が出てきて、UserNameとPasswordが正しければ先に進めるというものです。 今回は、これをJavaで作ったWebサーバアプリに組み込んでみ...